claude-code-workflow 7.1.0 → 7.2.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/.claude/commands/ccw-coordinator.md +13 -8
- package/.claude/commands/ccw.md +56 -16
- package/.claude/skills/workflow-lite-plan/phases/01-lite-plan.md +5 -3
- package/.codex/skills/roadmap-with-file/SKILL.md +9 -7
- package/ccw/dist/commands/cli.d.ts.map +1 -1
- package/ccw/dist/commands/cli.js +6 -2
- package/ccw/dist/commands/cli.js.map +1 -1
- package/ccw/dist/core/auth/csrf-manager.d.ts.map +1 -1
- package/ccw/dist/core/auth/csrf-manager.js +20 -0
- package/ccw/dist/core/auth/csrf-manager.js.map +1 -1
- package/ccw/dist/core/routes/auth-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/auth-routes.js +3 -2
- package/ccw/dist/core/routes/auth-routes.js.map +1 -1
- package/ccw/dist/core/routes/mcp-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/mcp-routes.js +4 -0
- package/ccw/dist/core/routes/mcp-routes.js.map +1 -1
- package/ccw/frontend/dist/assets/{index-ClyNgM0h.js → index-CRvBZ2ek.js} +26 -26
- package/ccw/frontend/dist/assets/{index-ClyNgM0h.js.map → index-CRvBZ2ek.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-C-yxOLJx.css → index-D4zkLHXS.css} +1 -1
- package/ccw/frontend/dist/index.html +2 -2
- package/package.json +1 -1
|
@@ -30,7 +30,7 @@ Interactive orchestration tool: analyze task → discover commands → recommend
|
|
|
30
30
|
| `workflow:roadmap-with-file` | strategic requirement roadmap → issue creation → execution-plan.json |
|
|
31
31
|
| `workflow:integration-test-cycle` | explore → test dev → test-fix cycle → reflection |
|
|
32
32
|
| `workflow:refactor-cycle` | tech debt discovery → prioritize → execute → validate |
|
|
33
|
-
| `team-planex` | planner + executor wave pipeline(适合大量零散 issue 或 roadmap 产出的清晰 issue
|
|
33
|
+
| `team-planex` | planner + executor wave pipeline(适合大量零散 issue 或 roadmap 产出的清晰 issue)|
|
|
34
34
|
|
|
35
35
|
## Core Concept: Minimum Execution Units (最小执行单元)
|
|
36
36
|
|
|
@@ -85,7 +85,7 @@ Interactive orchestration tool: analyze task → discover commands → recommend
|
|
|
85
85
|
| Unit Name | Commands | Purpose | Output |
|
|
86
86
|
|-----------|----------|---------|--------|
|
|
87
87
|
| **Analyze to Plan** | analyze-with-file → lite-plan | Collaborative analysis → auto chain to lite-plan | discussion.md + code |
|
|
88
|
-
| **Brainstorm to Plan** | brainstorm-with-file →
|
|
88
|
+
| **Brainstorm to Plan** | brainstorm-with-file → plan → execute | Multi-perspective ideation → formal planning | brainstorm.md + code |
|
|
89
89
|
| **Debug With File** | debug-with-file | Hypothesis-driven debugging with documentation | understanding.md |
|
|
90
90
|
| **Collaborative Plan** | collaborative-plan-with-file → unified-execute-with-file | Multi-agent collaborative planning and execution | plan-note.md + code |
|
|
91
91
|
| **Roadmap Plan** | roadmap-with-file → team-planex | Requirement decomposition and wave execution | execution-plan.json + code |
|
|
@@ -118,7 +118,7 @@ Interactive orchestration tool: analyze task → discover commands → recommend
|
|
|
118
118
|
| issue:queue | issue:execute | Issue Workflow, Rapid-to-Issue, Brainstorm-to-Issue |
|
|
119
119
|
| issue:from-brainstorm | issue:queue | Brainstorm-to-Issue |
|
|
120
120
|
| analyze-with-file | lite-plan (auto) | Analyze to Plan |
|
|
121
|
-
| brainstorm-with-file |
|
|
121
|
+
| brainstorm-with-file | plan (auto), issue:from-brainstorm | Brainstorm to Plan, Brainstorm-to-Issue |
|
|
122
122
|
| collaborative-plan-with-file | unified-execute-with-file | Collaborative Plan |
|
|
123
123
|
| roadmap-with-file | team-planex | Roadmap Plan |
|
|
124
124
|
| unified-execute-with-file | (terminal) | Collaborative Plan |
|
|
@@ -165,11 +165,13 @@ function detectTaskType(text) {
|
|
|
165
165
|
if (/urgent|production|critical/.test(text) && /fix|bug/.test(text)) return 'bugfix-hotfix';
|
|
166
166
|
// With-File workflow patterns (specific keywords - must come before generic bugfix)
|
|
167
167
|
if (/brainstorm.*issue|头脑风暴.*issue|idea.*issue|想法.*issue|从.*头脑风暴|convert.*brainstorm/.test(text)) return 'brainstorm-to-issue';
|
|
168
|
+
// 0→1 Greenfield detection (priority over brainstorm/roadmap)
|
|
169
|
+
if (/从零开始|from scratch|0.*to.*1|greenfield|全新.*开发|新项目|new project|build.*from.*ground/.test(text)) return 'greenfield';
|
|
168
170
|
if (/brainstorm|ideation|头脑风暴|创意|发散思维|creative thinking/.test(text)) return 'brainstorm-file';
|
|
169
171
|
if (/debug.*document|hypothesis.*debug|深度调试|假设.*验证|systematic debug/.test(text)) return 'debug-file';
|
|
170
172
|
if (/analyze.*document|collaborative analysis|协作分析|深度.*理解/.test(text)) return 'analyze-file';
|
|
171
173
|
if (/collaborative.*plan|协作.*规划|多人.*规划|multi.*agent.*plan|Plan Note|分工.*规划/.test(text)) return 'collaborative-plan';
|
|
172
|
-
if (/roadmap
|
|
174
|
+
if (/roadmap|路线.*图/.test(text)) return 'roadmap'; // Narrowed: only explicit roadmap keywords
|
|
173
175
|
if (/spec.*gen|specification|PRD|产品需求|产品文档|产品规格/.test(text)) return 'spec-driven';
|
|
174
176
|
// Cycle workflow patterns
|
|
175
177
|
if (/integration.*test|集成测试|端到端.*测试|e2e.*test|integration.*cycle/.test(text)) return 'integration-test';
|
|
@@ -407,7 +409,7 @@ const commandPorts = {
|
|
|
407
409
|
output: ['brainstorm-document'],
|
|
408
410
|
tags: ['brainstorm', 'with-file'],
|
|
409
411
|
atomic_group: 'brainstorm-to-plan',
|
|
410
|
-
note: 'Auto chains to
|
|
412
|
+
note: 'Auto chains to workflow-plan with brainstorm artifacts'
|
|
411
413
|
},
|
|
412
414
|
'issue:from-brainstorm': {
|
|
413
415
|
name: 'issue:from-brainstorm',
|
|
@@ -515,8 +517,10 @@ function determinePortFlow(taskType, constraints) {
|
|
|
515
517
|
// Issue workflow types
|
|
516
518
|
'issue-batch': { inputPort: 'codebase', outputPort: 'completed-issues' },
|
|
517
519
|
'issue-transition': { inputPort: 'requirement', outputPort: 'completed-issues' },
|
|
518
|
-
//
|
|
519
|
-
'
|
|
520
|
+
// 0→1 Greenfield (exploration → formal planning → execution)
|
|
521
|
+
'greenfield': { inputPort: 'exploration-topic', outputPort: 'test-passed' },
|
|
522
|
+
// With-File workflow types (auto chain to plan)
|
|
523
|
+
'brainstorm-file': { inputPort: 'exploration-topic', outputPort: 'test-passed' },
|
|
520
524
|
'brainstorm-to-issue': { inputPort: 'brainstorm-document', outputPort: 'completed-issues' },
|
|
521
525
|
'debug-file': { inputPort: 'bug-report', outputPort: 'understanding-document' },
|
|
522
526
|
'analyze-file': { inputPort: 'analysis-topic', outputPort: 'code' },
|
|
@@ -957,7 +961,8 @@ Task: <description>
|
|
|
957
961
|
| **issue-batch** | 代码库 →【discover → plan → queue → execute】→ 完成 issues | Issue Workflow |
|
|
958
962
|
| **issue-transition** | 需求 →【lite-plan → convert-to-plan → queue → execute】→ 完成 issues | Rapid-to-Issue |
|
|
959
963
|
| **analyze-file** | 分析主题 →【analyze-with-file → lite-plan → lite-execute】→ 代码 | Analyze to Plan |
|
|
960
|
-
| **
|
|
964
|
+
| **greenfield** | 需求 →【brainstorm-with-file → plan → execute】→ 代码 → test | Greenfield (0→1) |
|
|
965
|
+
| **brainstorm-file** | 主题 →【brainstorm-with-file → plan → execute】→ 代码 → test | Brainstorm to Plan |
|
|
961
966
|
| **brainstorm-to-issue** | brainstorm.md →【from-brainstorm → queue → execute】→ 完成 issues | Brainstorm to Issue |
|
|
962
967
|
| **debug-file** | Bug报告 → debug-with-file → understanding.md (自包含) | Debug With File |
|
|
963
968
|
| **collaborative-plan** | 需求 →【collaborative-plan-with-file → unified-execute-with-file】→ 代码 | Collaborative Plan |
|
package/.claude/commands/ccw.md
CHANGED
|
@@ -28,7 +28,7 @@ Main process orchestrator: intent analysis → workflow selection → command ch
|
|
|
28
28
|
| `workflow:roadmap-with-file` | strategic requirement roadmap → issue creation → execution-plan.json |
|
|
29
29
|
| `workflow:integration-test-cycle` | explore → test dev → test-fix cycle → reflection |
|
|
30
30
|
| `workflow:refactor-cycle` | tech debt discovery → prioritize → execute → validate |
|
|
31
|
-
| `team-planex` | planner + executor wave pipeline(适合大量零散 issue 或 roadmap 产出的清晰 issue
|
|
31
|
+
| `team-planex` | planner + executor wave pipeline(适合大量零散 issue 或 roadmap 产出的清晰 issue)|
|
|
32
32
|
|
|
33
33
|
## Core Concept: Self-Contained Skills (自包含 Skill)
|
|
34
34
|
|
|
@@ -51,9 +51,11 @@ Main process orchestrator: intent analysis → workflow selection → command ch
|
|
|
51
51
|
| 代码审查 | `review-cycle` | 内部完成 review→fix |
|
|
52
52
|
| 多CLI协作 | `workflow-multi-cli-plan` | ACE context → CLI discussion → plan → execute |
|
|
53
53
|
| 分析→规划 | `workflow:analyze-with-file` → `workflow-lite-plan` | 协作分析产物自动传递给 lite-plan |
|
|
54
|
-
| 头脑风暴→规划 | `workflow:brainstorm-with-file` → `workflow-
|
|
54
|
+
| 头脑风暴→规划 | `workflow:brainstorm-with-file` → `workflow-plan` → `workflow-execute` | 头脑风暴产物自动传递给正式规划 |
|
|
55
|
+
| 0→1 开发(小) | `workflow:brainstorm-with-file` → `workflow-plan` → `workflow-execute` | 小规模从零开始,探索+正式规划+实现 |
|
|
56
|
+
| 0→1 开发(中/大) | `workflow:brainstorm-with-file` → `workflow-plan` → `workflow-execute` | 探索后正式规划+执行 |
|
|
55
57
|
| 协作规划 | `workflow:collaborative-plan-with-file` → `workflow:unified-execute-with-file` | 多 agent 协作规划→通用执行 |
|
|
56
|
-
| 需求路线图 | `workflow:roadmap-with-file` → `team-planex` | 需求拆解→issue 创建→wave pipeline
|
|
58
|
+
| 需求路线图 | `workflow:roadmap-with-file` → `team-planex` | 需求拆解→issue 创建→wave pipeline 执行(需明确 roadmap 关键词)|
|
|
57
59
|
| 集成测试循环 | `workflow:integration-test-cycle` | 自迭代集成测试闭环 |
|
|
58
60
|
| 重构循环 | `workflow:refactor-cycle` | 技术债务发现→重构→验证 |
|
|
59
61
|
|
|
@@ -124,12 +126,14 @@ function detectTaskType(text) {
|
|
|
124
126
|
const patterns = {
|
|
125
127
|
'bugfix-hotfix': /urgent|production|critical/ && /fix|bug/,
|
|
126
128
|
// With-File workflows (documented exploration → auto chain to lite-plan)
|
|
129
|
+
// 0→1 Greenfield detection (priority over brainstorm/roadmap)
|
|
130
|
+
'greenfield': /从零开始|from scratch|0.*to.*1|greenfield|全新.*开发|新项目|new project|build.*from.*ground/,
|
|
127
131
|
'brainstorm': /brainstorm|ideation|头脑风暴|创意|发散思维|creative thinking|multi-perspective.*think|compare perspectives|探索.*可能/,
|
|
128
132
|
'brainstorm-to-issue': /brainstorm.*issue|头脑风暴.*issue|idea.*issue|想法.*issue|从.*头脑风暴|convert.*brainstorm/,
|
|
129
133
|
'debug-file': /debug.*document|hypothesis.*debug|troubleshoot.*track|investigate.*log|调试.*记录|假设.*验证|systematic debug|深度调试/,
|
|
130
134
|
'analyze-file': /analyze.*document|explore.*concept|understand.*architecture|investigate.*discuss|collaborative analysis|分析.*讨论|深度.*理解|协作.*分析/,
|
|
131
135
|
'collaborative-plan': /collaborative.*plan|协作.*规划|多人.*规划|multi.*agent.*plan|Plan Note|分工.*规划/,
|
|
132
|
-
'roadmap': /roadmap
|
|
136
|
+
'roadmap': /roadmap|路线.*图/, // Narrowed: only explicit roadmap keywords (需求规划/需求拆解 moved to greenfield routing)
|
|
133
137
|
'spec-driven': /spec.*gen|specification|PRD|产品需求|产品文档|产品规格/,
|
|
134
138
|
// Cycle workflows (self-iterating with reflection)
|
|
135
139
|
'integration-test': /integration.*test|集成测试|端到端.*测试|e2e.*test|integration.*cycle/,
|
|
@@ -184,13 +188,18 @@ async function clarifyRequirements(analysis) {
|
|
|
184
188
|
function selectWorkflow(analysis) {
|
|
185
189
|
const levelMap = {
|
|
186
190
|
'bugfix-hotfix': { level: 2, flow: 'bugfix.hotfix' },
|
|
191
|
+
// 0→1 Greenfield (complexity-adaptive routing)
|
|
192
|
+
'greenfield': { level: analysis.complexity === 'high' ? 4 : 3,
|
|
193
|
+
flow: analysis.complexity === 'high' ? 'greenfield-phased' // large: brainstorm → workflow-plan → execute
|
|
194
|
+
: analysis.complexity === 'medium' ? 'greenfield-plan' // medium: brainstorm → workflow-plan → execute
|
|
195
|
+
: 'brainstorm-to-plan' }, // small: brainstorm → workflow-plan
|
|
187
196
|
// With-File workflows → auto chain to lite-plan
|
|
188
|
-
'brainstorm': { level: 4, flow: 'brainstorm-to-plan' }, // brainstorm-with-file →
|
|
197
|
+
'brainstorm': { level: 4, flow: 'brainstorm-to-plan' }, // brainstorm-with-file → workflow-plan
|
|
189
198
|
'brainstorm-to-issue': { level: 4, flow: 'brainstorm-to-issue' }, // Brainstorm → Issue workflow
|
|
190
199
|
'debug-file': { level: 3, flow: 'debug-with-file' }, // Hypothesis-driven debugging (standalone)
|
|
191
200
|
'analyze-file': { level: 3, flow: 'analyze-to-plan' }, // analyze-with-file → lite-plan
|
|
192
201
|
'collaborative-plan': { level: 3, flow: 'collaborative-plan' }, // Multi-agent collaborative planning
|
|
193
|
-
'roadmap': { level: 4, flow: 'roadmap' }, // roadmap → team-planex
|
|
202
|
+
'roadmap': { level: 4, flow: 'roadmap' }, // roadmap → team-planex (explicit roadmap only)
|
|
194
203
|
'spec-driven': { level: 4, flow: 'spec-driven' }, // spec-generator → plan → execute
|
|
195
204
|
// Cycle workflows (self-iterating with reflection)
|
|
196
205
|
'integration-test': { level: 3, flow: 'integration-test-cycle' },
|
|
@@ -266,7 +275,11 @@ function buildCommandChain(workflow, analysis) {
|
|
|
266
275
|
|
|
267
276
|
'brainstorm-to-plan': [
|
|
268
277
|
{ cmd: 'workflow:brainstorm-with-file', args: `"${analysis.goal}"` },
|
|
269
|
-
{ cmd: 'workflow-
|
|
278
|
+
{ cmd: 'workflow-plan', args: '' }, // formal planning with brainstorm artifacts
|
|
279
|
+
{ cmd: 'workflow-execute', args: '' },
|
|
280
|
+
...(analysis.constraints?.includes('skip-tests') ? [] : [
|
|
281
|
+
{ cmd: 'workflow-test-fix', args: '' }
|
|
282
|
+
])
|
|
270
283
|
],
|
|
271
284
|
|
|
272
285
|
'debug-with-file': [
|
|
@@ -281,6 +294,26 @@ function buildCommandChain(workflow, analysis) {
|
|
|
281
294
|
{ cmd: 'issue:execute', args: '--queue auto' }
|
|
282
295
|
],
|
|
283
296
|
|
|
297
|
+
// 0→1 Greenfield (complexity-adaptive)
|
|
298
|
+
'greenfield-plan': [
|
|
299
|
+
{ cmd: 'workflow:brainstorm-with-file', args: `"${analysis.goal}"` },
|
|
300
|
+
{ cmd: 'workflow-plan', args: '' }, // formal planning after exploration
|
|
301
|
+
{ cmd: 'workflow-execute', args: '' },
|
|
302
|
+
...(analysis.constraints?.includes('skip-tests') ? [] : [
|
|
303
|
+
{ cmd: 'workflow-test-fix', args: '' }
|
|
304
|
+
])
|
|
305
|
+
],
|
|
306
|
+
|
|
307
|
+
'greenfield-phased': [
|
|
308
|
+
{ cmd: 'workflow:brainstorm-with-file', args: `"${analysis.goal}"` },
|
|
309
|
+
{ cmd: 'workflow-plan', args: '' }, // formal planning after exploration
|
|
310
|
+
{ cmd: 'workflow-execute', args: '' },
|
|
311
|
+
{ cmd: 'review-cycle', args: '' },
|
|
312
|
+
...(analysis.constraints?.includes('skip-tests') ? [] : [
|
|
313
|
+
{ cmd: 'workflow-test-fix', args: '' }
|
|
314
|
+
])
|
|
315
|
+
],
|
|
316
|
+
|
|
284
317
|
// Universal Plan+Execute
|
|
285
318
|
'collaborative-plan': [
|
|
286
319
|
{ cmd: 'workflow:collaborative-plan-with-file', args: `"${analysis.goal}"` },
|
|
@@ -338,7 +371,7 @@ function buildCommandChain(workflow, analysis) {
|
|
|
338
371
|
{ cmd: 'workflow-execute', args: '' }
|
|
339
372
|
],
|
|
340
373
|
|
|
341
|
-
// Level 4 - Full Exploration
|
|
374
|
+
// Level 4 - Full Exploration (brainstorm → formal planning → execute)
|
|
342
375
|
'full': [
|
|
343
376
|
{ cmd: 'brainstorm', args: `"${analysis.goal}"` },
|
|
344
377
|
{ cmd: 'workflow-plan', args: '' },
|
|
@@ -600,10 +633,12 @@ Phase 5: Execute Command Chain
|
|
|
600
633
|
| "Use issue workflow" | issue-transition | 2.5 | workflow-lite-plan(plan-only) → convert-to-plan → queue → execute |
|
|
601
634
|
| "协作分析: 认证架构" | analyze-file | 3 | analyze-with-file → workflow-lite-plan |
|
|
602
635
|
| "深度调试 WebSocket" | debug-file | 3 | workflow:debug-with-file |
|
|
603
|
-
| "
|
|
636
|
+
| "从零开始: 用户系统" | greenfield (medium) | 3 | brainstorm-with-file → workflow-plan → workflow-execute → workflow-test-fix |
|
|
637
|
+
| "greenfield: 大型平台" | greenfield (high) | 4 | brainstorm-with-file → workflow-plan → workflow-execute → review-cycle → workflow-test-fix |
|
|
638
|
+
| "头脑风暴: 通知系统" | brainstorm | 4 | brainstorm-with-file → workflow-plan → workflow-execute → workflow-test-fix |
|
|
604
639
|
| "从头脑风暴创建 issue" | brainstorm-to-issue | 4 | issue:from-brainstorm → issue:queue → issue:execute |
|
|
605
640
|
| "协作规划: 实时通知系统" | collaborative-plan | 3 | collaborative-plan-with-file → unified-execute-with-file |
|
|
606
|
-
| "
|
|
641
|
+
| "roadmap: OAuth + 2FA" | roadmap | 4 | roadmap-with-file → team-planex |
|
|
607
642
|
| "specification: 用户系统" | spec-driven | 4 | spec-generator → workflow-plan → workflow-execute → workflow-test-fix |
|
|
608
643
|
| "集成测试: 支付流程" | integration-test | 3 | workflow:integration-test-cycle |
|
|
609
644
|
| "重构 auth 模块" | refactor | 3 | workflow:refactor-cycle |
|
|
@@ -687,13 +722,13 @@ todos = [
|
|
|
687
722
|
|
|
688
723
|
| Workflow | Purpose | Auto Chain | Output Folder |
|
|
689
724
|
|----------|---------|------------|---------------|
|
|
690
|
-
| **brainstorm-with-file** | Multi-perspective ideation | → workflow-
|
|
725
|
+
| **brainstorm-with-file** | Multi-perspective ideation | → workflow-plan → workflow-execute (auto) | `.workflow/.brainstorm/` |
|
|
691
726
|
| **debug-with-file** | Hypothesis-driven debugging | Standalone (self-contained) | `.workflow/.debug/` |
|
|
692
727
|
| **analyze-with-file** | Collaborative analysis | → workflow-lite-plan (auto) | `.workflow/.analysis/` |
|
|
693
728
|
| **collaborative-plan-with-file** | Multi-agent collaborative planning | → unified-execute-with-file | `.workflow/.planning/` |
|
|
694
729
|
| **roadmap-with-file** | Strategic requirement roadmap | → team-planex | `.workflow/.planning/` |
|
|
695
730
|
|
|
696
|
-
**Auto Chain Mechanism**: When `analyze-with-file`
|
|
731
|
+
**Auto Chain Mechanism**: When `analyze-with-file` completes, its artifacts (discussion.md) are automatically passed to `workflow-lite-plan`. When `brainstorm-with-file` completes, its artifacts (brainstorm.md) are passed to `workflow-plan` for formal planning. No user intervention needed.
|
|
697
732
|
|
|
698
733
|
**Detection Keywords**:
|
|
699
734
|
- **brainstorm**: 头脑风暴, 创意, 发散思维, multi-perspective, compare perspectives
|
|
@@ -752,9 +787,14 @@ todos = [
|
|
|
752
787
|
# Multi-CLI collaborative planning
|
|
753
788
|
/ccw "multi-cli plan: 支付网关API设计" # → workflow-multi-cli-plan → workflow-test-fix
|
|
754
789
|
|
|
755
|
-
#
|
|
790
|
+
# 0→1 Greenfield development (exploration-first)
|
|
791
|
+
/ccw "从零开始: 用户认证系统" # → brainstorm-with-file → workflow-plan → workflow-execute → workflow-test-fix
|
|
792
|
+
/ccw "new project: 数据导出模块" # → brainstorm-with-file → workflow-plan → workflow-execute → workflow-test-fix
|
|
793
|
+
/ccw "全新开发: 实时通知系统" # → brainstorm-with-file → workflow-plan → workflow-execute → review-cycle → workflow-test-fix
|
|
794
|
+
|
|
795
|
+
# With-File workflows → auto chain
|
|
756
796
|
/ccw "协作分析: 理解现有认证架构的设计决策" # → analyze-with-file → workflow-lite-plan
|
|
757
|
-
/ccw "头脑风暴: 用户通知系统重新设计" # → brainstorm-with-file → workflow-
|
|
797
|
+
/ccw "头脑风暴: 用户通知系统重新设计" # → brainstorm-with-file → workflow-plan → workflow-execute → workflow-test-fix
|
|
758
798
|
/ccw "深度调试: 系统随机崩溃问题" # → debug-with-file (standalone)
|
|
759
799
|
/ccw "从头脑风暴 BS-通知系统-2025-01-28 创建 issue" # → brainstorm-to-issue (bridge)
|
|
760
800
|
|
|
@@ -763,8 +803,8 @@ todos = [
|
|
|
763
803
|
|
|
764
804
|
# Collaborative planning & requirement workflows
|
|
765
805
|
/ccw "协作规划: 实时通知系统架构" # → collaborative-plan-with-file → unified-execute
|
|
766
|
-
/ccw "
|
|
767
|
-
/ccw "roadmap: 数据导出功能路线图" # → roadmap-with-file → team-planex
|
|
806
|
+
/ccw "roadmap: 用户认证 OAuth + 2FA 路线图" # → roadmap-with-file → team-planex (explicit roadmap only)
|
|
807
|
+
/ccw "roadmap: 数据导出功能路线图" # → roadmap-with-file → team-planex (explicit roadmap only)
|
|
768
808
|
|
|
769
809
|
# Team workflows (kept: team-planex)
|
|
770
810
|
/ccw "team planex: 用户认证系统" # → team-planex (planner + executor wave pipeline)
|
|
@@ -529,15 +529,17 @@ ${task_description}
|
|
|
529
529
|
|
|
530
530
|
## Multi-Angle Exploration Context
|
|
531
531
|
|
|
532
|
-
${manifest.explorations.
|
|
532
|
+
${manifest.explorations.length > 0
|
|
533
|
+
? manifest.explorations.map(exp => `### Exploration: ${exp.angle} (${exp.file})
|
|
533
534
|
Path: ${exp.path}
|
|
534
535
|
|
|
535
|
-
Read this file for detailed ${exp.angle} analysis.`).join('\n\n')
|
|
536
|
+
Read this file for detailed ${exp.angle} analysis.`).join('\n\n') + `
|
|
536
537
|
|
|
537
538
|
Total explorations: ${manifest.exploration_count}
|
|
538
539
|
Angles covered: ${manifest.explorations.map(e => e.angle).join(', ')}
|
|
539
540
|
|
|
540
|
-
Manifest: ${sessionFolder}/explorations-manifest.json
|
|
541
|
+
Manifest: ${sessionFolder}/explorations-manifest.json`
|
|
542
|
+
: `No exploration files. Task Description above contains "## Prior Analysis" with analysis summary, key files, and findings — use it as primary planning context.`}
|
|
541
543
|
|
|
542
544
|
## User Clarifications
|
|
543
545
|
${JSON.stringify(clarificationContext) || "None"}
|
|
@@ -687,7 +687,8 @@ ${selectedMode === 'progressive' ? `**Progressive Mode**:
|
|
|
687
687
|
if (feedback.feedback === 'approve') {
|
|
688
688
|
approved = true
|
|
689
689
|
} else {
|
|
690
|
-
//
|
|
690
|
+
// CONSTRAINT: All modifications below ONLY touch roadmap.md and issues.jsonl
|
|
691
|
+
// NEVER modify source code or project files during interactive rounds
|
|
691
692
|
switch (feedback.feedback) {
|
|
692
693
|
case 'scope':
|
|
693
694
|
// Collect scope adjustments
|
|
@@ -695,8 +696,9 @@ ${selectedMode === 'progressive' ? `**Progressive Mode**:
|
|
|
695
696
|
{ id: "adjustments", type: "text", prompt: "Describe scope adjustments needed:" }
|
|
696
697
|
]) // BLOCKS
|
|
697
698
|
|
|
698
|
-
// Update roadmap.md
|
|
699
|
-
|
|
699
|
+
// Update ONLY roadmap.md Roadmap table + Convergence sections
|
|
700
|
+
Edit({ path: `${sessionFolder}/roadmap.md`, /* scope changes */ })
|
|
701
|
+
// Update ONLY issues.jsonl entries (scope/context fields)
|
|
700
702
|
|
|
701
703
|
break
|
|
702
704
|
|
|
@@ -706,8 +708,8 @@ ${selectedMode === 'progressive' ? `**Progressive Mode**:
|
|
|
706
708
|
{ id: "refinements", type: "text", prompt: "Describe convergence refinements needed:" }
|
|
707
709
|
]) // BLOCKS
|
|
708
710
|
|
|
709
|
-
// Update roadmap.md
|
|
710
|
-
|
|
711
|
+
// Update ONLY roadmap.md Convergence Criteria section
|
|
712
|
+
Edit({ path: `${sessionFolder}/roadmap.md`, /* convergence changes */ })
|
|
711
713
|
|
|
712
714
|
break
|
|
713
715
|
|
|
@@ -726,8 +728,7 @@ ${selectedMode === 'progressive' ? `**Progressive Mode**:
|
|
|
726
728
|
]) // BLOCKS
|
|
727
729
|
|
|
728
730
|
selectedMode = newStrategy.strategy
|
|
729
|
-
// Re-execute Phase 2
|
|
730
|
-
// ... goto Phase 2 ...
|
|
731
|
+
// Re-execute Phase 2 (updates roadmap.md + issues.jsonl only)
|
|
731
732
|
break
|
|
732
733
|
}
|
|
733
734
|
|
|
@@ -871,6 +872,7 @@ To execute later:
|
|
|
871
872
|
4. **Testable Convergence**: criteria = assertions, DoD = business language
|
|
872
873
|
5. **Explicit Lifecycle**: Always close_agent after wait completes to free resources
|
|
873
874
|
6. **DO NOT STOP**: Continuous workflow until handoff complete
|
|
875
|
+
7. **Plan-Only Modifications**: Interactive feedback (Phase 3) MUST only update `roadmap.md` and `issues.jsonl`. NEVER modify source code, configuration files, or any project files during interactive rounds. Code changes happen only after handoff (Phase 4) via team-planex or other execution skills
|
|
874
876
|
|
|
875
877
|
---
|
|
876
878
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/commands/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/commands/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwHH,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAuvCD;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,OAAO,EAAE,cAAc,GAAG,cAAc,GACvC,OAAO,CAAC,IAAI,CAAC,CA+Hf"}
|
package/ccw/dist/commands/cli.js
CHANGED
|
@@ -28,9 +28,11 @@ function notifyDashboard(data) {
|
|
|
28
28
|
path: '/api/hook',
|
|
29
29
|
method: 'POST',
|
|
30
30
|
timeout: 2000, // 2 second timeout to prevent hanging
|
|
31
|
+
agent: false, // Disable Keep-Alive to allow process exit
|
|
31
32
|
headers: {
|
|
32
33
|
'Content-Type': 'application/json',
|
|
33
|
-
'Content-Length': Buffer.byteLength(payload)
|
|
34
|
+
'Content-Length': Buffer.byteLength(payload),
|
|
35
|
+
'Connection': 'close' // Ensure connection closes after response
|
|
34
36
|
}
|
|
35
37
|
});
|
|
36
38
|
// Fire and forget - don't block process exit
|
|
@@ -68,9 +70,11 @@ function broadcastStreamEvent(eventType, payload) {
|
|
|
68
70
|
path: '/api/hook',
|
|
69
71
|
method: 'POST',
|
|
70
72
|
timeout: 1000, // Short timeout for streaming
|
|
73
|
+
agent: false, // Disable Keep-Alive to allow process exit
|
|
71
74
|
headers: {
|
|
72
75
|
'Content-Type': 'application/json',
|
|
73
|
-
'Content-Length': Buffer.byteLength(data)
|
|
76
|
+
'Content-Length': Buffer.byteLength(data),
|
|
77
|
+
'Connection': 'close' // Ensure connection closes after response
|
|
74
78
|
}
|
|
75
79
|
});
|
|
76
80
|
// Fire and forget - don't block streaming
|