pm-ts-starter 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0 - 2026-05-26
4
+
5
+ ### Other
6
+
7
+ - Release readiness hardening for pm-ts-starter ([pm-ts-starter-2wfp](https://github.com/unbraind/pm-ts-starter/blob/main/.agents/pm/tasks/pm-ts-starter-2wfp.toon))
package/README.md ADDED
@@ -0,0 +1,53 @@
1
+ # pm-ts-starter
2
+
3
+ TypeScript reference extension for [pm-cli](https://github.com/unbraind/pm-cli) covering all 8 SDK capability types.
4
+
5
+ ---
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ pm install github.com/unbraind/pm-ts-starter --global
11
+ ```
12
+
13
+ ## Capabilities Demonstrated
14
+
15
+ | Capability | What it does |
16
+ |---|---|
17
+ | **Commands** | `pm hello` and `pm ts-starter info` commands |
18
+ | **Schema** | Custom validation: title must be ≥ 4 chars |
19
+ | **Hooks** | `afterCreate` and `afterClose` lifecycle hooks |
20
+ | **Importers** | Demo `ts-starter-demo` importer (no-op) |
21
+ | **Renderers** | `ts-starter-compact` renderer: tab-separated output |
22
+ | **Search** | `ts-starter-prefix` search: search by ID prefix |
23
+ | **Preflight** | `ts-starter-preflight`: workspace health checks |
24
+ | **Services** | `ts-starter-health` service: reports extension health |
25
+
26
+ ## Commands
27
+
28
+ ### `pm hello`
29
+ ```bash
30
+ pm hello
31
+ pm hello --name World --loud
32
+ ```
33
+
34
+ ### `pm ts-starter info`
35
+ ```bash
36
+ pm ts-starter info
37
+ ```
38
+
39
+ ## Using as a Template
40
+
41
+ 1. Clone this repo
42
+ 2. Edit `index.ts` — remove capabilities you don't need
43
+ 3. Update `manifest.json` name and capabilities
44
+ 4. `npm install && npm run build`
45
+ 5. `pm install ./path/to/dir`
46
+
47
+ ## License
48
+
49
+ MIT
50
+
51
+ ## Release Automation
52
+
53
+ This package is release-ready for GitHub, npm, and Bun-compatible installs. CI runs type checking, build, production dependency audit, package packing, Bun install verification, and pm-changelog validation. The daily release workflow publishes only when commits exist after the latest release tag and uses pm-changelog to generate CHANGELOG.md and GitHub release notes.
@@ -0,0 +1,7 @@
1
+ declare const _default: {
2
+ name: string;
3
+ version: string;
4
+ activate(api: any): void;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;kBAoLgB,GAAG;;AAJnB,wBAkBG"}
package/dist/index.js ADDED
@@ -0,0 +1,169 @@
1
+ // pm-ts-starter — TypeScript reference extension for pm-cli
2
+ // Demonstrates all 8 SDK capability types in one file.
3
+ const defineExtension = ((extension) => extension);
4
+ // ---------------------------------------------------------------------------
5
+ // 1. COMMANDS — register custom CLI commands
6
+ // ---------------------------------------------------------------------------
7
+ function registerDemoCommands(api) {
8
+ api.registerCommand({
9
+ name: "hello",
10
+ description: "Say hello from the TypeScript starter extension.",
11
+ intent: "demonstrate a simple command",
12
+ examples: ["pm hello", "pm hello --name World"],
13
+ flags: [
14
+ { long: "--name", value_name: "name", description: "Name to greet (default: pm-cli)" },
15
+ { long: "--loud", description: "Uppercase the greeting" },
16
+ ],
17
+ async run(ctx) {
18
+ const name = ctx.options["name"] || "pm-cli";
19
+ const loud = Boolean(ctx.options["loud"]);
20
+ const greeting = loud ? `HELLO, ${name.toUpperCase()}!` : `Hello, ${name}!`;
21
+ console.error(greeting);
22
+ return { greeting };
23
+ },
24
+ });
25
+ api.registerCommand({
26
+ name: "ts-starter info",
27
+ description: "Show TypeScript starter extension info and registered capabilities.",
28
+ intent: "show extension metadata",
29
+ examples: ["pm ts-starter info"],
30
+ flags: [],
31
+ async run() {
32
+ const info = {
33
+ name: "pm-ts-starter",
34
+ version: "0.1.0",
35
+ capabilities: [
36
+ "commands", "schema", "hooks", "importers",
37
+ "renderers", "preflight", "search", "services",
38
+ ],
39
+ };
40
+ console.error(JSON.stringify(info, null, 2));
41
+ return info;
42
+ },
43
+ });
44
+ }
45
+ // ---------------------------------------------------------------------------
46
+ // 2. SCHEMA — provide custom JSON schemas for item validation
47
+ // ---------------------------------------------------------------------------
48
+ function registerSchema(api) {
49
+ // Register a custom schema that validates items have a title > 3 chars
50
+ if (typeof api.registerSchema === "function") {
51
+ api.registerSchema({
52
+ name: "ts-starter-title-length",
53
+ description: "Validates item titles are at least 4 characters",
54
+ validate(item) {
55
+ const errors = [];
56
+ if (item.title && item.title.length < 4) {
57
+ errors.push("Title must be at least 4 characters long");
58
+ }
59
+ return { valid: errors.length === 0, errors };
60
+ },
61
+ });
62
+ }
63
+ }
64
+ // ---------------------------------------------------------------------------
65
+ // 3. HOOKS — react to lifecycle events
66
+ // ---------------------------------------------------------------------------
67
+ function registerHooks(api) {
68
+ if (typeof api.registerHook === "function") {
69
+ api.registerHook("afterCreate", (ctx) => {
70
+ console.error(`[ts-starter] Hook: item "${ctx.item?.title}" created (${ctx.item?.id})`);
71
+ });
72
+ api.registerHook("afterClose", (ctx) => {
73
+ console.error(`[ts-starter] Hook: item "${ctx.item?.title}" closed`);
74
+ });
75
+ }
76
+ }
77
+ // ---------------------------------------------------------------------------
78
+ // 4. IMPORTERS — programmatic data import
79
+ // ---------------------------------------------------------------------------
80
+ function registerImporters(api) {
81
+ if (typeof api.registerImporter === "function") {
82
+ api.registerImporter("ts-starter-demo", async (ctx) => {
83
+ console.error("[ts-starter] Demo importer invoked with options:", JSON.stringify(ctx.options));
84
+ // This is a no-op demo importer — extend with real import logic
85
+ });
86
+ }
87
+ }
88
+ // ---------------------------------------------------------------------------
89
+ // 5. RENDERERS — custom output formatting
90
+ // ---------------------------------------------------------------------------
91
+ function registerRenderers(api) {
92
+ if (typeof api.registerRenderer === "function") {
93
+ api.registerRenderer("json", (items) => {
94
+ return items.map((item) => `${item.id}\t${item.status}\t${item.title}`).join("\n");
95
+ });
96
+ }
97
+ }
98
+ // ---------------------------------------------------------------------------
99
+ // 6. SEARCH — custom search provider
100
+ // ---------------------------------------------------------------------------
101
+ function registerSearch(api) {
102
+ if (typeof api.registerSearchProvider === "function") {
103
+ api.registerSearchProvider({
104
+ name: "ts-starter-prefix",
105
+ async query(ctx) {
106
+ const query = ctx.query ?? "";
107
+ const { spawnSync } = await import("node:child_process");
108
+ const result = spawnSync("pm", ["--path", ctx.pm_root ?? ".", "list-all", "--json"], {
109
+ encoding: "utf-8",
110
+ });
111
+ if (result.status !== 0)
112
+ return { results: [] };
113
+ const data = JSON.parse(result.stdout);
114
+ const items = (data.items || []).filter((item) => item.id.startsWith(query));
115
+ return { results: items };
116
+ },
117
+ });
118
+ }
119
+ }
120
+ // ---------------------------------------------------------------------------
121
+ // 7. PREFLIGHT — Pre-flight checks before commands run
122
+ // ---------------------------------------------------------------------------
123
+ function registerPreflight(api) {
124
+ if (typeof api.registerPreflight === "function") {
125
+ // Preflight override — can modify preflight decisions before a command runs
126
+ api.registerPreflight(async (ctx) => {
127
+ console.error(`[ts-starter] Preflight check for workspace: ${ctx.pm_root ?? "unknown"}`);
128
+ // Return the current decision unchanged (pass-through)
129
+ return {
130
+ enforce_item_format_gate: ctx.decision?.enforce_item_format_gate ?? true,
131
+ run_preflight_item_format_sync: ctx.decision?.run_preflight_item_format_sync ?? false,
132
+ run_extension_migrations: ctx.decision?.run_extension_migrations ?? true,
133
+ enforce_mandatory_migration_gate: ctx.decision?.enforce_mandatory_migration_gate ?? false,
134
+ };
135
+ });
136
+ }
137
+ }
138
+ // ---------------------------------------------------------------------------
139
+ // 8. SERVICES — background services / config providers
140
+ // ---------------------------------------------------------------------------
141
+ function registerServices(api) {
142
+ if (typeof api.registerService === "function") {
143
+ // Override the output_format service to add custom formatting
144
+ api.registerService("output_format", async (ctx) => {
145
+ console.error("[ts-starter] output_format service override active");
146
+ return { format: "toon" };
147
+ });
148
+ }
149
+ }
150
+ // ---------------------------------------------------------------------------
151
+ // Extension entry point
152
+ // ---------------------------------------------------------------------------
153
+ export default defineExtension({
154
+ name: "pm-ts-starter",
155
+ version: "0.1.0",
156
+ activate(api) {
157
+ console.error("[pm-ts-starter] Activating…");
158
+ registerDemoCommands(api);
159
+ registerSchema(api);
160
+ registerHooks(api);
161
+ registerImporters(api);
162
+ registerRenderers(api);
163
+ registerSearch(api);
164
+ registerPreflight(api);
165
+ registerServices(api);
166
+ console.error("[pm-ts-starter] All capabilities registered.");
167
+ },
168
+ });
169
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/manifest.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "pm-ts-starter",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript reference extension covering all 8 SDK capability types. Demonstrates defineExtension, registerCommand, registerSchema, registerHook, registerImporter, registerRenderer, registerSearch, registerPreflight, and registerService - all fully typed.",
5
+ "author": "@unbraind",
6
+ "entry": "./dist/index.js",
7
+ "priority": 90,
8
+ "capabilities": [
9
+ "commands",
10
+ "schema",
11
+ "hooks",
12
+ "importers",
13
+ "renderers",
14
+ "preflight",
15
+ "search",
16
+ "services"
17
+ ],
18
+ "pm": {
19
+ "compatibility": "v2"
20
+ }
21
+ }
package/package.json ADDED
@@ -0,0 +1,89 @@
1
+ {
2
+ "name": "pm-ts-starter",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript reference extension for pm-cli covering all capability types",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/unbraind/pm-ts-starter.git"
8
+ },
9
+ "bugs": {
10
+ "url": "https://github.com/unbraind/pm-ts-starter/issues"
11
+ },
12
+ "homepage": "https://github.com/unbraind/pm-ts-starter#readme",
13
+ "type": "module",
14
+ "main": "dist/index.js",
15
+ "types": "dist/index.d.ts",
16
+ "files": [
17
+ "dist/",
18
+ "manifest.json",
19
+ "README.md",
20
+ "CHANGELOG.md"
21
+ ],
22
+ "scripts": {
23
+ "build": "tsc",
24
+ "prepack": "npm run build",
25
+ "typecheck": "tsc --noEmit",
26
+ "check": "npm run typecheck",
27
+ "audit:prod": "npm audit --omit=dev",
28
+ "pack:dry-run": "npm pack --dry-run",
29
+ "changelog": "pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --release-version-from-package --since-previous-tag --until-release-tag --item-url-base https://github.com/unbraind/pm-ts-starter/blob/main/.agents/pm",
30
+ "changelog:full": "pm-changelog --pm-root .agents/pm --mode replace --output CHANGELOG.md --all-release-tags --release-version-from-package --item-url-base https://github.com/unbraind/pm-ts-starter/blob/main/.agents/pm",
31
+ "changelog:check": "pm-changelog --pm-root .agents/pm --mode replace --output CHANGELOG.md --all-release-tags --release-version-from-package --item-url-base https://github.com/unbraind/pm-ts-starter/blob/main/.agents/pm --check",
32
+ "release:check": "npm run typecheck && npm run build && npm run audit:prod && npm run pack:dry-run && npm run changelog:check"
33
+ },
34
+ "peerDependencies": {
35
+ "@unbrained/pm-cli": ">=2026.5.24"
36
+ },
37
+ "devDependencies": {
38
+ "@unbrained/pm-cli": "^2026.5.24",
39
+ "typescript": "^6.0.3",
40
+ "pm-changelog": "^2026.5.25",
41
+ "@types/node": "^25.9.1"
42
+ },
43
+ "keywords": [
44
+ "extension",
45
+ "pm-cli",
46
+ "pm-extension",
47
+ "pm-package",
48
+ "reference",
49
+ "starter",
50
+ "ts",
51
+ "typescript"
52
+ ],
53
+ "license": "MIT",
54
+ "engines": {
55
+ "node": ">=20.0.0"
56
+ },
57
+ "author": "@unbraind",
58
+ "pm": {
59
+ "aliases": [
60
+ "ts-starter"
61
+ ],
62
+ "extensions": [
63
+ "."
64
+ ],
65
+ "catalog": {
66
+ "display_name": "TypeScript Starter",
67
+ "category": "starter",
68
+ "summary": "TypeScript reference extension for pm-cli covering all capability types",
69
+ "tags": [
70
+ "starter",
71
+ "typescript",
72
+ "sdk"
73
+ ],
74
+ "links": {
75
+ "docs": "https://github.com/unbraind/pm-ts-starter#readme",
76
+ "npm": "https://www.npmjs.com/package/pm-ts-starter",
77
+ "repository": "https://github.com/unbraind/pm-ts-starter",
78
+ "report": "https://github.com/unbraind/pm-ts-starter/issues"
79
+ }
80
+ },
81
+ "docs": [
82
+ "README.md",
83
+ "CHANGELOG.md"
84
+ ],
85
+ "examples": [
86
+ "README.md"
87
+ ]
88
+ }
89
+ }