@nova286/nova-workflow 2.1.0 → 2.2.2

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 (57) hide show
  1. package/README.md +113 -36
  2. package/dist/cli/commands/archive.js +1 -1
  3. package/dist/cli/commands/archive.js.map +1 -1
  4. package/dist/cli/commands/init.js +3 -1
  5. package/dist/cli/commands/init.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 +6 -1
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cli-core/__tests__/adapters.test.d.ts +1 -0
  11. package/dist/cli-core/__tests__/adapters.test.js +123 -0
  12. package/dist/cli-core/__tests__/adapters.test.js.map +1 -0
  13. package/dist/cli-core/__tests__/context-generator.test.js +31 -0
  14. package/dist/cli-core/__tests__/context-generator.test.js.map +1 -1
  15. package/dist/cli-core/__tests__/dispatcher.test.js +22 -0
  16. package/dist/cli-core/__tests__/dispatcher.test.js.map +1 -1
  17. package/dist/cli-core/__tests__/guard.test.js +54 -14
  18. package/dist/cli-core/__tests__/guard.test.js.map +1 -1
  19. package/dist/cli-core/__tests__/init-manager.test.js +80 -23
  20. package/dist/cli-core/__tests__/init-manager.test.js.map +1 -1
  21. package/dist/cli-core/__tests__/pipeline.test.js +22 -0
  22. package/dist/cli-core/__tests__/pipeline.test.js.map +1 -1
  23. package/dist/cli-core/__tests__/platform-client.test.d.ts +1 -0
  24. package/dist/cli-core/__tests__/platform-client.test.js +157 -0
  25. package/dist/cli-core/__tests__/platform-client.test.js.map +1 -0
  26. package/dist/cli-core/__tests__/state-manager.test.js +7 -7
  27. package/dist/cli-core/__tests__/state-manager.test.js.map +1 -1
  28. package/dist/cli-core/adapters/claude-code.d.ts +5 -3
  29. package/dist/cli-core/adapters/claude-code.js +95 -47
  30. package/dist/cli-core/adapters/claude-code.js.map +1 -1
  31. package/dist/cli-core/adapters/codex.d.ts +5 -0
  32. package/dist/cli-core/adapters/codex.js +124 -0
  33. package/dist/cli-core/adapters/codex.js.map +1 -0
  34. package/dist/cli-core/adapters/hermes-agent.d.ts +5 -0
  35. package/dist/cli-core/adapters/hermes-agent.js +119 -0
  36. package/dist/cli-core/adapters/hermes-agent.js.map +1 -0
  37. package/dist/cli-core/adapters/openclaw.d.ts +5 -0
  38. package/dist/cli-core/adapters/openclaw.js +121 -0
  39. package/dist/cli-core/adapters/openclaw.js.map +1 -0
  40. package/dist/cli-core/adapters/opencode.d.ts +5 -0
  41. package/dist/cli-core/adapters/opencode.js +122 -0
  42. package/dist/cli-core/adapters/opencode.js.map +1 -0
  43. package/dist/cli-core/context-generator.js +44 -2
  44. package/dist/cli-core/context-generator.js.map +1 -1
  45. package/dist/cli-core/guard.js +16 -12
  46. package/dist/cli-core/guard.js.map +1 -1
  47. package/dist/cli-core/init-manager.d.ts +4 -0
  48. package/dist/cli-core/init-manager.js +89 -10
  49. package/dist/cli-core/init-manager.js.map +1 -1
  50. package/dist/cli-core/platform-client.d.ts +12 -0
  51. package/dist/cli-core/platform-client.js +150 -9
  52. package/dist/cli-core/platform-client.js.map +1 -1
  53. package/dist/cli-core/quality-check.d.ts +1 -0
  54. package/dist/cli-core/quality-check.js +23 -0
  55. package/dist/cli-core/quality-check.js.map +1 -1
  56. package/dist/cli-core/types.d.ts +46 -1
  57. package/package.json +17 -4
