mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-20 08:01:35 +00:00
d16df49f86
* feat: add Claude Code hooks for formatting and notifications - Add PostToolUse hooks to auto-format files after Edit/Write: - format-frontend.sh: runs prettier on frontend files - format-backend.sh: runs rustfmt on backend Rust files - Add Notification hook to alert user when Claude needs input - Add edition=2021 to rustfmt.toml for proper parsing - Update .gitignore for symlinked cache directories - Add additional bash permissions for cargo check and npm scripts Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * remove echo * notification when in ssh as well --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
134 lines
3.0 KiB
JSON
134 lines
3.0 KiB
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"Bash(ls:*)",
|
|
"Bash(grep:*)",
|
|
"Bash(cat:*)",
|
|
"Bash(head:*)",
|
|
"Bash(tail:*)",
|
|
"Bash(less:*)",
|
|
"Bash(more:*)",
|
|
"Bash(find:*)",
|
|
"Bash(wc:*)",
|
|
"Bash(diff:*)",
|
|
"Bash(file:*)",
|
|
"Bash(stat:*)",
|
|
"Bash(tree:*)",
|
|
"Bash(pwd)",
|
|
"Bash(which:*)",
|
|
"Bash(whereis:*)",
|
|
"Bash(echo:*)",
|
|
"Bash(git status:*)",
|
|
"Bash(git diff:*)",
|
|
"Bash(git log:*)",
|
|
"Bash(git branch:*)",
|
|
"Bash(git show:*)",
|
|
"Bash(git blame:*)",
|
|
"Bash(cargo check:*)",
|
|
"mcp__ide__getDiagnostics",
|
|
"Bash(npm run generate-backend-client:*)",
|
|
"Bash(npm run check:*)"
|
|
],
|
|
"deny": [
|
|
"Read(.env)",
|
|
"Read(.env.*)",
|
|
"Read(**/.env)",
|
|
"Read(**/.env.*)",
|
|
"Read(**/secrets/**)",
|
|
"Read(**/*.pem)",
|
|
"Read(**/*.key)",
|
|
"Read(**/credentials.json)",
|
|
"Read(**/*secret*)",
|
|
"Edit(.env)",
|
|
"Edit(.env.*)",
|
|
"Edit(**/.env)",
|
|
"Edit(**/.env.*)"
|
|
],
|
|
"ask": [
|
|
"Bash(rm:*)",
|
|
"Bash(rmdir:*)",
|
|
"Bash(mv:*)",
|
|
"Bash(chmod:*)",
|
|
"Bash(chown:*)",
|
|
"Bash(truncate:*)",
|
|
"Bash(shred:*)",
|
|
"Bash(unlink:*)",
|
|
"Bash(git push:*)",
|
|
"Bash(git reset:*)",
|
|
"Bash(git revert:*)",
|
|
"Bash(git checkout:*)",
|
|
"Bash(git merge:*)",
|
|
"Bash(git rebase:*)"
|
|
]
|
|
},
|
|
"enableAllProjectMcpServers": true,
|
|
"hooks": {
|
|
"UserPromptSubmit": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/resolve-symlinks.sh",
|
|
"timeout": 30
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Stop": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/restore-symlinks.sh",
|
|
"timeout": 30
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SessionEnd": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/restore-symlinks.sh",
|
|
"timeout": 30
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostToolUse": [
|
|
{
|
|
"matcher": "Edit|Write",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/format-frontend.sh",
|
|
"timeout": 30
|
|
},
|
|
{
|
|
"type": "command",
|
|
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/format-backend.sh",
|
|
"timeout": 30
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Notification": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/notify-user.sh",
|
|
"timeout": 10
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"enabledPlugins": {
|
|
"rust-analyzer-lsp@claude-plugins-official": true,
|
|
"typescript-lsp@claude-plugins-official": true,
|
|
"code-review@claude-plugins-official": true
|
|
}
|
|
}
|