Ugrás a fő tartalomhoz

Ügynöki hookok beállítása

Ha az AI-kódolóasszisztense támogatja az életciklus-hookokat, állítsa be az alábbiakat ehhez a repóhoz.

Ajánlott hookok

HookParancsCél
afterFileEditscripts/agent-hooks/format.shFájlok automatikus formázása az AI-szerkesztések után
afterFileEditscripts/agent-hooks/yarn-install.shcorepack yarn install futtatása, amikor a package.json változik
afterFileEditscripts/agent-hooks/react-pattern-review.shHa egy diff useEffect/memo primitíveket ad hozzá az about/src/ alatt, emlékezteti az ügynököt, hogy gondolja újra a React-review skillekkel
stopscripts/agent-hooks/sync-git-branches.shElavult refek metszése és a beolvasztott ideiglenes feladatágak törlése
stopscripts/agent-hooks/react-pattern-review.shAz aktuális diff újbóli átvizsgálása új React-effektek és -memók után az about/src/ alatt, a záró ellenőrzési kapu előtt
stopscripts/agent-hooks/verify.shKemény kapu a célzott build-ellenőrzéshez, linthez, típusellenőrzéshez és formátumellenőrzéshez; a yarn npm audit maradjon tájékoztató jellegű, a yarn knip pedig külön, tanácsadó auditként fusson, amikor a függőségek vagy az importok változnak

Miért

  • Egységes formázás
  • A lockfile szinkronban marad
  • Az about-oldalon megjelenő új useEffect/memo kiegészítések kifejezett második átnézést kapnak, mielőtt az ügynök befejezi a munkát
  • A workspace szempontjából releváns build-, lint- és típusproblémák korán kiderülnek anélkül, hogy minden feladatnál ki kellene kényszeríteni a teljes többnyelvű dokumentációs buildet
  • Biztonsági rálátás a yarn npm audit révén
  • A függőségek és importok elsodródása a yarn knip paranccsal ellenőrizhető anélkül, hogy zajos, globális stop hookká válna
  • Egyetlen közös hookimplementáció a Codex és a Cursor számára
  • Az ideiglenes feladatágak összhangban maradnak a repó munkafa-munkafolyamatával

Példa hookszkriptek

Formázó hook

#!/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

Ellenőrző hook

#!/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

Alapértelmezés szerint a scripts/agent-hooks/verify.sh nem nulla kóddal lép ki, ha egy kötelező ellenőrzés elbukik. Az AGENT_VERIFY_MODE=advisory beállítást csak akkor használja, ha szándékosan szeretne jelzést kapni egy hibás fáról anélkül, hogy a hook blokkolna. A yarn knip maradjon a kemény kapun kívül, hacsak a repó kifejezetten úgy nem dönt, hogy tanácsadó import- és függőségi problémákon is elbukik.

Az életciklus-hookok nem helyettesítik a kézi böngészős ellenőrzést. UI- vagy vizuális változásoknál továbbra is futtasson playwright-cli ellenőrzéseket chrome, firefox és webkit motorokon, valamint mindegyik motorban egy mobil nézetablakos folyamatot, ha a reszponzivitás vagy az érintéses viselkedés változott.

Yarn install hook

#!/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

A hookok bekötését az ügynökeszköz dokumentációja szerint állítsa be (hooks.json vagy ennek megfelelője stb.).

Ebben a repóban a .codex/hooks/*.sh és a .cursor/hooks/*.sh fájlok maradjanak vékony burkolók, amelyek a scripts/agent-hooks/ alatti közös implementációkra delegálnak.