pm-ts-starter 2026.7.6 → 2026.7.10

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,9 +1,11 @@
1
1
  # pm-ts-starter
2
2
 
3
- TypeScript reference extension for [pm-cli](https://github.com/unbraind/pm-cli) covering **all 9 SDK capability types** in one fully-typed `index.ts`.
3
+ TypeScript reference extension for [pm-cli](https://github.com/unbraind/pm-cli) covering **all 9 SDK capability types** in one fully-typed `index.ts`, aligned to the **pm-cli 2026.7.6 SDK**.
4
4
 
5
5
  Each capability is a small, SAFE, inert demo with teaching comments. Copy the
6
- ones you need into your own extension and delete the rest.
6
+ ones you need into your own extension and delete the rest. The reference also
7
+ ships demo commands that integrate with the newer pm surfaces (plan, context,
8
+ search, history-compact) and a guided `ts-starter setup --interactive` onboarding.
7
9
 
8
10
  ---
9
11
 
@@ -53,6 +55,54 @@ pm ts-starter-demo import
53
55
  pm ts-starter-demo export
54
56
  ```
55
57
 
58
+ The 2026.7.6 SDK accepts an optional third `options` argument
59
+ (`ImportExportRegistrationOptions`) that adds a full command definition
60
+ (description, flags, intent, examples, `failure_hints`, positional arguments)
61
+ to the auto-created command path — surfaced in help exactly like
62
+ `registerCommand`. This reference supplies it for both.
63
+
64
+ ### New pm-feature integration demos
65
+
66
+ These demo commands shell out to the live `pm` binary (zero-runtime-coupling —
67
+ the extension never imports `@unbrained/pm-cli` at runtime) and return parsed
68
+ JSON, so an author can copy the wiring into a real extension that augments
69
+ these surfaces:
70
+
71
+ ```bash
72
+ pm ts-starter plan-demo [--id <plan-id>] [--depth brief|standard|deep]
73
+ pm ts-starter context-demo [--format markdown|toon|json] [--depth brief|standard|deep]
74
+ pm ts-starter search-demo [--query <text>] [--limit <n>]
75
+ pm ts-starter history-compact-demo --id <item-id> # always --dry-run
76
+ ```
77
+
78
+ ### Guided setup
79
+
80
+ ```bash
81
+ pm ts-starter setup # prints a non-interactive summary
82
+ pm ts-starter setup --interactive # prompted onboarding wizard (TTY only)
83
+ ```
84
+
85
+ `--interactive` is skipped automatically when stdin is not a TTY, so the
86
+ command is safe to run in CI and tests.
87
+
88
+ ### Typed arguments, `failure_hints`, and expected errors
89
+
90
+ Every `registerCommand` definition now carries:
91
+
92
+ - **`failure_hints`** — short, actionable strings surfaced to the CLI's
93
+ error-guidance layer when a command fails.
94
+ - **`arguments`** — typed positional argument definitions
95
+ (`ExtensionCommandArgumentDefinition`), so help output and runtime contracts
96
+ describe positional args, not just flags.
97
+ - **`value_type`** on every flag (`string` | `number` | `boolean`), the field
98
+ the 2026.7.6 SDK reads first (over the legacy `type`).
99
+
100
+ Command handlers throw **`PmCliExpectedError`-shaped errors** built locally
101
+ (`pmExpectedError`) rather than importing the CLI's error class at runtime.
102
+ The CLI recognises expected errors by `name === "PmCliError"`, so a locally
103
+ constructed error with `exitCode` + structured `context` exits cleanly with a
104
+ guided message instead of a stack trace.
105
+
56
106
  ## The `defineExtension` helper + zero-runtime-coupling pattern
57
107
 
58
108
  `defineExtension` is the SDK's **typed identity helper** — it returns its argument
package/dist/index.d.ts CHANGED
@@ -1,3 +1,24 @@
1
+ import type { PmCliExpectedError } from "@unbrained/pm-cli/sdk";
2
+ interface TsStarterErrorContextInput {
3
+ feature?: string;
4
+ command?: string;
5
+ attempted_command?: string;
6
+ why?: string;
7
+ hint?: string;
8
+ suggested_retry?: string;
9
+ examples?: string[];
10
+ nextSteps?: string[];
11
+ code?: string;
12
+ [key: string]: unknown;
13
+ }
14
+ interface TsStarterErrorOptions {
15
+ exitCode?: number;
16
+ context?: TsStarterErrorContextInput;
17
+ cause?: unknown;
18
+ }
19
+ declare function pmExpectedError(message: string, options?: TsStarterErrorOptions): PmCliExpectedError;
20
+ declare function isPmCliExpectedError(error: unknown): error is PmCliExpectedError;
21
+ export { pmExpectedError, isPmCliExpectedError };
1
22
  declare const _default: {
2
23
  name: string;
3
24
  version: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;kBA+UgB,GAAG;;AAJnB,wBAsBG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAwC/B,UAAU,0BAA0B;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,iBAAS,eAAe,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,qBAAqB,GAC9B,kBAAkB,CAmCpB;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAKzE;AAsmBD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAAC;;;;kBAMjC,GAAG;;AAJnB,wBAsBG"}
package/dist/index.js CHANGED
@@ -1,6 +1,16 @@
1
1
  // pm-ts-starter — TypeScript reference extension for pm-cli
2
2
  // Demonstrates all 9 SDK capability types in one file (commands, schema,
3
3
  // hooks, importers/exporters, renderers, search, parser, preflight, services).
4
+ //
5
+ // This reference is aligned to the pm-cli 2026.7.6 SDK:
6
+ // - `defineExtension` typed identity helper (zero-runtime-coupling pattern)
7
+ // - `createPmCliExpectedError`-shaped errors for better failure messaging
8
+ // - `failure_hints` + typed positional `arguments` on every command definition
9
+ // - demo commands that integrate with the newer pm surfaces: plan workflow,
10
+ // context, search, and history-compact (each shells out to the live `pm`
11
+ // binary, exactly like the existing search provider does, so the demo
12
+ // never depends on a runtime import of `@unbrained/pm-cli`)
13
+ // - a guided `ts-starter setup --interactive` command for first-run onboarding
4
14
  // ---------------------------------------------------------------------------
5
15
  // `defineExtension` — typed identity helper + zero-runtime-coupling pattern
6
16
  //
@@ -15,10 +25,15 @@
15
25
  // type import give us full compile-time checking with ZERO runtime coupling to
16
26
  // the CLI package. The real CLI supplies the live `api` object when it calls
17
27
  // `activate(api)`.
28
+ //
29
+ // The same zero-runtime-coupling rule applies to the expected-error helper: we
30
+ // type against the SDK's `PmCliExpectedError` shape but build the error locally
31
+ // so a standalone install never needs to resolve `@unbrained/pm-cli` at runtime.
18
32
  // ---------------------------------------------------------------------------
19
33
  import { readFileSync } from "node:fs";
20
34
  import { dirname, join } from "node:path";
21
35
  import { fileURLToPath } from "node:url";
36
+ import { spawnSync } from "node:child_process";
22
37
  const defineExtension = ((extension) => extension);
23
38
  // Resolve the extension version from manifest.json (one directory above the
24
39
  // compiled dist/) instead of a hardcoded literal: the Daily Release workflow
@@ -37,6 +52,89 @@ const VERSION = (() => {
37
52
  // Opt-in verbose logging so the reference extension is silent by default.
38
53
  const VERBOSE = !!process.env.PM_TS_STARTER_VERBOSE;
39
54
  // ---------------------------------------------------------------------------
55
+ // Expected-error helper — build a `PmCliExpectedError`-shaped error without a
56
+ // runtime import of `@unbrained/pm-cli`. The CLI's top-level handler recognises
57
+ // expected errors by `name === "PmCliError"` (not `instanceof`), so a locally
58
+ // constructed error with that name, an `exitCode`, and a secret-free `context`
59
+ // is treated exactly like one thrown by the CLI itself: it exits with the
60
+ // given code and is excluded from crash reporting. This is the package-safe way
61
+ // for an extension to fail loudly with an actionable message instead of a
62
+ // generic stack trace.
63
+ // ---------------------------------------------------------------------------
64
+ const PM_CLI_EXPECTED_ERROR_NAME = "PmCliError";
65
+ const DEFAULT_USAGE_EXIT_CODE = 2;
66
+ function pmExpectedError(message, options) {
67
+ const exitCode = options?.exitCode && Number.isFinite(options.exitCode) && options.exitCode > 0
68
+ ? options.exitCode
69
+ : DEFAULT_USAGE_EXIT_CODE;
70
+ // The SDK's PmCliErrorContext carries structured recovery guidance (code,
71
+ // why, examples, nextSteps, recovery.*). We normalize a plain author map
72
+ // into that shape so callers can pass terse keys (feature/command/why/hint)
73
+ // without coupling to the full contract.
74
+ const raw = (options?.context ?? {});
75
+ const recovery = raw.attempted_command || raw.feature || raw.command
76
+ ? {
77
+ attempted_command: raw.attempted_command ?? raw.feature ?? raw.command,
78
+ suggested_retry: raw.suggested_retry,
79
+ }
80
+ : undefined;
81
+ // Normalize to the SDK's PmCliErrorContext shape (code/why/examples/
82
+ // nextSteps/recovery.*). Keys not in the contract are dropped.
83
+ const context = {
84
+ code: raw.code ?? raw.feature ?? raw.command,
85
+ why: raw.why,
86
+ examples: raw.examples,
87
+ nextSteps: raw.nextSteps ?? (raw.hint ? [String(raw.hint)] : undefined),
88
+ recovery,
89
+ };
90
+ const cause = options?.cause;
91
+ const err = new Error(message);
92
+ err.name = PM_CLI_EXPECTED_ERROR_NAME;
93
+ err.exitCode = exitCode;
94
+ err.context = context;
95
+ if (cause !== undefined) {
96
+ Object.defineProperty(err, "cause", { value: cause, enumerable: false });
97
+ }
98
+ return err;
99
+ }
100
+ function isPmCliExpectedError(error) {
101
+ return (error instanceof Error &&
102
+ error.name === PM_CLI_EXPECTED_ERROR_NAME);
103
+ }
104
+ function runPm(pmRoot, args) {
105
+ const result = spawnSync("pm", ["--path", pmRoot, ...args], {
106
+ encoding: "utf-8",
107
+ });
108
+ const stderr = (result.stderr ?? "").trim() || result.error?.message || "";
109
+ return {
110
+ ok: result.status === 0 && !result.error,
111
+ stdout: result.stdout ?? "",
112
+ stderr,
113
+ status: result.status,
114
+ };
115
+ }
116
+ // Parse the JSON stdout of a pm shell-out, throwing a typed expected error with
117
+ // a `failure_hints`-friendly message when the call fails or the body is not
118
+ // valid JSON. The `feature` label flows into the error context so callers (and
119
+ // the CLI's error-guidance layer) can disambiguate which demo surface failed.
120
+ function pmJson(pmRoot, args, feature) {
121
+ const run = runPm(pmRoot, args);
122
+ if (!run.ok) {
123
+ const detail = run.stderr.trim();
124
+ throw pmExpectedError(`pm-ts-starter: \`${feature}\` demo failed (pm exited ${run.status})${detail ? `: ${detail}` : "."}`, {
125
+ exitCode: 1,
126
+ context: { feature, attempted_command: "pm", why: detail || undefined },
127
+ cause: run.stderr ? new Error(run.stderr) : undefined,
128
+ });
129
+ }
130
+ try {
131
+ return JSON.parse(run.stdout);
132
+ }
133
+ catch (cause) {
134
+ throw pmExpectedError(`pm-ts-starter: \`${feature}\` demo returned non-JSON output from pm.`, { exitCode: 1, context: { feature, why: `stdout head: ${run.stdout.slice(0, 200)}` }, cause });
135
+ }
136
+ }
137
+ // ---------------------------------------------------------------------------
40
138
  // 1. COMMANDS — register custom CLI commands
