788ddcd0b5
- Establish feature-based architecture with clear separation between Logic, Data, and Shared layers - Define directory structure conventions for controllers, entities, DTOs, managers, mappers, models, processors, providers, repositories, and services - Implement Symfony 7.4+ compliance with proper Request handling (UI layer only) - Enforce PHP 8+ attributes usage instead of annotations - Set up proper DTO usage in UseCases with immutable properties - Configure repository pattern with interfaces in Logic layer and implementations in Data layer - Implement strict separation of concerns with UI layer handling Request objects exclusively - Define clear naming conventions (PascalCase for feature names) - Add shared components directory for reusable elements across features - Establish HTTP status code constants usage instead of magic numbers - Configure proper file placement for controllers in UI/Frontend, UI/Api, and UI/CLI subdirectories - Enforce modern PHP practices with explicit return types and strict typing This commit lays the foundation for a maintainable, scalable Symfony 7.4+ application following clean architecture principles and modern coding standards.
678 B
678 B
globs, description, alwaysApply
| globs | description | alwaysApply |
|---|---|---|
| src/UI/**/* | Ensures proper separation of concerns in the UI layer by organizing controllers and related components into feature-specific subdirectories for Frontend (web UI), Api (REST/GraphQL endpoints), and CLI (command-line interface). This promotes clear architectural boundaries and maintainability. | true |
The UI layer must be divided into three subdirectories: Frontend, Api, and CLI under /src/UI. Controllers and related UI components must be organized into these respective subdirectories based on their purpose: Frontend for web UI controllers, Api for REST/GraphQL endpoints, and CLI for command-line interface commands.