@@ -0,0 +1,121 @@
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
+ Nova orchestrates OpenSpec-compatible specs, Superpowers-compatible execution,
43
+ and ECC-compatible review. All state is in \`.nova.yaml\`. Always read it first.
44
+
45
+ ## How to Use
46
+
47
+ ### Check Status
48
+ \`\`\`
49
+ 读取 .nova.yaml,告诉我当前在哪个阶段,下一步该做什么
50
+ \`\`\`
51
+
52
+ ### Phase 1: Propose (提案)
53
+ \`\`\`
54
+ 帮我为"{你的需求描述}"创建 OpenSpec-compatible change。
55
+ 1. 先读 .nova.yaml 和已有代码了解项目
56
+ 2. 问 3-4 个澄清问题
57
+ 3. 写入 .openspec/changes/<change-id>/proposal.md 和 specs
58
+ 4. 更新 .nova.yaml: activeChange, artifacts.*, phases.propose.status = done
59
+ \`\`\`
60
+
61
+ ### Phase 2: Design (设计)
62
+ \`\`\`
63
+ 读取 activeChange 对应的 OpenSpec-compatible change,生成执行计划。
64
+ 1. 读 proposal/spec delta 和 src/ 了解架构
65
+ 2. 写入 docs/designs/design.md 和 docs/superpowers/plans/<change>.md
66
+ 3. 任务必须包含 method, specRefs, acceptanceRefs, verification.commands
67
+ 4. 更新 .nova.yaml: phases.design.status = done, tasks = 解析后的列表
68
+ \`\`\`
69
+
70
+ ### Phase 3: Implement (实现)
71
+ \`\`\`
72
+ 读取 .nova.yaml 中的 spec-bound tasks,逐个实现:
73
+ 1. 按 priority/dependency 排序执行
74
+ 2. 每个任务先解析 specRefs/acceptanceRefs/method
75
+ 3. method=tdd 时先写失败测试,再实现,再重构
76
+ 4. 跑 verification.commands,记录 tests/filesChanged/traceIds evidence
77
+ 5. 失败时问用户:abort / skip / retry
78
+ 6. 全部完成后更新 phases.implement.status = done
79
+ \`\`\`
80
+
81
+ ### Phase 4: Verify (验证)
82
+ \`\`\`
83
+ 对已修改的文件做 spec conformance + code review + security review:
84
+ 1. Spec conformance: evidence 是否覆盖 specRefs/acceptanceRefs
85
+ 2. Code review: 正确性、错误处理、类型安全、测试覆盖
86
+ 3. Security review: 注入、密钥暴露、路径遍历
87
+ 4. 写入 docs/reports/verification-report.md
88
+ 5. 更新 phases.verify.status = done
89
+ \`\`\`
90
+
91
+ ### Phase 5: Archive (归档)
92
+ \`\`\`
93
+ 运行 nova archive 合并产物并清理
94
+ \`\`\`
95
+
96
+ ## Key Rules
97
+
98
+ - Always read \`.nova.yaml\` before any action
99
+ - After each task, run task verification commands, then project checks when needed
100
+ - Do not mark a task done without spec/acceptance evidence
101
+ - Never leave TODOs or stubs
102
+ - Update \`.nova.yaml\` status after each phase transition
103
+ `;
104
+ class OpenClawAdapter {
105
+ constructor() {
106
+ this.name = 'openclaw';
107
+ }
108
+ async setup(cwd) {
109
+ const dir = path.join(cwd, '.openclaw');
110
+ await fs.mkdir(dir, { recursive: true });
111
+ const filePath = path.join(dir, 'instructions.md');
112
+ try {
113
+ await fs.access(filePath);
114
+ return;
115
+ }
116
+ catch { }
117
+ await fs.writeFile(filePath, OPENCLAW_INSTRUCTIONS, 'utf-8');
118
+ }
119
+ }
120
+ exports.OpenClawAdapter = OpenClawAdapter;
121
+ //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgE7B,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,122 @@
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
+ Nova orchestrates OpenSpec-compatible specs, Superpowers-compatible execution,
43
+ and ECC-compatible review. All state is in \`.nova.yaml\`. Always read it first.
44
+
45
+ ## How to Use
46
+
47
+ ### Check Status
48
+ \`\`\`
49
+ 读取 .nova.yaml,告诉我当前在哪个阶段,下一步该做什么
50
+ \`\`\`
51
+
52
+ ### Phase 1: Propose (提案)
53
+ \`\`\`
54
+ 帮我为"{你的需求描述}"创建 OpenSpec-compatible change。
55
+ 1. 先读 .nova.yaml 和已有代码了解项目
56
+ 2. 问 3-4 个澄清问题
57
+ 3. 写入 .openspec/changes/<change-id>/proposal.md 和 specs
58
+ 4. 更新 .nova.yaml: activeChange, artifacts.*, phases.propose.status = done
59
+ \`\`\`
60
+
61
+ ### Phase 2: Design (设计)
62
+ \`\`\`
63
+ 读取 activeChange 对应的 OpenSpec-compatible change,生成执行计划。
64
+ 1. 读 proposal/spec delta 和 src/ 了解架构
65
+ 2. 写入 docs/designs/design.md 和 docs/superpowers/plans/<change>.md
66
+ 3. 任务必须包含 method, specRefs, acceptanceRefs, verification.commands
67
+ 4. 更新 .nova.yaml: phases.design.status = done, tasks = 解析后的列表
68
+ \`\`\`
69
+
70
+ ### Phase 3: Implement (实现)
71
+ \`\`\`
72
+ 读取 .nova.yaml 中的 spec-bound tasks,逐个实现:
73
+ 1. 按 priority/dependency 排序执行
74
+ 2. 每个任务先解析 specRefs/acceptanceRefs/method
75
+ 3. method=tdd 时先写失败测试,再实现,再重构
76
+ 4. 跑 verification.commands,记录 tests/filesChanged/traceIds evidence
77
+ 5. 失败时问用户:abort / skip / retry
78
+ 6. 全部完成后更新 phases.implement.status = done
79
+ \`\`\`
80
+
81
+ ### Phase 4: Verify (验证)
82
+ \`\`\`
83
+ 对已修改的文件做 spec conformance + code review + security review:
84
+ 1. Spec conformance: evidence 是否覆盖 specRefs/acceptanceRefs
85
+ 2. Code review: 正确性、错误处理、类型安全、测试覆盖
86
+ 3. Security review: 注入、密钥暴露、路径遍历
87
+ 4. 写入 docs/reports/verification-report.md
88
+ 5. 更新 phases.verify.status = done
89
+ \`\`\`
90
+
91
+ ### Phase 5: Archive (归档)
92
+ \`\`\`
93
+ 运行 nova archive 合并产物并清理
94
+ \`\`\`
95
+
96
+ ## Key Rules
97
+
98
+ - Always read \`.nova.yaml\` before any action
99
+ - After each task, run task verification commands, then project checks when needed
100
+ - Do not mark a task done without spec/acceptance evidence
101
+ - Never leave TODOs or stubs
102
+ - Update \`.nova.yaml\` status after each phase transition
103
+ `;
104
+ class OpenCodeAdapter {
105
+ constructor() {
106
+ this.name = 'opencode';
107
+ }
108
+ async setup(cwd) {
109
+ const filePath = path.join(cwd, 'opencode.json');
110
+ try {
111
+ await fs.access(filePath);
112
+ return; // don't overwrite existing config
113
+ }
114
+ catch { }
115
+ const config = {
116
+ instructions: OPENCODE_INSTRUCTIONS,
117
+ };
118
+ await fs.writeFile(filePath, JSON.stringify(config, null, 2), 'utf-8');
119
+ }
120
+ }
121
+ exports.OpenCodeAdapter = OpenCodeAdapter;
122
+ //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgE7B,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"}
@@ -23,6 +23,28 @@ const TYPE_MAP = {
23
23
  testing: 'testing',
24
24
  security: 'security',
25
25
  };