41
139
  // ---------------------------------------------------------------------------
42
140
  function registerDemoCommands(api) {
@@ -44,13 +142,30 @@ function registerDemoCommands(api) {
44
142
  name: "hello",
45
143
  description: "Say hello from the TypeScript starter extension.",
46
144
  intent: "demonstrate a simple command",
47
- examples: ["pm hello", "pm hello --name World"],
145
+ examples: ["pm hello", "pm hello --name World", "pm hello World --loud"],
146
+ failure_hints: [
147
+ "Use --name <value> to set the greeting name.",
148
+ "--loud uppercases the greeting; it takes no value.",
149
+ ],
150
+ arguments: [
151
+ { name: "name", description: "Positional name to greet (overridden by --name)." },
152
+ ],
48
153
  flags: [
49
- { long: "--name", value_name: "name", description: "Name to greet (default: pm-cli)" },
50
- { long: "--loud", description: "Uppercase the greeting" },
154
+ { long: "--name", value_name: "name", value_type: "string", description: "Name to greet (default: pm-cli)" },
155
+ { long: "--loud", value_type: "boolean", description: "Uppercase the greeting" },
51
156
  ],
52
157
  async run(ctx) {
53
- const name = ctx.options["name"] || "pm-cli";
158
+ // Typed argument resolution: prefer the explicit --name flag, then a
159
+ // positional argument, then the default. A clearly-named expected error
160
+ // is thrown when the name is empty after trimming.
161
+ const rawName = ctx.options["name"] ??
162
+ (Array.isArray(ctx.args) && ctx.args.length > 0 ? String(ctx.args[0]) : undefined);
163
+ const name = (rawName ?? "pm-cli").trim();
164
+ if (!name) {
165
+ throw pmExpectedError("pm-ts-starter: --name must not be empty.", {
166
+ context: { command: "hello", why: "A non-empty name is required to greet." },
167
+ });
168
+ }
54
169
  const loud = Boolean(ctx.options["loud"]);
55
170
  const greeting = loud ? `HELLO, ${name.toUpperCase()}!` : `Hello, ${name}!`;
56
171
  console.error(greeting);
@@ -62,11 +177,17 @@ function registerDemoCommands(api) {
62
177
  description: "Show TypeScript starter extension info and registered capabilities.",
63
178
  intent: "show extension metadata",
64
179
  examples: ["pm ts-starter info"],
180
+ failure_hints: [
181
+ "This command only reads extension metadata; it has no side effects.",
182
+ "If it errors, the extension failed to activate — check `pm extension doctor`.",
183
+ ],
184
+ arguments: [],
65
185
  flags: [],
66
186
  async run() {
67
187
  const info = {
68
188
  name: "pm-ts-starter",
69
189
  version: VERSION,
190
+ sdk_target: "2026.7.6",
70
191
  capabilities: [
71
192
  "commands", "schema", "hooks", "importers",
72
193
  "renderers", "search", "parser", "preflight", "services",
@@ -76,6 +197,191 @@ function registerDemoCommands(api) {
76
197
  return info;
77
198
  },
78
199
  });
200
+ // ---------------------------------------------------------------------
201
+ // New pm-feature integration demos (all covered by the "commands"
202
+ // capability — they registerCommand, exactly like `hello`). Each shells
203
+ // out to the live `pm` binary and returns parsed JSON so an author can
204
+ // copy the wiring into a real extension that augments these surfaces.
205
+ // ---------------------------------------------------------------------
206
+ api.registerCommand({
207
+ name: "ts-starter plan-demo",
208
+ description: "Demonstrate integration with the pm plan workflow (shells out to `pm plan show`).",
209
+ intent: "show how an extension can read plan workflow state",
210
+ examples: ["pm ts-starter plan-demo", "pm ts-starter plan-demo --id my-plan --depth standard"],
211
+ failure_hints: [
212
+ "Requires a pm workspace with a plan item; create one with `pm plan create`.",
213
+ "Pass --id <plan-id> to select a plan other than the active one.",
214
+ "--depth is one of: brief | standard | deep.",
215
+ ],
216
+ arguments: [
217
+ { name: "id", required: false, description: "Plan item id to show (optional; defaults to active)." },
218
+ ],
219
+ flags: [
220
+ { long: "--id", value_name: "id", value_type: "string", description: "Plan item id to show." },
221
+ { long: "--depth", value_name: "depth", value_type: "string", description: "Show depth: brief|standard|deep (default: standard)." },
222
+ ],
223
+ async run(ctx) {
224
+ const pmRoot = ctx.pm_root ?? ".";
225
+ const id = ctx.options["id"] ??
226
+ (Array.isArray(ctx.args) && ctx.args.length > 0 ? String(ctx.args[0]) : undefined);
227
+ const depth = ctx.options["depth"] ?? "standard";
228
+ const args = ["plan", "show"];
229
+ if (id)
230
+ args.push(id);
231
+ args.push("--depth", depth, "--json");
232
+ return pmJson(pmRoot, args, "plan");
233
+ },
234
+ });
235
+ api.registerCommand({
236
+ name: "ts-starter context-demo",
237
+ description: "Demonstrate integration with pm context (shells out to `pm context`).",
238
+ intent: "show how an extension can surface the current work context",
239
+ examples: ["pm ts-starter context-demo", "pm ts-starter context-demo --format json --depth brief"],
240
+ failure_hints: [
241
+ "Requires a pm workspace; run inside a directory with `.agents/pm`.",
242
+ "--format is one of: markdown | toon | json (default: json).",
243
+ "--depth is one of: brief | standard | deep.",
244
+ ],
245
+ arguments: [],
246
+ flags: [
247
+ { long: "--format", value_name: "format", value_type: "string", description: "Output format: markdown|toon|json (default: json)." },
248
+ { long: "--depth", value_name: "depth", value_type: "string", description: "Context depth: brief|standard|deep." },
249
+ ],
250
+ async run(ctx) {
251
+ const pmRoot = ctx.pm_root ?? ".";
252
+ const format = ctx.options["format"] ?? "json";
253
+ const depth = ctx.options["depth"];
254
+ const args = ["context", "--format", format];
255
+ if (depth)
256
+ args.push("--depth", depth);
257
+ // `pm context` emits JSON only when --format json; for other formats we
258
+ // return the raw text so the caller still sees a structured payload.
259
+ if (format === "json") {
260
+ args.push("--json");
261
+ return pmJson(pmRoot, args, "context");
262
+ }
263
+ const run = runPm(pmRoot, args);
264
+ if (!run.ok) {
265
+ throw pmExpectedError(`pm-ts-starter: \`${format}\` context demo failed (pm exited ${run.status}).`, { exitCode: 1, context: { feature: "context", why: run.stderr.trim() || undefined } });
266
+ }
267
+ return { format, context: run.stdout };
268
+ },
269
+ });
270
+ api.registerCommand({
271
+ name: "ts-starter search-demo",
272
+ description: "Demonstrate integration with pm search (shells out to `pm search`).",
273
+ intent: "show how an extension can run a workspace search",
274
+ examples: ["pm ts-starter search-demo --query release", "pm ts-starter search-demo release --limit 10"],
275
+ failure_hints: [
276
+ "Pass a --query <text> (or a positional argument) with at least one term.",
277
+ "--limit caps the number of hits (default: 10).",
278
+ "Use `pm reindex` first if search returns nothing after a fresh import.",
279
+ ],
280
+ arguments: [
281
+ { name: "query", required: false, variadic: false, description: "Search query (overridden by --query)." },
282
+ ],
283
+ flags: [
284
+ { long: "--query", value_name: "query", value_type: "string", description: "Search query text." },
285
+ { long: "--limit", value_name: "n", value_type: "number", description: "Maximum hits to return (default: 10)." },
286
+ ],
287
+ async run(ctx) {
288
+ const pmRoot = ctx.pm_root ?? ".";
289
+ const rawQuery = ctx.options["query"] ??
290
+ (Array.isArray(ctx.args) && ctx.args.length > 0 ? String(ctx.args[0]) : undefined);
291
+ const query = (rawQuery ?? "").trim();
292
+ if (!query) {
293
+ throw pmExpectedError("pm-ts-starter: search-demo requires a --query (or positional query) argument.", { context: { command: "ts-starter search-demo", why: "Pass --query <text> or a positional query." } });
294
+ }
295
+ const limit = String(ctx.options["limit"] ?? 10);
296
+ return pmJson(pmRoot, ["search", query, "--limit", limit, "--json"], "search");
297
+ },
298
+ });
299
+ api.registerCommand({
300
+ name: "ts-starter history-compact-demo",
301
+ description: "Demonstrate integration with pm history-compact (dry-run only; shells out to `pm history-compact`).",
302
+ intent: "show how an extension can preview history compaction safely",
303
+ examples: ["pm ts-starter history-compact-demo --id my-task", "pm ts-starter history-compact-demo my-task"],
304
+ failure_hints: [
305
+ "Pass --id <item-id> (or a positional id) to select the item whose history to compact.",
306
+ "This demo always runs with --dry-run; it never mutates history.",
307
+ "If pm is not on PATH, the command exits 1 with a clear message.",
308
+ ],
309
+ arguments: [
310
+ { name: "id", required: false, description: "Item id whose history to preview-compact (required unless --id is used)." },
311
+ ],
312
+ flags: [
313
+ { long: "--id", value_name: "id", value_type: "string", description: "Item id to compact (overrides a positional id)." },
314
+ ],
315
+ async run(ctx) {
316
+ const pmRoot = ctx.pm_root ?? ".";
317
+ const rawId = ctx.options["id"] ??
318
+ (Array.isArray(ctx.args) && ctx.args.length > 0 ? String(ctx.args[0]) : undefined);
319
+ const id = (rawId ?? "").trim();
320
+ if (!id) {
321
+ throw pmExpectedError("pm-ts-starter: history-compact-demo requires an --id (or positional id) argument.", { context: { command: "ts-starter history-compact-demo", why: "Pass --id <item-id> or a positional id." } });
322
+ }
323
+ return pmJson(pmRoot, ["history-compact", id, "--dry-run", "--json"], "history-compact");
324
+ },
325
+ });
326
+ // ---------------------------------------------------------------------
327
+ // Guided setup — `ts-starter setup --interactive` walks a new user
328
+ // through onboarding (manifest name, capabilities, verbose logging) and
329
+ // prints a checklist. Without --interactive it prints a non-interactive
330
+ // summary so the command is safe to run in CI and tests.
331
+ // ---------------------------------------------------------------------
332
+ api.registerCommand({
333
+ name: "ts-starter setup",
334
+ description: "Guided first-run setup for the TypeScript starter extension.",
335
+ intent: "onboard a new extension author",
336
+ examples: ["pm ts-starter setup", "pm ts-starter setup --interactive"],
337
+ failure_hints: [
338
+ "--interactive enables prompted input; without it the command prints a summary only.",
339
+ "Interactive mode is skipped automatically when stdin is not a TTY.",
340
+ ],
341
+ arguments: [],
342
+ flags: [
343
+ { long: "--interactive", value_type: "boolean", description: "Run an interactive guided setup wizard." },
344
+ ],
345
+ async run(ctx) {
346
+ const interactive = Boolean(ctx.options["interactive"]);
347
+ const isTty = typeof process.stdin?.isTTY === "boolean" ? process.stdin.isTTY : false;
348
+ const runInteractive = interactive && isTty;
349
+ const summary = {
350
+ extension: "pm-ts-starter",
351
+ version: VERSION,
352
+ sdk_target: "2026.7.6",
353
+ capabilities: [
354
+ "commands", "schema", "hooks", "importers",
355
+ "renderers", "search", "parser", "preflight", "services",
356
+ ],
357
+ verbose_env: "PM_TS_STARTER_VERBOSE=1",
358
+ interactive_requested: interactive,
359
+ interactive_run: runInteractive,
360
+ };
361
+ if (runInteractive) {
362
+ const readline = await import("node:readline/promises");
363
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
364
+ try {
365
+ const name = (await rl.question("Extension name [pm-ts-starter]: ")).trim() || "pm-ts-starter";
366
+ const wantVerbose = /^y/i.test((await rl.question("Enable verbose logging? [y/N]: ")).trim());
367
+ console.error(`\n[ts-starter] Guided setup complete for "${name}".`);
368
+ if (wantVerbose)
369
+ console.error("[ts-starter] Set PM_TS_STARTER_VERBOSE=1 to see activation logs.");
370
+ console.error("[ts-starter] Next: edit index.ts to keep only the capabilities you need, then `npm run build`.");
371
+ }
372
+ finally {
373
+ rl.close();
374
+ }
375
+ }
376
+ else {
377
+ console.error(JSON.stringify(summary, null, 2));
378
+ if (interactive && !isTty) {
379
+ console.error("[ts-starter] stdin is not a TTY; interactive mode skipped. Re-run in a terminal.");
380
+ }
381
+ }
382
+ return summary;
383
+ },
384
+ });
79
385
  }
80
386
  // ---------------------------------------------------------------------------
81
387
  // 2. SCHEMA — provide custom JSON schemas for item validation
@@ -125,6 +431,11 @@ function registerHooks(api) {
125
431
  api.hooks.afterCommand((ctx) => {
126
432
  if (VERBOSE)
127
433
  console.error(`[ts-starter] afterCommand: ${ctx.command} (ok=${ctx.ok})`);
434
+ // Surface a concise hint when a command fails with an expected error so an
435
+ // operator scanning stderr gets an actionable next step, not just a stack.
436
+ if (VERBOSE && ctx.ok === false && ctx.error && isPmCliExpectedError(ctx.error)) {
437
+ console.error(`[ts-starter] hint: ${ctx.error.message}`);
438
+ }
128
439
  });
129
440
  // onWrite — fires when pm writes an item file to disk.
130
441
  api.hooks.onWrite((ctx) => {
@@ -148,13 +459,28 @@ function registerHooks(api) {
148
459
  function registerImporters(api) {
149
460
  // registerImporter("ts-starter-demo") auto-creates `pm ts-starter-demo import`
150
461
  // and registerExporter the matching `pm ts-starter-demo export`. Both are
151
- // covered by the "importers" capability.
462
+ // covered by the "importers" capability. The 2026.7.6 SDK accepts an optional
463
+ // third `options` argument that adds a full command definition (description,
464
+ // flags, intent, examples, failure_hints, positional arguments) to the
465
+ // auto-created command path — surfaced in help exactly like registerCommand.
152
466
  if (typeof api.registerImporter === "function") {
153
467
  api.registerImporter("ts-starter-demo", async (ctx) => {
154
468
  if (VERBOSE)
155
469
  console.error("[ts-starter] Demo importer invoked:", JSON.stringify(ctx.options));
156
470
  // Demo no-op importer — extend with real import logic.
157
471
  return { imported: 0 };
472
+ }, {
473
+ description: "Demo importer for the TypeScript starter extension.",
474
+ intent: "import demo data into a pm workspace",
475
+ examples: ["pm ts-starter-demo import", "pm ts-starter-demo import --source file.json"],
476
+ failure_hints: [
477
+ "The demo importer is a no-op; wire real parsing into the handler.",
478
+ "Pass --source <path> to point at an import file.",
479
+ ],
480
+ arguments: [{ name: "source", required: false, description: "Path to import source." }],
481
+ flags: [
482
+ { long: "--source", value_name: "path", value_type: "string", description: "Import source path." },
483
+ ],
158
484
  });
159
485
  }
160
486
  if (typeof api.registerExporter === "function") {
@@ -164,6 +490,17 @@ function registerImporters(api) {
164
490
  // Demo exporter — echoes a tagged payload so the renderer demo can pick
165
491
  // it up (`ts_starter` marker) without affecting any other command.
166
492
  return { ts_starter: true, exported: 0 };
493
+ }, {
494
+ description: "Demo exporter for the TypeScript starter extension.",
495
+ intent: "export demo data from a pm workspace",
496
+ examples: ["pm ts-starter-demo export", "pm ts-starter-demo export --format json"],
497
+ failure_hints: [
498
+ "The demo exporter is a no-op; wire real serialization into the handler.",
499
+ "--format selects the export shape (default: json).",
500
+ ],
501
+ flags: [
502
+ { long: "--format", value_name: "format", value_type: "string", description: "Export format (default: json)." },
503
+ ],
167
504
  });
168
505
  }
169
506
  }
@@ -194,7 +531,6 @@ function registerSearch(api) {
194
531
  name: "ts-starter-prefix",
195
532
  async query(ctx) {
196
533
  const query = ctx.query ?? "";
197
- const { spawnSync } = await import("node:child_process");
198
534
  const result = spawnSync("pm", ["--path", ctx.pm_root ?? ".", "list-all", "--json"], {
199
535
  encoding: "utf-8",
200
536
  });
@@ -303,12 +639,15 @@ function registerExtraFlags(api) {
303
639
  {
304
640
  long: "--ts-starter-tag",
305
641
  value_name: "tag",
642
+ value_type: "string",
306
643
  description: "DEMO flag added by pm-ts-starter (inert; illustrates registerFlags).",
307
- type: "string",
308
644
  },
309
645
  ]);
310
646
  }
311
647
  }
648
+ // Re-export the expected-error helpers so downstream authors copying this
649
+ // reference can import them without re-deriving the zero-runtime-coupling shim.
650
+ export { pmExpectedError, isPmCliExpectedError };
312
651
  export default defineExtension({
313
652
  name: "pm-ts-starter",
314
653
  version: VERSION,
@@ -317,11 +656,11 @@ export default defineExtension({
317
656
  // reference extension never pollutes other commands' stderr.
318
657
  if (VERBOSE)
319
658
  console.error("[pm-ts-starter] Activating…");
320
- registerDemoCommands(api); // registerCommand (with typed flags)
659
+ registerDemoCommands(api); // registerCommand (with typed flags + failure_hints)
321
660
  registerExtraFlags(api); // registerFlags (augments native `list`)
322
661
  registerSchema(api); // registerItemFields/registerItemTypes/registerMigration
323
662
  registerHooks(api); // hooks.before/after/onWrite/onRead/onIndex
324
- registerImporters(api); // registerImporter/registerExporter
663
+ registerImporters(api); // registerImporter/registerExporter (with command-definition options)
325
664
  registerRenderers(api); // registerRenderer
326
665
  registerSearch(api); // registerSearchProvider/registerVectorStoreAdapter
327
666
  registerParser(api); // registerParser
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/manifest.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pm-ts-starter",
3
- "version": "2026.7.6",
4
- "description": "TypeScript reference extension covering all 9 SDK capability types: commands, renderers, hooks, schema, importers, search, parser, preflight, services. Demonstrates defineExtension plus registerCommand/registerFlags, registerItemFields/registerItemTypes/registerMigration, the five api.hooks.* lifecycle hooks, registerImporter/registerExporter, registerRenderer, registerSearchProvider/registerVectorStoreAdapter, registerParser, registerPreflight, and registerService - all fully typed.",
3
+ "version": "2026.7.10",
4
+ "description": "TypeScript reference extension covering all 9 SDK capability types: commands, renderers, hooks, schema, importers, search, parser, preflight, services. Aligned to the pm-cli 2026.7.6 SDK: demonstrates defineExtension plus registerCommand/registerFlags (with failure_hints + typed positional arguments), registerItemFields/registerItemTypes/registerMigration, the five api.hooks.* lifecycle hooks, registerImporter/registerExporter (with ImportExportRegistrationOptions), registerRenderer, registerSearchProvider/registerVectorStoreAdapter, registerParser, registerPreflight, registerService, PmCliExpectedError-shaped errors, demo commands for the plan/context/search/history-compact pm surfaces, and a guided `ts-starter setup --interactive` onboarding - all fully typed.",
5
5
  "author": "@unbraind",
6
6
  "entry": "./dist/index.js",
7
7
  "priority": 90,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-ts-starter",
3
- "version": "2026.7.6",
3
+ "version": "2026.7.10",
4
4
  "description": "TypeScript reference extension for pm-cli covering all capability types",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,12 +36,12 @@
36
36
  "release:notes": "pm-changelog --pm-root .agents/pm --stdout --since-previous-tag --until-release-tag --release-version-from-package --item-url-base https://github.com/unbraind/pm-ts-starter/blob/main/.agents/pm --pm-bin ./node_modules/.bin/pm --github-step-summary"
37
37
  },
38
38
  "peerDependencies": {
39
- "@unbrained/pm-cli": ">=2026.7.5"
39
+ "@unbrained/pm-cli": ">=2026.7.6"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^25.9.2",
43
- "@unbrained/pm-cli": "^2026.7.5",
44
- "pm-changelog": "^2026.6.30",
43
+ "@unbrained/pm-cli": "^2026.7.6",
44
+ "pm-changelog": "^2026.7.6",
45
45
  "typescript": "^6.0.3"
46
46
  },
47
47
  "keywords": [