Automatically commits code changes with AI-generated messages after file edits.
npx claudepluginhub arustydev/aiDefined in hooks/hooks.json
{
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "bash -c 'FILE=\"$TOOL_INPUT_FILE_PATH\"; case \"$FILE\" in */manifest.json) DIR=$(dirname \"$FILE\"); if command -v web-ext >/dev/null 2>&1; then web-ext lint --source-dir \"$DIR\" --warnings-as-errors=false 2>&1 | head -30 && echo \"✓ manifest validated\"; else echo \"⚠ web-ext not installed\"; fi;; esac; true'",
"timeout": 20
},
{
"type": "command",
"command": "bash -c 'FILE=\"$TOOL_INPUT_FILE_PATH\"; case \"$FILE\" in */entrypoints/*.ts|*/entrypoints/*.tsx|*/entrypoints/*.js|*/entrypoints/*.jsx) if command -v biome >/dev/null 2>&1; then biome check \"$FILE\" 2>&1 | head -20 && echo \"✓ extension linted\"; fi;; esac; true'",
"timeout": 15
},
{
"type": "command",
"command": "bash -c 'FILE=\"$TOOL_INPUT_FILE_PATH\"; case \"$FILE\" in */wasm/*/*.rs) WASM_DIR=$(echo \"$FILE\" | sed \"s|/src/.*||\" | sed \"s|/tests/.*||\"); if [ -f \"$WASM_DIR/Cargo.toml\" ] && command -v wasm-pack >/dev/null 2>&1; then cd \"$WASM_DIR\" && wasm-pack build --target web --dev 2>&1 | tail -10 && echo \"✓ WASM build succeeded\"; fi;; esac; true'",
"timeout": 60
}
],
"matcher": "Write|Edit"
}
]
}{
"riskFlags": {
"touchesBash": false,
"matchAllTools": false,
"touchesFileWrites": true
},
"typeStats": {
"command": 3
},
"eventStats": {
"PostToolUse": 3
},
"originCounts": {
"absolutePaths": 0,
"pluginScripts": 0,
"projectScripts": 0
},
"timeoutStats": {
"commandsWithoutTimeout": 0
}
}