@dzhechkov/skills-idea2prd 0.1.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/LICENSE +21 -0
- package/README.md +71 -0
- package/bin/cli.js +5 -0
- package/package.json +49 -0
- package/sources.json +25 -0
- package/src/cli.js +108 -0
- package/src/commands/doctor.js +340 -0
- package/src/commands/init.js +168 -0
- package/src/commands/list.js +146 -0
- package/src/commands/remove.js +182 -0
- package/src/commands/update.js +170 -0
- package/src/utils.js +154 -0
- package/templates/.claude/commands/idea2prd-manual.md +35 -0
- package/templates/.claude/skills/explore/SKILL.md +218 -0
- package/templates/.claude/skills/explore/references/questioning-techniques.md +151 -0
- package/templates/.claude/skills/explore/references/task-brief-templates.md +355 -0
- package/templates/.claude/skills/goap-research-ed25519/SKILL.md +418 -0
- package/templates/.claude/skills/goap-research-ed25519/references/ed25519-verification.md +658 -0
- package/templates/.claude/skills/goap-research-ed25519/references/research-actions.md +544 -0
- package/templates/.claude/skills/goap-research-ed25519/references/source-evaluation.md +560 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/ed25519_verifier.py +662 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/goap_planner.py +720 -0
- package/templates/.claude/skills/idea2prd-manual/SKILL.md +695 -0
- package/templates/.claude/skills/idea2prd-manual/references/adr-catalog.md +288 -0
- package/templates/.claude/skills/idea2prd-manual/references/c4-model.md +277 -0
- package/templates/.claude/skills/idea2prd-manual/references/completion-checklist-template.md +446 -0
- package/templates/.claude/skills/idea2prd-manual/references/ddd-patterns.md +261 -0
- package/templates/.claude/skills/idea2prd-manual/references/fitness-functions-catalog.md +414 -0
- package/templates/.claude/skills/idea2prd-manual/references/pseudocode-style.md +404 -0
- package/templates/.claude/skills/idea2prd-manual/scripts/ai_context_builder.py +491 -0
- package/templates/.claude/skills/idea2prd-manual/scripts/c4_generator.py +311 -0
- package/templates/.claude/skills/idea2prd-manual/scripts/fitness_validator.py +451 -0
- package/templates/.claude/skills/idea2prd-manual/scripts/pseudocode_generator.py +430 -0
- package/templates/.claude/skills/problem-solver-enhanced/SKILL.md +565 -0
|
@@ -0,0 +1,695 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: idea2prd-manual
|
|
3
|
+
description: >
|
|
4
|
+
Полный цикл от проблемы/идеи до документации для Vibe Coding с контрольными точками.
|
|
5
|
+
Автоматически определяет тип входа: проблема → Analyst pipeline → идея → PRD pipeline.
|
|
6
|
+
Использует внешние скиллы explore, goap-research-ed25519, problem-solver-enhanced (полностью).
|
|
7
|
+
Включает Pseudocode generation, Test Scenarios, Completion Checklist.
|
|
8
|
+
Режим MANUAL — запрашивает подтверждение между каждой фазой (9 checkpoints).
|
|
9
|
+
Триггеры: "сделай PRD пошагово", "idea to prd manual", "prd with checkpoints".
|
|
10
|
+
trust_tier: 1
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Idea2PRD Manual: Full-Cycle Documentation with Checkpoints
|
|
14
|
+
|
|
15
|
+
Скилл полного цикла: от проблемы или идеи до готовой документации с **Pseudocode** и **Completion Checklist**. **С контрольными точками (9 checkpoints)** — пользователь подтверждает каждую фазу.
|
|
16
|
+
|
|
17
|
+
## What's New in v2
|
|
18
|
+
|
|
19
|
+
| Feature | Benefit |
|
|
20
|
+
|---------|---------|
|
|
21
|
+
| **Phase 4.5: Pseudocode** | +99% code quality (research-backed) |
|
|
22
|
+
| **Phase 5: Test Scenarios** | TDD-ready Gherkin specs |
|
|
23
|
+
| **Phase 6: Completion** | CI/CD, deployment, monitoring |
|
|
24
|
+
| **9 Checkpoints** | Full control over each phase |
|
|
25
|
+
|
|
26
|
+
## Bundled Components
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
idea2prd-manual/
|
|
30
|
+
├── SKILL.md # Этот файл (оркестратор)
|
|
31
|
+
├── scripts/
|
|
32
|
+
│ ├── c4_generator.py # Генератор C4 диаграмм
|
|
33
|
+
│ ├── fitness_validator.py # Валидатор Fitness Functions
|
|
34
|
+
│ ├── pseudocode_generator.py # [NEW] Генератор pseudocode
|
|
35
|
+
│ └── ai_context_builder.py # Сборщик .ai-context/
|
|
36
|
+
└── references/
|
|
37
|
+
├── ddd-patterns.md # DDD patterns
|
|
38
|
+
├── adr-catalog.md # ADR templates
|
|
39
|
+
├── c4-model.md # C4 guidelines
|
|
40
|
+
├── fitness-functions-catalog.md # Fitness Functions
|
|
41
|
+
├── pseudocode-style.md # [NEW] Pseudocode conventions
|
|
42
|
+
└── completion-checklist-template.md # [NEW] Completion template
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## External Skills Dependencies
|
|
46
|
+
|
|
47
|
+
**Для Analyst Pipeline используются внешние скиллы (full execution):**
|
|
48
|
+
|
|
49
|
+
| Phase | External Skill | Path | Mode |
|
|
50
|
+
|-------|----------------|------|------|
|
|
51
|
+
| Phase A | `explore` | `.claude/skills/explore/SKILL.md` | Full with questions |
|
|
52
|
+
| Phase B | `goap-research-ed25519` | `.claude/skills/goap-research-ed25519/SKILL.md` | Full research |
|
|
53
|
+
| Phase C | `problem-solver-enhanced` | `.claude/skills/problem-solver-enhanced/SKILL.md` | All 9 modules |
|
|
54
|
+
|
|
55
|
+
## When to Use AUTO vs MANUAL
|
|
56
|
+
|
|
57
|
+
| Use AUTO when | Use MANUAL when |
|
|
58
|
+
|---------------|-----------------|
|
|
59
|
+
| Проблема/идея ясна | Много неизвестных |
|
|
60
|
+
| Нужен быстрый результат | Критически важный продукт |
|
|
61
|
+
| Готовы к defaults | Нужен контроль |
|
|
62
|
+
| MVP / прототип | Production system |
|
|
63
|
+
|
|
64
|
+
## Full Pipeline with Checkpoints
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
68
|
+
│ INPUT: Проблема ИЛИ Идея │
|
|
69
|
+
│ ↓ │
|
|
70
|
+
│ GATE 0: Problem or Idea? (auto-detect) │
|
|
71
|
+
│ → Проблема? → ANALYST PIPELINE (full) │
|
|
72
|
+
│ → Идея? → Skip to PRD PIPELINE │
|
|
73
|
+
│ ↓ │
|
|
74
|
+
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
75
|
+
│ │ ANALYST PIPELINE (external skills, with checkpoints) │ │
|
|
76
|
+
│ │ │ │
|
|
77
|
+
│ │ Phase A: view(explore) → questions → Task Brief │ │
|
|
78
|
+
│ │ ⏸️ CHECKPOINT A: Confirm Task Brief │ │
|
|
79
|
+
│ │ │ │
|
|
80
|
+
│ │ Phase B: view(goap-research) → research → Findings │ │
|
|
81
|
+
│ │ ⏸️ CHECKPOINT B: Confirm Research │ │
|
|
82
|
+
│ │ │ │
|
|
83
|
+
│ │ Phase C: view(problem-solver) → ALL 9 modules → Idea │ │
|
|
84
|
+
│ │ ⏸️ CHECKPOINT C: Confirm Product Idea │ │
|
|
85
|
+
│ │ │ │
|
|
86
|
+
│ └─────────────────────────────────────────────────────────┘ │
|
|
87
|
+
│ ↓ │
|
|
88
|
+
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
89
|
+
│ │ PRD PIPELINE (embedded, with checkpoints) │ │
|
|
90
|
+
│ │ │ │
|
|
91
|
+
│ │ Phase 1: Requirements → PRD.md │ │
|
|
92
|
+
│ │ ⏸️ CHECKPOINT 1: Confirm Requirements │ │
|
|
93
|
+
│ │ │ │
|
|
94
|
+
│ │ Phase 2: DDD Strategic → bounded-contexts │ │
|
|
95
|
+
│ │ ⏸️ CHECKPOINT 2: Confirm DDD Strategic │ │
|
|
96
|
+
│ │ │ │
|
|
97
|
+
│ │ Phase 3: ADR + C4 → 10+ ADRs, diagrams │ │
|
|
98
|
+
│ │ ⏸️ CHECKPOINT 3: Confirm Architecture │ │
|
|
99
|
+
│ │ │ │
|
|
100
|
+
│ │ Phase 4: DDD Tactical → aggregates, schema │ │
|
|
101
|
+
│ │ ⏸️ CHECKPOINT 4: Confirm Tactical Design │ │
|
|
102
|
+
│ │ │ │
|
|
103
|
+
│ │ Phase 4.5: Pseudocode → algorithm logic [NEW] │ │
|
|
104
|
+
│ │ ⏸️ CHECKPOINT 4.5: Confirm Pseudocode │ │
|
|
105
|
+
│ │ │ │
|
|
106
|
+
│ │ Phase 5: Validation → fitness, tests, .ai-context/ │ │
|
|
107
|
+
│ │ ⏸️ CHECKPOINT 5: Confirm Tests & Validation │ │
|
|
108
|
+
│ │ │ │
|
|
109
|
+
│ │ Phase 6: Completion → deploy, CI/CD [NEW] │ │
|
|
110
|
+
│ │ │ │
|
|
111
|
+
│ └─────────────────────────────────────────────────────────┘ │
|
|
112
|
+
│ ↓ │
|
|
113
|
+
│ OUTPUT: Complete docs/ + .ai-context/ + Executive Summary │
|
|
114
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Total Checkpoints: 9** (3 Analyst + 6 PRD)
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Gate 0: Auto-Detection
|
|
122
|
+
|
|
123
|
+
**Автоматически определяет тип входа:**
|
|
124
|
+
|
|
125
|
+
| Тип | Индикаторы | Action |
|
|
126
|
+
|-----|------------|--------|
|
|
127
|
+
| **ПРОБЛЕМА** | Боль, негатив, "как?", нет решения | → Analyst Pipeline |
|
|
128
|
+
| **ИДЕЯ** | Конкретный продукт, функции, аудитория | → PRD Pipeline |
|
|
129
|
+
|
|
130
|
+
**При неясности — max 1 вопрос:**
|
|
131
|
+
```
|
|
132
|
+
Уточни: это проблема для решения или готовая идея продукта?
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## ANALYST PIPELINE (Full Execution with Checkpoints)
|
|
138
|
+
|
|
139
|
+
**ВАЖНО:** Claude загружает внешние скиллы через `view` tool и выполняет ПОЛНОСТЬЮ, с контрольными точками.
|
|
140
|
+
|
|
141
|
+
### Phase A: Explore
|
|
142
|
+
|
|
143
|
+
**Действие Claude:**
|
|
144
|
+
```
|
|
145
|
+
1. view(".claude/skills/explore/SKILL.md")
|
|
146
|
+
2. Выполнить explore полностью:
|
|
147
|
+
- Задать необходимые вопросы
|
|
148
|
+
- Получить ответы от пользователя
|
|
149
|
+
3. Сформировать Task Brief
|
|
150
|
+
4. ⏸️ CHECKPOINT A
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Checkpoint A Output:**
|
|
154
|
+
```
|
|
155
|
+
═══════════════════════════════════════════════════════════
|
|
156
|
+
✅ PHASE A COMPLETE: Task Brief
|
|
157
|
+
═══════════════════════════════════════════════════════════
|
|
158
|
+
|
|
159
|
+
## Task Brief
|
|
160
|
+
|
|
161
|
+
**Проблема:** [описание]
|
|
162
|
+
**Контекст:** [детали]
|
|
163
|
+
**Цели:** [что хотим достичь]
|
|
164
|
+
**Ограничения:** [если есть]
|
|
165
|
+
|
|
166
|
+
───────────────────────────────────────────────────────────
|
|
167
|
+
⏸️ Подтвердите Task Brief для продолжения к Research.
|
|
168
|
+
Ответьте "ok" или внесите корректировки.
|
|
169
|
+
═══════════════════════════════════════════════════════════
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Phase B: Research
|
|
173
|
+
|
|
174
|
+
**Действие Claude:**
|
|
175
|
+
```
|
|
176
|
+
1. view(".claude/skills/goap-research-ed25519/SKILL.md")
|
|
177
|
+
2. Выполнить research:
|
|
178
|
+
- Web searches
|
|
179
|
+
- Competitor analysis
|
|
180
|
+
- Technology options
|
|
181
|
+
3. Сформировать Research Findings
|
|
182
|
+
4. ⏸️ CHECKPOINT B
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**Checkpoint B Output:**
|
|
186
|
+
```
|
|
187
|
+
═══════════════════════════════════════════════════════════
|
|
188
|
+
✅ PHASE B COMPLETE: Research Findings
|
|
189
|
+
═══════════════════════════════════════════════════════════
|
|
190
|
+
|
|
191
|
+
## Research Findings
|
|
192
|
+
|
|
193
|
+
**Competitors:** [список]
|
|
194
|
+
**Market Insights:** [ключевые находки]
|
|
195
|
+
**Technology Options:** [рекомендации]
|
|
196
|
+
**Gaps Identified:** [возможности]
|
|
197
|
+
|
|
198
|
+
───────────────────────────────────────────────────────────
|
|
199
|
+
⏸️ Подтвердите Research для продолжения к Problem-Solver.
|
|
200
|
+
Ответьте "ok" или запросите дополнительное исследование.
|
|
201
|
+
═══════════════════════════════════════════════════════════
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Phase C: Solve (Full Problem-Solver)
|
|
205
|
+
|
|
206
|
+
**Действие Claude:**
|
|
207
|
+
```
|
|
208
|
+
1. view(".claude/skills/problem-solver-enhanced/SKILL.md")
|
|
209
|
+
2. Выполнить ВСЕ 9 модулей:
|
|
210
|
+
- First Principles
|
|
211
|
+
- Root Cause (5 Whys)
|
|
212
|
+
- Constraint Analysis
|
|
213
|
+
- SCQA
|
|
214
|
+
- Game Theory
|
|
215
|
+
- Second-Order Effects
|
|
216
|
+
- TRIZ
|
|
217
|
+
- Devil's Advocate
|
|
218
|
+
- Synthesis
|
|
219
|
+
3. Сформировать Product Idea
|
|
220
|
+
4. ⏸️ CHECKPOINT C
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**Checkpoint C Output:**
|
|
224
|
+
```
|
|
225
|
+
═══════════════════════════════════════════════════════════
|
|
226
|
+
✅ PHASE C COMPLETE: Product Idea
|
|
227
|
+
═══════════════════════════════════════════════════════════
|
|
228
|
+
|
|
229
|
+
## Product Idea
|
|
230
|
+
|
|
231
|
+
**Название:** [название]
|
|
232
|
+
**Описание:** [что это]
|
|
233
|
+
**Target Audience:** [для кого]
|
|
234
|
+
**Core Features:** [ключевые функции]
|
|
235
|
+
**Differentiation:** [чем отличается]
|
|
236
|
+
|
|
237
|
+
## Problem Analysis Highlights
|
|
238
|
+
|
|
239
|
+
| Module | Key Insight |
|
|
240
|
+
|--------|-------------|
|
|
241
|
+
| Root Cause | [finding] |
|
|
242
|
+
| Game Theory | [finding] |
|
|
243
|
+
| TRIZ | [finding] |
|
|
244
|
+
|
|
245
|
+
───────────────────────────────────────────────────────────
|
|
246
|
+
⏸️ Подтвердите Product Idea для продолжения к PRD Pipeline.
|
|
247
|
+
Ответьте "ok" или скорректируйте направление.
|
|
248
|
+
═══════════════════════════════════════════════════════════
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## PRD PIPELINE (with Checkpoints)
|
|
254
|
+
|
|
255
|
+
### Phase 1: Requirements
|
|
256
|
+
|
|
257
|
+
**Генерирует:**
|
|
258
|
+
- 10+ Functional Requirements (MoSCoW)
|
|
259
|
+
- 5+ Non-Functional Requirements
|
|
260
|
+
- 5+ User Stories
|
|
261
|
+
- 2+ User Journeys
|
|
262
|
+
- Constraints & Assumptions
|
|
263
|
+
|
|
264
|
+
**Checkpoint 1 Output:**
|
|
265
|
+
```
|
|
266
|
+
═══════════════════════════════════════════════════════════
|
|
267
|
+
✅ PHASE 1 COMPLETE: Requirements
|
|
268
|
+
═══════════════════════════════════════════════════════════
|
|
269
|
+
|
|
270
|
+
## Summary
|
|
271
|
+
|
|
272
|
+
| Type | Count |
|
|
273
|
+
|------|-------|
|
|
274
|
+
| Functional Requirements | [N] |
|
|
275
|
+
| Non-Functional Requirements | [N] |
|
|
276
|
+
| User Stories | [N] |
|
|
277
|
+
| User Journeys | [N] |
|
|
278
|
+
|
|
279
|
+
## Key Requirements
|
|
280
|
+
|
|
281
|
+
**Must Have:**
|
|
282
|
+
- [FR-001] [description]
|
|
283
|
+
- [FR-002] [description]
|
|
284
|
+
...
|
|
285
|
+
|
|
286
|
+
**User Stories Preview:**
|
|
287
|
+
- US-001: As a [user], I want [action], so that [benefit]
|
|
288
|
+
...
|
|
289
|
+
|
|
290
|
+
───────────────────────────────────────────────────────────
|
|
291
|
+
⏸️ Подтвердите Requirements для продолжения к DDD Strategic.
|
|
292
|
+
Ответьте "ok" или внесите корректировки.
|
|
293
|
+
═══════════════════════════════════════════════════════════
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### Phase 2: DDD Strategic
|
|
297
|
+
|
|
298
|
+
**Генерирует:**
|
|
299
|
+
- 3+ Bounded Contexts
|
|
300
|
+
- Ubiquitous Language per context
|
|
301
|
+
- Context Map with relationships
|
|
302
|
+
- Subdomains (Core/Supporting/Generic)
|
|
303
|
+
- 5+ Strategic Domain Events
|
|
304
|
+
|
|
305
|
+
**Checkpoint 2 Output:**
|
|
306
|
+
```
|
|
307
|
+
═══════════════════════════════════════════════════════════
|
|
308
|
+
✅ PHASE 2 COMPLETE: DDD Strategic Design
|
|
309
|
+
═══════════════════════════════════════════════════════════
|
|
310
|
+
|
|
311
|
+
## Bounded Contexts
|
|
312
|
+
|
|
313
|
+
| Context | Type | Responsibility |
|
|
314
|
+
|---------|------|----------------|
|
|
315
|
+
| [Context1] | Core | [what it does] |
|
|
316
|
+
| [Context2] | Supporting | [what it does] |
|
|
317
|
+
...
|
|
318
|
+
|
|
319
|
+
## Context Map
|
|
320
|
+
|
|
321
|
+
[Mermaid diagram]
|
|
322
|
+
|
|
323
|
+
───────────────────────────────────────────────────────────
|
|
324
|
+
⏸️ Подтвердите DDD Strategic для продолжения к Architecture.
|
|
325
|
+
Ответьте "ok" или пересмотрите границы контекстов.
|
|
326
|
+
═══════════════════════════════════════════════════════════
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Phase 3: ADR + C4
|
|
330
|
+
|
|
331
|
+
**Генерирует:**
|
|
332
|
+
- 10+ ADRs
|
|
333
|
+
- C4 Level 1: System Context
|
|
334
|
+
- C4 Level 2: Container
|
|
335
|
+
- C4 Level 3: Component
|
|
336
|
+
|
|
337
|
+
**Checkpoint 3 Output:**
|
|
338
|
+
```
|
|
339
|
+
═══════════════════════════════════════════════════════════
|
|
340
|
+
✅ PHASE 3 COMPLETE: Architecture
|
|
341
|
+
═══════════════════════════════════════════════════════════
|
|
342
|
+
|
|
343
|
+
## ADRs Summary
|
|
344
|
+
|
|
345
|
+
| ADR | Decision | Status |
|
|
346
|
+
|-----|----------|--------|
|
|
347
|
+
| ADR-001 | [Architecture]: [choice] | Accepted |
|
|
348
|
+
| ADR-002 | [Database]: [choice] | Accepted |
|
|
349
|
+
...
|
|
350
|
+
|
|
351
|
+
## C4 Diagrams
|
|
352
|
+
|
|
353
|
+
- Level 1: System Context ✅
|
|
354
|
+
- Level 2: Container ✅
|
|
355
|
+
- Level 3: Component ✅
|
|
356
|
+
|
|
357
|
+
───────────────────────────────────────────────────────────
|
|
358
|
+
⏸️ Подтвердите Architecture для продолжения к DDD Tactical.
|
|
359
|
+
Ответьте "ok" или оспорьте ADRs.
|
|
360
|
+
═══════════════════════════════════════════════════════════
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### Phase 4: DDD Tactical
|
|
364
|
+
|
|
365
|
+
**Per Bounded Context генерирует:**
|
|
366
|
+
- 1-3 Aggregates
|
|
367
|
+
- Entities with identity
|
|
368
|
+
- Value Objects
|
|
369
|
+
- Domain Events (detailed)
|
|
370
|
+
- Repository interfaces
|
|
371
|
+
- Services
|
|
372
|
+
- Database Schema (SQL)
|
|
373
|
+
|
|
374
|
+
**Checkpoint 4 Output:**
|
|
375
|
+
```
|
|
376
|
+
═══════════════════════════════════════════════════════════
|
|
377
|
+
✅ PHASE 4 COMPLETE: DDD Tactical Design
|
|
378
|
+
═══════════════════════════════════════════════════════════
|
|
379
|
+
|
|
380
|
+
## Aggregates
|
|
381
|
+
|
|
382
|
+
| Context | Aggregate | Entities | Events |
|
|
383
|
+
|---------|-----------|----------|--------|
|
|
384
|
+
| [Ctx1] | [Agg1] | [N] | [N] |
|
|
385
|
+
...
|
|
386
|
+
|
|
387
|
+
## Key Aggregate Methods
|
|
388
|
+
|
|
389
|
+
**[AggregateName]:**
|
|
390
|
+
- create(...): [description]
|
|
391
|
+
- [method](...): [description]
|
|
392
|
+
...
|
|
393
|
+
|
|
394
|
+
───────────────────────────────────────────────────────────
|
|
395
|
+
⏸️ Подтвердите Tactical Design для продолжения к Pseudocode.
|
|
396
|
+
Ответьте "ok" или скорректируйте агрегаты.
|
|
397
|
+
═══════════════════════════════════════════════════════════
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
---
|
|
401
|
+
|
|
402
|
+
### Phase 4.5: Pseudocode Generation [NEW]
|
|
403
|
+
|
|
404
|
+
**Reference:** `references/pseudocode-style.md`
|
|
405
|
+
|
|
406
|
+
**КРИТИЧЕСКИ ВАЖНО для качества генерации кода (+99% по исследованиям).**
|
|
407
|
+
|
|
408
|
+
**Действие Claude:**
|
|
409
|
+
```
|
|
410
|
+
1. Для каждого Aggregate из Phase 4:
|
|
411
|
+
- Для каждого public метода → сгенерировать pseudocode
|
|
412
|
+
|
|
413
|
+
2. Для каждого Domain Service:
|
|
414
|
+
- Для каждого метода → сгенерировать pseudocode
|
|
415
|
+
|
|
416
|
+
3. Output: docs/pseudocode/{AggregateName}.pseudo
|
|
417
|
+
4. ⏸️ CHECKPOINT 4.5
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
**Pseudocode Style:**
|
|
421
|
+
|
|
422
|
+
```pseudocode
|
|
423
|
+
FUNCTION methodName(param1: Type, param2: Type) -> ReturnType:
|
|
424
|
+
// Pre-conditions
|
|
425
|
+
VALIDATE param1 is not empty
|
|
426
|
+
|
|
427
|
+
// Main logic
|
|
428
|
+
FOR each item IN collection:
|
|
429
|
+
IF condition THEN
|
|
430
|
+
DO action
|
|
431
|
+
END IF
|
|
432
|
+
END FOR
|
|
433
|
+
|
|
434
|
+
// Side effects
|
|
435
|
+
EMIT DomainEvent(data)
|
|
436
|
+
|
|
437
|
+
RETURN result
|
|
438
|
+
END FUNCTION
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
**Checkpoint 4.5 Output:**
|
|
442
|
+
```
|
|
443
|
+
═══════════════════════════════════════════════════════════
|
|
444
|
+
✅ PHASE 4.5 COMPLETE: Pseudocode
|
|
445
|
+
═══════════════════════════════════════════════════════════
|
|
446
|
+
|
|
447
|
+
## Pseudocode Files Generated
|
|
448
|
+
|
|
449
|
+
| File | Aggregate/Service | Methods |
|
|
450
|
+
|------|-------------------|---------|
|
|
451
|
+
| OrderAggregate.pseudo | Order | 5 |
|
|
452
|
+
| PaymentService.pseudo | PaymentService | 3 |
|
|
453
|
+
...
|
|
454
|
+
|
|
455
|
+
## Sample: OrderAggregate.placeOrder
|
|
456
|
+
|
|
457
|
+
```pseudocode
|
|
458
|
+
FUNCTION placeOrder(items, customer) -> OrderId:
|
|
459
|
+
VALIDATE items not empty
|
|
460
|
+
VALIDATE customer.isVerified
|
|
461
|
+
|
|
462
|
+
FOR each item IN items:
|
|
463
|
+
CHECK inventory.hasStock(item)
|
|
464
|
+
END FOR
|
|
465
|
+
|
|
466
|
+
total = CALCULATE subtotal + tax
|
|
467
|
+
order = CREATE Order(customer, items, total)
|
|
468
|
+
|
|
469
|
+
EMIT OrderPlacedEvent(order.id, total)
|
|
470
|
+
RETURN order.id
|
|
471
|
+
END FUNCTION
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
───────────────────────────────────────────────────────────
|
|
475
|
+
⏸️ Подтвердите Pseudocode для продолжения к Tests.
|
|
476
|
+
Ответьте "ok" или скорректируйте алгоритмы.
|
|
477
|
+
═══════════════════════════════════════════════════════════
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
482
|
+
### Phase 5: Validation, Tests & AI Context [ENHANCED]
|
|
483
|
+
|
|
484
|
+
**Генерирует:**
|
|
485
|
+
- 5+ Fitness Functions
|
|
486
|
+
- 5+ Gherkin Test Scenarios
|
|
487
|
+
- 8 .ai-context/ files
|
|
488
|
+
|
|
489
|
+
**Test Scenarios (Gherkin):**
|
|
490
|
+
|
|
491
|
+
```gherkin
|
|
492
|
+
Feature: Order Placement
|
|
493
|
+
Scenario: Successfully place order
|
|
494
|
+
Given I am a verified customer
|
|
495
|
+
And all items are in stock
|
|
496
|
+
When I place the order
|
|
497
|
+
Then the order should be created
|
|
498
|
+
And I should receive confirmation
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
**Checkpoint 5 Output:**
|
|
502
|
+
```
|
|
503
|
+
═══════════════════════════════════════════════════════════
|
|
504
|
+
✅ PHASE 5 COMPLETE: Validation & Tests
|
|
505
|
+
═══════════════════════════════════════════════════════════
|
|
506
|
+
|
|
507
|
+
## Fitness Functions
|
|
508
|
+
|
|
509
|
+
| ID | Rule | Target |
|
|
510
|
+
|----|------|--------|
|
|
511
|
+
| FF-01 | BC Independence | 100% |
|
|
512
|
+
| FF-02 | Aggregate Size | ≤7 entities |
|
|
513
|
+
...
|
|
514
|
+
|
|
515
|
+
## Test Scenarios
|
|
516
|
+
|
|
517
|
+
| Feature | Scenarios | Coverage |
|
|
518
|
+
|---------|-----------|----------|
|
|
519
|
+
| Order Placement | 3 | Happy + 2 Error |
|
|
520
|
+
| Payment | 2 | Happy + 1 Error |
|
|
521
|
+
...
|
|
522
|
+
|
|
523
|
+
## .ai-context/ Files
|
|
524
|
+
|
|
525
|
+
✅ 8 files generated:
|
|
526
|
+
- README.md
|
|
527
|
+
- architecture-summary.md
|
|
528
|
+
- key-decisions.md
|
|
529
|
+
- domain-glossary.md
|
|
530
|
+
- bounded-contexts.md
|
|
531
|
+
- coding-standards.md
|
|
532
|
+
- fitness-rules.md
|
|
533
|
+
- pseudocode-index.md
|
|
534
|
+
|
|
535
|
+
───────────────────────────────────────────────────────────
|
|
536
|
+
⏸️ Подтвердите Tests & Validation для продолжения к Completion.
|
|
537
|
+
Ответьте "ok" или добавьте test scenarios.
|
|
538
|
+
═══════════════════════════════════════════════════════════
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
---
|
|
542
|
+
|
|
543
|
+
### Phase 6: Completion Checklist [NEW]
|
|
544
|
+
|
|
545
|
+
**Генерирует deployment-ready документацию:**
|
|
546
|
+
- Development environment setup
|
|
547
|
+
- CI/CD pipeline templates
|
|
548
|
+
- Docker/K8s manifests
|
|
549
|
+
- Monitoring configuration
|
|
550
|
+
- Security checklist
|
|
551
|
+
- Pre-launch checklist
|
|
552
|
+
|
|
553
|
+
**Output file:** `docs/completion/COMPLETION_CHECKLIST.md`
|
|
554
|
+
|
|
555
|
+
**После Phase 6 — финальный Executive Summary (без checkpoint).**
|
|
556
|
+
|
|
557
|
+
---
|
|
558
|
+
|
|
559
|
+
## Executive Summary Template
|
|
560
|
+
|
|
561
|
+
После генерации выводится:
|
|
562
|
+
|
|
563
|
+
```
|
|
564
|
+
═══════════════════════════════════════════════════════════════
|
|
565
|
+
✅ DOCUMENTATION COMPLETE: [Product Name]
|
|
566
|
+
═══════════════════════════════════════════════════════════════
|
|
567
|
+
|
|
568
|
+
## Input Processing
|
|
569
|
+
|
|
570
|
+
**Input Type:** [Problem | Idea]
|
|
571
|
+
**Analyst Pipeline:** [Executed | Skipped]
|
|
572
|
+
**Checkpoints Passed:** [N]/9
|
|
573
|
+
|
|
574
|
+
## Summary
|
|
575
|
+
|
|
576
|
+
| Category | Count |
|
|
577
|
+
|----------|-------|
|
|
578
|
+
| Functional Requirements | [N] |
|
|
579
|
+
| Non-Functional Requirements | [N] |
|
|
580
|
+
| User Stories | [N] |
|
|
581
|
+
| Bounded Contexts | [N] |
|
|
582
|
+
| ADRs | [N] |
|
|
583
|
+
| C4 Diagrams | [N] |
|
|
584
|
+
| Aggregates | [N] |
|
|
585
|
+
| Domain Events | [N] |
|
|
586
|
+
| **Pseudocode Files** | [N] |
|
|
587
|
+
| **Test Scenarios** | [N] |
|
|
588
|
+
| Fitness Functions | [N] |
|
|
589
|
+
| .ai-context/ files | 8 |
|
|
590
|
+
|
|
591
|
+
## Files Generated
|
|
592
|
+
|
|
593
|
+
docs/
|
|
594
|
+
├── prd/PRD.md
|
|
595
|
+
├── ddd/strategic/[files]
|
|
596
|
+
├── ddd/tactical/[files]
|
|
597
|
+
├── adr/[10+ files]
|
|
598
|
+
├── c4/[files]
|
|
599
|
+
├── pseudocode/[files] # [NEW]
|
|
600
|
+
├── tests/[feature files] # [NEW]
|
|
601
|
+
├── fitness/[files]
|
|
602
|
+
├── completion/COMPLETION_CHECKLIST.md # [NEW]
|
|
603
|
+
└── INDEX.md
|
|
604
|
+
|
|
605
|
+
.ai-context/
|
|
606
|
+
└── [8 files]
|
|
607
|
+
|
|
608
|
+
## Vibe Coding Quick Start
|
|
609
|
+
|
|
610
|
+
\`\`\`bash
|
|
611
|
+
# Implement with pseudocode guidance
|
|
612
|
+
claude "Implement OrderAggregate using docs/pseudocode/OrderAggregate.pseudo"
|
|
613
|
+
|
|
614
|
+
# Generate tests
|
|
615
|
+
claude "Generate tests from docs/tests/*.feature"
|
|
616
|
+
|
|
617
|
+
# Deploy
|
|
618
|
+
claude "Follow docs/completion/COMPLETION_CHECKLIST.md"
|
|
619
|
+
\`\`\`
|
|
620
|
+
|
|
621
|
+
═══════════════════════════════════════════════════════════════
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
---
|
|
625
|
+
|
|
626
|
+
## Output Structure
|
|
627
|
+
|
|
628
|
+
```
|
|
629
|
+
project-root/
|
|
630
|
+
├── docs/
|
|
631
|
+
│ ├── prd/PRD.md
|
|
632
|
+
│ ├── ddd/
|
|
633
|
+
│ │ ├── strategic/
|
|
634
|
+
│ │ └── tactical/
|
|
635
|
+
│ ├── adr/
|
|
636
|
+
│ ├── c4/
|
|
637
|
+
│ ├── pseudocode/ # [NEW]
|
|
638
|
+
│ │ ├── {Aggregate1}.pseudo
|
|
639
|
+
│ │ └── {Service1}.pseudo
|
|
640
|
+
│ ├── tests/ # [NEW]
|
|
641
|
+
│ │ └── {feature}.feature
|
|
642
|
+
│ ├── fitness/
|
|
643
|
+
│ ├── completion/ # [NEW]
|
|
644
|
+
│ │ └── COMPLETION_CHECKLIST.md
|
|
645
|
+
│ └── INDEX.md
|
|
646
|
+
├── .ai-context/
|
|
647
|
+
│ └── [8 files]
|
|
648
|
+
└── README.md
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
## Quality Minimums (Enforced)
|
|
652
|
+
|
|
653
|
+
| Artifact | Minimum |
|
|
654
|
+
|----------|---------|
|
|
655
|
+
| Functional Requirements | 10 |
|
|
656
|
+
| Non-Functional Requirements | 5 |
|
|
657
|
+
| User Stories | 5 |
|
|
658
|
+
| Bounded Contexts | 3 |
|
|
659
|
+
| ADRs | 10 |
|
|
660
|
+
| C4 Diagrams | 3 |
|
|
661
|
+
| Aggregates | 5 |
|
|
662
|
+
| Domain Events | 5 |
|
|
663
|
+
| **Pseudocode Files** | 3 |
|
|
664
|
+
| **Test Scenarios** | 5 |
|
|
665
|
+
| Fitness Functions | 5 |
|
|
666
|
+
| .ai-context/ files | 8 |
|
|
667
|
+
|
|
668
|
+
## Checkpoint Commands
|
|
669
|
+
|
|
670
|
+
| Command | Action |
|
|
671
|
+
|---------|--------|
|
|
672
|
+
| `ok` / `продолжай` | Proceed to next phase |
|
|
673
|
+
| `скорректируй X` | Modify specific element |
|
|
674
|
+
| `добавь Y` | Add missing element |
|
|
675
|
+
| `пересмотри Z` | Reconsider decision |
|
|
676
|
+
| `стоп` | Pause and save progress |
|
|
677
|
+
|
|
678
|
+
## Comparison: Auto vs Manual
|
|
679
|
+
|
|
680
|
+
| Aspect | idea2prd-auto | idea2prd-manual |
|
|
681
|
+
|--------|---------------|-----------------|
|
|
682
|
+
| **Time** | 20-40 min | 60-120 min |
|
|
683
|
+
| **User input** | 0-4 questions | **9 checkpoints** |
|
|
684
|
+
| **Control** | Low | **High** |
|
|
685
|
+
| **External skills** | Full execution | Full execution |
|
|
686
|
+
| **Pseudocode** | ✅ Auto | ✅ With review |
|
|
687
|
+
| **Test Scenarios** | ✅ Auto | ✅ With review |
|
|
688
|
+
| **Completion** | ✅ Auto | ✅ With review |
|
|
689
|
+
| **Best for** | MVPs, clear ideas | **Critical systems** |
|
|
690
|
+
|
|
691
|
+
## Dependencies
|
|
692
|
+
|
|
693
|
+
- External skills: explore, goap-research-ed25519, problem-solver-enhanced
|
|
694
|
+
- Mermaid (C4 diagrams)
|
|
695
|
+
- web_search (for Research phase)
|