Files
Veranstaltungen/.continue/rules/workflow-for-multiple-usecases.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

10 lines
751 B
Markdown

---
globs: src/Logic/**/*Controller.php, src/Logic/**/Manager/*.php
description: Workflows werden verwendet, wenn eine Controller-Aktion oder ein
Manager mehrere UseCases koordinieren muss. Dies sorgt für saubere Trennung
von Concerns, Wiederverwendbarkeit einzelner UseCases und bessere Testbarkeit.
Der Workflow definiert die Reihenfolge und Abhängigkeiten zwischen UseCases.
alwaysApply: false
---
Wenn mehrere UseCases kombiniert oder in einer bestimmten Reihenfolge ausgeführt werden müssen, ist ein Workflow zu verwenden. Workflows orchestrieren die Ausführung mehrerer UseCases und kapseln komplexe Geschäftsprozesse. Sie gehören in /src/Logic/[FeatureName]/Workflow und werden vom Manager aufgerufen, nicht direkt vom Controller.