npx claudepluginhub first-mover-tw/sui-dev-agents --plugin sui-dev-agentsDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/hooks/test-reminder.sh",
"description": "Remind to run tests if .move files were modified"
}
]
}
],
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/hooks/gas-budget-guard.sh",
"description": "Block abnormally large gas budget on publish"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/hooks/red-team-guard.sh",
"description": "Suggest red-team testing before deploy/publish/upgrade"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/hooks/tx-approval-guard.sh",
"description": "Warn when direct sui client transaction commands bypass MCP wallet tools"
}
],
"matcher": "Bash"
}
],
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/hooks/move-lint.sh",
"description": "Auto-verify Move syntax after editing .move files"
},
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/hooks/jsonrpc-warn.sh",
"description": "Warn if JSON-RPC patterns detected in TypeScript/JavaScript files"
}
],
"matcher": "Edit|Write"
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "bash -c 'command -v sui >/dev/null && sui client active-env 2>/dev/null || echo \"sui CLI not found\"'",
"description": "Show active SUI environment on session start"
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/hooks/mainnet-guard.sh",
"description": "Warn when mainnet publish/upgrade/deploy is mentioned"
}
]
}
]
}"Executes Node.js scripts for batch linting/extraction/aggregation on Stop, config protection pre-Edit/Write, post-edit accumulation/PR polling after tools, correction detection on prompts, bash session init. Touches bash/files."