diff --git a/ALICIA.md b/ALICIA.md new file mode 100644 index 0000000..7b69851 --- /dev/null +++ b/ALICIA.md @@ -0,0 +1,86 @@ +# ALICIA.md — Anleitung für Alicia + +> **Repo:** `git@git.datenhimmel.work:danielkrause/BSN-Livesystem.git` +> **Branch:** `main` +> **Arbeitsverzeichnis:** `/tmp/BSN-Livesystem` (oder wo auch immer du geklont hast) + +--- + +## Einmalig: Repo klonen und SSH-Key einrichten + +```bash +# Repo klonen +git clone git@git.datenhimmel.work:danielkrause/BSN-Livesystem.git /tmp/BSN-Livesystem +cd /tmp/BSN-Livesystem +``` + +> Falls `Permission denied (publickey)`: Dein SSH-Public-Key muss in Gitea hinterlegt sein. +> Cody oder Daniel können das machen. + +--- + +## Arbeitsablauf (JEDES MAL) + +### 1. Repo aktuell halten + +```bash +cd /tmp/BSN-Livesystem +git pull origin main +``` + +### 2. Dateien erstellen oder bearbeiten + +Arbeite NUR in diesem Verzeichnis. Erstelle/ändere Dateien mit `write_file` oder direkt. + +### 3. Qualitätschecks (VOR jedem Commit!) + +```bash +cd /tmp/BSN-Livesystem +ruff check . +ruff format . +mypy --config-file pyproject.toml . +pytest -v +``` + +**Nicht weitermachen bevor nicht ALLE VIER Checks grün sind!** Wenn einer fehlschlägt: Fehler korrigieren, erneut prüfen. + +### 4. Commit + Push + +```bash +git add -A +git status --short # Prüfen was committed wird +git commit -m "feat: ..." # KEINE Geheimnisse committen! +git push origin main +``` + +### 5. Erfolg bestätigen + +Prüfe dass der Push durchging: +```bash +git log --oneline -1 +``` + +--- + +## Wichtige Regeln + +- **NIE `.env`-Dateien committen** (Secrets!) +- **Conventional Commits:** `feat:`, `fix:`, `chore:`, `docs:`, `test:` +- **Deutsch kommentieren, Deutsche Docstrings** +- **Type Hints auf ALLEN Funktionen** +- **Ruff + mypy + pytest VOR jedem Commit** + +--- + +## Aufgaben + +Aufgaben stehen in `docs/alicia-aufgaben-nacht1.md`. +Aktueller Fortschritt in `task_status.json`. + +--- + +## Hilfe + +- **Zugriff verweigert?** → Daniel fragen (SSH-Key fehlt) +- **Merge-Konflikt?** → `git pull --rebase origin main` +- **Falsches Repo?** → `git remote -v` prüfen (muss auf `BSN-Livesystem.git` zeigen!)