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

backup-before-edit — хук для Claude Code: бэкап файлов перед правкой

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

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

Что делает backup-before-edit

Хук вешается на событие PreToolUse с матчером Edit. Перед тем как Claude возьмётся за файл, команда проверяет, существует ли он, и копирует его рядом в filename.backup.timestamp, где timestamp — это date +%s. Новые файлы не трогает: копировать нечего.

Ошибки копирования подавлены через 2>/dev/null || true, поэтому хук не заблокирует правку, даже если с путём что-то не так. Это удобно, но и означает, что о неудачном бэкапе вы не узнаете. Если файл большой или лежит на медленном диске, копия перед каждой правкой добавит задержку — это повод проверить, сколько места занимают бэкапы в рабочей папке.

Установка идёт через npx claude-code-templates@latest --hook pre-tool/backup-before-edit, настройка прописывается в .claude/settings.json. Восстановление ручное: находите нужный .backup.<timestamp> и возвращаете его на место.

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

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

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

  • Отрефактори модуль parser.py, хук backup-before-edit сохранит копию перед правкой
  • Поправь .claude/settings.json, бэкап создастся автоматически
  • Перепиши функцию load_config, потом покажи, какие бэкапы появились

Как установить backup-before-edit

1Через claude-code-templates

npx claude-code-templates@latest --hook pre-tool/backup-before-edit

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

.claude/settings.json

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

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

Вопросы о backup-before-edit

Как установить backup-before-edit в Claude?

Выполните npx claude-code-templates@latest --hook pre-tool/backup-before-edit, затем проверьте запись в .claude/settings.json.

Что делает backup-before-edit?

Перед каждой правкой файла через Edit создаёт рядом копию с меткой времени в имени. Существующие файлы копирует, новые пропускает.

Как восстановить файл из бэкапа?

Найдите копию с нужным timestamp рядом с исходным файлом и скопируйте её обратно под исходным именем. Автоматического отката хук не делает.

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

backup-before-edit.json · MIT
{
  "description": "Create automatic backup of files before any Edit operation for safety. This hook creates a timestamped backup copy (filename.backup.timestamp) of any existing file before Claude modifies it. Provides a safety net to recover previous versions if needed. Only backs up existing files, includes error suppression to handle edge cases gracefully.",
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit",
        "hooks": [
          {
            "type": "command",
            "command": "if [[ -f \"$CLAUDE_TOOL_FILE_PATH\" ]]; then cp \"$CLAUDE_TOOL_FILE_PATH\" \"$CLAUDE_TOOL_FILE_PATH.backup.$(date +%s)\" 2>/dev/null || true; fi"
          }
        ]
      }
    ]
  }
}

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

Похожие хуки

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

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

Весь набор →
agent-expert Субагент, который помогает проектировать других агентов Claude: структура, границы экспертизы, промпты и примеры. 1 426установок format-python-files Хук прогоняет black по каждому .py-файлу, который Claude изменил через Edit. Форматирование перестаёт быть отдельным шагом. 1 405установок supabase-schema-sync Команда сверяет локальную схему базы данных с удалённым проектом Supabase через MCP-сервер. Помогает быстро находить расхождения и готовить файлы миграций. 1 405установок init-project Разворачивает структуру нового проекта: каталоги, git, линтеры, тесты и CI. Пригодится, когда нужно начать с чистого листа без ручной возни. 1 382установок containerize-application Слэш-команда собирает Docker-конфигурацию под ваш проект: Dockerfile, .dockerignore, docker-compose и заготовки для Kubernetes. 1 200установок docs-maintenance Команда проверяет документацию, ссылки, структуру и стиль, а затем помогает подготовить обновления. Пригодится для регулярного аудита Markdown-файлов. 1 146установок supabase-data-explorer Команда исследует данные и схему Supabase, выполняет SQL-запросы только для чтения и готовит экспорт или визуализацию. Пригодится для проверки базы прямо из проекта. 1 032установок test-runner Хук запускает тесты сразу после того, как Claude изменил файл. Полезен, если не хочется вручную гонять проверки после каждой правки. 1 027установок

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

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