# Cline Rules for satag-scanner-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**: `dev-satag-scanner-plugin-web-1`
- **Shell Access**: `docker exec --user=application -it -w /app "dev-satag-scanner-plugin"-web-1 bash`
- **Plugin Path**: `/app/plugins/satag-scanner-plugin` (dependent plugins are located at `/app/plugins`)
- **Installation**: `COMPOSER_MEMORY_LIMIT=-1 composer install`

## Code Quality Standards (Mandatory)
- **ECS (Coding Standard)**: `composer bin-ecs-fix`
- **Rector (Refactoring)**: `composer bin-rector-process`
- **PHPStan (Static Analysis)**: `composer bin-phpstan` (Level 8, 0 ignores allowed)
- **PHPUnit (Testing)**: `composer test-coverage` (**100% coverage required**, no ignores)

## Tech Stack & Architecture
- **Backend**: Symfony 6.4 (PHP 8.1+). Services in `src/Service/`, register in `services.yml`.
- **Frontend**: Vue 3 (Composition API with `<script setup>`), Pinia, Element Plus. Assets in `assets/js/`.
- **Database**: Firebird via Doctrine. Entities are read-only at `/app/vendor/satag/amicron-entity-bundle/src/Entity`.
- **Modeling**: Use `src/Model/` to bridge Entities and Frontend.

