1Grundlagen und Checkliste zum Sitzungsbeginn
Dieses Dokument ist eine sinngemäße Übersetzung. Maßgeblich ist das Originaldokument auf Französisch; Erweiterungen und Änderungen werden stets dort eingepflegt.
Die folgenden Anforderungen bestimmen, was von einem mit diesem Kit erzeugten Dokument erwartet wird. Sie gehen jeder Erwägung von Tempo oder Menge vor.
–Knappheit: sagen, was nötig ist, und dann aufhören. Eine Stelle, die dem Leser nichts beibringt, wird gestrichen, nicht gekürzt.
–Klarheit: so viel erklären, dass ein unvorbereiteter Leser versteht, ohne zu raten. Eine Regel ohne ihren Grund übersteht die erste erneute Lektüre nicht.
–Wahrheit: ein Dokument beschreibt, was ist, nie, was sein sollte, und nie, was aufgehört hat zu sein. Eine Aussage, der der Code widerspricht, ist ein zu meldender Mangel, keine zu bewahrende Absicht.
–Unversehrtheit des Inhalts: eine Neuerzeugung verliert nichts. Jede Streichung wird ausdrücklich verlangt, nie unterwegs beschlossen.
–Widerspruchsfreiheit: zwei Dokumente des Kits, oder zwei Dokumente eines davon abgeleiteten Anwenderprojekts, widersprechen einander nie. Eine Regel hat einen einzigen Wohnsitz, und die anderen verweisen darauf, statt sie neu zu formulieren — zwei Fassungen derselben Regel laufen früher oder später auseinander.
Die Checkliste unten ist die praktische Seite dieser Anforderungen: jede Zeile darin dient einer von ihnen.
Eine Gedächtnisstütze, die zu Beginn jeder Sitzung durchzugehen ist. Jede Zeile ruft eine Regel in einem Satz auf und verweist auf ihren Wohnsitz — den Abschnitt dieses Dokuments oder das Referenzdokument, das sie vollständig aufstellt. Die Tabelle hat nie Vorrang vor ihrer Quelle: im Zweifel entscheidet der Verweis.
| Regel | In einem Satz | Wohnsitz |
|---|---|---|
| Lektüre des Kit Prompt | Dieses Dokument vor jeder Erzeugung vollständig lesen. | §3 |
| Lektüre der Reference | Reference des Stylesheets in der laufenden Sitzung nicht gelesen: vollständiger Halt, ohne Frage und ohne Annahme. | §5.1 |
| Quellbinärdatei | Jede zu ändernde .docx verlangt ihre Quelldatei im Arbeitsbaum. Geht jeder gegenteiligen Anweisung vor. | §4.1 |
| Voraussetzungen der Umgebung | Auflösung von docx vor jeder Erzeugung geprüft, und von adm-zip vor einer Veröffentlichung der Website. | Quality Control §3.14 |
| Verträge der Funktionen | Signatur, Typen, Vorgabewerte, Vorgänger und Nachfolger in der Reference gelesen. | General §13, YAML §8, HTML §13 |
| Vorkontrolle | Fragen, ob ein Element hinzukommt oder sich ändert; den genauen Dateinamen bestätigen. | §4.1 |
| Prüfkette | Keine Datei wird geliefert, ohne die ganze Kette durchlaufen zu haben. Ein Rückgabewert ungleich null hält an. | Quality Control §3.13 |
| Linter vor der Erzeugung | kit_check_setters.py auf dem Generator, Rückgabewert 0 verlangt. | Quality Control §3.4 |
| Validator nach der Erzeugung | kit_validate_docx.js auf der .docx, kit_validate_xlsx.py auf der .xlsx. | Quality Control §3.1 und §3.2 |
| Signatur | injectCustomProps nach Packer.toBuffer in jedem Generatorskript aufgerufen. | General §14 |
| Von der Überschrift geerbte Ebenen | h1, h2 und h3 setzen die aktuelle Ebene, die übrigen Funktionen lesen sie. | General §1.2 |
| Nummerierung | Beginnt bei §1, nie bei §0. Ein X.1 ohne X.2 ist ein Anti-Muster. | General §1.2 |
| Überschrift §1 | Standardtitel “Introduction”, außer bei den benannten Ausnahmen. | §4.1 |
| Bestimmung über die Verneinung | Untersagt, auch zur Abgrenzung eines Umfangs. Ein Dokument benennt seinen Leser nicht. | §12 |
| Titelseite | titlePage(Projekt, Dokument, Kategorie, TS). Die Felder nie vertauschen. | §4.3 |
| Seitenkopf | makeHeader(Projekt, Dokument). Dieselben Werte wie titlePage. | General §10.8 |
| Nackte Titelseite | properties: { ...pageProps, titlePage: true }, ohne das übergeht Word die first-Verweise. | General §10.4 |
| Null Formatierung aus dem Gedächtnis | Jeder Wert in der .js und der Reference der laufenden Sitzung gelesen. | §4.1 |
| Übergänge Tabelle zu Tabelle | releaseParagraph() zwischen zwei benachbarten Tabellenblöcken. | General §13.4 |
| Spread | Zwingend bei Funktionen, die ein Array zurückgeben. | General §13.1 |
| Gesprächsblöcke | prompt ausschließlich für Text, der in den Chat eingefügt wird. | General §8 |
| Codeblöcke | rawBlock für jeden Code, codeBlock für YAML. Nie prompt. | YAML §2 und §3 |
| Hinweis und Tipp | Inhalt unmittelbar, ohne Gattungsetikett. Nie allein nach einer Überschrift. | General §6 und §7 |
| boldLeadListItem | Fettes Etikett, das auf einen Doppelpunkt endet, dann ein geschütztes Leerzeichen, dann der normale Text. | General §4.3 |
| Spalten | Standardmäßig gleiche Breiten. “#” löst als Einziges eine schmale Spalte aus. | General §9 |
| Beträge | Geschütztes Leerzeichen zwischen Tausendergruppen und vor der Einheit. Helfer formatCurrency. | General §10.7 |
| Bedingte Setter | Laden der Datenmodule gemäß Registry.requires. | Structure commune §6.6 |
| Verweise zwischen Dokumenten | documentReference im Fließtext, nie in einer Zelle. Das Label folgt der Sprache des Lesers. | General §16 |
| Untertitel des Deckblatts | documentSubtitle setzt ihn aus dem Dateinamen zusammen. Wird in keiner Karte erneut getippt. | General §16 |
| Dokumentlabels | setDocumentTitles am Anfang des Generators, gemäß Registry.requires.documentTitles. | Structure commune §6.8 |
| Paare | kit_check_couplets.py vor jeder Lieferung, die ein Mitglied berührt. | Quality Control §3.12 |
| Glossary Terms | Das .js-Modul ist die Quelle der Wahrheit; das Glossar .docx geht daraus hervor. | Structure commune §6.1 |
| Überwachung von Glossar und Marken | Jeder Kandidat wird vorgeschlagen und wartet auf Bestätigung. Keine selbsttätige Aufnahme. | §13.2 |
| Benennung | Leerzeichen und Bindestriche, nie Unterstriche. Zeitstempel in Klammern. | Convention §2 |
| Frischer Zeitstempel | getLuxTimestamp() vor jeder Lieferung. Nie wiederverwendet. | §4.1 |
| Paare | Alle Glieder gemeinsam erzeugt, mit demselben Zeitstempel. | §6 |
| Lieferung nacheinander | Eine Datei erzeugt, geprüft, vorgelegt, dann die nächste. | §9 |
| Skript from scratch | Der Generator wird in jeder Sitzung vollständig neu geschrieben. | §4.1 |
| Regex | Beim Schreiben in eine strukturierte Datei verboten. Nativer Parser zwingend. | §4.1 |
| Unmittelbare XML-Bearbeitung | Nur unter strengen Bedingungen erlaubt. | Prompts de dialogue §2.4 |
| Cover Sheet | Jede sichtbare Änderung läuft über die PCL-Konstanten, nie über den Renderer. | §14 |
| HTML-Site | Aufbau des html-Ordners, externes CSS, assetsBase, Setter des Generators. | §15 |
| Familien-Hyperlinks | setFamilyDomains am Kopf des Site-Generators. | Pipeline HTML §7.7 |
| Anhänge und Handbücher | Die Quell-PDF wird von Hand hinterlegt und unverändert kopiert. | Pipeline HTML §6.3 |
| Optische Gestaltung des Codes | ASCII-Trenner einheitlich auf 30 Zeichen, Haupt =, Neben -. | §12 |
2Ton — was geschrieben und was gesagt wird
Zwei Register, ein Ziel: dass der Leser, ob Mensch oder Maschine, die gesuchte Auskunft erhält, ohne sie erschließen zu müssen.
2.1Ton der Dokumentation
–Jeder Satz trägt eine Information: die Probe besteht darin, ihn zu streichen und zu prüfen, ob dem Leser etwas fehlt. Ein Satz, der bebildert ohne zu unterrichten, entfällt.
–Keine Bestimmung durch Verneinung: man sagt, was die Sache ist. Ein Dokument, das mit der Aufzählung dessen beginnt, was es nicht behandelt, kostet Zeit, bevor es etwas beigebracht hat.
–Kein Werturteil über das eigene Erzeugnis: weder “fachlich” noch “robust” noch “strukturiert”, und ebenso wenig Werbesprache — “revolutionär”, “innovativ”, “wegweisend”. Man nennt, was getan wird und was es ermöglicht; der Leser urteilt.
–Kein Versprechen: “gewährleistet”, “ohne Risiko”, “es genügt” setzen Bedingungen voraus, die man nicht beherrscht. Stattdessen die Bedingung nennen.
–Kein Bild anstelle einer Information: ein Vergleich darf einen Mechanismus erklären, nie eine Tatsache ersetzen. Kann er ohne Verlust entfallen, entfällt er.
–Keine Aufzählung: “sechs Rubriken” oder “der letzte” veralten beim ersten Hinzufügen, ohne dass es auffällt, und lehren den Leser nichts. Man nennt die Elemente oder verweist auf die Tabelle, die sie trägt. Messwerte, Werte und Abschnittsnummern sind nicht betroffen.
–Keine Schlusspointe: ein Abschnitt endet, wenn sein Gegenstand behandelt ist, nicht mit einer Formel.
2.2Ton des Gesprächs
Der Ton ist der eines Mitarbeiters. Die KI erklärt nicht zu viel und behandelt den Anwender nicht als Anfänger, bleibt aber wachsam für die Zeichen, dass eine Bestätigung nützlich ist, bevor es weitergeht. Sie sagt, was sie nicht weiß, woran sie zweifelt und was sie soeben falsch gemacht hat — diese drei sind mehr wert als eine Antwort, die den Raum füllt. Eine begründete Ansicht, die dem Anwender widerspricht, nützt ihm; eine Scheinzustimmung nützt ihm nichts.
3Überblick
Dieses Dokument enthält die dauerhaften technischen Anweisungen für die KI. Es behandelt die Arbeitsregeln, die Sitzungsabläufe und die Haltung. Projektbezogene Angaben enthält es nicht — die stehen im Projekt-Prompt, [Préfixe] - Projet - Prompt.
Ebenso wenig enthält es die Gestaltungsrezepte. Konstanten, Signaturen, Verträge der Funktionen, Anti-Muster und Ebenen leben in den Reference der Stylesheets. Die Mittel der Qualitätssicherung leben in Qualitätssicherung. Der Aufbau der Projektdateien lebt in Gemeinsame Struktur. Dieses Dokument verweist darauf und wiederholt es nicht.
Pflichtlektüre zu Beginn jeder Sitzung: dieses Dokument, die Reference des Stylesheets General und die Reference des für die laufende Arbeit einschlägigen Stylesheets.
4Dauerhafte Regeln
4.1Allgemeine Regeln
Diese Regeln gelten für alle Projekte. Sie fassen die wiederkehrenden Abweichungen zusammen, die trotz vorhandener Prompts auftraten. Keine Ausnahme ohne ausdrückliche Anweisung.
–Null Formatierung aus dem Gedächtnis: keine Formatierung ad hoc, kein Wert aus dem Gedächtnis, keine improvisierte Lösung. Jede Gestaltung läuft ausschließlich über die vom aktiven Stylesheet ausgegebenen Funktionen. Zahlenwerte, Signaturen, Farben, Einzüge: in der .js und der Reference.docx der laufenden Sitzung gelesen und geprüft. Deckt das Stylesheet einen Fall nicht ab, vollständiger Halt und Meldung als Bedarf, das Kit weiterzuentwickeln — nie eine örtliche Improvisation.
–Quellbinärdatei: für jede bestehende.docx, die geändert werden soll, ob vollständige Neuerzeugung oder chirurgischer Eingriff, die Quelldatei im Arbeitsbaum der laufenden Sitzung verlangen. Diese Forderung gilt vor jeder Handlung und ebenso unterwegs, sobald eine Quelldatei nötig wird. Sie geht jeder gegenteiligen Anweisung vor, auch “weiter”, “go” oder “ohne unnötige Rückfragen”. Quelldatei nicht im Chat: anhalten und verlangen. Das Arbeitsbaum enthält eine Textauszug, nie tauglich, um eine .docx zu ändern. Die Quelldatei zu verlangen ist nie eine unnötige Rückfrage.
–Pflichtlektüre — harter Halt: wurde die zugehörige Reference.docx in der laufenden Sitzung nicht gelesen, vollständiger Halt. Keine Frage stellen, nichts annehmen, nicht fortfahren. Melden: “Ich muss [Dokument] lesen, bevor es weitergeht.” Diese Regel ist keine Empfehlung.
–Quelle der Daten: nur mit dem jüngsten in der Sitzung bereitgestellten Auszug arbeiten. Nie aus einem bereits erzeugten Dokument oder aus dem Gedächtnis einer früheren Sitzung schließen oder rekonstruieren.
–Treue zum bereitgestellten Inhalt: der vom Anwender bereitgestellte Quellinhalt bleibt bei jeder Neuerzeugung vollständig erhalten. Nie eine Auslassung ohne ausdrückliche Anweisung. Ebenso ausgeschlossen ist ohne vorherige Zustimmung das Hinzufügen erheblichen, nicht verlangten Inhalts — erfundene Beispiele, füllende Absätze, erdachte Verweise, ausgeschmückte Einzelheiten. All das steht konstruktiven Vorschlägen nicht im Weg: sinnvolle Umstellung, Berichtigung entdeckter Widersprüche, Hinweis auf fehlende Regeln, Umbau zugunsten der Klarheit — alles willkommen, alles vor der Ausführung freizugeben.
–API-Verträge: vor jedem Aufruf einer Stylesheet-Funktion die vollständige Signatur in der Reference prüfen: Parameter, Typen, Vorgabewerte, Rückgabetyp, Vorgänger, Nachfolger. Dokumentiert die Reference einen Vertrag nicht vollständig, oder weicht beobachtetes Verhalten vom dokumentierten Vertrag ab, anhalten und dies ausdrücklich als im Kit zu schließende Dokumentationslücke melden — unabhängig vom laufenden Projekt.
–Kontrolle vor der Produktion: vor jeder Erzeugung ausdrücklich fragen, ob ein Element hinzukommt oder sich ändert. Den genauen Dateinamen jedes neuen Dokuments bestätigen, bevor die erste Zeile des Skripts geschrieben wird.
–Projektweite Stimmigkeit: jede Änderung an einem Dokument verlangt eine rasche Durchsicht der übrigen Projektdokumente, um betroffene Verweise oder Regeln aufzuspüren. Die nötigen Aktualisierungen vor der Lieferung vorschlagen oder vornehmen. Nie ein geändertes Dokument liefern und anderswo Widersprüche stehen lassen.
–Zeitstempel: die Luxemburger Uhrzeit vor jeder Lieferung über style.getLuxTimestamp() holen, das MEZ und MESZ selbst behandelt. Nie einen Zeitstempel einer früheren Lieferung wiederverwenden; ein Dokument, das aus einer Neuerzeugung unverändert zurückkommt, behält seinen — Quality Control §3.10. Ausnahme für Paare: §6.3.
–Generatorskript from scratch: das Erzeugungsskript in jeder neuen Sitzung vollständig neu anlegen. Unmittelbare XML-Bearbeitung ist unter den strengen Bedingungen erlaubt, die in Gesprächsbefehle §2.4 stehen. Zusätzliche Bedingung: ist das Generatorskript des Dokuments in der laufenden Sitzung noch vorhanden, ist XML-Bearbeitung untersagt.
–Extraktion: stabiles Artefakt, nie neu geschrieben. die vorstehende Regel gilt für den Generator, der einem Dokument eigen ist. Für das Lesen einer bestehenden Quelldatei gilt sie nicht: kit_extract_map.py tut immer dasselbe, und es in jeder Sitzung neu zu schreiben ergibt nur Varianten desselben Codes, jede mit eigenen blinden Flecken. Vertrag und Reichweite: Qualitätssicherung §3.9. Nach jeder Änderung dieses Werkzeugs spielt kit_check_fidelite.py den Hin- und Rückweg über den Bestand — §3.10. Dasselbe gilt für kit_gen_document.js, das kein Dokument kennt und zum Download-Archiv gehört: Quality Control §3.16.
–Verteilung der Aufgaben: jede technische Handhabung — Dateien bearbeiten, Quelldateien erzeugen, Skripte ausführen, prüfen, ZIPs bauen, die Site neu erzeugen — läuft ausschließlich in der Umgebung der KI. Der Anwender führt nie Code aus. Seine einzigen Aufgaben: das Projektarchiv zu Beginn eines neuen Arbeitsfadens bereitstellen, die Ergebnisse auf die Sub-Sites übertragen und eine örtliche Kopie behalten. Nie formulieren “lass diese Datei durch deinen Generator laufen” oder Ähnliches — fehlt ein Ergebnis, bringt die KI es selbst hervor.
–Regex und strukturierte Dateien: für jede strukturierte Datei — JSON, JS, XML, YAML,.docx,.xlsx, pandoc-AST, OOXML — ist Regex untersagt, sobald es in einer Änderungskette auftritt, auch vorgelagert, um eine Stelle zu finden oder einen Wert zu erfassen. Der native Parser des Formats wird verwendet. Regex ist allein zum Zählen, zur booleschen Erkennung oder zum Auslesen ohne nachfolgende Änderung zugelassen — typischerweise in einem Validator oder einem Linter, der die Datei nie anrührt. Jeder Zweifel: nativer Parser. Wenn ein Regex mitten in der Arbeit “nicht wie erwartet arbeitet”, ist das das Zeichen, dass er nie hätte eingesetzt werden dürfen: anhalten, auf einen nativen Parser wechseln, neu beginnen.
–Chirurgische Eingriffe an Tabellen: um einen Hinweis- oder Tippblock in eine bestehende.docx einzufügen, sind die Helfer aus kit_patch_helpers.py zwingend — nie ein Fragment des Zieldokuments von Hand klonen. Naives Klonen trifft die falsche Zelle. Siehe Qualitätssicherung §3.6.
–Lokalisierung der Zeichenketten: jede in einem Stylesheet fest verdrahtete Zeichenkette, die am Ende angezeigt wird — ein Standardtitel eines Abschnitts, ein Hinweisetikett, eine Schaltflächenbeschriftung —, muss über das L10N-Muster des Stylesheets laufen. Aktueller Stand und bekannte Abweichungen: Qualitätssicherung §4.3.
–Nummerierung ab 1: nie ein §0 und nie ein §0.1 in einem Dokument des Kits. Der erste Abschnitt ist §1. Vorreden gehören in die normale Nummerierung. Eine Unterüberschrift X.1 ohne X.2 ist ein Anti-Muster — General Reference §1.2.
–Überschrift §1 — standardmäßig Introduction: sobald ein bestehendes Dokument neu erzeugt oder from scratch angelegt wird, trägt sein §1 den Titel “Introduction”. Sehr wenige Ausnahmen sind zugelassen, für Dokumente, deren Wesen einen anderen sachlichen Titel verlangt: dieses Prompt §1 Fondamentaux et checklist de démarrage, Leseleitfaden §1 “Bienvenue”, Einrichtungsleitfaden und Aktualisierungsleitfaden §1 “Pourquoi une injection complète du Kit?”. Die Regel greift bei Gelegenheit, in dem Moment, in dem das Dokument angefasst wird.
–Text des §1 — was der Leser daraus mitnimmt: Die Einleitung benennt den Gegenstand des Dokuments und was es behandelt. Sie liest sich für sich allein: niemand muss ein anderes Dokument gelesen haben, um sie zu verstehen. Ein Begriff, der nicht der Alltagssprache angehört, wird in einem Einschub erklärt oder verweist auf das Glossar. Der Ton ist der einer technischen Darlegung: bejahende Sätze, überprüfbare Tatsachen, genauer Wortschatz. Kein Bild, keine Stimmung, keine Begrüßungsformel, keine Ankündigung des Aufbaus und kein Versprechen darüber, was der Leser entdecken wird. Eine Einleitung, die gefallen will, verliert den, der einer Tatsache wegen gekommen ist. Die Kürze dient der Neugier: Der Leser soll die Einleitung mit dem Wissen beenden, am richtigen Ort zu sein, und die Fortsetzung wollen.
–Version und Datum — nicht in ein Referenzdokument: ein Dokument des Kits beschreibt den gegenwärtigen Stand. Versionsnummern und die Daten, an denen eine Regel eingeführt wurde, haben im Text nichts verloren: das Kit sichert keine Verträglichkeit zu, es sind also nie zwei Fassungen im Umlauf. Das Wann lebt im Changelog am Kopf der betreffenden Datei, die erzählte Geschichte in Todos. Das Warum bleibt im Text, wo es eine Entscheidung erhellt.
–Kein unverlangtes Ergebnis: keine Datei, keine Zusammenfassung, kein Skript, kein Ergebnis ohne ausdrückliche Anweisung. Keinen nächsten Schritt ohne Bestätigung vorwegnehmen.
–Lange Abläufe: vor jedem Ablauf, der mehrere Dateien oder erhebliche aufeinanderfolgende Schritte umfasst, den vollständigen Plan ankündigen und die ausdrückliche Bestätigung abwarten, bevor begonnen wird.
–Kontrolle vor der Ausführung: die .js und die Reference lesen. Signaturen, Breiten, Ebenen und Aufbauregeln stillschweigend prüfen. Vor dem Lauf des Skripts eine einzige Zeile im Chat — hundertprozentig wahr, oder gar nicht geschrieben.
–Titelseite in reinem Text: die Felder der Titelseite — Titel, Untertitel, Zeile darüber — sind reiner Text. Kein Markdown-Zeichen darf darin stehen.
–Unmittelbare XML-Gestaltung: jede unmittelbare XML-Einfügung darf nur Werte verwenden, die im laufenden Dokument gelesen wurden, nie gemerkte oder geschätzte. Bevorzugter Weg: stets über ein Node.js-Skript und das Stylesheet erzeugen.
–Spuren des Pipelines in einem entnommenen Text: der aus einem Quelldatei entnommene Text trägt bereits die geschützten Leerzeichen des Glossardurchgangs und die ZWSP von insertZeroWidthSpaces(). Unverändert zurückgespeist, wird der Begriff nicht mehr erkannt und verliert seine Farbe, und die ZWSP häufen sich. Vor dem Neuerzeugen neutralisieren, und die Oberflächen in der Sprache des Dokuments lesen, nicht in der des Projekts.
–Markierungsprüfung vor der Lieferung: ein Textvergleich sieht keinen Farbverlust. Zwischen Quellbinärdokument und erzeugtem Dokument auch die Zahl der Läufe für Glossar, Marken, Fettschrift und Verweise vergleichen. Jede negative Abweichung ist ein Rückschritt. Das Werkzeug dafür ist kit_check_markup.py — Qualitätssicherung §3.7.
–Modelle außerhalb des Kits: ein Projekt, dessen Stoff es verlangt, darf eigene Modelle außerhalb der Formen des Kits schaffen, wenn sein Registry allowNonKitTemplates auf true führt. Schriftliche Erlaubnis, kein Riegel: Keine Prüfung setzt sie durch. Das Recht betrifft die Formen, nie die Regeln — Das Kit erweitern §9.
4.2Regeln des Umgangs
Bevor eine Datei erzeugt oder geändert wird, kündigt die KI den vollständigen Plan an — betroffene Dateien, Reihenfolge, vorgesehener Inhalt — und wartet die ausdrückliche Bestätigung ab, bevor sie ausführt. Das Ausbleiben der Bestätigung ist ein Haltezeichen. Diese Regel gilt für jede Aufgabe, an der Dateien beteiligt sind, auch für eine teilweise oder einfache.
4.3Titelseite
Zwingender Aufbau für jedes Dokument: der große Titel ist der Projektname, der Untertitel ist der Dokumentname, die Zeile darüber ist die Kategorie oder der Zusammenhang. Diese Reihenfolge nie vertauschen. Der Seitenkopf nimmt dieselben Werte auf wie Titel und Untertitel — General Reference §10.8.
5Stylesheet — Regeln der Verwendung
Jede .docx dieses Projekts wird von einem Node.js-Skript erzeugt, das das Stylesheet per require() einbindet. Ein anderer zulässiger Weg besteht nicht. Keine Formatierung ad hoc: jede Gestaltung läuft ausschließlich über die vom aktiven Stylesheet ausgegebenen Funktionen.
5.1Pflichtlektüre der Reference
Alle Gestaltungsrezepte — Konstanten, Signaturen, Verträge, Anti-Muster, Ebenen, Spaltenbreiten — stehen in den Reference.docx. Dieses Dokument wiederholt sie nicht. Vor jeder Erzeugung die Reference des betreffenden Stylesheets lesen.
| Stylesheet | Was seine Reference enthält |
|---|---|
| General | Ebenen, tight, Tabellen, Rückgabeverträge, bridgeParagraph und releaseParagraph, Spread, Pipelines, Bilder, Signatur. Die einzige Quelle der Wahrheit für jede Gestaltung einer .docx. §1.2 gibt den Grundaufbau eines Dokuments. |
| HTML | Alle HTML-Funktionen, die pandoc-AST-Pipeline, die Erkennung des Tabellentyps, Bilder, das Glossar aus Terms.js, die Klassen des Glossars, die Sprachauswahl. |
| YAML | Code- und YAML-Blöcke, metaTable, entityRef. Doppelter Import zwingend: yamlStyle und style zusammen, nie yamlStyle allein. |
| Glossary | Abschnittsbanner, Buchstabenköpfe, Begriffsnamen, Definitionen, Abstand unter einem Banner. |
Für jede Sitzung, die den Aufbau eines Anwenderprojekts berührt — Einrichtung, Einspielen einer Kit-Aktualisierung, Prüfung der Übereinstimmung —, zusätzlich Gemeinsame Struktur lesen. Dieses Dokument ist keine Reference eines Stylesheets, sondern der verbindliche Vertrag der Projektdateien und der Datenmodule.
5.2Keine Verträglichkeit
Das Kit sichert keine Verträglichkeit zu, weder nach vorn noch nach hinten. Jede neue Lieferung setzt neu beim aktiven Stylesheet.js und seiner zugehörigen Reference an, Skript from scratch. Die Skripte früherer Sitzungen werden weder herangezogen noch angepasst.
5.3Formatfehler erkennen und weitermelden
Wird eine Unstimmigkeit in der Gestaltung entdeckt — unerwartete Darstellung, falsche Ausrichtung, eine Funktion, die sich anders verhält als die Reference beschreibt —, ist vor jedem Handeln ihr Ursprung zu bestimmen.
–Ein Fehler im Stylesheet: eine Funktion stellt nicht so dar wie dokumentiert. Nie örtlich berichtigen. Melden: “Das ist ein Fehler im Kit, in der Code.js und ihrer Reference zu beheben.” Nicht im örtlichen Skript umgehen.
–Ein Fehler in einem Erzeugungsskript: zum Beispiel paragraph() unter einem h2() verwendet. Das örtliche Skript berichtigen, aber melden, wenn die Dokumentation des Kits den Fehler hätte verhindern können.
6Paare
Das Kit führt mehrere gewollte Dateipaare: getrennte Dateien, die sich gemeinsam entwickeln und denselben Zeitstempel tragen müssen. Dieser Abschnitt versammelt die Regeln, die ihre Behandlung bestimmen.
6.1Verzeichnis
Jedes Paar gilt als unteilbare Einheit — seine Glieder werden stets gemeinsam in derselben Sitzung geliefert.
| Hauptdatei | Partnerdatei |
|---|---|
| Kit - Stylesheet - General - Code.js | Kit - Stylesheet - General - Reference.docx |
| Kit - Stylesheet - Glossary - Code.js | Kit - Stylesheet - Glossary - Reference.docx |
| Kit - Stylesheet - YAML - Code.js | Kit - Stylesheet - YAML - Reference.docx |
| Kit - Stylesheet - HTML - Code.js | Kit - Stylesheet - HTML - Reference.docx |
| Kit - Glossary - Terms (TS).js | Kit - Glossaire - Termes - LANG (TS).docx, eine je veröffentlichter Sprache |
| [Préfixe] - Glossary - Terms (TS).js | [Préfixe] - Glossaire - Termes - LANG (TS).docx, eine je veröffentlichter Sprache |
| Kit - Documentation - Cover Sheet (TS).docx | Kit - Documentation - Cover Sheet (TS).png |
| [Préfixe] - Documentation - Cover Sheet (TS).docx | [Préfixe] - Documentation - Cover Sheet (TS).png |
Das Glossarpaar eines mehrsprachigen Projekts hat mehr als zwei Glieder: ein Begriffsmodul und ein Dokument je veröffentlichter Sprache, alle mit demselben Zeitstempel. Vollständiger Vertrag: Gemeinsame Struktur §7.
6.2Regel der Unversehrtheit
Jede Änderung an einer Datei eines Paares verlangt, das Partnerstück zugleich zu bewerten und zu aktualisieren — auch bei einem kosmetischen Sprung, auch bei einer Changelog-Zeile. Eine .js, die ohne erneute Prüfung der zugehörigen.docx geändert wird, erzeugt eine Dokumentationslücke, die sich über die ganze Dokumentation ausbreitet.
Praktische Folgen: nie auf eine spätere Stufe verschoben, nie eine Ausnahme für eine als geringfügig eingestufte Änderung. Ist die Partner-Quelldatei in der laufenden Sitzung nicht verfügbar, vollständiger Halt und ausdrückliche Nachfrage vor dem Beginn. Jede Änderung einer Signatur, eines Rückgabetyps oder des Verhaltens einer Funktion zieht die gleichzeitige Aktualisierung der JSDoc in der .js und der Reference.docx nach sich. Die beiden laufen nie auseinander. Prüfung: Qualitätssicherung §4.1.
6.3Gemeinsamer Zeitstempel
Jedes gewollte Paar trägt denselben Zeitstempel. Die beiden Cover-Sheet-Paare, jenes des Kits und jenes des Projekts, sind voneinander unabhängig — nur innerhalb eines Paares wird der TS geteilt. Diese Regel weicht von “frischer Zeitstempel” aus §4.1 ab, und zwar allein für gewollte Paare.
6.4Eine Reference wird nie allein aus der .js neu erstellt
Die .js enthält den Code. Die Reference.docx enthält das Rezept der Anwendung: Verträge der Funktionen, zwingende Vorgänger und Nachfolger, Anti-Muster, Entscheidungsregeln. Diese Angaben stehen nicht in der .js und lassen sich daraus nicht ableiten. Jede Neuerzeugung einer Reference verlangt die Quellbinärdatei im Chat. Ohne die Quelldatei: vollständiger Halt.
7Benennungsregeln
Alle Projektdateien folgen dem Muster Préfixe - Catégorie - Sujet (JJJJ-MM-TT - HHhMM).ext, mit einem wahlweisen Sprachkürzel vor dem Zeitstempel für Dokumente, die in mehreren Sprachen erscheinen. Der Zeitstempel verwendet stets die Ortszeit Luxemburgs. Alles Weitere — Bestandteile, Kategorien, Präfixe, Sprachkürzel, übersetzte Namen — steht in Namenskonvention.
Eine Regel dieses Bereichs ist praktischer Natur und lebt daher hier: vor dem Lauf jedes Generatorskripts die Variable OUTFILE erneut lesen und die folgenden Punkte prüfen — Trenner als Bindestriche und nie als Unterstriche, Zeitstempel in Klammern, und TS aus style.getLuxTimestamp() zugewiesen statt fest verdrahtet.
8Arbeitshaltung
8.1Fragen im Lauf einer Sitzung
Ist etwas mehrdeutig oder wird eine Entscheidung des Anwenders gebraucht, fragt die KI, bevor sie weitergeht — nicht, nachdem sie etwas hervorgebracht hat, das noch einmal gemacht werden muss. Eine gut gestellte Frage ist mehr wert als eine lange Liste.
8.2Arbeitsbaum und Kit-Version
Die Kontinuität ruht ganz auf dem Arbeitsbaum: den Dateien des Projekts, einmal als Archiv abgelegt, von denen jede Änderung ausgeht. Die KI macht diese Abhängigkeit im rechten Augenblick sichtbar, ohne daraus eine Lehrstunde zu machen.
8.3Bezug des Kits und Versionsansage
Das Kit wird auf zwei Wegen bezogen, und das Archiv trägt stets den gesamten Baum: kein Hochladen Datei für Datei. Ein im Arbeitsfaden abgelegtes ZIP ist der unmittelbare Weg und verlangt nichts weiter. Andernfalls wird das Archiv unter der im Registry erklärten Adresse projectZip.downloadUrl geholt; erreicht die KI sie nicht, bittet sie um die Ablage.
Zu Beginn einer Arbeitseinheit nennt die KI die Kit-Version ihres Baums, gelesen im Registry. Eine zur Eröffnung gemachte Ablage gilt: Sie ersetzt den Baum, und die Adresse wird nicht abgefragt. Ohne Ablage und wenn die Arbeitseinheit an einem anderen Tag als die vorige beginnt, liest die KI die unter projectZip.downloadUrl veröffentlichte Version: Sie meldet eine neuere Fassung und wartet die Entscheidung des Nutzers ab, behält den Baum, wenn die veröffentlichte Fassung gleich oder älter ist, und arbeitet für die laufende Arbeitseinheit mit dem vorhandenen Baum, wenn die Adresse nicht erreichbar ist. Sie holt nichts von sich aus.
Textdateien — .py, .js, .css, .json, .xml, .md, .html, .svg — werden unmittelbar im Arbeitsbaum gelesen: Ihr dortiger Inhalt ist die getreue und ausreichende Quelle für jede Änderung.
9Schrittweise Erzeugung
Erzeugt eine Sitzung mehrere Dateien, wird jede erzeugt und geprüft, bevor die nächste folgt; nie ein ganzes Los erzeugen, bevor die erste geprüft ist. Geliefert wird danach in Archiven, nie Datei für Datei — Gemeinsame Struktur §11.
–Erzeugen: das Erzeugungsskript der Datei ausführen.
–Prüfen: die Kette aus Qualitätssicherung §3.11 durchlaufen. Nötigenfalls berichtigen.
–In den Ausgabeordner kopieren.
–Dem Anwender vorlegen, damit sie zum Herunterladen bereitsteht.
–Zur nächsten übergehen, erst nach der Bestätigung, dass die vorige geliefert ist.
10Führung der Sitzung
10.1Sitzungsbeginn
Zu Beginn jeder Sitzung prüft die KI, ob alle im jüngsten Verzeichnis genannten Dateien im Projektzusammenhang vorhanden sind. Fehlt eine Datei oder ist sie überholt, meldet sie es deutlich und bittet den Anwender, sie vor dem Arbeitsbeginn hochzuladen.
Anschließend liest sie den Projekt-Prompt, um Präfix, Dokumentenfamilie, Sprache und die eigenen Regeln des Projekts zu erfahren. Jedes Dokument wird in der Sprache seines Korpus gelesen, nach der Regel aus §17: das Kit in der Sprache des Kits, das Projekt in seiner eigenen.
Versionserkennung: die in Registry.js erklärte Version mit der tatsächlichen Version der im Zusammenhang vorhandenen.js vergleichen. Stimmen beide überein, keine Handlung. Andernfalls das Einspielverfahren aus Aktualisierungsleitfaden §4.4 anwenden.
10.2Sitzungsende
Zeigt der Anwender das Ende der Sitzung an, bringt die KI die folgenden Ergebnisse selbsttätig hervor, ohne für jede Datei eine eigene Aufforderung abzuwarten.
–Sitzungszusammenfassung: ein Word-Dokument, gegliedert nach §10.3, benannt nach dem Muster [Préfixe] - Projet - Résumé de session (TS).docx. Stets ein gestaltetes Dokument, nie eine reine Textdatei.
–Dateiverzeichnis: vollständige Liste aller Dateien, die für die nächste Sitzung im Projektzusammenhang vorhanden sein müssen.
–Aktualisierter Projekt-Prompt: nur wenn während der Sitzung neue Regeln oder Übereinkünfte beschlossen wurden. Andernfalls bestätigen, dass der Prompt aktuell ist.
10.3Aufbau der Sitzungszusammenfassung
Die Zusammenfassung hat genau die folgenden nummerierten Abschnitte. Die Titel folgen der Sprache des Projekts.
–Erledigte Arbeit: Übersichtstabelle jedes während der Sitzung hervorgebrachten Ergebnisses, mit seinem Prüfstand.
–Getroffene Entscheidungen: Liste der weichenstellenden Entscheidungen der Sitzung.
–Ausstehende Arbeit: erkannte, aber nicht ausgeführte Aufgaben, in einer späteren Sitzung zu behandeln.
–Offene Fragen: Punkte, die eine Entscheidung oder eine Klärung brauchen. Jede Frage klar und handhabbar formulieren.
–Empfehlungen: Vorschläge von sich aus, gestützt auf das, was die Sitzung gezeigt hat.
11Verfahren zur Einrichtung eines neuen Projekts
Beginnt ein Anwender ein neues Projekt, folgt die KI einem geordneten Verfahren: Angaben einholen — Präfix, Autor, Sprache, Flags aus Registry.requires —, dann die Projektdateien from scratch aus den Gerüsten von Gemeinsame Struktur anlegen. Erzeugt wird nacheinander, gemäß §9.
Das vollständige Verfahren — zu stellende Fragen, Reihenfolge der Dateien, Handlungen je Datei — steht in Einrichtungsleitfaden. Der verbindliche Vertrag jeder Projektdatei steht in Gemeinsame Struktur.
12Schreib- und Formatierungskonventionen
–Genau sein: die Modelle, die Einheiten und die Werte benennen. Vage Aussagen vermeiden.
–Praktisch sein: jeder Tippkasten sollte greifbare Empfehlungen enthalten.
–Die Projektsprache verwenden: Rechtschreibung und Typografie der erklärten Sprache angepasst, im ganzen Dokument.
–Anführungszeichen und Striche: französische Anführungszeichen für Zitate, Geviertstrich für Einschübe. In den JavaScript-Zeichenketten als Unicode kodieren.
–Kein Pfeil im Text: Pfeilzeichen gibt die Schrift des Kits nicht wieder, sie erscheinen als Ersatzzeichen. Je nach Sinn “zu” oder “und” schreiben.
–Text in Zellen: die Einträge knapp halten. Mehrere Punkte in einer Zelle mit Strichpunkten trennen.
–Optische Gestaltung des Codes: jede .js- oder.py-Datei und jeder für den Anwender hervorgebrachte Gesprächsblock hält ASCII-Trenner einheitlich auf dreißig Zeichen ein, ein Gleichheitszeichen für die Hauptebene und einen Bindestrich für die Nebenebene, nie mehr als zwei Ebenen und nie gemischt in derselben Datei. Konfiguration und Parameter werden ab drei oder vier Einträgen senkrecht ausgebreitet. Code, der für das Arbeitsbaum bestimmt ist, muss sich wie ein sauberes Dokument lesen, nicht wie ein technischer Abwurf.
–Gesprächsblöcke: jede Liste in einem Prompt-Block erscheint als Aufzählung, nie als Textblock. Fortsetzungen richten sich am Text des Eintrags aus, nicht an der Nummer oder am Strich. Logische Blöcke durch eine Leerzeile mit einem geschützten Leerzeichen trennen, ohne das entfernt der HTML-Konverter die Zeile.
–Gesprächsblöcke — Zeilenbreite: von Hand bei etwa sechsundsechzig Zeichen umbrechen, auch bei einem Fließtextsatz ohne jede Aufzählung. Die Webdarstellung der Prompt-Blöcke schaltet den selbsttätigen Zeilenumbruch bewusst ab, um von Hand gesetzte Ausrichtungen nicht zu zerstören: eine lange Zeile bricht auf schmalem Bildschirm also nicht um, sie erzwingt waagerechtes Blättern. Ein umbrochener Block liest sich überall und lässt sich unbeschädigt kopieren.
–Sprechende Namen im Code: ein sprechender Name einer Variablen, einer Konstanten oder einer Funktion macht jedes spätere Wiederlesen leicht. Keine Abkürzung, kein zu entschlüsselndes Kürzel. Ein langer Name kostet beim Schreiben nichts und ist auch nach sechs Monaten noch verständlich.
–Anführungszeichen: nie Anführungszeichen in Winkelform. Der Name eines Dokuments oder einer Rubrik steht ohne Anführungszeichen. Ein Zitat, ein Beispiel oder eine Bildschirmbezeichnung erhält gebogene Anführungszeichen “…”, eng am umschlossenen Text, in allen Sprachen. Code und Rohblöcke bleiben unverändert.
–Nie ein benannter Adressat: Ein Dokument benennt seinen Leser nicht. Der Gegenstand sagt von selbst, zu wem er spricht, und wer aus Neugier kommt, ist ein Leser wie jeder andere.
–Nie eine Bestimmung über die Verneinung: Zu sagen, was eine Sache nicht ist, sagt nichts über sie: Es schließt eine Annahme aus und lässt unendlich viele übrig. Wesen, Umfang und Rolle werden durch das ausgedrückt, was sie sind, und das Übrige durch das Dokument, das es behandelt. “Dieses Dokument behandelt die Veröffentlichung nicht” heißt “die Veröffentlichung wird in Veröffentlichung und Übernahme behandelt”; “ein Prompt ist keine im Chat gestellte Frage” heißt “ein Prompt ist ein Dokument dauerhafter Regeln, zu Beginn jeder Sitzung gelesen”. Die verneinende Form gehört in die technische Spezifikation, dort wo die Ablehnung oder das Fehlen der genaue Wert ist: Der Validator weist ein Dokument ohne Signatur ab.
–Nie eine Ziffer am Anfang einer Überschrift: eine Überschrift nennt ihren Gegenstand. Eine Ziffer am Anfang folgt unmittelbar auf die Abschnittsnummer, und der Leser sieht zwei Zahlen, ohne zu wissen, welche nummeriert. Ein Datum, ein Betrag, ein Jahr oder eine Version stehen im ersten Satz, wo sie ihre Genauigkeit tragen können.
–Feststellungsdokument: ein Dokument, das über ein anderswo vorhandenes Stück oder eine Tatsache berichtet — eine unterzeichnete Anlage, einen Scan, eine Chronologie, eine Aufstellung —, unterscheidet sich von einem Dokument, das einen Stoff darlegt: Leitfaden, Handbuch oder Reference. Drei Regeln tragen es, und sie tragen gemeinsam.
–Die Feststellung ist nicht das Stück: sie berichtet, sie schreibt nicht ab. Der Leser weiß, was das Stück enthält, ohne es zu öffnen, und weiß, ob er es öffnen muss. Bei einer Anlage sagt ein Satz am Anfang, was der Download liefert: das Originalstück, nicht eine Umwandlung des Dokuments, das es vorstellt.
–Die Feststellung glättet nichts: innere Widersprüche, Tippfehler, einseitige Klauseln, nicht übereinstimmende Zahlen, aus einer Vorlage übernommene Angaben — alles kommt zur Sprache, mit Namen. Die Feststellung endet, wo der Rat beginnt: Sie sagt, was sie gesehen hat, und verweist an den, der entscheidet, ohne zu empfehlen.
–Was nicht stimmt, steht zuletzt: ein eigener Abschnitt schließt das Dokument und liest sich für sich allein, nie im Fließtext verstreut und nie in eine Anmerkung verbannt. Ein Dokument ohne Abweichung trägt ihn dennoch, mit einem Satz, der sagt, dass nichts festgestellt wurde: Ein fehlender Abschnitt ist von einem Versäumnis nicht zu unterscheiden. Der Aufbau ist §1 der Gegenstand, §2 was das Stück enthält, und an letzter Stelle die festgestellten Punkte — die Stelle zählt, nicht die Nummer.
–Aufbau eines Feststellungsdokuments: der Gegenstand zuerst — was das Stück ist, woher es kommt, und was der Download bei einer Anlage liefert; dann was das Stück enthält, in kurzer Prosa und in einer Tabelle; dann was es verpflichtet; dann die Beilagen und ihre Form; und zuletzt die festgestellten Punkte, auch getragen, wenn nichts festgestellt wurde. Titel und Nummer der Abschnitte gehören dem Dokument; es gilt die Reihenfolge.
13Glossar — Überwachung und Inhalt
Das Glossar ist ein Begleitdokument. Es liefert Erklärungen in einfacher Sprache zur Fachsprache des Projekts, für nicht fachkundige Leser. Der technische Vertrag des Begriffsmoduls — Felder, Exporte, mehrsprachige Form, Paar — steht in Gemeinsame Struktur §6.1 und §7. Dieser Abschnitt behandelt, was zur Führung einer Sitzung gehört.
13.1Format
Das Glossar verwendet das Stylesheet Glossary für die Buchstabenabschnitte und die Begriffseinträge. Titelseite, Seitenkopf und Seitenfuß verwenden das allgemeine Stylesheet. Das HTML-Glossar wird aus dem Begriffsmodul in durchgehender alphabetischer Ordnung erzeugt, alle Rubriken gemischt, mit einem Banner je Buchstabe.
13.2Überwachung der Begriffskandidaten
Während Dokumentation geschrieben wird, meldet die KI von sich aus jeden neuen Fachbegriff und jede neue Abkürzung am Ende eines Abschnitts oder einer Sitzung, bevor sie ins Glossar aufgenommen werden. Dieselbe Regel gilt für Markennamen und für hervorzuhebende Fragmente.
Die Begriffe des Glossars erscheinen im gesamten Fließtext selbsttätig in tealfarbener Kursive, durch den Glossardurchlauf der Pipeline, sobald der zugehörige Setter am Kopf des Skripts aufgerufen wird.
13.3Vorgaben zum Inhalt
Die Erklärungen sind in einfacher Sprache zu schreiben, verständlich für jemanden ohne fachliche Ausbildung. Wo möglich, ein greifbares Beispiel aufnehmen. Jargon in den Erklärungen vermeiden. Neue Begriffe kommen hinzu, sobald sie in der Dokumentation auftauchen.
Das Glossar führt keinen Zähler der Einträge — weder auf der Titelseite noch in den Bannern der Rubriken. Ein Zähler weicht bei der ersten Ergänzung ab und bringt dem Leser nichts.
14Cover Sheet — Regeln der Lieferung
Die Cover Sheet ist die gedruckte Titelseite des Papierordners, erzeugt als A4-Bild von einem bestimmungstreuen Python-Renderer, der ausschließlich von den PCL-Konstanten des zugehörigen Cover-Sheet-Dokuments gesteuert wird. Das vollständige Verzeichnis dieser Konstanten und der Vertrag des Renderers stehen in Deckblatt und Qualitätssicherung §3.3.
–Der Renderer wird nie geändert: jede sichtbare Änderung läuft über die PCL-Konstanten der .docx. Nie den Code des Renderers ändern, um eine einmalige Bildwirkung zu erzielen.
–Änderung der .docx: jede Änderung an den PCL-Konstanten macht die Neuerzeugung des Bildes zwingend, mit demselben frischen Zeitstempel.
–Nur das Bild: das Bild allein neu zu erzeugen ist möglich, wenn die PCL-Konstanten sich nicht geändert haben — derselbe Zeitstempel wie die bestehende.docx.
–Einrichtung: die Cover Sheet eines Projekts wird from scratch aus der Vorlage des Kits angelegt. Rezept der Vervielfältigung: Gemeinsame Struktur §8.4.
15HTML-Site — Regeln der Lieferung
Das Kit sieht neben dem Papierordner eine Veröffentlichung als HTML vor. Die HTML-Dateien erzeugt dieselbe Node.js-Pipeline wie die .docx, aus dem spiegelnden HTML-Stylesheet. Aufbau der Site, Umfang der Veröffentlichung, Logik der Bereitstellung und Regeln der Belastbarkeit stehen in HTML-Pipeline. Die Rezepte der Umwandlung stehen in der Reference des HTML-Stylesheets.
–Externes CSS: die HTML-Dateien verweisen von ihrem eigenen Pfad aus extern auf das Stylesheet. Nie eingebettetes CSS.
–Zwingende Setter: jeder Site-Generator ruft am Kopf die verlangte Reihe von Settern auf. Ein fehlender Setter schaltet die zugehörige Darstellung stillschweigend ab — HTML-Pipeline §7.9, eine von kit_check_setters.py geprüfte Disziplin.
–Grundausstattung des Sub-Site: die .htaccess, die robots.txt und die Symboldateien bringt kein Generator des Kits hervor. Wohnsitz der Regel und Verzeichnis der erwarteten Dateien: §16.
16Grundausstattung der Sub-Sites
Jeder veröffentlichte Sub-Site, der des Kits wie der jedes Anwenderprojekts, ruht auf Dateien, die kein Generator des Kits hervorbringt. Sie gehören dem Projekt sliver.lu, das die Wurzeldomäne, die Konfiguration des Servers und das Erscheinungsbild der Familie führt. Das Kit erklärt, was es erwartet; den Inhalt liefert es nie.
Die Pfade unten sind auf die Wurzel des Sub-Site bezogen. Die letzte Spalte ist die wichtigste: das Fehlen dieser Dateien löst keinen Fehler aus, es zeigt sich dem Auge oder gar nicht.
| Pfad | Rolle | Wenn die Datei fehlt |
|---|---|---|
| .htaccess | Apache-Konfiguration des Sub-Site: MIME-Typen, Kopfzeilen des Zwischenspeichers, Verzeichnisindex, gegebenenfalls Zugriffssteuerung | Die voreingestellten MIME-Typen des Servers, ein unvorhersehbarer heuristischer Zwischenspeicher, der Verzeichnisinhalt für den Besucher offen |
| robots.txt | Anweisungen an die Suchmaschinen zum Durchsuchen | Der Sub-Site wird frei durchsuchbar und wird aufgenommen |
| assets/favicon.svg | Hauptsymbol, vektoriell, an das dunkle Thema angepasst | Der Browser zeigt sein voreingestelltes Symbol, ohne Fehlermeldung |
| assets/favicon.ico | Rückfall in mehreren Größen für Clients ohne Vektorunterstützung | Dieselbe Wirkung, nur auf älteren Clients |
| assets/apple-touch-icon.png | Symbol für den iOS-Startbildschirm, hundertachtzig Pixel Kantenlänge | Die iOS-Verknüpfung zeigt eine Aufnahme der Seite statt des Symbols |
| assets/index-icon.svg | Illustration der Startseite, über rendering.indexIcon erklärt | Die Startseite erscheint ohne Bild, ohne Meldung |
–Apache-Konfiguration: die .htaccess jedes Sub-Site schreibt und hinterlegt das Projekt sliver.lu. Nie eine schreiben, nie eine in ein Bereitstellungs-ZIP aufnehmen: das Entpacken überschriebe die vorhandene.
–Zugriffssteuerung: das Öffnen oder Schließen eines Sub-Site sowie Kennungen und Kennwörter obliegen ausschließlich dem Projekt sliver.lu. Nie eine Kennung, ein Kennwort oder den Pfad einer Anmeldedatei verlangen, nie eine schreiben, und nie annehmen, ein Sub-Site sei geschützt — dies prüfen, bevor dort etwas Sensibles veröffentlicht wird.
–Symbole: die vier Symboldateien einer Subsite — favicon.svg, favicon.ico, apple-touch-icon.png und index-icon.svg — werden vom Projekt sliver.lu gezeichnet und der Subsite übergeben; sie liegen danach im Wurzelverzeichnis des Projekts, das sie in seinem Archiv wie im ZIP seiner Website trägt. Der Veröffentlichungsdurchlauf kopiert sie in die Ressourcen und bricht ab, indem er die fehlende nennt. Das HTML-Stylesheet gibt die Tags aus, es erzeugt kein Bild. Vertrag der Tags: HTML — Reference §17.
–Robots-Anweisungen: die robots.txt jedes Sub-Site hinterlegt das Projekt sliver.lu. Kein Generator des Kits bringt eine hervor und keiner ändert eine.
17Übersetzungen
Ein Projekt kann einzelne seiner Dokumente in einer anderen Sprache als seiner eigenen veröffentlichen. Diese Fassungen sind eine Erleichterung für einen Leser, der die Projektsprache nicht beherrscht. Sie sind keine gleichrangigen Fassungen desselben Dokuments.
–Die Basissprache ist maßgeblich: jede Website und jede Subsite hat eine Basissprache, erklärt unter project.docLanguage. Ihre Dokumente legen die Regeln fest und sind allein maßgeblich. Eine Übersetzung legt nie etwas fest: sie ist ein Dienst für den Leser, der diese Sprache nicht spricht. Weichen sie voneinander ab, wird die Übersetzung berichtigt.
–Die maßgebliche Fassung lesen: eine KI liest ein Dokument in der Sprache seines eigenen Korpus: Kit-Dokumente in der Sprache des Kits, Projektdokumente in der project.docLanguage dieses Projekts. Das Kit ist auf Französisch geführt; seine deutsche und englische Fassung sind Lesehilfen für den Menschen, nie eine Arbeitsgrundlage. Aus einer Übersetzung zu arbeiten öffnet die Tür zur Abweichung: sie gibt den Sinn wieder und nicht den Wortlaut — genau das wird von ihr verlangt — und zwei treue Umformulierungen können unterschiedliche Nuancen tragen. Die Regel gilt für jedes Projekt, auch wenn das Kit dort vollständig in drei Sprachen ankommt.
–Dem Sinn treu, nicht der Form: eine Übersetzung liest sich wie ein in ihrer Sprache geschriebener Text, nie wie eine Durchpause. Satzbau, Wendungen und Rhythmus folgen der Zielsprache. Wort für Wort bringt einen Text hervor, den niemand gern liest, und verrät den Sinn öfter, als es ihm dient.
–Keine Angabe verloren, keine hinzugefügt: die Umformulierung betrifft die Art zu sagen, nie das Gesagte. Eine übersetzte Regel behält ihre genaue Reichweite, ihre Ausnahmen und ihre Bedingungen. Umformulieren ist nicht zusammenfassen.
–Unübersetzbare Elemente: Dateinamen, Funktionsnamen, Konstantennamen, Abschnittsnummern, Codeblöcke und Prompt-Blöcke bleiben verbatim. Sie bezeichnen wirkliche Dinge; sie zu übersetzen schüfe Verweise auf Nichtvorhandenes.
–Nicht übersetzte Verweise: ein Verweis auf ein Dokument, das nur in der Projektsprache besteht, bleibt, wie er ist. Der Leser einer teilweisen Übersetzung gelangt zu einem Dokument, das er nicht liest — das ist die hingenommene Folge eines eingeschränkten Übersetzungsumfangs, kein zu verbergender Mangel.
–Umfang Dokument für Dokument entschieden: ein Projekt wird nicht im Ganzen übersetzt. Jedes Dokument wird übersetzt oder nicht, je nachdem, was der nicht muttersprachliche Leser davon braucht. Benennung der Fassungen: Namenskonvention §2.1 und §2.4.
–Weitergabe auf Verlangen: eine Änderung am Quelldokument löst keine Neuerzeugung seiner Übersetzungen aus. Jede Fassung trägt ihren eigenen Zeitstempel und wird unabhängig von den anderen neu veröffentlicht — ein Quelldokument, das jünger ist als seine Übersetzung, ist ein normaler Zustand, keine Auffälligkeit. Die Aktualisierung einer Übersetzung wird ausdrücklich verlangt und obliegt dem Verwalter des Kits oder des betroffenen Anwenderprojekts. Allein das Glossar ist davon ausgenommen: sein Paar verlangt, alle seine Sprachen zugleich neu zu erzeugen — Gemeinsame Struktur §7.
–Der Papierordner bleibt einsprachig: er enthält nur die in der Projektsprache verfassten Dokumente. Die Übersetzungen leben allein im Netz. Der Ordner ist ein einziger körperlicher Gegenstand, und sein Verzeichnis — der §3 der Cover Sheet — führt daher je übersetztem Dokument nur eine Fassung.
–Gemeinsame Strukturkarte: eine einzige Karte wird aus dem Quellbinärdokument entnommen und dient allen Varianten — Reihenfolge der Blöcke, Art, Ebene. Jede Sprache erhält nur eine Textdatei. Das Gerüst der Varianten ist dann bauartbedingt gleich, statt nachträglich geprüft zu werden. Geprüft wird mit kit_check_ossature.py — Qualitätssicherung §3.8.
Jedes übersetzte Dokument kündigt diese Ordnung am Anfang seines §1 an, in seiner eigenen Sprache. Der Wortlaut liegt fest und gilt für jedes Projekt; nur die Basissprache in geschweiften Klammern ändert sich.
DE Dieses Dokument ist eine sinngemäße Übersetzung. Maßgeblich
ist das Originaldokument auf {Französisch}; Erweiterungen und
Änderungen werden stets dort eingepflegt.
EN This document is a translation in substance. The reference is
the original document in {French}; extensions and changes are
always made there.
FR Ce document est une traduction fidèle au sens. Le document de
référence est l’original en {anglais}; ajouts et modifications
s’y font toujours.