Add AGENTS.md as the single source of truth (with CLAUDE.md and GEMINI.md as pointers), permissions for Claude Code, Codex and Gemini, the docs tree (architecture, decisions, TODO, permissions, specs, plans), PRODUCT.md and DESIGN.md, plus the design-phase record: the inspiration log, all mockup rounds with briefs and screenshots, and the owner's work history. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
1.4 KiB
Plaintext
20 lines
1.4 KiB
Plaintext
# Rendered from docs/PERMISSIONS.md. Change both in one commit.
|
|
# Deny
|
|
prefix_rule(pattern = ["git", "push", ["--force", "-f", "--force-with-lease"]], decision = "forbidden",
|
|
justification = "Force-push rewrites shared history.")
|
|
prefix_rule(pattern = ["git", "reset", "--hard"], decision = "forbidden", justification = "Discards work.")
|
|
prefix_rule(pattern = ["git", "clean"], decision = "forbidden", justification = "Deletes untracked files.")
|
|
prefix_rule(pattern = ["git", "add", ["-f", "--force"]], decision = "forbidden",
|
|
justification = "Stages ignored files, e.g. secrets.")
|
|
prefix_rule(pattern = ["git", "commit", ["--no-verify", "-n"]], decision = "forbidden", justification = "Skips hooks.")
|
|
prefix_rule(pattern = ["rm", ["-r", "-R", "-rf", "-fr", "-Rf", "-fR", "--recursive"]], decision = "forbidden",
|
|
justification = "Recursive delete.")
|
|
prefix_rule(pattern = ["sudo"], decision = "forbidden", justification = "No privilege escalation.")
|
|
# Ask
|
|
prefix_rule(pattern = ["git", ["push", "merge", "rebase", "switch", "restore"]], decision = "prompt")
|
|
prefix_rule(pattern = ["git", "commit", "--amend"], decision = "prompt")
|
|
prefix_rule(pattern = ["rm"], decision = "prompt")
|
|
prefix_rule(pattern = ["bun", ["add", "remove", "update", "upgrade"]], decision = "prompt")
|
|
prefix_rule(pattern = ["bunx"], decision = "prompt")
|
|
prefix_rule(pattern = ["npx"], decision = "prompt")
|