# PHP ## Признаки обнаружения - `composer.json`, `composer.lock` - `public/index.php` - `artisan`, `spark`, `bin/console` (точки входа фреймворков) - `phpunit.xml`, `phpstan.neon`, `phpstan.neon.dist`, `psalm.xml` - `config/app.php` - `routes/web.php`, `routes/api.php` - `config/packages/` (Symfony) - `app/Config/` (CI4) - `ext-phalcon` в composer.json (Phalcon) - `phalcon/ide-stubs`, `phalcon/devtools` (Phalcon) ## Признаки нескольких модулей - `modules/` или `app/Modules/` (структура HMVC). - `app/Config/Modules.php`, `app/Config/Autoload.php` (CI4). - Несколько корней PSR-4 в `composer.json`. - Несколько `composer.json` в `packages/` или `apps/`. - `apps/` с подкаталогами, содержащими `Module.php` или `controllers/`. ## Перед созданием изучи - `composer.json`, `composer.lock`. - `config/` и `routes/` (конфигурация фреймворка). - `app/Config/*` (CI4). - `modules/` или `app/Modules/` для HMVC. - `phpunit.xml`, `phpstan.neon*`, `psalm.xml`, если есть. - `bin/worker.php`, `bin/console.php` (точки входа CLI). ## Проверка кодовой базы (PHP) - Корни исходников: `app/`, `src/`, `modules/`, `packages/`, `apps/`. - Структура Laravel (отмечай только при наличии): `app/Http/Controllers`, `app/Models`, `database/migrations`, `routes/*.php`, `resources/views`. - Структура Symfony (отмечай только при наличии): `src/Controller`, `src/Entity`, `config/packages`, `templates`. - Структура CodeIgniter (отмечай только при наличии): `app/Controllers`, `app/Models`, `app/Views`, `app/Config/Routes.php`, `app/Database/Migrations`. - Структура Phalcon (отмечай только при наличии): `apps/*/controllers/`, `apps/*/Module.php`, `models/`. - Атрибуты и аннотации (отмечай только при наличии): `#[Route]`, `#[Entity]`, `#[ORM\Column]`. ## Обнаружение бизнес-модулей Проверяй пути в соответствии с найденным фреймворком: - Laravel: `app/Services/`, `app/Domains/`, `app/Modules/`, `packages/`. - Symfony: верхнеуровневые каталоги `src/`. - CodeIgniter: `app/Modules/`, `modules/`. - Phalcon: `src/`, `apps/*/`. - Общий случай: `src/`, `lib/`. Для каждого пути: - перечисли 5–10 крупнейших модулей по числу файлов; - для каждого значимого модуля (больше пяти файлов) укажи назначение, если его можно понять по имени; - отметь слоистые паттерны, если есть: `*/Repository/`, `*/Service/`, `*/Controller/`, `*/Action/`. ## Признаки модульного CLAUDE.md Ищи значимые модули в следующих путях с учётом фреймворка: - `src/` — Symfony, Phalcon, собственные фреймворки; - `app/Services/`, `app/Domains/` — предметная структура Laravel; - `app/Modules/`, `modules/` — HMVC в Laravel/CI4; - `packages/` — внутренние пакеты Laravel; - `apps/` — несколько приложений Phalcon. Создавай `//CLAUDE.md`, если: - модуль содержит больше пяти файлов ИЛИ собственный `README.md`; - это не вспомогательный каталог: пропускай `Helper/`, `Exception/`, `Trait/`, `Contract/`, `Interface/`, `Constants/`, `Support/`; - слоистая структура не обязательна: описывай модуль независимо от архитектуры. ### Содержание модульного CLAUDE.md (не более 120 строк) - Назначение: описание модуля в одном-двух предложениях. - Структура: список подкаталогов (Service/, Repository/ и другие). - Ключевые классы: основные классы сервисов, менеджеров и действий. - Зависимости: другие модули, от которых он зависит (по операторам use). - Точки входа: основные открытые интерфейсы и фасады. - Особенности фреймворка: ServiceProvider (Laravel), Module.php (Phalcon/CI4). ## Обнаружение фоновых задач - `bin/worker.php` или похожие точки входа обработчика. - Каталоги `*/Job/`, `*/Jobs/`, `*/Worker/`. - Файлы конфигурации очередей (`queue.php`, `rabbitmq.php`, `amqp.php`). - Если есть, перечисли классы фоновых задач. ## Обнаружение версий API - Паттерны `routes_v*.php` или `routes/v*/`. - Структура каталогов `controllers/v*/`. - Определи текущую или активную версию API по файлам маршрутов либо конфигурации. ## Обязательный результат (CLAUDE.md модуля PHP) Включай обнаруженное, перечисляя реальные имена: - **Контроллеры:** каталоги и классы контроллеров. - **Модели:** классы моделей и сущностей или каталог. - **Сервисы:** классы сервисов или каталог. - **Репозитории:** классы репозиториев или каталог. - **Маршруты:** файлы маршрутов и паттерн версионирования. - **Миграции:** каталог миграций и число файлов. - **Middleware:** классы промежуточной обработки. - **Представления и шаблоны:** шаблонизатор и структура. - **Фоновые задачи:** классы, если есть. - **Бизнес-модули:** крупнейшие модули по размеру в обнаруженных путях. ## Источники команд - Скрипты `composer.json`. - README, документация или CI. - Использование `php artisan` и `bin/console` в документации или скриптах. - Команды `bin/worker.php`. - Включай только команды, реально имеющиеся в репозитории. ## Ключевые пути (только при наличии) - `app/`, `src/`, `apps/` - `public/`, `routes/`, `config/`, `database/` - `app/Http/`, `resources/`, `storage/` (Laravel) - `templates/` (Symfony) - `app/Controllers/`, `app/Views/` (CI4) - `apps/*/controllers/`, `models/` (Phalcon) - `tests/`, `tests/acceptance/`, `tests/unit/`