4.8 KiB
Planer2 — Feature-Verwaltung
Verwaltet Features meiner Projekte als Cards und definiert damit die „Wahrheit" je Projekt. Rein manuelle Pflege: Sidebar links = Projekte, Hauptbereich = Feature-Cards.
make dev— Entwicklung: Backend auf 8200, Frontend auf http://localhost:5274make build && make web— Produktion: http://localhost:8200make test— Backend-Tests
Karten prüfen
Das ⌾-Icon in der Sidebar prüft alle Karten des aktiven Projekts gegen den Stil-Katalog. Fehlerhafte Karten öffnen sich rot markiert und zeigen unter jeder Stelle einen Vorschlag mit ✓/✕; ✓ schreibt ihn in die Datei, die übrigen Vorschläge bleiben stehen. Unter dem Icon steht der Fortschritt, rechts läuft ein Panel mit Problemliste.
Zwei Stufen je Prüfstelle. Was sich zählen lässt, zählt struktur.py — Wortzahl,
Satzzeichen am Zeilenende, Füllwörter, Klammern, Badge-Wert. Was es wegstreichen kann,
geht als fertiger Vorschlag durch, ganz ohne Anfrage. Der Rest hängt als Auftrag
„Gemessen, bitte neu schreiben" am Ausschnitt für das Modell. Das Modell darf diese
Klasse nicht selbst melden — sonst erfindet es Regeln, die im Katalog nicht stehen.
Höchstens ein gemessener Befund je Zeile: zwei Vorschläge für dieselbe Zeile wären nicht unabhängig anwendbar.
Eine Anfrage je Prüfstelle, nicht je Karte:
Karte ──┬── Kartenebene titel · badge · ziel · regeln 1 Anfrage
├── Funktion 1 titel · ziel · regeln · testen 1 Anfrage
└── Funktion 2 … 1 Anfrage
Ein Vorschlag ersetzt seine Stelle eins zu eins. Was das bewirkt, sagt der Prüfer nicht — es ergibt sich aus dem Vergleich:
eine Zeile schreibt die Stelle um
mehrere Zeilen ersetzen die Stelle durch alle davon; steht die alte
wieder vorn, kommt nur etwas dazu
leer streicht die Stelle
So muss das Modell keine Aktion auswählen. Es schreibt nur hin, was dort stehen soll. Ohne umsetzbaren Vorschlag wird ein Problem verworfen statt leer angezeigt.
Vorschläge werden einzeln und in beliebiger Reihenfolge angenommen. Jeder muss darum für sich allein anwendbar sein und selbst dem Katalog genügen.
Jede Anfrage bekommt nur ihren Ausschnitt der Karte und nur den Katalogteil, der für sie gilt. Die Herkunft eines Problems stammt aus dem Code, nicht aus der Modellantwort.
Der Katalog liegt in backend/stil/ — eine Datei je Feld, alphabetisch zusammengesetzt
(allgemein landet dadurch vorn). Das Präfix entscheidet, wer sie zu sehen bekommt:
allgemein.md beide Prüfer
feature-*.md nur die Kartenebene: titel, badge, ziel, regeln
funktion-*.md nur die Funktionen: titel, ziel, regeln, testen
Eine neue Datei wird ohne Codeänderung mitgelesen. Ist der Ordner leer, bricht die Prüfung ab statt ohne Vorgaben zu prüfen.
Zugang über .env (Vorlage: .env.example) — MINIMAX_API_KEY, MINIMAX_MODELL,
MINIMAX_URL, dazu PRUEFUNG_PARALLEL (gleichzeitig laufende Anfragen, Standard 10).
Fehlt einer der Zugangswerte, bricht die Prüfung mit sichtbarer Meldung ab;
es wird nie still auf ein anderes Modell ausgewichen. Ergebnisse liegen nur im
Serverspeicher und überleben keinen Neustart.
Datenablage
Markdown-Dateien unter daten/<projekt>/<feature>.md — Projekt = Ordner, die Datei ist
die Wahrheit. Der Editor bearbeitet immer den rohen Text; geparst wird nur für die Anzeige.
Format (Marker allein auf einer Zeile; <!-- funktion --> ist wiederholbar; <!-- ziel -->,
<!-- regeln --> und <!-- testen --> nach einer Funktion gehören zu ihr — ziel/regeln
vor der ersten Funktion gehören zur Karte; regeln/testen: je eine - -Zeile pro Eintrag;
<!-- regel -->-Blöcke aus dem Alt-Format werden zu Zeilen zusammengeführt;
Trennzeilen aus --- sind Optik):
<!-- titel -->
Login
<!-- art -->
kern
<!-- ziel -->
Kurzer Satz, was das Ziel ist.
<!-- funktion -->
Anmeldung mit E-Mail
<!-- regeln -->
- Passwort nie loggen
<!-- testen -->
- Formular öffnen
- Daten eingeben
<!-- funktion -->
Abmeldung
Der Kompaktmodus zeigt Ziel und Funktionstitel, der Vollmodus alles — umgeschaltet per mittlerer Maustaste auf die Karte oder das Augen-Icon. Bearbeitet wird nur im Vollmodus: Klick auf den Text, Verlassen speichert, Escape verwirft; Anlegen und Entfernen laufen über das Kontextmenü (Rechtsklick) mit Bestätigung im Modal. Jedes Speichern setzt die Datei neu zusammen, Titeländerungen benennen sie passend um.
Text vor dem ersten Marker, Inhalt unbekannter Marker und verwaiste regeln/testen-Blöcke
(auch Alt-Marker flow) werden nicht angezeigt, aber beim Speichern erhalten.
Hinweis: Sektionen werden im Frontend als Markdown gerendert (marked, ohne Sanitizing) —
die Daten sind lokal und selbst geschrieben.