Saltar al contingut principal

Configuració dels hooks d'agent

Si el vostre assistent de programació amb IA admet hooks de cicle de vida, configureu-los per a aquest repositori.

Hooks recomanats

HookOrdreFinalitat
afterFileEditscripts/agent-hooks/format.shFormata automàticament els fitxers després de les edicions de la IA
afterFileEditscripts/agent-hooks/yarn-install.shExecuta corepack yarn install quan canvia package.json
afterFileEditscripts/agent-hooks/react-pattern-review.shQuan un diff afegeix primitives useEffect/memo a about/src/, recorda a l'agent que ho reconsideri amb les skills de revisió de React
stopscripts/agent-hooks/sync-git-branches.shEsporga les referències obsoletes i suprimeix les branques temporals de tasca ja integrades
stopscripts/agent-hooks/react-pattern-review.shTorna a analitzar el diff actual per buscar efectes/memos nous de React a about/src/ abans de la barrera de verificació final
stopscripts/agent-hooks/verify.shBarrera estricta de verificació de compilació dirigida, lint, comprovació de tipus i format; manté yarn npm audit com a informatiu i executa yarn knip a part com a auditoria consultiva quan canvien dependències o imports

Per què

  • Format coherent
  • El lockfile es manté sincronitzat
  • Les noves incorporacions de useEffect/memo al lloc about reben una segona revisió explícita abans que l'agent acabi
  • Els problemes de compilació, lint o tipus rellevants per a l'espai de treball es detecten aviat sense forçar la compilació completa multiidioma de la documentació a cada tasca
  • Visibilitat de seguretat mitjançant yarn npm audit
  • La desviació de dependències i imports es pot comprovar amb yarn knip sense convertir-lo en un hook de parada global i sorollós
  • Una única implementació de hook compartida per a Codex i Cursor
  • Les branques temporals de tasca es mantenen alineades amb el flux de treball de worktrees del repositori

Exemples de scripts de hook

Hook de format

#!/bin/bash
# Auto-format JS/TS files after AI edits
# Hook receives JSON via stdin with 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

Hook de verificació

#!/bin/bash
# Run targeted build verification, lint, typecheck, format check, and security audit when agent finishes

cat > /dev/null # consume stdin
status=0
corepack yarn build:verify || 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

Per defecte, scripts/agent-hooks/verify.sh surt amb un codi diferent de zero quan falla una comprovació obligatòria. Establiu AGENT_VERIFY_MODE=advisory només quan necessiteu intencionadament obtenir senyal d'un arbre trencat sense bloquejar el hook. Mantingueu yarn knip fora de la barrera estricta tret que el repositori decideixi explícitament fallar davant de problemes consultius d'imports o de dependències.

Els hooks de cicle de vida no substitueixen la verificació manual al navegador. Per a canvis d'interfície o visuals, executeu igualment comprovacions amb playwright-cli a chrome, firefox i webkit, i afegiu-hi un flux amb finestra mòbil a cada motor quan hagi canviat la responsivitat o el comportament tàctil.

Hook d'instal·lació de Yarn

#!/bin/bash
# Run corepack yarn install when package.json is changed
# Hook receives JSON via stdin with 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

Configureu la connexió dels hooks segons la documentació de la vostra eina d'agent (hooks.json, equivalent, etc.).

En aquest repositori, .codex/hooks/*.sh i .cursor/hooks/*.sh han de continuar sent embolcalls prims que deleguen a les implementacions compartides sota scripts/agent-hooks/.