Hop til hovedindhold

Opsætning af agent-hooks

Hvis din AI-kodeassistent understøtter livscyklus-hooks, så konfigurer disse for dette repo.

Anbefalede hooks

HookKommandoFormål
afterFileEditscripts/agent-hooks/format.shFormatér filer automatisk efter AI-redigeringer
afterFileEditscripts/agent-hooks/yarn-install.shKør corepack yarn install, når package.json ændres
afterFileEditscripts/agent-hooks/react-pattern-review.shNår en diff tilføjer useEffect/memo-primitiver i about/src/, så mind agenten om at genoverveje med React-review-skills
stopscripts/agent-hooks/sync-git-branches.shBeskær forældede refs og slet integrerede midlertidige opgavegrene
stopscripts/agent-hooks/react-pattern-review.shSkan den aktuelle diff igennem igen for nye React-effects/memos i about/src/ før den afsluttende verifikationsport
stopscripts/agent-hooks/verify.shHård port foran målrettet build-verifikation, lint, typecheck og formatkontrol; hold yarn npm audit informativ, og kør yarn knip separat som vejledende audit, når afhængigheder eller imports ændres

Hvorfor

  • Ensartet formatering
  • Lockfilen holdes synkroniseret
  • Nye useEffect/memo-tilføjelser på about-sitet får et eksplicit ekstra eftersyn, før agenten afslutter
  • Build-, lint- og typeproblemer i det relevante workspace fanges tidligt, uden at hver opgave tvinges gennem det fulde docs-build med alle sprog
  • Sikkerhedsindblik via yarn npm audit
  • Afvigelser i afhængigheder og imports kan tjekkes med yarn knip, uden at det bliver til et støjende globalt stop-hook
  • Én fælles hook-implementering til både Codex og Cursor
  • Midlertidige opgavegrene forbliver på linje med repoets worktree-arbejdsgang

Eksempler på hook-scripts

Format-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

Verify-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

Som standard afslutter scripts/agent-hooks/verify.sh med en fejlkode, når en påkrævet kontrol fejler. Sæt kun AGENT_VERIFY_MODE=advisory, når du bevidst har brug for signal fra et brudt træ uden at blokere hooket. Hold yarn knip uden for den hårde port, medmindre repoet eksplicit beslutter at fejle på vejledende problemer med imports og afhængigheder.

Livscyklus-hooks erstatter ikke manuel browserverifikation. Ved UI-ændringer eller visuelle ændringer skal du stadig køre playwright-cli-kontroller i chrome, firefox og webkit samt et flow i mobilviewport i hver motor, når responsivitet eller touch-adfærd er ændret.

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

Konfigurer opkoblingen af hooks efter dokumentationen for dit agentværktøj (hooks.json, tilsvarende osv.).

I dette repo skal .codex/hooks/*.sh og .cursor/hooks/*.sh forblive tynde wrappers, der uddelegerer til de fælles implementeringer under scripts/agent-hooks/.