Агент работает с вашими файлами руками. Прежде чем пускать лису в курятник, дадим ему правила: что трогать нельзя ни при каких условиях.
Здесь два файла настроек и десять минут работы. После них можно спокойно включать режим, в котором агент делает мелочи сам и не дёргает вас на каждом шаге — опасное он уже не сможет сделать в принципе.
Почему это первым делом. Ошибку в тексте вы заметите и поправите. Удалённую папку — нет. Поэтому защиты ставятся до того, как агент получит первую настоящую задачу.
Это конституция. Агент читает её перед каждым разговором и выполняет как инструкцию. Пишется обычным текстом, по-русски.
Создайте файл CLAUDE.md в папке .claude внутри домашней папки и вставьте текст ниже целиком.
## Главное правило: никогда не удалять файлы без моего разрешения
Это правило важнее всех остальных. Оно действует в любом проекте,
на любом компьютере, при любой задаче.
### Что запрещено
- Удалять файлы (rm, unlink, trash, любые другие команды удаления)
- Удалять папки (rmdir, rm -rf и аналоги)
- Перезаписывать файлы без явного согласия
- Очищать содержимое файла — замена на пустой текст это тоже удаление
### Если кажется, что файл или папку нужно удалить
1. Не удаляй. Сначала спроси и объясни, что именно и зачем.
2. Если я не ответил или ответ неоднозначен — переспроси ещё раз.
3. Если явного разрешения нет — не удаляй.
### Если сомневаешься — папка _TO_DELETE
Вместо удаления:
1. Перемести файл или папку в _TO_DELETE/ рядом с исходным местом
2. Создай _TO_DELETE/_README.md и запиши: что перемещено,
почему казалось ненужным, дату
3. Скажи мне: «Я переместил X в _TO_DELETE, потому что Y.
Можешь удалить вручную, если согласен.»
### Единственные случаи, когда удалять можно
- Я написал явно: «удали файл X» или «удали папку Y» — с конкретным именем
- Я подтвердил удаление дважды в рамках одного разговора
## Перед изменением существующего файла
Показать, что именно изменится, и дождаться подтверждения.
Создать новый файл рядом лучше, чем переписать существующий.
## Перед правкой файла, который дорабатывается
Спросить: новая версия или правим текущую. Если новая — старую не трогать,
создать файл с новым номером версии в имени.
## Язык
Отвечать по-русски.
Ключевое здесь не запрет, а третий раздел: куда девать то, что кажется мусором. Без папки _TO_DELETE агент упирается в тупик и начинает спорить.
Правила словами агент выполняет осознанно. Этот файл работает иначе: перечисленные команды он физически не может запустить — даже если очень захочет и даже если вы сами попросите сгоряча.
Тот же путь, файл settings.json. Если он уже есть, добавьте разделы аккуратно, не стирая существующие.
{
"cleanupPeriodDays": 36500,
"permissions": {
"deny": [
"Bash(rm *)",
"Bash(rm -rf *)",
"Bash(sudo rm *)",
"Bash(* && rm -rf *)",
"Bash(* ; rm -rf *)",
"Bash(* | xargs rm*)",
"Bash(find * -delete)",
"Bash(find * -exec rm*)",
"Bash(rm -rf ~/Desktop*)",
"Bash(rm -rf ~/Documents*)",
"Bash(rm -rf ~/Downloads*)",
"Bash(rm -rf ~/Pictures*)",
"Bash(rm -rf ~/Music*)",
"Bash(rm -rf ~/Movies*)",
"Bash(rm -rf ~/.claude*)",
"Bash(rm -rf ~/.ssh*)",
"Bash(rm -rf ~/.zsh*)",
"Bash(git push --force *)",
"Bash(git push -f *)",
"Bash(git reset --hard *)",
"Bash(git clean -f *)",
"Bash(cat .env*)",
"Bash(cat */.env*)",
"Bash(head .env*)",
"Bash(tail .env*)",
"Bash(less .env*)",
"Bash(more .env*)",
"Bash(grep * .env*)",
"Bash(curl * --upload*)",
"Bash(curl * -d *@.env*)",
"Bash(curl * --data*@.env*)",
"Bash(wget --post-file*)",
"Bash(sudo *)",
"Bash(shred *)",
"Bash(chmod 777 *)",
"Bash(mkfs*)",
"Bash(dd if=*)",
"Bash(diskutil erase*)",
"Bash(shutdown *)",
"Bash(reboot *)"
],
"defaultMode": "auto"
}
}rm, в том числе спрятанные в середине длинной команды. Отдельно — рабочий стол, документы, загрузки, фото, музыка, видео и папки с ключами.cleanupPeriodDays: 36500 — сто лет хранения переписки с агентом. По умолчанию история стирается через месяц, и вместе с ней уходит всё, что вы обсуждали и решали. Это тоже сохранность, просто не файлов, а мышления.
defaultMode: auto — режим работы. О нём следующий шаг.
У агента четыре уровня доверия: показывать план и ждать одобрения; спрашивать разрешение на каждое действие; делать мелочи самому, а про важное спрашивать; делать всё без вопросов.
Третий — рабочий. Агент сам читает файлы, ищет, считает, собирает, и поднимает голову только там, где решение за вами. Без защит из первых двух шагов этот режим страшноват. С ними — обычный сотрудник, которому не надо согласовывать каждый чих.
Четвёртый уровень, «делает всё без вопросов», сегодня не включаем. Он существует, вы о нём услышите, но это не для первого дня.
Мак
/Users/ваше-имя/.claude/
CLAUDE.md ← правила: что нельзя удалять
settings.json ← запреты и режим работы
Виндоус
C:\Users\ваше-имя\.claude\
CLAUDE.md
settings.json
В каждом рабочем проекте — ещё один CLAUDE.md рядом с файлами:
~/мой-проект/
CLAUDE.md ← правила этого проекта
...ваши файлыДомашний CLAUDE.md действует везде. Проектный — только в своей папке, и он дополняет общий. Правило про удаление держите именно в домашнем: оно должно работать во всех проектах без исключения.
_TO_DELETE.Если агент всё-таки удалил, значит файлы лежат не там, где он их ищет. Проверьте, что папка называется именно .claude, с точкой в начале, и находится в домашней папке, а не внутри проекта.
Назовите его прямо: «удали файл такой-то». Правило разрешает удаление, когда вы называете конкретный объект. Оно защищает от инициативы агента, а не от вашего решения.