safe-chains 0.111.1

Auto-allow safe, read-only bash commands in agentic coding tools
Documentation
# Generated from src/handlers/rust/cargo.rs and rustup.rs

[[command]]
name = "cargo"
url = "https://doc.rust-lang.org/cargo/commands/"
bare_flags = ["--help", "--version", "-V", "-h"]

[[command.sub]]
name = "audit"
level = "Inert"
standalone = [
    "--deny", "--help", "--json", "--no-fetch", "--stale",
    "-h", "-n", "-q", "-v",
]
valued = [
    "--color", "--db", "--file", "--ignore",
    "--target-arch", "--target-os", "-f",
]

[[command.sub]]
name = "bench"
level = "SafeRead"
standalone = [
    "--all-features", "--all-targets", "--benches", "--bins", "--doc",
    "--examples", "--frozen", "--future-incompat-report", "--help", "--ignore-rust-version",
    "--keep-going", "--lib", "--locked", "--no-default-features", "--no-fail-fast",
    "--no-run", "--offline", "--release", "--tests", "--timings", "--unit-graph",
    "-h", "-q", "-v",
]
valued = [
    "--bench", "--bin", "--color", "--config", "--example",
    "--features", "--jobs", "--manifest-path", "--message-format",
    "--package", "--profile", "--target", "--target-dir", "--test",
    "-Z", "-j", "-p",
]

[[command.sub]]
name = "build"
level = "SafeWrite"
standalone = [
    "--all-features", "--all-targets", "--benches", "--bins", "--build-plan",
    "--examples", "--frozen", "--future-incompat-report", "--help", "--ignore-rust-version",
    "--keep-going", "--lib", "--locked", "--no-default-features", "--offline",
    "--release", "--tests", "--timings", "--unit-graph",
    "-h", "-q", "-v",
]
valued = [
    "--bench", "--bin", "--color", "--config", "--example",
    "--features", "--jobs", "--manifest-path", "--message-format",
    "--package", "--profile", "--target", "--target-dir", "--test",
    "-Z", "-j", "-p",
]

[[command.sub]]
name = "check"
level = "SafeRead"
standalone = [
    "--all-features", "--all-targets", "--benches", "--bins", "--examples",
    "--frozen", "--future-incompat-report", "--help", "--ignore-rust-version",
    "--keep-going", "--lib", "--locked", "--no-default-features", "--offline",
    "--release", "--tests", "--timings", "--unit-graph",
    "-h", "-q", "-v",
]
valued = [
    "--bench", "--bin", "--color", "--config", "--example",
    "--features", "--jobs", "--manifest-path", "--message-format",
    "--package", "--profile", "--target", "--target-dir", "--test",
    "-Z", "-j", "-p",
]

[[command.sub]]
name = "clippy"
level = "SafeRead"
standalone = [
    "--all-features", "--all-targets", "--benches", "--bins", "--examples",
    "--frozen", "--future-incompat-report", "--help", "--ignore-rust-version",
    "--keep-going", "--lib", "--locked", "--no-default-features", "--no-deps",
    "--offline", "--release", "--tests", "--timings", "--unit-graph",
    "-h", "-q", "-v",
]
valued = [
    "--bench", "--bin", "--color", "--config", "--example",
    "--features", "--jobs", "--manifest-path", "--message-format",
    "--package", "--profile", "--target", "--target-dir", "--test",
    "-Z", "-j", "-p",
]

[[command.sub]]
name = "deny"
level = "Inert"
bare = false
standalone = [
    "--all-features", "--help", "--no-default-features",
    "-h", "-q", "-v",
]
valued = [
    "--color", "--config", "--exclude", "--features",
    "--format", "--manifest-path", "--target", "--workspace",
]

[[command.sub]]
name = "doc"
level = "SafeWrite"
standalone = [
    "--all-features", "--bins", "--document-private-items", "--examples",
    "--frozen", "--future-incompat-report", "--help", "--ignore-rust-version",
    "--keep-going", "--locked", "--no-default-features", "--no-deps",
    "--offline", "--open", "--release", "--timings", "--unit-graph",
    "-h", "-q", "-v",
]
valued = [
    "--bin", "--color", "--config", "--example",
    "--features", "--jobs", "--manifest-path", "--message-format",
    "--package", "--profile", "--target", "--target-dir",
    "-Z", "-j", "-p",
]

[[command.sub]]
name = "fmt"
guard = "--check"
level = "Inert"
bare = false
standalone = ["--all", "--check", "--help", "-h", "-q", "-v"]
valued = ["--manifest-path", "--message-format", "--package", "-p"]

[[command.sub]]
name = "help"
level = "Inert"
max_positional = 1
positional_style = true

[[command.sub]]
name = "info"
level = "Inert"
bare = false
standalone = ["--frozen", "--help", "--locked", "--offline", "-h", "-q", "-v"]
valued = ["--color", "--config", "--index", "--registry"]

[[command.sub]]
name = "install"
level = "Inert"
bare = false
max_positional = 0
standalone = ["--help", "-h"]

[[command.sub]]
name = "license"
level = "Inert"
standalone = ["--frozen", "--help", "--locked", "--offline", "-h", "-q", "-v"]
valued = ["--color", "--config", "--manifest-path"]

