asimov-cli 25.2.0

ASIMOV Command-Line Interface (CLI)
Documentation
# See: https://doc.rust-lang.org/cargo/reference/manifest.html

[package]
name = "asimov-cli"
version = "25.2.0"
authors = ["ASIMOV Community"]
edition = "2024"
rust-version = "1.93"
description = "ASIMOV Command-Line Interface (CLI)"
#documentation = ""
readme = true
homepage = "https://cli.asimov.sh"
repository = "https://github.com/asimov-platform/asimov-cli"
license = "Unlicense"
keywords = ["asimov", "ai", "cli"]
categories = ["command-line-utilities", "text-processing"]
publish = true

[features]
default = ["all"]
all = ["ask", "fetch", "handle", "list", "module", "read", "snap", "snapshot"]
unstable = ["describe", "index", "message", "module-new", "protocol", "search"]

# Optional features:
ask = []
describe = []
fetch = ["dep:asimov-proxy"]
handle = ["asimov-id/encodings"]
index = []
list = []
message = []
module = []
module-new = ["module", "dep:asimov-module-kit"]
protocol = ["dep:asimov-protocol"]
read = ["dep:infer", "dep:mime"]
search = []
snap = ["dep:asimov-snapshot"]
snapshot = ["snap", "dep:jiff", "dep:hex", "dep:sha2"]

[build-dependencies]
cfg_aliases = "0.2"
shadow-rs = { version = "1.7", features = [
  "build",
  "tzdb",
], default-features = false }
cc = "1.2"

[dev-dependencies]
indoc = "2.0"
temp-dir = "0.1"

[dependencies]
asimov-directory = "25.2.0"
asimov-env = "25.2.0"
asimov-id = "25.2.0"
asimov-installer = "25.2.0"
asimov-module = "25.2.0"
asimov-patterns = "25.2.0"
asimov-registry = "25.2.0"
asimov-runner = "25.2.0"
clap = { version = "4.5", default-features = false }
clientele = { version = "0.3.8", features = ["gofer", "serde-json", "tokio"] }
color-print = "=0.3.7"
derive_more = { version = "2", features = ["display"] }
known-types-pypi = { version = "0.0.1", features = ["serde"] }
known-types-rubygems = { version = "0.0.1", features = ["serde"] }
miette = { version = "7.5", features = ["fancy"] }
open = "5"
rayon = "1.11"
reqwest = { version = "0.12", default-features = false, features = [
  "json",
  "rustls-tls",
  "rustls-tls-native-roots",
] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yml = { version = "0.0.13", default-features = false }
thiserror = "2"
tokio = { version = "1", features = ["full"] }
tracing = { version = "0.1", default-features = false, features = ["std"] }
tracing-subscriber = { version = "0.3", default-features = false, features = [
  "fmt",
] }
url = "2.5"

# Optional dependencies:
asimov-module-kit = { version = "25.3.0", optional = true }
asimov-protocol = { version = "25.2.0", optional = true }
asimov-proxy = { version = "25.2.0", optional = true }
asimov-snapshot = { version = "25.2.0", optional = true }
hex = { version = "0.4", default-features = false, optional = true }
infer = { version = "0.19", optional = true }
jiff = { version = "0.2", default-features = false, features = [
  "alloc",
], optional = true }
mime = { version = "0.3", optional = true }
sha2 = { version = "0.11", optional = true }

futures-lite = "2.6.1"

[profile.release]
opt-level = "z"
strip = true
lto = "thin"

[[bin]]
name = "asimov"
path = "src/main.rs"

# See: https://github.com/cargo-bins/cargo-binstall/blob/main/SUPPORT.md
[package.metadata.binstall]
pkg-fmt = "tgz"
bin-dir = "asimov{ binary-ext }"
disabled-strategies = ["quick-install"]

[package.metadata.binstall.overrides.'cfg(windows)']
pkg-fmt = "zip"

[package.metadata.binstall.overrides.'cfg(all(target_os = "linux", target_arch = "aarch64"))']
pkg-url = "{ repo }/releases/download/{ version }/{ name }-{ os-name }-arm-{ target-libc }{ archive-suffix }"

[package.metadata.binstall.overrides.'cfg(all(target_os = "linux", target_arch = "x86_64"))']
pkg-url = "{ repo }/releases/download/{ version }/{ name }-{ os-name }-x86-{ target-libc }{ archive-suffix }"

[package.metadata.binstall.overrides.'cfg(all(target_os = "macos", target_arch = "aarch64"))']
pkg-url = "{ repo }/releases/download/{ version }/{ name }-{ os-name }-arm{ archive-suffix }"

[package.metadata.binstall.overrides.'cfg(all(target_os = "macos", target_arch = "x86_64"))']
pkg-url = "{ repo }/releases/download/{ version }/{ name }-{ os-name }-x86{ archive-suffix }"

[package.metadata.binstall.overrides.'cfg(all(target_os = "windows", target_arch = "aarch64"))']
pkg-url = "{ repo }/releases/download/{ version }/{ name }-{ os-name }-arm{ archive-suffix }"

[package.metadata.binstall.overrides.'cfg(all(target_os = "windows", target_arch = "x86_64"))']
pkg-url = "{ repo }/releases/download/{ version }/{ name }-{ os-name }-x64{ archive-suffix }"

[patch.crates-io]
#asimov-directory = { path = "../asimov.rs/lib/asimov-directory" }
#asimov-id = { path = "../asimov.rs/lib/asimov-id" }
#asimov-protocol = { path = "../asimov.rs/lib/asimov-protocol" }