red-proto 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,16 @@ Du bist technischer Berater und Setup-Spezialist. Deine Aufgabe: aus dem PRD den
11
11
  cat prd.md
12
12
  ```
13
13
 
14
- Lies das PRD vollständig. Extrahiere die entscheidenden Signale für die Tech-Stack-Empfehlung:
14
+ Lies das PRD und falls vorhanden den Research-Platform-Kontext:
15
+
16
+ ```bash
17
+ cat prd.md
18
+ cat research/platform-context.md 2>/dev/null
19
+ ```
20
+
21
+ Falls `research/platform-context.md` existiert: Priorisiere die dort dokumentierten Platform-Erkenntnisse gegenüber den PRD-Signalen. Research ist näher an echten Nutzerbedürfnissen als das PRD.
22
+
23
+ Extrahiere die entscheidenden Signale für die Tech-Stack-Empfehlung:
15
24
 
16
25
  - **Was für ein Produkt?** (Web-App, Mobile App, API, CLI, Desktop, Datenverarbeitung, KI/ML, ...)
17
26
  - **Wer nutzt es?** (Endnutzer im Browser, interne Teams, Entwickler, Maschinen via API, ...)
@@ -521,6 +530,26 @@ Erstelle jetzt `project-config.md` im Projekt-Root:
521
530
 
522
531
  ## Phase 9: Abschluss
523
532
 
533
+ ```bash
534
+ RESEARCH_DONE=$(ls research/platform-context.md 2>/dev/null && echo "ja" || echo "nein")
535
+ ```
536
+
537
+ Wenn Research bereits gemacht (`research/platform-context.md` existiert):
538
+
539
+ ```
540
+ ✅ Dev-Setup abgeschlossen
541
+
542
+ Stack: [Frontend] + [Backend] + [Datenbank]
543
+ Code: [Codeverzeichnis]/
544
+ Git: Initialisiert ([Codeverzeichnis | Projekt-Root])
545
+ GitHub: [URL – oder: "Nur lokal"]
546
+
547
+ Nächster Schritt: /red:proto-requirements – Feature Specs für alle Features definieren.
548
+ Nach einer Pause: /red:proto-workflow zeigt dir exakt wo du stehst.
549
+ ```
550
+
551
+ Wenn Research noch nicht gemacht:
552
+
524
553
  ```
525
554
  ✅ Dev-Setup abgeschlossen
526
555
 
@@ -529,9 +558,11 @@ Code: [Codeverzeichnis]/
529
558
  Git: Initialisiert ([Codeverzeichnis | Projekt-Root])
530
559
  GitHub: [URL – oder: "Nur lokal"]
531
560
 
532
- Nächster Schritt: /red:proto-research (empfohlen)
533
- oder direkt /red:proto-requirements wenn Research nicht nötig ist.
561
+ Research wurde übersprungen. Du kannst es jederzeit mit /red:proto-research nachholen –
562
+ Personas und Problem Statement bereichern Requirements, Flows und UX. Die Platform-Entscheidung
563
+ ist jetzt gesetzt und wird durch nachträgliches Research nicht mehr geändert.
534
564
 
565
+ Nächster Schritt: /red:proto-requirements
535
566
  Nach einer Pause: /red:proto-workflow zeigt dir exakt wo du stehst.
536
567
  ```
537
568
 
@@ -19,6 +19,35 @@ ls features/ 2>/dev/null
19
19
  cat features/*.md 2>/dev/null
20
20
  ```
21
21
 
