@nova286/nova-workflow 2.1.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 (39) hide show
  1. package/dist/cli/commands/archive.js +1 -1
  2. package/dist/cli/commands/archive.js.map +1 -1
  3. package/dist/cli/commands/status.js +8 -8
  4. package/dist/cli/commands/status.js.map +1 -1
  5. package/dist/cli/index.js +0 -0
  6. package/dist/cli-core/__tests__/adapters.test.d.ts +1 -0
  7. package/dist/cli-core/__tests__/adapters.test.js +123 -0
  8. package/dist/cli-core/__tests__/adapters.test.js.map +1 -0
  9. package/dist/cli-core/__tests__/guard.test.js +13 -13
  10. package/dist/cli-core/__tests__/guard.test.js.map +1 -1
  11. package/dist/cli-core/__tests__/init-manager.test.js +3 -3
  12. package/dist/cli-core/__tests__/init-manager.test.js.map +1 -1
  13. package/dist/cli-core/__tests__/platform-client.test.d.ts +1 -0
  14. package/dist/cli-core/__tests__/platform-client.test.js +157 -0
  15. package/dist/cli-core/__tests__/platform-client.test.js.map +1 -0
  16. package/dist/cli-core/__tests__/state-manager.test.js +7 -7
  17. package/dist/cli-core/__tests__/state-manager.test.js.map +1 -1
  18. package/dist/cli-core/adapters/claude-code.js +8 -8
  19. package/dist/cli-core/adapters/codex.d.ts +5 -0
  20. package/dist/cli-core/adapters/codex.js +118 -0
  21. package/dist/cli-core/adapters/codex.js.map +1 -0
  22. package/dist/cli-core/adapters/hermes-agent.d.ts +5 -0
  23. package/dist/cli-core/adapters/hermes-agent.js +113 -0
  24. package/dist/cli-core/adapters/hermes-agent.js.map +1 -0
  25. package/dist/cli-core/adapters/openclaw.d.ts +5 -0
  26. package/dist/cli-core/adapters/openclaw.js +115 -0
  27. package/dist/cli-core/adapters/openclaw.js.map +1 -0
  28. package/dist/cli-core/adapters/opencode.d.ts +5 -0
  29. package/dist/cli-core/adapters/opencode.js +116 -0
  30. package/dist/cli-core/adapters/opencode.js.map +1 -0
  31. package/dist/cli-core/guard.js +12 -12
  32. package/dist/cli-core/guard.js.map +1 -1
  33. package/dist/cli-core/init-manager.d.ts +1 -0
  34. package/dist/cli-core/init-manager.js +48 -8
  35. package/dist/cli-core/init-manager.js.map +1 -1
  36. package/dist/cli-core/platform-client.d.ts +12 -0
  37. package/dist/cli-core/platform-client.js +150 -9
  38. package/dist/cli-core/platform-client.js.map +1 -1
  39. package/package.json +17 -4
