⚙️ Преднастроенные конфиги Claude Code
Подготовь CC под стек до первого промпта — CLAUDE.md, permissions, MCP, hooks и скелет доков как переиспользуемые шаблоны, а не как то, что придумывается на ходу.
Без преднастройки агент первые часы работы над проектом «угадывает» конвенции: какой тест-раннер использовать, можно ли трогать миграции, где лежат компоненты, каким стилем писать код. Часть догадок окажется неверной — и это правки постфактум, потерянное время, а иногда откат уже закоммиченного изменения. Преднастроенный шаблон под конкретный стек переворачивает порядок: агент с первого промпта работает как участник команды, который прочитал онбординг-документ, а не как новичок, который методом проб нащупывает правила проекта.
Состав преднастройки
Шесть компонентов закрывают разные слои: что агенту можно делать, что он обязан знать, чем пользоваться и что проверять автоматически.
| Компонент | Зачем | Когда обязателен |
|---|---|---|
CLAUDE.md |
Конвенции проекта, точные команды (тест/линт/сборка), явные запреты — то, что агент обязан знать в каждой сессии | Всегда, для любого проекта без исключений |
.claude/settings.json |
Права доступа (permissions.allow/deny) — что агент может выполнять без подтверждения, что запрещено категорически |
Обязателен при работе с продакшен-данными, платежами, миграциями без отката |
.mcp.json |
MCP-серверы под стек — доступ к реальному состоянию приложения (БД, роуты, доки) вместо пересказа руками | Обязателен, если для стека есть готовый MCP (Laravel Boost, context7, playwright) |
| hooks | Автопроверки на события агента — форматирование после правки файла, прогон тестов перед коммитом | Желателен везде; обязателен там, где есть жёсткий стайлгайд (Pint, ESLint) |
.claude/commands |
Slash-команды проекта — типовые многошаговые операции, зафиксированные один раз (например, деплой, генерация отчёта) | По необходимости — для проектов с повторяющимися ритуалами |
Скелет docs/ |
Заготовки spec.md, PLAN.md — структура, в которую агент и человек сразу пишут, а не изобретают на ходу |
Обязателен для среднего-крупного проекта под ключ, см. проектную документацию |
Чек-лист: преднастройка перед стартом на стеке
- ☐
CLAUDE.mdсодержит стек, точные версии и команды теста/линта — не общие фразы, а конкретные вызовы - ☐
.claude/settings.jsonнастроен точечнымиallow/deny— без постоянного--dangerously-skip-permissions - ☐ MCP под стек подключён и реально отвечает (проверено первым вызовом, а не «должен работать»)
- ☐ Hooks настроены хотя бы на автоформатирование и/или прогон тестов на значимых событиях
- ☐ Скелет
docs/создан — есть куда писать spec и план, не только код - ☐ Итоговый шаблон сохранён отдельно для переиспользования на следующем проекте того же стека
Готовые шаблоны под 4 стека
Копируй и адаптируй под конкретный проект — это стартовые заготовки, а не готовые решения на все случаи. Секреты (.env, пароли, ключи) в шаблоны не входят — см. предупреждение ниже.
a) Laravel
Специфика: тест-раннер — Pest, а не PHPUnit-стиль; форматирование — Pint, обязательно перед коммитом; миграции — зона повышенного риска, трогать только по явному запросу; контроллеры тонкие, бизнес-логика в Service-слое.
# Стек
Laravel 12, PHP 8.3, MySQL, Pest (не PHPUnit-синтаксис)
# Команды
php artisan test — прогон тестов
vendor/bin/pint — форматирование, ОБЯЗАТЕЛЬНО перед коммитом
php artisan migrate — только по явному запросу
# Конвенции
- Controller тонкий: валидация + вызов Service, без бизнес-логики внутри
- Бизнес-логика — в app/Services, не в моделях и не в контроллерах
- Eloquent-связи описывать явно, избегать N+1 (eager loading)
# Запреты
- НЕ трогать миграции без явного разрешения — необратимо на проде
- НЕ ослаблять и не удалять Pest-тесты, чтобы прогон стал зелёным
- НЕ коммитить без прогона vendor/bin/pint
php artisan boost:install
claude mcp add -s local -t stdio laravel-boost php artisan boost:mcp
Hook: PostToolUse на Edit для PHP-файлов → автозапуск vendor/bin/pint на изменённый файл. Подробнее про Boost — на странице Laravel Boost.
b) Python / FastAPI
Специфика: асинхронный код по умолчанию, строгая типизация через Pydantic v2, ruff вместо связки flake8+black+isort, pytest как единственный тест-раннер.
# Стек
Python 3.12, FastAPI, Pydantic v2, PostgreSQL (asyncpg)
# Команды
uvicorn app.main:app --reload — локальный запуск
ruff check . — линт
ruff format . — форматирование
pytest — тесты
# Конвенции
- Async-first: эндпоинты и I/O — async def, не блокирующий код
- Типы обязательны везде — функции, Pydantic-модели, возвращаемые значения
- Схемы запрос/ответ — отдельные Pydantic-модели, не сырые dict
- Зависимости — через Depends(), не глобальные синглтоны
# Запреты
- НЕ использовать pydantic v1 синтаксис (проект на v2)
- НЕ коммитить без ruff check . без ошибок
claude mcp add -s local -t stdio context7 npx -y @upstash/context7-mcp
Hook: PostToolUse на Edit/Write для *.py → ruff check на изменённые файлы, чтобы ловить нарушения сразу, а не на коммите.
c) 1С-Битрикс
Специфика: ядро D7 вместо старого процедурного API, весь кастом — в local/, ядро bitrix/ не трогать никогда, доступ к БД — через D7 ORM, а не сырой SQL.
# Стек
PHP 8.x, 1С-Битрикс, ядро D7 (не устаревший процедурный API)
# Конвенции
- Весь кастомный код — в local/ (модули, компоненты, php_interface)
- Работа с БД — через D7 ORM (Bitrix\Main\...\Table), не CDatabase/сырой SQL
- Обработчики событий и агенты — регистрировать в local/php_interface/init.php
- Компоненты — копировать в local/components перед правкой, не редактировать в bitrix/
# Запреты
- НЕ трогать и НЕ редактировать файлы внутри bitrix/ — ядро, слетит при обновлении
- НЕ использовать устаревшие CIBlockElement/CDatabase в новом коде — только D7
# Важно
Модель хуже знает специфику Битрикса, чем «обычный» PHP-фреймворк —
давай примеры кода из local/ этого проекта как образец стиля, не полагайся
на то, что Claude «и так знает, как принято в Битриксе».
claude mcp add -s local -t stdio context7 npx -y @upstash/context7-mcp
claude mcp add -s local -t stdio fetch npx -y @modelcontextprotocol/server-fetch
Hook: без готового официального форматтера под D7 — как минимум запрет коммита файлов из bitrix/ через PreToolUse-проверку пути.
d) Фронтенд (Vite + vanilla/Vue)
Специфика: сборка через Vite, ESLint+Prettier как единый источник стиля, компоненты живут в едином месте, методологию стилей (BEM или Tailwind) фиксировать явно — иначе агент будет чередовать подходы в одном проекте.
# Стек
Vite, Vue 3 (Composition API), ESLint + Prettier
# Команды
npm run dev — локальный сервер разработки
npm run build — продакшен-сборка
npm run lint — ESLint-проверка
# Конвенции
- Компоненты — в src/components, один компонент = один файл
- Стили — Tailwind-классы в разметке, БЕЗ отдельных BEM-модулей (проектное решение)
- Composition API (