Ρύθμιση Agent Hooks
Εάν ο βοηθός κωδικοποίησης AI υποστηρίζει άγκιστρα κύκλου ζωής, διαμορφώστε τα για αυτό το αποθετήριο.
Προτεινόμενα Άγκιστρα
| Γάντζος | Εντολή | Σκοπός |
|---|---|---|
afterFileEdit | scripts/agent-hooks/format.sh | Αυτόματη μορφοποίηση αρχείων μετά από επεξεργασίες AI |
afterFileEdit | scripts/agent-hooks/yarn-install.sh | Εκτελέστε το corepack yarn install όταν αλλάζει το package.json |
stop | scripts/agent-hooks/sync-git-branches.sh | Κλαδέψτε παλιές αναφορές και διαγράψτε ενσωματωμένους κλάδους προσωρινής εργασίας |
stop | scripts/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/.