claude-symphony 0.0.6 → 0.0.7

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 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 (problem to solve):' });
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 (URL or documents):' });
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) break;
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('Next steps:', 'yellow');
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. Edit stages/01-brainstorm/inputs/project_brief.md');
349
- console.log(' 3. Run /run-stage 01-brainstorm');
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. Edit stages/01-brainstorm/inputs/project_brief.md');
352
- console.log(' 2. Run /run-stage 01-brainstorm');
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('Pipeline stages:', 'cyan');
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-symphony",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Multi-AI Orchestration Framework - Create new projects with 10-stage development workflow",
5
5
  "type": "module",
6
6
  "bin": {
@@ -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>"
@@ -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:
@@ -101,6 +101,48 @@ Goals: Improve readability, optimize performance"
101
101
 
102
102
  ---
103
103
 
104
+ ## ⚠️ Mandatory Git Commit Rule
105
+
106
+ > **CRITICAL**: Git commit is REQUIRED after every task completion in this stage.
107
+
108
+ ### Per-Task Commit Protocol
109
+ After completing each task:
110
+
111
+ 1. **Stage changes**
112
+ ```bash
113
+ git add <relevant-files>
114
+ ```
115
+
116
+ 2. **Commit with conventional format**
117
+ ```bash
118
+ git commit -m "refactor(refactor): <task description>"
119
+ ```
120
+
121
+ 3. **Verify clean state**
122
+ ```bash
123
+ git status # Should show "nothing to commit"
124
+ ```
125
+
126
+ ### Commit Message Format
127
+ | Task Type | Format | Example |
128
+ |-----------|--------|---------|
129
+ | Code cleanup | `refactor(refactor): ...` | `refactor(refactor): extract auth logic to service` |
130
+ | Performance | `perf(refactor): ...` | `perf(refactor): optimize database queries` |
131
+ | Duplication removal | `refactor(refactor): ...` | `refactor(refactor): consolidate API handlers` |
132
+ | Architecture | `refactor(refactor): ...` | `refactor(refactor): apply repository pattern` |
133
+
134
+ ### ❌ Prohibited
135
+ - Proceeding to next task without committing
136
+ - Batching multiple tasks into single commit
137
+ - WIP or meaningless commit messages
138
+
139
+ ### ✅ Required
140
+ - One commit per task (minimum)
141
+ - Meaningful, descriptive commit messages
142
+ - Clean working directory before next task
143
+
144
+ ---
145
+
104
146
  ## ⚠️ AI Usage Recording (Required)
105
147
 
106
148
  > **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
@@ -108,6 +108,50 @@ npx playwright install
108
108
  - **Functions**: 80%
109
109
  - **Lines**: 80%
110
110
 
111
+ ---
112
+
113
+ ## ⚠️ Mandatory Git Commit Rule
114
+
115
+ > **CRITICAL**: Git commit is REQUIRED after every task completion in this stage.
116
+
117
+ ### Per-Task Commit Protocol
118
+ After completing each task:
119
+
120
+ 1. **Stage changes**
121
+ ```bash
122
+ git add <relevant-files>
123
+ ```
124
+
125
+ 2. **Commit with conventional format**
126
+ ```bash
127
+ git commit -m "test(test): <task description>"
128
+ ```
129
+
130
+ 3. **Verify clean state**
131
+ ```bash
132
+ git status # Should show "nothing to commit"
133
+ ```
134
+
135
+ ### Commit Message Format
136
+ | Task Type | Format | Example |
137
+ |-----------|--------|---------|
138
+ | Unit test | `test(test): ...` | `test(test): add user service unit tests` |
139
+ | Integration test | `test(test): ...` | `test(test): add API integration tests` |
140
+ | E2E test | `test(test): ...` | `test(test): add auth E2E tests` |
141
+ | Test fix | `test(test): ...` | `test(test): fix flaky async test` |
142
+
143
+ ### ❌ Prohibited
144
+ - Proceeding to next task without committing
145
+ - Batching multiple tasks into single commit
146
+ - WIP or meaningless commit messages
147
+
148
+ ### ✅ Required
149
+ - One commit per task (minimum)
150
+ - Meaningful, descriptive commit messages
151
+ - Clean working directory before next task
152
+
153
+ ---
154
+
111
155
  ## Completion Criteria
112
156
  - [ ] Unit tests written (coverage 80%+)
113
157
  - [ ] 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