docs: ALICIA.md — Anleitung für Git-Workflow, SSH, Qualitätschecks
This commit is contained in:
@@ -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!)
|
||||||
Reference in New Issue
Block a user