magicciv/tooling/claude/dot-claude/settings.json
Natalie 8628ea7d88 feat(@projects/@magic-civilization): 🧭 add SessionStart bootloader — live project orientation for fresh sessions
No project bootloader existed: a new session/agent booted with only the static CLAUDE.md router and
had to manually dig for current state. Adds a SessionStart hook (session-orient.sh) that injects a
LIVE orientation every session — the dynamic counterpart to the static router:

- In-flight objectives (partial/stub from objectives.json) — where to resume
- Blocked count + last 5 commits + unpushed-commit warning (94 right now; forge down)
- Verify-before-trusting reminder + tooling entry-points (preamble / orchestration / code-layering)

State is read live every run (objectives.json + git) — never embedded, so it can't go stale
(the same anti-drift principle the agent tooling enforces). Read-only, <2s, never breaks the
session (any error → exits 0). Dual-mode: hook JSON by default, `--human` prints markdown for
manual mid-session re-orientation (`bash .claude/hooks/session-orient.sh --human`).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 04:57:33 -04:00

91 lines
2 KiB
JSON

{
"enableAllProjectMcpServers": true,
"permissions": {
"allow": [
"Bash(*)",
"Read(*)",
"Write(*)",
"Edit(*)",
"Agent(*)",
"TaskCreate(*)",
"TaskUpdate(*)",
"TaskList(*)",
"TaskGet(*)",
"TaskOutput(*)",
"TaskStop(*)",
"TeamCreate(*)",
"TeamDelete(*)",
"SendMessage(*)",
"WebFetch(*)",
"WebSearch(*)",
"Skill(*)",
"ScheduleWakeup(*)",
"Monitor(*)",
"NotebookEdit(*)",
"LSP(*)",
"ToolSearch(*)",
"SendUserFile(*)",
"AskUserQuestion(*)",
"ExitPlanMode(*)",
"EnterPlanMode(*)",
"ShareOnboardingGuide(*)",
"CronCreate(*)",
"CronList(*)",
"CronDelete(*)",
"PushNotification(*)",
"RemoteTrigger(*)",
"mcp__*"
],
"deny": [
"Bash(git worktree *)",
"Bash(EnterWorktree*)",
"Bash(git stash *)",
"Bash(pkill node*)",
"Bash(killall node*)",
"Bash(wall *)",
"Bash(write *)",
"Bash(rm -rf /*)",
"Bash(git push --force *)",
"Bash(*--no-verify*)"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": ".claude/hooks/enforce-structure.sh",
"timeout": 5,
"statusMessage": "Checking project structure..."
}
]
},
{
"matcher": "Bash|Agent|EnterWorktree",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/block-worktree.sh",
"timeout": 5,
"statusMessage": "Blocking worktree usage (multi-agent repo)"
}
]
}
],
"SessionStart": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": ".claude/hooks/session-orient.sh",
"timeout": 10,
"statusMessage": "Loading live session orientation..."
}
]
}
]
}
}