[[command.sub]]
name = "locate-project"
level = "Inert"
standalone = ["--frozen", "--help", "--locked", "--offline", "-h", "-q", "-v"]
valued = ["--color", "--config", "--manifest-path"]

[[command.sub]]
name = "metadata"
level = "Inert"
standalone = [
    "--all-features", "--frozen", "--help", "--locked",
    "--no-default-features", "--no-deps", "--offline",
    "-h", "-q", "-v",
]
valued = [
    "--color", "--config", "--features", "--filter-platform",
    "--format-version", "--manifest-path",
]

[[command.sub]]
name = "package"
guard = "--list"
guard_short = "-l"
level = "Inert"
bare = false
standalone = [
    "--all-features", "--frozen", "--help", "--keep-going",
    "--list", "--locked", "--no-default-features",
    "--no-metadata", "--offline", "--workspace",
    "-h", "-l", "-q", "-v",
]
valued = [
    "--color", "--config", "--exclude", "--features",
    "--jobs", "--manifest-path", "--message-format",
    "--package", "--target", "--target-dir",
    "-F", "-Z", "-j", "-p",
]

[[command.sub]]
name = "pkgid"
level = "Inert"
standalone = ["--frozen", "--help", "--locked", "--offline", "-h", "-q", "-v"]
valued = ["--color", "--config", "--manifest-path"]

[[command.sub]]
name = "publish"
guard = "--dry-run"
guard_short = "-n"
level = "SafeRead"
bare = false
standalone = [
    "--all-features", "--dry-run", "--frozen", "--help", "--keep-going",
    "--locked", "--no-default-features", "--offline", "--workspace",
    "-h", "-n", "-q", "-v",
]
valued = [
    "--color", "--config", "--exclude", "--features",
    "--index", "--jobs", "--manifest-path",
    "--package", "--registry", "--target", "--target-dir",
    "-F", "-Z", "-j", "-p",
]

[[command.sub]]
name = "read-manifest"
level = "Inert"
standalone = ["--frozen", "--help", "--locked", "--offline", "-h", "-q", "-v"]
valued = ["--color", "--config", "--manifest-path"]

[[command.sub]]
name = "run"
level = "Inert"
bare = false
max_positional = 0
standalone = ["--help", "-h"]

[[command.sub]]
name = "search"
level = "Inert"
bare = false
standalone = ["--frozen", "--help", "--locked", "--offline", "-h", "-q", "-v"]
valued = ["--color", "--config", "--index", "--limit", "--registry"]

[[command.sub]]
name = "test"
level = "SafeRead"
standalone = [
    "--all-features", "--all-targets", "--benches", "--bins", "--doc",
    "--examples", "--frozen", "--future-incompat-report", "--help", "--ignore-rust-version",
    "--keep-going", "--lib", "--locked", "--no-default-features", "--no-fail-fast",
    "--no-run", "--offline", "--release", "--tests", "--timings", "--unit-graph",
    "-h", "-q", "-v",
]
valued = [
    "--bench", "--bin", "--color", "--config", "--example",
    "--features", "--jobs", "--manifest-path", "--message-format",
    "--package", "--profile", "--target", "--target-dir", "--test",
    "-Z", "-j", "-p",
]

[[command.sub]]
name = "tree"
level = "Inert"
standalone = [
    "--all-features", "--duplicates", "--frozen", "--help", "--ignore-rust-version",
    "--locked", "--no-dedupe", "--no-default-features", "--offline",
    "-d", "-e", "-h", "-i", "-q", "-v",
]
valued = [
    "--charset", "--color", "--config", "--depth", "--edges",
    "--features", "--format", "--invert", "--manifest-path",
    "--package", "--prefix", "--prune", "--target",
    "-p",
]

[[command.sub]]
name = "verify-project"
level = "Inert"
standalone = ["--frozen", "--help", "--locked", "--offline", "-h", "-q", "-v"]
valued = ["--color", "--config", "--manifest-path"]

[[command]]
name = "rustup"
url = "https://rust-lang.github.io/rustup/"
bare_flags = ["--help", "--version", "-V", "-h"]

[[command.sub]]
name = "component"

[[command.sub.sub]]
name = "list"
level = "Inert"
standalone = ["--help", "--installed", "-h", "-v"]
valued = ["--toolchain"]

[[command.sub]]
name = "doc"
level = "Inert"
standalone = [
    "--alloc", "--book", "--cargo", "--core", "--edition-guide",
    "--embedded-book", "--help", "--nomicon", "--path", "--proc_macro",
    "--reference", "--rust-by-example", "--rustc", "--rustdoc",
    "--std", "--test", "--unstable-book", "-h",
]
valued = ["--toolchain"]

[[command.sub]]
name = "run"
delegate_skip = 2

[[command.sub]]
name = "show"
level = "Inert"
standalone = ["--help", "--installed", "-h", "-v"]

[[command.sub]]
name = "target"

[[command.sub.sub]]
name = "list"
level = "Inert"
standalone = ["--help", "--installed", "-h", "-v"]
valued = ["--toolchain"]

[[command.sub]]
name = "toolchain"

[[command.sub.sub]]
name = "list"
level = "Inert"
standalone = ["--help", "--installed", "-h", "-v"]
valued = ["--toolchain"]

[[command.sub]]
name = "which"
level = "Inert"
bare = false
standalone = ["--help", "-h"]
valued = ["--toolchain"]