@neottia/cli 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @neottia/cli
2
2
 
3
- `@neottia/cli` publishes the `neottia` command for initializing project configuration and reviewing and applying asset installation plans.
3
+ `@neottia/cli` publishes the `neottia` command for initializing project configuration, compiling the SDLC lifecycle from that configuration, and installing it into the selected harnesses.
4
4
 
5
5
  ## Install
6
6
 
@@ -8,10 +8,23 @@
8
8
  pnpm add --global @neottia/cli
9
9
  ```
10
10
 
11
- ## Commands
11
+ ## Workflow commands
12
+
13
+ ```sh
14
+ neottia init [--harness pi|opencode]... [--project DIR]
15
+ neottia apply [--harness ID]... [--scope project|global] [--project DIR]
16
+ neottia doctor [--project DIR]
17
+ ```
18
+
19
+ `init` writes the minimal `.neottia/config.yml` for the selected harnesses. `--harness` is repeatable and accepts `pi` and `opencode`. When the file already exists and no `--harness` is given, `init` validates it and leaves every value untouched. See the [configuration guide](../../docs/configuration.md) for the generated values.
20
+
21
+ `apply` validates the project configuration, compiles the six lifecycle commands plus the shared operating-protocol skill for every configured harness (or the ones selected with repeatable `--harness`), resolves exact runtime package versions from the built-in compatibility catalog for the enabled modules, and installs everything in one run. No plan file is produced. Conflicting files (present but unowned, or modified after a previous install) are not overwritten: each one is reported as a `WARN` line with its path and reason, skipped, and everything else still installs. The command exits non-zero when files were skipped, prints a remediation summary, and never resolves package versions from a registry.
22
+
23
+ `doctor` validates the configuration and statically reports, per enabled module, whether the catalog has a compatible runtime package, and per harness whether the lifecycle is installed. It changes nothing and requires no manifest.
24
+
25
+ ## Advanced manifest commands
12
26
 
13
27
  ```sh
14
- neottia init --harness pi|opencode [--harness pi|opencode]... [--project DIR]
15
28
  neottia plan --manifest manifest.json --output install.plan.json
16
29
  neottia apply --plan install.plan.json
17
30
  neottia plan --action update --manifest manifest.json --output update.plan.json
@@ -20,9 +33,9 @@ neottia doctor --manifest manifest.json
20
33
  neottia recover --receipt .neottia/install/default.receipt.json
