@skillit/client 0.3.1 → 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.
@@ -15,6 +15,7 @@ export interface GenCommandOpts {
15
15
  mcp?: string;
16
16
  server?: string;
17
17
  out: string;
18
+ invocation?: string;
18
19
  }
19
20
  export declare function buildGenCommand(deps?: GenDeps): Command;
20
21
  //# sourceMappingURL=gen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC9B,MAAM,gBAAgB,CAAC;AAIxB,2DAA2D;AAC3D,MAAM,WAAW,OAAO;IACtB,gBAAgB,CAAC,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,mBAAmB,CAAC,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,oBAAoB,CAAC,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,gBAAgB,CAAC,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAmBD,wBAAgB,eAAe,CAAC,IAAI,GAAE,OAAY,GAAG,OAAO,CAgG3D"}
1
+ {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAML,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC9B,MAAM,gBAAgB,CAAC;AAIxB,2DAA2D;AAC3D,MAAM,WAAW,OAAO;IACtB,gBAAgB,CAAC,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,mBAAmB,CAAC,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,oBAAoB,CAAC,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,gBAAgB,CAAC,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAmBD,wBAAgB,eAAe,CAAC,IAAI,GAAE,OAAY,GAAG,OAAO,CAuG3D"}
@@ -36,6 +36,7 @@ export function buildGenCommand(deps = {}) {
36
36
  .option('--mcp <path>', 'path to mcp.json or MCP config file (mcp source)')
37
37
  .option('--server <name>', 'MCP server entry to select (mcp source)')
38
38
  .option('--out <dir>', 'output directory for the generated skill', 'skills')
39
+ .option('--invocation <mode>', 'invocation mode for CLI command examples: npx (zero-install) or global (bare binary)')
39
40
  .action(async (opts) => {
40
41
  const cwd = process.cwd();
41
42
  const outDir = join(cwd, opts.out);
@@ -97,7 +98,10 @@ export function buildGenCommand(deps = {}) {
97
98
  nature,
98
99
  name,
99
100
  outDir,
100
- ...(opts.program !== undefined ? { program: opts.program } : {})
101
+ ...(opts.program !== undefined ? { program: opts.program } : {}),
102
+ ...(opts.invocation !== undefined
103
+ ? { invocationMode: opts.invocation }
104
+ : {})
101
105
  });
102
106
  return;
103
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,11 @@ type PackageManager = 'pnpm' | 'yarn' | 'npm';
8
8
  export interface InitDeps {
9
9
  /** Install `pkg` as a dev dependency in `cwd` using package manager `pm`. */
10
10
  runInstall?(pkg: string, pm: PackageManager, cwd: string): Promise<void>;
11
+ /**
12
+ * Write `skillit-postinstall.cjs` and wire `scripts.postinstall` in
13
+ * `package.json`. Skips (with a warning) if `postinstall` is already set.
14
+ */
15
+ wirePostinstall?(cwd: string): Promise<void>;
11
16
  }
12
17
  export declare function buildInitCommand(deps?: InitDeps): Command;
13
18
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,6EAA6E;IAC7E,UAAU,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E;AAqCD,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,QAAa,GAAG,OAAO,CAkE7D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,6EAA6E;IAC7E,UAAU,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE;;;OAGG;IACH,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAwDD,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,QAAa,GAAG,OAAO,CAoE7D"}
@@ -1,7 +1,10 @@
1
1
  // packages/client/src/commands/init.ts
2
2
  import { spawn } from 'node:child_process';
3
+ import { readFile, writeFile } from 'node:fs/promises';
4
+ import { join } from 'node:path';
3
5
  import { Command } from 'commander';
4
6
  import { detectPackageManager, detectProjectNature } from '../detect-source.js';
7
+ import { generatePostinstallScript } from '../postinstall-template.js';
5
8
  const VALID_SOURCES = ['cli', 'mcp', 'typedoc'];
6
9
  /** Map a project nature to the `@skillit/*` package that handles it. */
7
10
  function natureToPackage(nature) {
@@ -19,6 +22,20 @@ function addDevCommand(pm, pkg) {
19
22
  return `yarn add -D ${pkg}`;
20
23
  return `npm install -D ${pkg}`;
21
24
  }
25
+ async function defaultWirePostinstall(cwd) {
26
+ const pkgPath = join(cwd, 'package.json');
27
+ const raw = await readFile(pkgPath, 'utf8');
28
+ const pkg = JSON.parse(raw);
29
+ if (pkg.scripts?.['postinstall']) {
30
+ console.warn(`Skipping postinstall wiring: scripts.postinstall is already set to "${pkg.scripts['postinstall']}". Add "node ./skillit-postinstall.cjs" to it manually if needed.`);
31
+ return;
32
+ }
33
+ await writeFile(join(cwd, 'skillit-postinstall.cjs'), generatePostinstallScript(), 'utf8');
34
+ if (!pkg.scripts)
35
+ pkg.scripts = {};
36
+ pkg.scripts['postinstall'] = 'node ./skillit-postinstall.cjs';
37
+ await writeFile(pkgPath, JSON.stringify(pkg, null, 2) + '\n', 'utf8');
38
+ }
22
39
  /** Default install: spawn the package manager's add-dev command, cwd-scoped. */
23
40
  function defaultRunInstall(pkg, pm, cwd) {
24
41
  const command = addDevCommand(pm, pkg);
@@ -36,6 +53,7 @@ function defaultRunInstall(pkg, pm, cwd) {
36
53
  }
37
54
  export function buildInitCommand(deps = {}) {
38
55
  const runInstall = deps.runInstall ?? defaultRunInstall;
56
+ const wirePostinstall = deps.wirePostinstall ?? defaultWirePostinstall;
39
57
  return new Command('init')
40
58
  .description('Detect the project and install the right @skillit package (then run `skillit gen`)')
41
59
  .option('--source <kind>', 'cli | mcp | typedoc | config (auto-detected if omitted)')
@@ -78,6 +96,7 @@ export function buildInitCommand(deps = {}) {
78
96
  // support for those lands in a later phase). Don't point users at a
79
97
  // command that would immediately error for their source.
80
98
  if (nature === 'cli') {
99
+ await wirePostinstall(cwd);
81
100
  console.log(`Installed ${pkg}. Generate the skill with:\n skillit gen --source cli`);
82
101
  }
83
102
  else if (nature === 'mcp') {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect-source.d.ts","sourceRoot":"","sources":["../src/detect-source.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AACzD,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,WAAW,GAAG,MAAM,CAAC;AA+B3E;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CASrF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,GAAG,oBAAoB,CAIhG;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAEnF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAMhF;AAgBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAIzE"}
1
+ {"version":3,"file":"detect-source.d.ts","sourceRoot":"","sources":["../src/detect-source.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AACzD,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,WAAW,GAAG,MAAM,CAAC;AA+B3E;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CASrF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,GAAG,oBAAoB,CAIhG;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAEnF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAMhF;AAgBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAUzE"}
@@ -1,6 +1,6 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { readFile } from 'node:fs/promises';
3
- import { join } from 'node:path';
3
+ import { dirname, join } from 'node:path';
4
4
  import { loadProgram } from '@skillit/cli';
5
5
  /**
6
6
  * Read the union of `dependencies` + `devDependencies` from `<cwd>/package.json`.
@@ -115,10 +115,17 @@ async function hasLoadableProgram(cwd) {
115
115
  * `pnpm-lock.yaml` → `'pnpm'`, `yarn.lock` → `'yarn'`, else `'npm'`.
116
116
  */
117
117
  export function detectPackageManager(cwd) {
118
- if (existsSync(join(cwd, 'pnpm-lock.yaml')))
119
- return 'pnpm';
120
- if (existsSync(join(cwd, 'yarn.lock')))
121
- return 'yarn';
118
+ let dir = cwd;
119
+ while (true) {
120
+ if (existsSync(join(dir, 'pnpm-lock.yaml')))
121
+ return 'pnpm';
122
+ if (existsSync(join(dir, 'yarn.lock')))
123
+ return 'yarn';
124
+ const parent = dirname(dir);
125
+ if (parent === dir)
126
+ break; // filesystem root
127
+ dir = parent;
128
+ }
122
129
  return 'npm';
123
130
  }
124
131
  //# sourceMappingURL=detect-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect-source.js","sourceRoot":"","sources":["../src/detect-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect-source.js","sourceRoot":"","sources":["../src/detect-source.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { type CliInvocationMode } from '@skillit/cli';
2
+ export type { CliInvocationMode } from '@skillit/cli';
1
3
  import type { RefineSourceKind } from './detect-source.js';
2
4
  /** Options for CLI-path skill generation. */
3
5
  export interface GenerateSkillOpts {
@@ -11,6 +13,11 @@ export interface GenerateSkillOpts {
11
13
  outDir: string;
12
14
  /** `--program <file#export>` entry, if provided. */
13
15
  program?: string;
16
+ /**
17
+ * Override the invocation mode for command examples.
18
+ * Defaults to `npx` for public packages with a `bin` field, `global` otherwise.
19
+ */
20
+ invocationMode?: CliInvocationMode;
14
21
  }
15
22
  /** Options for config-path skill generation. */
16
23
  export interface GenerateConfigSkillOpts {
@@ -60,7 +67,7 @@ export interface GenerateMcpSkillOpts {
60
67
  * load the MCP stack (and its SDK) at startup for non-mcp commands.
61
68
  */
62
69
  export declare function generateMcpSkill(opts: GenerateMcpSkillOpts): Promise<void>;
63
- /** CLI-path skill generation: loadProgram → extractCliSkill → writeCliSkill. */
70
+ /** CLI-path skill generation: loadProgram → extractCliSkill → applyNpxMode → writeCliSkill. */
64
71
  export declare function generateCliSkill(opts: GenerateSkillOpts): Promise<void>;
65
72
  /** Config-path skill generation: extract the surface → render → write. */
66
73
  export declare function generateConfigSkill(opts: GenerateConfigSkillOpts): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iDAAiD;AACjD,MAAM,WAAW,wBAAwB;IACvC,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQxF;AAED,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF;AAED,gFAAgF;AAChF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7E;AAED,0EAA0E;AAC1E,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAetF"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAUtB,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,iBAAiB,CAAC;CACpC;AAED,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iDAAiD;AACjD,MAAM,WAAW,wBAAwB;IACvC,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQxF;AAED,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF;AAED,+FAA+F;AAC/F,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7E;AAED,0EAA0E;AAC1E,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtF"}
package/dist/generate.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // packages/client/src/generate.ts
2
- import { extractCliSkill, loadProgram, writeCliSkill } from '@skillit/cli';
3
- import { ConfigRefineSource, renderSkills, writeSkills } from '@skillit/core';
2
+ import { applyNpxMode, extractCliSkill, loadProgram, writeCliSkill } from '@skillit/cli';
3
+ import { ConfigRefineSource, discoverDepSkills, findNearestPackageDir, readPackageMetadata, renderSkills, writeSkills } from '@skillit/core';
4
+ import { dirname } from 'node:path';
4
5
  /**
5
6
  * TypeDoc-path skill generation — delegates to the plugin pipeline.
6
7
  *
@@ -29,10 +30,17 @@ export async function generateMcpSkill(opts) {
29
30
  outDir: opts.outDir
30
31
  });
31
32
  }
32
- /** CLI-path skill generation: loadProgram → extractCliSkill → writeCliSkill. */
33
+ /** CLI-path skill generation: loadProgram → extractCliSkill → applyNpxMode → writeCliSkill. */
33
34
  export async function generateCliSkill(opts) {
34
35
  const program = await loadProgram({ program: opts.program, cwd: opts.cwd });
35
36
  const skill = await extractCliSkill({ program, metadata: { name: opts.name } });
37
+ const pkgDir = await findNearestPackageDir(opts.cwd);
38
+ const meta = pkgDir ? await readPackageMetadata(pkgDir) : {};
39
+ applyNpxMode(skill, meta, opts.invocationMode);
40
+ if (pkgDir) {
41
+ skill.rootDir = pkgDir;
42
+ skill.seeAlso = await discoverDepSkills(pkgDir);
43
+ }
36
44
  writeCliSkill(skill, { outDir: opts.outDir });
37
45
  }
38
46
  /** Config-path skill generation: extract the surface → render → write. */
@@ -47,6 +55,11 @@ export async function generateConfigSkill(opts) {
47
55
  // surface, not the package blurb (which is about the whole package).
48
56
  description: `Configuration options for ${opts.typeName}.`
49
57
  }).extract();
58
+ const pkgDir = await findNearestPackageDir(dirname(opts.configFile));
59
+ if (pkgDir) {
60
+ skill.rootDir = pkgDir;
61
+ skill.seeAlso = await discoverDepSkills(pkgDir);
62
+ }
50
63
  // Config skills are content-rich (per-option routing + example); raise the
51
64
  // per-reference token budget so a multi-option surface isn't truncated.
52
65
  const rendered = renderSkills([skill], { outDir: opts.outDir, maxTokens: 16000 });
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA6C9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAA8B;IACvE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACnE,MAAM,qBAAqB,CAAC;QAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC;AAYD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAA0B;IAC/D,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,GAAG,CAAC;QACR,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAuB;IAC5D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChF,aAAa,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAA6B;IACrE,MAAM,KAAK,GAAG,MAAM,IAAI,kBAAkB,CAAC;QACzC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,6EAA6E;QAC7E,0DAA0D;QAC1D,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,2EAA2E;QAC3E,qEAAqE;QACrE,WAAW,EAAE,6BAA6B,IAAI,CAAC,QAAQ,GAAG;KAC3D,CAAC,CAAC,OAAO,EAAE,CAAC;IACb,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAClF,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function generatePostinstallScript(): string;
2
+ //# sourceMappingURL=postinstall-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall-template.d.ts","sourceRoot":"","sources":["../src/postinstall-template.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,IAAI,MAAM,CA2DlD"}
@@ -0,0 +1,61 @@
1
+ export function generatePostinstallScript() {
2
+ return `#!/usr/bin/env node
3
+ 'use strict';
4
+ const fs = require('node:fs');
5
+ const os = require('node:os');
6
+ const path = require('node:path');
7
+
8
+ const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, 'package.json'), 'utf8'));
9
+ const pkgName = pkg.name;
10
+ const binMap = pkg.bin;
11
+ if (!pkgName || !binMap || typeof binMap !== 'object' || Object.keys(binMap).length === 0) {
12
+ process.exit(0);
13
+ }
14
+ const binName = Object.keys(binMap)[0];
15
+ const npxPrefix = 'npx ' + pkgName;
16
+
17
+ const skillsDir = path.join(__dirname, 'skills');
18
+ if (!fs.existsSync(skillsDir)) process.exit(0);
19
+
20
+ function rewrite(dir) {
21
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
22
+ const full = path.join(dir, entry.name);
23
+ if (entry.isDirectory()) {
24
+ rewrite(full);
25
+ } else if (entry.isFile() && entry.name.endsWith('.md')) {
26
+ const content = fs.readFileSync(full, 'utf8');
27
+ const updated = content.replaceAll(npxPrefix, binName);
28
+ if (updated !== content) fs.writeFileSync(full, updated, 'utf8');
29
+ }
30
+ }
31
+ }
32
+
33
+ function copyDir(src, dest) {
34
+ fs.mkdirSync(dest, { recursive: true });
35
+ for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
36
+ const srcPath = path.join(src, entry.name);
37
+ const destPath = path.join(dest, entry.name);
38
+ if (entry.isDirectory()) {
39
+ copyDir(srcPath, destPath);
40
+ } else {
41
+ fs.copyFileSync(srcPath, destPath);
42
+ }
43
+ }
44
+ }
45
+
46
+ rewrite(skillsDir);
47
+
48
+ const userSkillsDir = path.join(os.homedir(), '.claude', 'skills');
49
+ try {
50
+ fs.mkdirSync(userSkillsDir, { recursive: true });
51
+ for (const entry of fs.readdirSync(skillsDir, { withFileTypes: true })) {
52
+ if (!entry.isDirectory()) continue;
53
+ copyDir(path.join(skillsDir, entry.name), path.join(userSkillsDir, entry.name));
54
+ }
55
+ console.log('[skillit] Skills installed to ' + userSkillsDir);
56
+ } catch (err) {
57
+ console.warn('[skillit] Could not install skills to ' + userSkillsDir + ': ' + err.message);
58
+ }
59
+ `;
60
+ }
61
+ //# sourceMappingURL=postinstall-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall-template.js","sourceRoot":"","sources":["../src/postinstall-template.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB;IACvC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDR,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillit/client",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "The skillit CLI — generate, audit, and refine AI-agent skills from a TypeScript codebase, plus the Anthropic model client for the headless refine loop.",
5
5
  "license": "MIT",
6
6
  "author": "Pradeep Mouli",
@@ -27,12 +27,12 @@
27
27
  }
28
28
  },
29
29
  "dependencies": {
30
- "@anthropic-ai/sdk": "^0.100.1",
30
+ "@anthropic-ai/sdk": "^0.102.0",
31
31
  "commander": "^15.0.0",
32
- "@skillit/cli": "0.5.0",
33
- "@skillit/core": "2.0.0",
34
- "@skillit/mcp": "0.4.0",
35
- "@skillit/typedoc": "1.2.0"
32
+ "@skillit/cli": "0.6.0",
33
+ "@skillit/core": "2.1.0",
34
+ "@skillit/mcp": "0.4.1",
35
+ "@skillit/typedoc": "1.2.1"
36
36
  },
37
37
  "scripts": {
38
38
  "build": "tsgo -p tsconfig.build.json",
@@ -65,9 +65,20 @@ _headline judgment_ of the skill lives in a kind-specific surface:
65
65
  - **typedoc** — per-symbol JSDoc on exported functions/classes/types (the richest
66
66
  surface; every export is introspectable). Writeback: `upsertJsDocTag`.
67
67
  - **cli** — JSDoc on the command's `<Command>Options` interface; `CliRefineSource`
68
- correlates the option-interface tags onto the command surface. For an
69
- adapter-model CLI (no static command tree), enrich the stable exported symbols
70
- together with `@packageDocumentation` instead.
68
+ correlates the option-interface tags onto the command surface.
69
+ - Targets have `kind: "command"` and map to `<PascalName>Options`
70
+ (e.g. `callHierarchy` `CallHierarchyOptions`).
71
+ - **`resolvedLocations` null** → the interface doesn't exist yet. Create it in
72
+ any `.ts` file inside the source glob (e.g. `src/command-options.ts`). No
73
+ properties needed — only the JSDoc block:
74
+ ```ts
75
+ /** @useWhen - <scenario> @avoidWhen - <alt> @never - NEVER … Fix: … */
76
+ interface CallHierarchyOptions {}
77
+ ```
78
+ After `skillit gen` + re-audit, `resolveTargetLocation` will find the interface
79
+ and subsequent `skillit refine` passes can write tags into it directly.
80
+ - For an adapter-model CLI (no static command tree), enrich the stable exported
81
+ symbols together with `@packageDocumentation` instead.
71
82
  - **config** — **per-property** JSDoc on the config type's properties:
72
83
  `@useWhen`/`@avoidWhen`/`@pitfalls`/`@remarks` on each option, plus a sibling
73
84
  `<config>.example.ts` (written only if absent — never clobbered) for the