[package]
edition = "2024"
name = "steer"
version = "0.9.0"
authors = ["Brendan Graham <brendanigraham@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Command-line interface for Steer coding agent."
homepage = "https://github.com/brendangraham14/steer"
readme = false
license = "AGPL-3.0-or-later"
repository = "https://github.com/brendangraham14/steer"
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/steer-v{ version }/steer-{ target }.tar.xz"
pkg-fmt = "txz"
[features]
default = ["ui"]
ui = ["steer-tui"]
[lib]
name = "steer"
path = "src/lib.rs"
[[bin]]
name = "schema-generator"
path = "src/bin/schema_generator.rs"
[[bin]]
name = "steer"
path = "src/main.rs"
[[test]]
name = "headless_test"
path = "tests/headless_test.rs"
[[test]]
name = "model_resolution_test"
path = "tests/model_resolution_test.rs"
[dependencies.async-stream]
version = "0.3.5"
[dependencies.async-trait]
version = "0.1.88"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.4"
features = [
"derive",
"env",
]
[dependencies.color-eyre]
version = "0.6.5"
[dependencies.colored]
version = "2.0"
[dependencies.comfy-table]
version = "7.1.4"
[dependencies.dirs]
version = "5.0"
[dependencies.dotenvy]
version = "0.15"
[dependencies.eyre]
version = "0.6.12"
[dependencies.futures]
version = "0.3"
[dependencies.futures-core]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.gethostname]
version = "0.5"
[dependencies.glob]
version = "0.3"
[dependencies.globset]
version = "0.4.16"
[dependencies.hex]
version = "0.4"
[dependencies.home]
version = "0.5"
[dependencies.ignore]
version = "0.4"
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.once_cell]
version = "1.21.3"
[dependencies.open]
version = "5.3.2"
[dependencies.proc-macro2]
version = "1.0.95"
[dependencies.prost-types]
version = "0.13.5"
[dependencies.quote]
version = "1.0.40"
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1.9"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"stream",
"rustls-tls",
]
default-features = false
[dependencies.rpassword]
version = "7.4.0"
[dependencies.schemars]
version = "1.0"
features = ["derive"]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_repr]
version = "0.1"
[dependencies.shell-words]
version = "1.1.0"
[dependencies.similar]
version = "2.5.0"
features = ["inline"]
[dependencies.steer-core]
version = "0.9.0"
[dependencies.steer-grpc]
version = "0.9.0"
[dependencies.steer-proto]
version = "0.9.0"
[dependencies.steer-tools]
version = "0.9.0"
[dependencies.steer-tui]
version = "0.9.0"
optional = true
[dependencies.strum]
version = "0.27.1"
features = ["derive"]
[dependencies.strum_macros]
version = "0.27.1"
[dependencies.syn]
version = "2.0.101"
[dependencies.tempfile]
version = "3.19.1"
[dependencies.textwrap]
version = "0.16"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tokio-util]
version = "0.7.14"
features = ["full"]
[dependencies.toml]
version = "0.8.23"
[dependencies.tracing]
version = "0.1.41"
[dependencies.tracing-appender]
version = "0.2.3"
[dependencies.tracing-subscriber]
version = "0.3.19"
features = [
"std",
"fmt",
"env-filter",
]
[dependencies.tui-markdown]
version = "0.3.3"
[dependencies.tui-widgets]
version = "0.4.1"
features = ["scrollview"]
[dependencies.uuid]
version = "1.8.0"
features = ["v4"]
[dependencies.which]
version = "8.0.0"
[dependencies.zeroize]
version = "1.8.1"
[dev-dependencies.tempfile]
version = "3.19.1"
[build-dependencies]
[lints.clippy]
allow_attributes = "deny"
case_sensitive_file_extension_comparisons = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
dbg_macro = "deny"
default_trait_access = "allow"
doc_markdown = "allow"
expect_used = "deny"
fn_params_excessive_bools = "allow"
format_push_string = "allow"
items_after_statements = "allow"
manual_let_else = "allow"
match_same_arms = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
needless_pass_by_value = "allow"
no_effect_underscore_binding = "allow"
panic = "deny"
print_stderr = "deny"
print_stdout = "deny"
redundant_closure_for_method_calls = "allow"
ref_option = "allow"
ref_option_ref = "allow"
result_large_err = "allow"
return_self_not_must_use = "allow"
similar_names = "allow"
struct_excessive_bools = "allow"
todo = "deny"
too_many_lines = "allow"
trivially_copy_pass_by_ref = "allow"
unimplemented = "deny"
uninlined_format_args = "allow"
unnecessary_wraps = "allow"
unused_async = "allow"
unwrap_used = "deny"
used_underscore_binding = "allow"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "deny"
unused_must_use = "deny"