Тема
Спецификации студии — выбор версии Laravel
Если вы только начинаете
Спецификация — это подробный набор правил, а не первый урок. Сначала пройдите маршрут «Laravel с нуля» и вернитесь сюда перед изменением настоящего проекта.
Роутер для Claude Code. Спеки версионированы по мажорам Laravel. Перед работой с проектом определи его мажор и открывай спеки из нужной подпапки. Срез данных: 2026-07-10.
Структура папки
| Что | Где | Когда использовать |
|---|---|---|
| Универсальные спеки | корень: models.md, controllers.md, … (14 файлов, включая api.md) | Всегда. Архитектура Controller → Service → Model, anti-hardcode, качество кода, безопасность, API-конвенции — не зависят от версии Laravel |
| Laravel 11 | laravel_11/ + _L11-VALIDATION.md | Проекты на laravel/framework ^11.x |
| Laravel 12 | laravel_12/ + _L12-VALIDATION.md | Проекты на ^12.x — текущий мейнстрим студии |
| Laravel 13 | laravel_13/ | Проекты на ^13.x и все новые проекты |
| Матрица версий | versions-matrix.md | Совместимость Laravel ↔ PHP, Filament, Livewire, Tailwind, React и т.д. |
В каждой версионной подпапке — те же 13 файлов, адаптированные под мажор (слим-скелетон L11, изменения L13 и т.п.). _LXX-VALIDATION.md — пофайловая сверка спек с официальной документацией laravel.com/docs/XX.x.
Приоритет: при расхождении версионная спека (laravel_XX/) главнее универсальной из корня.
Перед поручением изменения помощнику также используйте шаблон промпта и проверку прав.
Алгоритм выбора версии (Claude Code)
- Проект из парка студии → смотри реестр
../list.md(составлен поcomposer.lock— фактические версии, не constraint). - Проекта нет в реестре → определи мажор сам, в порядке дешевизны:
composer.json→"laravel/framework"(Grep, бесплатно);laravel-boost__application-info(1% лимита);docker exec {app} php artisan --version(fallback).
- Открой спеки из
laravel_<мажор>/для конкретной области (models, migrations, …). - Мажор не 11/12/13 → бери ближайшую младшую подпапку и сверяйся с
laravel.com/docs/<мажор>.x(черезlaravel-boost__search-docs). - Новый проект →
laravel_13/(Laravel 12 теряет багфиксы 13.08.2026 — стартовать на нём анти-паттерн, см. матрицу).
Быстрая карта парка (2026-07)
| Мажор | Проекты | Спеки |
|---|---|---|
| Laravel 13 | referendum | laravel_13/ |
| Laravel 12 | artel-23ru, catalog, freelance, gulaev-dev, notal, school, universal | laravel_12/ |
| Laravel 11 | er (massage), masha | laravel_11/ |
Карта устаревает — актуальный источник всегда
../list.md. После мажорного апгрейда проекта обнови реестр и эту таблицу.
Файлы спек — что где
| Файл | Область |
|---|---|
models.md | Eloquent-модели: casts, fillable, scopes |
relations.md | Связи: обе стороны, eager loading, N+1 |
controllers.md | Контроллеры, роутинг, FormRequest, middleware |
filament.md | Filament: ресурсы, формы, таблицы |
migrations.md | Миграции, сидеры, индексы, FK |
blade.md | Blade: layouts, компоненты, Vite-ассеты |
seo.md | SEO: мета, Schema.org, sitemap |
services.md | Services, Jobs, очереди, расписание |
docker.md | Docker: сервисы, окружение, .env |
testing.md | Тесты: feature/unit, защита рабочей БД |
mcp.md | MCP: приоритеты инструментов |
anti-hardcode.md | Константы, config, Enum, lang |
code-quality.md | SOLID, строгая типизация, DI |
api.md | REST API: конверт, cursor-пагинация, scope токенов, вебхуки — только в корне, версионных копий нет |
Правка спек
Универсальное правило (архитектура, стиль, безопасность) → правь корневой файл и синхронизируй версионные копии. Версионная специфика (новый API мажора, переименования, deprecated) → правь только соответствующую laravel_XX/.
Рядом
- Стандарт студии (CLAUDE.md) — override-точка всех правил.
- Лучшие практики — контекст «почему такое правило».
- Blueprints — готовые рецепты типовых модулей по этим спекам.
- Быстрая разработка — как применять спеки быстро.
- Реестр проектов — версии Laravel по всем проектам студии.