file-backup — хук для Claude Code: что делает и как установить
Автоматически сохраняет копию файла в папку .backups перед тем, как Claude Code применит правки. Защищает исходники от неудачного редактирования.
npx claude-code-templates@latest --hook development-tools/file-backupЧто делает file-backup
Хук отслеживает событие PreToolUse для встроенных инструментов Edit и MultiEdit. Перед тем как агент изменит файл, запускается Bash-команда. Она проверяет переменную окружения $CLAUDE_TOOL_FILE_PATH и наличие целевого файла на диске.
Если файл найден, скрипт создаёт каталог .backups и копирует туда оригинал. Имя копии дополняется временной меткой в формате YYYYMMDD_HHMMSS.bak. Исходный код остаётся нетронутым до завершения резервирования.
Команда написана для командной оболочки Unix и вызывает утилиты mkdir, cp и date. В стандартной командной строке Windows без Bash хук завершится с ошибкой.
Какие задачи решает
- сохранить копию файла перед автоматической правкой агента
- откатить нежелательные изменения после вызова Edit или MultiEdit
- сохранять локальную историю версий с точными метками времени
Примеры запросов агенту
- Исправь логику авторизации в файле
src/auth.ts - Перепиши функцию парсинга в
utils/parser.js - Замени устаревшие методы в
components/App.tsx
Как установить file-backup
1Через claude-code-templates
npx claude-code-templates@latest --hook development-tools/file-backup2Вручную: положить файлы
.claude/settings.jsonБлок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json
По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду
Вопросы о file-backup
Как установить file-backup в Claude Code?
Запустите команду npx claude-code-templates@latest --hook development-tools/file-backup, которая запишет параметры хука в конфигурационный файл .claude/settings.json.
Что делает хук file-backup?
Он перехватывает вызовы Edit и MultiEdit до их выполнения и автоматически копирует редактируемый файл в папку .backups.
В каком формате сохраняются резервные копии?
Файлы попадают в каталог .backups с суффиксом даты и времени вида имя_файла.ГГГГММДД_ЧЧММСС.bak.
Исходный текст
file-backup.json · MIT
{
"description": "Automatically backup files before editing. Creates timestamped backups in a .backups directory when files are modified.",
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|MultiEdit",
"hooks": [
{
"type": "command",
"command": "if [[ -n \"$CLAUDE_TOOL_FILE_PATH\" && -f \"$CLAUDE_TOOL_FILE_PATH\" ]]; then mkdir -p .backups && cp \"$CLAUDE_TOOL_FILE_PATH\" \".backups/$(basename \"$CLAUDE_TOOL_FILE_PATH\").$(date +%Y%m%d_%H%M%S).bak\"; fi"
}
]
}
]
}
}
© davila7 · MIT · davila7/claude-code-templates