~ / rigs / collectiveai-team / botica

collectiveai-team/botica

Recipes and standards for projects: deterministic rules, templates, and design decisions for AI coding agents (opencode, Claude Code, Codex).

↗ GitHub ★ 5 NOASSERTION updated 4d ago project Claude CodeCodex
share on X
ARCHETYPE
Pragmatist
A balanced, no-drama setup: some rules, some tools, nothing extreme.
CONTEXT TAX · EVERY TURN
~2.9k tokens
Moderate · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Protects secrets · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit collectiveai-team/botica/.claude ./rig-botica  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./**/.env)",
      "Read(./**/.env.*)",
      "Read(./**/*.pem)",
      "Read(./**/*.key)",
      "Read(./**/*credentials*)",
      "Read(./**/*.pgpass)",
      "Read(./**/varlock.config*)",
      "Edit(./.env)",
      "Edit(./.env.*)",
      "Edit(./**/.env)",
      "Edit(./**/.env.*)",
      "Edit(./**/*.pem)",
      "Edit(./**/*.key)",
      "Edit(./**/varlock.config*)",
      "Bash(cat *.env*)",
      "Bash(less *.env*)",
      "Bash(more *.env*)",
      "Bash(head *.env*)",
      "Bash(tail *.env*)",
      "Bash(grep *.env*)",
      "Bash(sed *.env*)",
      "Bash(awk *.env*)",
      "Bash(cut *.env*)",
      "Bash(sort .env*)",
      "Bash(dd if=.env*)",
      "Bash(tee *.env*)",
      "Bash(xxd .env*)",
      "Bash(echo $*)",
      "Bash(python*getenv*)",
      "Bash(python*os.environ*)",
      "Bash(python*open*env*)",
      "Bash(node*process.env*)",
      "Bash(node*readFileSync*env*)",
      "Bash(ruby*File.read*env*)",
      "Bash(printenv:*)",
      "Bash(env)",
      "Bash(env:*)",
      "Bash(export -p)",
      "Bash(declare -x)",
      "Bash(compgen -v)",
      "Bash(compgen -A variable)",
      "Bash(typeset -x)",
      "Bash(source *.env*)",
      "Bash(. .env*)",
      "Bash(set -a*)",
      "Bash(curl *env*)",
      "Bash(wget *env*)",
      "Bash(varlock printenv:*)",
      "Bash(varlock load --show:*)",
      "Bash(varlock load --format*)",
      "Bash(varlock load -f*)",
      "Bash(varlock reveal:*)",
      "Bash(*base64*|*bash*)",
      "Bash(*base64*|*sh*)"
    ]
  }
}

Permissions

deny (56)
Read(./.env)
Read(./.env.*)
Read(./**/.env)
Read(./**/.env.*)
Read(./**/*.pem)
Read(./**/*.key)
Read(./**/*credentials*)
Read(./**/*.pgpass)
Read(./**/varlock.config*)
Edit(./.env)
Edit(./.env.*)
Edit(./**/.env)
Edit(./**/.env.*)
Edit(./**/*.pem)
Edit(./**/*.key)
Edit(./**/varlock.config*)
Bash(cat *.env*)
Bash(less *.env*)
Bash(more *.env*)
Bash(head *.env*)
Bash(tail *.env*)
Bash(grep *.env*)
Bash(sed *.env*)
Bash(awk *.env*)
Bash(cut *.env*)
Bash(sort .env*)
Bash(dd if=.env*)
Bash(tee *.env*)
Bash(xxd .env*)
Bash(echo $*)
Bash(python*getenv*)
Bash(python*os.environ*)
Bash(python*open*env*)
Bash(node*process.env*)
Bash(node*readFileSync*env*)
Bash(ruby*File.read*env*)
Bash(printenv:*)
Bash(env)
Bash(env:*)
Bash(export -p)
Bash(declare -x)
Bash(compgen -v)
Bash(compgen -A variable)
Bash(typeset -x)
Bash(source *.env*)
Bash(. .env*)
Bash(set -a*)
Bash(curl *env*)
Bash(wget *env*)
Bash(varlock printenv:*)
Bash(varlock load --show:*)
Bash(varlock load --format*)
Bash(varlock load -f*)
Bash(varlock reveal:*)
Bash(*base64*|*bash*)
Bash(*base64*|*sh*)
ask (0)
—
allow (4)
Read(./.env.schema)
Read(./**/.env.schema)
Read(./.env.example)
Read(./**/.env.example)

Similar rigs

copied ✓