Erscheinungsbild
Architektur
Grundprinzipien des Starters.
Static-first
Die Ausgabe ist statisch. Es gibt keinen Server-Runtime-Pfad und kein SSR im Standardweg. Astro-Komponenten sind der Default; clientseitiges JavaScript wird nur geladen, wenn es einen konkreten Nutzen hat.
Aktueller Stand
- Astro 7 (statische Ausgabe), TypeScript im Strict Mode
- Tailwind 4 über das Vite-Plugin, Design Tokens CSS-first in
src/styles/theme.css - Schriften über die Astro-Fonts-API, zur Bauzeit heruntergeladen und selbst ausgeliefert
- Qualitätskette über
pnpm verify, identisch in lokaler Umgebung und CI
Woher Komponenten ihre Werte bekommen
Es gibt genau einen Weg von der Konfiguration in eine Komponente:
text
project.config.ts
└─ defineProject() Schema- und Kombinationsprüfung beim Import
└─ defineAstroConfig() leitet site, Schriften und Integration ab
└─ Integration prüft Umgebung und Pakete zur Bauzeit
└─ virtual:project-config ← das lesen Layout und KomponentenKomponenten importieren nie project.config.ts direkt, sondern immer das virtuelle Modul:
astro
---
import project from 'virtual:project-config';
---
<html lang={project.site.locale}></html>Der Grund steht in ADR 0003: Ein direkter Import würde die Fixture-Builds aushebeln. Sie werden mit einer anderen Konfigurationsdatei gestartet — die Seiten würden aber weiterhin die Werte aus dem Projektstamm rendern, und die Absicherung der Feature-Flags wäre wertlos.
Verzeichnisstruktur
text
src/
├── assets/ optimierbare Originalbilder (ab M3b)
├── components/
│ ├── navigation/ Header (mobil aufklappbar), Footer
│ └── ui/ Primitives: Section, Button, Card, Prose, Alert,
│ Accordion, Badge, Input, Textarea, Select, Checkbox
├── layouts/
│ └── BaseLayout.astro
├── lib/
│ ├── config/ defineProject(), Schema, Prüfungen, virtuelles Modul
│ ├── forms/ fieldIds() — Verknüpfung Feld/Beschreibung/Fehler
│ ├── fonts.ts Schriftfamilien und Performance-Budget
│ └── navigation.ts externe Ziele, aktive Seite
├── pages/
│ ├── index.astro
│ ├── impressum.astro, datenschutz.astro Platzhalter, Inhalt aus dem Briefing
│ ├── 404.astro noindex
│ └── styleguide.astro noindex, Prüffläche der a11y-Tests
└── styles/
├── theme.css @theme Design Tokens
└── global.css Tailwind-Import, Plugin, Basis-StylesOrdner, die in späteren Meilensteinen dazukommen (components/seo, components/consent, components/forms, content/, contracts/, server/), sind in den jeweiligen Bereichen dieser Dokumentation beschrieben.
Weiterführend
- Design Tokens — Farben, Typografie, Maße, Schriften
- Layout und Komponenten — BaseLayout und die Primitives
- Architekturentscheidungen — die begründeten Festlegungen