# Development Commands

Entwicklungskommandos für das Custom PHP Framework.

## PHP Development

```bash
# Abhängigkeiten installieren
composer install

# Code Style prüfen (dry-run)
composer cs

# Code Style automatisch korrigieren
composer cs-fix

# Autoloader optimiert neu generieren
composer reload

# PHP Tests ausführen (Pest Framework)
./vendor/bin/pest
```

## Frontend Development

```bash
# Node.js Abhängigkeiten installieren
npm install

# Vite Development Server mit HTTPS starten
npm run dev

# Production Assets builden
npm run build

# Production Build vorschauen
npm run preview

# Jest Tests ausführen
npm run test

# Assets builden und nach public/ deployen
npm run deploy
```

## Docker & Environment

```bash
# Alle Docker Container starten
make up

# Alle Container stoppen
make down

# Docker Images builden
make build

# Docker Logs anzeigen
make logs

# Autoloader neu laden und PHP Container neu starten
make reload

# Console Commands in Docker PHP Container ausführen
make console

# Code Style Checks in Docker ausführen
make cs

# Code Style in Docker korrigieren
make cs-fix

# Code Style für spezifische Datei korrigieren
make cs-fix-file FILE=path/to/file.php

# Dateiberechtigungen korrigieren
make fix-perms

# Projekt-Gesundheitscheck
make doctor
```

## Console Commands

```bash
# Console Anwendung ausführen
php console.php

# Console in Docker ausführen
docker exec php php console.php

# MCP Server für AI-Integration starten
php console.php mcp:server
```

## Database & Migration Commands

```bash
# Neue Migration erstellen
php console.php make:migration CreateUsersTable [Domain]

# Alle ausstehenden Migrationen anwenden
php console.php db:migrate

# Migrationen rückgängig machen (Standard: 1 Schritt)
php console.php db:rollback [steps]

# Migration Status anzeigen
php console.php db:status
```

## Testing

- Tests befinden sich im `tests/` Verzeichnis
- PHPUnit Konfiguration in `phpunit.xml`
- Verwende Pest Framework für neue Tests
- Tests spiegeln die Source-Verzeichnisstruktur wider

## Performance & Monitoring

```bash
# Performance Logs verarbeiten
php scripts/process-performance-logs.php

# Worker Berechtigungen korrigieren
./scripts/fix-worker-permissions.sh
```

## Asset Management

- **CSS**: `resources/css/` - Strukturiertes CSS mit ITCSS Methodologie
- **JavaScript**: `resources/js/` - Modular JavaScript mit Core/Module System
- **Build**: Vite für Asset-Kompilierung mit Tree Shaking
- **PWA**: Service Worker für Offline-Funktionalität
- **SSL**: HTTPS Development Server mit lokalen SSL-Zertifikaten

## Code Quality

```bash
# PHPStan statische Analyse
./vendor/bin/phpstan analyse

# PHP-CS-Fixer für Code Style
./vendor/bin/php-cs-fixer fix --dry-run  # Vorschau
./vendor/bin/php-cs-fixer fix            # Anwenden

# Pest Tests mit Coverage
./vendor/bin/pest --coverage
```

## Development Workflow

1. **Setup**: `make up && composer install && npm install`
2. **Development**: `npm run dev` für Frontend, `make console` für Backend
3. **Testing**: `./vendor/bin/pest` für PHP, `npm run test` für JavaScript
4. **Code Quality**: `composer cs` vor Commits
5. **Database**: `php console.php db:migrate` für Schema-Änderungen
6. **Deployment**: `npm run build` für Production Assets