change-logger — хук для Claude Code: журнал изменений файлов в CSV
Хук пишет каждое изменение файла в CSV: время, инструмент, путь, действие и детали. Пригодится, когда готовишь демо и нужно показать, что именно агент трогал.
npx claude-code-templates@latest --hook automation/change-loggerЧто делает 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-logger2Вручную: положить файлы
.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