{ "$schema": "https://json.schemastore.org/claude-code-settings.json", "permissions": { "allow": [ "Bash(pnpm typecheck:*)", "Bash(pnpm test:*)", "Bash(pnpm build:*)", "Bash(pnpm lint:*)", "Bash(find:*)", "Bash(ls:*)", "Bash(pnpm codegen)", "Bash(pnpm vitest run:*)", "Bash(pnpm eslint:*)" ], "deny": [] }, "includeCoAuthoredBy": false, "hooks": { "PostToolUse": [ { "matcher": "Edit|MultiEdit|Write", "hooks": [ { "type": "command", "command": "jq -r '.tool_input.file_path' | { read file_path; if [[ \"$file_path\" =~ \\.(js|jsx|ts|tsx)$ ]]; then cd \"$(dirname \"$file_path\")\" && pnpm run lint --fix \"$file_path\" || true; fi }" } ] } ], "Stop": [ { "hooks": [ { "type": "command", "command": "if jq -e '.stop_hook_active == true' >/dev/null 2>&1; then exit 0; fi && (pnpm run typecheck 1>&2 || exit 2) && (pnpm run lint 1>&2 || exit 2)" } ] } ] } }