@nova286/nova-workflow 0.2.0 → 2.1.1

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 (50) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/commands/archive.js +3 -3
  3. package/dist/cli/commands/archive.js.map +1 -1
  4. package/dist/cli/commands/guard.js +12 -2
  5. package/dist/cli/commands/guard.js.map +1 -1
  6. package/dist/cli/commands/status.js +8 -8
  7. package/dist/cli/commands/status.js.map +1 -1
  8. package/dist/cli/index.js +0 -0
  9. package/dist/cli-core/__tests__/adapters.test.d.ts +1 -0
  10. package/dist/cli-core/__tests__/adapters.test.js +123 -0
  11. package/dist/cli-core/__tests__/adapters.test.js.map +1 -0
  12. package/dist/cli-core/__tests__/guard.test.js +51 -13
  13. package/dist/cli-core/__tests__/guard.test.js.map +1 -1
  14. package/dist/cli-core/__tests__/init-manager.test.js +3 -3
  15. package/dist/cli-core/__tests__/init-manager.test.js.map +1 -1
  16. package/dist/cli-core/__tests__/platform-client.test.d.ts +1 -0
  17. package/dist/cli-core/__tests__/platform-client.test.js +157 -0
  18. package/dist/cli-core/__tests__/platform-client.test.js.map +1 -0
  19. package/dist/cli-core/__tests__/quality-check.test.d.ts +1 -0
  20. package/dist/cli-core/__tests__/quality-check.test.js +138 -0
  21. package/dist/cli-core/__tests__/quality-check.test.js.map +1 -0
  22. package/dist/cli-core/__tests__/state-manager.test.js +7 -7
  23. package/dist/cli-core/__tests__/state-manager.test.js.map +1 -1
  24. package/dist/cli-core/adapters/claude-code.js +8 -8
  25. package/dist/cli-core/adapters/codex.d.ts +5 -0
  26. package/dist/cli-core/adapters/codex.js +118 -0
  27. package/dist/cli-core/adapters/codex.js.map +1 -0
  28. package/dist/cli-core/adapters/hermes-agent.d.ts +5 -0
  29. package/dist/cli-core/adapters/hermes-agent.js +113 -0
  30. package/dist/cli-core/adapters/hermes-agent.js.map +1 -0
  31. package/dist/cli-core/adapters/openclaw.d.ts +5 -0
  32. package/dist/cli-core/adapters/openclaw.js +115 -0
  33. package/dist/cli-core/adapters/openclaw.js.map +1 -0
  34. package/dist/cli-core/adapters/opencode.d.ts +5 -0
  35. package/dist/cli-core/adapters/opencode.js +116 -0
  36. package/dist/cli-core/adapters/opencode.js.map +1 -0
  37. package/dist/cli-core/guard.d.ts +9 -1
  38. package/dist/cli-core/guard.js +48 -16
  39. package/dist/cli-core/guard.js.map +1 -1
  40. package/dist/cli-core/init-manager.d.ts +1 -0
  41. package/dist/cli-core/init-manager.js +48 -8
  42. package/dist/cli-core/init-manager.js.map +1 -1
  43. package/dist/cli-core/platform-client.d.ts +12 -0
  44. package/dist/cli-core/platform-client.js +150 -9
  45. package/dist/cli-core/platform-client.js.map +1 -1
  46. package/dist/cli-core/quality-check.d.ts +8 -0
  47. package/dist/cli-core/quality-check.js +67 -0
  48. package/dist/cli-core/quality-check.js.map +1 -0
  49. package/dist/cli-core/types.d.ts +1 -0
  50. package/package.json +17 -4
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.HermesAgentAdapter = void 0;
37
+ const fs = __importStar(require("fs/promises"));
38
+ const path = __importStar(require("path"));
39
+ const HERMES_INSTRUCTIONS = `# Nova Workflow
40
+
41
+ This project uses Nova — an AI-assisted development workflow with 5 phases.
42
+ All state is in \`.nova.yaml\`. Always read it first.
43
+
44
+ ## How to Use
45
+
46
+ ### Check Status
47
+ \`\`\`
48
+ 读取 .nova.yaml,告诉我当前在哪个阶段,下一步该做什么
49
+ \`\`\`
50
+
51
+ ### Phase 1: Propose (提案)
52
+ \`\`\`
53
+ 帮我为"{你的需求描述}"写一个 proposal。
54
+ 1. 先读 .nova.yaml 和已有代码了解项目
55
+ 2. 问 3-4 个澄清问题
56
+ 3. 写入 docs/proposals/proposal.md
57
+ 4. 更新 .nova.yaml: phases.propose.status = done
58
+ \`\`\`
59
+
60
+ ### Phase 2: Design (设计)
61
+ \`\`\`
62
+ 读取 docs/proposals/proposal.md,生成技术设计文档。
63
+ 1. 读 proposal 和 src/ 了解架构
64
+ 2. 写入 docs/designs/design.md,包含架构、组件、YAML 任务列表
65
+ 3. 更新 .nova.yaml: phases.design.status = done, tasks = 解析后的列表
66
+ \`\`\`
67
+
68
+ ### Phase 3: Implement (实现)
69
+ \`\`\`
70
+ 读取 .nova.yaml 中的 tasks,逐个实现:
71
+ 1. 按 priority 排序执行
72
+ 2. 每个任务:写代码 → tsc --noEmit → npm test → 更新 task status = done
73
+ 3. 失败时问用户:abort / skip / retry
74
+ 4. 全部完成后更新 phases.implement.status = done
75
+ \`\`\`
76
+
77
+ ### Phase 4: Verify (验证)
78
+ \`\`\`
79
+ 对已修改的文件做 code review + security review:
80
+ 1. Code review: 正确性、错误处理、类型安全、测试覆盖
81
+ 2. Security review: 注入、密钥暴露、路径遍历
82
+ 3. 写入 docs/designs/verification-report.md
83
+ 4. 更新 phases.verify.status = done
84
+ \`\`\`
85
+
86
+ ### Phase 5: Archive (归档)
87
+ \`\`\`
88
+ 运行 nova archive 合并产物并清理
89
+ \`\`\`
90
+
91
+ ## Key Rules
92
+
93
+ - Always read \`.nova.yaml\` before any action
94
+ - After each task, run \`npx tsc --noEmit\` and \`npm test\`
95
+ - Never leave TODOs or stubs
96
+ - Update \`.nova.yaml\` status after each phase transition
97
+ `;
98
+ class HermesAgentAdapter {
99
+ constructor() {
100
+ this.name = 'hermes-agent';
101
+ }
102
+ async setup(cwd) {
103
+ const filePath = path.join(cwd, 'HERMES.md');
104
+ try {
105
+ await fs.access(filePath);
106
+ return;
107
+ }
108
+ catch { }
109
+ await fs.writeFile(filePath, HERMES_INSTRUCTIONS, 'utf-8');
110
+ }
111
+ }
112
+ exports.HermesAgentAdapter = HermesAgentAdapter;
113
+ //# sourceMappingURL=hermes-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes-agent.js","sourceRoot":"","sources":["../../../src/cli-core/adapters/hermes-agent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAG7B,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D3B,CAAC;AAEF,MAAa,kBAAkB;IAA/B;QACE,SAAI,GAAG,cAAc,CAAC;IAUxB,CAAC;IARC,KAAK,CAAC,KAAK,CAAC,GAAW;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF;AAXD,gDAWC"}
@@ -0,0 +1,5 @@
1
+ import { EnvironmentAdapter } from '../types';
2
+ export declare class OpenClawAdapter implements EnvironmentAdapter {
3
+ name: string;
4
+ setup(cwd: string): Promise<void>;
5
+ }
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.OpenClawAdapter = void 0;
37
+ const fs = __importStar(require("fs/promises"));
38
+ const path = __importStar(require("path"));
39
+ const OPENCLAW_INSTRUCTIONS = `# Nova Workflow
40
+
41
+ This project uses Nova — an AI-assisted development workflow with 5 phases.
42
+ All state is in \`.nova.yaml\`. Always read it first.
43
+
44
+ ## How to Use
45
+
46
+ ### Check Status
47
+ \`\`\`
48
+ 读取 .nova.yaml,告诉我当前在哪个阶段,下一步该做什么
49
+ \`\`\`
50
+
51
+ ### Phase 1: Propose (提案)
52
+ \`\`\`
53
+ 帮我为"{你的需求描述}"写一个 proposal。
54
+ 1. 先读 .nova.yaml 和已有代码了解项目
55
+ 2. 问 3-4 个澄清问题
56
+ 3. 写入 docs/proposals/proposal.md
57
+ 4. 更新 .nova.yaml: phases.propose.status = done
58
+ \`\`\`
59
+
60
+ ### Phase 2: Design (设计)
61
+ \`\`\`
62
+ 读取 docs/proposals/proposal.md,生成技术设计文档。
63
+ 1. 读 proposal 和 src/ 了解架构
64
+ 2. 写入 docs/designs/design.md,包含架构、组件、YAML 任务列表
65
+ 3. 更新 .nova.yaml: phases.design.status = done, tasks = 解析后的列表
66
+ \`\`\`
67
+
68
+ ### Phase 3: Implement (实现)
69
+ \`\`\`
70
+ 读取 .nova.yaml 中的 tasks,逐个实现:
71
+ 1. 按 priority 排序执行
72
+ 2. 每个任务:写代码 → tsc --noEmit → npm test → 更新 task status = done
73
+ 3. 失败时问用户:abort / skip / retry
74
+ 4. 全部完成后更新 phases.implement.status = done
75
+ \`\`\`
76
+
77
+ ### Phase 4: Verify (验证)
78
+ \`\`\`
79
+ 对已修改的文件做 code review + security review:
80
+ 1. Code review: 正确性、错误处理、类型安全、测试覆盖
81
+ 2. Security review: 注入、密钥暴露、路径遍历
82
+ 3. 写入 docs/designs/verification-report.md
83
+ 4. 更新 phases.verify.status = done
84
+ \`\`\`
85
+
86
+ ### Phase 5: Archive (归档)
87
+ \`\`\`
88
+ 运行 nova archive 合并产物并清理
89
+ \`\`\`
90
+
91
+ ## Key Rules
92
+
93
+ - Always read \`.nova.yaml\` before any action
94
+ - After each task, run \`npx tsc --noEmit\` and \`npm test\`
95
+ - Never leave TODOs or stubs
96
+ - Update \`.nova.yaml\` status after each phase transition
97
+ `;
98
+ class OpenClawAdapter {
99
+ constructor() {
100
+ this.name = 'openclaw';
101
+ }
102
+ async setup(cwd) {
103
+ const dir = path.join(cwd, '.openclaw');
104
+ await fs.mkdir(dir, { recursive: true });
105
+ const filePath = path.join(dir, 'instructions.md');
106
+ try {
107
+ await fs.access(filePath);
108
+ return;
109
+ }
110
+ catch { }
111
+ await fs.writeFile(filePath, OPENCLAW_INSTRUCTIONS, 'utf-8');
112
+ }
113
+ }
114
+ exports.OpenClawAdapter = OpenClawAdapter;
115
+ //# sourceMappingURL=openclaw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../../src/cli-core/adapters/openclaw.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAG7B,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D7B,CAAC;AAEF,MAAa,eAAe;IAA5B;QACE,SAAI,GAAG,UAAU,CAAC;IAYpB,CAAC;IAVC,KAAK,CAAC,KAAK,CAAC,GAAW;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;CACF;AAbD,0CAaC"}
@@ -0,0 +1,5 @@
1
+ import { EnvironmentAdapter } from '../types';
2
+ export declare class OpenCodeAdapter implements EnvironmentAdapter {
3
+ name: string;
4
+ setup(cwd: string): Promise<void>;
5
+ }
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.OpenCodeAdapter = void 0;
37
+ const fs = __importStar(require("fs/promises"));
38
+ const path = __importStar(require("path"));
39
+ const OPENCODE_INSTRUCTIONS = `# Nova Workflow
40
+
41
+ This project uses Nova — an AI-assisted development workflow with 5 phases.
42
+ All state is in \`.nova.yaml\`. Always read it first.
43
+
44
+ ## How to Use
45
+
46
+ ### Check Status
47
+ \`\`\`
48
+ 读取 .nova.yaml,告诉我当前在哪个阶段,下一步该做什么
49
+ \`\`\`
50
+
51
+ ### Phase 1: Propose (提案)
52
+ \`\`\`
53
+ 帮我为"{你的需求描述}"写一个 proposal。
54
+ 1. 先读 .nova.yaml 和已有代码了解项目
55
+ 2. 问 3-4 个澄清问题
56
+ 3. 写入 docs/proposals/proposal.md
57
+ 4. 更新 .nova.yaml: phases.propose.status = done
58
+ \`\`\`
59
+
60
+ ### Phase 2: Design (设计)
61
+ \`\`\`
62
+ 读取 docs/proposals/proposal.md,生成技术设计文档。
63
+ 1. 读 proposal 和 src/ 了解架构
64
+ 2. 写入 docs/designs/design.md,包含架构、组件、YAML 任务列表
65
+ 3. 更新 .nova.yaml: phases.design.status = done, tasks = 解析后的列表
66
+ \`\`\`
67
+
68
+ ### Phase 3: Implement (实现)
69
+ \`\`\`
70
+ 读取 .nova.yaml 中的 tasks,逐个实现:
71
+ 1. 按 priority 排序执行
72
+ 2. 每个任务:写代码 → tsc --noEmit → npm test → 更新 task status = done
73
+ 3. 失败时问用户:abort / skip / retry
74
+ 4. 全部完成后更新 phases.implement.status = done
75
+ \`\`\`
76
+
77
+ ### Phase 4: Verify (验证)
78
+ \`\`\`
79
+ 对已修改的文件做 code review + security review:
80
+ 1. Code review: 正确性、错误处理、类型安全、测试覆盖
81
+ 2. Security review: 注入、密钥暴露、路径遍历
82
+ 3. 写入 docs/designs/verification-report.md
83
+ 4. 更新 phases.verify.status = done
84
+ \`\`\`
85
+
86
+ ### Phase 5: Archive (归档)
87
+ \`\`\`
88
+ 运行 nova archive 合并产物并清理
89
+ \`\`\`
90
+
91
+ ## Key Rules
92
+
93
+ - Always read \`.nova.yaml\` before any action
94
+ - After each task, run \`npx tsc --noEmit\` and \`npm test\`
95
+ - Never leave TODOs or stubs
96
+ - Update \`.nova.yaml\` status after each phase transition
97
+ `;
98
+ class OpenCodeAdapter {
99
+ constructor() {
100
+ this.name = 'opencode';
101
+ }
102
+ async setup(cwd) {
103
+ const filePath = path.join(cwd, 'opencode.json');
104
+ try {
105
+ await fs.access(filePath);
106
+ return; // don't overwrite existing config
107
+ }
108
+ catch { }
109
+ const config = {
110
+ instructions: OPENCODE_INSTRUCTIONS,
111
+ };
112
+ await fs.writeFile(filePath, JSON.stringify(config, null, 2), 'utf-8');
113
+ }
114
+ }
115
+ exports.OpenCodeAdapter = OpenCodeAdapter;
116
+ //# sourceMappingURL=opencode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/cli-core/adapters/opencode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAG7B,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D7B,CAAC;AAEF,MAAa,eAAe;IAA5B;QACE,SAAI,GAAG,UAAU,CAAC;IAapB,CAAC;IAXC,KAAK,CAAC,KAAK,CAAC,GAAW;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,CAAC,kCAAkC;QAC5C,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,MAAM,MAAM,GAAG;YACb,YAAY,EAAE,qBAAqB;SACpC,CAAC;QACF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;CACF;AAdD,0CAcC"}
@@ -1 +1,9 @@
1
- export declare function guardPhaseTransition(from: string, to: string): Promise<boolean>;
1
+ export interface GuardFailure {
2
+ label: string;
3
+ errors: string[];
4
+ }
5
+ export interface GuardResult {
6
+ pass: boolean;
7
+ failures: GuardFailure[];
8
+ }
9
+ export declare function guardPhaseTransition(from: string, to: string): Promise<GuardResult>;
@@ -2,46 +2,71 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.guardPhaseTransition = guardPhaseTransition;
4
4
  const state_1 = require("./state");
