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