Add Claude Code hooks, commands, and permissions
High priority: - Auto-format on edit (.claude/hooks/format-elixir.sh): runs mix format synchronously after every Edit/Write on .ex, .exs, and .heex files. Ensures code is formatted before the next read or tool call. - mix test permissions: added Bash(mix test) (bare) and Bash(mix test *) (with path/flags) to the allow list. Previously only Bash(mix test:*) was allowed, which didn't match common invocations. - Slash commands: /precommit runs the full mix precommit pipeline and reports failures with fix suggestions. /oban-status queries Oban job state via Tidewave SQL, grouped by state and worker. Medium priority: - Chrome DevTools permissions: added 8 new tools (select_page, list_network_requests, get_network_request, list_console_messages, get_console_message, hover, press_key, wait_for) for debugging API traffic, JS hook errors, hover states, and keyboard navigation. - Gettext extraction hook (.claude/hooks/gettext-extract.sh): runs mix gettext.extract --merge asynchronously after editing .heex files. Async because it's project-wide and doesn't need to block the next edit. - Sobelow permission: added Bash(mix sobelow:*) to the allow list for independent security checks.
This commit is contained in:
@@ -161,7 +161,10 @@ defmodule MusicLibrary.MixProject do
|
||||
],
|
||||
"ecto.setup": ["ecto.create", "ecto.migrate"],
|
||||
"ecto.reset": ["ecto.drop", "ecto.setup"],
|
||||
shellcheck: "cmd fd . 'scripts/' --exclude '*.hurl' -t file --exec shellcheck --color",
|
||||
shellcheck: [
|
||||
"cmd fd . 'scripts/' --exclude '*.hurl' -t file --exec shellcheck --color",
|
||||
"cmd fd . '.claude/hooks' -t file --exec shellcheck --color"
|
||||
],
|
||||
lint: [
|
||||
"format",
|
||||
"credo",
|
||||
|
||||
Reference in New Issue
Block a user