Tip
π§ We are building in public. This is presently under heavy construction.
- Cuts red tape: 100% free and unencumbered public domain software.
- Rust 1.97.1+ (2024 edition)
Installation via Cargo Binstall
cargo binstall -y asimov-cliInstallation via Cargo
cargo install asimov-cli --lockedHomebrew
Firstly, register this tap in your local Homebrew installation with:
brew tap asimov-platform/tapNow you can install ASIMOV CLI with:
brew install asimov-cliScoop
First things first, you need to add our custom Scoop bucket:
scoop bucket add asimov-platform https://github.com/asimov-platform/scoop-bucketNow, installing ASIMOV CLI is as easy as running:
scoop install asimov-platform/asimov-cliNix Flakes
Nix flakes is an experimental feature that has to be enabled before going any further:
mkdir -p ~/.config/nix && echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.confNow you can register the flake using:
nix registry add asimov-cli github:asimov-platform/nix-flakeAnd then install ASIMOV CLI with:
nix profile install asimov-cli#default --no-write-lock-fileFlatpak
First add the ASIMOV Platform Flatpak remote:
flatpak remote-add --if-not-exists --user asimov-cli --no-gpg-verify https://asimov-platform.github.io/flatpakThen install ASIMOV CLI with:
flatpak install asimov-cli so.asimov.cliNow you can run it like this:
flatpak run so.asimov.cli --helpYou may want to create an alias for it:
alias asimov="flatpak run so.asimov.cli"Show help, including all available commands:
asimov helpTip
Add one or more -v flags to increase the verbosity level.
Fetch Data
# Fetch data from a URL, automatically choosing from installed modules
asimov fetch https://example.com/
# To fetch with a specific module use `-M` or `--module`
asimov fetch -M http https://example.com/
# Fetch multiple URLs
asimov fetch https://asimov.sh/ https://asimov.blog/Import Data From a URL
If you have the ASIMOV Bright Data module installed and configured, you should be able to fetch various social platform resources:
# Import data from a URL, automatically choosing from installed modules
asimov import https://x.com/asimov_platform
# Import using the specific module
asimov import -M brightdata https://x.com/asimov_platformExternal Commands
The CLI automatically discovers and runs external commands starting with asimov-.
If you installed using a package manager you should have access to ASIMOV Module CLI for managing installed modules:
# If you have asimov-module-cli installed
asimov module [arguments]
asimov module install http
# Get help for external commands
asimov help module$ asimov$ asimov module --helpasimov module install
$ asimov module install --help$ asimov proxy --helpasimov proxy serve
$ asimov proxy serve --helpasimov proxy url
$ asimov proxy url --helpasimov proxy host
$ asimov proxy host --helpasimov proxy port
$ asimov proxy port --helpasimov proxy models
$ asimov proxy models --helpasimov proxy config
$ asimov proxy config --helpasimov proxy install
$ asimov proxy install --help$ asimov source --helpasimov source fetch
$ asimov source fetch --helpasimov source list
$ asimov source list --helpasimov source read
$ asimov source read --helpasimov source snap
$ asimov source snap --helpTelemetry
The ASIMOV CLI binaries published in GitHub releases come with opt-out
telemetry. Builds from source, such as cargo install asimov-cli, don't
send anything.
Any one of these disables telemetry:
# Permanently, for the current user:
asimov configure telemetry disable
# Per invocation or per shell, using an environment variable:
export ASIMOV_TELEMETRY=0 # or `false`
# By building the CLI yourself, without the `telemetry` feature:
cargo install asimov-cli --locked --no-default-features --features module,proxy,sourceDisabling telemetry also discards any events that haven't been sent yet.
To turn it back on, run asimov configure telemetry enable.
What is collected
Each command you run records when it started and finished. Each event contains:
- A random installation ID (
~/.asimov/.telemetry/id), as an identifier - The command that was run (e.g.,
source fetch), without its arguments - The names of the modules involved
- The exit code and duration
- The CLI version, operating system, and CPU architecture
- Whether the CLI was invoked by a coding agent, and which one
URLs, arguments, file paths, command output, and error messages are never collected.
Events are stored locally in ~/.asimov/.telemetry/ and periodically sent to
Statsig in the background.
The events are defined in the asimov-telemetry crate.
git clone https://github.com/asimov-platform/asimov-cli.git