@hydranium/cli 1.0.0-next.413 → 1.0.0-next.418

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 (37) hide show
  1. package/README.md +5 -0
  2. package/lib/cli.js +2 -0
  3. package/lib/cli.js.map +1 -1
  4. package/lib/commands/check-skills-args.d.ts +11 -0
  5. package/lib/commands/check-skills-args.d.ts.map +1 -0
  6. package/lib/commands/check-skills-args.js +71 -0
  7. package/lib/commands/check-skills-args.js.map +1 -0
  8. package/lib/commands/generate-ast-builder.d.ts +1 -1
  9. package/lib/commands/generate-ast-builder.js +1 -1
  10. package/lib/commands/init-args.d.ts +2 -18
  11. package/lib/commands/init-args.d.ts.map +1 -1
  12. package/lib/commands/init-args.js +46 -7
  13. package/lib/commands/init-args.js.map +1 -1
  14. package/lib/commands/init-skills.d.ts +41 -0
  15. package/lib/commands/init-skills.d.ts.map +1 -0
  16. package/lib/commands/init-skills.js +110 -0
  17. package/lib/commands/init-skills.js.map +1 -0
  18. package/lib/commands/init-wizard.d.ts +4 -0
  19. package/lib/commands/init-wizard.d.ts.map +1 -1
  20. package/lib/commands/init-wizard.js +15 -1
  21. package/lib/commands/init-wizard.js.map +1 -1
  22. package/lib/commands/init.d.ts.map +1 -1
  23. package/lib/commands/init.js +3 -1
  24. package/lib/commands/init.js.map +1 -1
  25. package/lib/commands/skills.d.ts +22 -0
  26. package/lib/commands/skills.d.ts.map +1 -0
  27. package/lib/commands/skills.js +129 -0
  28. package/lib/commands/skills.js.map +1 -0
  29. package/package.json +26 -20
  30. package/src/cli.ts +2 -0
  31. package/src/commands/check-skills-args.ts +70 -0
  32. package/src/commands/generate-ast-builder.ts +1 -1
  33. package/src/commands/init-args.ts +47 -7
  34. package/src/commands/init-skills.ts +129 -0
  35. package/src/commands/init-wizard.ts +24 -2
  36. package/src/commands/init.ts +3 -1
  37. package/src/commands/skills.ts +146 -0
package/README.md CHANGED
@@ -15,6 +15,8 @@ and the other commands drive your built head from a shell or a CI step.
15
15
  own docs.
16
16
  - Generate the serializable transfer model from Langium's generated AST.
17
17
  - Measure model-store memory and analyze a V8 heap snapshot.
18
+ - Install optional coding-agent skills after scaffolding and check their
19
+ declared compatibility with your project's installed dependencies.
18
20
  - List, read, create, save and watch documents through a spawned data server,
19
21
  printing JSON a script can pipe, and delete them.
20
22
 
@@ -61,6 +63,9 @@ lists each command's flags.
61
63
  `--hosts theia-electron`, and a starter workspace.
62
64
  - **Grammar and workspace.** Boot your built head to reflect its grammar, lint
63
65
  it, write a model reference, validate a workspace, or count its AST nodes.
66
+ - **Agent skills.** The wizard offers Hydranium and upstream Langium skills
67
+ after scaffolding. `check-skills` checks installed skill metadata against
68
+ your dependencies; see *Work with coding-agent skills* in the adopter guides.
64
69
  - **Codegen.** `generate-transfer-model` turns the AST into a transfer model,
65
70
  once or on watch, and can also write each grammar's language id and
66
71
  extensions for a package your clients share without Langium, and a
package/lib/cli.js CHANGED
@@ -13,6 +13,7 @@ import { readCliVersion } from './cli-version.js';
13
13
  import { runAnalyzeHeapCommand } from './commands/analyze-heap-args.js';
14
14
  import { runAstGroundTruthCommand } from './commands/ast-ground-truth-args.js';
15
15
  import { runCreateCommand } from './commands/create-args.js';
16
+ import { runCheckSkillsCommand } from './commands/check-skills-args.js';
16
17
  import { runDeleteCommand } from './commands/delete-args.js';
17
18
  import { runGenerateTransferModelCommand } from './commands/generate-transfer-model-args.js';
18
19
  import { runInitCommand } from './commands/init-args.js';
@@ -47,6 +48,7 @@ const COMMANDS = {
47
48
  run: runAstGroundTruthCommand
48
49
  },
49
50
  create: { summary: 'Create a new document and its file via a data-server subprocess.', run: runCreateCommand },
51
+ 'check-skills': { summary: 'Check installed agent skills against project dependency versions.', run: runCheckSkillsCommand },
50
52
  delete: { summary: 'Delete a document, its file included, via a data-server subprocess.', run: runDeleteCommand },
51
53
  'generate-transfer-model': {
52
54
  summary: 'Generate a transfer-model TypeScript file from a Langium AST.',
package/lib/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ export declare const CHECK_SKILLS_HELP: string[];
10
+ export declare function runCheckSkillsCommand(args: string[]): void;
11
+ //# sourceMappingURL=check-skills-args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-skills-args.d.ts","sourceRoot":"","sources":["../../src/commands/check-skills-args.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAMlF,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAqC1D"}
@@ -0,0 +1,71 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import * as path from 'node:path';
10
+ import { exitWithUsage, helpRequested, printHelp } from './harness-args.js';
11
+ import { checkSkills } from './skills.js';
12
+ export const CHECK_SKILLS_HELP = [
13
+ 'Usage: hydranium-cli check-skills [project-directory] [--from <directory>] [--skill <names>]',
14
+ '',
15
+ 'Check declared compatibility of installed Hydranium and Langium skills.',
16
+ 'Reads .agents/skills and .claude/skills in the project directory (default: cwd).',
17
+ 'Checks every copy. Does not download, update, or execute skills.',
18
+ 'Exits non-zero for incompatible, missing, malformed, or unverified skills.',
19
+ '',
20
+ ' --from <directory> Resolve installed packages from this directory, relative',
21
+ ' to the project. Default: the project directory.',
22
+ ' Use the server package for workspace-local dependencies.',
23
+ ' --skill <names> Check only these comma-separated skill names.',
24
+ ' Default: hydranium-*. Use --skill langium to check upstream.',
25
+ '',
26
+ 'A compatible result checks declared skill contracts,',
27
+ 'not the accuracy of prose.',
28
+ 'Upstream skills without Hydranium metadata are unverified.'
29
+ ];
30
+ export function runCheckSkillsCommand(args) {
31
+ if (helpRequested(args, ['--from', '--skill'])) {
32
+ printHelp(CHECK_SKILLS_HELP);
33
+ return;
34
+ }
35
+ let project;
36
+ let from;
37
+ let names;
38
+ for (let index = 0; index < args.length; index++) {
39
+ const argument = args[index];
40
+ if (argument === '--from' || argument === '--skill') {
41
+ const value = args[++index];
42
+ if (!value || value.startsWith('--')) {
43
+ exitWithUsage(`Missing value for ${argument}`);
44
+ }
45
+ if (argument === '--from') {
46
+ from = value;
47
+ }
48
+ else {
49
+ names = value.split(',');
50
+ if (names.some(name => !/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(name))) {
51
+ exitWithUsage('Invalid skill name.');
52
+ }
53
+ }
54
+ }
55
+ else if (argument.startsWith('-') || project !== undefined) {
56
+ exitWithUsage(`Unexpected argument: ${argument} (hydranium-cli check-skills --help)`);
57
+ }
58
+ else {
59
+ project = argument;
60
+ }
61
+ }
62
+ const root = path.resolve(project ?? '.');
63
+ const results = checkSkills(root, path.resolve(root, from ?? '.'), names);
64
+ for (const result of results) {
65
+ console.log(`${result.status}: ${result.file}: ${result.detail}`);
66
+ }
67
+ if (results.some(result => result.status !== 'compatible')) {
68
+ process.exitCode = 1;
69
+ }
70
+ }
71
+ //# sourceMappingURL=check-skills-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-skills-args.js","sourceRoot":"","sources":["../../src/commands/check-skills-args.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC9B,8FAA8F;IAC9F,EAAE;IACF,yEAAyE;IACzE,kFAAkF;IAClF,kEAAkE;IAClE,4EAA4E;IAC5E,EAAE;IACF,iFAAiF;IACjF,wEAAwE;IACxE,iFAAiF;IACjF,sEAAsE;IACtE,qFAAqF;IACrF,EAAE;IACF,sDAAsD;IACtD,4BAA4B;IAC5B,4DAA4D;CAC9D,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,IAAc;IACjD,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QAC9C,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC7B,OAAO;IACV,CAAC;IACD,IAAI,OAA2B,CAAC;IAChC,IAAI,IAAwB,CAAC;IAC7B,IAAI,KAA2B,CAAC;IAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,aAAa,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACzB,IAAI,GAAG,KAAK,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACL,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAChE,aAAa,CAAC,qBAAqB,CAAC,CAAC;gBACxC,CAAC;YACJ,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC5D,aAAa,CAAC,wBAAwB,QAAQ,sCAAsC,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACL,OAAO,GAAG,QAAQ,CAAC;QACtB,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACxB,CAAC;AACJ,CAAC"}
@@ -19,7 +19,7 @@ export interface EmitAstBuilderOptions {
19
19
  regenCommand: string;
20
20
  }
21
21
  /**
22
- * Emit a module binding {@link makeAstNodeBuilder} to a project's reflection,
22
+ * Emit a module binding `makeAstNodeBuilder` to a project's reflection,
23
23
  * once per grammar plus once across all of them.
24
24
  *
25
25
  * **The binding is boilerplate with exactly one degree of freedom** — the type
@@ -18,7 +18,7 @@ const NAMESPACED_AST_TYPE_NAME = 'AstType';
18
18
  /** Export name of the merged, whole-project binding. */
19
19
  const MERGED_EXPORT_NAME = 'astNode';
20
20
  /**
21
- * Emit a module binding {@link makeAstNodeBuilder} to a project's reflection,
21
+ * Emit a module binding `makeAstNodeBuilder` to a project's reflection,
22
22
  * once per grammar plus once across all of them.
23
23
  *
24
24
  * **The binding is boilerplate with exactly one degree of freedom** — the type
@@ -6,24 +6,6 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- /**
10
- * `init`'s argv parser.
11
- *
12
- * Its own module rather than a function in the CLI entry point, because the
13
- * entry point runs `main()` on import: a test that wants to read an argv the
14
- * way the command does would otherwise have to execute the whole binary. That
15
- * matters more here than for the other subcommands, since the wizard's entire
16
- * contract is that its composed argv means exactly what a typed one would — a
17
- * claim only a test that round-trips through THIS function can check.
18
- *
19
- * The parsing is hand-written rather than declared to `commander` because the
20
- * grammar-scoped flags are ORDER-dependent across different option names:
21
- * `--extensions` applies to the `--grammar` it follows, so
22
- * `--grammar A --extensions x --grammar B` and
23
- * `--grammar A --grammar B --extensions x` mean different things. A declarative
24
- * option model collects `{grammar: [A, B], extensions: [x]}` for both and the
25
- * association is gone.
26
- */
27
9
  import { type UsageError } from './harness-args.js';
28
10
  import { type InitHead } from './init.js';
29
11
  import type { InitHost } from './init-hosts.js';
@@ -40,6 +22,8 @@ export interface ParsedInitArgs {
40
22
  name?: string;
41
23
  force: boolean;
42
24
  install: boolean;
25
+ skills?: string;
26
+ agents?: string;
43
27
  heads?: InitHead[];
44
28
  hosts?: InitHost[];
45
29
  monorepo: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"init-args.d.ts","sourceRoot":"","sources":["../../src/commands/init-args.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAA2D,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EAAoD,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC5F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAKhD,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,sGAAsG;AACtG,MAAM,WAAW,cAAc;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAavC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAQ7C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAA0B,GAAG,cAAc,CAyFjG;AAED;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,EAgGtC,CAAC;AAEF,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgClE"}
1
+ {"version":3,"file":"init-args.d.ts","sourceRoot":"","sources":["../../src/commands/init-args.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAsBlF,OAAO,EAA2D,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EAAoD,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC5F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAMhD,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,sGAAsG;AACtG,MAAM,WAAW,cAAc;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAevC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAU7C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAA0B,GAAG,cAAc,CAiGjG;AAED;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,EA0GtC,CAAC;AAEF,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ClE"}
@@ -24,11 +24,13 @@
24
24
  * option model collects `{grammar: [A, B], extensions: [x]}` for both and the
25
25
  * association is gone.
26
26
  */
27
+ import * as path from 'node:path';
27
28
  import { assertRequired, exitWithUsage, helpRequested, printHelp } from './harness-args.js';
28
29
  import { isNonEmptyDir, runInit, validateInitInstallation } from './init.js';
29
30
  import { createClackPrompt } from './init-prompt.js';
30
31
  import { runInitWizard } from './init-wizard.js';
31
32
  import { createNodeWorkspaceProbe, detectWorkspace } from './init-workspace.js';
33
+ import { installSkills, offerSkills, parseSkillInstallation, SKILLS_INSTALLER } from './init-skills.js';
32
34
  /**
33
35
  * Every flag `init` accepts, as data.
34
36
  *
@@ -42,6 +44,8 @@ export const INIT_FLAGS = [
42
44
  '--hosts',
43
45
  '--force',
44
46
  '--install',
47
+ '--skills',
48
+ '--agents',
45
49
  '--monorepo',
46
50
  '--scope',
47
51
  '--public',
@@ -55,6 +59,8 @@ export const INIT_FLAGS = [
55
59
  * The rest are presence-only.
56
60
  */
57
61
  export const INIT_VALUE_FLAGS = [
62
+ '--skills',
63
+ '--agents',
58
64
  '--name',
59
65
  '--heads',
60
66
  '--hosts',
@@ -79,6 +85,8 @@ export function parseInitArgs(args, onError = exitWithUsage) {
79
85
  let name;
80
86
  let force = false;
81
87
  let install = false;
88
+ let skills;
89
+ let agents;
82
90
  let heads;
83
91
  let hosts;
84
92
  let monorepo = false;
@@ -106,6 +114,12 @@ export function parseInitArgs(args, onError = exitWithUsage) {
106
114
  return current;
107
115
  };
108
116
  switch (flag) {
117
+ case '--skills':
118
+ skills = next();
119
+ break;
120
+ case '--agents':
121
+ agents = next();
122
+ break;
109
123
  case '--name':
110
124
  name = next();
111
125
  break;
@@ -165,7 +179,7 @@ export function parseInitArgs(args, onError = exitWithUsage) {
165
179
  }
166
180
  }
167
181
  }
168
- return { targetDir, name, force, install, heads, hosts, monorepo, scope, public: isPublic, grammars };
182
+ return { targetDir, name, force, install, skills, agents, heads, hosts, monorepo, scope, public: isPublic, grammars };
169
183
  }
170
184
  /**
171
185
  * The `init --help` text, as data.
@@ -190,8 +204,9 @@ export const INIT_HELP = [
190
204
  'launch of the VS Code and Theia ones, and theia/ the Theia extension;',
191
205
  'workspace/ holds two starter model files per grammar. A standalone project',
192
206
  'also gets a root manifest naming the packages as npm workspaces.',
193
- 'Stays offline by default. With --install, runs `npm install` after writing',
194
- 'the scaffold. Building remains a next step. Refuses a non-empty directory',
207
+ 'Stays offline unless --install or --skills is requested. With --install,',
208
+ 'runs `npm install` after writing the scaffold. Building remains a next step.',
209
+ 'Refuses a non-empty directory',
195
210
  'without --force.',
196
211
  '',
197
212
  'Run it with no --name on a terminal to be prompted instead. The wizard echoes',
@@ -199,6 +214,8 @@ export const INIT_HELP = [
199
214
  'flags. Without a terminal a missing --name stays an error, so CI never hangs.',
200
215
  'For a standalone project, the wizard ends by offering npm install unless',
201
216
  '--install already requested it.',
217
+ 'After a successful scaffold, the wizard offers coding-agent skills separately.',
218
+ 'Skipping or cancelling that offer leaves the scaffold intact.',
202
219
  '',
203
220
  'Project options (position-free):',
204
221
  ' <target-dir> The project directory to scaffold into (required).',
@@ -223,6 +240,12 @@ export const INIT_HELP = [
223
240
  ' --hosts, the server with its Node entry points, and',
224
241
  ' with glsp the client/ package a host mounts.',
225
242
  ' --force Scaffold into a non-empty directory anyway.',
243
+ ' --skills <names> After scaffolding, install named skills: hydranium-profiling,',
244
+ ` langium. Requires --agents. Downloads with npx ${SKILLS_INSTALLER} add`,
245
+ ' --copy, preserving unrelated skills and lock entries.',
246
+ ' With --monorepo, skills are written at the workspace root.',
247
+ ' --agents <names> Comma-separated agents for --skills: codex, claude-code,',
248
+ ' cursor, github-copilot, opencode.',
226
249
  ' --install Run npm install in the scaffold, with lifecycle scripts',
227
250
  ' and network access. Cannot be combined with --monorepo:',
228
251
  ' its parent manifest needs manual edits first.',
@@ -231,7 +254,8 @@ export const INIT_HELP = [
231
254
  ' extends the root config that actually carries',
232
255
  ' compilerOptions, and the scripts address the server by',
233
256
  ' --prefix. Errors when no ancestor declares `workspaces`.',
234
- ' Never writes outside the target — the root `workspaces`',
257
+ ' Scaffold files stay inside the target; optional skills',
258
+ ' go at the workspace root. The root `workspaces`',
235
259
  ' entries and dependency pins are printed, not added.',
236
260
  ' --scope <@scope> npm scope for the package names, e.g. @acme. Not inferred:',
237
261
  ' a root manifest is usually named for the repo, not the',
@@ -276,20 +300,24 @@ export async function runInitCommand(args) {
276
300
  printHelp(INIT_HELP);
277
301
  return;
278
302
  }
279
- const parsed = parseInitArgs(args);
303
+ let parsed = parseInitArgs(args);
280
304
  validateInitInstallation(parsed);
305
+ let selection = parseSkillInstallation(parsed.skills, parsed.agents);
306
+ let prompt;
281
307
  // The wizard's entry point: no `--name` on an interactive terminal. Safe
282
308
  // because that combination has no non-wizard meaning, and gated on a TTY
283
309
  // because a non-interactive caller must keep failing fast — a prompt in CI
284
310
  // hangs the job instead of reporting the missing flag.
285
311
  if (parsed.name === undefined && process.stdin.isTTY && process.stdout.isTTY) {
286
- const prompt = await createClackPrompt();
312
+ prompt = await createClackPrompt();
287
313
  const argv = await runInitWizard(prompt, targetDir => detectWorkspace(targetDir, createNodeWorkspaceProbe()), {
288
314
  targetDir: parsed.targetDir,
289
315
  install: parsed.install,
316
+ skills: parsed.skills,
317
+ agents: parsed.agents,
290
318
  isOccupied: isNonEmptyDir
291
319
  });
292
- return runInitCommand(argv);
320
+ parsed = parseInitArgs(argv);
293
321
  }
294
322
  runInit({
295
323
  targetDir: assertRequired(parsed.targetDir, '<target-dir>', 'init'),
@@ -303,5 +331,16 @@ export async function runInitCommand(args) {
303
331
  scope: parsed.scope,
304
332
  public: parsed.public
305
333
  });
334
+ const target = path.resolve(parsed.targetDir);
335
+ const project = parsed.monorepo ? detectWorkspace(target, createNodeWorkspaceProbe()).rootDir : target;
336
+ if (selection === undefined && prompt !== undefined) {
337
+ selection = await offerSkills(prompt, project);
338
+ }
339
+ if (selection !== undefined) {
340
+ installSkills(project, path.join(target, 'server'), selection);
341
+ }
342
+ else {
343
+ process.stdout.write('\nOptional agent skills: see the Work with coding-agent skills guide.\n');
344
+ }
306
345
  }
307
346
  //# sourceMappingURL=init-args.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-args.js","sourceRoot":"","sources":["../../src/commands/init-args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-args.js","sourceRoot":"","sources":["../../src/commands/init-args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import { type PromptPort } from './init-prompt.js';
10
+ export declare const SKILLS_INSTALLER = "skills@1.7.6";
11
+ export declare const ADOPTER_SKILLS: {
12
+ readonly 'hydranium-profiling': {
13
+ readonly source: 'eclipse-emfcloud/hydranium';
14
+ readonly label: 'Hydranium profiling';
15
+ };
16
+ readonly langium: {
17
+ readonly source: 'eclipse-langium/langium-ai';
18
+ readonly label: 'Langium grammar and runtime';
19
+ };
20
+ };
21
+ export type AdopterSkill = keyof typeof ADOPTER_SKILLS;
22
+ export declare const SKILL_AGENTS: {
23
+ readonly codex: 'Codex';
24
+ readonly 'claude-code': 'Claude Code';
25
+ readonly cursor: 'Cursor';
26
+ readonly 'github-copilot': 'GitHub Copilot';
27
+ readonly opencode: 'OpenCode';
28
+ };
29
+ export type SkillAgent = keyof typeof SKILL_AGENTS;
30
+ export interface SkillInstallation {
31
+ readonly skills: readonly AdopterSkill[];
32
+ readonly agents: readonly SkillAgent[];
33
+ }
34
+ /** Validate before scaffolding so a misspelling cannot leave a half-completed command. */
35
+ export declare function parseSkillInstallation(skills?: string, agents?: string): SkillInstallation | undefined;
36
+ export declare function skillInstallArgs(skill: AdopterSkill, agents: readonly SkillAgent[]): string[];
37
+ /** A failed optional download leaves the scaffold usable and gives an independently runnable retry. */
38
+ export declare function installSkills(project: string, from: string, selection: SkillInstallation, write?: (message: string) => void): void;
39
+ /** This prompt runs only after the scaffold succeeds; cancelling it cannot undo the scaffold. */
40
+ export declare function offerSkills(prompt: PromptPort, project: string): Promise<SkillInstallation | undefined>;
41
+ //# sourceMappingURL=init-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-skills.d.ts","sourceRoot":"","sources":["../../src/commands/init-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGxE,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,eAAO,MAAM,cAAc;aACxB,qBAAqB;iBAAI,MAAM,EAAE,4BAA4B;iBAAE,KAAK,EAAE,qBAAqB;;aAC3F,OAAO;iBAAI,MAAM,EAAE,4BAA4B;iBAAE,KAAK,EAAE,6BAA6B;;CAC9E,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,cAAc,CAAC;AAEvD,eAAO,MAAM,YAAY;aACtB,KAAK,EAAE,OAAO;aACd,aAAa,EAAE,aAAa;aAC5B,MAAM,EAAE,QAAQ;aAChB,gBAAgB,EAAE,gBAAgB;aAClC,QAAQ,EAAE,UAAU;CACb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,YAAY,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;CACzC;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAoBtG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CAE7F;AAED,uGAAuG;AACvG,wBAAgB,aAAa,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,iBAAiB,EAC5B,KAAK,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAA+C,GAC3E,IAAI,CA6BN;AAED,iGAAiG;AACjG,wBAAsB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAyB7G"}
@@ -0,0 +1,110 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import { spawnSync } from 'node:child_process';
10
+ import * as path from 'node:path';
11
+ import { InitWizardCancelled } from './init-prompt.js';
12
+ import { checkSkills } from './skills.js';
13
+ export const SKILLS_INSTALLER = 'skills@1.7.6';
14
+ export const ADOPTER_SKILLS = {
15
+ 'hydranium-profiling': { source: 'eclipse-emfcloud/hydranium', label: 'Hydranium profiling' },
16
+ langium: { source: 'eclipse-langium/langium-ai', label: 'Langium grammar and runtime' }
17
+ };
18
+ export const SKILL_AGENTS = {
19
+ codex: 'Codex',
20
+ 'claude-code': 'Claude Code',
21
+ cursor: 'Cursor',
22
+ 'github-copilot': 'GitHub Copilot',
23
+ opencode: 'OpenCode'
24
+ };
25
+ /** Validate before scaffolding so a misspelling cannot leave a half-completed command. */
26
+ export function parseSkillInstallation(skills, agents) {
27
+ if (skills === undefined && agents === undefined) {
28
+ return undefined;
29
+ }
30
+ if (!skills || !agents) {
31
+ throw new Error('--skills and --agents must be supplied together.');
32
+ }
33
+ const selectedSkills = skills.split(',');
34
+ const selectedAgents = agents.split(',');
35
+ for (const name of selectedSkills) {
36
+ if (!Object.hasOwn(ADOPTER_SKILLS, name)) {
37
+ throw new Error(`Unknown skill '${name}'. Choose ${Object.keys(ADOPTER_SKILLS).join(', ')}.`);
38
+ }
39
+ }
40
+ for (const name of selectedAgents) {
41
+ if (!Object.hasOwn(SKILL_AGENTS, name)) {
42
+ throw new Error(`Unknown agent '${name}'. Choose ${Object.keys(SKILL_AGENTS).join(', ')}.`);
43
+ }
44
+ }
45
+ return { skills: [...new Set(selectedSkills)], agents: [...new Set(selectedAgents)] };
46
+ }
47
+ export function skillInstallArgs(skill, agents) {
48
+ return ['--yes', SKILLS_INSTALLER, 'add', ADOPTER_SKILLS[skill].source, '--skill', skill, '--agent', ...agents, '--copy', '--yes'];
49
+ }
50
+ /** A failed optional download leaves the scaffold usable and gives an independently runnable retry. */
51
+ export function installSkills(project, from, selection, write = message => process.stdout.write(message)) {
52
+ for (const skill of selection.skills) {
53
+ const args = skillInstallArgs(skill, selection.agents);
54
+ write(`\nIn ${project}: npx ${args.join(' ')}\n`);
55
+ try {
56
+ // Only catalogued names reach the Windows shim's shell; paths travel as cwd, never shell text.
57
+ const result = spawnSync(process.platform === 'win32' ? 'npx.cmd' : 'npx', args, {
58
+ cwd: project,
59
+ stdio: 'inherit',
60
+ shell: process.platform === 'win32'
61
+ });
62
+ if (result.signal === 'SIGINT' || result.status === 130) {
63
+ write('Skill installation cancelled. Scaffold kept.\n');
64
+ return;
65
+ }
66
+ if (result.error || result.signal || result.status !== 0) {
67
+ throw result.error ?? new Error(result.signal ?? `exit code ${result.status}`);
68
+ }
69
+ for (const result of checkSkills(project, from, [skill])) {
70
+ write(`${result.status}: ${result.file}: ${result.detail}\n`);
71
+ }
72
+ }
73
+ catch (error) {
74
+ write(`Skill installation failed (${error instanceof Error ? error.message : String(error)}). Scaffold kept.\n`);
75
+ write(`Retry in ${project}: npx ${args.join(' ')}\n`);
76
+ }
77
+ }
78
+ const relative = path.relative(project, from) || '.';
79
+ const quoted = `'${relative.replace(/'/g, "'\\''")}'`;
80
+ write(`Check again after installing or updating dependencies: npx hydranium-cli check-skills --from ${quoted}\n`);
81
+ }
82
+ /** This prompt runs only after the scaffold succeeds; cancelling it cannot undo the scaffold. */
83
+ export async function offerSkills(prompt, project) {
84
+ try {
85
+ prompt.intro('Optional coding-agent skills');
86
+ if (!(await prompt.confirm({ message: `Install coding-agent skills in ${project}?`, initialValue: false }))) {
87
+ prompt.outro('Skills skipped.');
88
+ return undefined;
89
+ }
90
+ const skills = await prompt.multiselect({
91
+ message: 'Skills to install',
92
+ choices: Object.entries(ADOPTER_SKILLS).map(([value, skill]) => ({ value: value, label: skill.label })),
93
+ initialValues: ['hydranium-profiling', 'langium']
94
+ });
95
+ const agents = await prompt.multiselect({
96
+ message: 'Coding agents',
97
+ choices: Object.entries(SKILL_AGENTS).map(([value, label]) => ({ value: value, label }))
98
+ });
99
+ prompt.outro('Installing selected skills as project files. Commit the files and skills-lock.json.');
100
+ return { skills, agents };
101
+ }
102
+ catch (error) {
103
+ if (error instanceof InitWizardCancelled) {
104
+ prompt.outro('Skills skipped. Scaffold kept.');
105
+ return undefined;
106
+ }
107
+ throw error;
108
+ }
109
+ }
110
+ //# sourceMappingURL=init-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-skills.js","sourceRoot":"","sources":["../../src/commands/init-skills.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,8 @@ export interface InitAnswers {
41
41
  readonly public: boolean;
42
42
  /** Run npm install after writing the scaffold. */
43
43
  readonly install: boolean;
44
+ readonly skills?: string;
45
+ readonly agents?: string;
44
46
  }
45
47
  /** PascalCase a directory name, splitting on any non-alphanumeric run. */
46
48
  export declare function pascalCase(value: string): string;
@@ -67,5 +69,7 @@ export declare function runInitWizard(prompt: PromptPort, detect: (targetDir: st
67
69
  readonly targetDir?: string;
68
70
  readonly isOccupied?: (targetDir: string) => boolean;
69
71
  readonly install?: boolean;
72
+ readonly skills?: string;
73
+ readonly agents?: string;
70
74
  }): Promise<string[]>;
71
75
  //# sourceMappingURL=init-wizard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-wizard.d.ts","sourceRoot":"","sources":["../../src/commands/init-wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAqDlF,OAAO,EAAkC,KAAK,QAAQ,EAAmE,MAAM,WAAW,CAAC;AAC3I,OAAO,EAA4B,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAC/B,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC5B;AAED,+FAA+F;AAC/F,MAAM,WAAW,WAAW;IACzB,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC5B;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMhD;AAOD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAyC9D;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAG7D;AAoLD;;;;;;GAMG;AACH,wBAAsB,aAAa,CAChC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,EAC7D,OAAO,GAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/H,OAAO,CAAC,MAAM,EAAE,CAAC,CA2DnB"}
1
+ {"version":3,"file":"init-wizard.d.ts","sourceRoot":"","sources":["../../src/commands/init-wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAqDlF,OAAO,EAAkC,KAAK,QAAQ,EAAmE,MAAM,WAAW,CAAC;AAC3I,OAAO,EAA4B,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAC/B,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC5B;AAED,+FAA+F;AAC/F,MAAM,WAAW,WAAW;IACzB,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMhD;AAOD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CA4C9D;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAG7D;AAoLD;;;;;;GAMG;AACH,wBAAsB,aAAa,CAChC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,EAC7D,OAAO,GAAE;IACN,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACtB,GACN,OAAO,CAAC,MAAM,EAAE,CAAC,CAsEnB"}
@@ -121,6 +121,9 @@ export function composeInitArgv(answers) {
121
121
  if (answers.install) {
122
122
  argv.push('--install');
123
123
  }
124
+ if (answers.skills !== undefined && answers.agents !== undefined) {
125
+ argv.push('--skills', answers.skills, '--agents', answers.agents);
126
+ }
124
127
  return argv;
125
128
  }
126
129
  /** Render an argv as a copy-pasteable command line, quoting only what a shell would mangle. */
@@ -324,7 +327,18 @@ export async function runInitWizard(prompt, detect, options = {}) {
324
327
  message: 'Install dependencies now (npm install)?',
325
328
  initialValue: false
326
329
  })));
327
- const argv = composeInitArgv({ targetDir, name, heads, hosts, grammars: withDiagram, force, install, ...packaging });
330
+ const argv = composeInitArgv({
331
+ targetDir,
332
+ name,
333
+ heads,
334
+ hosts,
335
+ grammars: withDiagram,
336
+ force,
337
+ install,
338
+ skills: options.skills,
339
+ agents: options.agents,
340
+ ...packaging
341
+ });
328
342
  // Echoed as the LAST thing before the scaffold runs, because it is the
329
343
  // artefact the session produces: everything above is how it was reached.
330
344
  prompt.outro(formatCommand(argv));