Skip to main content
Glama
WORKFLOW.de.md11.5 kB
# Workflow-Prozess-Leitfaden Dieser Leitfaden erklärt den vollständigen spezifikationsgetriebenen Entwicklungsworkflow und Best Practices für die Verwendung von Spec Workflow MCP. ## Überblick Der spezifikationsgetriebene Workflow folgt einem strukturierten Ansatz: ``` Steering → Spezifikationen → Implementierung → Verifizierung ``` Jede Phase baut auf der vorherigen auf und gewährleistet systematische und gut dokumentierte Entwicklung. ## Phase 1: Projekteinrichtung mit Steering-Dokumenten ### Warum Steering-Dokumente? Steering-Dokumente bieten hochrangige Leitlinien, die Ihr Projekt ausgerichtet und konsistent halten. Sie fungieren als Nordstern für alle Entwicklungsentscheidungen. ### Steering-Dokumente erstellen ``` "Erstelle Steering-Dokumente für mein Projekt" ``` Dies generiert drei Schlüsseldokumente: #### 1. Product Steering (`steering/product.md`) - Produktvision und Mission - Zielbenutzer und Personas - Kernfunktionen und Prioritäten - Erfolgsmetriken und KPIs - Nicht-Ziele und Einschränkungen #### 2. Technical Steering (`steering/tech.md`) - Architekturentscheidungen - Technologie-Stack-Auswahl - Leistungsanforderungen - Sicherheitsüberlegungen - Skalierbarkeitsan­satz #### 3. Structure Steering (`steering/structure.md`) - Projektorganisation - Datei- und Ordnerkonventionen - Namensstandards - Modulgrenzen - Dokumentationsstruktur ### Best Practices für Steering 1. **Früh erstellen** - Steering vor allen Specs einrichten 2. **Aktuell halten** - Überarbeiten, wenn sich Projekt entwickelt 3. **Häufig referenzieren** - Für Entscheidungsfindung verwenden 4. **Weit teilen** - Team-Ausrichtung sicherstellen ## Phase 2: Spezifikationserstellung ### Das Drei-Dokument-System Jede Spec besteht aus drei sequenziellen Dokumenten: ``` Anforderungen → Design → Aufgaben ``` ### Anforderungsdokument **Zweck**: Definieren WAS gebaut werden muss **Inhalt**: - Feature-Überblick - User Stories - Funktionale Anforderungen - Nicht-funktionale Anforderungen - Akzeptanzkriterien - Einschränkungen und Annahmen **Erstellungsbeispiel**: ``` "Erstelle Anforderungen für ein Benutzerbenachrichtigungssystem, das unterstützt: - E-Mail-Benachrichtigungen - In-App-Benachrichtigungen - Push-Benachrichtigungen - Benutzerpräferenzen - Benachrichtigungsverlauf" ``` ### Design-Dokument **Zweck**: Definieren WIE es gebaut wird **Inhalt**: - Technische Architektur - Komponenten-Design - Datenmodelle - API-Spezifikationen - Integrationspunkte - Implementierungsansatz **Automatische Generierung**: Nach Anforderungsfreigabe erstellt ### Aufgabendokument **Zweck**: Definieren der SCHRITTE zum Bauen **Inhalt**: - Hierarchische Aufgabenaufschlüsselung - Abhängigkeiten - Aufwandsschätzungen - Implementierungsreihenfolge - Testanforderungen **Strukturbeispiel**: ``` 1.0 Datenbank-Setup 1.1 Benachrichtigungstabellen erstellen 1.2 Indizes einrichten 1.3 Migrationsskripte erstellen 2.0 Backend-Implementierung 2.1 Benachrichtigungsdienst erstellen 2.1.1 E-Mail-Handler 2.1.2 Push-Handler 2.2 API-Endpunkte erstellen 2.3 Authentifizierung hinzufügen 3.0 Frontend-Implementierung 3.1 Benachrichtigungskomponenten erstellen 3.2 Mit API integrieren 3.3 Präferenz-UI hinzufügen ``` ## Phase 3: Überprüfung und Freigabe ### Freigabe-Workflow 1. **Dokumenterstellung** - AI generiert Dokument 2. **Überprüfungsanfrage** - Freigabe automatisch angefordert 3. **Benutzerüberprüfung** - Im Dashboard/Extension überprüfen 4. **Entscheidung** - Genehmigen, Änderungen anfordern oder ablehnen 5. **Revision** (falls nötig) - AI aktualisiert basierend auf Feedback 6. **Endgültige Freigabe** - Dokument für Implementierung gesperrt ### Freigabeentscheidungen treffen #### Wann genehmigen - Anforderungen sind vollständig und klar - Design löst das festgelegte Problem - Aufgaben sind logisch und umfassend - Keine größeren Bedenken oder Lücken #### Wann Änderungen anfordern - Wichtige Details fehlen - Unklare Spezifikationen - Besserer Ansatz verfügbar - Benötigt Ausrichtung an Standards #### Wann ablehnen - Grundlegendes Missverständnis - Völlig falscher Ansatz - Erfordert komplettes Umdenken ### Effektives Feedback geben Gutes Feedback: ``` "Der Authentifizierungs-Flow sollte JWT-Tokens statt Sessions verwenden. Rate Limiting zu API-Endpunkten hinzufügen. Fehlerbehandlung für Netzwerkausfälle einschließen." ``` Schlechtes Feedback: ``` "Das sieht nicht richtig aus. Repariere es." ``` ## Phase 4: Implementierung ### Aufgabenausführungsstrategie #### Sequenzielle Implementierung Am besten für abhängige Aufgaben: ``` "Implementiere Aufgabe 1.1 aus user-auth Spec" "Implementiere jetzt Aufgabe 1.2" "Fahre mit Aufgabe 1.3 fort" ``` #### Parallele Implementierung Für unabhängige Aufgaben: ``` "Implementiere alle UI-Aufgaben aus der Dashboard-Spec, während ich am Backend arbeite" ``` #### Abschnittsbasierte Implementierung Für logische Gruppierungen: ``` "Implementiere alle Datenbankaufgaben aus der payment Spec" ``` ### Fortschrittsverfolgung Implementierung überwachen durch: - Dashboard-Aufgabenansicht - Fortschrittsbalken - Statusindikatoren - Fertigstellungsprozentsätze ### Blocker behandeln Wenn blockiert: 1. Blocker dokumentieren 2. Unteraufgabe für Lösung erstellen 3. Zu parallelen Aufgaben wechseln wenn möglich 4. Aufgabenstatus auf "blockiert" aktualisieren ## Phase 5: Verifizierung ### Teststrategie Nach Implementierung: 1. **Unit-Testing** ``` "Erstelle Unit-Tests für den Benachrichtigungsdienst" ``` 2. **Integrationstests** ``` "Erstelle Integrationstests für die API-Endpunkte" ``` 3. **End-to-End-Tests** ``` "Erstelle E2E-Tests für den kompletten Benachrichtigungs-Flow" ``` ### Dokumentationsaktualisierungen Dokumentation aktuell halten: ``` "Aktualisiere die API-Dokumentation für die neuen Endpunkte" "Füge Verwendungsbeispiele zum README hinzu" ``` ## Dateistruktur und Organisation ### Standard-Projektstruktur ``` ihr-projekt/ ├── .spec-workflow/ │ ├── steering/ │ │ ├── product.md │ │ ├── tech.md │ │ └── structure.md │ ├── specs/ │ │ ├── user-auth/ │ │ │ ├── requirements.md │ │ │ ├── design.md │ │ │ └── tasks.md │ │ └── payment-gateway/ │ │ ├── requirements.md │ │ ├── design.md │ │ └── tasks.md │ └── approval/ │ └── [Freigabe-Tracking-Dateien] ├── src/ │ └── [Ihre Implementierung] └── tests/ └── [Ihre Tests] ``` ### Namenskonventionen **Spec-Namen**: - kebab-case verwenden: `user-authentication` - Beschreibend sein: `payment-processing` nicht `payments` - Versionen vermeiden: `user-profile` nicht `user-profile-v2` **Dokumentnamen**: - Immer: `requirements.md`, `design.md`, `tasks.md` - Konsistent über alle Specs ## Erweiterte Workflows ### Feature-Iterationen Für sich entwickelnde Features: 1. Initiale Spec erstellen 2. MVP implementieren 3. Enhancement-Spec erstellen 4. Original-Spec referenzieren 5. Auf bestehender Arbeit aufbauen Beispiel: ``` "Erstelle eine Enhancement-Spec für user-auth, die hinzufügt: - Social Login (Google, Facebook) - Biometrische Authentifizierung - Verbesserungen der Sitzungsverwaltung" ``` ### Refactoring-Workflow 1. **Aktuellen Zustand dokumentieren** ``` "Erstelle eine Spec, die das aktuelle Authentifizierungssystem dokumentiert" ``` 2. **Verbesserungen entwerfen** ``` "Entwerfe Refactoring zur Verbesserung der Authentifizierungsleistung" ``` 3. **Migration planen** ``` "Erstelle Migrationsaufgaben für das Refactoring" ``` 4. **Schrittweise implementieren** ``` "Implementiere Refactoring-Aufgaben mit Rückwärtskompatibilität" ``` ### Bug-Lösungs-Workflow 1. **Bug-Bericht** ``` "Erstelle Fehlerbericht für Login-Timeout-Problem" ``` 2. **Untersuchung** ``` "Untersuche Ursache von Bug #45" ``` 3. **Lösungs-Design** ``` "Entwerfe Fix für das Timeout-Problem" ``` 4. **Implementierung** ``` "Implementiere den Bug-Fix" ``` 5. **Verifizierung** ``` "Erstelle Regressionstests für Bug #45" ``` ## Best Practices ### 1. Spec-Granularität beibehalten **Gut**: Eine Spec pro Feature - `user-authentication` - `payment-processing` - `notification-system` **Schlecht**: Zu breite Specs - `backend-system` - `all-features` ### 2. Sequenzielle Dokumenterstellung Immer der Reihenfolge folgen: 1. Anforderungen (was) 2. Design (wie) 3. Aufgaben (Schritte) Niemals vorauseilen. ### 3. Freigabe vor Implementierung abschließen - ✅ Anforderungen genehmigen → Design erstellen - ✅ Design genehmigen → Aufgaben erstellen - ✅ Aufgaben überprüfen → Implementierung starten - ❌ Freigabe überspringen → Implementierungsprobleme ### 4. Specs aktuell halten Wenn sich Anforderungen ändern: ``` "Aktualisiere die Anforderungen für user-auth, um SSO-Unterstützung einzuschließen" ``` ### 5. Konsistente Terminologie verwenden Konsistenz aufrechterhalten über: - Spec-Namen - Komponentennamen - API-Terminologie - Datenbankbenennung ### 6. Erledigte Specs archivieren Workspace sauber halten: ``` "Archiviere die erledigte user-auth Spec" ``` ## Häufige Muster ### MVP zu vollständigem Feature 1. Mit MVP-Spec beginnen 2. Kernfunktionalität implementieren 3. Enhancement-Specs erstellen 4. Inkrementell bauen 5. Rückwärtskompatibilität aufrechterhalten ### Microservices-Entwicklung 1. Service Steering-Dokument erstellen 2. Service-Grenzen definieren 3. Spec pro Service erstellen 4. Integrationspunkte definieren 5. Services unabhängig implementieren ### API-First-Entwicklung 1. Zuerst API-Spec erstellen 2. Verträge entwerfen 3. Dokumentation generieren 4. Endpunkte implementieren 5. Client-SDKs erstellen ## Fehlerbehebung bei Workflow-Problemen ### Specs werden zu groß **Lösung**: In kleinere Specs aufteilen ``` "Teile die E-Commerce-Spec auf in: - product-catalog - shopping-cart - checkout-process - order-management" ``` ### Unklare Anforderungen **Lösung**: Klärung anfordern ``` "Die Anforderungen brauchen mehr Details zu: - Benutzerrollen und Berechtigungen - Fehlerbehandlungsszenarien - Leistungsanforderungen" ``` ### Design passt nicht zu Anforderungen **Lösung**: Revision anfordern ``` "Das Design behandelt nicht die Multi-Tenancy-Anforderung. Bitte überarbeiten, um Tenant-Isolation einzuschließen." ``` ## Integration mit Entwicklungsprozess ### Git-Workflow 1. Feature-Branch pro Spec erstellen 2. Nach jedem Aufgabenabschluss committen 3. Spec in Commit-Nachrichten referenzieren 4. PR wenn Spec vollständig ist ### CI/CD-Integration - Tests für erledigte Aufgaben ausführen - Gegen Anforderungen validieren - Erledigte Features deployen - Gegen Erfolgsmetriken überwachen ### Team-Zusammenarbeit - Dashboard-URL teilen - Specs Teammitgliedern zuweisen - Specs gegenseitig überprüfen - Durch Freigaben koordinieren ## Verwandte Dokumentation - [Benutzerhandbuch](USER-GUIDE.de.md) - Allgemeine Nutzungsanweisungen - [Prompting-Leitfaden](PROMPTING-GUIDE.de.md) - Beispiel-Prompts und Muster - [Tools-Referenz](TOOLS-REFERENCE.de.md) - Vollständige Tool-Dokumentation - [Oberflächen-Leitfaden](INTERFACES.de.md) - Dashboard- und Extension-Details

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pimzino/spec-workflow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server