Files
AIPass/.claude/settings.json
T
AIOSAIandClaude Opus 4.6 f30443504c chore: add hooks, CI/CD infrastructure, ignore runtime JSON
- Transfer Claude Code hooks from internal: identity injector, email
  notification, auto-fix diagnostics, pre-compact recovery
- Add notification sounds for tool use, stop, and alerts
- Wire all hooks in .claude/settings.json
- Add global system prompt (.aipass/aipass_global_prompt.md)
- Add branch-local prompt placeholders for all modules
- Set up CI pipeline: lint (ruff) → test matrix (3.10-3.13) → coverage
- Add workflows: PyPI publish, security scanning, stale issues
- Add GitHub issue templates, dependabot, editorconfig
- Configure pytest norecursedirs and coverage fail-under=70
- Add *.json to gitignore — runtime JSON files constantly change
- Untrack runtime JSON (registry, plans, seed bypass, module data)
- Keep source JSON tracked via negation rules (json_templates, pack,
  spawn templates, settings, pyrightconfig)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:33:40 -08:00

115 lines
2.3 KiB
JSON

{
"permissions": {
"allow": [],
"deny": [
"Bash(git reset:*)",
"Bash(git rebase:*)",
"Bash(git config:*)",
"Bash(git push --force:*)",
"EnterPlanMode"
],
"defaultMode": "acceptEdits"
},
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "cat .aipass/aipass_global_prompt.md 2>/dev/null || true"
}
]
},
{
"hooks": [
{
"type": "command",
"command": "python3 .claude/hooks/branch_prompt_loader.py"
}
]
},
{
"hooks": [
{
"type": "command",
"command": "python3 .claude/hooks/identity_injector.py"
}
]
},
{
"hooks": [
{
"type": "command",
"command": "python3 .claude/hooks/email_notification.py"
}
]
}
],
"PreToolUse": [
{
"matcher": "Bash|Edit|MultiEdit|Write|Read|Grep|Glob|WebSearch|WebFetch|Task",
"hooks": [
{
"type": "command",
"command": "python3 .claude/hooks/tool_use_sound.py"
}
]
}
],
"PostToolUse": [
{
"matcher": "Edit|MultiEdit|Write|NotebookEdit",
"hooks": [
{
"type": "command",
"command": "python3 .claude/hooks/auto_fix_diagnostics.py"
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "python3 .claude/hooks/stop_sound.py"
}
]
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "python3 .claude/hooks/notification_sound.py"
}
]
}
],
"PreCompact": [
{
"matcher": "manual",
"hooks": [
{
"type": "command",
"command": "python3 .claude/hooks/pre_compact.py",
"timeout": 60
}
]
},
{
"matcher": "auto",
"hooks": [
{
"type": "command",
"command": "python3 .claude/hooks/pre_compact.py",
"timeout": 60
}
]
}
]
},
"skipDangerousModePermissionPrompt": true
}