# project-boundary

Плагин пропускает удаление и правки внутри каталога проекта, но блокирует те же команды за его пределами. Пригодится в режиме --dangerously-skip-permissions.

- плагин · `type=plugin` · Claude Code · ★ 90
- Автор: justi
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/justi/claude-code-project-boundary
- Обновлён: 2026-08-02
- HTML: https://affpapa.org/nevibecode/plugins/project-boundary

## Что делает

Плагин работает как хук на Bash и файловые инструменты. Разрушительные команды внутри проекта проходят: `rm -rf`, `mv`, `cp`, `chmod`, перенаправления `>` и `>>`, `tee`, `curl -o`, `wget -O`, `find -delete`, `dd of=`, `rsync`, `tar -C`, `unzip -d`. Те же операции за границей проекта блокируются, включая вызовы инструментов Edit, MultiEdit и Write.

Границей служит `$CLAUDE_PROJECT_DIR`. Хук отслеживает `cd`: связка `cd /tmp && rm -rf something` не пройдёт, потому что рабочая директория ушла из проекта. Префикс `sudo` снимается перед проверкой, сегменты `..` разворачиваются, `~` и `$HOME` раскрываются. Символические ссылки разыменовываются, а после 20 переходов проверка закрывается отказом.

Часть конструкций блокируется всегда: вложенные оболочки `bash -c` и `sh -c`, `eval`, пайп в `sh` или `bash`, `xargs rm`, инлайновый код интерпретаторов вроде `python -c` и `node --eval`, подстановка `$(...)` и переменные `$VAR` вне одинарных кавычек. Исключение сделано только для `$HOME` и `${HOME}`. Если команда опирается на переменную вроде `$PROJECT`, проверка её не разберёт — пишите литеральный путь.

## Установка

### Claude Code (родная платформа)

**Через маркетплейс плагинов**
В чате агента (не в терминале):
```text
/plugin marketplace add anthropics/claude-plugins-community
```
В чате агента (не в терминале):
```text
/plugin install project-boundary@claude-community
```

## Когда брать
- запустить агента в режиме `--dangerously-skip-permissions` без риска потерять файлы за пределами репозитория
- разрешить рефакторинг и чистку внутри проекта, не отключая защиту целиком
- поймать разрушительную команду после `cd` в другой каталог
- отсечь запись через символические ссылки и обходы вида `..`
- заблокировать `git reset --hard` и `git push --force`, выполненные вне проекта

## Примеры запросов агенту
- Почисти временные файлы в проекте: `rm -rf ./tmp/cache`
- Собери архив с исходниками в `./dist`
- Покажи, какие команды плагин заблокирует, если я запущу их из `/tmp`

## Похожие
- [security-guidance](https://affpapa.org/nevibecode/plugins/security-guidance.md) — плагин · ★ 44635
- [mcp-tunnels](https://affpapa.org/nevibecode/plugins/mcp-tunnels.md) — плагин · ★ 44635
- [hookify](https://affpapa.org/nevibecode/plugins/hookify.md) — плагин · ★ 44635
- [code-modernization](https://affpapa.org/nevibecode/plugins/code-modernization.md) — плагин · ★ 44635
- [claude-security](https://affpapa.org/nevibecode/plugins/claude-security.md) — плагин · ★ 44635
- [google-cloud-developer](https://affpapa.org/nevibecode/plugins/google-cloud-developer.md) — плагин · ★ 21578

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