26
+ const DEFAULT_INTEGRATIONS = {
27
+ openspec: { mode: 'compatible' },
28
+ superpowers: { mode: 'compatible' },
29
+ ecc: { mode: 'compatible' },
30
+ };
31
+ const DEFAULT_ARTIFACTS = {
32
+ openspecChange: '',
33
+ proposal: '',
34
+ specDelta: '',
35
+ implementationPlan: '',
36
+ verificationReport: '',
37
+ };
38
+ function normalizeMethod(method, taskType) {
39
+ if (method === 'tdd' ||
40
+ method === 'implementation' ||
41
+ method === 'refactor' ||
42
+ method === 'docs' ||
43
+ method === 'migration') {
44
+ return method;
45
+ }
46
+ return taskType === 'testing' ? 'tdd' : 'implementation';
47
+ }
26
48
  class ContextGenerator {
27
49
  static async generateFromTask(task) {
28
50
  const state = await state_1.StateManager.load();
@@ -33,15 +55,16 @@ class ContextGenerator {
33
55
  buildTool: '',
34
56
  testFramework: '',
35
57
  };
58
+ const taskType = TYPE_MAP[task.type] || 'other';
36
59
  return {
37
60
  taskId: task.id,
38
61
  parentTaskId: task.parentId,
39
62
  title: task.title,
40
63
  description: task.description,
41
- taskType: TYPE_MAP[task.type] || 'other',
64
+ taskType,
42
65
  designContext: {
43
66
  designDocRef: state.phases.design?.designDoc || '',
44
- relevantSpecs: [],
67
+ relevantSpecs: task.specRefs || [],
45
68
  architectureNotes: '',
46
69
  },
47
70
  input: {
@@ -62,6 +85,25 @@ class ContextGenerator {
62
85
  })),
63
86
  constraints: task.constraints || { mustPassTests: true },
64
87
  },
88
+ change: {
89
+ activeChange: state.activeChange || '',
90
+ artifacts: { ...DEFAULT_ARTIFACTS, ...(state.artifacts || {}) },
91
+ },
92
+ methodology: { ...DEFAULT_INTEGRATIONS, ...(state.integrations || {}) },
93
+ implementation: {
94
+ method: normalizeMethod(task.method, taskType),
95
+ specRefs: task.specRefs || [],
96
+ acceptanceRefs: task.acceptanceRefs || [],
97
+ },
98
+ verification: {
99
+ commands: task.verification?.commands || [],
100
+ },
101
+ evidence: {
102
+ required: task.evidence?.required || [],
103
+ tests: task.evidence?.tests,
104
+ filesChanged: task.evidence?.filesChanged,
105
+ traceIds: task.evidence?.traceIds,
106
+ },
65
107
  acceptanceCriteria: task.acceptance || [],
66
108
  guardConditions: {
67
109
  requireReview: true,
@@ -1 +1 @@
1
- {"version":3,"file":"context-generator.js","sourceRoot":"","sources":["../../src/cli-core/context-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-generator.js","sourceRoot":"","sources":["../../src/cli-core/context-generator.ts"],"names":[],"mappings":"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"}
@@ -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
  {
@@ -37,15 +37,19 @@ const TRANSITION_RULES = {
37
37
  label: 'All tasks have acceptance criteria',
38
38
  check: (s) => (0, quality_check_1.validateAcceptance)(s.phases.design?.tasks || []),
39
39
  },
40
+ {
41
+ label: 'Implementation tasks are spec-bound',
42
+ check: (s) => (0, quality_check_1.validateSpecBoundExecution)(s.phases.design?.tasks || []),
43
+ },
40
44
  ],
41
- 'build:verify': [
42
- { label: 'Build phase is done', check: (s) => s.phases.build?.status === 'done' },
45
+ 'implement:verify': [
46
+ { label: 'Implement phase is done', check: (s) => s.phases.implement?.status === 'done' },
43
47
  {
44
48
  label: 'All tasks completed or ECC review passed',
45
49
  check: (s) => {
46
- if (s.phases.build?.eccReviewPassed)
50
+ if (s.phases.implement?.eccReviewPassed)
47
51
  return true;
48
- const tasks = s.phases.build?.tasks || {};
52
+ const tasks = s.phases.implement?.tasks || {};
49
53
  const entries = Object.values(tasks);
50
54
  if (entries.length === 0)
51
55
  return false;
@@ -57,16 +61,16 @@ const TRANSITION_RULES = {
57
61
  { label: 'Verify phase is done', check: (s) => s.phases.verify?.status === 'done' },
58
62
  ],
59
63
  // Rollback transitions — always allowed
60
- 'build:design': [
61
- { label: 'Build phase has started (rollback)', check: (s) => s.phases.build?.status !== 'pending' },
64
+ 'implement:design': [
65
+ { label: 'Implement phase has started (rollback)', check: (s) => s.phases.implement?.status !== 'pending' },
62
66
  ],
63
- 'verify:build': [
67
+ 'verify:implement': [
64
68
  { label: 'Verify phase has started (rollback)', check: (s) => s.phases.verify?.status !== 'pending' },
65
69
  ],
66
70
  'verify:design': [
67
71
  { label: 'Verify phase has started (rollback to design)', check: (s) => s.phases.verify?.status !== 'pending' },
68
72
  ],
69
- 'design:open': [
73
+ 'design:propose': [
70
74
  { label: 'Design phase has started (rollback)', check: (s) => s.phases.design?.status !== 'pending' },
71
75
  ],
72
76
  };
@@ -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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"}
@@ -2,15 +2,19 @@ export declare class InitManager {
2
2
  private cwd;
3
3
  private options;
4
4
  private backupDir?;
5
+ private resolvedSkillsDir?;
5
6
  private steps;
6
7
  constructor(cwd: string, opts: {
7
8
  eccPath?: string;
8
9
  force?: boolean;
10
+ skillsDir?: 'project' | 'user';
9
11
  });
10
12
  run(): Promise<void>;
11
13
  private isInitialized;
14
+ private promptSkillsDir;
12
15
  private backup;
13
16
  private rollback;
17
+ private commandExists;
14
18
  private detectAIEnvironment;
15
19
  private getAdapter;
16
20
  private createDirs;
@@ -32,14 +32,31 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.InitManager = void 0;
37
40
  const fs = __importStar(require("fs/promises"));
38
41
  const path = __importStar(require("path"));
42
+ const os = __importStar(require("os"));
43
+ const child_process_1 = require("child_process");
39
44
  const yaml = __importStar(require("yaml"));
45
+ const inquirer_1 = __importDefault(require("inquirer"));
40
46
  const ui_1 = require("../cli/ui");
41
47
  const project_detect_1 = require("./project-detect");
42
48
  const claude_code_1 = require("./adapters/claude-code");
49
+ const codex_1 = require("./adapters/codex");
50
+ const openclaw_1 = require("./adapters/openclaw");
51
+ const hermes_agent_1 = require("./adapters/hermes-agent");
52
+ const opencode_1 = require("./adapters/opencode");
53
+ const ADAPTER_FACTORIES = {
54
+ 'claude-code': () => new claude_code_1.ClaudeCodeAdapter(),
55
+ 'codex': () => new codex_1.CodexAdapter(),
56
+ 'openclaw': () => new openclaw_1.OpenClawAdapter(),
57
+ 'hermes-agent': () => new hermes_agent_1.HermesAgentAdapter(),
58
+ 'opencode': () => new opencode_1.OpenCodeAdapter(),
59
+ };
43
60
  class InitManager {
44
61
  constructor(cwd, opts) {
45
62
  this.steps = [];
@@ -54,13 +71,16 @@ class InitManager {
54
71
  await this.backup();
55
72
  const envs = await this.detectAIEnvironment();
56
73
  const envAdapters = envs.map(e => this.getAdapter(e));
74
+ const skillsDir = this.options.skillsDir ?? await this.promptSkillsDir(envs);
75
+ this.resolvedSkillsDir = skillsDir;
76
+ const adapterOptions = { skillsDir };
57
77
  this.steps = [
58
78
  { name: 'Create directory structure', run: () => this.createDirs(), rollback: () => this.removeDirs() },
59
79
  { name: 'Generate .nova.yaml', run: () => this.generateConfig(envs), rollback: () => this.removeFile('.nova.yaml') },
60
80
  { name: 'Install ECC skills', run: () => this.installEcc(), rollback: () => this.removeDir('.nova/ecc') },
61
81
  { name: 'Generate environment commands', run: async () => {
62
82
  for (const adapter of envAdapters)
63
- await adapter.setup(this.cwd);
83
+ await adapter.setup(this.cwd, adapterOptions);
64
84
  }, rollback: () => this.cleanEnvCommands(envs) },
65
85
  { name: 'Generate templates', run: () => this.generateTemplates(), rollback: () => this.removeDir('docs') }
66
86
  ];
@@ -88,6 +108,21 @@ class InitManager {
88
108
  return false;
89
109
  }
90
110
  }
111
+ async promptSkillsDir(envs) {
112
+ if (!envs.includes('claude-code'))
113
+ return 'project';
114
+ const { skillsDir } = await inquirer_1.default.prompt([{
115
+ type: 'list',
116
+ name: 'skillsDir',
117
+ message: 'Where to install Nova skills?',
118
+ choices: [
119
+ { name: 'User (~/.agents/skills/) — shared across all AI tools', value: 'user' },
120
+ { name: 'Project (.claude/skills/) — project-specific', value: 'project' },
121
+ ],
122
+ default: 'user',
123
+ }]);
124
+ return skillsDir;
125
+ }
91
126
  async backup() {
92
127
  this.backupDir = path.join(this.cwd, '.nova-backup-' + Date.now());
93
128
  await fs.mkdir(this.backupDir, { recursive: true });
@@ -115,14 +150,34 @@ class InitManager {
115
150
  await fs.rm(this.backupDir, { recursive: true, force: true });
116
151
  }
117
152
  }
153
+ async commandExists(cmd) {
154
+ return new Promise((resolve) => {
155
+ (0, child_process_1.execFile)('which', [cmd], (err) => resolve(!err));
156
+ });
157
+ }
118
158
  async detectAIEnvironment() {
119
- return ['claude-code'];
159
+ const detectors = [
160
+ { env: 'claude-code', cmd: 'claude' },
161
+ { env: 'codex', cmd: 'codex' },
162
+ { env: 'openclaw', cmd: 'openclaw' },
163
+ { env: 'hermes-agent', cmd: 'hermes-agent' },
164
+ { env: 'opencode', cmd: 'opencode' },
165
+ ];
166
+ const detected = [];
167
+ for (const d of detectors) {
168
+ if (await this.commandExists(d.cmd))
169
+ detected.push(d.env);
170
+ }
171
+ return detected.length > 0 ? detected : ['claude-code'];
120
172
  }
121
173
  getAdapter(env) {
122
- return new claude_code_1.ClaudeCodeAdapter();
174
+ const factory = ADAPTER_FACTORIES[env];
175
+ if (!factory)
176
+ throw new Error(`Unknown environment: ${env}`);
177
+ return factory();
123
178
  }
124
179
  async createDirs() {
125
- const dirs = ['docs/designs', 'docs/proposals', 'docs/reports', '.nova/contexts'];
180
+ const dirs = ['docs/designs', 'docs/proposals', 'docs/reports', '.nova/contexts', '.openspec/changes'];
126
181
  for (const d of dirs)
127
182
  await fs.mkdir(path.join(this.cwd, d), { recursive: true });
128
183
  }
@@ -134,10 +189,23 @@ class InitManager {
134
189
  project: path.basename(this.cwd),
135
190
  projectType,
136
191
  environment: envs,
192
+ activeChange: '',
193
+ integrations: {
194
+ openspec: { mode: 'compatible' },
195
+ superpowers: { mode: 'compatible' },
196
+ ecc: { mode: 'compatible' },
197
+ },
198
+ artifacts: {
199
+ openspecChange: '',
200
+ proposal: '',
201
+ specDelta: '',
202
+ implementationPlan: '',
203
+ verificationReport: '',
204
+ },
137
205
  phases: {
138
- open: { status: 'pending', proposal: '' },
139
- design: { status: 'pending', designDoc: '', tasks: '' },
140
- build: { status: 'pending', tasks: {} },
206
+ propose: { status: 'pending', proposal: '' },
207
+ design: { status: 'pending', designDoc: '', tasks: [] },
208
+ implement: { status: 'pending', tasks: {} },
141
209
  verify: { status: 'pending', pipelineResult: null },
142
210
  archive: { status: 'pending' }
143
211
  },
@@ -163,10 +231,21 @@ class InitManager {
163
231
  await fs.cp(path.join(__dirname, '../../templates/docs'), path.join(this.cwd, 'docs'), { recursive: true });
164
232
  }
165
233
  async cleanEnvCommands(envs) {
234
+ const cleanupMap = {
235
+ 'claude-code': ['.agents/skills'],
236
+ 'codex': ['CODEX.md'],
237
+ 'openclaw': ['.openclaw'],
238
+ 'hermes-agent': ['HERMES.md'],
239
+ 'opencode': ['opencode.json'],
240
+ };
166
241
  for (const env of envs) {
167
- if (env === 'claude-code')
168
- await fs.rm(path.join(this.cwd, '.claude'), { recursive: true, force: true });
169
- // 其他环境类似
242
+ const targets = cleanupMap[env] ?? [];
243
+ for (const target of targets) {
244
+ const baseDir = (env === 'claude-code' && this.resolvedSkillsDir === 'user')
245
+ ? os.homedir()
246
+ : this.cwd;
247
+ await fs.rm(path.join(baseDir, target), { recursive: true, force: true });
248
+ }
170
249
  }
171
250
  }
172
251
  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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"}