К основному содержанию
хук

change-logger — хук для Claude Code: журнал изменений файлов в CSV

Хук пишет каждое изменение файла в CSV: время, инструмент, путь, действие и детали. Пригодится, когда готовишь демо и нужно показать, что именно агент трогал.

Установить в Claude Code · Через claude-code-templates Все способы и платформы ↓
npx claude-code-templates@latest --hook automation/change-logger
Открыть на GitHub

Что делает change-logger

Хук висит на событие PostToolUse и срабатывает после Edit, MultiEdit, Write и Bash. Каждый вызов запускает python3 .claude/hooks/change-logger.py, и тот дописывает строку в .claude/critical_log_changes.csv. В строке — метка времени, имя инструмента, путь к файлу, действие и подробности операции.

Внутри один исполняемый скрипт change-logger.py, который кладётся в .claude/hooks/. Никакой отдельной настройки логики нет: что хук поймал, то и попало в файл. Для работы нужен Python 3 в окружении, потому что команда запускается через python3.

Учти: Bash в списке матчеров означает, что в журнал попадут и команды оболочки, а не только правки файлов. Если гоняешь много терминальных операций, CSV будет расти быстро — это повод заранее решить, где хранить лог и когда его чистить.

Какие задачи решает

  • записать все правки файлов за сессию в один CSV
  • подготовить доказательства изменений к демо
  • увидеть, какие инструменты агент вызывал и когда
  • отследить команды Bash рядом с правками файлов
  • собрать хронологию работы агента по проекту

Примеры запросов агенту

  • включи change-logger и покажи, что он записал после последней правки
  • проверь .claude/critical_log_changes.csv и скажи, какие файлы менялись
  • почему в журнале появилась запись от Bash?

Как установить change-logger

1Через claude-code-templates

npx claude-code-templates@latest --hook automation/change-logger

2Вручную: положить файлы

.claude/settings.json

Блок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json

По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду

Вопросы о change-logger

Как установить change-logger в Claude?

Выполни npx claude-code-templates@latest --hook automation/change-logger, затем проверь .claude/settings.json — хук должен быть прописан там.

Что делает change-logger?

Логирует изменения файлов в CSV: время, инструмент, путь, действие и детали. Срабатывает после Edit, MultiEdit, Write и Bash, результат пишет в .claude/critical_log_changes.csv.

Что нужно для работы хука?

Python 3 в окружении: команда хука запускает python3 .claude/hooks/change-logger.py, а сам скрипт лежит в .claude/hooks/.

Исходный текст

change-logger.json · MIT
{
  "description": "Log every file mutation to CSV for demo prep. Records timestamp, tool, file path, action, and details for Edit, MultiEdit, Write, and Bash operations. Output: .claude/critical_log_changes.csv",
  "supportingFiles": [
    {
      "source": "change-logger.py",
      "destination": ".claude/hooks/change-logger.py",
      "executable": true
    }
  ],
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit",
        "hooks": [
          {
            "type": "command",
            "command": "python3 .claude/hooks/change-logger.py"
          }
        ]
      },
      {
        "matcher": "Write",
        "hooks": [
          {
            "type": "command",
            "command": "python3 .claude/hooks/change-logger.py"
          }
        ]
      },
      {
        "matcher": "MultiEdit",
        "hooks": [
          {
            "type": "command",
            "command": "python3 .claude/hooks/change-logger.py"
          }
        ]
      },
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "python3 .claude/hooks/change-logger.py"
          }
        ]
      }
    ]
  }
}

© davila7 · MIT · davila7/claude-code-templates

Похожие хуки

Все хуки по теме «Настройка агента: память, контекст, субагенты» →

Из того же набора205

Весь набор →
setup-development-environment Слэш-команда разворачивает окружение разработки: рантаймы, инструменты, сборку, линтеры и конфиги. Пригодится, когда проект только разворачивают на новой машине. 651установок performance-budget-guard Хук для Claude проверяет размер JS-бандла после сборки Next.js и не даёт выкатить сборку, которая вылезла за бюджет. 393установок vercel-environment-sync Хук проверяет переменные окружения после правки .env и подсказывает, как перенести их в Vercel. Пригодится, если локальные и деплойные значения расходятся. 363установок env-file-protection Хук блокирует вызовы Write к файлам .env*, чтобы агент случайно не перезаписал секреты. Ставится одной командой в настройки Claude. 279установок slack-notifications Отправляет сообщение в Slack, когда Claude закончил работу или завершился субагент. Пригодится, если вы уходите от терминала и хотите знать, что задача готова. 279установок discord-notifications Отправляет сообщение в Discord, когда Claude закончил работу или завершил субагента. Пригодится, если вы уходите от терминала и хотите знать, что задача готова. 217установок tdd-gate Хук блокирует правку production-файлов, пока рядом нет теста. Пригодится, если хотите удержать TDD в работе с агентом. 192установок debug-window Открывает окно с живым хвостом лога отладки, когда Claude запущен с флагом --debug или -d, и закрывает его по концу сессии. 189установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой