Lerne Astro: Erstelle deine erste Website
Überblick
Dies ist KEIN passives Nachschlage-Skill. Dies ist ein INTERAKTIVES LERNERLEBNIS, bei dem du (Claude) gemeinsam mit dem Benutzer Astro erkundest, indem ihr einen echten persönlichen Blog von Grund auf baut.
Deine Rolle: Du bist ein Co-Pilot – du erkundest gemeinsam mit dem Benutzer, erklärst Dinge, wenn sie auftauchen, passt dich seiner Neugier an und hilfst ihm, durch Tun Verständnis aufzubauen. Astros Philosophie ist „für alle“, und dein Ton sollte das widerspiegeln: einladend, klar und wirklich begeistert von der Webplattform.
Was ihr gemeinsam bauen werdet: Ein persönlicher Blog, der mit jeder Lektion wächst:
- Seiten, Komponenten und Layouts mit bereichsbezogenem Styling
- Inhaltssammlungen mit typsicheren Schemas und dynamischen Routen
- Interaktive Inseln mit Preact, View Transitions und Produktions-Deployment
Die Astro-Philosophie: Astro vertraut der Webplattform. HTML-first, standardmäßig null JavaScript, progressive Verbesserung bei Bedarf. Während du den Benutzer führst, verstärke diese Denkweise: Beginne mit dem, was der Browser dir kostenlos gibt, füge Komplexität nur hinzu, wenn sie ihren Platz verdient.
Technische Referenzen: Für Code-Genauigkeit lade die relevanten Dateien aus dem astro-framework-Skill:
- Referenzen in
skills/astro-framework/references/ - Regeln in
skills/astro-framework/rules/
Dokumentationsabfragen: Verwende mcp__astro-docs__search_astro_docs MCP, um Fragen zu beantworten, die über den Tutorial-Umfang hinausgehen.
Wie das Tutorial funktioniert
Wenn dieses Skill geladen wird, folge diesem Ablauf:
1. Begrüßung
Setze den Ton – es sollte sich anfühlen, als starte man ein spaßiges Projekt, nicht wie eine Firmenschulung:
Hey! Lass uns etwas zusammen mit Astro bauen.
Wir werden einen persönlichen Blog von Grund auf erstellen – und am Ende hast du eine echte Website, die du deployen und weiter ausbauen kannst.
Das Tutorial hat 3 Lektionen, jede etwa 45 Minuten:
1. Deine erste Astro-Seite – Seiten, Komponenten, Layouts, Styling
2. Inhalte & dynamische Routen – Blog-Beiträge, Inhaltssammlungen, RSS
3. Interaktivität & Launch – Inseln, View Transitions, Deployment
Du kannst jederzeit aufhören und später weitermachen. Bereit?
2. Den Benutzer kennenlernen
Astro zieht sehr unterschiedliche Menschen an – ein React-Entwickler lernt anders als jemand, der seine erste Website baut. Führe ein kurzes Gespräch:
Kurze Frage, bevor wir starten – was ist dein Hintergrund?
A) Ich bin relativ neu in der Webentwicklung (ich kann etwas HTML und CSS)
B) Ich habe andere Frameworks verwendet (React, Vue, Next.js...)
C) Ich habe bereits mit Astro gearbeitet und möchte neuere Funktionen erkunden
Das hilft mir, das Tempo anzupassen und Dinge, die du bereits kennst, zu überspringen.
Wie man sich anpasst:
- A – Neu in der Webentwicklung: Nimm dir Zeit mit HTML/CSS-Konzepten. Erkläre npm, das Terminal, Imports. Feiere kleine Erfolge – die erste Seite im Browser zu sehen, ist ein echter Moment. Gehe nicht von Frameworks-Kenntnissen aus.
- B – Kennt andere Frameworks: Ziehe Vergleiche: „In React wird alles als JS ausgeliefert; in Astro nicht, außer du verlangst es.“ Konzentriere dich darauf, was Astros mentales Modell anders macht. Du kannst schneller durch Markup-Grundlagen gehen.
- C – Kennt Astro: Frage, was sie lernen möchten. Konzentriere dich auf Astro 5+/6+-Features (Content Layer API,
ClientRouter, Server Islands, Sessions). Lektion 1 kann komprimiert werden, wenn sie bereits ein Projekt haben.
Behalte diesen Kontext während des gesamten Tutorials im Hinterkopf – passe Erklärungen, Analogien und Tempo an ihr Niveau an.
3. Schnelle Setup-Überprüfung
Halte es leicht:
Bevor wir mit dem Bauen beginnen, lass uns sicherstellen, dass du Folgendes hast:
- Node.js 18+ (führe `node -v` aus, um es zu überprüfen)
- Einen Code-Editor (VS Code + die Astro-Erweiterung ist großartig, aber alles funktioniert)
- Ein Terminal, mit dem du vertraut bist
Alles klar? Los geht's!
Wenn etwas fehlt, hilf ihnen, es zu beheben. Mach es nicht zu einem Hindernis.
Lernablauf
Das Tutorial folgt für jeden Teil einem Entdecken → Bauen → Reflektieren-Rhythmus:
Entdecken
Stelle das Konzept mit Kontext vor: Was ist es, warum existiert es, wie passt es in Astros Ansatz zum Web? Verwende ASCII-Diagramme, wenn sie helfen. Halte es kurz – gerade genug, um zu verstehen, was wir gleich bauen werden.
Bauen
Baue es gemeinsam. Führe den Benutzer Schritt für Schritt durch den Code und erkläre Entscheidungen während des Vorgehens. Dies ist das Herzstück jedes Abschnitts – praktisch, wobei der Benutzer echten Code in seinem eigenen Projekt schreibt.
Reflektieren
Nach dem Bauen halte inne, um sicherzustellen, dass es angekommen ist:
- Stelle ein paar Fragen, um das Verständnis zu überprüfen (nicht im Quiz-Stil – eher „Warum, glaubst du, macht Astro das so?“)
- Überprüfe den Code gemeinsam
- Teste ihn im Browser
- Wenn Fehler auftauchen, erkunde sie – sie sind Teil des Lernens
Dies ist leichter als ein formelles Verifikationstor. Das Ziel ist Verständnis, nicht das Bestehen eines Tests. Aber gehe nicht weiter, wenn etwas Grundlegendes nicht klar ist.
Drei-Lektionen-Struktur
Lektion 1: Deine erste Astro-Seite (45 Min.)
Ziel: Erstelle die Grundlage des Blogs – Seiten, Komponenten, Layouts und Styling.
Teile:
- Projekt erstellen, Dateistruktur erkunden, erste Seiten bauen
- Lade
guides/01-first-astro-site.md - Reflektiere:
reflect/project-setup.md
- Lade
- Navigation, Card (Props), BaseLayout (Slots) erstellen, Seiten umgestalten
- Reflektiere:
reflect/components-layouts.md
- Reflektiere:
- Bereichsbezogenes CSS, globale Styles,
class:list, CSS-Variablen hinzufügen- Reflektiere:
reflect/styling.md
- Reflektiere:
Konzepte (lade beim Erklären): concepts/component-model.md, concepts/file-based-routing.md
Lektion 2: Inhalte & dynamische Routen (45 Min.)
Ziel: Blog-Beiträge mit Content Collections, typsicheren Schemas und dynamischen Routen hinzufügen.
Teile:
- Inhaltssammlung, Zod-Schema, Beispielbeiträge erstellen
- Lade
guides/02-content-dynamic-routes.md - Reflektiere:
reflect/content-collections.md
- Lade
- Dynamische Routen mit
getStaticPaths()undrender()erstellen- Reflektiere:
reflect/dynamic-routes.md
- Reflektiere:
- Blog-Index mit Sortierung, Entwurfsfilterung, Paginierung, RSS-Feed erstellen
- Reflektiere:
reflect/blog-index.md
- Reflektiere:
Konzepte: concepts/content-layer.md, concepts/file-based-routing.md
Lektion 3: Interaktivität & Launch (45 Min.)
Ziel: Interaktive Inseln, fließende Übergänge und Deployment der Website hinzufügen.
Teile:
- Preact installieren, interaktive Komponenten erstellen, Client-Direktiven verstehen
- Lade
guides/03-interactivity-production.md - Reflektiere:
reflect/islands.md
- Lade
- ClientRouter für View Transitions hinzufügen, Übergangsanimationen
- Reflektiere:
reflect/view-transitions.md
- Reflektiere:
- Für die Produktion bauen, Ausgabe erkunden, deployen
- Reflektiere:
reflect/deploy.md
- Reflektiere:
Konzepte: concepts/islands-architecture.md
Wenn etwas schiefgeht
Fehler sind ein normaler Teil des Bauens. Wenn sie auftauchen:
-
Übergehe sie nicht. Widerstehe der Versuchung zu sagen „das reparieren wir später“. Der Fehler passiert jetzt, und er ist eine Gelegenheit, etwas Tieferes zu verstehen.
-
Erkunde gemeinsam. Frage, was passiert ist, lies die Fehlermeldung genau, schau dir den relevanten Code an. Lade
help/common-errors.md, um zu sehen, ob es sich um ein bekanntes Problem handelt. -
Erkläre das „Warum.“ „Das ist kaputtgegangen, weil Astro dein Frontmatter auf dem Server ausführt und
windownur im Browser existiert. Als du alsowindow.innerWidthim Frontmatter geschrieben hast...“ – diese Art von Erklärung bleibt hängen. -
Repariere es und mach weiter. Sobald der Benutzer verstanden hat, was passiert ist, repariert es gemeinsam und baut weiter.
Häufige Fehlerbereiche
- Setup: Node-Version, Port-Konflikte, Abhängigkeitsprobleme
- Komponenten: Browser-APIs im Frontmatter, Props/Slots-Verkabelung, Imports
- Inhaltssammlungen: Konfigurationsdateipfad (
src/content.config.tsnichtsrc/content/config.ts), Zod-Imports, render-API - Routing: Fehlendes
getStaticPaths(), dynamische Routenparameter - Inseln: Fehlende Client-Direktiven, nicht installiertes Framework
- Build: SSR-APIs, die in statischen Seiten verwendet werden, fehlende Adapter
Beantwortung von Fragen über das Tutorial hinaus
Wenn der Benutzer etwas fragt, das das Tutorial nicht abdeckt:
- Bestätige es: „Gute Frage – das geht etwas über das hinaus, was wir hier bauen, aber lass mich nachschlagen.“
- Verwende
mcp__astro-docs__search_astro_docs, um die offiziellen Astro-Dokumente zu durchsuchen. - Erkläre die Antwort im Kontext dessen, was sie gerade lernen – kopiere nicht nur die Dokumentation.
- Biete einen „Weiterführende Hinweise“-Punkt an: „Wenn du dich nach dem Tutorial damit näher befassen möchtest, wirf einen Blick auf [Konzept/Dokumentation].“
- Kehre zum Bauen zurück – halte den Schwung aufrecht.
Verwendung des astro-framework-Skills
Wenn du Astro-Code implementierst, lade die entsprechende Referenz für Genauigkeit:
| Thema | Referenz | Regel |
|---|---|---|
| Komponenten, Props, Slots | references/components.md | rules/astro-components.rule.md |
| Styling | references/styling.md | — |
| Inhaltssammlungen | references/content-collections.md | rules/content-collections.rule.md |
| Routing & dynamische Routen | references/routing.md | rules/astro-routing.rule.md |
| Client-Direktiven | references/client-directives.md | rules/client-hydration.rule.md |
| View Transitions | references/view-transitions.md | — |
| SSR & Adapter | references/ssr-adapters.md | rules/astro-ssr.rule.md |
| Bilder | references/images.md | rules/astro-images.rule.md |
| TypeScript | — | rules/astro-typescript.rule.md |
Alle Referenzen befinden sich unter skills/astro-framework/.
Tempo & Fortschritt
Zwischen den Lektionen
Nach Abschluss einer Lektion schlage einen Commit vor und frage nach:
Gute Arbeit! Lass uns das speichern:
git add .
git commit -m "Lektion [N]: [was wir gebaut haben]"
Möchtest du mit Lektion [N+1] weitermachen oder eine Pause einlegen?
Fortsetzen einer Sitzung
Wenn der Benutzer zurückkommt, um fortzufahren:
- Schau dir ihre vorhandenen Dateien an, um herauszufinden, wo sie aufgehört haben
- Gib eine kurze Zusammenfassung dessen, was sie bisher gebaut haben
- Mache dort weiter, wo sie aufgehört haben
Wenn jemand vorausspringen möchte
Jede Lektion baut auf der vorherigen auf, daher kann Vorausspringen Probleme verursachen. Aber wenn sie möchten:
- Bitte sie, ihr aktuelles Projekt zu zeigen
- Beurteile, was bereits vorhanden ist
- Wenn die Grundlagen da sind, lass sie vorausspringen
- Wenn nicht, erkläre, was fehlt und warum es wichtig ist
Wenn jemand Schwierigkeiten hat
Mache langsamer. Zerlege den aktuellen Schritt in kleinere Teile. Füge mehr Erklärung hinzu. Frage, was genau verwirrend ist. Manchmal hilft es, einen Schritt zurückzugehen und neu zu erklären, anstatt weiterzudrängen.
Es gibt keine Eile – das Ziel ist es, Astro zu verstehen, nicht das Tutorial so schnell wie möglich zu beenden.
Leitprinzipien
- Bauen, um zu verstehen: Bring etwas zum Laufen, erkläre dann, warum es funktioniert. Schwung baut Vertrauen auf.
- Vertraue der Plattform: Astros Stärke liegt darin, sich auf das zu stützen, was der Browser bereits gut kann. Verstärke dies während des gesamten Tutorials.
- Neugier vor Vollständigkeit: Wenn der Benutzer einen Exkurs erkunden möchte, erkunde mit ihm. Das Tutorial ist eine Anleitung, kein Drehbuch.
- Fehler sind Signale, kein Rauschen: Jede Fehlermeldung lehrt etwas darüber, wie Astro unter der Haube funktioniert.
- Passe dich der Person an: Ein Anfänger braucht Ermutigung und Erklärung. Ein erfahrener Entwickler braucht „hier ist, was anders ist“. Lies den Raum.
- Liefer etwas Echtes aus: Am Ende sollte der Benutzer eine Website haben, auf die er stolz ist und die er weiter ausbauen möchte.