@codemcp/workflows 6.0.1 → 6.0.2
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.
- package/package.json +3 -2
- package/packages/cli/package.json +1 -1
- package/packages/cli/resources/agents/architect.yaml +61 -0
- package/packages/cli/resources/agents/business-analyst.yaml +60 -0
- package/packages/cli/resources/agents/developer.yaml +61 -0
- package/packages/cli/resources/templates/architecture/arc42/arc42-template-EN.md +1077 -0
- package/packages/cli/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio-2023.png +0 -0
- package/packages/cli/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio.png +0 -0
- package/packages/cli/resources/templates/architecture/arc42/images/05_building_blocks-EN.png +0 -0
- package/packages/cli/resources/templates/architecture/arc42/images/08-concepts-EN.drawio.png +0 -0
- package/packages/cli/resources/templates/architecture/arc42/images/arc42-logo.png +0 -0
- package/packages/cli/resources/templates/architecture/c4.md +224 -0
- package/packages/cli/resources/templates/architecture/freestyle.md +53 -0
- package/packages/cli/resources/templates/architecture/game.md +250 -0
- package/packages/cli/resources/templates/architecture/none.md +17 -0
- package/packages/cli/resources/templates/design/comprehensive.md +207 -0
- package/packages/cli/resources/templates/design/freestyle.md +37 -0
- package/packages/cli/resources/templates/design/game.md +66 -0
- package/packages/cli/resources/templates/design/none.md +17 -0
- package/packages/cli/resources/templates/requirements/ears.md +90 -0
- package/packages/cli/resources/templates/requirements/freestyle.md +42 -0
- package/packages/cli/resources/templates/requirements/game.md +162 -0
- package/packages/cli/resources/templates/requirements/none.md +17 -0
- package/packages/cli/resources/templates/skills/POWER.md +23 -0
- package/packages/cli/resources/templates/skills/SKILL.md +19 -0
- package/packages/cli/resources/workflows/adr.yaml +157 -0
- package/packages/cli/resources/workflows/big-bang-conversion.yaml +592 -0
- package/packages/cli/resources/workflows/boundary-testing.yaml +376 -0
- package/packages/cli/resources/workflows/bugfix.yaml +177 -0
- package/packages/cli/resources/workflows/business-analysis.yaml +597 -0
- package/packages/cli/resources/workflows/c4-analysis.yaml +471 -0
- package/packages/cli/resources/workflows/epcc.yaml +183 -0
- package/packages/cli/resources/workflows/game-beginner.yaml +434 -0
- package/packages/cli/resources/workflows/greenfield.yaml +201 -0
- package/packages/cli/resources/workflows/minor.yaml +138 -0
- package/packages/cli/resources/workflows/posts.yaml +193 -0
- package/packages/cli/resources/workflows/sdd-bugfix-crowd.yaml +608 -0
- package/packages/cli/resources/workflows/sdd-bugfix.yaml +381 -0
- package/packages/cli/resources/workflows/sdd-feature-crowd.yaml +713 -0
- package/packages/cli/resources/workflows/sdd-feature.yaml +471 -0
- package/packages/cli/resources/workflows/sdd-greenfield-crowd.yaml +336 -0
- package/packages/cli/resources/workflows/sdd-greenfield.yaml +463 -0
- package/packages/cli/resources/workflows/slides.yaml +237 -0
- package/packages/cli/resources/workflows/tdd.yaml +160 -0
- package/packages/cli/resources/workflows/waterfall.yaml +209 -0
- package/packages/core/package.json +1 -1
- package/packages/core/resources/agents/architect.yaml +61 -0
- package/packages/core/resources/agents/business-analyst.yaml +60 -0
- package/packages/core/resources/agents/developer.yaml +61 -0
- package/packages/core/resources/templates/architecture/arc42/arc42-template-EN.md +1077 -0
- package/packages/core/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio-2023.png +0 -0
- package/packages/core/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio.png +0 -0
- package/packages/core/resources/templates/architecture/arc42/images/05_building_blocks-EN.png +0 -0
- package/packages/core/resources/templates/architecture/arc42/images/08-concepts-EN.drawio.png +0 -0
- package/packages/core/resources/templates/architecture/arc42/images/arc42-logo.png +0 -0
- package/packages/core/resources/templates/architecture/c4.md +224 -0
- package/packages/core/resources/templates/architecture/freestyle.md +53 -0
- package/packages/core/resources/templates/architecture/game.md +250 -0
- package/packages/core/resources/templates/architecture/none.md +17 -0
- package/packages/core/resources/templates/design/comprehensive.md +207 -0
- package/packages/core/resources/templates/design/freestyle.md +37 -0
- package/packages/core/resources/templates/design/game.md +66 -0
- package/packages/core/resources/templates/design/none.md +17 -0
- package/packages/core/resources/templates/requirements/ears.md +90 -0
- package/packages/core/resources/templates/requirements/freestyle.md +42 -0
- package/packages/core/resources/templates/requirements/game.md +162 -0
- package/packages/core/resources/templates/requirements/none.md +17 -0
- package/packages/core/resources/templates/skills/POWER.md +23 -0
- package/packages/core/resources/templates/skills/SKILL.md +19 -0
- package/packages/core/resources/workflows/adr.yaml +157 -0
- package/packages/core/resources/workflows/big-bang-conversion.yaml +592 -0
- package/packages/core/resources/workflows/boundary-testing.yaml +376 -0
- package/packages/core/resources/workflows/bugfix.yaml +177 -0
- package/packages/core/resources/workflows/business-analysis.yaml +597 -0
- package/packages/core/resources/workflows/c4-analysis.yaml +471 -0
- package/packages/core/resources/workflows/epcc.yaml +183 -0
- package/packages/core/resources/workflows/game-beginner.yaml +434 -0
- package/packages/core/resources/workflows/greenfield.yaml +201 -0
- package/packages/core/resources/workflows/minor.yaml +138 -0
- package/packages/core/resources/workflows/posts.yaml +193 -0
- package/packages/core/resources/workflows/sdd-bugfix-crowd.yaml +608 -0
- package/packages/core/resources/workflows/sdd-bugfix.yaml +381 -0
- package/packages/core/resources/workflows/sdd-feature-crowd.yaml +713 -0
- package/packages/core/resources/workflows/sdd-feature.yaml +471 -0
- package/packages/core/resources/workflows/sdd-greenfield-crowd.yaml +336 -0
- package/packages/core/resources/workflows/sdd-greenfield.yaml +463 -0
- package/packages/core/resources/workflows/slides.yaml +237 -0
- package/packages/core/resources/workflows/tdd.yaml +160 -0
- package/packages/core/resources/workflows/waterfall.yaml +209 -0
- package/packages/docs/package.json +1 -1
- package/packages/mcp-server/package.json +1 -1
- package/packages/mcp-server/resources/agents/architect.yaml +61 -0
- package/packages/mcp-server/resources/agents/business-analyst.yaml +60 -0
- package/packages/mcp-server/resources/agents/developer.yaml +61 -0
- package/packages/mcp-server/resources/templates/architecture/arc42/arc42-template-EN.md +1077 -0
- package/packages/mcp-server/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio-2023.png +0 -0
- package/packages/mcp-server/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio.png +0 -0
- package/packages/mcp-server/resources/templates/architecture/arc42/images/05_building_blocks-EN.png +0 -0
- package/packages/mcp-server/resources/templates/architecture/arc42/images/08-concepts-EN.drawio.png +0 -0
- package/packages/mcp-server/resources/templates/architecture/arc42/images/arc42-logo.png +0 -0
- package/packages/mcp-server/resources/templates/architecture/c4.md +224 -0
- package/packages/mcp-server/resources/templates/architecture/freestyle.md +53 -0
- package/packages/mcp-server/resources/templates/architecture/game.md +250 -0
- package/packages/mcp-server/resources/templates/architecture/none.md +17 -0
- package/packages/mcp-server/resources/templates/design/comprehensive.md +207 -0
- package/packages/mcp-server/resources/templates/design/freestyle.md +37 -0
- package/packages/mcp-server/resources/templates/design/game.md +66 -0
- package/packages/mcp-server/resources/templates/design/none.md +17 -0
- package/packages/mcp-server/resources/templates/requirements/ears.md +90 -0
- package/packages/mcp-server/resources/templates/requirements/freestyle.md +42 -0
- package/packages/mcp-server/resources/templates/requirements/game.md +162 -0
- package/packages/mcp-server/resources/templates/requirements/none.md +17 -0
- package/packages/mcp-server/resources/templates/skills/POWER.md +23 -0
- package/packages/mcp-server/resources/templates/skills/SKILL.md +19 -0
- package/packages/mcp-server/resources/workflows/adr.yaml +157 -0
- package/packages/mcp-server/resources/workflows/big-bang-conversion.yaml +592 -0
- package/packages/mcp-server/resources/workflows/boundary-testing.yaml +376 -0
- package/packages/mcp-server/resources/workflows/bugfix.yaml +177 -0
- package/packages/mcp-server/resources/workflows/business-analysis.yaml +597 -0
- package/packages/mcp-server/resources/workflows/c4-analysis.yaml +471 -0
- package/packages/mcp-server/resources/workflows/epcc.yaml +183 -0
- package/packages/mcp-server/resources/workflows/game-beginner.yaml +434 -0
- package/packages/mcp-server/resources/workflows/greenfield.yaml +201 -0
- package/packages/mcp-server/resources/workflows/minor.yaml +138 -0
- package/packages/mcp-server/resources/workflows/posts.yaml +193 -0
- package/packages/mcp-server/resources/workflows/sdd-bugfix-crowd.yaml +608 -0
- package/packages/mcp-server/resources/workflows/sdd-bugfix.yaml +381 -0
- package/packages/mcp-server/resources/workflows/sdd-feature-crowd.yaml +713 -0
- package/packages/mcp-server/resources/workflows/sdd-feature.yaml +471 -0
- package/packages/mcp-server/resources/workflows/sdd-greenfield-crowd.yaml +336 -0
- package/packages/mcp-server/resources/workflows/sdd-greenfield.yaml +463 -0
- package/packages/mcp-server/resources/workflows/slides.yaml +237 -0
- package/packages/mcp-server/resources/workflows/tdd.yaml +160 -0
- package/packages/mcp-server/resources/workflows/waterfall.yaml +209 -0
- package/packages/visualizer/package.json +1 -1
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
# yaml-language-server: $schema=../../state-machine-schema.json
|
|
2
|
+
---
|
|
3
|
+
name: 'game'
|
|
4
|
+
description: 'Educational game development workflow for children (ages 8-12): Learn to build games step-by-step with guidance, frequent reviews, explanations, and fun!'
|
|
5
|
+
initial_state: 'constitution'
|
|
6
|
+
|
|
7
|
+
# Enhanced metadata for better discoverability
|
|
8
|
+
metadata:
|
|
9
|
+
domain: 'children'
|
|
10
|
+
complexity: 'medium'
|
|
11
|
+
bestFor:
|
|
12
|
+
- 'Children learning game development'
|
|
13
|
+
- 'First-time game creators (ages 8-12)'
|
|
14
|
+
- 'Educational game projects'
|
|
15
|
+
- 'Learning programming through games'
|
|
16
|
+
useCases:
|
|
17
|
+
- 'Building your first video game'
|
|
18
|
+
- 'Learning game development concepts'
|
|
19
|
+
- 'Creating simple 2D games'
|
|
20
|
+
examples:
|
|
21
|
+
- 'Build a space shooter game'
|
|
22
|
+
- 'Create a platformer game'
|
|
23
|
+
- 'Make a simple puzzle game'
|
|
24
|
+
requiresDocumentation: true
|
|
25
|
+
|
|
26
|
+
# States with default instructions and transitions
|
|
27
|
+
states:
|
|
28
|
+
constitution:
|
|
29
|
+
description: 'Set up project documentation with game development principles'
|
|
30
|
+
default_instructions: |
|
|
31
|
+
**STEP 1: Check for Existing Documentation**
|
|
32
|
+
|
|
33
|
+
Verify whether project documentation exists in `.vibe/docs/`:
|
|
34
|
+
- `requirements.md`
|
|
35
|
+
- `architecture.md`
|
|
36
|
+
- `design.md`
|
|
37
|
+
|
|
38
|
+
**Conditional Actions:**
|
|
39
|
+
- If documentation exists: Skip ahead to imagine phase (the child already understands the importance of notes)
|
|
40
|
+
- If documentation missing: Proceed to set up documents
|
|
41
|
+
|
|
42
|
+
**STEP 2: Create Project Documentation (REQUIRED)**
|
|
43
|
+
|
|
44
|
+
Call `setup_project_docs()` with these parameters:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
setup_project_docs({
|
|
48
|
+
requirements: "game-requirements",
|
|
49
|
+
architecture: "game-architecture",
|
|
50
|
+
design: "game-design"
|
|
51
|
+
})
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
This creates three child-friendly documents in `.vibe/docs/`:
|
|
55
|
+
- `requirements.md` - Game development principles and what we're building
|
|
56
|
+
- `architecture.md` - Platform choice and code structure
|
|
57
|
+
- `design.md` - Features and how to implement them
|
|
58
|
+
|
|
59
|
+
**These documents are your long-term memory for this project!**
|
|
60
|
+
|
|
61
|
+
**STEP 3: Explain the Helper Documents**
|
|
62
|
+
|
|
63
|
+
After calling `setup_project_docs()`, explain what was created:
|
|
64
|
+
|
|
65
|
+
"Hi! I'm so excited to help you build your first game! 🎮
|
|
66
|
+
|
|
67
|
+
I just created three special helper documents for us. Think of them like a smart notebook
|
|
68
|
+
that remembers everything we decide while building your game!
|
|
69
|
+
|
|
70
|
+
- **Game Development Principles** - Our rules for making awesome games! Like: Start small, test often, and celebrate every win!
|
|
71
|
+
- **Game Architecture** - Where we'll write down HOW to build your game (what platform to use, how to organize the code)
|
|
72
|
+
- **Game Design** - Our plan for WHAT features to create and in what order
|
|
73
|
+
|
|
74
|
+
These documents are like our game's memory! Every time we make an important decision,
|
|
75
|
+
we'll write it down so we never forget. 🧠
|
|
76
|
+
|
|
77
|
+
Ready to start dreaming up your game idea?"
|
|
78
|
+
|
|
79
|
+
**STEP 4: Verify Understanding**
|
|
80
|
+
|
|
81
|
+
Ask: "Do you understand what these helper documents are for? Any questions before we start?"
|
|
82
|
+
|
|
83
|
+
Wait for the child's response. Answer any questions patiently. Only proceed when they're ready.
|
|
84
|
+
|
|
85
|
+
**Guidelines:**
|
|
86
|
+
- Keep explanations simple and enthusiastic
|
|
87
|
+
- Use the analogy of a "smart notebook" or "game's memory"
|
|
88
|
+
- Avoid technical details about templates or file structure
|
|
89
|
+
- Focus on WHY we have documents (to remember decisions)
|
|
90
|
+
|
|
91
|
+
transitions:
|
|
92
|
+
- trigger: 'docs_ready'
|
|
93
|
+
to: 'imagine'
|
|
94
|
+
additional_instructions: |
|
|
95
|
+
Translate all created documents completely into the children's language
|
|
96
|
+
transition_reason: 'Project documentation initialized, ready to imagine the game'
|
|
97
|
+
|
|
98
|
+
imagine:
|
|
99
|
+
description: 'Dream phase - describe the game you want to create'
|
|
100
|
+
default_instructions: |
|
|
101
|
+
**STEP 1: Gather Game Ideas**
|
|
102
|
+
|
|
103
|
+
Ask the child to describe their game using open-ended questions:
|
|
104
|
+
- "What kind of game do you want to make?"
|
|
105
|
+
- "What does the player do in your game?"
|
|
106
|
+
- "What makes it fun?"
|
|
107
|
+
- "What games do you like that are similar?"
|
|
108
|
+
|
|
109
|
+
**STEP 2: Apply "Start Small, Dream Big" Principle**
|
|
110
|
+
|
|
111
|
+
When they describe complex concepts (like "Minecraft" or "Fortnite"):
|
|
112
|
+
- Respond: "That's an AMAZING idea!"
|
|
113
|
+
- Guide them: "Big games like that are built in small pieces. What's the ONE most fun thing in your game?"
|
|
114
|
+
- Refocus: "Let's build that part first, then add more later!"
|
|
115
|
+
|
|
116
|
+
**STEP 3: Document the Game Idea**
|
|
117
|
+
|
|
118
|
+
Update `$REQUIREMENTS_DOC` with:
|
|
119
|
+
- Game concept and type
|
|
120
|
+
- Main goal
|
|
121
|
+
- What makes it fun
|
|
122
|
+
- Version 1 features (3-5 simple features)
|
|
123
|
+
- Future ideas (complex features for later)
|
|
124
|
+
|
|
125
|
+
**STEP 4: Confirm Understanding**
|
|
126
|
+
|
|
127
|
+
Summarize back to the child:
|
|
128
|
+
|
|
129
|
+
"So you want to build a game where [summarize their idea]. That sounds AWESOME!
|
|
130
|
+
For Version 1, let's build: [list 3-5 simple features]."
|
|
131
|
+
|
|
132
|
+
Ask: "Did I understand your idea correctly? Is there anything else you want to tell me
|
|
133
|
+
about your game before we figure out HOW to build it?"
|
|
134
|
+
|
|
135
|
+
Wait for confirmation. Adjust if needed. Only proceed when they're happy with the plan.
|
|
136
|
+
|
|
137
|
+
transitions:
|
|
138
|
+
- trigger: 'idea_captured'
|
|
139
|
+
to: 'architecture'
|
|
140
|
+
additional_instructions: |
|
|
141
|
+
Awesome game idea! 🌟
|
|
142
|
+
Now let's figure out WHERE and HOW we'll build it!
|
|
143
|
+
transition_reason: 'Game idea documented in requirements, ready for technical planning'
|
|
144
|
+
|
|
145
|
+
architecture:
|
|
146
|
+
description: 'Choose platform and design the technical structure'
|
|
147
|
+
default_instructions: |
|
|
148
|
+
**STEP 1: Understand Game Concept**
|
|
149
|
+
|
|
150
|
+
Read `$REQUIREMENTS_DOC` to understand the game concept and features.
|
|
151
|
+
|
|
152
|
+
**STEP 2: Choose the Platform**
|
|
153
|
+
|
|
154
|
+
Ask the child: "Where do you want to play your game?"
|
|
155
|
+
- "In a web browser?" → HTML5/JavaScript
|
|
156
|
+
- "As a program on your computer?" → Python/Pygame
|
|
157
|
+
|
|
158
|
+
Explain each option in simple terms:
|
|
159
|
+
- **Browser**: Write code, works anywhere, more visual control
|
|
160
|
+
- **Python**: Desktop game, requires Python knowledge
|
|
161
|
+
|
|
162
|
+
**STEP 3: Update Architecture Documentation**
|
|
163
|
+
|
|
164
|
+
Document in `$ARCHITECTURE_DOC`:
|
|
165
|
+
- Platform decision and why
|
|
166
|
+
- Main game components (Player, Enemy, Game Manager, etc.)
|
|
167
|
+
- Simple ASCII diagram showing component connections
|
|
168
|
+
- OOP concepts explained simply (classes as blueprints)
|
|
169
|
+
- File organization for chosen platform
|
|
170
|
+
- State/Mechanics/Presentation separation
|
|
171
|
+
|
|
172
|
+
**STEP 4: Set Up Development Environment**
|
|
173
|
+
|
|
174
|
+
Configure quality tools based on platform choice:
|
|
175
|
+
|
|
176
|
+
**For HTML5/JavaScript:**
|
|
177
|
+
- Install ESLint, Prettier, Husky
|
|
178
|
+
- Configure scripts in package.json
|
|
179
|
+
|
|
180
|
+
**For Python:**
|
|
181
|
+
- Create virtual environment
|
|
182
|
+
- Install Ruff
|
|
183
|
+
|
|
184
|
+
**STEP 5: Explain Platform Architecture to Child**
|
|
185
|
+
|
|
186
|
+
"I figured out HOW we'll build your game!
|
|
187
|
+
|
|
188
|
+
We're using [PLATFORM] because [REASON].
|
|
189
|
+
|
|
190
|
+
Your game will have these main parts:
|
|
191
|
+
- [COMPONENT_1] - like [SIMPLE_ANALOGY]
|
|
192
|
+
- [COMPONENT_2] - like [SIMPLE_ANALOGY]
|
|
193
|
+
- [COMPONENT_3] - like [SIMPLE_ANALOGY]
|
|
194
|
+
|
|
195
|
+
I also set up helper tools that check your code automatically - like spell-check for code!"
|
|
196
|
+
|
|
197
|
+
**STEP 6: Verify Understanding**
|
|
198
|
+
|
|
199
|
+
Ask: "Does that make sense? Do you understand how these pieces will work together?
|
|
200
|
+
Any questions before we plan out WHAT features to build?"
|
|
201
|
+
|
|
202
|
+
Wait for confirmation before proceeding.
|
|
203
|
+
|
|
204
|
+
transitions:
|
|
205
|
+
- trigger: 'architecture_complete'
|
|
206
|
+
to: 'design'
|
|
207
|
+
additional_instructions: |
|
|
208
|
+
Great! We have set the foundation for your game! 🏗️
|
|
209
|
+
Now let's plan out how we're going to build it!
|
|
210
|
+
transition_reason: 'Technical architecture complete, ready for detailed design'
|
|
211
|
+
|
|
212
|
+
design:
|
|
213
|
+
description: 'Plan features and implementation strategy'
|
|
214
|
+
default_instructions: |
|
|
215
|
+
**STEP 1: Review Requirements and Architecture**
|
|
216
|
+
|
|
217
|
+
Read `$REQUIREMENTS_DOC` and `$ARCHITECTURE_DOC` to understand what we're building and the technical foundation.
|
|
218
|
+
|
|
219
|
+
**STEP 2: Select Libraries and Dependencies**
|
|
220
|
+
|
|
221
|
+
Choose appropriate libraries based on requirements (e.g., physics engines, platformer frameworks).
|
|
222
|
+
|
|
223
|
+
Document in `$DESIGN_DOC`:
|
|
224
|
+
- Which libraries will be used
|
|
225
|
+
- Why each library was chosen
|
|
226
|
+
|
|
227
|
+
**STEP 3: Design Major Features**
|
|
228
|
+
|
|
229
|
+
Update `$DESIGN_DOC` with detailed designs for each major feature:
|
|
230
|
+
- What it does (from player perspective)
|
|
231
|
+
- How it works (technical implementation)
|
|
232
|
+
- State/Mechanics/Presentation separation
|
|
233
|
+
|
|
234
|
+
**IMPORTANT: Create file structures (single responsibility) without writing full code yet!**
|
|
235
|
+
|
|
236
|
+
**STEP 4: Explain Technology Choices to Child**
|
|
237
|
+
|
|
238
|
+
"We've selected the technologies we'll use to build your game.
|
|
239
|
+
|
|
240
|
+
This might sound technical, but as you gain experience, picking the right tools gets easier!
|
|
241
|
+
I've helped you make these decisions because my creator shared what works best for beginners like you.
|
|
242
|
+
|
|
243
|
+
You can review the design.md in the `.vibe/docs` folder to see what we picked and why."
|
|
244
|
+
|
|
245
|
+
**STEP 5: Verify Understanding**
|
|
246
|
+
|
|
247
|
+
Wait for the child's confirmation before proceeding to implementation.
|
|
248
|
+
|
|
249
|
+
transitions:
|
|
250
|
+
- trigger: 'design_complete'
|
|
251
|
+
to: 'code'
|
|
252
|
+
additional_instructions: |
|
|
253
|
+
Perfect! We have our plan! 🎯
|
|
254
|
+
We'll be doing this step by step: After each major part we built, we will review it together to make sure you understand everything!
|
|
255
|
+
transition_reason: 'Detailed design complete, ready to implement'
|
|
256
|
+
|
|
257
|
+
code:
|
|
258
|
+
description: 'Build the game incrementally with frequent reviews'
|
|
259
|
+
default_instructions: |
|
|
260
|
+
**STEP 1: Follow Implementation Plan**
|
|
261
|
+
|
|
262
|
+
Use `$DESIGN_DOC` for implementation order and `$ARCHITECTURE_DOC` for code structure.
|
|
263
|
+
|
|
264
|
+
**STEP 2: Build One Feature at a Time**
|
|
265
|
+
|
|
266
|
+
Implement features incrementally, testing each one thoroughly before moving to the next.
|
|
267
|
+
|
|
268
|
+
**CRITICAL: Transition to review phase after completing each major feature**
|
|
269
|
+
|
|
270
|
+
Call `proceed_to_phase('review')` after each completed task from the plan.
|
|
271
|
+
transitions:
|
|
272
|
+
- trigger: 'feature_complete'
|
|
273
|
+
to: 'review'
|
|
274
|
+
additional_instructions: |
|
|
275
|
+
Feature complete! Let's review what we just built! 🎉
|
|
276
|
+
transition_reason: 'Major feature completed, time for incremental review'
|
|
277
|
+
|
|
278
|
+
- trigger: 'game_complete'
|
|
279
|
+
to: 'celebrate'
|
|
280
|
+
additional_instructions: |
|
|
281
|
+
The entire game is done! Time to celebrate! 🎊
|
|
282
|
+
transition_reason: 'All features complete, game is finished'
|
|
283
|
+
|
|
284
|
+
review:
|
|
285
|
+
description: 'Review and understand what was just built'
|
|
286
|
+
default_instructions: |
|
|
287
|
+
**STEP 1: Summarize the Feature**
|
|
288
|
+
|
|
289
|
+
Describe the completed feature in one sentence:
|
|
290
|
+
- "We just added player movement!"
|
|
291
|
+
- "We just made enemies appear and move!"
|
|
292
|
+
- "We just added collision detection!"
|
|
293
|
+
|
|
294
|
+
**STEP 2: Show Key Code Changes**
|
|
295
|
+
|
|
296
|
+
Highlight 2-3 key parts of the code and explain each clearly. Encourage the child to open their code editor and follow along.
|
|
297
|
+
|
|
298
|
+
Example explanation:
|
|
299
|
+
|
|
300
|
+
"Let me show you the important parts of what we just built:
|
|
301
|
+
|
|
302
|
+
1. **Keyboard Listener** - This is like a sensor that detects when you press arrow keys
|
|
303
|
+
[Show the code]
|
|
304
|
+
|
|
305
|
+
2. **Movement Logic** - This changes the player's position when keys are pressed
|
|
306
|
+
[Show the code]
|
|
307
|
+
|
|
308
|
+
3. **Boundary Check** - This keeps the player from going off the screen
|
|
309
|
+
[Show the code]"
|
|
310
|
+
|
|
311
|
+
Use simple analogies to explain concepts:
|
|
312
|
+
- Event listeners = sensors
|
|
313
|
+
- Variables = boxes that store information
|
|
314
|
+
- Functions = recipes that do specific jobs
|
|
315
|
+
- Classes = blueprints or instruction manuals
|
|
316
|
+
|
|
317
|
+
**STEP 3: Demonstrate the Feature**
|
|
318
|
+
|
|
319
|
+
Run the game and show the new feature working:
|
|
320
|
+
"Let's test it! Try pressing the arrow keys..."
|
|
321
|
+
|
|
322
|
+
**STEP 4: Celebrate the Achievement**
|
|
323
|
+
|
|
324
|
+
Encourage the child: "You just built [FEATURE]! That's a real game programming skill! 🌟"
|
|
325
|
+
|
|
326
|
+
**STEP 5: Check Understanding**
|
|
327
|
+
|
|
328
|
+
Ask: "Do you understand how this works? Want me to explain any part again?"
|
|
329
|
+
|
|
330
|
+
Wait for response and answer questions patiently.
|
|
331
|
+
|
|
332
|
+
**STEP 6: Plan Next Steps**
|
|
333
|
+
|
|
334
|
+
Ask: "Ready to build the next feature? Or do you need a break?"
|
|
335
|
+
|
|
336
|
+
**Conditional Next Actions:**
|
|
337
|
+
- If ready to continue: Transition to 'code' with 'continue_coding' trigger
|
|
338
|
+
- If game is complete: Transition to 'celebrate' with 'game_complete' trigger
|
|
339
|
+
|
|
340
|
+
transitions:
|
|
341
|
+
- trigger: 'continue_coding'
|
|
342
|
+
to: 'code'
|
|
343
|
+
additional_instructions: |
|
|
344
|
+
Great! Let's build the next feature! 🚀
|
|
345
|
+
transition_reason: 'Child understands current feature, ready to continue'
|
|
346
|
+
review_perspectives:
|
|
347
|
+
- perspective: 'quiz-master'
|
|
348
|
+
prompt: |
|
|
349
|
+
You are a friendly quiz master helping a child explore and understand their code!
|
|
350
|
+
|
|
351
|
+
Ask 2-3 exploratory questions that make them FIND things in the code:
|
|
352
|
+
|
|
353
|
+
**Good Questions (make them explore):**
|
|
354
|
+
- "Can you find the line where we check if the spacebar was pressed? What does it say?"
|
|
355
|
+
- "Look for the variable that holds the player's score. What's it called?"
|
|
356
|
+
- "Find the Enemy class - what happens when an enemy reaches the bottom of the screen?"
|
|
357
|
+
- "Can you spot where we draw the player on the screen? Show me that function!"
|
|
358
|
+
|
|
359
|
+
**Bad Questions (too abstract):**
|
|
360
|
+
- ❌ "What is a variable?"
|
|
361
|
+
- ❌ "Explain object-oriented programming"
|
|
362
|
+
- ❌ "What does this function return?"
|
|
363
|
+
|
|
364
|
+
**Important:**
|
|
365
|
+
- Make it a treasure hunt, not a test!
|
|
366
|
+
- If they can't find it, give hints: "Look in the Player class..."
|
|
367
|
+
- Celebrate when they find it: "Yes! That's it! 🎉"
|
|
368
|
+
- The goal is active code exploration, not memorization
|
|
369
|
+
- Keep it fun and encouraging!
|
|
370
|
+
|
|
371
|
+
- trigger: 'game_complete'
|
|
372
|
+
to: 'celebrate'
|
|
373
|
+
additional_instructions: |
|
|
374
|
+
All features are done! Time for the final celebration! 🎊
|
|
375
|
+
transition_reason: 'All features complete and understood'
|
|
376
|
+
|
|
377
|
+
celebrate:
|
|
378
|
+
description: 'Celebrate the completed game and reflect on learning'
|
|
379
|
+
default_instructions: |
|
|
380
|
+
**STEP 1: Play the Complete Game**
|
|
381
|
+
|
|
382
|
+
Celebrate with the child: "Let's play your finished game together! You built this!"
|
|
383
|
+
|
|
384
|
+
Let them play and enjoy their creation.
|
|
385
|
+
|
|
386
|
+
**STEP 2: Celebrate the Achievement**
|
|
387
|
+
|
|
388
|
+
Be enthusiastic and genuinely celebrate their work:
|
|
389
|
+
|
|
390
|
+
"You just built a REAL game! You're a game developer now! 🌟
|
|
391
|
+
|
|
392
|
+
Think about everything you learned:
|
|
393
|
+
- How to plan a game
|
|
394
|
+
- How to organize code (classes, state, mechanics, presentation)
|
|
395
|
+
- How to make things move on screen
|
|
396
|
+
- How to detect collisions
|
|
397
|
+
- How to add scoring and game rules
|
|
398
|
+
|
|
399
|
+
That's AMAZING! Many adults don't know how to do this!"
|
|
400
|
+
|
|
401
|
+
**STEP 3: Reflect on Learning**
|
|
402
|
+
|
|
403
|
+
Ask the child:
|
|
404
|
+
- "What was the hardest part of building this game?"
|
|
405
|
+
- "What was the most fun part?"
|
|
406
|
+
- "What are you most proud of?"
|
|
407
|
+
|
|
408
|
+
**STEP 4: Explore Future Ideas**
|
|
409
|
+
|
|
410
|
+
Ask: "Now that you've built Version 1, what would you want to add next?"
|
|
411
|
+
|
|
412
|
+
Review the "Future Ideas" list from `$REQUIREMENTS_DOC`.
|
|
413
|
+
|
|
414
|
+
**STEP 5: Document the Achievement**
|
|
415
|
+
|
|
416
|
+
Update the plan file with:
|
|
417
|
+
- Game completion date
|
|
418
|
+
- What was learned
|
|
419
|
+
- What the child wants to build next
|
|
420
|
+
- Any notes for future sessions
|
|
421
|
+
|
|
422
|
+
**STEP 6: Encourage Next Steps**
|
|
423
|
+
|
|
424
|
+
"You can keep building on this game, or start a new one!
|
|
425
|
+
You now have the skills to make ANY simple game you can imagine!"
|
|
426
|
+
|
|
427
|
+
**Congratulations, young game developer! 🚀**
|
|
428
|
+
|
|
429
|
+
transitions:
|
|
430
|
+
- trigger: 'enhance_game'
|
|
431
|
+
to: 'imagine'
|
|
432
|
+
additional_instructions: |
|
|
433
|
+
copy the development plan to a new file. Also move the existing conversation in .vibe to .vibe/archive
|
|
434
|
+
transition_reason: 'Adding features to existing game'
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# yaml-language-server: $schema=../state-machine-schema.json
|
|
2
|
+
---
|
|
3
|
+
name: 'greenfield'
|
|
4
|
+
description: 'A comprehensive workflow for starting new projects from scratch: Ideation, Architecture, Plan, Code, Document - ideal for greenfield projects requiring thorough upfront planning'
|
|
5
|
+
initial_state: 'ideation'
|
|
6
|
+
|
|
7
|
+
# Enhanced metadata for better discoverability
|
|
8
|
+
metadata:
|
|
9
|
+
domain: 'code'
|
|
10
|
+
complexity: 'high'
|
|
11
|
+
bestFor:
|
|
12
|
+
- 'New projects from scratch'
|
|
13
|
+
- 'Greenfield development'
|
|
14
|
+
- 'Complex system design'
|
|
15
|
+
- 'Comprehensive planning needed'
|
|
16
|
+
useCases:
|
|
17
|
+
- 'Starting a new application'
|
|
18
|
+
- 'Building a new service'
|
|
19
|
+
- 'Creating a new library'
|
|
20
|
+
examples:
|
|
21
|
+
- 'Build a new web application'
|
|
22
|
+
- 'Create a microservice architecture'
|
|
23
|
+
- 'Develop a new CLI tool'
|
|
24
|
+
requiresDocumentation: true
|
|
25
|
+
|
|
26
|
+
# States with default instructions and transitions
|
|
27
|
+
states:
|
|
28
|
+
ideation:
|
|
29
|
+
description: 'Deep requirements discovery and PRD creation phase'
|
|
30
|
+
default_instructions: |
|
|
31
|
+
Understand WHAT the system should do, WHO will use it, WHY it's needed, and WHAT'S in/out of scope by exploring:
|
|
32
|
+
- Are there existing solutions? What gaps do they have?
|
|
33
|
+
- What technologies must/cannot be used? Why?
|
|
34
|
+
- How will you measure product success?
|
|
35
|
+
- Have you validated this need with potential users?
|
|
36
|
+
|
|
37
|
+
Don't discuss technical implementation yet - focus purely on understanding the problem space and requirements. Document all findings in `$REQUIREMENTS_DOC` and create tasks as needed.
|
|
38
|
+
transitions:
|
|
39
|
+
- trigger: 'ideation_complete'
|
|
40
|
+
to: 'architecture'
|
|
41
|
+
transition_reason: 'PRD is complete with clear requirements, ready for technical architecture design'
|
|
42
|
+
review_perspectives:
|
|
43
|
+
- perspective: 'business_analyst'
|
|
44
|
+
prompt: 'Review the Product Requirements Document for completeness, clarity, and business value. Ensure all stakeholder needs are captured, requirements are testable, and scope is well-defined.'
|
|
45
|
+
- perspective: 'ux_expert'
|
|
46
|
+
prompt: 'Evaluate user experience requirements and usability considerations. Ensure user personas, workflows, and interaction patterns are properly defined for the greenfield project.'
|
|
47
|
+
|
|
48
|
+
architecture:
|
|
49
|
+
description: 'Tech stack selection and architecture design phase'
|
|
50
|
+
default_instructions: |
|
|
51
|
+
Design the technical solution based on requirements from `$REQUIREMENTS_DOC`.
|
|
52
|
+
|
|
53
|
+
- Ask about the user's technical preferences and experience
|
|
54
|
+
- Challenge their choices by presenting alternatives
|
|
55
|
+
- Evaluate pros and cons of different tech stacks, frameworks, and architectural patterns
|
|
56
|
+
- Consider non-functional requirements like scalability, performance, maintainability, and deployment
|
|
57
|
+
|
|
58
|
+
Create a comprehensive architecture document in `$ARCHITECTURE_DOC`. Don't start coding yet - focus on technical design decisions.
|
|
59
|
+
transitions:
|
|
60
|
+
- trigger: 'need_more_ideation'
|
|
61
|
+
to: 'ideation'
|
|
62
|
+
additional_instructions: 'Architecture work revealed gaps in requirements understanding. Focus on the specific requirements areas that need clarification before continuing with technical design.'
|
|
63
|
+
transition_reason: 'Architecture work revealed need for more requirements clarification'
|
|
64
|
+
|
|
65
|
+
- trigger: 'architecture_complete'
|
|
66
|
+
to: 'plan'
|
|
67
|
+
additional_instructions: 'Present the implementation plan to the user and document it thoroughly.'
|
|
68
|
+
transition_reason: 'Technical architecture is complete, ready for implementation planning'
|
|
69
|
+
review_perspectives:
|
|
70
|
+
- perspective: 'architect'
|
|
71
|
+
prompt: 'Review the technical architecture for completeness, scalability, and maintainability. Ensure technology choices are appropriate and architectural patterns are sound for a greenfield project.'
|
|
72
|
+
- perspective: 'security_expert'
|
|
73
|
+
prompt: 'Evaluate security architecture, data protection strategies, and potential vulnerabilities. Ensure security is built into the foundation of the greenfield project from the start.'
|
|
74
|
+
|
|
75
|
+
- trigger: 'abandon_project'
|
|
76
|
+
to: 'ideation'
|
|
77
|
+
instructions: >
|
|
78
|
+
Project development abandoned during architecture phase. Return to ideation state for new projects.
|
|
79
|
+
Task history and PRD will remain for future reference.
|
|
80
|
+
additional_instructions: 'Project development abandoned during architecture phase. Clean up any architecture work and prepare for new projects.'
|
|
81
|
+
transition_reason: 'User decided to abandon project during architecture phase'
|
|
82
|
+
|
|
83
|
+
plan:
|
|
84
|
+
description: 'Implementation planning phase based on established architecture'
|
|
85
|
+
default_instructions: |
|
|
86
|
+
Create a detailed implementation strategy based on your completed architecture in `$ARCHITECTURE_DOC` and requirements from `$REQUIREMENTS_DOC`.
|
|
87
|
+
|
|
88
|
+
**STEP 1: Break Down Work**
|
|
89
|
+
- Break down the work into specific, actionable tasks
|
|
90
|
+
- Consider the chosen tech stack and architectural decisions
|
|
91
|
+
- Plan the implementation order and identify dependencies
|
|
92
|
+
|
|
93
|
+
**STEP 2: Assess Risks**
|
|
94
|
+
- Consider potential risks and mitigation strategies
|
|
95
|
+
- Document the detailed design in `$DESIGN_DOC`
|
|
96
|
+
|
|
97
|
+
**STEP 3: Create Tasks**
|
|
98
|
+
- Create tasks thoroughly with clear milestones for implementation work
|
|
99
|
+
- Ensure each task is actionable and has clear acceptance criteria
|
|
100
|
+
transitions:
|
|
101
|
+
- trigger: 'need_architecture_changes'
|
|
102
|
+
to: 'architecture'
|
|
103
|
+
additional_instructions: "Planning revealed issues with the current architecture. Consider what you've learned during planning and adjust the technical design accordingly. Document the changes and reasons."
|
|
104
|
+
transition_reason: 'Planning work revealed need to revise the architecture'
|
|
105
|
+
|
|
106
|
+
- trigger: 'plan_complete'
|
|
107
|
+
to: 'code'
|
|
108
|
+
additional_instructions: "Implementation plan is complete! ✅ Now transition to coding phase. Read specific documentation before using the chosen libraries and frameworks. Follow the architectural patterns and tech stack decisions you've made. Modularize your code according to best practices. Stay focused on the current project scope defined in your PRD. Update task progress as you complete planning work."
|
|
109
|
+
transition_reason: 'Implementation plan is complete and ready for coding'
|
|
110
|
+
|
|
111
|
+
- trigger: 'abandon_project'
|
|
112
|
+
to: 'ideation'
|
|
113
|
+
instructions: >
|
|
114
|
+
Project development abandoned during planning. Return to ideation state for new projects.
|
|
115
|
+
Task history, PRD, and architecture documentation will remain for future reference.
|
|
116
|
+
additional_instructions: 'Project development abandoned during planning. Clean up any planning work and prepare for new projects.'
|
|
117
|
+
transition_reason: 'User decided to abandon project during planning phase'
|
|
118
|
+
|
|
119
|
+
code:
|
|
120
|
+
description: 'Implementation phase following the established plan and architecture'
|
|
121
|
+
default_instructions: |
|
|
122
|
+
Build the solution following your plan and detailed design from `$DESIGN_DOC` using the architecture from `$ARCHITECTURE_DOC`.
|
|
123
|
+
|
|
124
|
+
- Ensure all requirements from `$REQUIREMENTS_DOC` you are currently working on are met
|
|
125
|
+
- Write clean, well-structured code with proper error handling
|
|
126
|
+
- Prevent regression by building, linting, and executing existing tests
|
|
127
|
+
- Stay flexible and adapt the plan as you learn more during implementation, but maintain alignment with your architecture decisions
|
|
128
|
+
- Update task progress and create new tasks as needed for current phase work
|
|
129
|
+
transitions:
|
|
130
|
+
- trigger: 'need_replanning'
|
|
131
|
+
to: 'plan'
|
|
132
|
+
additional_instructions: "Implementation revealed issues with the current plan. Consider what you've learned during coding and adjust the implementation strategy accordingly while maintaining architectural consistency. Document the changes and reasons."
|
|
133
|
+
transition_reason: 'Implementation work revealed need to revise the plan'
|
|
134
|
+
|
|
135
|
+
- trigger: 'need_architecture_changes'
|
|
136
|
+
to: 'architecture'
|
|
137
|
+
additional_instructions: 'Implementation revealed fundamental issues with the architecture that require design changes. Focus on the specific architectural problems that are blocking implementation progress.'
|
|
138
|
+
transition_reason: 'Implementation work revealed need for architectural changes'
|
|
139
|
+
|
|
140
|
+
- trigger: 'code_complete'
|
|
141
|
+
to: 'finalize'
|
|
142
|
+
transition_reason: 'Core implementation is complete, ready for comprehensive documentation'
|
|
143
|
+
|
|
144
|
+
- trigger: 'abandon_project'
|
|
145
|
+
to: 'ideation'
|
|
146
|
+
instructions: >
|
|
147
|
+
Project development abandoned during implementation. Clean up any incomplete code and return to ideation.
|
|
148
|
+
Task history, PRD, architecture documentation, and any completed work will remain for future reference.
|
|
149
|
+
additional_instructions: 'Project development abandoned during implementation. Clean up any incomplete code and prepare for new projects.'
|
|
150
|
+
transition_reason: 'User decided to abandon project during implementation'
|
|
151
|
+
|
|
152
|
+
finalize:
|
|
153
|
+
description: 'Code cleanup and documentation finalization'
|
|
154
|
+
default_instructions: |
|
|
155
|
+
This phase ensures code quality and documentation accuracy through systematic cleanup and review.
|
|
156
|
+
|
|
157
|
+
**STEP 1: Code Cleanup**
|
|
158
|
+
Systematically clean up development artifacts:
|
|
159
|
+
|
|
160
|
+
1. Remove all temporary debug output statements used during development (console logging, print statements, debug functions)
|
|
161
|
+
2. Address each TODO/FIXME comment by either implementing the solution or documenting why it's deferred
|
|
162
|
+
- Remove completed TODOs
|
|
163
|
+
- Convert remaining TODOs to proper issue tracking if needed
|
|
164
|
+
3. Remove debugging code blocks, temporary test code, and commented-out code
|
|
165
|
+
- Ensure proper error handling replaces temporary debug logging
|
|
166
|
+
|
|
167
|
+
**STEP 2: Documentation Review**
|
|
168
|
+
Update documentation to reflect final implementation:
|
|
169
|
+
|
|
170
|
+
1. Update long-term memory documents based on what was actually implemented:
|
|
171
|
+
- Update `$REQUIREMENTS_DOC` if requirements changed during development
|
|
172
|
+
- Update `$ARCHITECTURE_DOC` if architectural decisions evolved
|
|
173
|
+
- Update `$DESIGN_DOC` if design details were refined or changed
|
|
174
|
+
2. Review documentation against actual implemented functionality
|
|
175
|
+
3. Only modify documentation sections that have functional changes
|
|
176
|
+
4. Remove references to development iterations, progress notes, and temporary decisions
|
|
177
|
+
5. Ensure documentation describes the final implemented state, not the development process
|
|
178
|
+
6. Ask user to review document updates
|
|
179
|
+
|
|
180
|
+
**STEP 3: Comprehensive Documentation**
|
|
181
|
+
Ensure project has complete documentation for newcomers including setup, usage, architecture overview, and contribution guidelines.
|
|
182
|
+
|
|
183
|
+
**STEP 4: Final Validation**
|
|
184
|
+
- Run existing tests to ensure cleanup didn't break functionality
|
|
185
|
+
- Verify documentation accuracy with a final review
|
|
186
|
+
- Ensure project is ready for users and contributors
|
|
187
|
+
- Update task progress and mark completed work as you finalize the project
|
|
188
|
+
transitions:
|
|
189
|
+
- trigger: 'need_code_changes'
|
|
190
|
+
to: 'code'
|
|
191
|
+
additional_instructions: 'Finalization revealed issues that require code changes. Focus on the problems identified during final review that affect usability or functionality.'
|
|
192
|
+
transition_reason: 'Finalization revealed issues requiring code changes'
|
|
193
|
+
|
|
194
|
+
- trigger: 'finalization_complete'
|
|
195
|
+
to: 'ideation'
|
|
196
|
+
transition_reason: 'Project delivery complete with finalized code and documentation, ready for next greenfield project'
|
|
197
|
+
|
|
198
|
+
- trigger: 'abandon_project'
|
|
199
|
+
to: 'ideation'
|
|
200
|
+
additional_instructions: 'Project development abandoned during finalization. Clean up any finalization artifacts and prepare for new projects.'
|
|
201
|
+
transition_reason: 'User decided to abandon project during finalization phase'
|