{ "env": { "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "100000", "OBSIDIAN_API_KEY": "7079ccd0a88f83f4a96fd9564bf25b3cb21fce1bff6d9e5b213c02b8b3af6d57", "OBSIDIAN_PORT": "27124", "OBSIDIAN_VAULT": "https://127.0.0.1:27124/vault" }, "hooks": { "Notification": [ { "hooks": [ { "type": "command", "command": "afplay ~/.claude/sounds/mario/pause.wav 2>/dev/null || true", "async": true }, { "type": "command", "command": "osascript ~/bin/confetti.scpt", "async": true } ] } ], "PostToolUse": [ { "matcher": "Write|Edit|MultiEdit", "hooks": [ { "type": "command", "command": "/usr/local/bin/aicodemetricsd hook claude --hook-input stdin", "timeout": 2 } ] }, { "matcher": "Write", "hooks": [ { "type": "command", "command": "jq -r '.tool_input.file_path // .tool_response.filePath // \"\"' | { read -r f; if [[ \"$f\" =~ docs/superpowers/specs/.*\\.md$ ]]; then project=$(basename \"$(git -C \"$(dirname \"$f\")\" rev-parse --show-toplevel 2>/dev/null)\" 2>/dev/null || echo \"unknown\"); filename=$(basename \"$f\"); curl -s -k -X PUT \"$OBSIDIAN_VAULT/Claude/$project/$filename\" -H \"Authorization: Bearer $OBSIDIAN_API_KEY\" -H \"Content-Type: text/markdown\" --data-binary \"@$f\" 2>/dev/null || true; fi; } 2>/dev/null || true", "async": true } ] } ], "PostToolUseFailure": [ { "hooks": [ { "type": "command", "command": "afplay ~/.claude/sounds/mario/tool-failure/bowser-fire.wav 2>/dev/null || true", "async": true } ] } ], "PreCompact": [ { "hooks": [ { "type": "command", "command": "/usr/local/bin/aicodemetricsd hook claude --hook-input stdin", "timeout": 2 } ] } ], "PreToolUse": [ { "matcher": "Write|Edit|MultiEdit", "hooks": [ { "type": "command", "command": "/usr/local/bin/aicodemetricsd hook claude --hook-input stdin", "timeout": 2 } ] } ], "SessionEnd": [ { "hooks": [ { "type": "command", "command": "/usr/local/bin/aicodemetricsd hook claude --hook-input stdin", "timeout": 2 } ] } ], "Stop": [ { "hooks": [ { "type": "command", "command": "afplay ~/.claude/sounds/mario/stop/stomp.wav 2>/dev/null || true", "async": true } ] } ], "UserPromptSubmit": [ { "hooks": [ { "type": "command", "command": "afplay ~/.claude/sounds/mario/prompt-submit/coin.wav 2>/dev/null || true", "async": true }, { "type": "command", "command": "osascript ~/bin/confetti.scpt", "async": true } ] } ] }, "enabledPlugins": { "mind@memvid": true, "superpowers@claude-plugins-official": true }, "extraKnownMarketplaces": { "endless-toil": { "source": { "source": "directory", "path": "/Users/steve.briggs/.endless-toil" } }, "memvid": { "source": { "source": "directory", "path": "/Users/steve.briggs/claude-brain" } } }, "effortLevel": "xhigh", "theme": "custom:challengerdeep", "model": "sonnet" }