safe-chains 0.192.0

Auto-allow safe bash commands in agentic coding tools
Documentation
[[command]]
name = "mig"
description = "Mach Interface Generator: takes a `.defs` specification file and generates Remote Procedure Call client/server source code for Mach IPC. Always a write operation — produces user.c, server.c, and matching headers (paths controlled by -user, -server, -header, -sheader, -iheader, -dheader). Internally invokes the C preprocessor (-cc lets the caller pick which one) and then `migcom` to do the actual code generation. The man page notes that any additional unrecognized options are forwarded to the C compiler unchanged; this allowlist accepts only the documented MIG-specific flags, so the pass-through path is not enabled. Reads only the specification file; no network. Surface frozen since 2009."
url = "https://keith.github.io/xcode-man-pages/mig.1.html"
researched_version = "macOS 14 (man page dated 2009-11-20; surface frozen)"
level = "SafeWrite"
bare = false
standalone = [
    "-B",
    "-K",
    "-L",
    "-MD",
    "-Q",
    "-S",
    "-V",
    "-b",
    "-cpp",
    "-k",
    "-l",
    "-q",
    "-s",
    "-split",
    "-v",
]
valued = [
    "-arch",
    "-cc",
    "-dheader",
    "-header",
    "-i",
    "-iheader",
    "-isysroot",
    "-maxonstack",
    "-migcom",
    "-server",
    "-sheader",
    "-user",
]

[[command]]
name = "migcom"
description = "Internal compiler used by `mig` to generate Mach IPC client/server source code. Not normally invoked directly — `mig` runs the C preprocessor on the spec file and then pipes the result into `migcom` on stdin. Always a write operation; outputs are user/server `.c` files and matching headers at the paths given by -user/-server/-header/-sheader/-iheader/-dheader. Reads from stdin only. Surface frozen since 2009."
url = "https://keith.github.io/xcode-man-pages/migcom.1.html"
researched_version = "macOS 14 (man page dated 2009-11-20; surface frozen)"
level = "SafeWrite"
bare = false
standalone = [
    "-B",
    "-K",
    "-L",
    "-Q",
    "-S",
    "-V",
    "-b",
    "-k",
    "-l",
    "-q",
    "-s",
    "-split",
    "-v",
]
valued = [
    "-dheader",
    "-header",
    "-i",
    "-iheader",
    "-maxonstack",
    "-server",
    "-sheader",
    "-user",
]