[package] name = "goose-cli" version.workspace = true edition.workspace = true rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true description.workspace = true [lints] workspace = true [[bin]] name = "goose" path = "src/main.rs" [[bin]] name = "generate_manpages" path = "src/bin/generate_manpages.rs" [dependencies] clap_mangen = { version = "0.3", default-features = false } goose = { path = "../goose", default-features = false } goose-mcp = { path = "../goose-mcp", default-features = false } goose-providers = { path = "../goose-providers", default-features = false } rmcp = { workspace = true } clap = { workspace = true } cliclack = { version = "0.5", default-features = false } console = { version = "0.16", default-features = false, features = ["std"] } dotenvy = { workspace = true } bat = { version = "0.26", default-features = false, features = ["regex-onig"] } anyhow = { workspace = true } serde_json = { workspace = true } tokio = { workspace = true } futures = { workspace = true } serde = { workspace = true } serde_yaml = { workspace = true } strum = { workspace = true } tempfile = { workspace = true } etcetera = { workspace = true } rand = { workspace = true } rustyline = { version = "18", default-features = false, features = ["custom-bindings", "with-dirs", "with-file-history"] } tracing = { workspace = true } chrono = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter", "fmt", "json", "time"] } shlex = { version = "1.3", default-features = false, features = ["std"] } async-trait = { workspace = true } base64 = { workspace = true } regex = { workspace = true } tar = { version = "0.4.46", default-features = false } reqwest = { workspace = true, features = ["blocking"] } zip = { workspace = true } bzip2 = { version = "0.6", default-features = false, features = ["default"] } webbrowser = { workspace = true } indicatif = { version = "0.18", default-features = false } tokio-util = { workspace = true, features = ["compat", "rt"] } anstream = { version = "1", default-features = false, features = ["auto"] } open = { version = "5", default-features = false } url = { workspace = true } urlencoding = { workspace = true } clap_complete = { version = "4", default-features = false } comfy-table = { version = "7", default-features = false } sha2 = { workspace = true } sigstore-verify = { version = "0.8", default-features = false, optional = true } axum.workspace = true clap_complete_nushell = { version = "4", default-features = false } [target.'cfg(target_os = "windows")'.dependencies] anstream = { version = "1", default-features = false, features = ["wincon"] } winapi = { workspace = true } [features] default = [ "code-mode", "local-inference", "tui", "aws-providers", "telemetry", "nostr", "otel", "rustls-tls", "system-keyring", "update", ] code-mode = ["goose/code-mode"] local-inference = ["goose/local-inference"] aws-providers = ["goose/aws-providers"] cuda = ["goose/cuda", "local-inference"] vulkan = ["goose/vulkan", "local-inference"] telemetry = ["goose/telemetry"] nostr = ["goose/nostr"] otel = ["goose/otel"] system-keyring = ["goose/system-keyring"] tui = [] update = ["dep:sigstore-verify"] portable-default = ["rustls-tls", "aws-providers", "telemetry", "otel", "tui"] # disables the update command disable-update = [] rustls-tls = [ "reqwest/rustls", "sigstore-verify?/rustls", "goose/rustls-tls", "goose-mcp/rustls-tls", ] native-tls = [ "reqwest/native-tls", "sigstore-verify?/native-tls", "goose/native-tls", "goose-mcp/native-tls", ] [dev-dependencies] env-lock.workspace = true tempfile = { workspace = true } test-case = { workspace = true } tokio = { workspace = true } [package.metadata.cargo-machete] ignored = [ # Used only in windows "winapi", ]