@@ -1 +1 @@
1
- {"version":3,"file":"state-manager.test.js","sourceRoot":"","sources":["../../../src/cli-core/__tests__/state-manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-manager.test.js","sourceRoot":"","sources":["../../../src/cli-core/__tests__/state-manager.test.ts"],"names":[],"mappings":"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"}
@@ -88,7 +88,7 @@ You are executing the **propose phase** of a Nova workflow. Your role is to
88
88
  orchestrate requirements exploration and produce a structured proposal document.
89
89
 
90
90
  ## Step 1: Verify State
91
- Read \`.nova.yaml\`. Check \`phases.open.status\`. If pending, update to
91
+ Read \`.nova.yaml\`. Check \`phases.propose.status\`. If pending, update to
92
92
  \`in-progress\` and set \`startedAt\`.
93
93
 
94
94
  ## Step 2: Gather Context
@@ -106,8 +106,8 @@ User Stories (prioritized), Scope & Deliverables (in/out), Success Criteria
106
106
  (measurable), Risks & Constraints.
107
107
 
108
108
  ## Step 5: Update State
109
- Set \`phases.open.status = 'in-progress'\`,
110
- \`phases.open.proposal = 'docs/proposals/proposal.md'\`.
109
+ Set \`phases.propose.status = 'in-progress'\`,
110
+ \`phases.propose.proposal = 'docs/proposals/proposal.md'\`.
111
111
 
112
112
  ## Constraints
113
113
  - Read any file for context. Write only to \`docs/proposals/\` and \`.nova.yaml\`.
@@ -124,11 +124,11 @@ orchestrate architecture exploration and produce a design document with an
124
124
  actionable task list.
125
125
 
126
126
  ## Step 1: Verify State
127
- Read \`.nova.yaml\`. Require \`phases.open.status: done\` with a non-empty proposal.
127
+ Read \`.nova.yaml\`. Require \`phases.propose.status: done\` with a non-empty proposal.
128
128
  Update \`phases.design.status\` to \`in-progress\` and set \`startedAt\`.
129
129
 
130
130
  ## Step 2: Load Context
131
- Read the proposal (\`phases.open.proposal\`), \`AGENTS.md\`, \`package.json\`, \`src/\`.
131
+ Read the proposal (\`phases.propose.proposal\`), \`AGENTS.md\`, \`package.json\`, \`src/\`.
132
132
 
133
133
  ## Step 3: Explore Architecture Options
134
134
  Use the **brainstorming skill** to explore at least 2 architectural approaches.
@@ -162,7 +162,7 @@ execute each task from the design phase, routing by task type.
162
162
 
163
163
  ## Step 1: Verify State
164
164
  Read \`.nova.yaml\`. Require \`phases.design.status: done\` with non-empty tasks.
165
- Update \`phases.build.status\` to \`in-progress\` and set \`startedAt\`.
165
+ Update \`phases.implement.status\` to \`in-progress\` and set \`startedAt\`.
166
166
 
167
167
  ## Step 2: Load Task List
168
168
  Show task summary (id, title, type, priority). Ask user to confirm before
@@ -189,7 +189,7 @@ On failure, ask user: abort, skip, or retry.
189
189
  Run full test suite and type check. Report summary.
190
190
 
191
191
  ## Step 5: Update State
192
- Set \`phases.build.status = 'done'\`.
192
+ Set \`phases.implement.status = 'done'\`.
193
193
 
194
194
  ## Constraints
195
195
  - Follow existing project conventions. Never leave TODOs or stubs.
@@ -205,7 +205,7 @@ You are executing the **verify phase** of a Nova workflow. Your role is to
205
205
  orchestrate a verification pipeline using ECC review skills.
206
206
 
207
207
  ## Step 1: Verify State
208
- Read \`.nova.yaml\`. Require \`phases.build.status: done\`.
208
+ Read \`.nova.yaml\`. Require \`phases.implement.status: done\`.
209
209
  Update \`phases.verify.status\` to \`in-progress\` and set \`startedAt\`.
210
210
 
211
211
  ## Step 2: Gather Context
@@ -0,0 +1,5 @@
1
+ import { EnvironmentAdapter } from '../types';
2
+ export declare class CodexAdapter implements EnvironmentAdapter {
3
+ name: string;
4
+ setup(cwd: string): Promise<void>;
5
+ }
@@ -0,0 +1,118 @@
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.CodexAdapter = void 0;
37
+ const fs = __importStar(require("fs/promises"));
38
+ const path = __importStar(require("path"));
39
+ const CODEX_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
+ ### Iteration (回退)
92
+ \`\`\`
93
+ 我想回退到 {propose/design/implement} 阶段重新做
94
+ \`\`\`
95
+
96
+ ## Key Rules
97
+
98
+ - Always read \`.nova.yaml\` before any action
99
+ - After each task, run \`npx tsc --noEmit\` and \`npm test\`
100
+ - Never leave TODOs or stubs
101
+ - Update \`.nova.yaml\` status after each phase transition
102
+ `;
103
+ class CodexAdapter {
104
+ constructor() {
105
+ this.name = 'codex';
106
+ }
107
+ async setup(cwd) {
108
+ const filePath = path.join(cwd, 'CODEX.md');
109
+ try {
110
+ await fs.access(filePath);
111
+ return; // don't overwrite
112
+ }
113
+ catch { }
114
+ await fs.writeFile(filePath, CODEX_INSTRUCTIONS, 'utf-8');
115
+ }
116
+ }
117
+ exports.CodexAdapter = CodexAdapter;
118
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/cli-core/adapters/codex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAG7B,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+D1B,CAAC;AAEF,MAAa,YAAY;IAAzB;QACE,SAAI,GAAG,OAAO,CAAC;IAUjB,CAAC;IARC,KAAK,CAAC,KAAK,CAAC,GAAW;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,CAAC,kBAAkB;QAC5B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;CACF;AAXD,oCAWC"}
@@ -0,0 +1,5 @@
1
+ import { EnvironmentAdapter } from '../types';
2
+ export declare class HermesAgentAdapter implements EnvironmentAdapter {
3
+ name: string;
4
+ setup(cwd: string): Promise<void>;
5
+ }
@@ -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"}
@@ -10,11 +10,11 @@ function toFailure(label, result) {
10
10
  return result.pass ? null : { label, errors: result.errors };
11
11
  }
12
12
  const TRANSITION_RULES = {
13
- 'open:design': [
14
- { label: 'Proposal phase is done', check: (s) => s.phases.open?.status === 'done' },
15
- { 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 },
16
16
  ],
17
- 'design:build': [
17
+ 'design:implement': [
18
18
  { label: 'Design phase is done', check: (s) => s.phases.design?.status === 'done' },
19
19
  { label: 'Design document exists', check: (s) => !!s.phases.design?.designDoc },
20
20
  {
@@ -38,14 +38,14 @@ const TRANSITION_RULES = {
38
38
  check: (s) => (0, quality_check_1.validateAcceptance)(s.phases.design?.tasks || []),
39
39
  },
40
40
  ],
41
- 'build:verify': [
42
- { 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' },
43
43
  {
44
44
  label: 'All tasks completed or ECC review passed',
45
45
  check: (s) => {
46
- if (s.phases.build?.eccReviewPassed)
46
+ if (s.phases.implement?.eccReviewPassed)
47
47
  return true;
48
- const tasks = s.phases.build?.tasks || {};
48
+ const tasks = s.phases.implement?.tasks || {};
49
49
  const entries = Object.values(tasks);
50
50
  if (entries.length === 0)
51
51
  return false;
@@ -57,16 +57,16 @@ const TRANSITION_RULES = {
57
57
  { label: 'Verify phase is done', check: (s) => s.phases.verify?.status === 'done' },
58
58
  ],
59
59
  // Rollback transitions — always allowed
60
- 'build:design': [
61
- { label: 'Build phase has started (rollback)', check: (s) => s.phases.build?.status !== 'pending' },
60
+ 'implement:design': [
61
+ { label: 'Implement phase has started (rollback)', check: (s) => s.phases.implement?.status !== 'pending' },
62
62
  ],
63
- 'verify:build': [
63
+ 'verify:implement': [
64
64
  { label: 'Verify phase has started (rollback)', check: (s) => s.phases.verify?.status !== 'pending' },
65
65
  ],
66
66
  'verify:design': [
67
67
  { label: 'Verify phase has started (rollback to design)', check: (s) => s.phases.verify?.status !== 'pending' },
68
68
  ],
69
- 'design:open': [
69
+ 'design:propose': [
70
70
  { label: 'Design phase has started (rollback)', check: (s) => s.phases.design?.status !== 'pending' },
71
71
  ],
72
72
  };
@@ -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":";;AAwFA,oDAiBC;AAzGD,mCAAuC;AACvC,mDAAyG;AAiBzG,SAAS,SAAS,CAAC,KAAa,EAAE,MAAqD;IACrF,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,gBAAgB,GAAiC;IACrD,gBAAgB,EAAE;QAChB,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE;QACtF,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE;KAClF;IACD,kBAAkB,EAAE;QAClB,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,EAAE;QACnF,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE;QAC/E;YACE,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;SAC5E;QACD;YACE,KAAK,EAAE,gCAAgC;YACvC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kCAAkB,EAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;SAC/D;QACD;YACE,KAAK,EAAE,oCAAoC;YAC3C,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,+BAAe,EAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;SAC5D;QACD;YACE,KAAK,EAAE,mCAAmC;YAC1C,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,6BAAa,EAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;SAC1D;QACD;YACE,KAAK,EAAE,oCAAoC;YAC3C,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kCAAkB,EAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;SAC/D;KACF;IACD,kBAAkB,EAAE;QAClB,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE;QACzF;YACE,KAAK,EAAE,0CAA0C;YACjD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;gBACX,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe;oBAAE,OAAO,IAAI,CAAC;gBACrD,MAAM,KAAK,GAAwB,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;gBACnE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACvC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAC9B,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CACvE,CAAC;YACJ,CAAC;SACF;KACF;IACD,gBAAgB,EAAE;QAChB,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,EAAE;KACpF;IACD,wCAAwC;IACxC,kBAAkB,EAAE;QAClB,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,EAAE;KAC5G;IACD,kBAAkB,EAAE;QAClB,EAAE,KAAK,EAAE,qCAAqC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE;KACtG;IACD,eAAe,EAAE;QACf,EAAE,KAAK,EAAE,+CAA+C,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE;KAChH;IACD,gBAAgB,EAAE;QAChB,EAAE,KAAK,EAAE,qCAAqC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE;KACtG;CACF,CAAC;AAEK,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,EAAU;IACjE,MAAM,KAAK,GAAG,MAAM,oBAAY,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC"}