Перейти к основному содержанию

Настройка агентских перехватчиков

Если ваш помощник по кодированию ИИ поддерживает перехватчики жизненного цикла, настройте их для этого репозитория.

Рекомендуемые крючки

КрючокКомандаЦель
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 отдельно в качестве консультативного аудита при изменении зависимостей/импорта

Почему

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

Примеры скриптов-перехватчиков

Крючок формата

#!/bin/bash
# Автоматическое форматирование файлов JS/TS после редактирования AI
# Хук получает JSON через стандартный ввод с 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
# Запускайте сборку, проверку типов, проверку формата и аудит безопасности после завершения работы агента.

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 при изменении package.json.
# Хук получает JSON через стандартный ввод с 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/.