{
  "permissions": {
    "allow": [
      "Edit(/src/**)",
      "Edit(/tests/**)",
      "Bash(dotnet build *)",
      "Bash(dotnet test *)",
      "Bash(dotnet format *)",
      "Bash(dotnet ef migrations add *)",
      "Bash(dotnet ef migrations list *)",
      "Bash(git status *)",
      "Bash(git diff *)",
      "PowerShell(dotnet build *)",
      "PowerShell(dotnet test *)",
      "PowerShell(dotnet format *)",
      "PowerShell(dotnet ef migrations add *)",
      "PowerShell(dotnet ef migrations list *)",
      "PowerShell(git status *)",
      "PowerShell(git diff *)"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe",
            "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "${CLAUDE_PROJECT_DIR}/.claude/hooks/guard-migrations.ps1"]
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe",
            "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "${CLAUDE_PROJECT_DIR}/.claude/hooks/format-cs.ps1"],
            "timeout": 120
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe",
            "args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", "${CLAUDE_PROJECT_DIR}/.claude/hooks/test-on-stop.ps1"],
            "timeout": 300
          }
        ]
      }
    ]
  }
}
