Přeskočit na hlavní obsah

Nastavení Agent Hooks

Pokud váš asistent kódování AI podporuje háčky životního cyklu, nakonfigurujte je pro toto úložiště.

Doporučené háčky

HáčekPříkazÚčel
afterFileEditscripts/agent-hooks/format.shAutomatické formátování souborů po úpravách AI
afterFileEditscripts/agent-hooks/yarn-install.shSpustit corepack yarn install při změně package.json
stopscripts/agent-hooks/sync-git-branches.shOřízněte zastaralé odkazy a odstraňte integrované větve dočasné úlohy
stopscripts/agent-hooks/verify.shSestavení hard-gate, lint, typová kontrola a kontrola formátu; ponechat yarn npm audit informační a spustit yarn knip samostatně jako poradenský audit, když se změní závislosti/importy

Proč?

  • Konzistentní formátování
  • Lockfile zůstává synchronizován
  • Problémy se sestavením/vlákněním/typem byly zachyceny brzy
  • Viditelnost zabezpečení přes yarn npm audit
  • Posun závislosti/importu lze zkontrolovat pomocí yarn knip, aniž by se z něj stal hlučný globální brzdový hák
  • Jedna sdílená implementace háku pro Codex i Cursor
  • Větve dočasných úkolů zůstávají v souladu s pracovním postupem pracovního stromu repo

Příklad hákových skriptů

Formátovat háček

#!/bin/bash
# Automatické formátování souborů JS/TS po úpravách AI
# Hook přijímá JSON přes stdin s 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

Ověřte Hook

#!/bin/bash
# Po dokončení agenta spusťte sestavení, lint, typovou kontrolu, kontrolu formátu a bezpečnostní audit

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

Ve výchozím nastavení se scripts/agent-hooks/verify.sh ukončí nenulovou hodnotou, když selže požadovaná kontrola. AGENT_VERIFY_MODE=advisory nastavte pouze tehdy, když záměrně potřebujete signál ze zlomeného stromu bez blokování háku. Udržujte yarn knip mimo pevnou bránu, pokud se repo výslovně nerozhodne selhat při problémech s importem/závislostí.

Háček pro instalaci příze

#!/bin/bash
# Při změně package.json spusťte instalaci příze corepack
# Hook přijímá JSON přes stdin s 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

Nakonfigurujte hákové zapojení podle dokumentů vašeho agenta (hooks.json, ekvivalent atd.).

V tomto úložišti by .codex/hooks/*.sh a .cursor/hooks/*.sh měly zůstat jako tenké obaly, které delegují sdílené implementace pod scripts/agent-hooks/.