Formalize standard set of Claude permissions

This commit is contained in:
Claudio Ortolina
2026-04-17 08:11:31 +01:00
parent bbe1722c9f
commit 2648d10034
2 changed files with 53 additions and 97 deletions
+53
View File
@@ -0,0 +1,53 @@
{
"permissions": {
"allow": [
"Bash(cat:*)",
"Bash(find:*)",
"Bash(gh issue:*)",
"Bash(gh label:*)",
"Bash(git show:*)",
"Bash(grep:*)",
"Bash(head:*)",
"Bash(ls:*)",
"Bash(mise generate:*)",
"Bash(mise run:*)",
"Bash(mise tasks:*)",
"Bash(mix *)",
"Bash(mkdir:*)",
"Bash(mv:*)",
"Bash(python3:*)",
"Bash(shellcheck:*)",
"Bash(sqlite3:*)",
"Bash(wc:*)",
"Bash(while read dir)",
"Bash(xargs sed:*)",
"WebFetch(domain:github.com)",
"WebFetch(domain:hex.pm)",
"WebFetch(domain:hexdocs.pm)",
"WebSearch",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools",
"mcp__tidewave"
]
},
"enableAllProjectMcpServers": true,
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/format-elixir.sh",
"timeout": 30
},
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/gettext-extract.sh",
"timeout": 30,
"async": true
}
]
}
]
}
}
-97
View File
@@ -1,97 +0,0 @@
{
"permissions": {
"allow": [
"mcp__tidewave__get_ecto_schemas",
"Bash(mix test:*)",
"Bash(mix test)",
"Bash(mix test *)",
"mcp__tidewave__get_source_location",
"WebFetch(domain:hexdocs.pm)",
"mcp__tidewave__execute_sql_query",
"Bash(mix ecto.gen.migration:*)",
"Bash(mkdir:*)",
"Bash(mix ecto.migrate:*)",
"Bash(grep:*)",
"Bash(mix ecto.rollback:*)",
"Bash(mix format)",
"Bash(mix credo:*)",
"Bash(mix do:*)",
"Bash(mix gettext.extract:*)",
"Bash(mv:*)",
"Bash(mix compile)",
"Bash(mix phx.routes:*)",
"Bash(mix assets.deploy:*)",
"mcp__tidewave__get_logs",
"mcp__tidewave__project_eval",
"Bash(mix format:*)",
"Bash(mise run dev:static-checks:*)",
"Bash(find:*)",
"Bash(xargs sed:*)",
"Bash(git show:*)",
"Bash(head:*)",
"Bash(cat:*)",
"Bash(mise tasks:*)",
"Bash(mix run:*)",
"Bash(sqlite3:*)",
"WebSearch",
"Bash(mix compile:*)",
"mcp__tidewave__get_docs",
"mcp__tidewave__search_package_docs",
"Bash(wc:*)",
"Bash(python3:*)",
"Bash(MIX_ENV=test mix ecto.migrate:*)",
"WebFetch(domain:api-dashboard.search.brave.com)",
"WebFetch(domain:api.search.brave.com)",
"Bash(while read dir)",
"Bash(MIX_ENV=dev mix run:*)",
"Bash(mix deps.get:*)",
"Bash(ls:*)",
"WebFetch(domain:raw.githubusercontent.com)",
"WebFetch(domain:github.com)",
"WebFetch(domain:hex.pm)",
"Bash(gh issue:*)",
"Bash(mise run:*)",
"Bash(gh label:*)",
"Bash(mix sobelow:*)",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__list_pages",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__navigate_page",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__take_screenshot",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__take_snapshot",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__fill",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__click",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__evaluate_script",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__new_page",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__select_page",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__list_network_requests",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__get_network_request",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__list_console_messages",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__get_console_message",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__hover",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__press_key",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__wait_for",
"Bash(mise generate:*)",
"Bash(shellcheck:*)"
]
},
"enableAllProjectMcpServers": false,
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/format-elixir.sh",
"timeout": 30
},
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/gettext-extract.sh",
"timeout": 30,
"async": true
}
]
}
]
}
}