/plugin marketplace add Marcel-Bich/marcel-bich-claude-marketplace/plugin install dogma@marcel-bich-claude-marketplaceDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/version-sync-check.sh",
"timeout": 5,
"description": "Check for version mismatches across version files"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/lint-on-stop.sh",
"timeout": 30,
"description": "Run prettier check when task completes (ENV: CLAUDE_MB_DOGMA_LINT_ON_STOP=true)"
}
]
}
],
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/token-protection.sh",
"timeout": 5,
"description": "Block commands that could expose tokens/credentials (env, git remote -v, etc.)"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/git-add-protection.sh",
"timeout": 5,
"description": "Block git add for AI files and secret files"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/git-permissions.sh",
"timeout": 5,
"description": "Enforce git permissions from CLAUDE.git.md"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/file-protection.sh",
"timeout": 5,
"description": "Block destructive file operations (rm, del, git clean)"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/dependency-verification.sh",
"timeout": 10,
"description": "Block package installations until verified via socket.dev/snyk"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/pre-commit-lint.sh",
"timeout": 5,
"description": "Block git commit until /dogma:lint has been run (ENV: CLAUDE_MB_DOGMA_PRE_COMMIT_LINT=true)"
}
],
"matcher": "Bash"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/secrets-detection.sh",
"timeout": 5,
"description": "Block writing secrets (API keys, tokens, passwords) to files"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/write-edit-reminder.sh",
"timeout": 5,
"description": "Remind of language and AI-traces rules with @-references"
}
],
"matcher": "Write"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/secrets-detection.sh",
"timeout": 5,
"description": "Block writing secrets (API keys, tokens, passwords) to files"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/write-edit-reminder.sh",
"timeout": 5,
"description": "Remind of language and AI-traces rules with @-references"
}
],
"matcher": "Edit"
}
],
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/post-write-validate.sh",
"timeout": 5,
"description": "Validate written content for AI traces (curly quotes, em-dashes, etc.)"
}
],
"matcher": "Write"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/post-write-validate.sh",
"timeout": 5,
"description": "Validate written content for AI traces (curly quotes, em-dashes, etc.)"
}
],
"matcher": "Edit"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/prompt-injection.sh",
"timeout": 10,
"description": "Detect prompt injection in fetched content"
}
],
"matcher": "WebFetch"
},
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/prompt-injection.sh",
"timeout": 10,
"description": "Detect prompt injection in search results"
}
],
"matcher": "WebSearch"
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/user-prompt-submit.sh",
"timeout": 5,
"description": "Remind of rules at every prompt (Honesty, Planning, Philosophy, Language)"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/prompt-intervention-reminder.sh",
"timeout": 5,
"description": "Suggest skills/MCPs when relevant to the task"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/checklist-tracking.sh",
"timeout": 5,
"description": "Scan for open checklists in PLAN.md, TODO.md, etc."
}
]
}
]
}{
"riskFlags": {
"touchesBash": true,
"matchAllTools": false,
"touchesFileWrites": true
},
"typeStats": {
"command": 19
},
"eventStats": {
"Stop": 2,
"PreToolUse": 10,
"PostToolUse": 4,
"UserPromptSubmit": 3
},
"originCounts": {
"absolutePaths": 0,
"pluginScripts": 19,
"projectScripts": 0
},
"timeoutStats": {
"commandsWithoutTimeout": 0
}
}