Erscheinungsbild
Konfiguration
Ein Projekt wird über zwei Dateien gesteuert, mit einer klaren Trennung:
| Datei | Inhalt | Versioniert |
|---|---|---|
project.config.ts | Identität, Funktionsumfang, Zielsystem | ja |
.env | Was sich je Umgebung ändert | nein |
astro.config.ts leitet die gesamte Astro-Konfiguration aus project.config.ts ab und enthält bewusst keine eigenen Werte — sonst gäbe es zwei Wahrheiten über dieselbe Website.
Seiten
- project.config.ts — vollständige Referenz aller Bereiche
- Environment — Umgebungsvariablen und wo Geheimnisse hingehören
- Feature Flags — Flags, verbotene Kombinationen, Fixture-Builds
Validierung
Die Konfiguration wird zur Bauzeit geprüft, nicht erst im Betrieb. Ein Verstoß bricht den Build ab und nennt Pfad und Ursache:
text
Ungültige Projektkonfiguration (project.config.ts):
• forms.provider: standalone-php ist mit deployment.target "github-pages" nicht
möglich: GitHub Pages führt kein PHP ausDie Prüfung läuft in zwei Stufen. Struktur und Kombinationsregeln greifen bereits beim Import der Datei. Regeln, die Umgebungsvariablen oder installierte Pakete brauchen, laufen zusätzlich in einer Astro-Integration und greifen bewusst nur in production — ein noch nicht fertig initialisiertes Projekt bleibt dadurch lokal baubar.
Die Hintergründe stehen in ADR 0001.