Hopp over til hovedinnhold

Oppsett av Agent Hooks

Hvis AI-kodingsassistenten din støtter livssykluskroker, konfigurer disse for denne repoen.

Anbefalte kroker

KrokKommandoFormål
afterFileEditscripts/agent-hooks/format.shAutoformater filer etter AI-redigeringer
afterFileEditscripts/agent-hooks/yarn-install.shKjør corepack yarn install når package.json endres
stopscripts/agent-hooks/sync-git-branches.shBeskjær foreldede refs og slett integrerte midlertidige oppgavegrener
stopscripts/agent-hooks/verify.shHard-gate build, lint, typecheck og format checks; hold yarn npm audit informativ og kjør yarn knip separat som en rådgivende revisjon når avhengigheter/importer endres

Hvorfor

  • Konsekvent formatering
  • Lockfile forblir synkronisert
  • Bygge/lo/type problemer fanget opp tidlig
  • Sikkerhetssynlighet via yarn npm audit
  • Avhengighet/importdrift kan sjekkes med yarn knip uten å gjøre den om til en støyende global stoppkrok
  • Én delt hook-implementering for både Codex og Cursor
  • Midlertidige oppgavegrener forblir på linje med repoens arbeidstrearbeidsflyt

Eksempel på Hook-skript

Format krok

#!/bin/bash
# Autoformater JS/TS-filer etter AI-redigeringer
# Hook mottar JSON via stdin med file_path

input=$(cat)
file_path=$(echo "$input" | grep -o '"file_path"[[:space:]]*:[[:space:]]*"[^"]*"' | sed 's/.*:.*"\([^"]*\)"/\1/')

case "$file_path" in
*.js|*.jsx|*.ts|*.tsx|*.mjs|*.cjs|*.json|*.css) corepack yarn exec oxfmt "$file_path" 2>/dev/null ;;
esac
exit 0

Bekreft Hook

#!/bin/bash
# Kjør build, lint, typecheck, format check og security audit når agenten er ferdig

cat > /dev/null # consume stdin
status=0
corepack yarn build || status=1
corepack yarn lint || status=1
corepack yarn typecheck || status=1
corepack yarn format:check || status=1
echo "=== yarn npm audit ===" && (corepack yarn npm audit || true) # informational
exit $status

Som standard avsluttes scripts/agent-hooks/verify.sh fra null når en nødvendig kontroll mislykkes. Sett AGENT_VERIFY_MODE=advisory kun når du med vilje trenger signal fra et knust tre uten å blokkere kroken. Hold yarn knip utenfor den harde porten med mindre repoen eksplisitt bestemmer seg for å mislykkes på rådgivende import-/avhengighetsproblemer.

Garnmonteringskrok

#!/bin/bash
# Kjør corepack yarn install når package.json endres
# Hook mottar JSON via stdin med file_path

input=$(cat)
file_path=$(echo "$input" | grep -o '"file_path"[[:space:]]*:[[:space:]]*"[^"]*"' | sed 's/.*:.*"\([^"]*\)"/\1/')

if [ -z "$file_path" ]; then
exit 0
fi

if [ "$file_path" = "package.json" ]; then
cd "$(dirname "$0")/../.." || exit 0
echo "package.json changed - running corepack yarn install to update yarn.lock..."
corepack yarn install
fi

exit 0

Konfigurer krokledninger i henhold til dokumentene for agentverktøyet (hooks.json, tilsvarende osv.).

I denne repoen bør .codex/hooks/*.sh og .cursor/hooks/*.sh forbli som tynne omslag som delegerer til de delte implementeringene under scripts/agent-hooks/.