Files
rippy/AGENTS.md
T
Hitonabi 5d9be4d046
Ampel / ampel (push) Successful in 29s
docs: SAVEPOINT v3.2, ROADMAP Etappe 13 + Ideen-Katalog, README-Ausbau, KONZEPT-Fortschreibungen
- README: Media-Server-Ablage, Benachrichtigungen (Tabelle je Dienst),
  System/MakeMKV-Key, UHD-Arbeitsverzeichnis, neuer Abschnitt 'Rippy
  woanders bereitstellen' (beliebiger Docker-Host, was NICHT mitmuss).
- ROADMAP: Etappe 13 (Universal-Komfort-Runde) dokumentiert, erledigte
  Punkte aus Etappe 11/12 abgehakt, priorisierter Ideen-Katalog.
- KONZEPT: Abschnitt 10 'Fortschreibungen' — Media-Server-Neutralitaet
  erweitert das Jellyfin-Muss (keine Abweichung), Benachrichtigungen,
  udev->ioctl.
- SAVEPOINT v3.2 mit dem Kernbefund: Ampel war seit 23.07. rot, stable
  hing 10 Commits zurueck (bcrypt/passlib + veralteter Test) — behoben.
- AGENTS: Stand-Sektion entschlackt (Details leben im SAVEPOINT).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 08:55:55 +02:00

3.1 KiB

AGENTS.md — Arbeits-Konventionen für Rippy

Grundregeln

1. Plan vor Code. Vor jeder Etappe: Klare Akzeptanzkriterien schreiben, dann bauen. 2. Kleine Schritte. Max. eine Feature pro Commit. Commit-Nachrichten beschreiben WAS und WARUM. 3. Beweisen statt behaupten. Testen, was gebaut wurde. Keine "es sollte funktionieren"-Commits. 4. Deutsch-Nicht-Entwickler. Der Commander liest alles — Variablennamen auf Englisch, aber Kommentare und Docs auf Deutsch.

HARTE Regeln (mechanisch geprüft — seit 22.07.2026)

A. Die CI-Ampel muss GRÜN sein, bevor irgendetwas „fertig" heißt. .gitea/workflows/ci.yml läuft bei jedem Push auf dem Gitea-Runner (NICHT löschen, NICHT abschwächen). Keine Tests = rot = nicht fertig. Der Commander liest die Ampel, nicht den Code.

B. Abweichung vom KONZEPT = STOPP + fragen. Anderes Werkzeug, andere Bibliothek, gestrichenes Muss-Feature → erst den Commander fragen, NIE still ersetzen. (Vorgefallen: Muss-Feature „MakeMKV lossless" wurde still durch lossy HandBrake ersetzt.)

C. Deployment läuft AUTOMATISCH über das Grün-Gate. Ampel grün auf main → CI befördert den Stand auf Branch stable → Arcane-GitSync zieht stable und deployt. Du deployst also durch PUSHEN, nicht durch Kommandos. ./deploy.sh ist NUR der Notfall-Hebel (Arcane down o. ä.); nie freihändig per SSH auf der VM bauen. (Vorgefallen: Doppel-Anlage Rippy + rippy auf der VM durch Freihand-Deploys.)

D. Externe Schnittstellen NIE aus dem Kopf. Vor Nutzung fremder CLI-Flags oder Bibliotheks-APIs: --help/Doku prüfen und die Fundstelle im Commit nennen. (Vorgefallen: erfundene Celery-Methode self.send_task, erfundene abcde-Flags.)

Workflow

  1. Read: KONZEPT.md + ROADMAP.md lesen. Verstehen, welche Etappe dran ist.
  2. Plan: Was genau soll diese Sitzung bauen? Eine Zeile.
  3. Build: Code schreiben, testen, committen.
  4. Verify: docker compose up — funktioniert das Ganze?
  5. Savepoint: SAVEPOINT.md aktualisieren. Nächster Chat beginnt nicht von Null.

Modelle je Aufgabe

  • Planung: Heavy-Modell (Reasoning) für Architektur-Entscheidungen.
  • Bauen: schnelles Coding-Modell.
  • Review: Heavy nochmal für Code-Review vor Merge.

Docker-Praxis

  • Alles läuft in Containern: docker compose up -d
  • Keine System-Pakete auf dem Host — alles im Container.
  • Dockerfile immer multi-stage, kleinste Images.

Was NICHT gebaut wird

  • Kein Code direkt im Host-OS.
  • Kein Proxmox-LXC-Nesting-Workaround — das Projekt lebt bewusst in normalem Docker.
  • Kein ARM-Fork — Rippy ist ein Eigenbau von Grund auf.

Aktueller Stand (24.07.2026)

  • E2E bewiesen (v3.1): BD-50 komplett durch die Kette (43 GB → 4,8 GB)
  • Etappe 13 (v3.2): Universal-Komfort-Runde — Media-Server-Integration, echte Benachrichtigungen, SMB-Klartext-Fehler, UHD-Arbeitsverzeichnis, MakeMKV-Key via UI, Job-Detail-Popup, Toast-Feedback, Ampel-Blocker behoben
  • 📝 Details immer in SAVEPOINT.md — diese Sektion nennt nur die Etappe