@specpow/framework 0.5.28 → 0.5.30

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +99 -18
  3. package/dist/cli/index.d.ts.map +1 -1
  4. package/dist/cli/index.js +41 -0
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/commands/apply.d.ts.map +1 -1
  7. package/dist/commands/apply.js +6 -0
  8. package/dist/commands/apply.js.map +1 -1
  9. package/dist/commands/archive.d.ts.map +1 -1
  10. package/dist/commands/archive.js +46 -0
  11. package/dist/commands/archive.js.map +1 -1
  12. package/dist/commands/memory.d.ts +20 -0
  13. package/dist/commands/memory.d.ts.map +1 -1
  14. package/dist/commands/memory.js +267 -0
  15. package/dist/commands/memory.js.map +1 -1
  16. package/dist/core/artifact-graph/types.d.ts +4 -4
  17. package/dist/core/config/config-schema.d.ts +3097 -0
  18. package/dist/core/config/config-schema.d.ts.map +1 -1
  19. package/dist/core/config/config-schema.js +77 -0
  20. package/dist/core/config/config-schema.js.map +1 -1
  21. package/dist/core/init/engine.d.ts +4 -0
  22. package/dist/core/init/engine.d.ts.map +1 -1
  23. package/dist/core/init/engine.js +42 -0
  24. package/dist/core/init/engine.js.map +1 -1
  25. package/dist/core/memory/adapters/auto-collector.d.ts +59 -0
  26. package/dist/core/memory/adapters/auto-collector.d.ts.map +1 -0
  27. package/dist/core/memory/adapters/auto-collector.js +126 -0
  28. package/dist/core/memory/adapters/auto-collector.js.map +1 -0
  29. package/dist/core/memory/adapters/claude-code-adapter.d.ts +51 -0
  30. package/dist/core/memory/adapters/claude-code-adapter.d.ts.map +1 -0
  31. package/dist/core/memory/adapters/claude-code-adapter.js +197 -0
  32. package/dist/core/memory/adapters/claude-code-adapter.js.map +1 -0
  33. package/dist/core/memory/adapters/codebuddy-adapter.d.ts +44 -0
  34. package/dist/core/memory/adapters/codebuddy-adapter.d.ts.map +1 -0
  35. package/dist/core/memory/adapters/codebuddy-adapter.js +194 -0
  36. package/dist/core/memory/adapters/codebuddy-adapter.js.map +1 -0
  37. package/dist/core/memory/adapters/index.d.ts +56 -0
  38. package/dist/core/memory/adapters/index.d.ts.map +1 -0
  39. package/dist/core/memory/adapters/index.js +184 -0
  40. package/dist/core/memory/adapters/index.js.map +1 -0
  41. package/dist/core/memory/memory-injector.d.ts +101 -0
  42. package/dist/core/memory/memory-injector.d.ts.map +1 -0
  43. package/dist/core/memory/memory-injector.js +269 -0
  44. package/dist/core/memory/memory-injector.js.map +1 -0
  45. package/dist/core/memory/memory-types.d.ts +79 -0
  46. package/dist/core/memory/memory-types.d.ts.map +1 -1
  47. package/dist/core/memory/templates/phase-summary-renderer.d.ts +34 -0
  48. package/dist/core/memory/templates/phase-summary-renderer.d.ts.map +1 -0
  49. package/dist/core/memory/templates/phase-summary-renderer.js +72 -0
  50. package/dist/core/memory/templates/phase-summary-renderer.js.map +1 -0
  51. package/dist/templates/claude-commands/specpow-apply.md +17 -2
  52. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"memory-types.d.ts","sourceRoot":"","sources":["../../../src/core/memory/memory-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-types.d.ts","sourceRoot":"","sources":["../../../src/core/memory/memory-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * 阶段摘要模板渲染器
3
+ */
4
+ import type { WorkflowStage } from '../memory-types.js';
5
+ /**
6
+ * 阶段摘要数据
7
+ */
8
+ export interface PhaseSummaryData {
9
+ /** 变更名称 */
10
+ changeName: string;
11
+ /** 工作流阶段 */
12
+ phase: WorkflowStage;
13
+ /** 时间戳 */
14
+ timestamp: string;
15
+ /** 会话 ID */
16
+ sessionId: string;
17
+ /** 关键决策列表 */
18
+ decisions: string[];
19
+ /** 发现的问题列表 */
20
+ issues: string[];
21
+ /** 产出物列表 */
22
+ artifacts: string[];
23
+ /** 下一步建议列表 */
24
+ suggestions: string[];
25
+ }
26
+ /**
27
+ * 渲染阶段摘要
28
+ */
29
+ export declare function renderPhaseSummary(data: PhaseSummaryData): string;
30
+ /**
31
+ * 从文件渲染阶段摘要
32
+ */
33
+ export declare function renderPhaseSummaryFromFile(templatePath: string, data: PhaseSummaryData): string;
34
+ //# sourceMappingURL=phase-summary-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-summary-renderer.d.ts","sourceRoot":"","sources":["../../../../src/core/memory/templates/phase-summary-renderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY;IACZ,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY;IACZ,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAajE;AAuCD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CAaR"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * 阶段摘要模板渲染器
3
+ */
4
+ import { readFileSync } from 'fs';
5
+ /**
6
+ * 渲染阶段摘要
7
+ */
8
+ export function renderPhaseSummary(data) {
9
+ const template = getTemplate();
10
+ return template
11
+ .replace('{change}', data.changeName)
12
+ .replace('{phase}', data.phase)
13
+ .replace('{changeName}', data.changeName)
14
+ .replace('{timestamp}', data.timestamp)
15
+ .replace('{sessionId}', data.sessionId)
16
+ .replace('{decisions}', formatList(data.decisions))
17
+ .replace('{issues}', formatList(data.issues))
18
+ .replace('{artifacts}', formatList(data.artifacts))
19
+ .replace('{suggestions}', formatList(data.suggestions));
20
+ }
21
+ /**
22
+ * 获取模板内容
23
+ */
24
+ function getTemplate() {
25
+ // 内联模板,避免文件路径问题
26
+ return `# {change} — {phase} 阶段摘要
27
+
28
+ ## 元信息
29
+ - 变更: {changeName}
30
+ - 阶段: {phase}
31
+ - 时间: {timestamp}
32
+ - 会话: {sessionId}
33
+
34
+ ## 关键决策
35
+ {decisions}
36
+
37
+ ## 发现的问题
38
+ {issues}
39
+
40
+ ## 产出物
41
+ {artifacts}
42
+
43
+ ## 下一步建议
44
+ {suggestions}
45
+ `;
46
+ }
47
+ /**
48
+ * 格式化列表为 Markdown
49
+ */
50
+ function formatList(items) {
51
+ if (items.length === 0) {
52
+ return '(无)';
53
+ }
54
+ return items.map((item, index) => `${index + 1}. ${item}`).join('\n');
55
+ }
56
+ /**
57
+ * 从文件渲染阶段摘要
58
+ */
59
+ export function renderPhaseSummaryFromFile(templatePath, data) {
60
+ const template = readFileSync(templatePath, 'utf-8');
61
+ return template
62
+ .replace('{change}', data.changeName)
63
+ .replace('{phase}', data.phase)
64
+ .replace('{changeName}', data.changeName)
65
+ .replace('{timestamp}', data.timestamp)
66
+ .replace('{sessionId}', data.sessionId)
67
+ .replace('{decisions}', formatList(data.decisions))
68
+ .replace('{issues}', formatList(data.issues))
69
+ .replace('{artifacts}', formatList(data.artifacts))
70
+ .replace('{suggestions}', formatList(data.suggestions));
71
+ }
72
+ //# sourceMappingURL=phase-summary-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-summary-renderer.js","sourceRoot":"","sources":["../../../../src/core/memory/templates/phase-summary-renderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAyBlC;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,OAAO,QAAQ;SACZ,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;SACpC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;SAC9B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC;SACxC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC;SACtC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC;SACtC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAClD,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC5C,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAClD,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAS,WAAW;IAClB,gBAAgB;IAChB,OAAO;;;;;;;;;;;;;;;;;;;CAmBR,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAAe;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,YAAoB,EACpB,IAAsB;IAEtB,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAErD,OAAO,QAAQ;SACZ,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;SACpC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;SAC9B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC;SACxC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC;SACtC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC;SACtC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAClD,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC5C,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAClD,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5D,CAAC"}
@@ -2,6 +2,15 @@
2
2
 
3
3
  执行 `specpow apply` 按任务清单逐任务实现代码变更。
4
4
 
5
+ ## 执行模式
6
+
7
+ SpecPow 支持两种执行模式:
8
+
9
+ - **模式 A (SDD Engine)**: TypeScript 编排,通过 claude CLI 子进程执行(需要安装 claude CLI)
10
+ - **模式 B (Host-Driven)**: 宿主 Agent 编排,使用原生 subagent 工具
11
+
12
+ 默认使用模式 A。如需使用模式 B,添加 `--host-driven` 参数。
13
+
5
14
  ## 执行步骤
6
15
 
7
16
  1. 检查状态:
@@ -18,6 +27,12 @@
18
27
  specpow apply
19
28
  ```
20
29
 
21
- 3. 监控执行输出,展示每个任务的完成状态。
30
+ 3. 如需使用 Host-Driven 模式:
31
+ ```bash
32
+ specpow apply --host-driven
33
+ ```
34
+
35
+ 4. 监控执行输出,展示每个任务的完成状态。
36
+
37
+ 5. 执行完成后,建议运行 `/specpow-verify` 验证变更。
22
38
 
23
- 4. 执行完成后,建议运行 `/specpow-verify` 验证变更。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@specpow/framework",
3
- "version": "0.5.28",
3
+ "version": "0.5.30",
4
4
  "description": "Spec-Powered AI Development Framework - 融合 OpenSpec 规范驱动 + Superpowers 执行引擎的企业级 AI 辅助编程框架",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",