21
34
  ```
22
35
 
23
- `init` writes the minimal `.neottia/config.yml` for the selected harnesses. `--harness` is repeatable, accepts `pi` and `opencode`, and the command never replaces an existing file. See the [configuration guide](../../docs/configuration.md) for the generated values.
36
+ These commands drive the release pipeline, where a compiler-produced `AssetManifest` already exists. `plan` prints the complete plan and can save the same JSON. `apply --plan` accepts only a saved plan whose digest and checksums still match. If planning reports conflicts, approve each exact ID with a repeated `--approve <id>` option and generate the plan again. The CLI has no force option.
24
37
 
25
- `plan` prints the complete plan and can save the same JSON. `apply` accepts only a saved plan whose digest and checksums still match. If planning reports conflicts, approve each exact ID with a repeated `--approve <id>` option and generate the plan again. The CLI has no force option.
38
+ ## Paths
26
39
 
27
40
  The CLI accepts `--project`, `--home`, `--xdg-config`, and `--xdg-state` on commands that inspect an installation. Defaults are resolved in the CLI before it calls the distribution library. Harness adapters receive no machine paths.
28
41
 
@@ -0,0 +1,8 @@
1
+ import type { NeottiaRuntimePackageId } from '@neottia/harness-adapter';
2
+ export interface CatalogEntry {
3
+ readonly logicalId: NeottiaRuntimePackageId;
4
+ readonly version: string;
5
+ }
6
+ export declare const RUNTIME_PACKAGE_CATALOG: Readonly<Record<string, readonly CatalogEntry[]>>;
7
+ export declare function catalogEntry(harnessId: string, logicalId: NeottiaRuntimePackageId): CatalogEntry | undefined;
8
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAMD,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC,CAapF,CAAC;AAGH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,uBAAuB,GAAG,YAAY,GAAG,SAAS,CAE5G"}
@@ -0,0 +1,18 @@
1
+ export const RUNTIME_PACKAGE_CATALOG = Object.freeze({
2
+ pi: Object.freeze([
3
+ { logicalId: 'memory', version: '0.1.1' },
4
+ { logicalId: 'issues', version: '0.2.0' },
5
+ { logicalId: 'design-docs', version: '0.2.0' },
6
+ { logicalId: 'searchable', version: '0.2.0' },
7
+ ]),
8
+ opencode: Object.freeze([
9
+ { logicalId: 'memory', version: '0.1.1' },
10
+ { logicalId: 'issues', version: '0.2.0' },
11
+ { logicalId: 'design-docs', version: '0.2.0' },
12
+ { logicalId: 'searchable', version: '0.2.0' },
13
+ ]),
14
+ });
15
+ export function catalogEntry(harnessId, logicalId) {
16
+ return RUNTIME_PACKAGE_CATALOG[harnessId]?.find((entry) => entry.logicalId === logicalId);
17
+ }
18
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,uBAAuB,GAAsD,MAAM,CAAC,MAAM,CAAC;IACtG,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;QAChB,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;QACzC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;QACzC,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE;QAC9C,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE;KACrC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;QACzC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;QACzC,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE;QAC9C,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE;KACrC,CAAC;CACZ,CAAC,CAAC;AAGH,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,SAAkC;IAChF,OAAO,uBAAuB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;AAC5F,CAAC"}
package/dist/cli.spec.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { access, mkdir, mkdtemp, readFile, readdir, rm, stat, writeFile } from 'node:fs/promises';
2
2
  import { tmpdir } from 'node:os';
3
- import { join } from 'node:path';
3
+ import { dirname, join } from 'node:path';
4
4
  import { resolveConfig, ConfigResolutionError } from '@neottia/config';
5
5
  import { officialConfigRegistry } from '@neottia/config-registry';
6
6
  import { afterEach, describe, expect, it, vi } from 'vitest';
@@ -72,11 +72,7 @@ describe('Neottia CLI', () => {
72
72
  expect(await main(['init', '--harness', 'pi', '--project', root], result.output)).toBe(0);
73
73
  const configPath = join(root, '.neottia', 'config.yml');
74
74
  expect(result.errors).toEqual([]);
75
- expect(result.logs).toEqual([
76
- `Created ${configPath}`,
77
- 'Harnesses: pi',
78
- 'Next: neottia plan --manifest <manifest.json> --output install.plan.json',
79
- ]);
75
+ expect(result.logs).toEqual([`Created ${configPath}`, 'Harnesses: pi', 'Next: neottia apply']);
80
76
  expect(resolveGeneratedConfig(root).toJSON()).toMatchObject({
81
77
  version: 1,
82
78
  modules: {
@@ -133,6 +129,117 @@ describe('Neottia CLI', () => {
133
129
  harnesses: { install: { targets: [{ id: 'pi', scope: 'project' }] } },
134
130
  });
135
131
  });
132
+ it('validates an existing configuration when init runs without harness arguments', async () => {
133
+ const root = await fixture();
134
+ await main(['init', '--harness', 'pi', '--project', root], capture().output);
135
+ const result = capture();
136
+ expect(await main(['init', '--project', root], result.output)).toBe(0);
137
+ expect(result.logs).toEqual([`Validated ${join(root, '.neottia', 'config.yml')}`, 'Next: neottia apply']);
138
+ expect(result.errors).toEqual([]);
139
+ });
140
+ it('fails validation of a corrupt existing configuration without rewriting it', async () => {
141
+ const root = await fixture();
142
+ const configPath = join(root, '.neottia', 'config.yml');
143
+ await mkdir(join(root, '.neottia'), { recursive: true });
144
+ const invalid = 'version: 1\nbogus_root_key: true\n';
145
+ await writeFile(configPath, invalid, 'utf8');
146
+ const result = capture();
147
+ expect(await main(['init', '--project', root], result.output)).toBe(1);
148
+ expect(result.errors.join('\n')).toContain('Configuration resolution failed');
149
+ expect(await readFile(configPath, 'utf8')).toBe(invalid);
150
+ });
151
+ it('installs the configured lifecycle for every configured harness', async () => {
152
+ const root = await fixture();
153
+ await main(['init', '--harness', 'pi', '--harness', 'opencode', '--project', root], capture().output);
154
+ const result = capture();
155
+ expect(await main(['apply', '--project', root], result.output)).toBe(0);
156
+ expect(result.errors).toEqual([]);
157
+ expect(result.logs.some((line) => line.includes('Installed pi project lifecycle'))).toBe(true);
158
+ expect(result.logs.some((line) => line.includes('Installed opencode project lifecycle'))).toBe(true);
159
+ expect(result.logs.some((line) => line.includes('Reload'))).toBe(true);
160
+ for (const harness of ['pi', 'opencode']) {
161
+ expect(await exists(join(root, '.neottia', 'install', `sdlc-${harness}.receipt.json`))).toBe(true);
162
+ }
163
+ expect(await exists(join(root, '.pi', 'prompts', 'plan.md'))).toBe(true);
164
+ expect(await exists(join(root, '.opencode', 'commands', 'plan.md'))).toBe(true);
165
+ expect(await exists(join(root, '.pi', 'skills', 'neottia-sdlc', 'SKILL.md'))).toBe(true);
166
+ expect(await readFile(join(root, '.pi', 'prompts', 'plan.md'), 'utf8')).toContain('They do not grant host permissions.');
167
+ }, 30000);
168
+ it('produces deterministic compiler output and a no-op second install', async () => {
169
+ const root = await fixture();
170
+ await main(['init', '--harness', 'pi', '--project', root], capture().output);
171
+ const first = capture();
172
+ await main(['apply', '--project', root], first.output);
173
+ const planPath = await readFile(join(root, '.neottia', 'install', 'sdlc-pi.receipt.json'), 'utf8');
174
+ const second = capture();
175
+ expect(await main(['apply', '--project', root], second.output)).toBe(0);
176
+ expect(second.logs.some((line) => line.includes('0 mutation(s)'))).toBe(true);
177
+ expect(await readFile(join(root, '.neottia', 'install', 'sdlc-pi.receipt.json'), 'utf8')).toBe(planPath);
178
+ }, 30000);
179
+ it('installs a globally scoped target under the caller home and reports it from doctor', async () => {
180
+ if (process.platform === 'win32')
181
+ return;
182
+ const root = await fixture();
183
+ await main(['init', '--harness', 'pi', '--project', root], capture().output);
184
+ const configPath = join(root, '.neottia', 'config.yml');
185
+ await writeFile(configPath, (await readFile(configPath, 'utf8')).replace('scope: project', 'scope: global'), 'utf8');
186
+ const home = join(root, 'home');
187
+ const xdgState = join(root, 'xdg-state');
188
+ await mkdir(home, { recursive: true });
189
+ await mkdir(xdgState, { recursive: true });
190
+ process.env.HOME = home;
191
+ process.env.XDG_STATE_HOME = xdgState;
192
+ try {
193
+ const result = capture();
194
+ expect(await main(['apply', '--project', root], result.output)).toBe(0);
195
+ expect(await exists(join(xdgState, 'neottia', 'install', 'sdlc-pi.receipt.json'))).toBe(true);
196
+ expect(await exists(join(home, '.pi', 'agent', 'skills', 'neottia-sdlc', 'SKILL.md'))).toBe(true);
197
+ expect(await exists(join(root, '.neottia', 'install', 'sdlc-pi.receipt.json'))).toBe(false);
198
+ const doctor = capture();
199
+ expect(await main(['doctor', '--project', root], doctor.output)).toBe(0);
200
+ expect(doctor.logs.join('\n')).toContain('No missing modules or installs detected.');
201
+ }
202
+ finally {
203
+ delete process.env.HOME;
204
+ delete process.env.XDG_STATE_HOME;
205
+ }
206
+ }, 30000);
207
+ it('skips conflicting files with warnings, installs the rest, and exits non-zero', async () => {
208
+ const root = await fixture();
209
+ await main(['init', '--harness', 'pi', '--project', root], capture().output);
210
+ const contested = join(root, '.pi', 'prompts', 'plan.md');
211
+ await mkdir(dirname(contested), { recursive: true });
212
+ await writeFile(contested, 'user-owned\n', 'utf8');
213
+ const result = capture();
214
+ const code = await main(['apply', '--project', root], result.output);
215
+ expect(code).toBe(2);
216
+ expect(result.errors.some((line) => line.includes('WARN:') && line.includes(contested))).toBe(true);
217
+ expect(result.errors.some((line) => line.includes('1 file(s) skipped'))).toBe(true);
218
+ expect(await readFile(contested, 'utf8')).toBe('user-owned\n');
219
+ expect(await exists(join(root, '.pi', 'prompts', 'build.md'))).toBe(true);
220
+ }, 30000);
221
+ it('fails closed when apply runs without a configuration', async () => {
222
+ const root = await fixture();
223
+ const result = capture();
224
+ expect(await main(['apply', '--project', root], result.output)).toBe(1);
225
+ expect(result.errors).toEqual(['Run neottia init first. Missing project configuration.']);
226
+ });
227
+ it('reports missing installs and unknown modules through doctor', async () => {
228
+ const root = await fixture();
229
+ await main(['init', '--harness', 'pi', '--project', root], capture().output);
230
+ const result = capture();
231
+ expect(await main(['doctor', '--project', root], result.output)).toBe(2);
232
+ expect(result.logs[0]).toContain('Configuration valid. Harnesses: pi');
233
+ expect(result.errors.some((line) => line.includes('pi lifecycle is not installed. Run neottia apply.'))).toBe(true);
234
+ });
235
+ it('reports healthy state through doctor after a successful apply', async () => {
236
+ const root = await fixture();
237
+ await main(['init', '--harness', 'pi', '--project', root], capture().output);
238
+ await main(['apply', '--project', root], capture().output);
239
+ const result = capture();
240
+ expect(await main(['doctor', '--project', root], result.output)).toBe(0);
241
+ expect(result.logs.join('\n')).toContain('No missing modules or installs detected.');
242
+ }, 30000);
136
243
  it('refuses to replace an existing configuration', async () => {
137
244
  const root = await fixture();
138
245
  const directory = join(root, '.neottia');
@@ -158,8 +265,8 @@ describe('Neottia CLI', () => {
158
265
  expect(await exists(join(root, '.neottia'))).toBe(false);
159
266
  });
160
267
  it.each([
161
- [['init'], 'init requires at least one --harness.'],
162
- [['init', '--harness', 'claude-code'], 'Unsupported init harness: claude-code. Expected one of: opencode, pi.'],
268
+ [['init'], 'At least one --harness is required.'],
269
+ [['init', '--harness', 'claude-code'], 'Unsupported harness: claude-code. Expected one of: opencode, pi.'],
163
270
  ])('rejects invalid harness selection before mutation', async (arguments_, message) => {
164
271
  const root = await fixture();
165
272
  const result = capture();
@@ -1 +1 @@
1
- {"version":3,"file":"cli.spec.js","sourceRoot":"","sources":["../src/cli.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.spec.js","sourceRoot":"","sources":["../src/cli.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA6BA,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAGD,wBAAsB,IAAI,CACxB,IAAI,GAAE,SAAS,MAAM,EAA0B,EAC/C,MAAM,GAAE,SAAmB,EAC3B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgDA,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAGD,wBAAsB,IAAI,CACxB,IAAI,GAAE,SAAS,MAAM,EAA0B,EAC/C,MAAM,GAAE,SAAmB,EAC3B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
package/dist/index.js CHANGED
@@ -1,12 +1,23 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { link, lstat, mkdir, open, readFile, unlink, writeFile } from 'node:fs/promises';
3
+ import { createRequire } from 'node:module';
3
4
  import { homedir } from 'node:os';
4
5
  import { dirname, join, resolve } from 'node:path';
5
6
  import { parseArgs } from 'node:util';
6
7
  import { resolveConfig } from '@neottia/config';
7
- import { officialConfigRegistry } from '@neottia/config-registry';
8
- import { applyInstallationPlan, authorizePlan, canonicalJson, createInstallationPlan, decodeInstallationPlan, diagnoseSnapshot, inspectInstallation, inspectUninstall, recoverInstallation, runDoctor, validateManifest, } from '@neottia/distribution';
9
- const SUPPORTED_INIT_HARNESSES = Object.freeze(['opencode', 'pi']);
8
+ import { harnessInstallConfigContribution, officialConfigRegistry } from '@neottia/config-registry';
9
+ import { designDocsConfigContribution } from '@neottia/design-docs';
10
+ import { applyInstallationPlan, authorizePlan, canonicalJson, createInstallationPlan, decodeInstallationPlan, diagnoseSnapshot, inspectInstallation, inspectUninstall, receiptPath as distributionReceiptPath, recoverInstallation, runDoctor, validateManifest, } from '@neottia/distribution';
11
+ import { issueConfigContribution } from '@neottia/issues';
12
+ import { memoryConfigContribution } from '@neottia/memory-core';
13
+ import { opencodeHarnessAdapter } from '@neottia/opencode-adapter';
14
+ import { piHarnessAdapter } from '@neottia/pi-adapter';
15
+ import { compileSdlc, createSdlcCompilerInput, loadSdlcTemplateLayers } from '@neottia/sdlc';
16
+ import { searchableConfigContribution } from '@neottia/searchable-core';
17
+ import { catalogEntry } from './catalog.js';
18
+ const SUPPORTED_HARNESSES = Object.freeze(['opencode', 'pi']);
19
+ const HARNESS_ADAPTERS = Object.freeze({ pi: piHarnessAdapter, opencode: opencodeHarnessAdapter });
20
+ const WARN_PREFIX = 'WARN: ';
10
21
  export async function main(argv = process.argv.slice(2), output = console, env = process.env) {
11
22
  try {
12
23
  const [command, ...arguments_] = argv;
@@ -15,9 +26,9 @@ export async function main(argv = process.argv.slice(2), output = console, env =
15
26
  return 0;
16
27
  }
17
28
  if (command === 'apply')
18
- return await applyCommand(arguments_, output);
29
+ return await applyCommand(arguments_, output, env);
19
30
  if (command === 'init')
20
- return await initCommand(arguments_, output);
31
+ return await initCommand(arguments_, output, env);
21
32
  if (command === 'recover')
22
33
  return await recoverCommand(arguments_, output);
23
34
  if (command === 'doctor')
@@ -33,7 +44,7 @@ export async function main(argv = process.argv.slice(2), output = console, env =
33
44
  return 1;
34
45
  }
35
46
  }
36
- async function initCommand(arguments_, output) {
47
+ async function initCommand(arguments_, output, env) {
37
48
  const { values } = parseArgs({
38
49
  args: [...arguments_],
39
50
  strict: true,
@@ -43,8 +54,15 @@ async function initCommand(arguments_, output) {
43
54
  project: { type: 'string' },
44
55
  },
45
56
  });
46
- const harnesses = normalizeInitHarnesses(values.harness);
47
57
  const project = resolve(values.project ?? process.cwd());
58
+ const configPath = join(project, '.neottia', 'config.yml');
59
+ if (values.harness.length === 0 && (await isRegularFile(configPath))) {
60
+ resolveConfig(officialConfigRegistry, { cwd: project, env });
61
+ output.log(`Validated ${configPath}`);
62
+ output.log('Next: neottia apply');
63
+ return 0;
64
+ }
65
+ const harnesses = normalizeInitHarnesses(values.harness);
48
66
  const document = createInitDocument(harnesses);
49
67
  resolveConfig(officialConfigRegistry, {
50
68
  cwd: project,
@@ -53,11 +71,10 @@ async function initCommand(arguments_, output) {
53
71
  projectFile: false,
54
72
  overrides: document,
55
73
  });
56
- const configPath = join(project, '.neottia', 'config.yml');
57
74
  await publishNewConfig(configPath, renderInitConfig(harnesses));
58
75
  output.log(`Created ${configPath}`);
59
76
  output.log(`Harnesses: ${harnesses.join(', ')}`);
60
- output.log('Next: neottia plan --manifest <manifest.json> --output install.plan.json');
77
+ output.log('Next: neottia apply');
61
78
  return 0;
62
79
  }
63
80
  async function planCommand(arguments_, output, env) {
@@ -81,30 +98,196 @@ async function uninstallCommand(arguments_, output, env) {
81
98
  await emitPlan(plan, values.output, output);
82
99
  return plan.conflicts.some((conflict) => !conflict.approved) ? 2 : 0;
83
100
  }
84
- async function applyCommand(arguments_, output) {
101
+ async function applyCommand(arguments_, output, env) {
85
102
  const { values } = parseArgs({
86
103
  args: [...arguments_],
87
104
  strict: true,
88
105
  allowPositionals: false,
89
- options: { plan: { type: 'string' } },
106
+ options: {
107
+ plan: { type: 'string' },
108
+ harness: { type: 'string', multiple: true, default: [] },
109
+ scope: { type: 'string' },
110
+ project: { type: 'string' },
111
+ },
90
112
  });
91
- if (values.plan === undefined)
92
- throw new TypeError('apply requires --plan.');
93
- const plan = decodeInstallationPlan(JSON.parse(await readFile(values.plan, 'utf8')));
94
- const result = await applyInstallationPlan(plan);
95
- output.log(canonicalJson(result));
113
+ if (values.plan !== undefined) {
114
+ const plan = decodeInstallationPlan(JSON.parse(await readFile(values.plan, 'utf8')));
115
+ const result = await applyInstallationPlan(plan);
116
+ output.log(canonicalJson(result));
117
+ return 0;
118
+ }
119
+ const project = resolve(values.project ?? process.cwd());
120
+ if (!(await isRegularFile(join(project, '.neottia', 'config.yml')))) {
121
+ throw new TypeError('Run neottia init first. Missing project configuration.');
122
+ }
123
+ const harnesses = selectHarnesses(values.harness, project, env);
124
+ const override = values.scope === undefined ? undefined : parseScope(values.scope);
125
+ const configuredScopes = new Map(resolveConfig(officialConfigRegistry, { cwd: project, env })
126
+ .get(harnessInstallConfigContribution)
127
+ .targets.map((target) => [target.id, target.scope]));
128
+ let skipped = 0;
129
+ for (const harnessId of harnesses) {
130
+ const scope = override ?? configuredScopes.get(harnessId) ?? 'project';
131
+ skipped += await installHarness(harnessId, { project, env, scope }, output);
132
+ }
133
+ if (skipped > 0) {
134
+ output.error(`${skipped} file(s) skipped. Resolve the warnings above, then run neottia apply again.`);
135
+ return 2;
136
+ }
137
+ output.log('Done. Reload the harness so generated assets are picked up.');
96
138
  return 0;
97
139
  }
140
+ async function installHarness(harnessId, context, output) {
141
+ const adapter = HARNESS_ADAPTERS[harnessId];
142
+ const snapshot = resolveConfig(officialConfigRegistry, { cwd: context.project, env: context.env });
143
+ const templateLayers = await loadSdlcTemplateLayers({ projectRoot: context.project });
144
+ const runtimePackages = selectedRuntimePackages(harnessId, snapshot);
145
+ const input = createSdlcCompilerInput(snapshot, {
146
+ compilerVersion: CLI_VERSION,
147
+ harnessId,
148
+ harnessDeclaration: adapter.declaration,
149
+ scope: context.scope,
150
+ templateLayers,
151
+ runtimePackages,
152
+ });
153
+ const compiled = compileSdlc(input, adapter);
154
+ const installRoots = installRootsFor(context.project, context.env);
155
+ const inspected = await inspectInstallation(compiled.assets, installRoots);
156
+ const action = inspected.receipt === undefined ? 'install' : 'update';
157
+ const plan = createInstallationPlan(inspected, action);
158
+ const conflicts = plan.conflicts.filter((conflict) => !conflict.approved);
159
+ for (const conflict of conflicts) {
160
+ output.error(`${WARN_PREFIX}skipped ${conflict.path} (${conflict.reason}). Resolve or remove the file, then rerun neottia apply.`);
161
+ }
162
+ const conflictedAssets = new Set(conflicts.map((conflict) => conflict.assetId));
163
+ const filtered = {
164
+ ...inspected,
165
+ units: inspected.units.filter((unit) => !conflictedAssets.has(unit.assetId)),
166
+ };
167
+ const partial = createInstallationPlan(filtered, action);
168
+ const result = await applyInstallationPlan(authorizePlan(partial, []));
169
+ output.log(`Installed ${harnessId} ${context.scope} lifecycle (${result.appliedMutations.length} mutation(s), ${conflicts.length} skipped).`);
170
+ if (result.reloadNotice !== undefined)
171
+ output.log(result.reloadNotice.message);
172
+ return conflicts.length;
173
+ }
174
+ const CLI_VERSION = createRequire(import.meta.url)('../package.json').version;
175
+ void CLI_VERSION;
176
+ function selectHarnesses(requested, project, env) {
177
+ if (requested.length > 0)
178
+ return normalizeInitHarnesses(requested);
179
+ const configured = resolveConfig(officialConfigRegistry, { cwd: project, env })
180
+ .get(harnessInstallConfigContribution)
181
+ .targets.map((target) => target.id);
182
+ const unsupported = configured.find((id) => !SUPPORTED_HARNESSES.includes(id));
183
+ if (unsupported !== undefined)
184
+ throw new TypeError(`Unsupported configured harness: ${unsupported}.`);
185
+ if (configured.length === 0)
186
+ throw new TypeError('No configured harnesses. Add harnesses.install.targets first.');
187
+ return Object.freeze([...new Set(configured)].sort((left, right) => left.localeCompare(right)));
188
+ }
189
+ function selectedRuntimePackages(harnessId, snapshot) {
190
+ const packages = [];
191
+ const candidates = [
192
+ ['memory', snapshot.get(memoryConfigContribution).enabled],
193
+ ['issues', snapshot.get(issueConfigContribution).enabled],
194
+ ['design-docs', snapshot.get(designDocsConfigContribution).enabled],
195
+ ['searchable', snapshot.get(searchableConfigContribution).enabled],
196
+ ];
197
+ for (const [logicalId, enabled] of candidates) {
198
+ if (!enabled)
199
+ continue;
200
+ const entry = catalogEntry(harnessId, logicalId);
201
+ if (entry === undefined) {
202
+ throw new TypeError(`No compatible runtime package for ${harnessId} ${logicalId}.`);
203
+ }
204
+ packages.push({ logicalId, version: entry.version });
205
+ }
206
+ return Object.freeze(packages);
207
+ }
208
+ function parseScope(value) {
209
+ if (value === undefined)
210
+ return 'project';
211
+ if (value === 'project' || value === 'global')
212
+ return value;
213
+ throw new TypeError('apply --scope must be project or global.');
214
+ }
215
+ function installRootsFor(project, env) {
216
+ const home = resolve(env.HOME ?? homedir());
217
+ return {
218
+ project,
219
+ home,
220
+ xdgConfig: resolve(env.XDG_CONFIG_HOME ?? `${home}/.config`),
221
+ xdgState: resolve(env.XDG_STATE_HOME ?? `${home}/.local/state`),
222
+ };
223
+ }
224
+ async function isRegularFile(path) {
225
+ try {
226
+ return (await lstat(path)).isFile();
227
+ }
228
+ catch {
229
+ return false;
230
+ }
231
+ }
98
232
  async function doctorCommand(arguments_, output, env) {
99
233
  const values = parseCommon(arguments_);
100
- if (values.manifest === undefined)
101
- throw new TypeError('doctor requires --manifest.');
102
- const manifest = await readManifest(values.manifest);
103
- const rootValues = roots(values, env);
104
- const snapshot = await inspectInstallation(manifest, rootValues);
105
- const results = [...(await runDoctor(manifest, rootValues, env)), ...diagnoseSnapshot(snapshot)];
106
- output.log(canonicalJson(results));
107
- return results.some((result) => result.status === 'error') ? 2 : 0;
234
+ const project = resolve(values.project ?? process.cwd());
235
+ if (values.manifest !== undefined) {
236
+ const manifest = await readManifest(values.manifest);
237
+ const rootValues = roots(values, env);
238
+ const snapshot = await inspectInstallation(manifest, rootValues);
239
+ const results = [...(await runDoctor(manifest, rootValues, env)), ...diagnoseSnapshot(snapshot)];
240
+ output.log(canonicalJson(results));
241
+ return results.some((result) => result.status === 'error') ? 2 : 0;
242
+ }
243
+ if (!(await isRegularFile(join(project, '.neottia', 'config.yml')))) {
244
+ output.error(`${WARN_PREFIX}Missing project configuration. Run neottia init first.`);
245
+ return 2;
246
+ }
247
+ const snapshot = resolveConfig(officialConfigRegistry, { cwd: project, env });
248
+ const modules = [
249
+ ['memory', 'modules.memory.enabled', snapshot.get(memoryConfigContribution).enabled],
250
+ ['issues', 'modules.issues.enabled', snapshot.get(issueConfigContribution).enabled],
251
+ ['design-docs', 'modules.design_docs.enabled', snapshot.get(designDocsConfigContribution).enabled],
252
+ ['searchable', 'modules.searchable.enabled', snapshot.get(searchableConfigContribution).enabled],
253
+ ];
254
+ const harnesses = selectHarnesses([], project, env);
255
+ let failures = 0;
256
+ output.log(`Configuration valid. Harnesses: ${harnesses.join(', ')}`);
257
+ for (const harnessId of harnesses) {
258
+ for (const [logicalId, configPath, enabled] of modules) {
259
+ if (!enabled)
260
+ continue;
261
+ void configPath;
262
+ const entry = catalogEntry(harnessId, logicalId);
263
+ if (entry === undefined) {
264
+ output.error(`${WARN_PREFIX}No compatible runtime package for ${harnessId} ${logicalId}. Remove the module or extend the catalog.`);
265
+ failures += 1;
266
+ }
267
+ }
268
+ }
269
+ const configuredScopes = new Map(snapshot.get(harnessInstallConfigContribution).targets.map((target) => [target.id, target.scope]));
270
+ for (const harnessId of harnesses) {
271
+ const scope = configuredScopes.get(harnessId) ?? 'project';
272
+ const installRoots = installRootsFor(project, env);
273
+ const receiptPath = receiptPathFor(harnessId, scope, installRoots);
274
+ if (await isRegularFile(receiptPath)) {
275
+ const inspected = await inspectUninstall(receiptPath, installRoots);
276
+ if (!diagnoseSnapshot(inspected).some((result) => result.status === 'error'))
277
+ continue;
278
+ output.error(`${WARN_PREFIX}${harnessId} lifecycle is installed but drifted. Rerun neottia apply.`);
279
+ }
280
+ else {
281
+ output.error(`${WARN_PREFIX}${harnessId} lifecycle is not installed. Run neottia apply.`);
282
+ }
283
+ failures += 1;
284
+ }
285
+ if (failures === 0)
286
+ output.log('No missing modules or installs detected.');
287
+ return failures > 0 ? 2 : 0;
288
+ }
289
+ function receiptPathFor(harnessId, scope, installRoots) {
290
+ return distributionReceiptPath(`sdlc-${harnessId}`, scope, installRoots);
108
291
  }
109
292
  async function recoverCommand(arguments_, output) {
110
293
  const { values } = parseArgs({
@@ -148,10 +331,10 @@ function roots(values, env) {
148
331
  }
149
332
  function normalizeInitHarnesses(values) {
150
333
  if (values.length === 0)
151
- throw new TypeError('init requires at least one --harness.');
152
- const unsupported = values.find((value) => !SUPPORTED_INIT_HARNESSES.includes(value));
334
+ throw new TypeError('At least one --harness is required.');
335
+ const unsupported = values.find((value) => !SUPPORTED_HARNESSES.includes(value));
153
336
  if (unsupported !== undefined) {
154
- throw new TypeError(`Unsupported init harness: ${unsupported}. Expected one of: ${SUPPORTED_INIT_HARNESSES.join(', ')}.`);
337
+ throw new TypeError(`Unsupported harness: ${unsupported}. Expected one of: ${SUPPORTED_HARNESSES.join(', ')}.`);
155
338
  }
156
339
  return Object.freeze([...new Set(values)].sort((left, right) => left.localeCompare(right)));
157
340
  }
@@ -276,7 +459,9 @@ async function emitPlan(plan, path, output) {
276
459
  function help() {
277
460
  return [
278
461
  'Usage:',
279
- ' neottia init --harness pi|opencode [--harness pi|opencode]... [--project DIR]',
462
+ ' neottia init [--harness pi|opencode]... [--project DIR] # create, or validate if present',
463
+ ' neottia apply [--harness ID]... [--scope project|global] [--project DIR]',
464
+ ' neottia doctor [--project DIR] # static config + install report',
280
465
  ' neottia plan --manifest FILE [--action install|update] [--output FILE] [--approve ID]...',
281
466
  ' neottia apply --plan FILE',
282
467
  ' neottia uninstall --receipt FILE [--output FILE] [--approve ID]...',
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neottia/cli",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Command-line planner, installer, updater, uninstaller, and doctor for Neottia assets",
5
5
  "author": "Dragos Cirjan",
6
6
  "license": "MIT",
@@ -39,8 +39,16 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@neottia/config": "^0.2.0",
42
- "@neottia/config-registry": "^0.2.0",
43
- "@neottia/distribution": "^0.2.0"
42
+ "@neottia/config-registry": "^0.2.1",
43
+ "@neottia/design-docs": "^0.2.0",
44
+ "@neottia/distribution": "^0.2.0",
45
+ "@neottia/issues": "^0.2.0",
46
+ "@neottia/harness-adapter": "^0.2.0",
47
+ "@neottia/memory-core": "^0.2.0",
48
+ "@neottia/opencode-adapter": "^0.2.0",
49
+ "@neottia/pi-adapter": "^0.2.0",
50
+ "@neottia/sdlc": "^0.3.0",
51
+ "@neottia/searchable-core": "^0.2.0"
44
52
  },
45
53
  "devDependencies": {
46
54
  "@templ-project/tsconfig": "^0.2.2",