Μετάβαση στο κύριο περιεχόμενο

Ρύθμιση Agent Hooks

Εάν ο βοηθός κωδικοποίησης AI υποστηρίζει άγκιστρα κύκλου ζωής, διαμορφώστε τα για αυτό το αποθετήριο.

Προτεινόμενα Άγκιστρα

ΓάντζοςΕντολήΣκοπός
afterFileEditscripts/agent-hooks/format.shΑυτόματη μορφοποίηση αρχείων μετά από επεξεργασίες AI
afterFileEditscripts/agent-hooks/yarn-install.shΕκτελέστε το corepack yarn install όταν αλλάζει το package.json
stopscripts/agent-hooks/sync-git-branches.shΚλαδέψτε παλιές αναφορές και διαγράψτε ενσωματωμένους κλάδους προσωρινής εργασίας
stopscripts/agent-hooks/verify.shΈλεγχοι κατασκευής σκληρής πύλης, χνούδι, πληκτρολόγησης και μορφοποίησης. διατηρήστε το yarn npm audit ενημερωτικό και εκτελέστε το yarn knip ξεχωριστά ως συμβουλευτικό έλεγχο όταν αλλάζουν οι εξαρτήσεις/εισαγωγές

Γιατί

  • Συνεπής μορφοποίηση
  • Το Lockfile παραμένει συγχρονισμένο
  • Ζητήματα κατασκευής/χνούδι/τύπου εντοπίστηκαν νωρίς
  • Ορατότητα ασφαλείας μέσω yarn npm audit
  • Η μετατόπιση εξάρτησης/εισαγωγής μπορεί να ελεγχθεί με το yarn knip χωρίς να μετατραπεί σε ένα θορυβώδες παγκόσμιο άγκιστρο διακοπής
  • Ένα κοινόχρηστο άγκιστρο για Codex και Cursor
  • Οι κλάδοι προσωρινών εργασιών παραμένουν ευθυγραμμισμένοι με τη ροή εργασίας του δέντρου εργασίας του repo

Παραδείγματα σεναρίων Hook

Μορφοποίηση γάντζου

#!/bin/bash
# Αυτόματη διαμόρφωση αρχείων JS/TS μετά από επεξεργασίες AI
# Ο Hook λαμβάνει JSON μέσω stdin με 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

#!/bin/bash
# Εκτελέστε το build, το lint, το typecheck, τον έλεγχο μορφής και τον έλεγχο ασφαλείας όταν τελειώσει ο πράκτορας

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

Από προεπιλογή, το scripts/agent-hooks/verify.sh εξέρχεται μηδενικό όταν αποτύχει ένας απαιτούμενος έλεγχος. Ρυθμίστε το AGENT_VERIFY_MODE=advisory μόνο όταν χρειάζεστε σκόπιμα σήμα από ένα σπασμένο δέντρο χωρίς να μπλοκάρετε το άγκιστρο. Κρατήστε το yarn knip έξω από το hard gate, εκτός εάν το repo αποφασίσει ρητά να αποτύχει σε ζητήματα συμβουλευτικής εισαγωγής/εξάρτησης.

Άγκιστρο εγκατάστασης νήματος

#!/bin/bash
# Εκτελέστε την εγκατάσταση του νήματος corepack όταν αλλάξει το πακέτο.json
# Ο Hook λαμβάνει JSON μέσω stdin με 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

Διαμορφώστε την καλωδίωση αγκίστρου σύμφωνα με τα έγγραφα του εργαλείου αντιπροσώπου σας (hooks.json, ισοδύναμο, κ.λπ.).

Σε αυτό το repo, τα .codex/hooks/*.sh και .cursor/hooks/*.sh θα πρέπει να παραμείνουν ως λεπτά περιτυλίγματα που εκχωρούν στις κοινόχρηστες υλοποιήσεις στο scripts/agent-hooks/.