Files
d4rk_media/CLAUDE.md
T
D4rkst3randClaude Opus 5 076d909f62 docs: CLAUDE.md -- die Arbeitsweise gehoert ins Repo, nicht in ein Gedaechtnis
"Pruefen statt raten" stand bisher nur in einer Notiz auf einer Maschine.
Wer dieses Projekt auf einem anderen Rechner aufmacht, faengt sonst ohne
sie an -- und genau dort wird gleich weitergearbeitet.

Dazu die vier Faelle aus diesem Repo, die erst beim Messen aufgefallen
sind, als Beleg statt als Behauptung: der Einhaengepunkt in c.req.path,
das Sternchen, das kein Parameter ist, das try/catch um createReadStream,
das Secure-Cookie, das ueber localhost funktioniert und ueber eine
LAN-Adresse nicht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 16:31:11 +02:00

1.9 KiB

Arbeitsweise in diesem Projekt

Prüfen statt raten

Nichts annehmen, was sich messen lässt. Verhalten von Bibliotheken, Routen, Headern und Konfiguration am laufenden System oder in der Dokumentation nachsehen, bevor darauf gebaut wird. Was sich nicht klären lässt: fragen, statt etwas zu bauen, das plausibel aussieht.

Der Grund steht in der Projektgeschichte: eine plausible Annahme, die falsch ist, fällt Stunden später auf und kostet dann genau die Zeit, die das Nachsehen gespart hätte. Beispiele aus diesem Repo, alle erst beim Messen aufgefallen:

  • c.req.path trägt in Hono den Einhängepunkt mit — Löschen und exists sahen deshalb am Ziel vorbei.
  • Ein Sternchen wird von Hono nicht als Parameter erfasst, :pfad{.+} schon, und der Parameter kommt bereits dekodiert.
  • createReadStream meldet eine fehlende Datei asynchron; das try/catch darum fängt nichts.
  • Ein Secure-Cookie über localhost funktioniert, über eine LAN-Adresse nicht — wer auf localhost gegenprüft, prüft die Ausnahme.

Im Bericht steht, was gemessen wurde, nicht was erwartet wurde. Ungeprüftes wird als ungeprüft benannt — siehe die Docker-Abschnitte in ROADMAP.md.

Wo es langgeht

ROADMAP.md ist der Einstieg: Zuschnitt, Stand, Reihenfolge, offene Entscheidungen. Das Warum einer Änderung steht in der Commit-Nachricht, nicht nur im Diff.

Git

Alles läuft auf master, keine Feature-Branches. Gehostet auf dem eigenen Gitea (https://git.d4rkst3r.de/D4rkst3r/d4rk_media); Lesen geht anonym, Schieben über die Umgebungsvariable GITEA_TOKEN.

Die eine Regel fürs Dashboard

Jeder Knopf gibt Rückmeldung, auch der erfolgreiche. Das ist der Fehler, an dem der Fivemanage-Anlauf gescheitert ist: ein Knopf ohne Antwort sieht aus wie ein kaputter Knopf, und das Ergebnis waren neunzehn gleichnamige Organisationen. Gilt auch für die API — kaputtes JSON bekommt einen 400 mit Text, keinen nackten 500.