bashkit-cli 0.16.0

Command line interface for Bashkit virtual bash interpreter
# Bashkit CLI - Command line interface for bashkit
# Run bash scripts in a virtual environment

[package]
name = "bashkit-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true
description = "Command line interface for Bashkit virtual bash interpreter"
readme = "../../README.md"

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/bashkit-{ target }{ archive-suffix }"
pkg-fmt = "tgz"

[[bin]]
name = "bashkit"
path = "src/main.rs"
doc = false  # Disable to avoid collision with bashkit library docs

[features]
default = ["python", "sqlite", "interactive"]
python = ["bashkit/python"]
sqlite = ["bashkit/sqlite"]
realfs = ["bashkit/realfs"]
scripted_tool = ["bashkit/scripted_tool"]
interactive = ["dep:rustyline", "dep:terminal_size", "dep:signal-hook"]

[dependencies]
# The CLI drives the `Bash` interpreter directly and never touches the LLM
# `BashTool` wrapper, so it opts out of the default `bash_tool` feature to
# avoid pulling in tower / futures-core.
bashkit = { path = "../bashkit", version = "0.16.0", default-features = false, features = ["http_client", "git", "jq"] }
tokio = { workspace = true, features = ["macros", "net", "rt", "rt-multi-thread", "time"] }
clap.workspace = true
anyhow.workspace = true
rustyline = { version = "18", optional = true }
terminal_size = { version = "0.4", optional = true }
signal-hook = { version = "0.4", optional = true }

[dev-dependencies]
tempfile = "3"