Files
music_library/scripts/dev/precommit
T
Claudio Ortolina 4a8af7be39 Move lint, precommit, shellcheck from mix aliases to mise scripts
Mix aliases should only compose mix tasks. Shell tool orchestration
(shellcheck, fd) belongs in mise scripts. This removes the mix cmd
escape hatch and makes the boundary clear: mix.exs for pure mix
composition, scripts/ for cross-toolchain orchestration.
2026-04-12 12:30:59 +01:00

32 lines
678 B
Bash
Executable File

#!/usr/bin/env bash
#MISE description="Run checks before a commit"
set -e
source "$(git rev-parse --show-toplevel)/scripts/_helpers.sh"
ensure_working_directory!
debug_msg "Running shellcheck..."
fd . 'scripts/' --exclude '*.hurl' -t file --exec shellcheck --color
fd . '.claude/hooks' -t file --exec shellcheck --color
debug_msg "Running credo..."
mix credo --strict
debug_msg "Running sobelow..."
mix sobelow --compact --exit
debug_msg "Checking translations..."
mix gettext.extract --check-up-to-date
debug_msg "Checking formatting..."
mix format --check-formatted
debug_msg "Checking unused deps..."
mix deps.unlock --unused
debug_msg "Running tests..."
mix test