Repository navigation
v2.5.0 — COMMIT_POLICY Protection System
🔒 v2.5.0 — COMMIT_POLICY Protection System
BREAKING CHANGE: Completion Protocol Step 4 полностью переписан
🚨 Проблема безопасности
До v2.5.0:
git add -Aкоммитил ВСЁ без разбора- Риск утечки:
dialog/с упоминаниями credentials в разговорахnotes/с личными заметками, бизнес-планамиWIP_*файлы с недоделанным кодомsecrets/,*.key,.env.local- Debug логи с чувствительными данными
Результат: Конфиденциальные данные могли попасть в публичный GitHub
✅ Решение — Трехуровневая защита
1. COMMIT_POLICY.md (человеко-читаемый документ)
Категории файлов:
❌ НИКОГДА не коммитим:
notes/,scratch/,experiments/WIP_*,INTERNAL_*,DRAFT_*dialog/(КРИТИЧНО! Могут быть credentials!).claude/logs/,*.debug.logsecrets/,credentials/,*.key,*.pem*.local.*,.env.local
✅ ВСЕГДА коммитим:
src/,lib/,tests/README.md,CHANGELOG.md,package.json- Документация, конфиги проекта
- Новые папки (не из списков выше)
- Файлы с
password,api-key,secretв имени - Файлы >1000 строк
2. Completion Protocol Step 4 (Claude AI проверка)
БЫЛО (опасно!):
```bash
git add -A && git commit -m "..."
```
СТАЛО (безопасно):
```bash
1. Читаем COMMIT_POLICY.md
2. Анализируем каждый файл:
- НИКОГДА паттерны → блокируем
- ВСЕГДА паттерны → одобряем
- СПРОСИТЬ паттерны → спрашиваем пользователя
3. Стейджим ТОЛЬКО одобренные файлы:
git add src/ tests/ README.md ...
4. Показываем final status для проверки
5. Спрашиваем подтверждение перед коммитом
```
3. Pre-commit Git Hook (последняя линия защиты)
Даже если Claude AI ошибся — git hook блокирует коммит:
```bash
❌ COMMIT BLOCKED by COMMIT_POLICY.md
Forbidden files detected:
• dialog/session-2025-01-17.md
• notes/business-plan.md
• WIP_api_keys.txt
```
Автоматическая установка: Cold Start Protocol Step 0.6
📦 Что нового
Новые файлы:
.claude/COMMIT_POLICY.md— policy документ (редактируемый!).claude/scripts/pre-commit-hook.sh— git hook.claude/scripts/install-git-hooks.sh— установщик хуковmigration/templates/COMMIT_POLICY.template.md— шаблон для новых проектов
Обновленные протоколы:
.claude/protocols/completion.md— Step 4 полностью переписан.claude/protocols/cold-start.md— Step 0.6 добавлен (установка hooks)
Синхронизация:
.gitignore— синхронизирован с COMMIT_POLICY паттернами
🔄 Миграция для существующих проектов
Если уже используете Framework v2.x:
- Фреймворк автоматически обновится на следующем
start - Вручную добавьте
.claude/COMMIT_POLICY.md:
```bash
curl -O https://raw.githubusercontent.com/alexeykrol/claude-code-starter/main/.claude/COMMIT_POLICY.md
mv COMMIT_POLICY.md .claude/
``` - Адаптируйте под свой проект (добавьте свои паттерны)
- Git hooks установятся автоматически на следующем
start
⚠️ BREAKING CHANGES
Completion Protocol Step 4:
- УДАЛЕНО:
git add -A(небезопасно!) - ДОБАВЛЕНО: Policy-based selective staging
Для пользователей это означает:
- Claude теперь спросит перед коммитом спорных файлов
- Нужно явно одобрить что коммитить
- Больше контроля = больше безопасности
📖 Документация
Читайте:
.claude/COMMIT_POLICY.md— полный список правил.claude/protocols/completion.md— новый Step 4
Настройте под себя:
- Добавьте свои паттерны в COMMIT_POLICY.md
- Синхронизируйте с .gitignore
🙏 Благодарности
Спасибо пользователям, которые помогли выявить эту критическую проблему безопасности!
Полный changelog: CHANGELOG.md