{
  "permissions": {
    "allow": [
      "Bash(pnpm install)",
      "Bash(pnpm dev:*)",
      "Bash(pnpm build)",
      "Bash(pnpm verify)",
      "Bash(pnpm lint:*)",
      "Bash(pnpm typecheck)",
      "Bash(pnpm test:*)",
      "Bash(pnpm format:*)",
      "Bash(npx shadcn:*)",
      "Bash(npx vercel:*)",
      "Bash(git init)",
      "Bash(git status:*)",
      "Bash(git log:*)",
      "Bash(git diff:*)",
      "Bash(git add:*)",
      "Bash(git commit:*)",
      "Bash(git revert:*)",
      "Bash(git rev-parse:*)",
      "Bash(lsof:*)",
      "Bash(open:*)",
      "Bash(bash .claude/scripts/code-smell.sh:*)",
      "Bash(bash .claude/scripts/slop-check.sh:*)",
      "Bash(bash .claude/scripts/gate-selftest.sh:*)",
      "Bash(pnpm gate:selftest)",
      "Bash(pnpm lint:fsd)",
      "Bash(pnpm lint:deps)",
      "Bash(pnpm knip)",
      "mcp__playwright",
      "mcp__plugin_playwright_playwright"
    ],
    "deny": ["Bash(git push:*)", "Bash(git reset:*)", "Bash(rm -rf:*)"]
  },
  "hooks": {
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/skill-injector.sh\"",
            "timeout": 5
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Write|Edit|MultiEdit",
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/post-edit-check.sh\"",
            "timeout": 15
          }
        ]
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/no-verify-guard.sh\"",
            "timeout": 5
          },
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/admin-merge-guard.sh\"",
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "Write|Edit|MultiEdit",
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/new-component-guard.sh\"",
            "timeout": 5
          },
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/ds-primitive-guard.sh\"",
            "timeout": 5
          },
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/ux-contract-guard.sh\"",
            "timeout": 5
          }
        ]
      }
    ],
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/wiki-session-start.sh\"",
            "timeout": 5
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/wiki-stop.sh\"",
            "timeout": 5
          }
        ]
      }
    ]
  }
}