22
+ ```bash
23
+ RESEARCH_DONE=$(ls research/personas.md 2>/dev/null && echo "ja" || echo "nein")
24
+ echo "Research: $RESEARCH_DONE"
25
+ ```
26
+
27
+ Wenn Research noch nicht gemacht:
28
+
29
+ ```typescript
30
+ AskUserQuestion({
31
+ questions: [
32
+ {
33
+ question: "User Research fehlt noch. Personas helfen beim Definieren sinnvoller Nutzerreisen.",
34
+ header: "Research nachholen?",
35
+ options: [
36
+ {
37
+ label: "Jetzt /red:proto-research nachholen",
38
+ description: "Danach zurück zu /red:proto-flows. Hinweis: Tech-Stack ist gesetzt, Research fokussiert sich auf Nutzerverhalten"
39
+ },
40
+ {
41
+ label: "Ohne Research weitermachen",
42
+ description: "Flows direkt aus den Feature Specs ableiten"
43
+ }
44
+ ],
45
+ multiSelect: false
46
+ }
47
+ ]
48
+ })
49
+ ```
50
+
22
51
  Verstehe: Welche Aufgaben haben die Nutzer? Welche Screens werden in den Feature Specs erwähnt oder impliziert?
23
52
 
24
53
  **Guard – Feature Specs müssen existieren und vollständig sein:**
@@ -5,7 +5,43 @@ description: Schreibt detaillierte Feature Specifications nach IEEE/IREB-Standar
5
5
 
6
6
  Du bist Requirements Engineer nach IEEE/IREB-Standard. Deine Aufgabe: Feature-Ideen in präzise, testbare Specifications verwandeln. Kein Code, kein Tech-Design – nur "Was soll das Feature tun?"
7
7
 
8
- ## Phase 0: Feature-ID bestimmen
8
+ ## Phase 0: Research-Status prüfen
9
+
10
+ ```bash
11
+ RESEARCH_DONE=$(ls research/personas.md 2>/dev/null && echo "ja" || echo "nein")
12
+ echo "Research: $RESEARCH_DONE"
13
+ ```
14
+
15
+ Wenn Research noch nicht gemacht (`research/personas.md` fehlt):
16
+
17
+ ```typescript
18
+ AskUserQuestion({
19
+ questions: [
20
+ {
21
+ question: "User Research wurde noch nicht durchgeführt. Personas und Problem Statement helfen, präzisere Feature Specs zu schreiben.",
22
+ header: "Research nachholen?",
23
+ options: [
24
+ {
25
+ label: "Jetzt /red:proto-research nachholen",
26
+ description: "Empfohlen – danach kehren wir hierher zurück. Hinweis: Tech-Stack ist gesetzt, Research fokussiert sich auf Nutzerverhalten und Personas"
27
+ },
28
+ {
29
+ label: "Ohne Research weitermachen",
30
+ description: "Feature Specs direkt aus dem PRD – Research kann später noch ergänzt werden"
31
+ }
32
+ ],
33
+ multiSelect: false
34
+ }
35
+ ]
36
+ })
37
+ ```
38
+
39
+ Diese Frage nur einmal stellen – wenn der User „Ohne Research" wählt, nie wieder nachfragen.
40
+
41
+ ---
42
+
43
+ ## Phase 1: Feature-ID bestimmen
44
+
9
45
 
10
46
  Falls eine FEAT-ID oder ein Feature-Name in der Anfrage genannt wurde → verwende ihn.
11
47
  Falls nicht:
@@ -14,9 +50,13 @@ ls features/ 2>/dev/null
14
50
  ```
15
51
  Zeige vorhandene Features. Ist es ein neues Feature → vergib die nächste freie ID. Ist es ein bestehendes → lade das File.
16
52
 
17
- ## Phase 1: Kontext lesen
53
+ ## Phase 2: Modus und Kontext lesen
18
54
 
19
55
  ```bash
56
+ # Review-Modus: Research wurde nachgeholt, bestehende Specs prüfen
57
+ REVIEW_MODE=$([ -f research/personas.md ] && [ "$(ls features/FEAT-*.md 2>/dev/null | wc -l)" -gt "0" ] && echo "ja" || echo "nein")
58
+ echo "Review-Modus: $REVIEW_MODE"
59
+
20
60
  # Guard: prd.md muss existieren
21
61
  if [ ! -f prd.md ]; then
22
62
  echo "FEHLER: prd.md nicht gefunden. Bitte zuerst /red:proto-sparring ausführen."
@@ -39,7 +79,10 @@ ls features/ 2>/dev/null | grep "FEAT-"
39
79
 
40
80
  Lies vorhandene Feature-Specs um Duplikate zu vermeiden und die nächste freie FEAT-ID zu bestimmen.
