omgkit 2.10.1 → 2.12.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.
- package/README.md +46 -1
- package/package.json +2 -1
- package/plugin/agents/autonomous-orchestrator.yaml +215 -0
- package/plugin/commands/auto/approve.md +258 -0
- package/plugin/commands/auto/checkpoint.md +253 -0
- package/plugin/commands/auto/init.md +236 -0
- package/plugin/commands/auto/next.md +278 -0
- package/plugin/commands/auto/reject.md +278 -0
- package/plugin/commands/auto/resume.md +233 -0
- package/plugin/commands/auto/start.md +212 -0
- package/plugin/commands/auto/status.md +212 -0
- package/plugin/commands/auto/verify.md +353 -0
- package/plugin/skills/autonomous/project-orchestration/SKILL.md +332 -0
- package/plugin/templates/autonomous/archetypes/ai-model-building.yaml +443 -0
- package/plugin/templates/autonomous/archetypes/ai-powered-app.yaml +420 -0
- package/plugin/templates/autonomous/archetypes/api-service.yaml +78 -0
- package/plugin/templates/autonomous/archetypes/cli-tool.yaml +67 -0
- package/plugin/templates/autonomous/archetypes/desktop-app.yaml +371 -0
- package/plugin/templates/autonomous/archetypes/fullstack-app.yaml +97 -0
- package/plugin/templates/autonomous/archetypes/game-app.yaml +428 -0
- package/plugin/templates/autonomous/archetypes/iot-app.yaml +415 -0
- package/plugin/templates/autonomous/archetypes/library.yaml +64 -0
- package/plugin/templates/autonomous/archetypes/mobile-app.yaml +356 -0
- package/plugin/templates/autonomous/archetypes/saas-mvp.yaml +417 -0
- package/plugin/templates/autonomous/archetypes/simulation-app.yaml +428 -0
- package/plugin/templates/autonomous/artifacts-schema.yaml +465 -0
- package/plugin/templates/autonomous/decision-framework.yaml +337 -0
- package/plugin/templates/autonomous/discovery-questions.yaml +795 -0
- package/plugin/templates/autonomous/features-schema.yaml +254 -0
- package/plugin/templates/autonomous/memory-system.yaml +298 -0
- package/plugin/templates/autonomous/prd-template.md +251 -0
- package/plugin/templates/autonomous/state-schema.yaml +487 -0
- package/plugin/workflows/autonomous/discovery.yaml +232 -0
- package/plugin/workflows/autonomous/execution.yaml +275 -0
- package/plugin/workflows/autonomous/planning.yaml +244 -0
|
@@ -0,0 +1,795 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
name: "Project Discovery"
|
|
3
|
+
description: "Big-tech level requirements gathering through structured brainstorming"
|
|
4
|
+
|
|
5
|
+
# Discovery is conducted in 5 stages, each with specific questions
|
|
6
|
+
# Questions are adaptive - some are skipped based on previous answers
|
|
7
|
+
|
|
8
|
+
stages:
|
|
9
|
+
#############################################################################
|
|
10
|
+
# STAGE 1: VISION & STRATEGIC CONTEXT
|
|
11
|
+
#############################################################################
|
|
12
|
+
- id: vision
|
|
13
|
+
name: "Vision & Strategic Context"
|
|
14
|
+
description: "Understanding the why behind the project"
|
|
15
|
+
icon: "lightbulb"
|
|
16
|
+
|
|
17
|
+
questions:
|
|
18
|
+
- id: problem_statement
|
|
19
|
+
question: "What problem are you solving? Describe the pain point in detail."
|
|
20
|
+
type: open
|
|
21
|
+
required: true
|
|
22
|
+
priority: critical
|
|
23
|
+
guidance: |
|
|
24
|
+
A good problem statement includes:
|
|
25
|
+
- Who has this problem
|
|
26
|
+
- What they're trying to do
|
|
27
|
+
- Why it's difficult today
|
|
28
|
+
- The impact of not solving it
|
|
29
|
+
follow_ups:
|
|
30
|
+
- "Who experiences this pain most acutely?"
|
|
31
|
+
- "How are they solving it today (workarounds)?"
|
|
32
|
+
- "What's the cost of not solving this problem?"
|
|
33
|
+
|
|
34
|
+
- id: solution_vision
|
|
35
|
+
question: "In one sentence, what is your solution?"
|
|
36
|
+
type: open
|
|
37
|
+
required: true
|
|
38
|
+
priority: critical
|
|
39
|
+
validation: "Should be concise and directly address the problem"
|
|
40
|
+
|
|
41
|
+
- id: project_type
|
|
42
|
+
question: "What type of project is this?"
|
|
43
|
+
type: single_choice
|
|
44
|
+
required: true
|
|
45
|
+
priority: critical
|
|
46
|
+
options:
|
|
47
|
+
- id: saas
|
|
48
|
+
label: "SaaS Platform"
|
|
49
|
+
description: "Multi-tenant web application with subscriptions"
|
|
50
|
+
archetype: saas-mvp
|
|
51
|
+
- id: api
|
|
52
|
+
label: "API Service"
|
|
53
|
+
description: "Backend service consumed by other applications"
|
|
54
|
+
archetype: api-service
|
|
55
|
+
- id: cli
|
|
56
|
+
label: "CLI Tool"
|
|
57
|
+
description: "Command-line utility for developers/ops"
|
|
58
|
+
archetype: cli-tool
|
|
59
|
+
- id: library
|
|
60
|
+
label: "Library/SDK"
|
|
61
|
+
description: "Reusable code package for other developers"
|
|
62
|
+
archetype: library
|
|
63
|
+
- id: fullstack
|
|
64
|
+
label: "Full-Stack App"
|
|
65
|
+
description: "Web application with frontend and backend"
|
|
66
|
+
archetype: fullstack-app
|
|
67
|
+
- id: mobile
|
|
68
|
+
label: "Mobile App"
|
|
69
|
+
description: "iOS/Android application"
|
|
70
|
+
archetype: mobile-app
|
|
71
|
+
- id: other
|
|
72
|
+
label: "Other"
|
|
73
|
+
description: "Describe your project type"
|
|
74
|
+
requires_input: true
|
|
75
|
+
|
|
76
|
+
- id: business_model
|
|
77
|
+
question: "How will this make money (or provide value)?"
|
|
78
|
+
type: single_choice
|
|
79
|
+
required: true
|
|
80
|
+
priority: high
|
|
81
|
+
options:
|
|
82
|
+
- id: subscription
|
|
83
|
+
label: "Subscription (SaaS)"
|
|
84
|
+
description: "Monthly/yearly recurring revenue"
|
|
85
|
+
enables: [payments, billing]
|
|
86
|
+
- id: usage
|
|
87
|
+
label: "Usage-Based"
|
|
88
|
+
description: "Pay per API call, storage, compute, etc."
|
|
89
|
+
enables: [payments, metering]
|
|
90
|
+
- id: one_time
|
|
91
|
+
label: "One-Time Purchase"
|
|
92
|
+
description: "Single payment for license"
|
|
93
|
+
enables: [payments]
|
|
94
|
+
- id: freemium
|
|
95
|
+
label: "Freemium"
|
|
96
|
+
description: "Free tier with paid upgrades"
|
|
97
|
+
enables: [payments, tiers]
|
|
98
|
+
- id: open_source
|
|
99
|
+
label: "Open Source"
|
|
100
|
+
description: "Free, monetize through support/hosting"
|
|
101
|
+
disables: [payments]
|
|
102
|
+
- id: internal
|
|
103
|
+
label: "Internal Tool"
|
|
104
|
+
description: "No direct revenue, productivity gains"
|
|
105
|
+
disables: [payments]
|
|
106
|
+
- id: other
|
|
107
|
+
label: "Other"
|
|
108
|
+
requires_input: true
|
|
109
|
+
|
|
110
|
+
- id: differentiator
|
|
111
|
+
question: "What makes your solution different from existing alternatives?"
|
|
112
|
+
type: open
|
|
113
|
+
required: true
|
|
114
|
+
priority: high
|
|
115
|
+
guidance: "Consider: speed, cost, ease of use, features, target audience"
|
|
116
|
+
|
|
117
|
+
- id: timeline
|
|
118
|
+
question: "What are your time constraints?"
|
|
119
|
+
type: single_choice
|
|
120
|
+
required: true
|
|
121
|
+
priority: high
|
|
122
|
+
options:
|
|
123
|
+
- id: asap
|
|
124
|
+
label: "ASAP (Days)"
|
|
125
|
+
description: "Need MVP in 3-7 days"
|
|
126
|
+
scope_limit: minimal
|
|
127
|
+
- id: weeks
|
|
128
|
+
label: "2-4 Weeks"
|
|
129
|
+
description: "Standard MVP timeline"
|
|
130
|
+
scope_limit: mvp
|
|
131
|
+
- id: months
|
|
132
|
+
label: "1-3 Months"
|
|
133
|
+
description: "Full feature set needed"
|
|
134
|
+
scope_limit: full
|
|
135
|
+
- id: quarter
|
|
136
|
+
label: "3-6 Months"
|
|
137
|
+
description: "Enterprise-grade required"
|
|
138
|
+
scope_limit: enterprise
|
|
139
|
+
- id: flexible
|
|
140
|
+
label: "No Hard Deadline"
|
|
141
|
+
description: "Quality over speed"
|
|
142
|
+
scope_limit: none
|
|
143
|
+
|
|
144
|
+
- id: hard_deadline
|
|
145
|
+
question: "Is there a specific date you need to hit?"
|
|
146
|
+
type: open
|
|
147
|
+
required: false
|
|
148
|
+
priority: medium
|
|
149
|
+
condition: "timeline != flexible"
|
|
150
|
+
guidance: "Examples: demo date, launch event, funding milestone"
|
|
151
|
+
|
|
152
|
+
- id: budget_constraints
|
|
153
|
+
question: "Any budget constraints for infrastructure/services?"
|
|
154
|
+
type: single_choice
|
|
155
|
+
required: false
|
|
156
|
+
priority: medium
|
|
157
|
+
options:
|
|
158
|
+
- id: free
|
|
159
|
+
label: "Free/Minimal"
|
|
160
|
+
description: "Use free tiers only"
|
|
161
|
+
- id: low
|
|
162
|
+
label: "Low ($0-50/month)"
|
|
163
|
+
description: "Small hobby budget"
|
|
164
|
+
- id: medium
|
|
165
|
+
label: "Medium ($50-500/month)"
|
|
166
|
+
description: "Startup budget"
|
|
167
|
+
- id: high
|
|
168
|
+
label: "High ($500+/month)"
|
|
169
|
+
description: "Enterprise budget"
|
|
170
|
+
- id: unlimited
|
|
171
|
+
label: "Not a constraint"
|
|
172
|
+
description: "Budget is flexible"
|
|
173
|
+
|
|
174
|
+
#############################################################################
|
|
175
|
+
# STAGE 2: USERS & PERSONAS
|
|
176
|
+
#############################################################################
|
|
177
|
+
- id: users
|
|
178
|
+
name: "Users & Personas"
|
|
179
|
+
description: "Understanding who will use the product"
|
|
180
|
+
icon: "users"
|
|
181
|
+
|
|
182
|
+
questions:
|
|
183
|
+
- id: primary_user_role
|
|
184
|
+
question: "Who is your primary user? What is their role?"
|
|
185
|
+
type: open
|
|
186
|
+
required: true
|
|
187
|
+
priority: critical
|
|
188
|
+
guidance: "Examples: developer, marketer, small business owner, etc."
|
|
189
|
+
|
|
190
|
+
- id: primary_user_technical
|
|
191
|
+
question: "How technical is your primary user?"
|
|
192
|
+
type: single_choice
|
|
193
|
+
required: true
|
|
194
|
+
priority: high
|
|
195
|
+
options:
|
|
196
|
+
- id: non_technical
|
|
197
|
+
label: "Non-technical"
|
|
198
|
+
description: "No coding knowledge, needs simple UI"
|
|
199
|
+
- id: semi_technical
|
|
200
|
+
label: "Semi-technical"
|
|
201
|
+
description: "Comfortable with tools, no coding"
|
|
202
|
+
- id: technical
|
|
203
|
+
label: "Technical"
|
|
204
|
+
description: "Can read code, use APIs"
|
|
205
|
+
- id: developer
|
|
206
|
+
label: "Developer"
|
|
207
|
+
description: "Writes code professionally"
|
|
208
|
+
- id: devops
|
|
209
|
+
label: "DevOps/Platform"
|
|
210
|
+
description: "Infrastructure and automation focus"
|
|
211
|
+
|
|
212
|
+
- id: primary_user_goals
|
|
213
|
+
question: "What does your primary user want to achieve?"
|
|
214
|
+
type: open
|
|
215
|
+
required: true
|
|
216
|
+
priority: critical
|
|
217
|
+
guidance: "What job are they trying to get done?"
|
|
218
|
+
|
|
219
|
+
- id: primary_user_frustrations
|
|
220
|
+
question: "What frustrates them about current solutions?"
|
|
221
|
+
type: open
|
|
222
|
+
required: true
|
|
223
|
+
priority: high
|
|
224
|
+
|
|
225
|
+
- id: secondary_users
|
|
226
|
+
question: "Are there other types of users?"
|
|
227
|
+
type: multi_choice
|
|
228
|
+
required: false
|
|
229
|
+
priority: medium
|
|
230
|
+
options:
|
|
231
|
+
- id: admin
|
|
232
|
+
label: "Admin/Super User"
|
|
233
|
+
description: "Manages other users, elevated permissions"
|
|
234
|
+
- id: developer
|
|
235
|
+
label: "Developer/Integrator"
|
|
236
|
+
description: "Uses API/SDK to build on top"
|
|
237
|
+
- id: end_customer
|
|
238
|
+
label: "End Customer"
|
|
239
|
+
description: "Uses product built by primary user"
|
|
240
|
+
- id: support
|
|
241
|
+
label: "Support Staff"
|
|
242
|
+
description: "Handles customer issues"
|
|
243
|
+
- id: finance
|
|
244
|
+
label: "Finance/Billing"
|
|
245
|
+
description: "Manages payments and invoices"
|
|
246
|
+
- id: none
|
|
247
|
+
label: "No other users"
|
|
248
|
+
description: "Single user type only"
|
|
249
|
+
|
|
250
|
+
- id: user_scale
|
|
251
|
+
question: "Expected number of users?"
|
|
252
|
+
type: single_choice
|
|
253
|
+
required: true
|
|
254
|
+
priority: high
|
|
255
|
+
options:
|
|
256
|
+
- id: solo
|
|
257
|
+
label: "Just Me/Team"
|
|
258
|
+
description: "1-10 users"
|
|
259
|
+
scale: solo
|
|
260
|
+
- id: small
|
|
261
|
+
label: "Small"
|
|
262
|
+
description: "10-100 users"
|
|
263
|
+
scale: small
|
|
264
|
+
- id: medium
|
|
265
|
+
label: "Medium"
|
|
266
|
+
description: "100-10,000 users"
|
|
267
|
+
scale: medium
|
|
268
|
+
- id: large
|
|
269
|
+
label: "Large"
|
|
270
|
+
description: "10,000-1M users"
|
|
271
|
+
scale: large
|
|
272
|
+
- id: massive
|
|
273
|
+
label: "Massive"
|
|
274
|
+
description: "1M+ users"
|
|
275
|
+
scale: massive
|
|
276
|
+
|
|
277
|
+
- id: concurrent_users
|
|
278
|
+
question: "Peak concurrent users expected?"
|
|
279
|
+
type: open
|
|
280
|
+
required: false
|
|
281
|
+
priority: medium
|
|
282
|
+
condition: "user_scale in [medium, large, massive]"
|
|
283
|
+
|
|
284
|
+
- id: user_geography
|
|
285
|
+
question: "Where are your users located?"
|
|
286
|
+
type: multi_choice
|
|
287
|
+
required: false
|
|
288
|
+
priority: low
|
|
289
|
+
options:
|
|
290
|
+
- id: local
|
|
291
|
+
label: "Single Region"
|
|
292
|
+
description: "One country/region"
|
|
293
|
+
- id: multi_region
|
|
294
|
+
label: "Multiple Regions"
|
|
295
|
+
description: "Several countries"
|
|
296
|
+
- id: global
|
|
297
|
+
label: "Global"
|
|
298
|
+
description: "Worldwide users"
|
|
299
|
+
|
|
300
|
+
#############################################################################
|
|
301
|
+
# STAGE 3: FEATURES & SCOPE
|
|
302
|
+
#############################################################################
|
|
303
|
+
- id: features
|
|
304
|
+
name: "Features & Scope"
|
|
305
|
+
description: "Defining what will be built"
|
|
306
|
+
icon: "list-check"
|
|
307
|
+
|
|
308
|
+
questions:
|
|
309
|
+
- id: core_features
|
|
310
|
+
question: "List the core features that are absolutely essential for v1.0"
|
|
311
|
+
type: feature_list
|
|
312
|
+
required: true
|
|
313
|
+
priority: critical
|
|
314
|
+
guidance: |
|
|
315
|
+
For each feature, think about:
|
|
316
|
+
- What user need does it address?
|
|
317
|
+
- Is it truly essential for v1?
|
|
318
|
+
- What's the minimum viable version?
|
|
319
|
+
structure:
|
|
320
|
+
- name: "Feature name"
|
|
321
|
+
- description: "What it does"
|
|
322
|
+
- priority: "P0 (Critical) / P1 (Important) / P2 (Nice to have)"
|
|
323
|
+
- user_story: "As a [user], I want to [action] so that [benefit]"
|
|
324
|
+
|
|
325
|
+
- id: feature_categories
|
|
326
|
+
question: "Which feature categories apply to your project?"
|
|
327
|
+
type: multi_choice
|
|
328
|
+
required: true
|
|
329
|
+
priority: high
|
|
330
|
+
options:
|
|
331
|
+
- id: auth
|
|
332
|
+
label: "Authentication"
|
|
333
|
+
description: "Login, signup, password reset, OAuth"
|
|
334
|
+
features: [login, signup, password_reset, oauth]
|
|
335
|
+
- id: user_management
|
|
336
|
+
label: "User Management"
|
|
337
|
+
description: "Profiles, roles, permissions, teams"
|
|
338
|
+
features: [profiles, roles, permissions]
|
|
339
|
+
- id: payments
|
|
340
|
+
label: "Payments & Billing"
|
|
341
|
+
description: "Subscriptions, invoices, refunds"
|
|
342
|
+
features: [checkout, subscriptions, invoices]
|
|
343
|
+
condition: "business_model != open_source && business_model != internal"
|
|
344
|
+
- id: notifications
|
|
345
|
+
label: "Notifications"
|
|
346
|
+
description: "Email, push, in-app notifications"
|
|
347
|
+
features: [email, push, in_app]
|
|
348
|
+
- id: admin
|
|
349
|
+
label: "Admin Dashboard"
|
|
350
|
+
description: "User management, analytics, settings"
|
|
351
|
+
features: [admin_users, admin_analytics]
|
|
352
|
+
- id: api
|
|
353
|
+
label: "Public API"
|
|
354
|
+
description: "REST/GraphQL API for integrations"
|
|
355
|
+
features: [rest_api, api_docs]
|
|
356
|
+
- id: reporting
|
|
357
|
+
label: "Reporting & Analytics"
|
|
358
|
+
description: "Dashboards, exports, insights"
|
|
359
|
+
features: [dashboards, exports]
|
|
360
|
+
- id: search
|
|
361
|
+
label: "Search"
|
|
362
|
+
description: "Full-text search, filters, facets"
|
|
363
|
+
features: [search, filters]
|
|
364
|
+
- id: files
|
|
365
|
+
label: "File Management"
|
|
366
|
+
description: "Upload, storage, processing"
|
|
367
|
+
features: [upload, storage]
|
|
368
|
+
- id: realtime
|
|
369
|
+
label: "Real-time Features"
|
|
370
|
+
description: "WebSockets, live updates, presence"
|
|
371
|
+
features: [websockets, live_updates]
|
|
372
|
+
- id: collaboration
|
|
373
|
+
label: "Collaboration"
|
|
374
|
+
description: "Multi-user editing, comments, sharing"
|
|
375
|
+
features: [sharing, comments]
|
|
376
|
+
- id: i18n
|
|
377
|
+
label: "Internationalization"
|
|
378
|
+
description: "Multiple languages support"
|
|
379
|
+
features: [translations]
|
|
380
|
+
|
|
381
|
+
- id: nice_to_have
|
|
382
|
+
question: "What features would be nice to have but aren't essential for v1?"
|
|
383
|
+
type: feature_list
|
|
384
|
+
required: false
|
|
385
|
+
priority: medium
|
|
386
|
+
|
|
387
|
+
- id: out_of_scope
|
|
388
|
+
question: "What is explicitly OUT of scope for v1?"
|
|
389
|
+
type: open
|
|
390
|
+
required: true
|
|
391
|
+
priority: high
|
|
392
|
+
guidance: |
|
|
393
|
+
This is as important as what's in scope. List:
|
|
394
|
+
- Features requested but deferred
|
|
395
|
+
- Obvious features that won't be included
|
|
396
|
+
- Strategic exclusions
|
|
397
|
+
|
|
398
|
+
- id: performance_requirements
|
|
399
|
+
question: "What are your performance requirements?"
|
|
400
|
+
type: single_choice
|
|
401
|
+
required: false
|
|
402
|
+
priority: medium
|
|
403
|
+
options:
|
|
404
|
+
- id: relaxed
|
|
405
|
+
label: "Relaxed"
|
|
406
|
+
description: "Response time under 2 seconds is fine"
|
|
407
|
+
- id: standard
|
|
408
|
+
label: "Standard"
|
|
409
|
+
description: "Response time under 500ms"
|
|
410
|
+
- id: fast
|
|
411
|
+
label: "Fast"
|
|
412
|
+
description: "Response time under 100ms"
|
|
413
|
+
- id: realtime
|
|
414
|
+
label: "Real-time"
|
|
415
|
+
description: "Sub-50ms for interactive features"
|
|
416
|
+
|
|
417
|
+
- id: availability_requirements
|
|
418
|
+
question: "What availability level do you need?"
|
|
419
|
+
type: single_choice
|
|
420
|
+
required: false
|
|
421
|
+
priority: medium
|
|
422
|
+
options:
|
|
423
|
+
- id: basic
|
|
424
|
+
label: "Basic (99%)"
|
|
425
|
+
description: "Up to 3.6 days downtime/year"
|
|
426
|
+
- id: standard
|
|
427
|
+
label: "Standard (99.9%)"
|
|
428
|
+
description: "Up to 8.7 hours downtime/year"
|
|
429
|
+
- id: high
|
|
430
|
+
label: "High (99.99%)"
|
|
431
|
+
description: "Up to 52 minutes downtime/year"
|
|
432
|
+
|
|
433
|
+
- id: security_requirements
|
|
434
|
+
question: "What security/compliance requirements apply?"
|
|
435
|
+
type: multi_choice
|
|
436
|
+
required: false
|
|
437
|
+
priority: high
|
|
438
|
+
options:
|
|
439
|
+
- id: basic
|
|
440
|
+
label: "Basic Security"
|
|
441
|
+
description: "Standard authentication, HTTPS"
|
|
442
|
+
- id: soc2
|
|
443
|
+
label: "SOC 2"
|
|
444
|
+
description: "Service organization controls"
|
|
445
|
+
- id: gdpr
|
|
446
|
+
label: "GDPR"
|
|
447
|
+
description: "EU data protection"
|
|
448
|
+
- id: hipaa
|
|
449
|
+
label: "HIPAA"
|
|
450
|
+
description: "Healthcare data protection"
|
|
451
|
+
- id: pci
|
|
452
|
+
label: "PCI-DSS"
|
|
453
|
+
description: "Payment card data security"
|
|
454
|
+
|
|
455
|
+
- id: accessibility_requirements
|
|
456
|
+
question: "What accessibility level do you need?"
|
|
457
|
+
type: single_choice
|
|
458
|
+
required: false
|
|
459
|
+
priority: medium
|
|
460
|
+
options:
|
|
461
|
+
- id: none
|
|
462
|
+
label: "None Specified"
|
|
463
|
+
description: "No specific requirements"
|
|
464
|
+
- id: wcag_a
|
|
465
|
+
label: "WCAG A"
|
|
466
|
+
description: "Minimum accessibility"
|
|
467
|
+
- id: wcag_aa
|
|
468
|
+
label: "WCAG AA"
|
|
469
|
+
description: "Standard accessibility (recommended)"
|
|
470
|
+
- id: wcag_aaa
|
|
471
|
+
label: "WCAG AAA"
|
|
472
|
+
description: "Highest accessibility"
|
|
473
|
+
|
|
474
|
+
- id: success_metrics
|
|
475
|
+
question: "How will you measure success?"
|
|
476
|
+
type: metrics_list
|
|
477
|
+
required: true
|
|
478
|
+
priority: high
|
|
479
|
+
guidance: "Define specific, measurable targets"
|
|
480
|
+
structure:
|
|
481
|
+
- metric: "What to measure"
|
|
482
|
+
- target: "Target value"
|
|
483
|
+
- timeline: "When to achieve"
|
|
484
|
+
examples:
|
|
485
|
+
- metric: "Monthly Active Users"
|
|
486
|
+
target: "1,000"
|
|
487
|
+
timeline: "3 months post-launch"
|
|
488
|
+
- metric: "Conversion Rate"
|
|
489
|
+
target: "5%"
|
|
490
|
+
timeline: "6 months post-launch"
|
|
491
|
+
|
|
492
|
+
#############################################################################
|
|
493
|
+
# STAGE 4: TECHNICAL CONTEXT
|
|
494
|
+
#############################################################################
|
|
495
|
+
- id: technical
|
|
496
|
+
name: "Technical Context"
|
|
497
|
+
description: "Establishing technical requirements and constraints"
|
|
498
|
+
icon: "code"
|
|
499
|
+
|
|
500
|
+
questions:
|
|
501
|
+
- id: frontend_preference
|
|
502
|
+
question: "Do you have a frontend framework preference?"
|
|
503
|
+
type: single_choice
|
|
504
|
+
required: false
|
|
505
|
+
priority: medium
|
|
506
|
+
condition: "project_type != api && project_type != cli && project_type != library"
|
|
507
|
+
options:
|
|
508
|
+
- id: nextjs
|
|
509
|
+
label: "Next.js"
|
|
510
|
+
description: "React framework with SSR, recommended for most projects"
|
|
511
|
+
recommended: true
|
|
512
|
+
- id: react
|
|
513
|
+
label: "React (Vite)"
|
|
514
|
+
description: "React SPA with Vite bundler"
|
|
515
|
+
- id: vue
|
|
516
|
+
label: "Vue.js"
|
|
517
|
+
description: "Progressive JavaScript framework"
|
|
518
|
+
- id: svelte
|
|
519
|
+
label: "SvelteKit"
|
|
520
|
+
description: "Svelte framework with SSR"
|
|
521
|
+
- id: none
|
|
522
|
+
label: "No Preference"
|
|
523
|
+
description: "Let me recommend based on requirements"
|
|
524
|
+
- id: other
|
|
525
|
+
label: "Other"
|
|
526
|
+
requires_input: true
|
|
527
|
+
|
|
528
|
+
- id: backend_preference
|
|
529
|
+
question: "Do you have a backend language/framework preference?"
|
|
530
|
+
type: single_choice
|
|
531
|
+
required: false
|
|
532
|
+
priority: medium
|
|
533
|
+
condition: "project_type != cli"
|
|
534
|
+
options:
|
|
535
|
+
- id: nodejs
|
|
536
|
+
label: "Node.js (Express/Fastify)"
|
|
537
|
+
description: "JavaScript/TypeScript backend"
|
|
538
|
+
- id: nextjs_api
|
|
539
|
+
label: "Next.js API Routes"
|
|
540
|
+
description: "Serverless functions in Next.js"
|
|
541
|
+
- id: python
|
|
542
|
+
label: "Python (FastAPI)"
|
|
543
|
+
description: "Fast, modern Python API"
|
|
544
|
+
- id: go
|
|
545
|
+
label: "Go"
|
|
546
|
+
description: "High-performance compiled language"
|
|
547
|
+
- id: none
|
|
548
|
+
label: "No Preference"
|
|
549
|
+
description: "Let me recommend based on requirements"
|
|
550
|
+
- id: other
|
|
551
|
+
label: "Other"
|
|
552
|
+
requires_input: true
|
|
553
|
+
|
|
554
|
+
- id: database_preference
|
|
555
|
+
question: "Do you have a database preference?"
|
|
556
|
+
type: single_choice
|
|
557
|
+
required: false
|
|
558
|
+
priority: medium
|
|
559
|
+
options:
|
|
560
|
+
- id: postgresql
|
|
561
|
+
label: "PostgreSQL"
|
|
562
|
+
description: "Robust relational database, recommended"
|
|
563
|
+
recommended: true
|
|
564
|
+
- id: mysql
|
|
565
|
+
label: "MySQL"
|
|
566
|
+
description: "Popular relational database"
|
|
567
|
+
- id: mongodb
|
|
568
|
+
label: "MongoDB"
|
|
569
|
+
description: "Document database"
|
|
570
|
+
- id: sqlite
|
|
571
|
+
label: "SQLite"
|
|
572
|
+
description: "Embedded database, good for small projects"
|
|
573
|
+
- id: supabase
|
|
574
|
+
label: "Supabase"
|
|
575
|
+
description: "Postgres with realtime and auth built-in"
|
|
576
|
+
- id: none
|
|
577
|
+
label: "No Preference"
|
|
578
|
+
description: "Let me recommend based on requirements"
|
|
579
|
+
|
|
580
|
+
- id: auth_preference
|
|
581
|
+
question: "Do you have an authentication preference?"
|
|
582
|
+
type: single_choice
|
|
583
|
+
required: false
|
|
584
|
+
priority: medium
|
|
585
|
+
condition: "auth in feature_categories"
|
|
586
|
+
options:
|
|
587
|
+
- id: custom
|
|
588
|
+
label: "Custom Implementation"
|
|
589
|
+
description: "Build auth from scratch"
|
|
590
|
+
- id: nextauth
|
|
591
|
+
label: "NextAuth.js"
|
|
592
|
+
description: "Authentication for Next.js"
|
|
593
|
+
- id: clerk
|
|
594
|
+
label: "Clerk"
|
|
595
|
+
description: "Drop-in auth with UI components"
|
|
596
|
+
- id: auth0
|
|
597
|
+
label: "Auth0"
|
|
598
|
+
description: "Enterprise auth platform"
|
|
599
|
+
- id: supabase
|
|
600
|
+
label: "Supabase Auth"
|
|
601
|
+
description: "Auth included with Supabase"
|
|
602
|
+
- id: none
|
|
603
|
+
label: "No Preference"
|
|
604
|
+
|
|
605
|
+
- id: hosting_preference
|
|
606
|
+
question: "Where do you want to host this?"
|
|
607
|
+
type: single_choice
|
|
608
|
+
required: false
|
|
609
|
+
priority: medium
|
|
610
|
+
options:
|
|
611
|
+
- id: vercel
|
|
612
|
+
label: "Vercel"
|
|
613
|
+
description: "Best for Next.js, easy deployment"
|
|
614
|
+
recommended_for: [nextjs]
|
|
615
|
+
- id: railway
|
|
616
|
+
label: "Railway"
|
|
617
|
+
description: "Simple full-stack hosting"
|
|
618
|
+
- id: fly
|
|
619
|
+
label: "Fly.io"
|
|
620
|
+
description: "Edge deployment, good for global apps"
|
|
621
|
+
- id: aws
|
|
622
|
+
label: "AWS"
|
|
623
|
+
description: "Full cloud infrastructure"
|
|
624
|
+
- id: gcp
|
|
625
|
+
label: "Google Cloud"
|
|
626
|
+
description: "Google's cloud platform"
|
|
627
|
+
- id: self_hosted
|
|
628
|
+
label: "Self-Hosted"
|
|
629
|
+
description: "Your own servers"
|
|
630
|
+
- id: none
|
|
631
|
+
label: "No Preference"
|
|
632
|
+
|
|
633
|
+
- id: payment_provider
|
|
634
|
+
question: "Which payment provider do you prefer?"
|
|
635
|
+
type: single_choice
|
|
636
|
+
required: false
|
|
637
|
+
priority: medium
|
|
638
|
+
condition: "payments in feature_categories"
|
|
639
|
+
options:
|
|
640
|
+
- id: stripe
|
|
641
|
+
label: "Stripe"
|
|
642
|
+
description: "Most popular, excellent DX"
|
|
643
|
+
recommended: true
|
|
644
|
+
- id: paddle
|
|
645
|
+
label: "Paddle"
|
|
646
|
+
description: "Merchant of record (handles taxes)"
|
|
647
|
+
- id: lemonsqueezy
|
|
648
|
+
label: "LemonSqueezy"
|
|
649
|
+
description: "Simple, indie-friendly"
|
|
650
|
+
- id: none
|
|
651
|
+
label: "No Preference"
|
|
652
|
+
|
|
653
|
+
- id: existing_systems
|
|
654
|
+
question: "Are there existing systems you need to integrate with?"
|
|
655
|
+
type: integration_list
|
|
656
|
+
required: false
|
|
657
|
+
priority: medium
|
|
658
|
+
structure:
|
|
659
|
+
- system: "System name"
|
|
660
|
+
- type: "API / Database / File / Manual"
|
|
661
|
+
- direction: "Read / Write / Both"
|
|
662
|
+
- critical: "Yes / No"
|
|
663
|
+
- docs_url: "Documentation URL if available"
|
|
664
|
+
|
|
665
|
+
- id: data_residency
|
|
666
|
+
question: "Any data residency requirements?"
|
|
667
|
+
type: single_choice
|
|
668
|
+
required: false
|
|
669
|
+
priority: medium
|
|
670
|
+
condition: "user_geography != local"
|
|
671
|
+
options:
|
|
672
|
+
- id: none
|
|
673
|
+
label: "No Requirements"
|
|
674
|
+
description: "Data can be stored anywhere"
|
|
675
|
+
- id: us
|
|
676
|
+
label: "US Only"
|
|
677
|
+
description: "Data must stay in US"
|
|
678
|
+
- id: eu
|
|
679
|
+
label: "EU Only"
|
|
680
|
+
description: "Data must stay in EU (GDPR)"
|
|
681
|
+
- id: specific
|
|
682
|
+
label: "Specific Countries"
|
|
683
|
+
requires_input: true
|
|
684
|
+
|
|
685
|
+
- id: offline_capability
|
|
686
|
+
question: "Does the app need to work offline?"
|
|
687
|
+
type: single_choice
|
|
688
|
+
required: false
|
|
689
|
+
priority: low
|
|
690
|
+
options:
|
|
691
|
+
- id: no
|
|
692
|
+
label: "No"
|
|
693
|
+
description: "Always requires internet"
|
|
694
|
+
- id: partial
|
|
695
|
+
label: "Partial"
|
|
696
|
+
description: "Some features work offline"
|
|
697
|
+
- id: full
|
|
698
|
+
label: "Full"
|
|
699
|
+
description: "Fully functional offline with sync"
|
|
700
|
+
|
|
701
|
+
#############################################################################
|
|
702
|
+
# STAGE 5: RISK ASSESSMENT & VALIDATION
|
|
703
|
+
#############################################################################
|
|
704
|
+
- id: risks
|
|
705
|
+
name: "Risk Assessment & Validation"
|
|
706
|
+
description: "Identifying risks and planning validation"
|
|
707
|
+
icon: "shield"
|
|
708
|
+
|
|
709
|
+
questions:
|
|
710
|
+
- id: biggest_technical_risk
|
|
711
|
+
question: "What's your biggest technical risk?"
|
|
712
|
+
type: open
|
|
713
|
+
required: true
|
|
714
|
+
priority: high
|
|
715
|
+
guidance: |
|
|
716
|
+
Common technical risks:
|
|
717
|
+
- Performance at scale
|
|
718
|
+
- Third-party API reliability
|
|
719
|
+
- Complex integrations
|
|
720
|
+
- New technology learning curve
|
|
721
|
+
|
|
722
|
+
- id: biggest_market_risk
|
|
723
|
+
question: "What's your biggest market/business risk?"
|
|
724
|
+
type: open
|
|
725
|
+
required: true
|
|
726
|
+
priority: high
|
|
727
|
+
guidance: |
|
|
728
|
+
Common market risks:
|
|
729
|
+
- Users don't want this
|
|
730
|
+
- Can't differentiate from competitors
|
|
731
|
+
- Pricing is wrong
|
|
732
|
+
- Can't reach target users
|
|
733
|
+
|
|
734
|
+
- id: assumptions
|
|
735
|
+
question: "What are you assuming to be true?"
|
|
736
|
+
type: open
|
|
737
|
+
required: true
|
|
738
|
+
priority: high
|
|
739
|
+
guidance: |
|
|
740
|
+
List assumptions that, if wrong, would change the project:
|
|
741
|
+
- User behavior assumptions
|
|
742
|
+
- Technical feasibility
|
|
743
|
+
- Market conditions
|
|
744
|
+
- Resource availability
|
|
745
|
+
|
|
746
|
+
- id: validation_approach
|
|
747
|
+
question: "How will you validate before building too much?"
|
|
748
|
+
type: multi_choice
|
|
749
|
+
required: false
|
|
750
|
+
priority: medium
|
|
751
|
+
options:
|
|
752
|
+
- id: user_interviews
|
|
753
|
+
label: "User Interviews"
|
|
754
|
+
description: "Talk to potential users"
|
|
755
|
+
- id: landing_page
|
|
756
|
+
label: "Landing Page"
|
|
757
|
+
description: "Gauge interest with a coming soon page"
|
|
758
|
+
- id: prototype
|
|
759
|
+
label: "Prototype/Mockup"
|
|
760
|
+
description: "Visual prototype before coding"
|
|
761
|
+
- id: mvp
|
|
762
|
+
label: "Working MVP"
|
|
763
|
+
description: "Minimal version to test with real users"
|
|
764
|
+
- id: beta
|
|
765
|
+
label: "Beta Program"
|
|
766
|
+
description: "Early access for select users"
|
|
767
|
+
- id: none
|
|
768
|
+
label: "Ship and Learn"
|
|
769
|
+
description: "Build and iterate based on usage"
|
|
770
|
+
|
|
771
|
+
- id: mvp_definition
|
|
772
|
+
question: "What's the absolute minimum to validate the idea?"
|
|
773
|
+
type: open
|
|
774
|
+
required: true
|
|
775
|
+
priority: critical
|
|
776
|
+
guidance: |
|
|
777
|
+
A good MVP:
|
|
778
|
+
- Solves the core problem for one persona
|
|
779
|
+
- Can be built in 2-4 weeks
|
|
780
|
+
- Provides clear signal of success/failure
|
|
781
|
+
- Is something you're willing to show users
|
|
782
|
+
|
|
783
|
+
- id: launch_criteria
|
|
784
|
+
question: "What must be true before you consider this 'launched'?"
|
|
785
|
+
type: open
|
|
786
|
+
required: false
|
|
787
|
+
priority: medium
|
|
788
|
+
guidance: "What's the minimum bar for a public launch?"
|
|
789
|
+
|
|
790
|
+
# Output configuration
|
|
791
|
+
output:
|
|
792
|
+
format: prd
|
|
793
|
+
template: prd-template.md
|
|
794
|
+
save_answers: true
|
|
795
|
+
generate_spec: true
|