5
+ const quality_check_1 = require("./quality-check");
6
+ function toFailure(label, result) {
7
+ if (typeof result === 'boolean') {
8
+ return result ? null : { label, errors: [] };
9
+ }
10
+ return result.pass ? null : { label, errors: result.errors };
11
+ }
5
12
  const TRANSITION_RULES = {
6
- 'open:design': [
7
- { label: 'Proposal phase is done', check: (s) => s.phases.open?.status === 'done' },
8
- { label: 'Proposal document exists', check: (s) => !!s.phases.open?.proposal },
13
+ 'propose:design': [
14
+ { label: 'Proposal phase is done', check: (s) => s.phases.propose?.status === 'done' },
15
+ { label: 'Proposal document exists', check: (s) => !!s.phases.propose?.proposal },
9
16
  ],
10
- 'design:build': [
17
+ 'design:implement': [
11
18
  { label: 'Design phase is done', check: (s) => s.phases.design?.status === 'done' },
12
19
  { label: 'Design document exists', check: (s) => !!s.phases.design?.designDoc },
13
20
  {
14
21
  label: 'Task list is non-empty',
15
22
  check: (s) => Array.isArray(s.phases.design?.tasks) && s.phases.design.tasks.length > 0,
16
23
  },
24
+ {
25
+ label: 'All tasks have required fields',
26
+ check: (s) => (0, quality_check_1.validateTaskSchema)(s.phases.design?.tasks || []),
27
+ },
28
+ {
29
+ label: 'All task IDs are unique kebab-case',
30
+ check: (s) => (0, quality_check_1.validateTaskIds)(s.phases.design?.tasks || []),
31
+ },
32
+ {
33
+ label: 'All tasks have valid file entries',
34
+ check: (s) => (0, quality_check_1.validateFiles)(s.phases.design?.tasks || []),
35
+ },
36
+ {
37
+ label: 'All tasks have acceptance criteria',
38
+ check: (s) => (0, quality_check_1.validateAcceptance)(s.phases.design?.tasks || []),
39
+ },
17
40
  ],
18
- 'build:verify': [
19
- { label: 'Build phase is done', check: (s) => s.phases.build?.status === 'done' },
41
+ 'implement:verify': [
42
+ { label: 'Implement phase is done', check: (s) => s.phases.implement?.status === 'done' },
20
43
  {
21
44
  label: 'All tasks completed or ECC review passed',
22
45
  check: (s) => {
23
- if (s.phases.build?.eccReviewPassed)
46
+ if (s.phases.implement?.eccReviewPassed)
24
47
  return true;
25
- const tasks = s.phases.build?.tasks || {};
48
+ const tasks = s.phases.implement?.tasks || {};
26
49
  const entries = Object.values(tasks);
27
- return entries.length > 0 && entries.every((t) => t.status === 'done');
50
+ if (entries.length === 0)
51
+ return false;
52
+ return entries.every((t) => t.status === 'done' || (t.status === 'skipped' && t.blocking !== true));
28
53
  },
29
54
  },
30
55
  ],
31
56
  'verify:archive': [
32
57
  { label: 'Verify phase is done', check: (s) => s.phases.verify?.status === 'done' },
33
58
  ],
34
- // Rollback transitions — always allowed (iteration is expected)
35
- 'build:design': [
36
- { label: 'Build phase has started (rollback)', check: (s) => s.phases.build?.status !== 'pending' },
59
+ // Rollback transitions — always allowed
60
+ 'implement:design': [
61
+ { label: 'Implement phase has started (rollback)', check: (s) => s.phases.implement?.status !== 'pending' },
37
62
  ],
38
- 'verify:build': [
63
+ 'verify:implement': [
39
64
  { label: 'Verify phase has started (rollback)', check: (s) => s.phases.verify?.status !== 'pending' },
40
65
  ],
41
66
  'verify:design': [
42
67
  { label: 'Verify phase has started (rollback to design)', check: (s) => s.phases.verify?.status !== 'pending' },
43
68
  ],
44
- 'design:open': [
69
+ 'design:propose': [
45
70
  { label: 'Design phase has started (rollback)', check: (s) => s.phases.design?.status !== 'pending' },
46
71
  ],
47
72
  };
@@ -50,8 +75,15 @@ async function guardPhaseTransition(from, to) {
50
75
  const key = `${from}:${to}`;
51
76
  const rules = TRANSITION_RULES[key];
52
77
  if (!rules) {
53
- return true;
78
+ return { pass: true, failures: [] };
79
+ }
80
+ const failures = [];
81
+ for (const rule of rules) {
82
+ const result = rule.check(state);
83
+ const failure = toFailure(rule.label, result);
84
+ if (failure)
85
+ failures.push(failure);
54
86
  }
55
- return rules.every((rule) => rule.check(state));
87
+ return { pass: failures.length === 0, failures };
56
88
  }
57
89
  //# sourceMappingURL=guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/cli-core/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/cli-core/guard.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare class InitManager {
11
11
  private isInitialized;
12
12
  private backup;
13
13
  private rollback;
14
+ private commandExists;
14
15
  private detectAIEnvironment;
15
16
  private getAdapter;
16
17
  private createDirs;
@@ -36,10 +36,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.InitManager = void 0;
37
37
  const fs = __importStar(require("fs/promises"));
38
38
  const path = __importStar(require("path"));
39
+ const child_process_1 = require("child_process");
39
40
  const yaml = __importStar(require("yaml"));
40
41
  const ui_1 = require("../cli/ui");
41
42
  const project_detect_1 = require("./project-detect");
42
43
  const claude_code_1 = require("./adapters/claude-code");
44
+ const codex_1 = require("./adapters/codex");
45
+ const openclaw_1 = require("./adapters/openclaw");
46
+ const hermes_agent_1 = require("./adapters/hermes-agent");
47
+ const opencode_1 = require("./adapters/opencode");
48
+ const ADAPTER_FACTORIES = {
49
+ 'claude-code': () => new claude_code_1.ClaudeCodeAdapter(),
50
+ 'codex': () => new codex_1.CodexAdapter(),
51
+ 'openclaw': () => new openclaw_1.OpenClawAdapter(),
52
+ 'hermes-agent': () => new hermes_agent_1.HermesAgentAdapter(),
53
+ 'opencode': () => new opencode_1.OpenCodeAdapter(),
54
+ };
43
55
  class InitManager {
44
56
  constructor(cwd, opts) {
45
57
  this.steps = [];
@@ -115,11 +127,31 @@ class InitManager {
115
127
  await fs.rm(this.backupDir, { recursive: true, force: true });
116
128
  }
117
129
  }
130
+ async commandExists(cmd) {
131
+ return new Promise((resolve) => {
132
+ (0, child_process_1.execFile)('which', [cmd], (err) => resolve(!err));
133
+ });
134
+ }
118
135
  async detectAIEnvironment() {
119
- return ['claude-code'];
136
+ const detectors = [
137
+ { env: 'claude-code', cmd: 'claude' },
138
+ { env: 'codex', cmd: 'codex' },
139
+ { env: 'openclaw', cmd: 'openclaw' },
140
+ { env: 'hermes-agent', cmd: 'hermes-agent' },
141
+ { env: 'opencode', cmd: 'opencode' },
142
+ ];
143
+ const detected = [];
144
+ for (const d of detectors) {
145
+ if (await this.commandExists(d.cmd))
146
+ detected.push(d.env);
147
+ }
148
+ return detected.length > 0 ? detected : ['claude-code'];
120
149
  }
121
150
  getAdapter(env) {
122
- return new claude_code_1.ClaudeCodeAdapter();
151
+ const factory = ADAPTER_FACTORIES[env];
152
+ if (!factory)
153
+ throw new Error(`Unknown environment: ${env}`);
154
+ return factory();
123
155
  }
124
156
  async createDirs() {
125
157
  const dirs = ['docs/designs', 'docs/proposals', 'docs/reports', '.nova/contexts'];
@@ -135,9 +167,9 @@ class InitManager {
135
167
  projectType,
136
168
  environment: envs,
137
169
  phases: {
138
- open: { status: 'pending', proposal: '' },
139
- design: { status: 'pending', designDoc: '', tasks: '' },
140
- build: { status: 'pending', tasks: {} },
170
+ propose: { status: 'pending', proposal: '' },
171
+ design: { status: 'pending', designDoc: '', tasks: [] },
172
+ implement: { status: 'pending', tasks: {} },
141
173
  verify: { status: 'pending', pipelineResult: null },
142
174
  archive: { status: 'pending' }
143
175
  },
@@ -163,10 +195,18 @@ class InitManager {
163
195
  await fs.cp(path.join(__dirname, '../../templates/docs'), path.join(this.cwd, 'docs'), { recursive: true });
164
196
  }
165
197
  async cleanEnvCommands(envs) {
198
+ const cleanupMap = {
199
+ 'claude-code': ['.claude'],
200
+ 'codex': ['CODEX.md'],
201
+ 'openclaw': ['.openclaw'],
202
+ 'hermes-agent': ['HERMES.md'],
203
+ 'opencode': ['opencode.json'],
204
+ };
166
205
  for (const env of envs) {
167
- if (env === 'claude-code')
168
- await fs.rm(path.join(this.cwd, '.claude'), { recursive: true, force: true });
169
- // 其他环境类似
206
+ const targets = cleanupMap[env] ?? [];
207
+ for (const target of targets) {
208
+ await fs.rm(path.join(this.cwd, target), { recursive: true, force: true });
209
+ }
170
210
  }
171
211
  }
172
212
  async removeFile(file) { try {
@@ -1 +1 @@
1
- {"version":3,"file":"init-manager.js","sourceRoot":"","sources":["../../src/cli-core/init-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-manager.js","sourceRoot":"","sources":["../../src/cli-core/init-manager.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,16 @@ export declare abstract class PlatformClient {
16
16
  export declare class ClaudeCodeClient extends PlatformClient {
17
17
  sendPrompt(prompt: string, options?: SendPromptOptions): Promise<PlatformResponse>;
18
18
  }
19
+ export declare class CodexClient extends PlatformClient {
20
+ sendPrompt(prompt: string, options?: SendPromptOptions): Promise<PlatformResponse>;
21
+ }
22
+ export declare class OpenClawClient extends PlatformClient {
23
+ sendPrompt(prompt: string, options?: SendPromptOptions): Promise<PlatformResponse>;
24
+ }
25
+ export declare class HermesAgentClient extends PlatformClient {
26
+ sendPrompt(prompt: string, options?: SendPromptOptions): Promise<PlatformResponse>;
27
+ }
28
+ export declare class OpenCodeClient extends PlatformClient {
29
+ sendPrompt(prompt: string, options?: SendPromptOptions): Promise<PlatformResponse>;
30
+ }
19
31
  export declare function resolvePlatformClient(cwd?: string): Promise<PlatformClient>;