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

Хуки Claude Code и Git

Настройте хук запуска Claude Code, посмотрите контекст проекта и состояние CPG, проверьте изменения через CLI CodeGraph.

Интеграции

Настройте хук SessionStart для Claude Code и проверьте подготовленные или веточные изменения через CLI CodeGraph. Если хук распознаёт текущий репозиторий, при запуске сеанса он показывает проект и состояние графа свойств кода (CPG).

Это руководство описывает настройку хуков в исходном репозитории CodeGraph. Для пакетного плагина CodeGraph для Codex и интеграции OpenCode есть отдельные инструкции.

Что показывает хук при запуске

Хук определяет проект по рабочему каталогу сеанса. Для распознанного проекта контекст содержит название, язык и область проекта, а также состояние CPG. Если настроенный CPG доступен, контекст может включать число методов и файлов и сведения об области разбора.

Настройте хук запуска

Укажите абсолютный путь к своей локальной копии репозитория CodeGraph. Пример регистрирует только событие SessionStart:

{
  "hooks": {
    "SessionStart": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "python \"<absolute-repository-path>/.claude/hooks/session_context.py\"",
            "timeout": 10
          }
        ]
      }
    ]
  }
}

Замените <absolute-repository-path> полным путём к своей локальной копии репозитория. В Windows используйте в JSON прямые слеши или экранируйте обратные слеши. Сохраните объект в .claude/settings.json. Если в файле уже есть хуки, добавьте запись SessionStart и сохраните остальные настройки. Убедитесь, что команда python запускает окружение проекта CodeGraph.

Значение matcher должно быть строкой. Claude Code задаёт timeout в секундах: 10 означает десять секунд. Схему настроек и поля событий смотрите в справочнике хуков Claude Code.

Проверьте JSON и запустите новый сеанс Claude Code из репозитория:

python -m json.tool .claude/settings.json

В новом сеансе проверьте, что в контексте запуска указаны выбранный проект и состояние CPG.

Проведите ревью через CLI CodeGraph

Выполняйте команды в PowerShell из корня исходного репозитория CodeGraph с Python-окружением проекта. Замените <cpg.duckdb> путём к CPG проекта. Сохраните кавычки, если в пути есть пробелы.

Перед ревью новых изменений обновите граф по руководству по импорту проекта. Затем проверьте подготовленные к коммиту изменения:

python -m src.cli review --db "<cpg.duckdb>" --staged --format json

Чтобы сравнить текущую ветку с базовой, выполните команду:

python -m src.cli review --db "<cpg.duckdb>" --base-ref origin/main --format json

О том, как выбрать область ревью и разобрать отчёт, читайте в руководстве по ревью кода.

Удалите регистрацию проекта

Удалите запись SessionStart из .claude/settings.json локального репозитория CodeGraph. Удаляйте записи других событий, только если добавляли их для этой интеграции. Не меняйте настройки других инструментов.

Связанные материалы