Dieses Handbuch pflegen
Der Quelltext liegt im App-Repository, damit eine Verhaltensänderung gemeinsam
mit ihrer Dokumentation landen kann. Erzeugte Screenshots liegen im
Schwester-Repository lotti-docs und werden nie in den App-Baum eingecheckt.
Texte bearbeiten
- Bearbeite oder ergänze englische MDX-Dateien unter
docs-site/docs. - Aktualisiere die gleichnamige Datei jeder veröffentlichten Sprache unter
docs-site/i18n/<sprache>/docusaurus-plugin-content-docs/current. - Ergänze neue Seiten in
docs-site/sidebars.ts. - Aktualisiere
docs-site/metadata/features.json, wenn sich die Abdeckung ändert. - Aktualisiere die passenden Einträge in
docs-site/metadata/surface-inventory.json. Eine Oberfläche ist erst verifiziert, wenn produktive UI, Text und Screenshots geprüft wurden. - Führe
make manual_checkaus. - Prüfe den Produktions-Build lokal mit
make manual_serve– einschließlich Sprachumschalter und aller lokalisierten Routen.
Die Validierung verlangt für jede veröffentlichte Übersetzung dieselben Seitenpfade wie im englischen Quellbaum. Sie lehnt außerdem Seiten ab, deren Inhalt mit dem englischen Original identisch ist. Neue Seiten können dadurch nicht unbemerkt als unübersetzte Kopie erscheinen. Die öffentlichen englischen URLs bleiben unverändert; andere Sprachen werden unter ihrem eigenen versionierten Sprachpräfix veröffentlicht.
Die Abdeckungsinventur verbindlich halten
Die Inventur definiert den Umfang des V1-Handbuchs: jede relevante Seite, jedes Settings-V2-Blatt oder jeden Editor und jeden wichtigen Ablauf, der Daten oder übergreifende Konfiguration erstellt oder wesentlich ändert. Jeder Eintrag nennt Quelldatei und Textanker. Verschwindet eines davon, schlägt die Validierung fehl. Routen- oder UI-Änderungen können dadurch keine unsichtbar veraltete Zeile hinterlassen.
Die Zustände haben strenge Bedeutungen:
- Geplant: Oberfläche bekannt, Abdeckung noch unvollständig.
- Dokumentiert: Nützlicher Text vorhanden, aktuelle produktive Screenshots oder vollständige Genauigkeitsprüfung fehlen noch.
- Verifiziert: Feature-Seite geprüft und durch registrierte produktive Screenshots belegt.
npm --prefix docs-site run coverage:complete ist die Release-Schranke. Sie
schlägt fehl, solange eine inventarisierte Oberfläche nicht verifiziert ist.
Normale inkrementelle Builds melden die Restzahlen, ohne thematisch kleine
Commits zu blockieren.
Einen Screenshot-Fall hinzufügen
- Ergänze oder verwende einen deterministischen Flutter-Screenshot-Harness.
- Registriere Fall und vier Quelldateien in
docs-site/metadata/screenshot-cases.json. - Hinterlege sichtbare Demo-Texte über
manualScreenshotText(...)für jede unterstützte Sprache, wenn sie nicht bereits aus der App-Lokalisierung stammen. - Erfasse mit
make manual_screenshotsalle Sprachen in../lotti-docs– niemals in diesem Repository. - Erzeuge und validiere das Medienmanifest.
- Referenziere den Fall mit
<ManualScreenshot caseId="…" alt="…" />in jeder Sprachseite.
Jeder App-Screenshot muss ManualScreenshot verwenden. Direkte Links auf alte
lotti-docs-Bilder scheitern an der Validierung, weil sie weder der globalen
Mobil/Desktop-Auswahl noch Hell/Dunkel oder der Dokumentsprache folgen.
Jeder automatisierte Fall liefert Mobil-Hell, Mobil-Dunkel, Desktop-Hell und Desktop-Dunkel für jede veröffentlichte Sprache. Die Komponente wählt Sprache und Design automatisch. Eine Änderung von Mobil/Desktop an einem Bild aktualisiert sofort alle Screenshots und bleibt über Seiten und offene Tabs hinweg erhalten.
Ein Release veröffentlichen
Der Quelltext wird nicht für jede App-Version kopiert. Das App-Release-Tag
bewahrt bereits den exakten Stand. CI checkt dieses Tag aus, baut mit
MANUAL_VERSION=<version> und veröffentlicht ein unveränderliches statisches
Verzeichnis. Das Versionsmenü ist ein kleines Manifest dieser Verzeichnisse.