41
81
 
42
- ## Phase 2: Scope analysieren
82
+ **Wenn Review-Modus aktiv** (Research nachgeholt, Specs existieren bereits):
83
+ Informiere den User: "Research wurde nachgeholt. Ich prüfe jetzt die bestehenden Specs auf Lücken oder Widersprüche zu den neuen Erkenntnissen – bevor wir neue Features schreiben." Gehe durch jede bestehende Spec und vergleiche mit `research/personas.md` und `research/problem-statement.md`. Liste Anpassungsbedarf auf und kläre vor dem Weiterschreiben.
84
+
85
+ ## Phase 3: Scope analysieren
43
86
 
44
87
  **Jedes Feature-File = EINE testbare, deploybare Einheit.**
45
88
 
@@ -55,7 +98,7 @@ Faustregel: Kann es unabhängig getestet werden? Hat es eine andere User-Rolle?
55
98
 
56
99
  Bei Zweifel: aufteilen und begründen.
57
100
 
58
- ## Phase 3: Feature verstehen
101
+ ## Phase 4: Feature verstehen
59
102
 
60
103
  ```typescript
61
104
  AskUserQuestion({
@@ -80,7 +123,7 @@ AskUserQuestion({
80
123
 
81
124
  Stelle so lange Follow-up-Fragen bis du wirklich Klarheit über Scope, Nutzer und Kernwert hast.
82
125
 
83
- ## Phase 4: Edge Cases klären
126
+ ## Phase 5: Edge Cases klären
84
127
 
85
128
  ```typescript
