pm-presets 2026.6.3 → 2026.6.7

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 CHANGED
@@ -1,6 +1,33 @@
1
1
  # Changelog
2
2
 
3
- ## 2026.6.3 - 2026-06-02
3
+ ## 2026.6.7 - 2026-06-07
4
+
5
+ ### Added
6
+
7
+ - Synchronize preset registry metadata with bundled kanban preset ([pm-rehf](https://github.com/unbraind/pm-presets/blob/main/.agents/pm/features/pm-rehf.toon))
8
+
9
+ ### Other
10
+
11
+ - Harden release readiness checks ([pm-7rjp](https://github.com/unbraind/pm-presets/blob/main/.agents/pm/chores/pm-7rjp.toon))
12
+ - Align package dependencies to pm CLI/SDK 2026.6.6 ([pm-oaud](https://github.com/unbraind/pm-presets/blob/main/.agents/pm/chores/pm-oaud.toon))
13
+
14
+ ## 2026.06.04 - 2026-06-04
15
+
16
+ ### Added
17
+
18
+ - Add presets apply --replace, diff --strict, and presets export ([pm-ehaf](https://github.com/unbraind/pm-presets/blob/main/.agents/pm/features/pm-ehaf.toon))
19
+
20
+ ## 2026.06.03-1 - 2026-06-03
21
+
22
+ ### Added
23
+
24
+ - Deepen presets toolset: add show, diff, validate, enrich list ([pm-ruih](https://github.com/unbraind/pm-presets/blob/main/.agents/pm/features/pm-ruih.toon))
25
+
26
+ ### Other
27
+
28
+ - Unit tests + functional test against real workspace + release 2026.6.3 ([pm-q60r](https://github.com/unbraind/pm-presets/blob/main/.agents/pm/tasks/pm-q60r.toon))
29
+
30
+ ## 2026.06.03 - 2026-06-02
4
31
 
5
32
  ### Added
6
33
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # pm-presets
2
2
 
3
- All 5 official [pm-cli](https://github.com/unbraind/pm-cli) workspace presets in one package.
3
+ All 6 official [pm-cli](https://github.com/unbraind/pm-cli) workspace presets in one package.
4
4
 
5
5
  Install once, get all preset setup commands:
6
6
 
@@ -37,6 +37,7 @@ Run `pm presets list` for the full, machine-readable catalog.
37
37
  pm oss-setup # open-source project
38
38
  pm sprint-setup # software sprint
39
39
  pm roadmap-setup # startup roadmap
40
+ pm kanban-setup # continuous-flow kanban
40
41
  ```
41
42
 
42
43
  All setup commands share the same flags:
@@ -60,9 +61,10 @@ management surface plus a generic `apply`:
60
61
  |---|---|
61
62
  | `pm presets list` | Enumerate every bundled preset and what it configures (governance, built-in + custom item types, templates). |
62
63
  | `pm presets show <id>` | Print the full definition of one preset: the settings patch it merges, every template (with its `pm create` option keys), and any custom item types it registers. |
63
- | `pm presets diff <id>` | Compare the current workspace (`settings.json` + installed templates) against a preset and report what `apply` would add / change, plus which templates are missing. |
64
+ | `pm presets diff <id>` | Compare the current workspace (`settings.json` + installed templates) against a preset and report what `apply` would add / change, plus which templates are missing. Add `--strict` to exit non-zero on drift (CI/compliance). |
64
65
  | `pm presets validate` | Validate that all bundled presets parse and load coherently (governance enums, template names/options, registry↔export agreement). |
65
- | `pm presets apply <id>` | Scaffold a preset into the current workspace (the generic form of the `*-setup` commands). |
66
+ | `pm presets apply <id>` | Scaffold a preset into the current workspace (the generic form of the `*-setup` commands). Add `--replace` for a clean reset of the owned settings trees. |
67
+ | `pm presets export <name>` | Snapshot the **current** workspace's settings + templates as a reusable preset definition (JSON), to stdout or a file. |
66
68
 
67
69
  All of the read-only commands accept `--json` for machine-readable output, and
68
70
  all commands accept `--help`. An unknown preset id exits with code `3`
@@ -72,8 +74,11 @@ all commands accept `--help`. An unknown preset id exits with code `3`
72
74
  pm presets list
73
75
  pm presets show software-sprint --json
74
76
  pm presets diff software-sprint # what would change if I applied it?
77
+ pm presets diff software-sprint --strict # exit 4 if the workspace has drifted
75
78
  pm presets validate
76
79
  pm presets apply software-sprint --dry-run
80
+ pm presets apply software-sprint --replace # clean reset of governance/validation/testing
81
+ pm presets export our-config --output our-config.preset.json
77
82
  ```
78
83
 
79
84
  ### `presets apply` flags
@@ -84,15 +89,53 @@ plus:
84
89
  | Flag | Short | Description |
85
90
  |---|---|---|
86
91
  | `--with-seeds` | `-s` | Also create the preset's starter items after applying it. |
92
+ | `--replace` | | Full-replace the `governance` / `validation` / `testing` trees with the preset's instead of deep-merging them. |
87
93
 
88
94
  **Idempotency & safety.** `apply` is safe to re-run:
89
95
 
90
- - `settings.json` is **deep-merged** — the preset's keys are layered over your
91
- existing settings, so unrelated config (telemetry, locks, etc.) is preserved.
96
+ - `settings.json` is **deep-merged** by default — the preset's keys are layered
97
+ over your existing settings, so unrelated config (telemetry, locks, etc.) is
98
+ preserved.
99
+ - `--replace` instead **swaps the `governance` / `validation` / `testing` trees
100
+ wholesale** with the preset's exact trees — dropping any keys the preset no
101
+ longer sets, for a clean reset. Unrelated top-level settings (`id_prefix`,
102
+ `telemetry`, `locks`, …) are still preserved in both modes.
92
103
  - Templates are **skipped if a file with that name already exists**; pass
93
104
  `--force` to overwrite them.
94
- - `--dry-run` previews every settings merge, template write, and seed item
95
- without touching disk.
105
+ - `--dry-run` previews every settings merge/replace, template write, and seed
106
+ item without touching disk.
107
+
108
+ ### Drift detection: `presets diff --strict`
109
+
110
+ `presets diff <id> --strict` reuses the diff logic but **exits non-zero (code
111
+ `4`)** when the workspace is not in sync with the named preset — settings to
112
+ add/change or templates missing. It prints what drifted (human summary, or the
113
+ full diff with `--json`) before exiting, so CI logs explain the failure. When
114
+ the workspace already matches the preset it exits `0`. Plain `presets diff`
115
+ (without `--strict`) always exits `0` and just reports.
116
+
117
+ ```bash
118
+ # Fail a compliance/CI job if the workspace drifts from the locked preset:
119
+ pm presets diff bug-triage --strict || echo "workspace drifted!"
120
+ ```
121
+
122
+ ### Exporting your own config: `presets export`
123
+
124
+ After you `apply` a preset and customize it, `presets export <name>` captures
125
+ the **live** workspace as a reusable preset definition (`settings.json` plus
126
+ every installed template). Write it to stdout (use `--json` for clean,
127
+ pipeable output) or to a file with `--output`:
128
+
129
+ ```bash
130
+ pm presets apply bug-triage # start from a bundled preset
131
+ # ...customize settings.json and templates by hand...
132
+ pm presets export our-config --output our-config.preset.json --display-name "Our Team Config"
133
+ ```
134
+
135
+ The exported document is `$schema: "pm-presets/exported-preset@1"` and records
136
+ `settings` + `templates`. **Custom item-field _values_ are not captured**:
137
+ custom scalar fields have no `pm create --<field>` setter today (pm-cli #97),
138
+ so the snapshot reconstructs the preset from settings + templates only.
96
139
 
97
140
  **Seeds and custom fields (pm-cli #97).** Starter items created by
98
141
  `--with-seeds` set only **built-in** fields (`type`, `title`, `priority`,
@@ -188,18 +231,31 @@ pm create --template feature
188
231
  pm create --template milestone
189
232
  ```
190
233
 
191
- ## Migration from pm-preset-* packages
234
+ ### kanban
235
+
236
+ **Governance:** minimal — continuous flow with light ownership warnings.
237
+
238
+ **Templates:** `card`, `expedite`, `blocked`
239
+
240
+ **Default id_prefix:** `kan-`
192
241
 
193
- If you previously installed individual `pm-preset-*` packages, uninstall them
194
- and install `pm-presets` instead:
242
+ Best for teams that pull work through backlog, ready, in-progress, review, and done columns.
195
243
 
196
244
  ```bash
197
- pm package uninstall pm-preset-bug-triage --project
198
- pm package uninstall pm-preset-indie-dev --project
199
- pm package uninstall pm-preset-open-source --project
200
- pm package uninstall pm-preset-software-sprint --project
201
- pm package uninstall pm-preset-startup-roadmap --project
245
+ pm kanban-setup
246
+ pm create --template card
247
+ pm create --template expedite
248
+ pm create --template blocked
249
+ ```
250
+
251
+ ## Migration from legacy individual preset packages
202
252
 
253
+ If you previously installed individual preset packages, uninstall those legacy
254
+ entries shown by `pm package list --project` and install `pm-presets` instead:
255
+
256
+ ```bash
257
+ pm package list --project
258
+ pm package uninstall <legacy-preset-package> --project
203
259
  pm install github.com/unbraind/pm-presets --project
204
260
  ```
205
261
 
@@ -0,0 +1,56 @@
1
+ /**
2
+ * export.ts — snapshot the CURRENT pm workspace into a preset definition.
3
+ *
4
+ * `presets export <name>` reads the live workspace settings.json + installed
5
+ * templates and emits a self-contained preset definition (JSON) that mirrors
6
+ * the shape of the bundled presets. The intended flow is:
7
+ *
8
+ * 1. apply a bundled preset,
9
+ * 2. customize settings + templates by hand,
10
+ * 3. `presets export our-config` to lock the result as a reusable definition.
11
+ *
12
+ * The interesting logic is pure (`buildExportedPreset`) so it is unit-testable;
13
+ * `readWorkspaceSnapshot` (in diff.ts) is the only filesystem-touching input.
14
+ *
15
+ * MVP scope: settings + templates. Custom item-field VALUES are intentionally
16
+ * out of scope because custom scalar fields have no `pm create --<field>`
17
+ * setter (pm-cli #97), so they cannot be round-tripped through workspace items
18
+ * — the exported definition records only the settings tree and template
19
+ * documents, which fully reconstruct an applied preset.
20
+ */
21
+ import type { CreateTemplateOptions, StoredCreateTemplateDocument } from "./presets/shared.js";
22
+ export interface ExportedTemplate {
23
+ name: string;
24
+ options: CreateTemplateOptions;
25
+ }
26
+ export interface ExportedPreset {
27
+ /** Identifies this as a pm-presets export and pins the shape version. */
28
+ $schema: "pm-presets/exported-preset@1";
29
+ id: string;
30
+ displayName: string;
31
+ /** id_prefix lifted from settings for convenience (mirrors bundled descriptors). */
32
+ idPrefix: string;
33
+ /** The full settings.json the workspace currently has. */
34
+ settings: Record<string, unknown>;
35
+ /** Every user template installed in the workspace, name + options. */
36
+ templates: ExportedTemplate[];
37
+ meta: {
38
+ exportedAt: string;
39
+ /** Honest note about the #97 custom-field limitation. */
40
+ note: string;
41
+ };
42
+ }
43
+ /** Pure: assemble an ExportedPreset from already-read workspace inputs. */
44
+ export declare function buildExportedPreset(input: {
45
+ name: string;
46
+ displayName?: string;
47
+ settings: Record<string, unknown> | undefined;
48
+ templates: ExportedTemplate[];
49
+ now?: Date;
50
+ }): ExportedPreset;
51
+ /** Read every user template document from the workspace `templates/` directory. */
52
+ export declare function readWorkspaceTemplates(pmDir: string): ExportedTemplate[];
53
+ /** Read the workspace settings.json (or `undefined` if absent/unreadable). */
54
+ export declare function readWorkspaceSettings(pmDir: string): Record<string, unknown> | undefined;
55
+ export type { StoredCreateTemplateDocument };
56
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,KAAK,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAE/F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,OAAO,EAAE,8BAA8B,CAAC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,sEAAsE;IACtE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC;QACnB,yDAAyD;QACzD,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAWD,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC9C,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,cAAc,CAoBjB;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA8BxE;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWxF;AAED,YAAY,EAAE,4BAA4B,EAAE,CAAC"}
package/dist/export.js ADDED
@@ -0,0 +1,95 @@
1
+ /**
2
+ * export.ts — snapshot the CURRENT pm workspace into a preset definition.
3
+ *
4
+ * `presets export <name>` reads the live workspace settings.json + installed
5
+ * templates and emits a self-contained preset definition (JSON) that mirrors
6
+ * the shape of the bundled presets. The intended flow is:
7
+ *
8
+ * 1. apply a bundled preset,
9
+ * 2. customize settings + templates by hand,
10
+ * 3. `presets export our-config` to lock the result as a reusable definition.
11
+ *
12
+ * The interesting logic is pure (`buildExportedPreset`) so it is unit-testable;
13
+ * `readWorkspaceSnapshot` (in diff.ts) is the only filesystem-touching input.
14
+ *
15
+ * MVP scope: settings + templates. Custom item-field VALUES are intentionally
16
+ * out of scope because custom scalar fields have no `pm create --<field>`
17
+ * setter (pm-cli #97), so they cannot be round-tripped through workspace items
18
+ * — the exported definition records only the settings tree and template
19
+ * documents, which fully reconstruct an applied preset.
20
+ */
21
+ import * as fs from "node:fs";
22
+ import * as path from "node:path";
23
+ const EXPORT_NOTE = "Custom item-field values are not captured: custom scalar fields have no " +
24
+ "`pm create --<field>` setter (pm-cli #97). This snapshot reconstructs the " +
25
+ "preset from settings + templates only.";
26
+ function isJsonObject(value) {
27
+ return typeof value === "object" && value !== null && !Array.isArray(value);
28
+ }
29
+ /** Pure: assemble an ExportedPreset from already-read workspace inputs. */
30
+ export function buildExportedPreset(input) {
31
+ const settings = input.settings ?? {};
32
+ const idPrefixRaw = settings["id_prefix"];
33
+ const idPrefix = typeof idPrefixRaw === "string" ? idPrefixRaw : "";
34
+ const now = input.now ?? new Date();
35
+ const templates = [...input.templates].sort((left, right) => left.name.localeCompare(right.name));
36
+ return {
37
+ $schema: "pm-presets/exported-preset@1",
38
+ id: input.name,
39
+ displayName: input.displayName ?? input.name,
40
+ idPrefix,
41
+ settings,
42
+ templates,
43
+ meta: {
44
+ exportedAt: now.toISOString(),
45
+ note: EXPORT_NOTE,
46
+ },
47
+ };
48
+ }
49
+ /** Read every user template document from the workspace `templates/` directory. */
50
+ export function readWorkspaceTemplates(pmDir) {
51
+ const templatesDir = path.join(pmDir, "templates");
52
+ if (!fs.existsSync(templatesDir)) {
53
+ return [];
54
+ }
55
+ const out = [];
56
+ for (const entry of fs.readdirSync(templatesDir)) {
57
+ if (!entry.toLowerCase().endsWith(".json")) {
58
+ continue;
59
+ }
60
+ const filePath = path.join(templatesDir, entry);
61
+ let parsed;
62
+ try {
63
+ parsed = JSON.parse(fs.readFileSync(filePath, "utf8"));
64
+ }
65
+ catch {
66
+ continue;
67
+ }
68
+ if (!isJsonObject(parsed)) {
69
+ continue;
70
+ }
71
+ const name = typeof parsed.name === "string" && parsed.name.trim().length > 0
72
+ ? parsed.name
73
+ : entry.slice(0, -".json".length);
74
+ const options = isJsonObject(parsed.options)
75
+ ? parsed.options
76
+ : {};
77
+ out.push({ name, options });
78
+ }
79
+ return out;
80
+ }
81
+ /** Read the workspace settings.json (or `undefined` if absent/unreadable). */
82
+ export function readWorkspaceSettings(pmDir) {
83
+ const settingsPath = path.join(pmDir, "settings.json");
84
+ if (!fs.existsSync(settingsPath)) {
85
+ return undefined;
86
+ }
87
+ try {
88
+ const parsed = JSON.parse(fs.readFileSync(settingsPath, "utf8"));
89
+ return isJsonObject(parsed) ? parsed : undefined;
90
+ }
91
+ catch {
92
+ return undefined;
93
+ }
94
+ }
95
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pm-presets — all 5 official pm-cli workspace presets in one package.
2
+ * pm-presets — all 6 official pm-cli workspace presets in one package.
3
3
  *
4
4
  * Each preset registers a setup command with the pm CLI extension API.
5
5
  * Install this package once and get all presets:
@@ -12,6 +12,7 @@
12
12
  * pm oss-setup # open-source preset
13
13
  * pm sprint-setup # software-sprint preset
14
14
  * pm roadmap-setup # startup-roadmap preset
15
+ * pm kanban-setup # kanban preset
15
16
  *
16
17
  * Plus a unified, read-only management surface:
17
18
  * pm presets list # enumerate presets + what each configures
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;;AA2FH,wBA2NG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;;AAyIH,wBA2SG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pm-presets — all 5 official pm-cli workspace presets in one package.
2
+ * pm-presets — all 6 official pm-cli workspace presets in one package.
3
3
  *
4
4
  * Each preset registers a setup command with the pm CLI extension API.
5
5
  * Install this package once and get all presets:
@@ -12,6 +12,7 @@
12
12
  * pm oss-setup # open-source preset
13
13
  * pm sprint-setup # software-sprint preset
14
14
  * pm roadmap-setup # startup-roadmap preset
15
+ * pm kanban-setup # kanban preset
15
16
  *
16
17
  * Plus a unified, read-only management surface:
17
18
  * pm presets list # enumerate presets + what each configures
@@ -24,13 +25,18 @@ import { runBugTriageSetup } from "./presets/bug-triage/index.js";
24
25
  import { runIndieDevSetup } from "./presets/indie-dev/index.js";
25
26
  import { runKanbanSetup, ITEM_TYPES as kanbanItemTypes } from "./presets/kanban/index.js";
26
27
  import { runOpenSourceSetup } from "./presets/open-source/index.js";
27
- import { resolvePmDir, readBooleanOption, runTemplatesList, runTemplatesShow } from "./presets/shared.js";
28
+ import { resolvePmDir, readBooleanOption, readStringOption, runTemplatesList, runTemplatesShow } from "./presets/shared.js";
28
29
  import { runSoftwareSprintSetup } from "./presets/software-sprint/index.js";
29
30
  import { runStartupRoadmapSetup } from "./presets/startup-roadmap/index.js";
30
31
  import { PRESET_REGISTRY } from "./registry.js";
31
32
  import { buildListRows, requirePresetDefinition, validateAllPresets, } from "./catalog.js";
32
33
  import { computePresetDiff, readWorkspaceSnapshot } from "./diff.js";
34
+ import { buildExportedPreset, readWorkspaceSettings, readWorkspaceTemplates, } from "./export.js";
33
35
  import { planSeeds, seedPresetItems, seedsForPreset } from "./seeds.js";
36
+ import * as fs from "node:fs";
37
+ // Drift exit code for `presets diff --strict`. Distinct from GENERIC(1)/
38
+ // USAGE(2)/NOT_FOUND(3) so CI can tell "drifted" from "command failed".
39
+ const EXIT_CODE_DRIFT = 4;
34
40
  const defineExtension = ((extension) => extension);
35
41
  // A thrown error only yields a clean non-zero exit (no double-invocation) when
36
42
  // it carries a numeric `exitCode`. Standalone-installed extensions can't import
@@ -78,7 +84,16 @@ const COMMON_FLAGS = [
78
84
  description: "Override the id_prefix written to settings.json.",
79
85
  },
80
86
  ];
81
- // `presets apply` additionally accepts --with-seeds to create starter items.
87
+ // `presets list`/`show`/`diff`/`validate`/`export` are JSON-friendly.
88
+ const JSON_FLAG = [
89
+ {
90
+ long: "--json",
91
+ type: "boolean",
92
+ description: "Emit machine-readable JSON instead of the human summary.",
93
+ },
94
+ ];
95
+ // `presets apply` additionally accepts --with-seeds to create starter items
96
+ // and --replace to full-replace (rather than deep-merge) the owned settings trees.
82
97
  const APPLY_FLAGS = [
83
98
  ...COMMON_FLAGS,
84
99
  {
@@ -87,13 +102,36 @@ const APPLY_FLAGS = [
87
102
  type: "boolean",
88
103
  description: "Also create the preset's starter items (built-in fields only; see #97).",
89
104
  },
105
+ {
106
+ long: "--replace",
107
+ type: "boolean",
108
+ description: "Full-replace the governance/validation/testing settings trees with the preset's (clean reset) instead of deep-merging. Other settings are still preserved.",
109
+ },
90
110
  ];
91
- // `presets list`/`show`/`diff`/`validate` are read-only and JSON-friendly.
92
- const JSON_FLAG = [
111
+ // `presets diff` additionally accepts --strict for CI drift detection.
112
+ const DIFF_FLAGS = [
113
+ ...JSON_FLAG,
93
114
  {
94
- long: "--json",
115
+ long: "--strict",
95
116
  type: "boolean",
96
- description: "Emit machine-readable JSON instead of the human summary.",
117
+ description: "Exit non-zero (4) when the workspace is NOT in sync with the preset (drift detection for CI/compliance).",
118
+ },
119
+ ];
120
+ // `presets export` writes to a file or stdout and can carry a display name.
121
+ const EXPORT_FLAGS = [
122
+ ...JSON_FLAG,
123
+ {
124
+ long: "--output",
125
+ short: "-o",
126
+ value_name: "<file>",
127
+ type: "string",
128
+ description: "Write the exported preset definition to a file instead of stdout.",
129
+ },
130
+ {
131
+ long: "--display-name",
132
+ value_name: "<name>",
133
+ type: "string",
134
+ description: "Human-readable display name for the exported preset (defaults to the id).",
97
135
  },
98
136
  ];
99
137
  export default defineExtension({
@@ -171,15 +209,83 @@ export default defineExtension({
171
209
  name: "presets diff",
172
210
  action: "presets-diff",
173
211
  description: "Compare the current pm workspace (settings + installed templates) against a preset and report differences.",
174
- examples: ["pm presets diff software-sprint", "pm presets diff bug-triage --json"],
212
+ examples: [
213
+ "pm presets diff software-sprint",
214
+ "pm presets diff bug-triage --json",
215
+ "pm presets diff bug-triage --strict",
216
+ ],
175
217
  arguments: [
176
218
  { name: "preset", required: true, description: "Preset id (see `pm presets list`)." },
177
219
  ],
178
- flags: JSON_FLAG,
220
+ flags: DIFF_FLAGS,
179
221
  run: (ctx) => {
180
222
  const definition = requirePresetDefinition(ctx.args?.[0]);
181
223
  const snapshot = readWorkspaceSnapshot(resolvePmDir(ctx));
182
- return computePresetDiff(definition, snapshot);
224
+ const result = computePresetDiff(definition, snapshot);
225
+ const strict = readBooleanOption(ctx.options, "strict");
226
+ if (strict && !result.inSync) {
227
+ // Drift detected. Print the diff (respecting --json) so CI logs show
228
+ // WHAT drifted, then exit non-zero with a dedicated drift code (4).
229
+ const json = readBooleanOption(ctx.options, "json");
230
+ if (json) {
231
+ console.log(JSON.stringify(result, null, 2));
232
+ }
233
+ else {
234
+ const { settingsToAdd, settingsToChange, templatesMissing } = result.summary;
235
+ console.error(`Workspace is NOT in sync with preset '${definition.id}': ` +
236
+ `${settingsToAdd} setting(s) to add, ${settingsToChange} to change, ` +
237
+ `${templatesMissing} template(s) missing.`);
238
+ }
239
+ throw new PresetError(`Workspace drifted from preset '${definition.id}'.`, EXIT_CODE_DRIFT);
240
+ }
241
+ return result;
242
+ },
243
+ });
244
+ api.registerCommand({
245
+ name: "presets export",
246
+ action: "presets-export",
247
+ description: "Snapshot the CURRENT workspace's settings + templates as a reusable preset definition (JSON) to stdout or a file.",
248
+ examples: [
249
+ "pm presets export our-config",
250
+ "pm presets export our-config --output our-config.preset.json",
251
+ 'pm presets export our-config --display-name "Our Team Config"',
252
+ ],
253
+ arguments: [
254
+ {
255
+ name: "name",
256
+ required: true,
257
+ description: "Id for the exported preset definition.",
258
+ },
259
+ ],
260
+ flags: EXPORT_FLAGS,
261
+ run: (ctx) => {
262
+ const name = ctx.args?.[0];
263
+ if (typeof name !== "string" || name.trim().length === 0) {
264
+ throw new PresetError("presets export requires a preset name argument.", 2);
265
+ }
266
+ const pmDir = resolvePmDir(ctx);
267
+ const settings = readWorkspaceSettings(pmDir);
268
+ if (!settings) {
269
+ throw new PresetError(`No readable settings.json in ${pmDir}. Run \`pm init\` (and apply a preset) first.`, 3);
270
+ }
271
+ const templates = readWorkspaceTemplates(pmDir);
272
+ const exported = buildExportedPreset({
273
+ name: name.trim(),
274
+ displayName: readStringOption(ctx.options, "displayName", "display-name"),
275
+ settings,
276
+ templates,
277
+ });
278
+ const output = readStringOption(ctx.options, "output");
279
+ if (output) {
280
+ const serialized = `${JSON.stringify(exported, null, 2)}\n`;
281
+ fs.writeFileSync(output, serialized, "utf8");
282
+ console.log(`Exported preset '${exported.id}' (${exported.templates.length} template(s)) to ${output}`);
283
+ return undefined;
284
+ }
285
+ // No --output: return the definition so pm renders it as the command
286
+ // result. With `--json` pm emits clean, pipeable JSON (no trailing
287
+ // result block); use `--output` for a verbatim file on disk.
288
+ return exported;
183
289
  },
184
290
  });
185
291
  api.registerCommand({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,eAAe,GAA+B,CAAC,CAAC,SAAc,EAAE,EAAE,CAAC,SAAS,CAAQ,CAAC;AAE3F,+EAA+E;AAC/E,gFAAgF;AAChF,kEAAkE;AAClE,MAAM,WAAY,SAAQ,KAAK;IAC7B,QAAQ,CAAS;IACjB,YAAY,OAAe,EAAE,QAAQ,GAAG,CAAC;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,8EAA8E;AAC9E,6DAA6D;AAC7D,MAAM,eAAe,GAA0C;IAC7D,YAAY,EAAE,iBAAiB;IAC/B,WAAW,EAAE,gBAAgB;IAC7B,aAAa,EAAE,kBAAkB;IACjC,iBAAiB,EAAE,sBAAsB;IACzC,iBAAiB,EAAE,sBAAsB;IACzC,QAAQ,EAAE,cAAc;CACzB,CAAC;AAEF,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,kEAAkE;AAClE,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,SAAkB;QACxB,WAAW,EAAE,wEAAwE;KACtF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,SAAkB;QACxB,WAAW,EAAE,2DAA2D;KACzE;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,QAAiB;QACvB,WAAW,EAAE,kDAAkD;KAChE;CACF,CAAC;AAEF,6EAA6E;AAC7E,MAAM,WAAW,GAAG;IAClB,GAAG,YAAY;IACf;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,SAAkB;QACxB,WAAW,EAAE,yEAAyE;KACvF;CACF,CAAC;AAEF,2EAA2E;AAC3E,MAAM,SAAS,GAAG;IAChB;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAkB;QACxB,WAAW,EAAE,0DAA0D;KACxE;CACF,CAAC;AAEF,eAAe,eAAe,CAAC;IAC7B,QAAQ,CAAC,GAAG;QACV,2EAA2E;QAC3E,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,6GAA6G;YAC/G,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,iBAAiB;SACvB,CAAC,CAAC;QAEH,2EAA2E;QAC3E,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,aAAa;YACnB,WAAW,EACT,mGAAmG;YACrG,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,gBAAgB;SACtB,CAAC,CAAC;QAEH,2EAA2E;QAC3E,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,qGAAqG;YACvG,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,kBAAkB;SACxB,CAAC,CAAC;QAEH,2EAA2E;QAC3E,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,gGAAgG;YAClG,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,sBAAsB;SAC5B,CAAC,CAAC;QAEH,2EAA2E;QAC3E,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,eAAe;YACrB,WAAW,EACT,6GAA6G;YAC/G,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,sBAAsB;SAC5B,CAAC,CAAC;QAEH,2EAA2E;QAC3E,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,6GAA6G;YAC/G,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,cAAc;SACpB,CAAC,CAAC;QAEH,6EAA6E;QAC7E,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;YAChD,GAAG,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACzC,CAAC;QAED,4EAA4E;QAC5E,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,cAAc;YACtB,WAAW,EACT,mGAAmG;YACrG,QAAQ,EAAE,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;YACvD,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBACV,OAAO,EAAE,aAAa,EAAE;gBACxB,KAAK,EAAE,eAAe,CAAC,MAAM;aAC9B,CAAC;SACH,CAAC,CAAC;QAEH,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,cAAc;YACtB,WAAW,EACT,4FAA4F;YAC9F,QAAQ,EAAE,CAAC,iCAAiC,EAAE,+BAA+B,CAAC;YAC9E,SAAS,EAAE;gBACT,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oCAAoC,EAAE;aACtF;YACD,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,CAAC,GAA0B,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SAC5E,CAAC,CAAC;QAEH,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,cAAc;YACtB,WAAW,EACT,4GAA4G;YAC9G,QAAQ,EAAE,CAAC,iCAAiC,EAAE,mCAAmC,CAAC;YAClF,SAAS,EAAE;gBACT,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oCAAoC,EAAE;aACtF;YACD,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,CAAC,GAA0B,EAAE,EAAE;gBAClC,MAAM,UAAU,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1D,OAAO,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,kBAAkB;YAC1B,WAAW,EAAE,6DAA6D;YAC1E,QAAQ,EAAE,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;YAC/D,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,GAAG,EAAE;gBACR,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;yBACzB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;yBACvD,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,MAAM,IAAI,WAAW,CACnB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,sCAAsC,MAAM,CAAC,OAAO,gBAAgB,MAAM,EAAE,EACnG,CAAC,CACF,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,eAAe;YACvB,WAAW,EACT,wGAAwG;YAC1G,QAAQ,EAAE;gBACR,yBAAyB;gBACzB,4CAA4C;gBAC5C,0CAA0C;gBAC1C,qCAAqC;aACtC;YACD,SAAS,EAAE;gBACT,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oCAAoC,EAAE;aACtF;YACD,KAAK,EAAE,WAAW;YAClB,GAAG,EAAE,CAAC,GAA0B,EAAE,EAAE;gBAClC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzB,iEAAiE;gBACjE,MAAM,UAAU,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;gBAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,CAAC;gBAEb,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC5E,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACnE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,iCAAiC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;oBAChE,OAAO;gBACT,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,MAAM,mBAAmB,CAAC,CAAC;oBACrE,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;wBACrD,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnD,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,MAAM,qBAAqB,CAAC,CAAC;gBAC1D,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC1D,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;wBACd,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5F,CAAC;gBACH,CAAC;gBACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,WAAW,CACnB,UAAU,UAAU,CAAC,OAAO,gBAAgB,UAAU,CAAC,MAAM,UAAU,EACvE,CAAC,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,oEAAoE;QACpE,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,gBAAgB;YACxB,WAAW,EAAE,uDAAuD;YACpE,GAAG,EAAE,gBAAgB;SACtB,CAAC,CAAC;QAEH,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,gBAAgB;YACxB,WAAW,EAAE,uDAAuD;YACpE,GAAG,EAAE,gBAAgB;SACtB,CAAC,CAAC;QAEH,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,gBAAgB;YACxB,WAAW,EAAE,wDAAwD;YACrE,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,gBAAgB;iBAC9B;aACF;YACD,GAAG,EAAE,gBAAgB;SACtB,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,uBAAuB;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export declare class CommandError extends Error {
21
21
  exitCode: number;
22
22
  constructor(message: string, exitCode?: number);
23
23
  }
24
+ type JsonObject = Record<string, unknown>;
24
25
  export type TemplateOptionValue = string | string[];
25
26
  export type CreateTemplateOptions = Record<string, TemplateOptionValue>;
26
27
  export interface StoredCreateTemplateDocument {
@@ -74,6 +75,14 @@ export declare function readBooleanOption(options: Record<string, unknown>, ...k
74
75
  export declare function readStringOption(options: Record<string, unknown>, ...keys: string[]): string | undefined;
75
76
  export declare function normalizeTemplateName(rawName: string): string;
76
77
  export declare function storedTemplate(rawName: string, options: CreateTemplateOptions): StoredCreateTemplateDocument;
78
+ /**
79
+ * Merge a preset settings patch, optionally full-replacing the governance /
80
+ * validation / testing trees rather than deep-merging them.
81
+ *
82
+ * Pure and unit-tested. Other top-level keys (e.g. `id_prefix`, unrelated user
83
+ * config) are always deep-merged so unrelated settings are never dropped.
84
+ */
85
+ export declare function mergePresetSettings(existing: JsonObject, patch: JsonObject, replace: boolean): JsonObject;
77
86
  export declare function applyPreset(context: CommandHandlerContext, input: {
78
87
  label: string;
79
88
  settings: PresetSettingsPatch;
@@ -83,4 +92,5 @@ export declare function applyPreset(context: CommandHandlerContext, input: {
83
92
  }): void;
84
93
  export declare function runTemplatesList(context: CommandHandlerContext): TemplatesListResult;
85
94
  export declare function runTemplatesShow(context: CommandHandlerContext): TemplatesShowResult;
95
+ export {};
86
96
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/presets/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/presets/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAWnE,eAAO,MAAM,SAAS;;;;CAIZ,CAAC;AAEX,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,EAAE,MAAM,CAAC;gBACL,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkC;CAK1E;AAED,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AACpD,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAExE,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACrD,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;QACnD,mBAAmB,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;QAC/C,wBAAwB,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;QACrD,gBAAgB,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;QAC3C,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAChD,6BAA6B,CAAC,EAAE,OAAO,CAAC;QACxC,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,UAAU,CAAC,EAAE;QACX,qBAAqB,EAAE,MAAM,GAAG,cAAc,CAAC;QAC/C,gBAAgB,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;QAC3C,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAChD,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;KACrC,CAAC;IACF,OAAO,CAAC,EAAE;QACR,uBAAuB,EAAE,OAAO,CAAC;KAClC,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,qBAAqB,CAAC;CAChC;AA8CD,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAOnE;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,OAAO,CAQT;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,MAAM,GAAG,SAAS,CAQpB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS7D;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAC7B,4BAA4B,CAQ9B;AAWD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,OAAO,GACf,UAAU,CAeZ;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,IAAI,CA4EN;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,GAAG,mBAAmB,CAmBpF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,GAAG,mBAAmB,CAsCpF"}
@@ -116,6 +116,38 @@ export function storedTemplate(rawName, options) {
116
116
  options: sortTemplateOptions(options),
117
117
  };
118
118
  }
119
+ /**
120
+ * The settings-patch trees that `--replace` swaps out wholesale instead of
121
+ * deep-merging. These are the governance / validation / testing config trees a
122
+ * preset owns; replacing them gives a clean reset (drops keys the preset no
123
+ * longer sets) while merge layers the preset over whatever is already there.
124
+ * `id_prefix` and any unrelated top-level keys are always merge-preserved.
125
+ */
126
+ const REPLACE_SETTINGS_TREES = ["governance", "validation", "testing"];
127
+ /**
128
+ * Merge a preset settings patch, optionally full-replacing the governance /
129
+ * validation / testing trees rather than deep-merging them.
130
+ *
131
+ * Pure and unit-tested. Other top-level keys (e.g. `id_prefix`, unrelated user
132
+ * config) are always deep-merged so unrelated settings are never dropped.
133
+ */
134
+ export function mergePresetSettings(existing, patch, replace) {
135
+ if (!replace) {
136
+ return deepMergeJson(existing, patch);
137
+ }
138
+ // Deep-merge everything first, then overwrite the owned trees with the
139
+ // preset's exact tree (or remove them if the preset doesn't set them).
140
+ const merged = deepMergeJson(existing, patch);
141
+ for (const tree of REPLACE_SETTINGS_TREES) {
142
+ if (Object.prototype.hasOwnProperty.call(patch, tree)) {
143
+ merged[tree] = patch[tree];
144
+ }
145
+ else {
146
+ delete merged[tree];
147
+ }
148
+ }
149
+ return merged;
150
+ }
119
151
  export function applyPreset(context, input) {
120
152
  const { options } = context;
121
153
  const pmDir = resolvePmDir(context);
@@ -123,6 +155,7 @@ export function applyPreset(context, input) {
123
155
  const templatesDir = templatesDirectory(pmDir);
124
156
  const dryRun = readBooleanOption(options, "dryRun", "dry-run");
125
157
  const force = readBooleanOption(options, "force");
158
+ const replace = readBooleanOption(options, "replace");
126
159
  const prefixOverride = readStringOption(options, "prefix");
127
160
  if (!fs.existsSync(pmDir) || !fs.existsSync(settingsPath)) {
128
161
  throw new CommandError(`pm workspace not found. Expected settings file: ${settingsPath}\n` +
@@ -133,14 +166,15 @@ export function applyPreset(context, input) {
133
166
  ...input.settings,
134
167
  id_prefix: prefixOverride ?? input.settings.id_prefix,
135
168
  };
136
- const mergedSettings = deepMergeJson(existingSettings, effectivePatch);
169
+ const mergedSettings = mergePresetSettings(existingSettings, effectivePatch, replace);
170
+ const verb = replace ? "replace" : "merge";
137
171
  if (dryRun) {
138
- console.log(`[dry-run] Would merge ${input.label} settings into ${settingsPath}:`);
172
+ console.log(`[dry-run] Would ${verb} ${input.label} settings into ${settingsPath}:`);
139
173
  console.log(JSON.stringify(mergedSettings, null, 2));
140
174
  }
141
175
  else {
142
176
  fs.writeFileSync(settingsPath, `${JSON.stringify(mergedSettings, null, 2)}\n`, "utf8");
143
- console.log(`Updated settings.json at ${settingsPath}`);
177
+ console.log(`Updated settings.json at ${settingsPath} (${verb} mode)`);
144
178
  }
145
179
  if (dryRun) {
146
180
  console.log(`[dry-run] Would create directory: ${templatesDir}`);
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/presets/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/presets/shared.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * registry.ts — exposes all 5 presets to the pm CLI extension system.
2
+ * registry.ts — exposes all 6 presets to the pm CLI extension system.
3
3
  *
4
4
  * Each entry describes the preset's command name, flags, settings, and
5
5
  * templates so callers can enumerate them without running the command.
package/dist/registry.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * registry.ts — exposes all 5 presets to the pm CLI extension system.
2
+ * registry.ts — exposes all 6 presets to the pm CLI extension system.
3
3
  *
4
4
  * Each entry describes the preset's command name, flags, settings, and
5
5
  * templates so callers can enumerate them without running the command.
@@ -61,7 +61,7 @@ export const PRESET_REGISTRY = [
61
61
  displayName: "Kanban",
62
62
  description: "Continuous-flow board with backlog/ready/in-progress/review/done and WIP-friendly card templates.",
63
63
  command: "kanban-setup",
64
- idPrefix: "kb-",
64
+ idPrefix: "kan-",
65
65
  governance: "minimal",
66
66
  templates: ["card", "expedite", "blocked"],
67
67
  },
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,SAAS,IAAI,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClI,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,SAAS,IAAI,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC9H,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,SAAS,IAAI,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACtI,OAAO,EAAE,QAAQ,IAAI,sBAAsB,EAAE,SAAS,IAAI,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACtJ,OAAO,EAAE,QAAQ,IAAI,sBAAsB,EAAE,SAAS,IAAI,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACtJ,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,SAAS,IAAI,eAAe,EAAE,UAAU,IAAI,eAAe,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAmBpJ,MAAM,CAAC,MAAM,eAAe,GAAuB;IACjD;QACE,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,0FAA0F;QACvG,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC;KACrD;IACD;QACE,EAAE,EAAE,WAAW;QACf,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,uEAAuE;QACpF,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;KAC5B;IACD;QACE,EAAE,EAAE,aAAa;QACjB,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,2FAA2F;QACxG,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;KACjE;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,mEAAmE;QAChF,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;KAC9C;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,wFAAwF;QACrG,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC;KAClD;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,mGAAmG;QAChH,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC;KAC3C;CACF,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,SAAS,IAAI,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClI,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,SAAS,IAAI,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC9H,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,SAAS,IAAI,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACtI,OAAO,EAAE,QAAQ,IAAI,sBAAsB,EAAE,SAAS,IAAI,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACtJ,OAAO,EAAE,QAAQ,IAAI,sBAAsB,EAAE,SAAS,IAAI,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACtJ,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,SAAS,IAAI,eAAe,EAAE,UAAU,IAAI,eAAe,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAmBpJ,MAAM,CAAC,MAAM,eAAe,GAAuB;IACjD;QACE,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,0FAA0F;QACvG,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC;KACrD;IACD;QACE,EAAE,EAAE,WAAW;QACf,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,uEAAuE;QACpF,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;KAC5B;IACD;QACE,EAAE,EAAE,aAAa;QACjB,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,2FAA2F;QACxG,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;KACjE;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,mEAAmE;QAChF,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;KAC9C;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,wFAAwF;QACrG,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC;KAClD;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,mGAAmG;QAChH,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC;KAC3C;CACF,CAAC"}
package/manifest.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pm-presets",
3
- "version": "2026.6.3",
4
- "description": "All 5 official pm-cli workspace presets in one package: bug-triage, indie-dev, open-source, software-sprint, startup-roadmap",
3
+ "version": "2026.6.7",
4
+ "description": "All 6 official pm-cli workspace presets in one package: bug-triage, indie-dev, open-source, software-sprint, startup-roadmap, kanban",
5
5
  "author": "@unbraind",
6
6
  "entry": "./dist/index.js",
7
7
  "priority": 50,
@@ -77,6 +77,19 @@
77
77
  "feature",
78
78
  "milestone"
79
79
  ]
80
+ },
81
+ {
82
+ "id": "kanban",
83
+ "command": "kanban-setup",
84
+ "displayName": "Kanban",
85
+ "description": "Continuous-flow board with backlog/ready/in-progress/review/done and WIP-friendly card templates.",
86
+ "idPrefix": "kan-",
87
+ "governance": "minimal",
88
+ "templates": [
89
+ "card",
90
+ "expedite",
91
+ "blocked"
92
+ ]
80
93
  }
81
94
  ]
82
95
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-presets",
3
- "version": "2026.6.3",
3
+ "version": "2026.6.7",
4
4
  "description": "All 5 official pm-cli workspace presets in one package: bug-triage, indie-dev, open-source, software-sprint, startup-roadmap",
5
5
  "repository": {
6
6
  "type": "git",
@@ -34,21 +34,21 @@
34
34
  "prepack": "npm run build",
35
35
  "typecheck": "tsc --noEmit",
36
36
  "check": "npm run typecheck",
37
- "test": "node --test --experimental-strip-types tests/registry.test.ts tests/catalog.test.ts tests/diff.test.ts tests/seeds.test.ts",
37
+ "test": "node --test --experimental-strip-types tests/registry.test.ts tests/catalog.test.ts tests/diff.test.ts tests/seeds.test.ts tests/settings.test.ts tests/export.test.ts",
38
38
  "audit:prod": "npm audit --omit=dev",
39
39
  "pack:dry-run": "npm pack --dry-run",
40
40
  "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-presets/blob/main/.agents/pm",
41
41
  "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-presets/blob/main/.agents/pm",
42
42
  "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-presets/blob/main/.agents/pm --check",
43
- "release:check": "npm run typecheck && npm run build && npm run audit:prod && npm run pack:dry-run && npm run changelog:check"
43
+ "release:check": "npm run typecheck && npm run build && npm test && npm run audit:prod && npm run pack:dry-run && npm run changelog:check"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "@unbrained/pm-cli": ">=2026.5.31"
47
47
  },
48
48
  "devDependencies": {
49
- "@types/node": "^25.9.1",
50
- "@unbrained/pm-cli": "^2026.5.31",
51
- "pm-changelog": "^2026.6.2",
49
+ "@types/node": "^25.9.2",
50
+ "@unbrained/pm-cli": "^2026.6.6",
51
+ "pm-changelog": "^2026.6.6",
52
52
  "typescript": "^6.0.3"
53
53
  },
54
54
  "engines": {