Шаг 4 из 8

Настройка фреймворка: правила и хуки

CLAUDE.md, директория rules/, 14 типов хуков, settings.json — полная настройка фреймворка для продуктивной работы.

21.02.2026обновлено 7 апр

Простым языком

Представь что у тебя новый сотрудник. Ему нужно объяснить правила работы. Вот это и есть настройка фреймворка — ты один раз пишешь правила, а Claude им следует всегда.

Правила бывают двух видов. Текстовые — объясняют КАК работать. Хуки — делают что-то автоматически (например, форматируют код после каждого сохранения). Не страшно, здесь всё покажем.


Три слоя настройки

Claude Code настраивается на трёх уровнях — от общего к конкретному:

  • Глобальный (~/.claude/) — правила для всех проектов: стиль, безопасность, git-конвенции
  • Проектный (.claude/ в корне) — настройки конкретного проекта: хуки, права, специфика стека
  • Сессионный — настройки текущей сессии через промпт или slash-команды, не сохраняются

Проектный слой переопределяет глобальный. Сессионный — временный.


Хуки — автоматические скрипты

Хуки — это скрипты, которые запускаются автоматически на события Claude Code. Ты их не вызываешь — они работают сами. Настраиваются в .claude/settings.json:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "command": "prettier --write ${FILEPATH} 2>/dev/null || true"
      },
      {
        "matcher": "Write|Edit",
        "command": "bash .claude/hooks/security-scan.sh ${FILEPATH}"
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Bash",
        "command": "bash .claude/hooks/destructive-guard.sh"
      }
    ],
    "Stop": [
      {
        "command": "bash .claude/hooks/check-debug-code.sh"
      }
    ]
  }
}

Четыре типа триггеров

  • PreToolUse — до выполнения инструмента. Блокировка деструктивных команд, бэкап перед изменением
  • PostToolUse — после выполнения. Автоформатирование, security-scan, логирование
  • Stop — при завершении сессии. Проверка на console.log/debugger, отчёты
  • Notification — при событиях: compaction (сжатие контекста). Восстановление состояния

Пример: хук защиты от деструктивных команд

#!/bin/bash
# .claude/hooks/destructive-guard.sh
# Блокирует rm -rf, DROP TABLE и подобное

COMMAND="$1"

PATTERNS=("rm -rf /" "rm -rf ~" "DROP TABLE" "truncate" "force-push")

for pattern in "${PATTERNS[@]}"; do
  if echo "$COMMAND" | grep -qi "$pattern"; then
    echo "BLOCKED: Деструктивная команда: $pattern"
    exit 1
  fi
done
exit 0

Пример: хук проверки debug-кода

#!/bin/bash
# .claude/hooks/check-debug-code.sh
# Запускается при Stop — ищет console.log, debugger

FOUND=$(git diff --cached --name-only |   xargs grep -l "console\.log\|debugger\|print(" 2>/dev/null)

if [ -n "$FOUND" ]; then
  echo "WARN: Debug-код найден в:"
  echo "$FOUND"
  echo "Убери перед коммитом!"
fi

Правила — директория rules/

Правила живут в rules/*.md. Claude читает их как часть системного промпта. Каждый файл — отдельная область:

  • anti-mirage.md — проверка реальности: все файлы и функции, на которые ссылается AI, реально существуют
  • coding-standards.md — стандарты: DRY, KISS, размеры файлов и функций, именование
  • security.md — безопасность: запрещённые паттерны, валидация, параметризация SQL
  • database.md — работа с БД: миграции, именование, индексы, мягкое удаление
  • testing.md — пирамида тестов, решение когда что писать, антипаттерны

Начни с anti-mirage.md — это самый ценный файл. Спасёт часы отладки.


Плагины — MCP-серверы

MCP (Model Context Protocol) — стандарт для расширений Claude. Плагины дают доступ к документации, базам данных, внешним API. Подключаются в ~/.claude/settings.json:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@context7/mcp-server"]
    },
    "mgrep": {
      "command": "npx",
      "args": ["-y", "@mgrep/mcp"]
    }
  }
}
  • context7 — актуальная документация библиотек. Вместо устаревших данных из обучения — живые доки
  • mgrep — семантический поиск по кодовой базе. Быстрее grep, понимает смысл запроса
  • typescript-lsp / pyright-lsp — типы и ошибки в реальном времени прямо в диалоге
context7 — обязательный плагин. Claude часто галлюцинирует устаревшие API. context7 даёт реальную документацию.

Минимальная конфигурация на старте

Для нового проекта достаточно этой структуры:

my-project/
├── CLAUDE.md                    # Проектный конфиг
├── .claude/
│   ├── settings.json            # Хуки и права
│   └── hooks/
│       ├── security-scan.sh
│       └── check-debug-code.sh
└── rules/
    ├── anti-mirage.md           # Обязательно
    └── coding-standards.md     # Рекомендуется

Добавляй инструменты по мере необходимости. 5 рабочих хуков лучше, чем 50 настроенных криво.

TG

> Пока нет комментариев