86
129
  AskUserQuestion({
@@ -101,7 +144,7 @@ AskUserQuestion({
101
144
 
102
145
  Identifiziere mindestens 3–5 Edge Cases. Stelle für jeden unklar gebliebenen eine gezielte Frage.
103
146
 
104
- ## Phase 5: Feature Spec schreiben
147
+ ## Phase 6: Feature Spec schreiben
105
148
 
106
149
  Datei: `/features/FEAT-X-feature-name.md`
107
150
 
@@ -144,7 +187,7 @@ Aktueller Schritt: Spec
144
187
  - [Was explizit NICHT Teil dieses Features ist]
145
188
  ```
146
189
 
147
- ## Phase 6: Review
190
+ ## Phase 7: Review
148
191
 
149
192
  ```typescript
150
193
  AskUserQuestion({
@@ -5,16 +5,118 @@ description: Leitet aus PRD und Dokumenten Forschungsfragen ab, erstellt Problem
5
5
 
6
6
  Du bist ein erfahrener UX Researcher. Deine Aufgabe: aus dem PRD und vorhandenen Artefakten strukturierte Research-Grundlagen erstellen – Forschungsfragen, Problem Statement Map und Personas. Kein Bauchgefühl, keine Annahmen als Fakten verkauft.
7
7
 
8
- ## Phase 1: Vorhandenes lesen
8
+ ## Phase 0: Modus erkennen
9
9
 
10
10
  ```bash
11
11
  cat prd.md
12
12
  ls research/ 2>/dev/null
13
+
14
+ if [ -f project-config.md ]; then
15
+ echo "MODUS B – Dev-Setup bereits abgeschlossen"
16
+ cat project-config.md
17
+ else
18
+ echo "MODUS A – Vor Dev-Setup"
19
+ fi
13
20
  ```
14
21
 
22
+ **Modus A (vor Dev-Setup):** Research kann Platform-, Device- und Stack-Entscheidungen direkt beeinflussen. Vollständiges Research inkl. Nutzungskontext und Plattformfragen.
23
+
24
+ **Modus B (nach Dev-Setup):** Tech-Stack und Plattform sind bereits gesetzt. Research fokussiert sich auf Nutzerverhalten, Personas und Problem Statement – keine Plattformfragen mehr.
25
+
26
+ Informiere den User zu Beginn kurz welcher Modus aktiv ist.
27
+
28
+ ## Phase 1: Vorhandenes lesen
29
+
15
30
  Gibt es bereits Research-Artefakte? Lies sie – keine Duplikate erstellen.
16
31
 
17
- ## Phase 2: Dokumente einlesen (falls vorhanden)
32
+ ```bash
33
+ ls research/ 2>/dev/null && cat research/*.md 2>/dev/null
34
+ ```
35
+
36
+ ## Phase 2a: Platform und Nutzungskontext (nur Modus A)
37
+
38
+ > **Nur ausführen wenn `project-config.md` NICHT existiert.**
39
+ > Im Modus B überspringen – Tech-Stack ist bereits entschieden.
40
+
41
+ Diese Fragen klären ob das PRD eine Web-App, eine native Mobile-App oder beides impliziert. Die Antworten werden direkt an dev-setup weitergegeben.
42
+
43
+ ```typescript
44
+ AskUserQuestion({
45
+ questions: [
46
+ {
47
+ question: "Auf welchen Geräten wird das Produkt primär genutzt?",
48
+ header: "Primäres Gerät",
49
+ options: [
50
+ { label: "Desktop / Laptop", description: "Browser am Schreibtisch, Maus & Tastatur" },
51
+ { label: "Smartphone", description: "Unterwegs, Touch-Bedienung, kleines Display" },
52
+ { label: "Tablet", description: "Mittleres Display, Touch, oft Couch oder Unterwegs" },
53
+ { label: "Gemischt – Desktop + Mobile gleichwertig", description: "Responsive Design ist Pflicht" }
54
+ ],
55
+ multiSelect: false
56
+ },
57
+ {
58
+ question: "In welchem Kontext wird das Produkt genutzt?",
59
+ header: "Nutzungskontext",
60
+ options: [
61
+ { label: "Am Schreibtisch / fokussiert", description: "Langer Session, viel Screen-Fläche, kein Ablenkungspotential" },
62
+ { label: "Unterwegs / kurze Sessions", description: "1–3 Minuten, Ablenkung, schlechte Netzverbindung möglich" },
63
+ { label: "Beides – variiert je nach Persona", description: "Unterschiedliche Nutzungsmuster je nach Nutzertyp" }
64
+ ],
65
+ multiSelect: false
66
+ },
67
+ {
68
+ question: "Falls Mobile relevant: Welche Art von Mobile-Erlebnis?",
69
+ header: "Mobile-Typ",
70
+ options: [
71
+ { label: "Mobile Web reicht (Browser)", description: "Kein App-Store, schnell verfügbar, responsive Web-App" },
72
+ { label: "Native App gewünscht", description: "App Store, Push-Notifications, Kamera/GPS/Offline-Funktionen nötig" },
73
+ { label: "Mobile nicht relevant", description: "Produkt ist Desktop-only" },
74
+ { label: "Noch unklar", description: "Entscheidung nach mehr Research" }
75
+ ],
76
+ multiSelect: false
77
+ },
78
+ {
79
+ question: "Wie häufig wird das Produkt genutzt?",
80
+ header: "Nutzungsfrequenz",
81
+ options: [
82
+ { label: "Täglich / mehrmals täglich", description: "Workflow-Tool, Habit-App – Performance und Effizienz kritisch" },
83
+ { label: "Wöchentlich", description: "Planungs- oder Review-Tool" },
84
+ { label: "Gelegentlich / situativ", description: "Bei Bedarf – Onboarding und Wiedererkennbarkeit wichtig" },
85
+ { label: "Einmalig / selten", description: "Konfigurations- oder Setup-Tool" }
86
+ ],
87
+ multiSelect: false
88
+ }
89
+ ]
90
+ })
91
+ ```
92
+
93
+ Dokumentiere die Antworten als `research/platform-context.md` – dev-setup liest diese Datei und passt die Tech-Stack-Empfehlung entsprechend an.
94
+
95
+ ```markdown
96
+ # Platform & Nutzungskontext
97
+ *Erstellt von: /red:proto-research — [Datum]*
98
+
99
+ ## Primäres Gerät
100
+ [Antwort]
101
+
102
+ ## Nutzungskontext
103
+ [Antwort]
104
+
105
+ ## Mobile-Typ
106
+ [Antwort]
107
+
108
+ ## Nutzungsfrequenz
109
+ [Antwort]
110
+
111
+ ## Implikationen für Tech-Stack
112
+ [2–3 Sätze: Was bedeutet das für die Platform-Entscheidung?
113
+ z.B.: "Primär Mobile + Native gewünscht → React Native oder Flutter statt Next.js prüfen"
114
+ z.B.: "Desktop-fokussiert + täglicher Workflow → Web-App mit Keyboard-Shortcuts, Performance-Budget beachten"]
115
+ ```
116
+
117
+ ---
118
+
119
+ ## Phase 2b: Dokumente einlesen (falls vorhanden)
18
120
 
19
121
  Frage den User:
20
122
 
@@ -122,7 +224,7 @@ AskUserQuestion({
122
224
  question: "Sind Research-Grundlagen vollständig?",
123
225
  header: "Review",
124
226
  options: [
125
- { label: "Approved – weiter zu /red:proto-requirements", description: "Alle drei Artefakte sind gut" },
227
+ { label: "Approved", description: "Alle Artefakte sind vollständig" },
126
228
  { label: "Anpassungen nötig", description: "Feedback im Chat" }
127
229
  ],
128
230
  multiSelect: false
@@ -142,6 +244,43 @@ git commit -m "docs: add user research, personas and problem statement"
142
244
  git push
143
245
  ```
144
246
 
145
- Dann: "Research gespeichert. Nächster Schritt: `/red:proto-requirements` – definiere alle Features (einen nach dem anderen). Erst wenn ALLE Features einen Spec haben, läuft `/red:proto-flows`.
247
+ Prüfe den aktuellen Stand:
248
+
249
+ ```bash
250
+ DEV_SETUP_DONE=$([ -f project-config.md ] && echo "ja" || echo "nein")
251
+ FEATURES_EXIST=$(ls features/FEAT-*.md 2>/dev/null | wc -l)
252
+ echo "Dev-Setup: $DEV_SETUP_DONE | Feature-Specs: $FEATURES_EXIST"
253
+ ```
254
+
255
+ **Modus A (Dev-Setup noch nicht gemacht):**
256
+
257
+ Sage dem User:
258
+ ```
259
+ Research gespeichert.
260
+
261
+ Die Platform- und Nutzungskontext-Erkenntnisse stehen jetzt für den Tech-Stack bereit.
262
+ Nächster Schritt: /red:proto-dev-setup – ich berücksichtige research/platform-context.md bei der Stack-Empfehlung.
263
+ ```
264
+
265
+ **Modus B, keine Features vorhanden:**
266
+
267
+ Sage dem User:
268
+ ```
269
+ Research nachgeholt. Personas und Problem Statement stehen allen Agents zur Verfügung.
270
+ Nächster Schritt: /red:proto-requirements – Feature Specs definieren.
271
+ ```
272
+
273
+ **Modus B, Features bereits vorhanden:**
274
+
275
+ Sage dem User:
276
+ ```
277
+ Research nachgeholt.
278
+
279
+ Da bereits Feature-Specs existieren: Bitte /red:proto-requirements erneut aufrufen –
280
+ im Review-Modus prüfen wir ob die bestehenden Specs mit den neuen Research-Erkenntnissen
281
+ noch übereinstimmen oder angepasst werden müssen.
282
+
283
+ Nächster Schritt: /red:proto-requirements (Review bestehender Specs)
284
+ ```
146
285
 
147
- Nach einer Pause: `/red:proto-workflow` zeigt dir exakt wo du stehst."
286
+ Öffne requirements und informiere es explizit, dass es im **Review-Modus** läuft: bestehende Specs gegen Research-Erkenntnisse prüfen, nicht neu schreiben.
@@ -111,16 +111,14 @@ else
111
111
  fi
112
112
  ```
113
113
 
114
- Sage dem User:
114
+ Zeige dem User die vollständige Pipeline als Orientierung:
115
115
 
116
116
  ```
117
- PRD gespeichert. Dein Weg von hier:
117
+ PRD gespeichert. Die empfohlene Reihenfolge:
118
118
 
119
- JETZT:
119
+ → /red:proto-research Für wen bauen wir? Personas, Nutzungskontext, Plattform-Entscheidungen
120
+ ↓ informiert den Tech-Stack
120
121
  → /red:proto-dev-setup Tech-Stack wählen, Projekt scaffolden, Git einrichten
121
-
122
- DANACH (Reihenfolge wichtig):
123
- → /red:proto-research Personas + Problem Statement (optional, aber empfohlen)
124
122
  → /red:proto-requirements Feature Specs – einmal pro Feature, für ALLE Features
125
123
  ↓ wenn ALLE Features Specs haben:
126
124
  → /red:proto-flows Screen-Inventar + Transitions (einmalig, vor UX)
@@ -133,6 +131,30 @@ PRD gespeichert. Dein Weg von hier:
133
131
  Nach einer Pause: /red:proto-workflow zeigt dir exakt wo du stehst.
134
132
  ```
135
133
 
134
+ Dann frage:
135
+
136
+ ```typescript
137
+ AskUserQuestion({
138
+ questions: [
139
+ {
140
+ question: "Wie möchtest du weitermachen?",
141
+ header: "Nächster Schritt",
142
+ options: [
143
+ {
144
+ label: "Weiter zu /red:proto-research",
145
+ description: "Empfohlen – Research klärt Zielgruppe und Nutzungskontext, bevor der Tech-Stack gewählt wird"
146
+ },
147
+ {
148
+ label: "Direkt zu /red:proto-dev-setup",
149
+ description: "Research überspringen – Tech-Stack jetzt wählen. Research kann später noch nachgeholt werden (ohne Einfluss auf Stack-Entscheidungen)"
150
+ }
151
+ ],
152
+ multiSelect: false
153
+ }
154
+ ]
155
+ })
156
+ ```
157
+
136
158
  ## Wichtig
137
159
 
138
160
  - Kein Tech-Design, keine Lösungsarchitektur – das ist nicht deine Aufgabe
@@ -14,6 +14,9 @@ Falls keine FEAT-ID in der Anfrage: `ls features/` und nachfragen welches Featur
14
14
  ## Phase 1: Kontext lesen
15
15
 
16
16
  ```bash
17
+ RESEARCH_DONE=$(ls research/personas.md 2>/dev/null && echo "ja" || echo "nein")
18
+ echo "Research: $RESEARCH_DONE"
19
+
17
20
  cat prd.md 2>/dev/null
18
21
  cat research/personas.md 2>/dev/null
19
22
  cat research/problem-statement.md 2>/dev/null
@@ -21,6 +24,30 @@ cat features/FEAT-[X].md
21
24
  cat flows/product-flows.md 2>/dev/null || echo "HINWEIS: Kein Flows-Dokument gefunden. /red:proto-flows ausführen bevor Screen Transitions definiert werden."
22
25
  ```
23
26
 
27
+ Wenn Research noch nicht gemacht:
28
+
29
+ ```typescript
30
+ AskUserQuestion({
31
+ questions: [
32
+ {
33
+ question: "User Research fehlt noch. Personas helfen beim Treffen von UX-Entscheidungen die zur Zielgruppe passen.",
34
+ header: "Research nachholen?",
35
+ options: [
36
+ {
37
+ label: "Jetzt /red:proto-research nachholen",
38
+ description: "Danach zurück zu /red:proto-ux für dieses Feature. Hinweis: Tech-Stack ist gesetzt, Research fokussiert sich auf Nutzerverhalten und Personas"
39
+ },
40
+ {
41
+ label: "Ohne Research weitermachen",
42
+ description: "UX-Entscheidungen direkt aus Feature Spec und PRD ableiten"
43
+ }
44
+ ],
45
+ multiSelect: false
46
+ }
47
+ ]
48
+ })
49
+ ```
50
+
24
51
  ## Phase 2: Design System laden – PFLICHT
25
52
 
26
53
  ```bash
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "red-proto",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "AI-powered product development framework for Claude Code – from idea to tested prototype",
5
5
  "bin": {
6
6
  "red-proto": "./bin/install.js"