claude-symphony 0.0.6 → 0.0.8
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/bin/create.js +32 -28
- package/package.json +1 -1
- package/template/CLAUDE.md +30 -0
- package/template/config/ai_collaboration.yaml +30 -15
- package/template/config/git.yaml +24 -0
- package/template/stages/01-brainstorm/CLAUDE.md +22 -0
- package/template/stages/03-planning/CLAUDE.md +22 -0
- package/template/stages/04-ui-ux/CLAUDE.md +22 -0
- package/template/stages/06-implementation/CLAUDE.md +44 -0
- package/template/stages/07-refactoring/CLAUDE.md +64 -0
- package/template/stages/08-qa/CLAUDE.md +44 -0
- package/template/stages/09-testing/CLAUDE.md +66 -0
- package/template/stages/10-deployment/CLAUDE.md +44 -0
package/bin/create.js
CHANGED
|
@@ -59,14 +59,14 @@ async function collectBriefInfo() {
|
|
|
59
59
|
const info = {};
|
|
60
60
|
|
|
61
61
|
// Sequential questions (each input() must complete before proceeding)
|
|
62
|
-
info.description = await input({ message: '📝 One-line description:' });
|
|
63
|
-
info.problem = await input({ message: '🔍 Problem definition (
|
|
64
|
-
info.targetUser = await input({ message: '🎯 Target users:' });
|
|
65
|
-
info.successCriteria = await input({ message: '🏆 Success criteria:' });
|
|
66
|
-
info.constraintSchedule = await input({ message: '⏰ Constraints - Schedule:' });
|
|
67
|
-
info.constraintBudget = await input({ message: '💰 Constraints - Budget:' });
|
|
68
|
-
info.constraintTech = await input({ message: '⚙️ Constraints - Technology:' });
|
|
69
|
-
info.references = await input({ message: '🔗 References (
|
|
62
|
+
info.description = await input({ message: '📝 One-line description (Enter to skip):' });
|
|
63
|
+
info.problem = await input({ message: '🔍 Problem definition (Enter to skip):' });
|
|
64
|
+
info.targetUser = await input({ message: '🎯 Target users (Enter to skip):' });
|
|
65
|
+
info.successCriteria = await input({ message: '🏆 Success criteria (Enter to skip):' });
|
|
66
|
+
info.constraintSchedule = await input({ message: '⏰ Constraints - Schedule (Enter to skip):' });
|
|
67
|
+
info.constraintBudget = await input({ message: '💰 Constraints - Budget (Enter to skip):' });
|
|
68
|
+
info.constraintTech = await input({ message: '⚙️ Constraints - Technology (Enter to skip):' });
|
|
69
|
+
info.references = await input({ message: '🔗 References (Enter to skip):' });
|
|
70
70
|
|
|
71
71
|
// Core features - multiple inputs (separate loop)
|
|
72
72
|
console.log('');
|
|
@@ -75,7 +75,11 @@ async function collectBriefInfo() {
|
|
|
75
75
|
let featureNum = 1;
|
|
76
76
|
while (true) {
|
|
77
77
|
const feature = await input({ message: ` ${featureNum}.` });
|
|
78
|
-
if (!feature)
|
|
78
|
+
if (!feature) {
|
|
79
|
+
// Clear the empty line (move up and clear)
|
|
80
|
+
process.stdout.write('\x1b[1A\x1b[2K');
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
79
83
|
info.features.push(feature);
|
|
80
84
|
featureNum++;
|
|
81
85
|
}
|
|
@@ -342,34 +346,34 @@ ${colors.yellow}After creation:${colors.reset}
|
|
|
342
346
|
log(`✓ Project '${actualProjectName}' created successfully!`, 'green');
|
|
343
347
|
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'green');
|
|
344
348
|
console.log('');
|
|
345
|
-
log('
|
|
349
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'yellow');
|
|
350
|
+
log('🚀 Next steps:', 'yellow');
|
|
351
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'yellow');
|
|
352
|
+
console.log('');
|
|
346
353
|
if (projectName !== '.') {
|
|
347
354
|
console.log(` 1. cd ${projectName}`);
|
|
348
|
-
console.log(' 2.
|
|
349
|
-
console.log(' 3.
|
|
355
|
+
console.log(' 2. claude ← Start Claude Code');
|
|
356
|
+
console.log(' 3. Install plugin (in Claude Code):');
|
|
357
|
+
log(' /plugin marketplace add jarrodwatts/claude-hud', 'cyan');
|
|
358
|
+
log(' /plugin install claude-hud', 'cyan');
|
|
359
|
+
console.log(' 4. Edit stages/01-brainstorm/inputs/project_brief.md');
|
|
360
|
+
console.log(' 5. Run /run-stage 01-brainstorm');
|
|
350
361
|
} else {
|
|
351
|
-
console.log(' 1.
|
|
352
|
-
console.log(' 2.
|
|
362
|
+
console.log(' 1. claude ← Start Claude Code');
|
|
363
|
+
console.log(' 2. Install plugin (in Claude Code):');
|
|
364
|
+
log(' /plugin marketplace add jarrodwatts/claude-hud', 'cyan');
|
|
365
|
+
log(' /plugin install claude-hud', 'cyan');
|
|
366
|
+
console.log(' 3. Edit stages/01-brainstorm/inputs/project_brief.md');
|
|
367
|
+
console.log(' 4. Run /run-stage 01-brainstorm');
|
|
353
368
|
}
|
|
354
369
|
console.log('');
|
|
355
|
-
log('
|
|
370
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'cyan');
|
|
371
|
+
log('📋 Pipeline stages:', 'cyan');
|
|
372
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'cyan');
|
|
356
373
|
console.log(' 01-brainstorm → 02-research → 03-planning → 04-ui-ux');
|
|
357
374
|
console.log(' → 05-task-management → 06-implementation → 07-refactoring');
|
|
358
375
|
console.log(' → 08-qa → 09-testing → 10-deployment');
|
|
359
376
|
console.log('');
|
|
360
|
-
// Plugin installation message (more prominent)
|
|
361
|
-
console.log('');
|
|
362
|
-
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'yellow');
|
|
363
|
-
log('🎯 Recommended: Install claude-hud plugin', 'yellow');
|
|
364
|
-
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'yellow');
|
|
365
|
-
console.log('');
|
|
366
|
-
console.log(' claude-hud visualizes context usage, tool activity, and progress.');
|
|
367
|
-
console.log('');
|
|
368
|
-
console.log(' Run these commands in Claude Code:');
|
|
369
|
-
console.log('');
|
|
370
|
-
log(' /plugin marketplace add jarrodwatts/claude-hud', 'cyan');
|
|
371
|
-
log(' /plugin install claude-hud', 'cyan');
|
|
372
|
-
console.log('');
|
|
373
377
|
}
|
|
374
378
|
|
|
375
379
|
main().catch(err => {
|
package/package.json
CHANGED
package/template/CLAUDE.md
CHANGED
|
@@ -411,6 +411,36 @@ state/
|
|
|
411
411
|
|
|
412
412
|
---
|
|
413
413
|
|
|
414
|
+
## Parallel AI Execution Policy
|
|
415
|
+
|
|
416
|
+
### Overview
|
|
417
|
+
All defined AI models execute the same task in parallel, and each output is synthesized to produce the final result.
|
|
418
|
+
|
|
419
|
+
### Execution Flow
|
|
420
|
+
1. **Parallel Execution**: Designated models perform the task simultaneously
|
|
421
|
+
2. **Individual Output**: Each model generates `output_modelName.md`
|
|
422
|
+
3. **Synthesis**: ClaudeCode analyzes all outputs and generates `final_output.md`
|
|
423
|
+
|
|
424
|
+
### Stage Model Assignment
|
|
425
|
+
|
|
426
|
+
| Stage | Parallel Models | Synthesizer | Output |
|
|
427
|
+
|-------|-----------------|-------------|--------|
|
|
428
|
+
| 01-brainstorm | Gemini + ClaudeCode | ClaudeCode | ideas.md |
|
|
429
|
+
| 03-planning | Gemini + ClaudeCode | ClaudeCode | architecture.md |
|
|
430
|
+
| 04-ui-ux | Gemini + ClaudeCode | ClaudeCode | wireframes.md |
|
|
431
|
+
| 07-refactoring | Codex + ClaudeCode | ClaudeCode | refactoring_report.md |
|
|
432
|
+
| 09-testing | Codex + ClaudeCode | ClaudeCode | tests/ |
|
|
433
|
+
|
|
434
|
+
> Single-model stages (02, 05, 06, 08, 10) maintain existing behavior
|
|
435
|
+
|
|
436
|
+
### Synthesis Criteria
|
|
437
|
+
1. **Extract Commonalities**: Prioritize content all models agree on
|
|
438
|
+
2. **Analyze Differences**: Compare pros/cons, select best approach
|
|
439
|
+
3. **Complementary Integration**: Merge unique insights from each model
|
|
440
|
+
4. **Quality Filtering**: Remove low-quality content
|
|
441
|
+
|
|
442
|
+
---
|
|
443
|
+
|
|
414
444
|
## Smart HANDOFF System
|
|
415
445
|
|
|
416
446
|
> Configuration files: `config/handoff_intelligence.yaml`, `config/memory_integration.yaml`
|
|
@@ -2,27 +2,42 @@
|
|
|
2
2
|
# Multi-AI orchestration modes and collaboration strategies
|
|
3
3
|
|
|
4
4
|
collaboration_modes:
|
|
5
|
-
# Parallel Execution: Execute same task with multiple AIs simultaneously
|
|
5
|
+
# Parallel Execution: Execute same task with multiple AIs simultaneously and synthesize
|
|
6
6
|
parallel_execution:
|
|
7
|
-
description: "Execute same task with multiple AIs simultaneously and
|
|
7
|
+
description: "Execute same task with multiple AIs simultaneously and synthesize"
|
|
8
8
|
enabled: true
|
|
9
9
|
|
|
10
10
|
stages:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
|
|
11
|
+
01-brainstorm:
|
|
12
|
+
parallel_models: [gemini, claudecode]
|
|
13
|
+
synthesizer: claudecode
|
|
14
|
+
output: ideas.md
|
|
15
|
+
03-planning:
|
|
16
|
+
parallel_models: [gemini, claudecode]
|
|
17
|
+
synthesizer: claudecode
|
|
18
|
+
output: architecture.md
|
|
19
|
+
04-ui-ux:
|
|
20
|
+
parallel_models: [gemini, claudecode]
|
|
21
|
+
synthesizer: claudecode
|
|
22
|
+
output: wireframes.md
|
|
23
|
+
07-refactoring:
|
|
24
|
+
parallel_models: [codex, claudecode]
|
|
25
|
+
synthesizer: claudecode
|
|
26
|
+
output: refactoring_report.md
|
|
27
|
+
09-testing:
|
|
28
|
+
parallel_models: [codex, claudecode]
|
|
29
|
+
synthesizer: claudecode
|
|
30
|
+
output: tests/
|
|
31
|
+
|
|
32
|
+
synthesis_criteria:
|
|
33
|
+
- extract_commonalities
|
|
34
|
+
- analyze_differences
|
|
35
|
+
- complementary_integration
|
|
36
|
+
- quality_filtering
|
|
17
37
|
|
|
18
38
|
merge_strategy:
|
|
19
|
-
type: "
|
|
20
|
-
|
|
21
|
-
- quality_score
|
|
22
|
-
- completeness
|
|
23
|
-
- creativity
|
|
24
|
-
require_human_review: true
|
|
25
|
-
auto_select_threshold: 0.85 # Auto-select when score is 85% or higher
|
|
39
|
+
type: "synthesis"
|
|
40
|
+
synthesizer: claudecode
|
|
26
41
|
|
|
27
42
|
# Sequential Handoff: Sequential transfer between AIs (review chain)
|
|
28
43
|
sequential_handoff:
|
package/template/config/git.yaml
CHANGED
|
@@ -13,6 +13,30 @@ git:
|
|
|
13
13
|
on_checkpoint: true # On checkpoint creation
|
|
14
14
|
on_milestone: true # On milestone completion
|
|
15
15
|
|
|
16
|
+
# Enforcement rules (mandatory commits)
|
|
17
|
+
enforcement:
|
|
18
|
+
enabled: true
|
|
19
|
+
|
|
20
|
+
# Stages where commit is MANDATORY after each task
|
|
21
|
+
mandatory_stages:
|
|
22
|
+
- "06-implementation"
|
|
23
|
+
- "07-refactoring"
|
|
24
|
+
- "08-qa"
|
|
25
|
+
- "09-testing"
|
|
26
|
+
- "10-deployment"
|
|
27
|
+
|
|
28
|
+
# Task completion requirements
|
|
29
|
+
task_completion_requires:
|
|
30
|
+
- git_commit # Must commit changes
|
|
31
|
+
- no_uncommitted_changes # No pending changes allowed
|
|
32
|
+
|
|
33
|
+
# Verification message
|
|
34
|
+
verification_prompt: |
|
|
35
|
+
⚠️ MANDATORY: Before marking this task as complete:
|
|
36
|
+
1. Stage all related changes: git add <files>
|
|
37
|
+
2. Commit with conventional format: git commit -m "type(scope): description"
|
|
38
|
+
3. Verify: git status (should show "nothing to commit")
|
|
39
|
+
|
|
16
40
|
# Commit message rules (Conventional Commits)
|
|
17
41
|
commit_convention:
|
|
18
42
|
format: "<type>(<scope>): <description>"
|
|
@@ -38,6 +38,28 @@ Divergent idea generation and requirements exploration stage
|
|
|
38
38
|
- **Secondary**: ClaudeCode (structuring, feasibility review)
|
|
39
39
|
- **Mode**: YOLO (Container) - autonomous execution mode
|
|
40
40
|
|
|
41
|
+
## Parallel Execution Protocol
|
|
42
|
+
|
|
43
|
+
### Models
|
|
44
|
+
- **Primary**: Gemini (creative ideation)
|
|
45
|
+
- **Secondary**: ClaudeCode (structural organization)
|
|
46
|
+
|
|
47
|
+
### Execution
|
|
48
|
+
1. Gemini: Generate `output_gemini.md`
|
|
49
|
+
2. ClaudeCode: Generate `output_claudecode.md`
|
|
50
|
+
3. ClaudeCode (Synthesizer): Synthesize → `ideas.md`
|
|
51
|
+
|
|
52
|
+
### Output Files
|
|
53
|
+
- `output_gemini.md` - Gemini results
|
|
54
|
+
- `output_claudecode.md` - ClaudeCode results
|
|
55
|
+
- `ideas.md` - Final synthesized result
|
|
56
|
+
|
|
57
|
+
### Synthesis Criteria
|
|
58
|
+
1. Extract commonalities first
|
|
59
|
+
2. Analyze differences and select best
|
|
60
|
+
3. Integrate unique insights
|
|
61
|
+
4. Filter low-quality content
|
|
62
|
+
|
|
41
63
|
## Goals
|
|
42
64
|
1. Divergent ideation based on project brief
|
|
43
65
|
2. In-depth analysis of user requirements
|
|
@@ -33,6 +33,28 @@ System architecture and technology stack decision stage
|
|
|
33
33
|
- **Primary**: Gemini (architecture design, diagrams)
|
|
34
34
|
- **Mode**: Plan Mode - structured design
|
|
35
35
|
|
|
36
|
+
## Parallel Execution Protocol
|
|
37
|
+
|
|
38
|
+
### Models
|
|
39
|
+
- **Primary**: Gemini (architecture design)
|
|
40
|
+
- **Secondary**: ClaudeCode (technical validation)
|
|
41
|
+
|
|
42
|
+
### Execution
|
|
43
|
+
1. Gemini: Generate `output_gemini.md`
|
|
44
|
+
2. ClaudeCode: Generate `output_claudecode.md`
|
|
45
|
+
3. ClaudeCode (Synthesizer): Synthesize → `architecture.md`
|
|
46
|
+
|
|
47
|
+
### Output Files
|
|
48
|
+
- `output_gemini.md` - Gemini results
|
|
49
|
+
- `output_claudecode.md` - ClaudeCode results
|
|
50
|
+
- `architecture.md` - Final synthesized result
|
|
51
|
+
|
|
52
|
+
### Synthesis Criteria
|
|
53
|
+
1. Extract commonalities first
|
|
54
|
+
2. Analyze differences and select best
|
|
55
|
+
3. Integrate unique insights
|
|
56
|
+
4. Filter low-quality content
|
|
57
|
+
|
|
36
58
|
## Goals
|
|
37
59
|
1. System architecture design
|
|
38
60
|
2. Final technology stack decision
|
|
@@ -33,6 +33,28 @@ User interface and experience design stage
|
|
|
33
33
|
- **Primary**: Gemini (creative UI design)
|
|
34
34
|
- **Mode**: Plan Mode
|
|
35
35
|
|
|
36
|
+
## Parallel Execution Protocol
|
|
37
|
+
|
|
38
|
+
### Models
|
|
39
|
+
- **Primary**: Gemini (creative UI design)
|
|
40
|
+
- **Secondary**: ClaudeCode (UX validation)
|
|
41
|
+
|
|
42
|
+
### Execution
|
|
43
|
+
1. Gemini: Generate `output_gemini.md`
|
|
44
|
+
2. ClaudeCode: Generate `output_claudecode.md`
|
|
45
|
+
3. ClaudeCode (Synthesizer): Synthesize → `wireframes.md`
|
|
46
|
+
|
|
47
|
+
### Output Files
|
|
48
|
+
- `output_gemini.md` - Gemini results
|
|
49
|
+
- `output_claudecode.md` - ClaudeCode results
|
|
50
|
+
- `wireframes.md` - Final synthesized result
|
|
51
|
+
|
|
52
|
+
### Synthesis Criteria
|
|
53
|
+
1. Extract commonalities first
|
|
54
|
+
2. Analyze differences and select best
|
|
55
|
+
3. Integrate unique insights
|
|
56
|
+
4. Filter low-quality content
|
|
57
|
+
|
|
36
58
|
## Goals
|
|
37
59
|
1. Wireframe design
|
|
38
60
|
2. User flow definition
|
|
@@ -111,6 +111,50 @@ cd project-name
|
|
|
111
111
|
| `/next` | Sprint remaining → Next Sprint / Complete → Stage 07 |
|
|
112
112
|
| `/next --stage` | Force Stage transition (skip Sprints, not recommended) |
|
|
113
113
|
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## ⚠️ Mandatory Git Commit Rule
|
|
117
|
+
|
|
118
|
+
> **CRITICAL**: Starting from Stage 06, git commit is REQUIRED after every task completion.
|
|
119
|
+
|
|
120
|
+
### Per-Task Commit Protocol
|
|
121
|
+
After completing each task:
|
|
122
|
+
|
|
123
|
+
1. **Stage changes**
|
|
124
|
+
```bash
|
|
125
|
+
git add <relevant-files>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
2. **Commit with conventional format**
|
|
129
|
+
```bash
|
|
130
|
+
git commit -m "feat(impl): <task description>"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
3. **Verify clean state**
|
|
134
|
+
```bash
|
|
135
|
+
git status # Should show "nothing to commit"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Commit Message Format
|
|
139
|
+
| Task Type | Format | Example |
|
|
140
|
+
|-----------|--------|---------|
|
|
141
|
+
| New feature | `feat(impl): ...` | `feat(impl): add user login form` |
|
|
142
|
+
| Component | `feat(impl): ...` | `feat(impl): create Button component` |
|
|
143
|
+
| API | `feat(impl): ...` | `feat(impl): implement auth API endpoint` |
|
|
144
|
+
| Style | `style(impl): ...` | `style(impl): add responsive styles` |
|
|
145
|
+
|
|
146
|
+
### ❌ Prohibited
|
|
147
|
+
- Proceeding to next task without committing
|
|
148
|
+
- Batching multiple tasks into single commit
|
|
149
|
+
- WIP or meaningless commit messages
|
|
150
|
+
|
|
151
|
+
### ✅ Required
|
|
152
|
+
- One commit per task (minimum)
|
|
153
|
+
- Meaningful, descriptive commit messages
|
|
154
|
+
- Clean working directory before next task
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
114
158
|
### Sprint Completion Criteria
|
|
115
159
|
|
|
116
160
|
Each Sprint completion requires:
|
|
@@ -38,6 +38,28 @@ Code quality improvement and optimization stage
|
|
|
38
38
|
- **Secondary**: ClaudeCode (complex refactoring)
|
|
39
39
|
- **Mode**: Deep Dive - in-depth code analysis
|
|
40
40
|
|
|
41
|
+
## Parallel Execution Protocol
|
|
42
|
+
|
|
43
|
+
### Models
|
|
44
|
+
- **Primary**: Codex (code optimization)
|
|
45
|
+
- **Secondary**: ClaudeCode (code review)
|
|
46
|
+
|
|
47
|
+
### Execution
|
|
48
|
+
1. Codex: Generate `output_codex.md`
|
|
49
|
+
2. ClaudeCode: Generate `output_claudecode.md`
|
|
50
|
+
3. ClaudeCode (Synthesizer): Synthesize → `refactoring_report.md`
|
|
51
|
+
|
|
52
|
+
### Output Files
|
|
53
|
+
- `output_codex.md` - Codex results
|
|
54
|
+
- `output_claudecode.md` - ClaudeCode results
|
|
55
|
+
- `refactoring_report.md` - Final synthesized result
|
|
56
|
+
|
|
57
|
+
### Synthesis Criteria
|
|
58
|
+
1. Extract commonalities first
|
|
59
|
+
2. Analyze differences and select best
|
|
60
|
+
3. Integrate unique insights
|
|
61
|
+
4. Filter low-quality content
|
|
62
|
+
|
|
41
63
|
## Goals
|
|
42
64
|
1. Code quality improvement
|
|
43
65
|
2. Duplication removal
|
|
@@ -101,6 +123,48 @@ Goals: Improve readability, optimize performance"
|
|
|
101
123
|
|
|
102
124
|
---
|
|
103
125
|
|
|
126
|
+
## ⚠️ Mandatory Git Commit Rule
|
|
127
|
+
|
|
128
|
+
> **CRITICAL**: Git commit is REQUIRED after every task completion in this stage.
|
|
129
|
+
|
|
130
|
+
### Per-Task Commit Protocol
|
|
131
|
+
After completing each task:
|
|
132
|
+
|
|
133
|
+
1. **Stage changes**
|
|
134
|
+
```bash
|
|
135
|
+
git add <relevant-files>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
2. **Commit with conventional format**
|
|
139
|
+
```bash
|
|
140
|
+
git commit -m "refactor(refactor): <task description>"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
3. **Verify clean state**
|
|
144
|
+
```bash
|
|
145
|
+
git status # Should show "nothing to commit"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Commit Message Format
|
|
149
|
+
| Task Type | Format | Example |
|
|
150
|
+
|-----------|--------|---------|
|
|
151
|
+
| Code cleanup | `refactor(refactor): ...` | `refactor(refactor): extract auth logic to service` |
|
|
152
|
+
| Performance | `perf(refactor): ...` | `perf(refactor): optimize database queries` |
|
|
153
|
+
| Duplication removal | `refactor(refactor): ...` | `refactor(refactor): consolidate API handlers` |
|
|
154
|
+
| Architecture | `refactor(refactor): ...` | `refactor(refactor): apply repository pattern` |
|
|
155
|
+
|
|
156
|
+
### ❌ Prohibited
|
|
157
|
+
- Proceeding to next task without committing
|
|
158
|
+
- Batching multiple tasks into single commit
|
|
159
|
+
- WIP or meaningless commit messages
|
|
160
|
+
|
|
161
|
+
### ✅ Required
|
|
162
|
+
- One commit per task (minimum)
|
|
163
|
+
- Meaningful, descriptive commit messages
|
|
164
|
+
- Clean working directory before next task
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
104
168
|
## ⚠️ AI Usage Recording (Required)
|
|
105
169
|
|
|
106
170
|
> **Important**: This stage requires Codex CLI.
|
|
@@ -78,6 +78,50 @@ Quality assurance and code review stage
|
|
|
78
78
|
- Fix and verify
|
|
79
79
|
- Regression testing
|
|
80
80
|
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## ⚠️ Mandatory Git Commit Rule
|
|
84
|
+
|
|
85
|
+
> **CRITICAL**: Git commit is REQUIRED after every task completion in this stage.
|
|
86
|
+
|
|
87
|
+
### Per-Task Commit Protocol
|
|
88
|
+
After completing each task:
|
|
89
|
+
|
|
90
|
+
1. **Stage changes**
|
|
91
|
+
```bash
|
|
92
|
+
git add <relevant-files>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
2. **Commit with conventional format**
|
|
96
|
+
```bash
|
|
97
|
+
git commit -m "fix(qa): <task description>"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
3. **Verify clean state**
|
|
101
|
+
```bash
|
|
102
|
+
git status # Should show "nothing to commit"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Commit Message Format
|
|
106
|
+
| Task Type | Format | Example |
|
|
107
|
+
|-----------|--------|---------|
|
|
108
|
+
| Bug fix | `fix(qa): ...` | `fix(qa): fix login validation bug` |
|
|
109
|
+
| Security fix | `fix(qa): ...` | `fix(qa): sanitize user input` |
|
|
110
|
+
| Code review fix | `fix(qa): ...` | `fix(qa): address code review comments` |
|
|
111
|
+
| Test fix | `fix(qa): ...` | `fix(qa): fix flaky test in auth module` |
|
|
112
|
+
|
|
113
|
+
### ❌ Prohibited
|
|
114
|
+
- Proceeding to next task without committing
|
|
115
|
+
- Batching multiple tasks into single commit
|
|
116
|
+
- WIP or meaningless commit messages
|
|
117
|
+
|
|
118
|
+
### ✅ Required
|
|
119
|
+
- One commit per task (minimum)
|
|
120
|
+
- Meaningful, descriptive commit messages
|
|
121
|
+
- Clean working directory before next task
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
81
125
|
## Completion Criteria
|
|
82
126
|
- [ ] Code review complete
|
|
83
127
|
- [ ] Security inspection passed
|
|
@@ -35,6 +35,28 @@ Test code writing and E2E testing stage
|
|
|
35
35
|
- **Mode**: Sandbox + Playwright
|
|
36
36
|
- **MCP**: playwright server integration
|
|
37
37
|
|
|
38
|
+
## Parallel Execution Protocol
|
|
39
|
+
|
|
40
|
+
### Models
|
|
41
|
+
- **Primary**: Codex (test generation)
|
|
42
|
+
- **Secondary**: ClaudeCode (test validation)
|
|
43
|
+
|
|
44
|
+
### Execution
|
|
45
|
+
1. Codex: Generate `output_codex.md`
|
|
46
|
+
2. ClaudeCode: Generate `output_claudecode.md`
|
|
47
|
+
3. ClaudeCode (Synthesizer): Synthesize → `tests/`
|
|
48
|
+
|
|
49
|
+
### Output Files
|
|
50
|
+
- `output_codex.md` - Codex results
|
|
51
|
+
- `output_claudecode.md` - ClaudeCode results
|
|
52
|
+
- `tests/` - Final synthesized test files
|
|
53
|
+
|
|
54
|
+
### Synthesis Criteria
|
|
55
|
+
1. Extract commonalities first
|
|
56
|
+
2. Analyze differences and select best
|
|
57
|
+
3. Integrate unique insights
|
|
58
|
+
4. Filter low-quality content
|
|
59
|
+
|
|
38
60
|
## Goals
|
|
39
61
|
1. Unit test writing
|
|
40
62
|
2. Integration test writing
|
|
@@ -108,6 +130,50 @@ npx playwright install
|
|
|
108
130
|
- **Functions**: 80%
|
|
109
131
|
- **Lines**: 80%
|
|
110
132
|
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## ⚠️ Mandatory Git Commit Rule
|
|
136
|
+
|
|
137
|
+
> **CRITICAL**: Git commit is REQUIRED after every task completion in this stage.
|
|
138
|
+
|
|
139
|
+
### Per-Task Commit Protocol
|
|
140
|
+
After completing each task:
|
|
141
|
+
|
|
142
|
+
1. **Stage changes**
|
|
143
|
+
```bash
|
|
144
|
+
git add <relevant-files>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
2. **Commit with conventional format**
|
|
148
|
+
```bash
|
|
149
|
+
git commit -m "test(test): <task description>"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
3. **Verify clean state**
|
|
153
|
+
```bash
|
|
154
|
+
git status # Should show "nothing to commit"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Commit Message Format
|
|
158
|
+
| Task Type | Format | Example |
|
|
159
|
+
|-----------|--------|---------|
|
|
160
|
+
| Unit test | `test(test): ...` | `test(test): add user service unit tests` |
|
|
161
|
+
| Integration test | `test(test): ...` | `test(test): add API integration tests` |
|
|
162
|
+
| E2E test | `test(test): ...` | `test(test): add auth E2E tests` |
|
|
163
|
+
| Test fix | `test(test): ...` | `test(test): fix flaky async test` |
|
|
164
|
+
|
|
165
|
+
### ❌ Prohibited
|
|
166
|
+
- Proceeding to next task without committing
|
|
167
|
+
- Batching multiple tasks into single commit
|
|
168
|
+
- WIP or meaningless commit messages
|
|
169
|
+
|
|
170
|
+
### ✅ Required
|
|
171
|
+
- One commit per task (minimum)
|
|
172
|
+
- Meaningful, descriptive commit messages
|
|
173
|
+
- Clean working directory before next task
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
111
177
|
## Completion Criteria
|
|
112
178
|
- [ ] Unit tests written (coverage 80%+)
|
|
113
179
|
- [ ] Integration tests written
|
|
@@ -97,6 +97,50 @@ jobs:
|
|
|
97
97
|
- **AWS**: Enterprise
|
|
98
98
|
- **Cloudflare**: Edge
|
|
99
99
|
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## ⚠️ Mandatory Git Commit Rule
|
|
103
|
+
|
|
104
|
+
> **CRITICAL**: Git commit is REQUIRED after every task completion in this stage.
|
|
105
|
+
|
|
106
|
+
### Per-Task Commit Protocol
|
|
107
|
+
After completing each task:
|
|
108
|
+
|
|
109
|
+
1. **Stage changes**
|
|
110
|
+
```bash
|
|
111
|
+
git add <relevant-files>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
2. **Commit with conventional format**
|
|
115
|
+
```bash
|
|
116
|
+
git commit -m "ci(deploy): <task description>"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
3. **Verify clean state**
|
|
120
|
+
```bash
|
|
121
|
+
git status # Should show "nothing to commit"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Commit Message Format
|
|
125
|
+
| Task Type | Format | Example |
|
|
126
|
+
|-----------|--------|---------|
|
|
127
|
+
| CI pipeline | `ci(deploy): ...` | `ci(deploy): configure GitHub Actions CI` |
|
|
128
|
+
| CD pipeline | `ci(deploy): ...` | `ci(deploy): add Vercel deployment workflow` |
|
|
129
|
+
| Config | `chore(deploy): ...` | `chore(deploy): add environment variables` |
|
|
130
|
+
| Monitoring | `ci(deploy): ...` | `ci(deploy): configure Sentry error tracking` |
|
|
131
|
+
|
|
132
|
+
### ❌ Prohibited
|
|
133
|
+
- Proceeding to next task without committing
|
|
134
|
+
- Batching multiple tasks into single commit
|
|
135
|
+
- WIP or meaningless commit messages
|
|
136
|
+
|
|
137
|
+
### ✅ Required
|
|
138
|
+
- One commit per task (minimum)
|
|
139
|
+
- Meaningful, descriptive commit messages
|
|
140
|
+
- Clean working directory before next task
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
100
144
|
## Completion Criteria
|
|
101
145
|
- [ ] CI pipeline configured
|
|
102
146
|
- [ ] CD pipeline configured
|