lefthook.yml
Rama main · réplica de lectura del repositorio original.
pre-commit:
parallel: true
commands:
source-comments:
run: make check-source-comments
biome-lint:
root: "libs/client/"
glob: "libs/client/**/*.{ts,tsx,js,jsx,mjs}"
run: yarn biome check --no-errors-on-unmatched {staged_files}
rescript-format:
glob: "**/*.{res,resi}"
exclude: "libs/experimental-rescript-webapi/**"
run: yarn rescript format --check {staged_files}
elixir-format-server:
root: "apps/frontman_server/"
glob: "apps/frontman_server/**/*.{ex,exs}"
run: mise exec -- mix format --check-formatted {staged_files}
elixir-format-swarm:
root: "apps/swarm_ai/"
glob: "apps/swarm_ai/**/*.{ex,exs}"
run: mise exec -- mix format --check-formatted {staged_files}
elixir-credo-server:
root: "apps/frontman_server/"
glob: "apps/frontman_server/**/*.{ex,exs}"
run: mise exec -- mix credo --strict {staged_files}
elixir-credo-swarm:
root: "apps/swarm_ai/"
glob: "apps/swarm_ai/**/*.{ex,exs}"
run: mise exec -- mix credo --strict --ignore-checks ModuleDoc {staged_files}
pre-push:
commands:
reanalyze:
glob: "libs/**/*.res"
run: |
for lib in client frontman-astro frontman-astro-browser frontman-client frontman-core frontman-nextjs frontman-vite logs react-statestore; do
echo "=== $lib ==="
output=$(cd libs/$lib && yarn rescript-tools reanalyze -config 2>&1)
echo "$output"
if ! echo "$output" | grep -q "Analysis reported 0 issues"; then
echo "Dead code detected in libs/$lib"
exit 1
fi
done