Files
Veranstaltungen/.continue/rules/ui-layer-structure.md
T
jens 788ddcd0b5 feat: Implement comprehensive architectural guidelines and clean code standards
- 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.
2026-06-02 22:05:40 +02:00

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.