Архитектура Laravel API
Laravel API Production-Ready Architecture Skill
Скилл, который удерживает агента в слоистой архитектуре Laravel API: JSON:API v1.1, строгие типы, PHPStan level 8 и тесты
Установка
npx skills add streeboga/laravel-api-skillCLAUDE.md настраивается при первом использовании.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл задает цепочку Controller, Service, Repository, QueryBuilder, Model и четкие границы ответственности слоев. По запросу на новую сущность агент генерирует 14 файлов: миграцию, модель с ULID-ключами, enum, DTO на Spatie Data, FormRequest, QueryBuilder, репозиторий, сервис, контроллер, JsonApiResource, маршруты и feature-тесты. При первом запуске скилл создает или дополняет CLAUDE.md проекта, чтобы правила действовали в каждой сессии. Справочники по слоям загружаются только под текущую задачу.
Для кого. Для PHP-разработчиков и команд, которые пишут API на Laravel и хотят единообразный код от агента.
Подходит, если
- Нужно создать новую сущность API со всеми слоями и тестами
- Нужно провести ревью Laravel-кода по чеклисту из 13 разделов
- Нужно привести проект к JSON:API и PHPStan level 8
Не подходит, если
- Проект не на Laravel или это не API
- Команда использует другую архитектуру и не планирует переходить на эту
Пример запроса к агенту
Создай сущность Invoice с CRUD-эндпоинтами, фильтрацией по статусу и тестамиОграничения
Требуются PHP 8.2+, Laravel 10+ и конкретный набор пакетов: timacdonald/json-api, spatie/laravel-query-builder, spatie/laravel-data и другие. Архитектура жесткая, например scopes в моделях запрещены. Скилл сам меняет CLAUDE.md в корне проекта.
Как отключить. Удалите скилл laravel-api из каталога скиллов и уберите секцию Laravel-архитектуры из CLAUDE.md проекта.
Проверка безопасности
- Скилл состоит из инструкций и шаблонов
- При первом запуске изменяет CLAUDE.md проекта
Коротко о README
README открытого проекта EQ Platform описывает скилл для Laravel API с установкой через npx skills и автоматической настройкой CLAUDE.md. Приведены таблица границ слоев, список 14 генерируемых файлов, структура справочников и список обязательных пакетов. Разделы MUST DO и MUST NOT DO фиксируют строгие типы, final-классы, покрытие тестами от 85% и запрет на baseline PHPStan. Подробные сценарии работы описаны в README.ru.md.
SKILL.md
--- name: laravel-api description: "Laravel API architecture and code generation guide. JSON:API v1.1 spec compliant. Enforces layered architecture: Controller → Service → Repository → QueryBuilder. Uses timacdonald/json-api for resources, spatie/laravel-query-builder for filtering/sorting. Covers DTOs, Enums, public keys, Scramble docs, testing. MANDATORY TRIGGERS: Laravel API, REST API, JSON:API, создание API, архитектура Laravel, генерация CRUD, сервисный слой, репозиторий, DTO, API ресурс. Use this skill whenever the user works on a Laravel API project, creates new entities/endpoints, reviews Laravel code, or asks about Laravel API architecture patterns." license: MIT compatibility: "Requires PHP 8.2+, Laravel 10+, Composer" metadata: author: streeboga version: "1.0" --- # Laravel API Production-Ready Architecture (JSON:API v1.1) ## SETUP GATE (выполни перед любой работой) При первом вызове этого скилла в проекте проверь CLAUDE.md в корне проекта: 1. Если файла CLAUDE.md нет — прочитай `templates/CLAUDE.md` из директории этого скилла и создай CLAUDE.md в корне проекта с его содержимым. 2. Если CLAUDE.md существует, но НЕ содержит секцию "## Архитектура (нарушение = баг)" — прочитай `templates/CLAUDE.md` и ДОПИШИ его содержимое в конец существующего CLAUDE.md. 3. Если секция уже есть — всё ок, продолжай работу. --- This skill defines the architecture and code patterns for all Laravel API projects. Every new entity, endpoint, or feature must follow these rules. ## Core Architecture ``` HTTP Request → Route → Middleware → Controller → Service → Repository → QueryBuilder (scopes) → Model → DB Response ← JsonApiResource ← Service ← Repository ← QueryBuilder ``` ### Strict Layer Boundaries (CRITICAL) ``` Controller ──→ Service ONLY (never Repository, never Model) Service ──→ Repository (never Model::query() directly) Repository ──→ QueryBuilder + Model ``` **DB access policy:** Only Repository and QueryBuilder may touch the database. No `Model::query()`, `::create()`, `->save()`, `->delete()` in Controllers or Services.
Частые вопросы
Зачем скиллу CLAUDE.md?
CLAUDE.md загружается в каждой сессии и работает как диспетчер фаз: определяет тип задачи и заставляет агента прочитать нужные справочники до написания кода.
Сколько контекста занимает скилл?
SKILL.md около 170 строк, при создании сущности вместе со справочниками примерно до 1700 строк.
Похожие
Официальные скиллы и агенты команды .NET: производительность, MSBuild, NuGet, миграции, тесты, ASP.NET Core, Blazor и MAUI
tt (Tarantool CLI)
Tarantool CLI
Утилита tt для управления экземплярами, окружениями и пакетами Tarantool при разработке и эксплуатации
Скилл Wildberries Seller API
Wildberries Seller API - Agent Skill
Скилл-справочник по Wildberries Seller API на локальных Swagger-файлах с поиском на русском и английском
Скилл Ozon Seller API
Ozon Seller API — Agent Skill
Скилл-справочник по Ozon Seller API: полный swagger.json и Node.js-скрипт для компактного поиска эндпоинтов и схем