Перейти до основного вмісту

Налаштування хуків агента

Якщо ваш помічник кодування ШІ підтримує перехоплення життєвого циклу, налаштуйте їх для цього репо.

Рекомендовані гачки

ГачокКомандаПризначення
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.shHard-gate build, lint, typecheck і перевірки формату; зберігати yarn npm audit інформаційним і запускати yarn knip окремо як дорадчий аудит, коли залежності/імпорт змінюються

чому

  • Послідовне форматування
  • Lockfile залишається синхронізованим
  • Проблеми збірки/ворсу/типу виявлені рано
  • Видимість безпеки через yarn npm audit
  • Зміщення залежностей/імпорту можна перевірити за допомогою yarn knip, не перетворюючи його на галасливий глобальний стоп-хук
  • Одна спільна реалізація гака для Codex і Cursor
  • Тимчасові гілки завдань залишаються узгодженими з робочим процесом робочого дерева репо

Приклади сценаріїв підключення

Гачок формату

#!/bin/bash
# Автоматичне форматування файлів JS/TS після редагування AI
# Хук отримує 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

Перевірте хук

#!/bin/bash
# Запустіть збірку, lint, перевірку типу, перевірку формату та аудит безпеки, коли агент завершить роботу

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 подалі від жорстких воріт, якщо репо явно не вирішить відмовити через рекомендаційні проблеми імпорту/залежностей.

Гачок для встановлення пряжі

#!/bin/bash
# Запустіть corepack yarn install, коли package.json змінено
# Хук отримує 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, еквівалент тощо).

У цьому репозиторії .codex/hooks/*.sh і .cursor/hooks/*.sh повинні залишатися тонкими оболонками, які делегують спільні реалізації під scripts/agent-hooks/.