diff --git a/README.md b/README.md index 7dc4df3..ae03652 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Drop a `.botignore` file in your project root. Fermata reads it and blocks your .env .env.* secrets/** -conf/localsettings.yaml +conf/settings.local.yaml ``` That's all it takes. @@ -90,8 +90,8 @@ Create a `.botignore` at your project root. Gitignore syntax. Blocks both reads secrets/** # Local config overrides -conf/localsettings.yaml -conf/localtestsettings.yaml +conf/settings.local.yaml +conf/settings.test.yaml # Generated files — let the tools rebuild them, not patch them dist/** @@ -107,7 +107,7 @@ For cases where `.botignore`'s uniform read+write block isn't granular enough: ```toml [read] # Block reading secrets outright -patterns = [".env*", "secrets/**", "conf/localsettings.yaml"] +patterns = [".env*", "secrets/**", "conf/settings.local.yaml"] [write] # Allow reading vendor code but block patching it @@ -156,12 +156,12 @@ When Claude attempts a `Read(.env)`, `Write(vendor/foo.js)`, or `Bash(rm ./secre ## Real-world scenario -A project has `.env`, `conf/localsettings.yaml`, and a `vendor/` tree it doesn't want patched. With `.botignore`: +A project has `.env`, `conf/settings.local.yaml`, and a `vendor/` tree it doesn't want patched. With `.botignore`: ```gitignore .env .env.* -conf/localsettings.yaml +conf/settings.local.yaml vendor/** ``` @@ -169,8 +169,8 @@ Claude attempts to read credentials: ``` Tool: Read -Path: ./conf/localsettings.yaml -Decision: BLOCK — matched rule "conf/localsettings.yaml" (.botignore) +Path: ./conf/settings.local.yaml +Decision: BLOCK — matched rule "conf/settings.local.yaml" (.botignore) ``` Claude attempts to read application code: @@ -186,7 +186,7 @@ Claude attempts to run `cat .env` via bash — which would bypass a path-only ch ```toml # botignore.toml [bash] -deny = ["cat .env*", "cat conf/localsettings*"] +deny = ["cat .env*", "cat conf/settings.local*"] ``` ```