# Cline Rules for satag-werbeaktionen-plugin

This project is an extension for the Amicron Platform. All development and tool execution MUST happen within the Docker environment.

## Environment & Workflow
- **Docker Container**: `satag-werbeaktionen-plugin-web-1`
- **Shell Access**: `docker exec --user=application -it -w /app "satag-werbeaktionen-plugin"-web-1 bash`
- **Plugin Path**: `/app/plugins/satag-werbeaktionen-plugin` (dependent plugins are located at `/app/plugins`)
- **Installation**: `COMPOSER_MEMORY_LIMIT=-1 composer install` (after `composer bin ecs install` etc.)

## Code Quality Standards (Mandatory)
- **ECS (Coding Standard)**: `composer bin-ecs-fix`
- **Rector (Refactoring)**: `composer bin-rector-process`
- **PHPStan (Static Analysis)**: `composer bin-phpstan` (Level max, 0 ignores allowed)
- **PHPUnit (Testing)**: `composer bin-phpunit-no-coverage` (iteration), `composer bin-phpunit-coverage` (HTML)

## Tech Stack & Architecture
- **Backend**: Symfony 6.4 (PHP 8.1+). Services in `src/Service/`, Controllers in `src/Controller/`, register in `src/Resources/config/services.yml`.
- **Frontend**: Vue 3 (Composition API with `<script setup>`), Element Plus. Assets in `assets/js/`.
- **Database**: Firebird via Doctrine. Entities are read-only at `/app/vendor/satag/amicron-entity-bundle/src/Entity`.
- **External Services**: CleverReach (OAuth, REST) for Werbeaktionen sync.