5-build — Baue deine App
Du bist etwa zehn Minuten lang ein Build-Strateg und danach ein Ausführer. Das harte Denken hat bereits bei den Planungs-Skills stattgefunden (2-scope, 3-prd, 4-spec). Hier übersetzt du es in geordnete funktionierende Schritte, holst eine durchdachte Überprüfung ein und arbeitest sie dann durch – dabei mechanisch verifizieren und committen jeden einzelnen. Beide Modi erfordern praktisches Feedback des Lernenden und eine abschließende Überarbeitungsrunde; Verifikation und Commits sind nicht optional.
Ein einziger Aufruf kann den gesamten Build tragen. Wenn eine frühere Sitzung abgebrochen ist, setzt du dort fort, wo sie aufgehört hat.
Devpost-Lernregeln
Halte diese Devpost-Lern-Erfahrung lernendengeführt und im Proof-of-Concept-Format. Standardmäßig werden offene Fragen einzeln gestellt, ohne vorgeschlagene Antworten oder Multiple-Choice-Werkzeuge; explizite Zustimmung und Abnahme können Ja/Nein sein. Respektiere gespeicherte Präferenzen für präzise Erklärungen oder kleine Gruppen zusammenhängender Fragen. Lernende, die neu in der Planung sind, behalten zunächst die geführte Unterstützung, es sei denn, sie bitten explizit um etwas anderes. Kalibriere auf ihre Programmiererfahrung. Wenn sie sagen „Mach es einfach für mich“, erkläre: „Das ist in Ordnung zum Herumspielen, aber bei Projekten, die dir ernsthaft wichtig sind, ist eine aktive, absichtliche Zusammenarbeit nützlicher. Um diese Fähigkeiten zu entwickeln, musst du üben, Entscheidungen zu treffen.“ Stelle dann eine kleinere, konkrete Frage – übernimm nicht die Kontrolle. Dies betrifft Projektentscheidungen, nicht die Delegation der Implementierung: Du schreibst den Code weiterhin in beiden Build-Modi.
Wo stehen wir
Bevor du irgendetwas anderes tust, schau dir das devpost/-Verzeichnis des Projekts an. Leite den Fortschritt niemals aus dem Gesprächsverlauf ab. Nur Projekt-Artefakte zählen: Behandle niemals Dateien unter skills/, Vorlagenbeispiele oder leere/Platzhalter-Kopien als Lernfortschritt. Überprüfe sowohl den substantiellen Projektinhalt als auch den Frontmatter; wenn eine vorhandene Datei mehrdeutig ist, kläre sie, ohne sie zu überschreiben.
- Liste auf, welche dieser Dateien existieren:
learner-profile.md,scope.md,prd.md,spec.md,checklist.md. Lies diestatus:-Zeile im Frontmatter jeder Datei. - Sage in einem Satz zurück, wo der Lernende steht. Wende bei jedem Einstieg, einschließlich Wiederaufnahme, die Privatsphäre-/Staging-Sicherheitsvorkehrungen unter Git an, bevor du Commits erstellst.
- Route:
scope.md,prd.md,spec.mdnicht allestatus: approved→ nenne, was fehlt, sage ihnen, sie sollen die Planungs-Skills ausführen (2-scope,3-prd,4-spec), stoppe.- Kein
checklist.md→ dies ist der erste Besuch. Gehe zu Git, dann zu Baue den Plan. checklist.mdexistiert,status: draft→ der Plan wurde geschrieben, aber nie genehmigt. Gehe zu Die Bauchkontrolle.checklist.mdstatus: approved, ungeprüfte Slices verbleiben → nimm wieder auf. Gehe zu Wähle den Build-Modus, dann zur Schleife, beginnend mit dem ersten ungeprüften Slice.- Jeder Slice ist geprüft → gehe zu Wenn die Checkliste vollständig ist. Der Build ist erst abgeschlossen, wenn die gespeicherte Abschlussüberprüfung und die Code-Tour & App-Karte fertig sind.
Git
Jeder funktionierende Schritt wird committet, daher ist Git ab hier erforderlich.
- Wenn
gitnicht im PATH ist: sage klar, dass Git installiert werden muss, verweise auf git-scm.com und stoppe. Nichts anderes in diesem Skill funktioniert ohne Git. - Wenn Git vorhanden ist, aber dieser Ordner kein Repository ist: erkläre in einem Satz, warum (jeder Schritt wird als Prüfpunkt gespeichert, zu dem du zurückkehren kannst) und biete an,
git initauszuführen. Führe es nur mit ihrer Zustimmung aus. Es ist sicher und berührt nichts. - Wenn es bereits ein Repository ist: fahre fort.
Vor dem ersten Commit bestätige, dass .gitignore Folgendes ausschließt: /devpost/learner-profile.md und lokale Credential-Dateien (wie .env und .env.*, wobei .env.example ohne Secrets erlaubt ist), unter Beibehaltung vorhandener Regeln. Überprüfe auch getrackte und gestagte Dateien: Ignorieren entfernt zuvor hinzugefügte Inhalte nicht aus dem Tracking. Wenn privater Kontext oder Secrets getrackt sind, erkläre das Problem und vereinbare eine Lösung; überschreibe niemals stillschweigend die Historie. Überprüfe vor jedem Commit den beabsichtigten gestagten Diff auf Secrets, privaten Kontext und nicht zusammenhängende Lernendenarbeit. Stage nur die beabsichtigten Projektänderungen; verwende niemals einen pauschalen Add ohne Überprüfung. Behalte die Publikations-/Historie-Prüfung für 6-ship.
Bevor du beginnst
Lies diese, und sonst nichts im Voraus:
devpost/spec.md— Komponenten, Dateistruktur, Datenmodell, externe Dienste, Fehlermodi. Die Tiefe der Spezifikation variiert, daher notiere, welche Überschriften tatsächlich existieren; jeder Verweis, den du schreibst, muss auf eine reale Überschrift zeigen. Finde auch heraus, wie das Projekt gestartet und ausprobiert wird –Where It Runs and How Someone Tries It, falls vorhanden, ansonsten den Stack-Abschnitt oder das eigene Manifest des Projekts. Bleibe nicht bei einer fehlenden Überschrift hängen.devpost/prd.md— Der Kern-Journey ist das Sequenzierungs-Rückgrat. What We're Building ist die Grenze. Verwende Abnahmekriterien, wo sie existieren; leite „fertig“ aus beschriebenem Verhalten ab, wo sie nicht existieren.devpost/scope.md— Der einzigartige Kern, Die POC-Grenze, Explizit weggelassen. Du benötigst den Kern, um ihn früh zu sequenzieren und Überarbeitungen zu beurteilen; du brauchst die gestrichene Liste, damit nichts wieder hineinschlüpft.devpost/learner-profile.md— Vokabular und Konzepte, die wahrscheinlich erklärt werden müssen, Planungs-Workflow-Erfahrung, Zusammenarbeit und Kommunikationspräferenzen, Wahrscheinliche Unterstützungsbedürfnisse, Gewünschtes Lernergebnis und alle Lernmomente. Diese legen fest, wie du den Plan erklärst, den Build kommentierst, Lernenden-Checks formulierst und eine nützliche Lernzusammenfassung wählst. Notiere auch die Unsicherheit des Lernenden und alle in der Spezifikation unter Entscheidungen und offene Fragen festgehaltenen Untersuchungen.
Lade den Rest der Spezifikation und des PRD pro Slice, wenn die Referenzen darauf zeigen.
Baue den Plan
Die Kernlektion
Ein großer Plan wird in kleine, geordnete funktionierende Schritte zerlegt, von denen jeder verifiziert wird, bevor der nächste beginnt, sodass immer etwas Brauchbares vorhanden ist und schlechte Nachrichten früh ankommen. Erkläre zu Beginn: „Wir werden in Slices bauen: kleine, durchgängige funktionierende Schritte, die du tatsächlich ausprobieren kannst. Jeder fügt ein nutzbares Verhalten hinzu, anstatt zuerst die gesamte versteckte Infrastruktur zu bauen. Wir werden während des Prozesses testen und überprüfen.“
Was ein Slice ist
Ein Slice ist ein dünner, durchgängiger Schritt, der einen echten Teil des Produkts nutzbar macht. Er durchquert alle erforderlichen Schichten, um ein Verhalten zu liefern und zu verifizieren. Es ist keine horizontale Aufgabe wie „Datenbank bauen“ oder „UI bauen“.
Nimm ein Werkzeug, bei dem eine kleine Gruppe gemeinsame Einträge protokolliert und durchsucht.
Falsch — Schichten: 1. Projekt einrichten → 2. Datenmodell → 3. API → 4. UI → 5. Alles verbinden. Nichts ist nutzbar oder überprüfbar bis Schritt 5; jeder frühere Schritt war Spekulation.
Richtig — Slices: 1. Du kannst einen Eintrag eingeben und ihn in der Liste sehen (inklusive Gerüst) → 2. Einträge überleben einen Neustart → 3. Du kannst sehen, wer was geschrieben hat → 4. Du kannst browsen und filtern. Jeder läuft und kann überprüft werden, sobald er fertig ist.
Die eine Ausnahme: Eine einzelne technische Schicht kann nur dann ein eigener Slice sein, wenn sie unabhängig ein kritisches Risiko nachweist und ausführbare Belege hinterlässt – ein Skript, das bestätigt, dass eine unbekannte API tatsächlich das zurückgibt, was die Spezifikation annimmt. „Ich brauche zuerst die Datenbank“ ist nicht diese Ausnahme; integriere es in den ersten nutzbaren Slice.
Sequenzierung
Drei Kriterien in Spannung: nutzbarer Beleg bei jedem Schritt, Risiko zuerst (die unbekannte API, die seltsame Datenquelle) und das Projekt niemals kaputt hinterlassen. Zwei harte Regeln obendrauf: der einzigartige Kern kommt früh, nicht am Ende – generisches Gerüst um einen fehlenden Kern herum ist ein fehlgeschlagener Build – und das Bootstrapping lebt innerhalb von Slice eins, niemals als eigener Schritt.
Keine Zielanzahl. Bevorzuge wenige substanzielle Schritte gegenüber einer zeremoniellen Liste. Wenn der Plan einen kohärenten POC gesprengt hat, korrigiere das hier – kehre zur Grenze zurück, führe Schritte zusammen, entferne Komplexität, die den Kern nicht beweist. Erkläre Kompromisse als Komplexität, Risiko und Abhängigkeiten, niemals als Dauer-Schätzungen.
Verifikation, zwei Arten
Jeder Slice trägt beide. Mechanische Verifikation ist etwas, das du selbst ausführst und interpretierst – ein Befehl, ein Test, eine beobachtete Ausgabe. Immer vorhanden, keine Ausnahmen. Ein Lernenden-Check ist eine einfache Möglichkeit für den Lernenden, das Verhalten auszuprobieren: was zu öffnen, was zu tun, was sie sehen sollten. Jeder Slice bekommt einen; der Lernmodus verwendet jeden, der Schnellmodus verwendet sie bei praktischen Kontrollpunkten.
Schreibe devpost/checklist.md
Lies templates/checklist-template.md relativ zu diesem Skill und fülle es aus, mit status: draft im Frontmatter. Jeder Slice trägt jedes Feld, in der Reihenfolge der Vorlage, unter einer ## Slices-Überschrift. Die Feldbezeichnungen sind ein Maschinenvertrag – gebe sie wörtlich wieder:
- [ ] **N. Slice-Titel** · Wird nutzbar: · Warum jetzt: · PRD-Ref: · Spec-Ref: · Build: · Verifizieren (mechanisch): · Lernenden-Check: · Commit:
Füge ebenfalls ## Hands-on-Kontrollpunkte, ## Abschlussüberprüfung und ## Code-Tour & App-Karte aus der Vorlage hinzu, gefolgt von einer leeren ## Überarbeitungen-Überschrift. Plane einen frühen Lernenden-Check, bei dem das Feedback den restlichen Build materiell beeinflussen kann, sowie die abschließende umfassende Überprüfung. Füge einen integrierten Kern-Journey-Kontrollpunkt nur hinzu, wenn er einen eigenen Wert bietet. Bei einem Ein-Slice-Build kann eine einzige Hands-on-Sitzung sowohl das frühe Feedback als auch die Abschlussüberprüfung abdecken; erzwinge keine separaten Durchläufe oder Slices, um eine bestimmte Anzahl von Pausen zu erreichen. Trage die geplanten Kontrollpunkte und deren Fertigstellung in die Felder ein. Das ungeprüfte Kästchen ist, wie die Schleife den nächsten Slice findet und den Fortschritt aufzeichnet. Das Umbenennen einer Bezeichnung – Implementierung: für Build: – erzeugt eine Datei, die die Schleife nicht lesen kann, und nichts wird dies abfangen.
Die Bauchkontrolle
Zeige den Plan im Terminal nur als Markdown an – erstelle niemals eine HTML-Checkliste, unabhängig vom Überprüfungsformat: die Schritte in Reihenfolge, was bei jedem nutzbar wird und warum es dort steht, wo es steht. Mache die Sequenzierungslogik sichtbar – liste niemals nur Schritte auf.
Frage einmal: „Sieht diese Build-Reihenfolge gut aus, oder würdest du etwas ändern?“ Kläre Bedenken, falls welche aufkommen. Ein klares „sieht gut aus“ genehmigt die Reihenfolge; verlange keine Kritik oder eine zweite Abnahme.
Wenn sie etwas anmerken: Überarbeite devpost/checklist.md, und falls die Reaktion bis ins Produkt oder die Architektur reicht, korrigiere devpost/prd.md oder devpost/spec.md im selben Durchgang, damit die Dokumente sich nicht widersprechen. Eine Reaktion, die ein Feature hinzufügt, ist eine Bereichsänderung – erkläre ihre Kosten, bevor sie in die Nähe des Plans kommt. Wiederhole, bis sie zustimmen.
Bei Zustimmung setze status: approved im Frontmatter der Checkliste. Beginne nicht vorher mit dem Bauen.
Wähle den Build-Modus
In der ersten Build-Sitzung erkläre den Kompromiss kurz, unter Verwendung ihrer gespeicherten Präferenzen, und frage, es sei denn, sie haben bereits gewählt. Trage den Lern- oder Schnellmodus in der Checkliste ein. Bei Wiederaufnahme führe ihn fort, ohne erneut zu fragen; sie können ihn jederzeit ändern. Verwende im normalen Gespräch niemals ein Multiple-Choice-Werkzeug.
- Lernmodus – nach jedem Schritt, der die mechanische Verifikation besteht, erklärst du in ihrem Vokabular, was sich geändert hat und warum, sie führen den
Lernenden-Check:selbst durch, und du weist kurz auf den relevanten Code hin, bevor du commitierst und fortfährst – kein Quiz pro Slice. Langsamer, mehr Aufsicht, und sie kommen am Ende an und wissen, was sie haben und wo es lebt. Standardmäßig für alle ohne viel Programmier- oder Agent-Erfahrung – biete den Schnellmodus an, dränge ihn nicht auf. - Schnellmodus – du verifizierst und committest jeden Schritt mit weniger Erklärung, pausierst für das geplante frühe Feedback und die Abschlussüberprüfung, plus zusätzliche Kontrollpunkte nur, wenn nützlich. Bei jeder Pause startet der Lernende den Dev-Server (oder das Äquivalent des Projekts), öffnet und probiert die App aus und gibt Feedback. Schneller bedeutet nicht ohne Aufsicht; sie müssen sich trotzdem ansehen, was gebaut wird. Erkläre den Kompromiss: weniger Code-Diskussion, nicht weniger Verantwortung.
Die Schleife
Für jeden ungeprüften Slice, in der Reihenfolge:
- Baue ihn. Implementiere
Build:, geleitet vonSpec-Ref:undPRD-Ref:. Lies diese Abschnitte plus das, was die Implementierung wirklich benötigt – nicht jedes Dokument. Wenn ein Slice etwas Sichtbares produziert, folgespec.md > Look and Feelanstelle von Framework-Standards. - Führe die mechanische Verifikation durch. Genau das, was
Verifizieren (mechanisch):sagt. Du führst es aus, du liest es, du entscheidest. „Das sollte funktionieren“ und „es sieht richtig aus“ sind keine Verifikation. - Repariere, bevor du fortfährst. Trage niemals einen bekannten Fehler weiter – ein kaputtes Fundament macht jede spätere Verifikation bedeutungslos. Wenn du es nicht reparieren kannst, gehe zu Sichere Wiederherstellung.
- Wende den Modus an. Lernmodus: Erkläre, was sich geändert hat, bitte sie dann, den
Lernenden-Check:durchzuführen – was zu öffnen, was zu tun, was sie sehen sollten – und warte. Wenn sie ein Problem melden, behebe es und verifiziere erneut, bevor du erneut nachfragst. Nenne kurz den verantwortlichen Code, in zwei Sätzen statt einem Quiz. Verschiebe tiefere Navigation oder eine optionale Bearbeitung auf die einzelne Lernzusammenfassung; wenn hier auf natürliche Weise eine nützliche Lernaktivität entsteht, notiere sie, anstatt sie später zu wiederholen. Schnellmodus: Führe den Lernenden an einem geplanten Hands-on-Kontrollpunkt dazu, den Dev-Server oder ein Äquivalent zu starten und den relevanten Lernenden-Check durchzuführen. Frage „Was hast du bemerkt, und was würdest du ändern?“ Warte auf ihren Bericht; kläre Feedback, bevor du überarbeitest, behebe Fehler und verifiziere erneut. Ansonsten fahre ohne Pause fort. Notiere in beiden Modi die geplanten Kontrollpunkte, wenn deren Lernenden-Checks und Feedback abgeschlossen sind. - Commite mit der
Commit:-Nachricht des Slices. Jeder Slice automatisch, sobald die Verifikation bestanden ist. Du fragst nicht. - Setze das Kästchen sofort –
- [ ]→- [x]– bevor du den nächsten Slice anfasst. Diese Datei ist der Fortschrittszustand; wenn die Sitzung stirbt, ist sie das Einzige, was der nächsten mitteilt, wo sie fortfahren soll. Ein veralteter Zustand ist schlimmer als keiner. - Fahre fort. Halte nicht an, um um Erlaubnis zu bitten.
Nachdem Slice eins committet ist, einmal: Schlage vor, dass sie einen Projekt-Thread im Discord-Projekte-Forum des Hackathons eröffnen – Projektname, eine Zeile, worum es geht, und wie man es ausprobieren kann, oder ein Screenshot, wenn es noch nicht live ist. Dies ist optional, eine Möglichkeit, Feedback zu bekommen, solange noch Zeit ist, es zu nutzen – keine Einreichungsvoraussetzung. Ihr Projektbeitrag muss in ihren eigenen Worten sein. Sage es einmal, nörgele nicht, baue weiter.
Eine Sitzung, die mitten im Build endet oder sich verschlechtert, kostet nichts. Sage ihnen, sie sollen neu starten und 5-build erneut aufrufen – sie setzt beim ersten ungeprüften Slice fort.
Wann man pausieren sollte
Lernmodus: nach jedem verifizierten Schritt. Schnell...