cc-devflow 4.5.2 → 4.5.4
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/skills/cc-act/CHANGELOG.md +19 -0
- package/.claude/skills/cc-act/PLAYBOOK.md +14 -1
- package/.claude/skills/cc-act/SKILL.md +46 -6
- package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +44 -1
- package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +18 -1
- package/.claude/skills/cc-act/references/closure-contract.md +3 -0
- package/.claude/skills/cc-act/scripts/cc-act-common.sh +27 -1
- package/.claude/skills/cc-act/scripts/render-pr-brief.sh +31 -0
- package/.claude/skills/cc-act/scripts/verify-act-gate.sh +6 -0
- package/.claude/skills/cc-check/CHANGELOG.md +18 -0
- package/.claude/skills/cc-check/PLAYBOOK.md +38 -7
- package/.claude/skills/cc-check/SKILL.md +39 -7
- package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +61 -0
- package/.claude/skills/cc-check/references/gate-contract.md +11 -0
- package/.claude/skills/cc-check/references/review-contract.md +17 -1
- package/.claude/skills/cc-check/scripts/render-report-card.js +37 -0
- package/.claude/skills/cc-check/scripts/verify-gate.sh +7 -0
- package/.claude/skills/cc-do/CHANGELOG.md +18 -0
- package/.claude/skills/cc-do/PLAYBOOK.md +20 -13
- package/.claude/skills/cc-do/SKILL.md +37 -17
- package/.claude/skills/cc-do/references/execution-recovery.md +19 -5
- package/.claude/skills/cc-do/references/parallel-dispatch.md +6 -4
- package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +49 -3
- package/.claude/skills/cc-do/scripts/verify-task-gates.sh +19 -6
- package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +14 -2
- package/.claude/skills/cc-investigate/CHANGELOG.md +24 -0
- package/.claude/skills/cc-investigate/PLAYBOOK.md +35 -13
- package/.claude/skills/cc-investigate/SKILL.md +87 -20
- package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +68 -3
- package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +9 -4
- package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +41 -2
- package/.claude/skills/cc-investigate/references/investigation-contract.md +46 -0
- package/.claude/skills/cc-plan/CHANGELOG.md +32 -0
- package/.claude/skills/cc-plan/PLAYBOOK.md +26 -8
- package/.claude/skills/cc-plan/SKILL.md +79 -34
- package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +71 -3
- package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +32 -0
- package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +76 -2
- package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +58 -0
- package/.claude/skills/cc-plan/references/planning-contract.md +26 -4
- package/.claude/skills/cc-roadmap/CHANGELOG.md +14 -0
- package/.claude/skills/cc-roadmap/PLAYBOOK.md +10 -7
- package/.claude/skills/cc-roadmap/SKILL.md +43 -23
- package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +10 -0
- package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +15 -0
- package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +1 -1
- package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +11 -7
- package/.claude/skills/cc-simplify/CHANGELOG.md +6 -0
- package/.claude/skills/cc-simplify/SKILL.md +10 -1
- package/.claude/skills/cc-spec-init/CHANGELOG.md +6 -0
- package/.claude/skills/cc-spec-init/SKILL.md +14 -1
- package/CHANGELOG.md +29 -0
- package/README.md +10 -2
- package/README.zh-CN.md +10 -2
- package/bin/cc-devflow-cli.js +93 -2
- package/docs/examples/example-bindings.json +7 -7
- package/docs/examples/full-design-blocked/BACKLOG.md +1 -1
- package/docs/examples/full-design-blocked/README.md +1 -1
- package/docs/examples/full-design-blocked/ROADMAP.md +1 -1
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +1 -1
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +1 -1
- package/docs/examples/full-design-blocked/roadmap-tracking.json +1 -1
- package/docs/examples/local-handoff/BACKLOG.md +1 -1
- package/docs/examples/local-handoff/README.md +1 -1
- package/docs/examples/local-handoff/ROADMAP.md +1 -1
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +1 -1
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +1 -1
- package/docs/examples/local-handoff/roadmap-tracking.json +1 -1
- package/docs/examples/pdca-loop/BACKLOG.md +1 -1
- package/docs/examples/pdca-loop/README.md +1 -1
- package/docs/examples/pdca-loop/ROADMAP.md +1 -1
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +1 -1
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +2 -2
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +1 -1
- package/docs/examples/pdca-loop/roadmap-tracking.json +1 -1
- package/docs/get-shit-done-strategy-audit.md +518 -0
- package/docs/skill-strategy-audit.md +48 -0
- package/lib/compiler/__tests__/inventory.test.js +51 -0
- package/lib/compiler/inventory.js +78 -0
- package/lib/skill-runtime/__tests__/approve.test.js +92 -0
- package/lib/skill-runtime/__tests__/autopilot.test.js +4 -0
- package/lib/skill-runtime/__tests__/planner.tdd.test.js +20 -0
- package/lib/skill-runtime/__tests__/query.test.js +147 -1
- package/lib/skill-runtime/__tests__/readiness.test.js +53 -0
- package/lib/skill-runtime/__tests__/release.test.js +85 -0
- package/lib/skill-runtime/__tests__/runtime.integration.test.js +30 -1
- package/lib/skill-runtime/__tests__/schemas.test.js +56 -0
- package/lib/skill-runtime/__tests__/worker-run.test.js +29 -0
- package/lib/skill-runtime/errors.js +39 -0
- package/lib/skill-runtime/index.js +8 -0
- package/lib/skill-runtime/operations/approve.js +17 -2
- package/lib/skill-runtime/operations/release.js +6 -3
- package/lib/skill-runtime/operations/worker-run.js +30 -0
- package/lib/skill-runtime/planner.js +10 -2
- package/lib/skill-runtime/query-registry.js +101 -0
- package/lib/skill-runtime/query.js +159 -91
- package/lib/skill-runtime/readiness.js +84 -0
- package/lib/skill-runtime/schemas.js +39 -4
- package/lib/skill-runtime/trace.js +22 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cc-spec-init
|
|
3
|
-
version: 1.0
|
|
3
|
+
version: 1.1.0
|
|
4
4
|
description: Use when you need to initialize capability specs under `devflow/specs/`, create or evolve capability truth sources, generate `change-meta.json`, or validate roadmap/change/spec links before roadmap, planning, or closeout work continues.
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -67,6 +67,7 @@ description: Use when you need to initialize capability specs under `devflow/spe
|
|
|
67
67
|
2. 先判断你是在做 `bootstrap`、`create`、`update-links`、`split`、`merge` 还是 `deprecate`。
|
|
68
68
|
3. 先锁定 capability 边界,再写模板;不要先写 prose 再猜结构。
|
|
69
69
|
4. 先明确 primary capability,再允许 secondary capabilities 存在。
|
|
70
|
+
5. 先检查命名是否已经有 canonical term;同义词、歧义词和关系约束没收口前,不要新建第二套 capability 名称。
|
|
70
71
|
|
|
71
72
|
## Session Protocol
|
|
72
73
|
|
|
@@ -80,6 +81,7 @@ description: Use when you need to initialize capability specs under `devflow/spe
|
|
|
80
81
|
- 为当前已知 capability 写最小 spec
|
|
81
82
|
3. 如果是新 capability:
|
|
82
83
|
- 先写 capability 边界、约束、当前 truth、gaps
|
|
84
|
+
- 再写最小 language block:canonical term、definition、aliases to avoid、relationships、flagged ambiguities
|
|
83
85
|
- 再登记到 `INDEX.md`
|
|
84
86
|
4. 如果是 change 绑定:
|
|
85
87
|
- 生成或更新 `change-meta.json`
|
|
@@ -91,6 +93,17 @@ description: Use when you need to initialize capability specs under `devflow/spe
|
|
|
91
93
|
- `INDEX.md` 引到的 capability 文件都存在
|
|
92
94
|
- `change-meta.json` 里的 capability 都能落到 spec
|
|
93
95
|
- roadmap / backlog 里的 capability 引用仍可追踪
|
|
96
|
+
- 新 capability 的名称、aliases、relationships 没有和已有 spec 冲突
|
|
97
|
+
|
|
98
|
+
## Language Boundary Gate
|
|
99
|
+
|
|
100
|
+
capability spec 是长期 truth source,命名必须比一次需求更稳定:
|
|
101
|
+
|
|
102
|
+
- canonical term:只选一个主名,优先沿用 roadmap、历史 design/analysis、代码公共接口和用户领域语言里已经稳定的词。
|
|
103
|
+
- aliases to avoid:记录容易混用的别名,说明为什么不能继续用。
|
|
104
|
+
- flagged ambiguity:同一个词指向两个概念时,必须写清拆分边界,必要时拆 capability。
|
|
105
|
+
- relationships:用一句话写清 capability 之间的拥有、依赖、生命周期、输入输出或互斥关系。
|
|
106
|
+
- implementation names:类名、文件名、函数名只有在它们已经是公共领域语言时才进入 spec;否则留在 change 设计里。
|
|
94
107
|
|
|
95
108
|
## Output
|
|
96
109
|
|
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
## [4.5.4] - 2026-04-29
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- Fixed typed runtime queries so malformed required artifacts, including invalid
|
|
17
|
+
`task-manifest.json`, return `InvalidQueryArtifactError` with `ok:false`
|
|
18
|
+
instead of reporting a successful query with an embedded error payload.
|
|
19
|
+
|
|
20
|
+
## [4.5.3] - 2026-04-29
|
|
21
|
+
|
|
22
|
+
### Skill Strategy Integration
|
|
23
|
+
|
|
24
|
+
v4.5.3 absorbs the useful strategies from an external skill library into native
|
|
25
|
+
cc-devflow contracts, keeping the public workflow cohesive instead of adding
|
|
26
|
+
parallel skill surfaces.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- Added an external skill strategy audit and migrated the useful patterns into native cc-devflow contracts instead of copying external skill prose.
|
|
31
|
+
- Updated `cc-plan` to capture glossary deltas, compare non-trivial interface shapes, mark `AFK` / `HITL` vertical slices, and keep durable handoffs behavior-focused.
|
|
32
|
+
- Updated `cc-investigate` to sharpen feedback loops as investigation products and record prevention handoffs after root-cause freeze.
|
|
33
|
+
- Updated `cc-do` and `cc-check` to enforce tracer-bullet execution and review test fixture honesty around partial data, casts, stubs, and mocks.
|
|
34
|
+
- Updated `cc-simplify` to apply deep-module, deletion-test, and real-seam checks before accepting architecture cleanup findings.
|
|
35
|
+
- Updated `cc-act`, `cc-spec-init`, and `docs-sync` to harden issue handoffs, dangerous git action safety, capability language boundaries, and skill contract quality gates.
|
|
36
|
+
- Updated `cc-check` to require QA feedback-loop and behavior evidence for bugfix and user-visible behavior verification, including reproduction mode, determinism, expected/actual behavior, and test seam follow-ups.
|
|
37
|
+
- Updated `cc-act` to carry QA behavior evidence into PR briefs, handoffs, and release notes, and to write follow-ups as durable behavior briefs before roadmap/backlog writeback.
|
|
38
|
+
- Updated `cc-roadmap`, `cc-plan`, and `cc-investigate` to keep canonical language and durable decisions in cc-devflow-native sources: `devflow/specs/`, roadmap/backlog, design/analysis, and change metadata.
|
|
39
|
+
- Refreshed public examples and skill binding metadata for `cc-roadmap@4.4.1`, `cc-plan@3.7.0`, `cc-investigate@1.2.0`, `cc-do@1.6.0`, `cc-check@1.10.0`, `cc-act@1.8.0`, and `cc-spec-init@1.1.0`.
|
|
40
|
+
|
|
12
41
|
## [4.5.2] - 2026-04-28
|
|
13
42
|
|
|
14
43
|
### Skill Review Hardening
|
package/README.md
CHANGED
|
@@ -76,9 +76,17 @@ Maintenance skills are shipped with the pack:
|
|
|
76
76
|
|
|
77
77
|
## Planning Quality Gates
|
|
78
78
|
|
|
79
|
-
`cc-roadmap` now records planning posture
|
|
79
|
+
`cc-roadmap` now records planning posture, evidence maturity, canonical project language, and durable decision context before recommending a route. That keeps idea-stage, active-user, paying-customer, infrastructure, and recovery work from being forced through the same questions, and prevents roadmap items from inventing a second vocabulary. Developer-facing or operator-facing roadmap items also carry target user, time to first value, magic moment, adoption bottleneck, and domain handoff into `cc-plan`.
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
Canonical language and durable decisions stay inside cc-devflow-native sources: `devflow/specs/`, `devflow/ROADMAP.md`, `devflow/BACKLOG.md`, `planning/design.md`, `planning/analysis.md`, and `change-meta.json`.
|
|
82
|
+
|
|
83
|
+
`cc-plan` freezes more implementation decisions before `cc-do` starts. Non-trivial plans compare minimal viable and ideal architecture options, full designs include decision horizon plus error/rescue mapping, and test-first plans record test framework evidence, public test seams, behavior assertions, mock boundaries, coverage quality, mandatory regression tests, interface depth, and vertical tracer-bullet slices when existing behavior changes.
|
|
84
|
+
|
|
85
|
+
## Verification And Ship Gates
|
|
86
|
+
|
|
87
|
+
`cc-check` now treats QA as a feedback-loop problem, not only a green-test problem. Bugfix and behavior work records the loop used to prove reality, expected versus actual behavior, reproduction steps, test boundary quality, and architecture follow-ups when no clean public test seam exists.
|
|
88
|
+
|
|
89
|
+
`cc-act` carries that evidence into PR briefs, handoffs, and release notes. Follow-ups must be durable behavior briefs with current behavior, desired behavior, key interfaces, acceptance criteria, and explicit out-of-scope notes before they are written back to roadmap or backlog.
|
|
82
90
|
|
|
83
91
|
## Installation Modes
|
|
84
92
|
|
package/README.zh-CN.md
CHANGED
|
@@ -76,9 +76,17 @@ npx cc-devflow@latest adapt --cwd /path/to/your/project --all
|
|
|
76
76
|
|
|
77
77
|
## 计划质量门禁
|
|
78
78
|
|
|
79
|
-
`cc-roadmap` 现在会先记录 planning posture
|
|
79
|
+
`cc-roadmap` 现在会先记录 planning posture、evidence maturity、项目 canonical language 和持久决策上下文,再推荐路线。idea、已有用户、付费客户、infra、recovery 场景不会被套进同一组问题,也不会让 roadmap item 发明第二套词汇。面向开发者或操作者的 roadmap item 还会把目标用户、time to first value、magic moment、adoption bottleneck 和 domain handoff 交给 `cc-plan`。
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
Canonical language 和 durable decisions 只收敛到 cc-devflow 原生真相源:`devflow/specs/`、`devflow/ROADMAP.md`、`devflow/BACKLOG.md`、`planning/design.md`、`planning/analysis.md` 和 `change-meta.json`。
|
|
82
|
+
|
|
83
|
+
`cc-plan` 会在 `cc-do` 开始前冻结更多实现决策。非 trivial 计划需要比较 minimal viable 和 ideal architecture,full-design 需要包含 implementation decision horizon 和 error/rescue map;测试计划要记录测试框架证据、public test seam、behavior assertion、mock boundary、覆盖质量、强制 regression test、interface depth 和 vertical tracer-bullet slices。
|
|
84
|
+
|
|
85
|
+
## 验证与交付门禁
|
|
86
|
+
|
|
87
|
+
`cc-check` 现在把 QA 当成反馈环问题,而不是只看测试是否绿。Bugfix 和行为变更需要记录证明现实的 loop、expected / actual、复现步骤、测试边界质量;如果没有干净的 public test seam,要留下架构 follow-up。
|
|
88
|
+
|
|
89
|
+
`cc-act` 会把这些证据带进 PR brief、handoff 和 release note。Follow-up 必须写成 durable behavior brief,包含 current behavior、desired behavior、key interfaces、acceptance criteria 和 out-of-scope,再回写 roadmap 或 backlog。
|
|
82
90
|
|
|
83
91
|
## 安装方式
|
|
84
92
|
|
package/bin/cc-devflow-cli.js
CHANGED
|
@@ -14,6 +14,10 @@ const {
|
|
|
14
14
|
setConfigValue,
|
|
15
15
|
writeConfigTemplate
|
|
16
16
|
} = require(path.join(PACKAGE_ROOT, 'lib/skill-runtime/config.js'));
|
|
17
|
+
const {
|
|
18
|
+
listQueryIds,
|
|
19
|
+
runQuery
|
|
20
|
+
} = require(path.join(PACKAGE_ROOT, 'lib/skill-runtime/query.js'));
|
|
17
21
|
const ADAPT_BIN = path.join(PACKAGE_ROOT, 'bin', 'adapt.js');
|
|
18
22
|
const ADAPTER_BIN = path.join(PACKAGE_ROOT, 'bin', 'cc-devflow.js');
|
|
19
23
|
const TEMPLATE_IGNORES = new Set(['.DS_Store', 'tsc-cache']);
|
|
@@ -54,6 +58,8 @@ Commands:
|
|
|
54
58
|
config set Set one project/user/local config value
|
|
55
59
|
config resolve Print resolved YAML config with key-level trace
|
|
56
60
|
config doctor Validate config and local ignore safety
|
|
61
|
+
query list List typed runtime query ids
|
|
62
|
+
query <id> Run a typed runtime query as JSON
|
|
57
63
|
|
|
58
64
|
Init options:
|
|
59
65
|
--dir <path> Target project path (default: cwd)
|
|
@@ -79,6 +85,11 @@ Config options:
|
|
|
79
85
|
--trace Include key-level source trace with policy output
|
|
80
86
|
--force Overwrite an existing config template
|
|
81
87
|
|
|
88
|
+
Query options:
|
|
89
|
+
--cwd <path> Project path used for devflow artifact lookup
|
|
90
|
+
--change <id> Change id, for example REQ-123
|
|
91
|
+
--change-id <id> Alias for --change
|
|
92
|
+
|
|
82
93
|
Examples:
|
|
83
94
|
cc-devflow init
|
|
84
95
|
cc-devflow init --dir /path/to/project
|
|
@@ -88,6 +99,8 @@ Examples:
|
|
|
88
99
|
cc-devflow config set output.document_language zh-CN --cwd /path/to/project --project
|
|
89
100
|
cc-devflow config set output.document_language zh-CN --user
|
|
90
101
|
cc-devflow config resolve --cwd /path/to/project --format policy
|
|
102
|
+
cc-devflow query list
|
|
103
|
+
cc-devflow query ship-readiness --cwd /path/to/project --change REQ-123
|
|
91
104
|
`);
|
|
92
105
|
}
|
|
93
106
|
|
|
@@ -432,6 +445,75 @@ function runConfig(args) {
|
|
|
432
445
|
return 0;
|
|
433
446
|
}
|
|
434
447
|
|
|
448
|
+
function parseQueryArgs(args) {
|
|
449
|
+
const parsed = {
|
|
450
|
+
cwd: null,
|
|
451
|
+
changeId: null,
|
|
452
|
+
rest: []
|
|
453
|
+
};
|
|
454
|
+
|
|
455
|
+
for (let i = 0; i < args.length; i++) {
|
|
456
|
+
const arg = args[i];
|
|
457
|
+
|
|
458
|
+
if (arg === '--cwd') {
|
|
459
|
+
parsed.cwd = args[++i];
|
|
460
|
+
continue;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
if (arg.startsWith('--cwd=')) {
|
|
464
|
+
parsed.cwd = arg.slice('--cwd='.length);
|
|
465
|
+
continue;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
if (arg === '--change' || arg === '--change-id') {
|
|
469
|
+
parsed.changeId = args[++i];
|
|
470
|
+
continue;
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
if (arg.startsWith('--change=')) {
|
|
474
|
+
parsed.changeId = arg.slice('--change='.length);
|
|
475
|
+
continue;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
if (arg.startsWith('--change-id=')) {
|
|
479
|
+
parsed.changeId = arg.slice('--change-id='.length);
|
|
480
|
+
continue;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
parsed.rest.push(arg);
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
return parsed;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
async function runQueryCommand(args) {
|
|
490
|
+
const [subcommand, ...rest] = args;
|
|
491
|
+
|
|
492
|
+
if (!subcommand || subcommand === '--help' || subcommand === '-h') {
|
|
493
|
+
console.error('Use: cc-devflow query list OR cc-devflow query <id> --change <changeId> [--cwd <path>]');
|
|
494
|
+
return 3;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
if (subcommand === 'list') {
|
|
498
|
+
process.stdout.write(`${listQueryIds().join('\n')}\n`);
|
|
499
|
+
return 0;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
const options = parseQueryArgs(rest);
|
|
503
|
+
if (!options.changeId) {
|
|
504
|
+
console.error('Query --change is required.');
|
|
505
|
+
return 3;
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
const result = await runQuery(subcommand, {
|
|
509
|
+
repoRoot: path.resolve(options.cwd || process.cwd()),
|
|
510
|
+
changeId: options.changeId
|
|
511
|
+
});
|
|
512
|
+
|
|
513
|
+
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
514
|
+
return result.ok ? 0 : 2;
|
|
515
|
+
}
|
|
516
|
+
|
|
435
517
|
function runAdapt(args) {
|
|
436
518
|
const { options, rest } = parseCliArgs(args);
|
|
437
519
|
|
|
@@ -475,7 +557,7 @@ function runAdapter(command, args) {
|
|
|
475
557
|
return typeof result.status === 'number' ? result.status : 1;
|
|
476
558
|
}
|
|
477
559
|
|
|
478
|
-
function main() {
|
|
560
|
+
async function main() {
|
|
479
561
|
const argv = process.argv.slice(2);
|
|
480
562
|
const [command, ...rest] = argv;
|
|
481
563
|
|
|
@@ -496,9 +578,18 @@ function main() {
|
|
|
496
578
|
return runConfig(rest);
|
|
497
579
|
}
|
|
498
580
|
|
|
581
|
+
if (command === 'query') {
|
|
582
|
+
return runQueryCommand(rest);
|
|
583
|
+
}
|
|
584
|
+
|
|
499
585
|
return runAdapter(command, rest);
|
|
500
586
|
}
|
|
501
587
|
|
|
502
588
|
if (require.main === module) {
|
|
503
|
-
|
|
589
|
+
main()
|
|
590
|
+
.then((code) => process.exit(code))
|
|
591
|
+
.catch((error) => {
|
|
592
|
+
console.error(error.message);
|
|
593
|
+
process.exit(1);
|
|
594
|
+
});
|
|
504
595
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"updatedAt": "2026-04-28",
|
|
3
3
|
"skills": {
|
|
4
|
-
"cc-roadmap": "4.
|
|
5
|
-
"cc-plan": "3.
|
|
6
|
-
"cc-investigate": "1.1
|
|
7
|
-
"cc-do": "1.
|
|
8
|
-
"cc-check": "1.
|
|
9
|
-
"cc-act": "1.
|
|
10
|
-
"cc-spec-init": "1.0
|
|
4
|
+
"cc-roadmap": "4.4.1",
|
|
5
|
+
"cc-plan": "3.7.1",
|
|
6
|
+
"cc-investigate": "1.2.1",
|
|
7
|
+
"cc-do": "1.6.1",
|
|
8
|
+
"cc-check": "1.10.1",
|
|
9
|
+
"cc-act": "1.8.1",
|
|
10
|
+
"cc-spec-init": "1.1.0"
|
|
11
11
|
},
|
|
12
12
|
"examples": [
|
|
13
13
|
{
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- Example version: `1.0.0`
|
|
6
6
|
- Last reviewed: `2026-04-17`
|
|
7
|
-
- Bound skills: `cc-roadmap@4.
|
|
7
|
+
- Bound skills: `cc-roadmap@4.4.1`, `cc-plan@3.7.1`, `cc-do@1.6.1`, `cc-check@1.10.1`
|
|
8
8
|
|
|
9
9
|
This example shows a requirement that **looked executable**, but `cc-check` correctly stopped it and sent it back to `cc-plan`.
|
|
10
10
|
|
package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- Requirement version: `REQ-002.v2`
|
|
6
6
|
- Design version: `design.v2`
|
|
7
|
-
- CC-Plan skill version: `3.
|
|
7
|
+
- CC-Plan skill version: `3.7.1`
|
|
8
8
|
- Requirement ID: `REQ-002`
|
|
9
9
|
- Design mode: `full-design`
|
|
10
10
|
- Why not `tiny-design`: the feature crosses import parsing, invite rules, billing limits, duplicate handling, and audit logging
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- Example version: `1.0.0`
|
|
6
6
|
- Last reviewed: `2026-04-17`
|
|
7
|
-
- Bound skills: `cc-roadmap@4.
|
|
7
|
+
- Bound skills: `cc-roadmap@4.4.1`, `cc-plan@3.7.1`, `cc-do@1.6.1`, `cc-check@1.10.1`, `cc-act@1.8.1`
|
|
8
8
|
|
|
9
9
|
This example shows verified work that is **ready to move forward**, but `cc-act` still chooses `local-handoff`.
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- Requirement version: `REQ-003.v1`
|
|
6
6
|
- Design version: `design.v1`
|
|
7
|
-
- CC-Plan skill version: `3.
|
|
7
|
+
- CC-Plan skill version: `3.7.1`
|
|
8
8
|
- Requirement ID: `REQ-003`
|
|
9
9
|
- Design mode: `tiny-design`
|
|
10
10
|
- Why this stays `tiny-design`: the patch adds one export action inside the existing admin audit UI without changing data contracts
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- Example version: `1.0.0`
|
|
6
6
|
- Last reviewed: `2026-04-17`
|
|
7
|
-
- Bound skills: `cc-roadmap@4.
|
|
7
|
+
- Bound skills: `cc-roadmap@4.4.1`, `cc-plan@3.7.1`, `cc-do@1.6.1`, `cc-check@1.10.1`, `cc-act@1.8.1`
|
|
8
8
|
|
|
9
9
|
This folder shows one minimal but complete `cc-roadmap -> cc-plan -> cc-do -> cc-check -> cc-act` loop.
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- Requirement version: `REQ-001.v1`
|
|
6
6
|
- Design version: `design.v1`
|
|
7
|
-
- CC-Plan skill version: `3.
|
|
7
|
+
- CC-Plan skill version: `3.7.1`
|
|
8
8
|
- Requirement ID: `REQ-001`
|
|
9
9
|
- Design mode: `tiny-design`
|
|
10
10
|
- Why this stays `tiny-design`: the patch is limited to an existing dialog and test file, with no API or data model changes
|
package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"sourceRoadmap": {
|
|
10
10
|
"itemId": "RM-001",
|
|
11
11
|
"roadmapVersion": "roadmap.v1",
|
|
12
|
-
"roadmapSkillVersion": "4.
|
|
12
|
+
"roadmapSkillVersion": "4.4.1",
|
|
13
13
|
"sourceStage": "Stage 1",
|
|
14
14
|
"successSignal": "Users can copy the invite link with one click",
|
|
15
15
|
"killSignal": "The patch requires backend or permission changes",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
]
|
|
23
23
|
},
|
|
24
24
|
"planningMeta": {
|
|
25
|
-
"reqPlanSkillVersion": "3.
|
|
25
|
+
"reqPlanSkillVersion": "3.7.1",
|
|
26
26
|
"designVersion": "design.v1",
|
|
27
27
|
"approvedAt": "2026-04-15T10:05:00.000Z",
|
|
28
28
|
"approvedBy": "user",
|