~ / rigs / Stackbilt-dev / charter

Stackbilt-dev/charter

Context compiler for AI coding agents. Modular .ai/ rules, deterministic routing, and generated configs for Claude, Codex, Cursor, and Gemini.

↗ GitHub ★ 0 Apache-2.0 updated 4d ago project Claude CodeCodexCursorGemini CLI
share on X
ARCHETYPE
Pragmatist
A balanced, no-drama setup: some rules, some tools, nothing extreme.
CONTEXT TAX · EVERY TURN
~341 tokens
Featherweight · median rig: 2.3k · breakdown
GUARDRAILS
1/5
No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit Stackbilt-dev/charter/.claude ./rig-charter  # 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.

$ npx degit Stackbilt-dev/charter/.claude/skills/commit .claude/skills/commit
$ npx degit Stackbilt-dev/charter/.claude/skills/dogfood .claude/skills/dogfood
$ npx degit Stackbilt-dev/charter/.claude/skills/issue .claude/skills/issue
$ npx degit Stackbilt-dev/charter/.claude/skills/release .claude/skills/release
$ npx degit Stackbilt-dev/charter/packages/cli/.claude/skills/drafter .claude/skills/drafter

This rig commits no guardrails. Here is the community baseline instead — the deny/ask rules most often found across all 7,204 rigs:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(**/.env)",
      "Read(~/.ssh/**)",
      "Bash(rm -rf *)",
      "Read(**/*.pem)",
      "Bash(rm -rf /)",
      "Bash(git push --force:*)",
      "Bash(sudo *)",
      "Read(.env)",
      "Bash(rm -rf /*)",
      "Read(./.env.*)",
      "Read(~/.aws/**)",
      "Bash(git push --force*)",
      "Bash(rm -rf:*)",
      "Read(**/*.key)",
      "Read(**/.env.*)",
      "Bash(sudo:*)",
      "Bash(git reset --hard*)",
      "Bash(git reset --hard:*)",
      "Read(.env.*)"
    ],
    "ask": [
      "Bash(git push:*)",
      "Bash(git push *)",
      "Bash(git commit:*)",
      "Bash(rm *)",
      "Bash(rm:*)",
      "Bash(git rebase *)",
      "Bash(wget *)",
      "Bash(npm publish:*)",
      "Bash(git commit *)",
      "Bash(gh pr merge *)"
    ]
  }
}

Skills (5)

Hooks (2)

eventmatcherruns
PostToolUseEdit|Writebash -c 'pkg=$(echo "$CLAUDE_TOOL_INPUT_FILE_PATH" | grep -oP "packages/[^/]+" | head -1); if [ -n "$pkg" ] && echo "$CLAUDE_TOOL_INPUT_FILE_PATH" | grep -q "/src/"; then echo "[hook] Type-checking $pkg..."; pnpm exec tsc --noEmit -p tsconf
PostToolUseEdit|Writebash -c 'if echo "$CLAUDE_TOOL_INPUT_FILE_PATH" | grep -q "\.ai/.*\.adf$"; then echo "[hook] Checking ADF evidence..."; node packages/cli/dist/bin.js adf evidence --auto-measure 2>&1 | tail -20; fi'

Permissions

deny (0)
—
ask (0)
—
allow (18)
Bash(pnpm:*)
Bash(node:*)
Bash(git add:*)
Bash(git commit:*)
Bash(git tag:*)
Bash(git push:*)
Bash(git status:*)
Bash(git log:*)
Bash(git diff:*)
Bash(git branch:*)
Bash(git remote:*)
Bash(gh issue:*)
Bash(gh pr:*)
Bash(gh release:*)
Bash(gh api:*)
Bash(gh label:*)
Bash(npm view:*)
Bash(npm whoami:*)

Similar rigs

copied ✓