There's a lot of open issues
No release in over a year
ASIMOV Command-Line Interface (CLI)
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

>= 13
>= 3.12
>= 0.9

Runtime

~> 1.2
= 25.0.0.dev.4
= 25.0.0.dev.4
 Project Readme

ASIMOV Command-Line Interface (CLI)

License Compatibility Package on Crates.io Documentation

Tip

🚧 We are building in public. This is presently under heavy construction.

✨ Features

  • Cuts red tape: 100% free and unencumbered public domain software.

🛠️ Prerequisites

  • Rust 1.99.1+ (2024 edition)

⬇️ Installation

Installation from GitHub

Installation via Cargo Binstall

cargo binstall -y asimov-cli

Installation via Cargo

cargo install asimov-cli --locked

Installation using a Package Manager

Homebrew

Firstly, register this tap in your local Homebrew installation with:

brew tap asimov-platform/tap

Now you can install ASIMOV CLI with:

brew install asimov-cli
Scoop

First things first, you need to add our custom Scoop bucket:

scoop bucket add asimov-platform https://github.com/asimov-platform/scoop-bucket

Now, installing ASIMOV CLI is as easy as running:

scoop install asimov-platform/asimov-cli
Nix 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.conf

Now you can register the flake using:

nix registry add asimov-cli github:asimov-platform/nix-flake

And then install ASIMOV CLI with:

nix profile install asimov-cli#default --no-write-lock-file
Flatpak

First add the ASIMOV Platform Flatpak remote:

flatpak remote-add --if-not-exists --user asimov-cli --no-gpg-verify https://asimov-platform.github.io/flatpak

Then install ASIMOV CLI with:

flatpak install asimov-cli so.asimov.cli

Now you can run it like this:

flatpak run so.asimov.cli --help

You may want to create an alias for it:

alias asimov="flatpak run so.asimov.cli"

👉 Examples

Show help, including all available commands:

asimov help

Tip

Add one or more -v flags to increase the verbosity level.

Fetch Data

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

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_platform
External Commands

External 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

📚 Reference

Command-Line Interface

$ asimov

asimov module

$ asimov module --help
asimov module install
$ asimov module install --help

asimov proxy

$ asimov proxy --help
asimov proxy serve
$ asimov proxy serve --help
asimov proxy url
$ asimov proxy url --help
asimov proxy host
$ asimov proxy host --help
asimov proxy port
$ asimov proxy port --help
asimov proxy models
$ asimov proxy models --help
asimov proxy config
$ asimov proxy config --help
asimov proxy install
$ asimov proxy install --help

asimov resource

Alias: asimov source.

$ asimov resource --help
asimov resource fetch
$ asimov resource fetch --help
asimov resource list
$ asimov resource list --help
asimov resource read
$ asimov resource read --help
asimov resource snap (unstable)

Requires the unstable feature, e.g. cargo install asimov-cli --locked --features unstable.

$ asimov resource snap --help

⚙️ Configuration

Telemetry

Telemetry

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.

Opting Out

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,resource

Disabling 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., resource 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.

👨‍💻 Development

git clone https://github.com/asimov-platform/asimov-cli.git

Share on X Share on Reddit Share on Hacker News Share on Facebook Share on LinkedIn