Regeln

Erstellt: 2025-12-27 | Aktualisiert: 2025-12-27

Verbindliche Entwicklungs- und Betriebsregeln für das Campus-System. Diese Regeln werden durch Hooks und Quality-Gates durchgesetzt.

1. Kein Git

RegelGit ist auf diesem Server verboten
GrundFile-Backup via Hooks ersetzt Versionierung
Alternativefile_backup_hook.py sichert jede Änderung automatisch

2. MCP nutzen

RegelKein direkter Datenbankzugriff via mysql/mariadb CLI
GrundValidierung, Logging, Security durch MCP
Durchsetzungblock_direct_db.py Hook blockiert CLI-Zugriffe

Statt:

mysql -u root -p ki_dev -e "SELECT * FROM tasks"

Verwende:

mcp__mcp-db__db_select("SELECT * FROM tasks", database="ki_dev")

Verfügbare MCP-Server

ServerZweckWichtige Tools
MCP-DBDatenbankzugriffdb_select, db_insert, db_update, db_delete
MCP-TasksTask-Managementtasks_create, tasks_status, tasks_result
MCP-ContractsContract-Validierungcontracts_validate, contracts_list
MCP-DocsDokumentationdocs_get, docs_search, docs_update
MCP-CodeCode-Analysecode_search, code_impact, code_dependents

3. Dev first

RegelEntwicklung immer auf dev.campus.systemische-tools.de
GrundKeine Risiken für Produktion
Workflowdev → Testen → sync-dev-prod.sh → prod

Umgebungen

UmgebungURLPfad
Developmentdev.campus.systemische-tools.de/var/www/dev.campus.systemische-tools.de/
Productioncampus.systemische-tools.de/var/www/prod.campus.systemische-tools.de/

4. Quality vor Sync

Regel/var/www/scripts/php-check.sh muss bestehen
GrundKeine Fehler in Produktion
Durchsetzungsync-dev-prod.sh bricht bei Fehlern ab

Quality-Checks

Manuell prüfen

/var/www/scripts/php-check.sh /var/www/dev.campus.systemische-tools.de

5. Task-Pflicht

RegelFür jede Anforderung tasks_create() nutzen
GrundNachvollziehbarkeit, Protokollierung
Durchsetzungtask_completion_guard.py prüft Result vor Completion

Workflow

# 1. Task erstellen
tasks_create(title="Feature X implementieren", type="ai_task")

# 2. Status setzen
tasks_status(id=123, status="in_progress")

# 3. Arbeit dokumentieren
tasks_result(id=123, response="...", executor="claude", executor_type="claude")

# 4. Abschließen
tasks_status(id=123, status="completed")

6. Layer-Grenzen

RegelController → UseCase → Repository (nie direkt)
GrundClean Architecture, Testbarkeit
Durchsetzungarchitecture_guard.py + Quality-Gates

Erlaubt

// Controller → UseCase → Repository
$this->createTaskUseCase->execute($data);

Verboten

// Controller → Repository direkt
$this->taskRepository->save($task);

7. HTMX statt fetch()

RegelFrontend-Interaktionen via HTMX Attribute
GrundServer-Rendering, weniger JavaScript
DokumentationHTMX Patterns

Beispiel

<button hx-post="/tasks/123/complete"
        hx-headers='{"X-CSRF-TOKEN": "..."}'
        hx-confirm="Wirklich abschließen?">
    Abschließen
</button>

Zusammenfassung

#RegelDurchsetzung
1Kein Gitfile_backup_hook.py
2MCP nutzenblock_direct_db.py
3Dev firstsync-dev-prod.sh
4Quality vor Syncphp-check.sh + contracts
5Task-Pflichttask_completion_guard.py
6Layer-Grenzenarchitecture_guard.py
7HTMX statt fetch()Quality-Gates

Verwandte Themen