Files
Veranstaltungen/.continue/rules/entity-directory-structure-with-feature-validation.md
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

726 B

globs, description, alwaysApply
globs description alwaysApply
src/Data/*/Entity/*.php This rule enforces that entities are placed in feature-specific directories under /src/Data/[FeatureName]/Entity. When [FeatureName] is unknown or ambiguous, the developer must select an appropriate feature name instead of automatically using a default 'Unknown' directory to maintain proper architecture and code organization. true

All entities must be located in /src/Data/[FeatureName]/Entity directory, where [FeatureName] is a valid feature-specific subdirectory. If the feature name cannot be determined, developers must actively provide a proper feature name rather than defaulting to 'Unknown'. This ensures consistent architectural separation.