safe-chains 0.201.0

Auto-allow safe bash commands in agentic coding tools
Documentation
[[command]]
name = "swiftlint"
description = "Linter and style checker for Swift source code, enforcing configurable rules from the Swift style guide. Bare `swiftlint` is shorthand for `swiftlint lint`. The lint and analyze subcommands are read-only — they parse source files and report violations without modification. The fix subcommand (aliased autocorrect) rewrites files in place to fix violations (write operation). rules and reporters list available rules and output formats (read-only). No network access. Releases are periodic, roughly every 1-3 months, with new rules added regularly; rule flag coverage should be reviewed after upgrades."
url = "https://github.com/realm/SwiftLint"
researched_version = "SwiftLint 0.57.x"
bare_flags = [
    "--help", "--no-cache",
    "--quiet", "--strict",
    "--version", "-V", "-h",
]
examples_safe = [
    "swiftlint lint",
    "swiftlint lint --reporter github-actions-logging",
    "swiftlint analyze --compiler-log-path xcodebuild.log",
    "swiftlint fix",
    "swiftlint fix --format",
    "swiftlint autocorrect",
    "swiftlint rules",
    "swiftlint reporters",
    "swiftlint version",
    "swiftlint --version",
    "swiftlint --help",
]
examples_denied = [
    "swiftlint evil-sub",
]

[[command.sub]]
name = "analyze"
level = "SafeRead"
standalone = ["--help", "--quiet", "--strict", "-h"]
valued = ["--compiler-log-path", "--config", "--path", "--reporter"]

[[command.sub]]
name = "lint"
level = "SafeRead"
bare = true
standalone = ["--help", "--no-cache", "--quiet", "--strict", "-h"]
valued = ["--config", "--path", "--reporter"]

[[command.sub]]
name = "fix"
aliases = ["autocorrect"]
level = "SafeWrite"
bare = true
standalone = [
    "--format", "--help",
    "--no-cache",
    "--quiet", "--strict",
    "--use-script-input-files",
    "-h",
]
valued = ["--config", "--path", "--reporter"]

[[command.sub]]
name = "reporters"
standalone = ["--help", "-h"]

[[command.sub]]
name = "rules"
standalone = ["--disabled", "--enabled", "--help", "-h"]
valued = ["--config", "--reporter"]

[[command.sub]]
name = "version"
standalone = ["--help", "-h"]