@grant-vine/wunderkind 0.9.12 → 0.9.13

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wunderkind",
3
- "version": "0.9.12",
3
+ "version": "0.9.13",
4
4
  "description": "Wunderkind \u2014 specialist AI agents for any software product team, built as an oh-my-openagent addon",
5
5
  "main": "dist/index.js"
6
6
  }
package/README.md CHANGED
@@ -65,7 +65,7 @@ or
65
65
  The TUI will guide you through:
66
66
  1. Installing oh-my-openagent if it isn't already (runs its own setup flow first).
67
67
  2. Selecting the install scope (Global vs Project).
68
- 3. Configuring your shared baseline context: region, industry, and data-protection regulations.
68
+ 3. Optionally configuring shared baseline defaults: region, industry, and data-protection regulations.
69
69
  4. Optionally initializing the current project immediately.
70
70
 
71
71
  > Note: upstream's canonical npm package is `oh-my-openagent`, while the upstream CLI command and config filename remain `oh-my-opencode` and `oh-my-opencode.jsonc`.
@@ -80,6 +80,12 @@ For CI/CD or scripted environments, use the `install` command with the `--no-tui
80
80
  > ```
81
81
  > See the [oh-my-openagent docs](https://github.com/code-yeongyu/oh-my-openagent) for all available options.
82
82
 
83
+ ```bash
84
+ bunx @grant-vine/wunderkind install --no-tui --scope=global
85
+ ```
86
+
87
+ Or provide explicit shared defaults during install:
88
+
83
89
  ```bash
84
90
  bunx @grant-vine/wunderkind install --no-tui \
85
91
  --scope=global \
@@ -88,7 +94,13 @@ bunx @grant-vine/wunderkind install --no-tui \
88
94
  --primary-regulation=POPIA
89
95
  ```
90
96
 
91
- To install at the project scope:
97
+ To install at the project scope with inherited defaults:
98
+
99
+ ```bash
100
+ bunx @grant-vine/wunderkind install --no-tui --scope=project
101
+ ```
102
+
103
+ Or install at the project scope with explicit project-local baseline overrides:
92
104
 
93
105
  ```bash
94
106
  bunx @grant-vine/wunderkind install --no-tui \
@@ -136,7 +148,13 @@ wunderkind init [options]
136
148
  | `--docs-enabled <yes\|no>` | Enable or disable documentation output | `no` |
137
149
  | `--no-tui` | Skip interactive prompts | (false) |
138
150
 
139
- Interactive `wunderkind init` always asks for team culture, org structure, and docs-output settings. It can also optionally walk you through specialist personality overrides; if you skip that step, Wunderkind keeps the current/default specialist personalities already in effect.
151
+ Interactive `wunderkind init` always asks for team culture, org structure, and docs-output settings. It can also optionally walk you through specialist personality overrides; if you skip that step, Wunderkind keeps the current/default specialist personalities already in effect. Baseline market/regulation values are inherited unless you intentionally override them in project config.
152
+
153
+ Wave 2 also lets `init` set the PRD/planning workflow mode for the project:
154
+ - `filesystem` — PRDs, plans, issues, triage notes, RFCs, and glossary artifacts live in `.sisyphus/`
155
+ - `github` — GitHub-backed workflows can be used when `gh` is installed and the repo is GitHub-ready
156
+
157
+ If `prdPipelineMode` is absent in an older project config, Wunderkind treats it as `filesystem`.
140
158
 
141
159
  `wunderkind init` creates the following project "soul files":
142
160
  - `.wunderkind/wunderkind.config.jsonc` — Project-specific configuration
@@ -163,8 +181,8 @@ Generated Wunderkind config files now include a top-level `$schema` field for ed
163
181
  - `https://raw.githubusercontent.com/grant-vine/wunderkind/<tag>/schemas/wunderkind.config.schema.json`
164
182
 
165
183
  The schema is scope-aware:
166
- - global config validates only baseline fields (`region`, `industry`, `primaryRegulation`, `secondaryRegulation`)
167
- - project config validates soul/personality/docs fields and also permits project-local baseline overrides when needed
184
+ - global config validates shared baseline defaults (`region`, `industry`, `primaryRegulation`, `secondaryRegulation`) but allows them to be omitted when inherited defaults are acceptable
185
+ - project config validates soul/personality/docs fields and also permits sparse project-local baseline overrides when needed
168
186
 
169
187
  ---
170
188
 
@@ -189,10 +207,15 @@ wunderkind doctor
189
207
 
190
208
  `wunderkind doctor --verbose` additionally shows:
191
209
  - Full path resolution for global and project OpenCode configs
192
- - Active region, industry, and regulation baseline
210
+ - Active region, industry, and regulation baseline with source markers
211
+ - PRD workflow mode and GitHub-readiness signals
193
212
  - All agent personality settings with human-readable descriptions
194
213
  - Docs output configuration (path, history mode, enabled status)
195
214
 
215
+ Legend:
216
+ - `●` = project override
217
+ - `○` = inherited default
218
+
196
219
  Example output (project context with defaults):
197
220
 
198
221
  ```
@@ -285,48 +308,56 @@ Wunderkind agents are distributed as native OpenCode markdown agents. Their prom
285
308
  | `social-media-maven` | marketing-wunderkind | Social media strategy & content |
286
309
  | `visual-artist` | creative-director | Colour palettes, design tokens, WCAG |
287
310
  | `agile-pm` | product-wunderkind | Sprint planning, task decomposition |
311
+ | `grill-me` | product-wunderkind | Requirement interrogation & ambiguity collapse |
312
+ | `ubiquitous-language` | product-wunderkind | Shared domain glossary & canonical terminology |
313
+ | `prd-pipeline` | product-wunderkind | PRD → plan → issues workflow |
288
314
  | `db-architect` | fullstack-wunderkind | Drizzle ORM, PostgreSQL, Neon DB |
289
315
  | `vercel-architect` | fullstack-wunderkind | Vercel, Next.js App Router, Edge Runtime |
316
+ | `improve-codebase-architecture` | fullstack-wunderkind | Architecture RFCs, module boundaries, deep modules |
290
317
  | `security-analyst` | ciso | OWASP Top 10, vulnerability assessment |
291
318
  | `pen-tester` | ciso | Penetration testing, ASVS, attack simulation |
292
319
  | `compliance-officer` | ciso | GDPR, POPIA, data classification |
320
+ | `triage-issue` | support-engineer / qa-specialist | Root-cause triage and red-green handoff |
293
321
 
294
322
  ---
295
323
 
296
324
  ## Configuration
297
325
 
298
326
  Wunderkind uses a split configuration model:
299
- - global config stores shared market/regulation baseline
300
- - project config stores soul/personality/docs settings
327
+ - global config stores shared market/regulation defaults
328
+ - project config stores soul/personality/docs/workflow settings plus only the baseline values that intentionally override those defaults
301
329
 
302
330
  | File | Scope |
303
331
  |---|---|
304
332
  | `~/.wunderkind/wunderkind.config.jsonc` | Global baseline (applies to all projects) |
305
- | `.wunderkind/wunderkind.config.jsonc` | Per-project soul/personality/docs settings |
333
+ | `.wunderkind/wunderkind.config.jsonc` | Per-project soul/personality/docs/workflow settings and sparse baseline overrides |
306
334
 
307
- Edit the global file to change region/industry/regulation defaults after install. Edit the project file to change team culture, personalities, or docs-output settings after init.
335
+ Edit the global file to change region/industry/regulation defaults after install. Edit the project file to change team culture, personalities, docs-output settings, PRD workflow mode, or only the baseline values that differ for this project after init.
308
336
 
309
337
  ### Configuration Reference
310
338
 
311
339
  ```jsonc
312
- // Global baseline config
340
+ // Global baseline config (all fields optional; omitted values fall back to built-in defaults)
313
341
  {
314
342
  "$schema": "https://raw.githubusercontent.com/grant-vine/wunderkind/main/schemas/wunderkind.config.schema.json",
315
343
  // Geographic region — e.g. "South Africa", "United States", "United Kingdom", "Australia"
316
- "region": "South Africa",
344
+ "region": "Global",
317
345
  // Industry vertical — e.g. "SaaS", "FinTech", "eCommerce", "HealthTech"
318
- "industry": "SaaS",
346
+ "industry": "",
319
347
  // Primary data-protection regulation — e.g. "GDPR", "POPIA", "CCPA", "LGPD"
320
- "primaryRegulation": "POPIA",
348
+ "primaryRegulation": "",
321
349
  // Optional secondary regulation
322
350
  "secondaryRegulation": ""
323
351
  }
324
352
  ```
325
353
 
326
354
  ```jsonc
327
- // Project-local soul/docs config
355
+ // Project-local soul/docs config (sparse overrides only)
328
356
  {
329
357
  "$schema": "https://raw.githubusercontent.com/grant-vine/wunderkind/main/schemas/wunderkind.config.schema.json",
358
+ // Optional project-specific baseline override example:
359
+ // "industry": "Software Development Services",
360
+
330
361
  // Team culture baseline — affects all agents' communication style and decision rigour
331
362
  "teamCulture": "pragmatic-balanced",
332
363
  // Org structure — "flat" (peers) | "hierarchical" (domain authority applies)
@@ -349,7 +380,10 @@ Edit the global file to change region/industry/regulation defaults after install
349
380
  // Documentation Output (Init-only customizations)
350
381
  "docsEnabled": false,
351
382
  "docsPath": "./docs",
352
- "docHistoryMode": "overwrite"
383
+ "docHistoryMode": "overwrite",
384
+
385
+ // PRD / planning workflow mode
386
+ "prdPipelineMode": "filesystem"
353
387
  }
354
388
  ```
355
389
 
@@ -473,6 +507,14 @@ Each agent's behaviour is controlled by a `*Personality` key in your project con
473
507
  wunderkind.config.jsonc # global config baseline
474
508
  ```
475
509
 
510
+ ## Research Inputs
511
+
512
+ Wunderkind's evolving workflow strategy is informed in part by Matt Pocock's public skills repository:
513
+
514
+ - https://github.com/mattpocock/skills
515
+
516
+ We plan to adapt selected ideas such as ubiquitous language, structured questioning, and PRD/planning flows to Wunderkind's filesystem-first `.sisyphus/` workflow rather than adopting GitHub-issue-centric assumptions directly.
517
+
476
518
  ---
477
519
 
478
520
  ## Manual Installation
package/agents/ciso.md CHANGED
@@ -25,7 +25,7 @@ Also read:
25
25
  - `primaryRegulation` — applies to all breach notification and data-handling decisions
26
26
  - `region` and `industry` — for jurisdiction-specific compliance requirements
27
27
 
28
- If `.wunderkind/wunderkind.config.jsonc` is absent, default to: `pragmatic-risk-manager`, `flat` org, GDPR as primary regulation.
28
+ If `.wunderkind/wunderkind.config.jsonc` is absent, default to: `pragmatic-risk-manager`, `flat` org, and no primary regulation unless the resolved runtime context provides one.
29
29
 
30
30
  ---
31
31
 
@@ -60,7 +60,7 @@ Also read:
60
60
  - \`primaryRegulation\` — applies to all breach notification and data-handling decisions
61
61
  - \`region\` and \`industry\` — for jurisdiction-specific compliance requirements
62
62
 
63
- If \`.wunderkind/wunderkind.config.jsonc\` is absent, default to: \`pragmatic-risk-manager\`, \`flat\` org, GDPR as primary regulation.
63
+ If \`.wunderkind/wunderkind.config.jsonc\` is absent, default to: \`pragmatic-risk-manager\`, \`flat\` org, and no primary regulation unless the resolved runtime context provides one.
64
64
 
65
65
  ---
66
66
 
@@ -15,7 +15,7 @@ export declare function printError(message: string): void;
15
15
  export declare function printInfo(message: string): void;
16
16
  export declare function printWarning(message: string): void;
17
17
  export declare function printBox(content: string, title?: string): void;
18
- export declare function validateNonTuiArgs(args: InstallArgs): {
18
+ export declare function validateNonTuiArgs(_args: InstallArgs): {
19
19
  valid: boolean;
20
20
  errors: string[];
21
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cli-installer.d.ts","sourceRoot":"","sources":["../../src/cli/cli-installer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAiB,YAAY,EAAE,MAAM,YAAY,CAAA;AAc1E,eAAO,MAAM,OAAO;;;;;;;;CAQnB,CAAA;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAKnD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CA8B9D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAU1F;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAmHxE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAiHtE"}
1
+ {"version":3,"file":"cli-installer.d.ts","sourceRoot":"","sources":["../../src/cli/cli-installer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAiB,YAAY,EAAE,MAAM,YAAY,CAAA;AAc1E,eAAO,MAAM,OAAO;;;;;;;;CAQnB,CAAA;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAKnD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CA8B9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAE3F;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAoHxE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAiHtE"}
@@ -54,18 +54,8 @@ export function printBox(content, title) {
54
54
  console.log(color.dim("└") + border + color.dim("┘"));
55
55
  console.log();
56
56
  }
57
- export function validateNonTuiArgs(args) {
58
- if (args.scope === "project") {
59
- return { valid: true, errors: [] };
60
- }
61
- const errors = [];
62
- if (!args.region)
63
- errors.push("--region is required (e.g. --region='South Africa')");
64
- if (!args.industry)
65
- errors.push("--industry is required (e.g. --industry=SaaS)");
66
- if (!args.primaryRegulation)
67
- errors.push("--primary-regulation is required (e.g. --primary-regulation=GDPR)");
68
- return { valid: errors.length === 0, errors };
57
+ export function validateNonTuiArgs(_args) {
58
+ return { valid: true, errors: [] };
69
59
  }
70
60
  export async function runCliInstaller(args) {
71
61
  const validation = validateNonTuiArgs(args);
@@ -76,7 +66,7 @@ export async function runCliInstaller(args) {
76
66
  console.log(` ${SYMBOLS.bullet} ${err}`);
77
67
  }
78
68
  console.log();
79
- printInfo("Usage: bunx wunderkind install --no-tui --region='South Africa' --industry=SaaS --primary-regulation=POPIA");
69
+ printInfo("Usage: bunx wunderkind install --no-tui [--region='South Africa'] [--industry=SaaS] [--primary-regulation=POPIA]");
80
70
  console.log();
81
71
  return 1;
82
72
  }
@@ -92,7 +82,7 @@ export async function runCliInstaller(args) {
92
82
  const config = {
93
83
  region: args.region ?? detected.region ?? "Global",
94
84
  industry: args.industry ?? detected.industry ?? "",
95
- primaryRegulation: args.primaryRegulation ?? detected.primaryRegulation ?? "GDPR",
85
+ primaryRegulation: args.primaryRegulation ?? detected.primaryRegulation ?? "",
96
86
  secondaryRegulation: args.secondaryRegulation ?? detected.secondaryRegulation ?? "",
97
87
  teamCulture: detected.teamCulture,
98
88
  orgStructure: detected.orgStructure,
@@ -111,6 +101,7 @@ export async function runCliInstaller(args) {
111
101
  docsEnabled: detected.docsEnabled,
112
102
  docsPath: detected.docsPath,
113
103
  docHistoryMode: detected.docHistoryMode,
104
+ prdPipelineMode: detected.prdPipelineMode,
114
105
  };
115
106
  printStep(step++, totalSteps, "Adding wunderkind to OpenCode config...");
116
107
  const pluginResult = addPluginToOpenCodeConfig(args.scope);
@@ -155,7 +146,7 @@ export async function runCliInstaller(args) {
155
146
  printBox([
156
147
  ` ${color.bold("Region:")} ${color.cyan(config.region)}`,
157
148
  ` ${color.bold("Industry:")} ${color.cyan(config.industry || color.dim("(not set)"))}`,
158
- ` ${color.bold("Primary regulation:")} ${color.cyan(config.primaryRegulation)}`,
149
+ ` ${color.bold("Primary regulation:")} ${color.cyan(config.primaryRegulation || color.dim("(not set)"))}`,
159
150
  config.secondaryRegulation ? ` ${color.bold("Secondary:")} ${color.cyan(config.secondaryRegulation)}` : "",
160
151
  ]
161
152
  .filter(Boolean)
@@ -248,7 +239,7 @@ export async function runCliUpgrade(args) {
248
239
  ` ${color.bold("Scope:")} ${color.cyan(args.scope)}`,
249
240
  ` ${color.bold("Region:")} ${color.cyan(nextConfig.region)}`,
250
241
  ` ${color.bold("Industry:")} ${color.cyan(nextConfig.industry || color.dim("(not set)"))}`,
251
- ` ${color.bold("Primary regulation:")} ${color.cyan(nextConfig.primaryRegulation)}`,
242
+ ` ${color.bold("Primary regulation:")} ${color.cyan(nextConfig.primaryRegulation || color.dim("(not set)"))}`,
252
243
  nextConfig.secondaryRegulation
253
244
  ? ` ${color.bold("Secondary:")} ${color.cyan(nextConfig.secondaryRegulation)}`
254
245
  : "",
@@ -1 +1 @@
1
- {"version":3,"file":"cli-installer.js","sourceRoot":"","sources":["../../src/cli/cli-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-installer.js","sourceRoot":"","sources":["../../src/cli/cli-installer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ConfigMergeResult, DetectedConfig, GlobalConfig, InstallConfig, InstallScope, PluginVersionInfo, ProjectConfig } from "../types.js";
1
+ import type { ConfigMergeResult, DetectedConfig, GlobalConfig, InstallConfig, InstallScope, BaselineConfigKey, PluginVersionInfo, ProjectConfig } from "../types.js";
2
2
  export declare function getDefaultInstallConfig(): InstallConfig;
3
3
  export declare function getDefaultGlobalConfig(): GlobalConfig;
4
4
  export declare function getDefaultProjectConfig(): ProjectConfig;
@@ -10,6 +10,19 @@ export declare function resolveOpenCodeConfigPath(scope: InstallScope): {
10
10
  export declare function detectPluginVersionInfo(packageName: string): PluginVersionInfo;
11
11
  export declare function detectWunderkindVersionInfo(): PluginVersionInfo;
12
12
  export declare function detectOmoVersionInfo(): PluginVersionInfo;
13
+ export interface ConfigSourceMarker {
14
+ marker: "●" | "○";
15
+ sourceLabel: "project override" | "inherited default";
16
+ }
17
+ export interface GitHubWorkflowReadiness {
18
+ isGitRepo: boolean;
19
+ hasGitHubRemote: boolean;
20
+ ghInstalled: boolean;
21
+ authVerified: boolean;
22
+ authCheckAttempted: boolean;
23
+ }
24
+ export declare function detectGitHubWorkflowReadiness(cwd: string): GitHubWorkflowReadiness;
25
+ export declare function getProjectOverrideMarker(key: BaselineConfigKey, projectConfig: Record<string, unknown> | null): ConfigSourceMarker;
13
26
  export declare function readWunderkindConfig(): Partial<InstallConfig> | null;
14
27
  export declare function readGlobalWunderkindConfig(): Partial<GlobalConfig> | null;
15
28
  export declare function readProjectWunderkindConfig(): Partial<ProjectConfig> | null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/config-manager/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/config-manager/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { spawnSync } from "node:child_process";
1
2
  import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from "node:fs";
2
3
  import { homedir } from "node:os";
3
4
  import { basename, dirname, join, relative } from "node:path";
@@ -42,11 +43,12 @@ const PROJECT_CONFIG_KEYS = [
42
43
  "docsEnabled",
43
44
  "docsPath",
44
45
  "docHistoryMode",
46
+ "prdPipelineMode",
45
47
  ];
46
48
  const DEFAULT_INSTALL_CONFIG = {
47
49
  region: "Global",
48
50
  industry: "",
49
- primaryRegulation: "GDPR",
51
+ primaryRegulation: "",
50
52
  secondaryRegulation: "",
51
53
  teamCulture: "pragmatic-balanced",
52
54
  orgStructure: "flat",
@@ -65,6 +67,7 @@ const DEFAULT_INSTALL_CONFIG = {
65
67
  docsEnabled: false,
66
68
  docsPath: "./docs",
67
69
  docHistoryMode: "overwrite",
70
+ prdPipelineMode: "filesystem",
68
71
  };
69
72
  const DEFAULT_GLOBAL_CONFIG = {
70
73
  region: DEFAULT_INSTALL_CONFIG.region,
@@ -90,6 +93,7 @@ const DEFAULT_PROJECT_CONFIG = {
90
93
  docsEnabled: DEFAULT_INSTALL_CONFIG.docsEnabled,
91
94
  docsPath: DEFAULT_INSTALL_CONFIG.docsPath,
92
95
  docHistoryMode: DEFAULT_INSTALL_CONFIG.docHistoryMode,
96
+ prdPipelineMode: DEFAULT_INSTALL_CONFIG.prdPipelineMode,
93
97
  };
94
98
  export function getDefaultInstallConfig() {
95
99
  return { ...DEFAULT_INSTALL_CONFIG };
@@ -176,6 +180,52 @@ function detectLoadedPackageVersion(packageName) {
176
180
  }
177
181
  return { version: null, packagePath: null };
178
182
  }
183
+ function detectLoadedPackageSources(packageName) {
184
+ const globalPath = join(GLOBAL_OPENCODE_NODE_MODULES, packageName, "package.json");
185
+ const cachePath = join(GLOBAL_CACHE_DIR, "node_modules", packageName, "package.json");
186
+ return {
187
+ global: {
188
+ version: existsSync(globalPath) ? readJsonVersion(globalPath) : null,
189
+ packagePath: existsSync(globalPath) ? globalPath : null,
190
+ },
191
+ cache: {
192
+ version: existsSync(cachePath) ? readJsonVersion(cachePath) : null,
193
+ packagePath: existsSync(cachePath) ? cachePath : null,
194
+ },
195
+ };
196
+ }
197
+ function compareVersions(left, right) {
198
+ const normalize = (value) => {
199
+ const match = value.match(/^(\d+)\.(\d+)\.(\d+)/);
200
+ if (!match)
201
+ return null;
202
+ const [, major, minor, patch] = match;
203
+ return [Number(major), Number(minor), Number(patch)];
204
+ };
205
+ const leftParts = normalize(left);
206
+ const rightParts = normalize(right);
207
+ if (!leftParts || !rightParts)
208
+ return null;
209
+ const majorDelta = leftParts[0] - rightParts[0];
210
+ if (majorDelta !== 0)
211
+ return majorDelta;
212
+ const minorDelta = leftParts[1] - rightParts[1];
213
+ if (minorDelta !== 0)
214
+ return minorDelta;
215
+ const patchDelta = leftParts[2] - rightParts[2];
216
+ if (patchDelta !== 0)
217
+ return patchDelta;
218
+ return 0;
219
+ }
220
+ function buildStaleOverrideWarning(options) {
221
+ const { packageName, globalVersion, cacheVersion } = options;
222
+ if (!globalVersion || !cacheVersion)
223
+ return null;
224
+ const comparison = compareVersions(globalVersion, cacheVersion);
225
+ if (comparison === null || comparison >= 0)
226
+ return null;
227
+ return `global ${packageName} ${globalVersion} likely overrides newer cache ${cacheVersion}`;
228
+ }
179
229
  function getOwnPackageVersion() {
180
230
  return readJsonVersion(fileURLToPath(new URL("../../../package.json", import.meta.url)));
181
231
  }
@@ -194,6 +244,7 @@ export function detectPluginVersionInfo(packageName) {
194
244
  configPath,
195
245
  loadedPackagePath: loaded.packagePath,
196
246
  registered: registeredEntry !== null,
247
+ staleOverrideWarning: null,
197
248
  };
198
249
  }
199
250
  export function detectWunderkindVersionInfo() {
@@ -209,7 +260,17 @@ export function detectOmoVersionInfo() {
209
260
  const registeredEntry = registeredCanonicalEntry ?? registeredLegacyEntry;
210
261
  const loadedCanonical = detectLoadedPackageVersion(OMO_CANONICAL_PACKAGE_NAME);
211
262
  const loadedLegacy = detectLoadedPackageVersion(OMO_LEGACY_PACKAGE_NAME);
263
+ const loadedCanonicalSources = detectLoadedPackageSources(OMO_CANONICAL_PACKAGE_NAME);
264
+ const loadedLegacySources = detectLoadedPackageSources(OMO_LEGACY_PACKAGE_NAME);
212
265
  const loaded = loadedCanonical.version !== null || loadedCanonical.packagePath !== null ? loadedCanonical : loadedLegacy;
266
+ const loadedSources = loadedCanonicalSources.global.packagePath !== null || loadedCanonicalSources.cache.packagePath !== null
267
+ ? loadedCanonicalSources
268
+ : loadedLegacySources;
269
+ const staleOverrideWarning = buildStaleOverrideWarning({
270
+ packageName: OMO_CANONICAL_PACKAGE_NAME,
271
+ globalVersion: loadedSources.global.version,
272
+ cacheVersion: loadedSources.cache.version,
273
+ });
213
274
  return {
214
275
  packageName: OMO_CANONICAL_PACKAGE_NAME,
215
276
  currentVersion: null,
@@ -219,6 +280,8 @@ export function detectOmoVersionInfo() {
219
280
  configPath,
220
281
  loadedPackagePath: loaded.packagePath,
221
282
  registered: registeredEntry !== null,
283
+ loadedSources,
284
+ staleOverrideWarning,
222
285
  };
223
286
  }
224
287
  function parseWunderkindConfig(path) {
@@ -245,6 +308,44 @@ function coerceGlobalConfig(source) {
245
308
  result.secondaryRegulation = source["secondaryRegulation"];
246
309
  return result;
247
310
  }
311
+ function commandSucceeds(command, args) {
312
+ const result = spawnSync(command, args, { stdio: "ignore" });
313
+ return result.status === 0;
314
+ }
315
+ function stdout(command, args) {
316
+ const result = spawnSync(command, args, { encoding: "utf8" });
317
+ return result.status === 0 ? result.stdout.trim() : "";
318
+ }
319
+ export function detectGitHubWorkflowReadiness(cwd) {
320
+ const isGitRepo = commandSucceeds("git", ["-C", cwd, "rev-parse", "--is-inside-work-tree"]);
321
+ if (!isGitRepo) {
322
+ return {
323
+ isGitRepo,
324
+ hasGitHubRemote: false,
325
+ ghInstalled: false,
326
+ authVerified: false,
327
+ authCheckAttempted: false,
328
+ };
329
+ }
330
+ const remoteList = stdout("git", ["-C", cwd, "remote", "-v"]);
331
+ const hasGitHubRemote = /github\./i.test(remoteList);
332
+ const ghInstalled = commandSucceeds("gh", ["--version"]);
333
+ const authCheckAttempted = ghInstalled && hasGitHubRemote;
334
+ const authVerified = authCheckAttempted ? commandSucceeds("gh", ["auth", "status", "-h", "github.com"]) : false;
335
+ return {
336
+ isGitRepo,
337
+ hasGitHubRemote,
338
+ ghInstalled,
339
+ authVerified,
340
+ authCheckAttempted,
341
+ };
342
+ }
343
+ export function getProjectOverrideMarker(key, projectConfig) {
344
+ const hasOverride = projectConfig !== null && key in projectConfig && typeof projectConfig[key] === "string";
345
+ return hasOverride
346
+ ? { marker: "●", sourceLabel: "project override" }
347
+ : { marker: "○", sourceLabel: "inherited default" };
348
+ }
248
349
  function coerceProjectConfig(source) {
249
350
  const result = {};
250
351
  if (typeof source["teamCulture"] === "string")
@@ -285,6 +386,8 @@ function coerceProjectConfig(source) {
285
386
  result.docsPath = source["docsPath"];
286
387
  if (typeof source["docHistoryMode"] === "string")
287
388
  result.docHistoryMode = source["docHistoryMode"];
389
+ if (typeof source["prdPipelineMode"] === "string")
390
+ result.prdPipelineMode = source["prdPipelineMode"];
288
391
  return result;
289
392
  }
290
393
  function listLegacyGlobalProjectFields(source) {
@@ -394,7 +497,7 @@ function renderProjectWunderkindConfig(config, baseline) {
394
497
  if (baselineOverrideLines.length > 0) {
395
498
  lines.push(` // Optional project-local baseline overrides — only write fields that intentionally differ from global defaults`, ...baselineOverrideLines, ``);
396
499
  }
397
- lines.push(` // Team culture baseline — affects all agents' communication style and decision rigour`, ` // "formal-strict" | "pragmatic-balanced" | "experimental-informal"`, ` "teamCulture": ${JSON.stringify(config.teamCulture)},`, ` // Org structure — "flat" (peers, escalate to user) | "hierarchical" (domain authority applies, CISO has hard veto)`, ` "orgStructure": ${JSON.stringify(config.orgStructure)},`, ``, ` // Agent personalities — controls each agent's default character archetype`, ` // CISO: "paranoid-enforcer" | "pragmatic-risk-manager" | "educator-collaborator"`, ` "cisoPersonality": ${JSON.stringify(config.cisoPersonality)},`, ` // CTO/Fullstack: "grizzled-sysadmin" | "startup-bro" | "code-archaeologist"`, ` "ctoPersonality": ${JSON.stringify(config.ctoPersonality)},`, ` // CMO/Marketing: "data-driven" | "brand-storyteller" | "growth-hacker"`, ` "cmoPersonality": ${JSON.stringify(config.cmoPersonality)},`, ` // QA: "rule-enforcer" | "risk-based-pragmatist" | "rubber-duck"`, ` "qaPersonality": ${JSON.stringify(config.qaPersonality)},`, ` // Product: "user-advocate" | "velocity-optimizer" | "outcome-obsessed"`, ` "productPersonality": ${JSON.stringify(config.productPersonality)},`, ` // Operations: "on-call-veteran" | "efficiency-maximiser" | "process-purist"`, ` "opsPersonality": ${JSON.stringify(config.opsPersonality)},`, ` // Creative Director: "perfectionist-craftsperson" | "bold-provocateur" | "pragmatic-problem-solver"`, ` "creativePersonality": ${JSON.stringify(config.creativePersonality)},`, ` // Brand Builder: "community-evangelist" | "pr-spinner" | "authentic-builder"`, ` "brandPersonality": ${JSON.stringify(config.brandPersonality)},`, ` // DevRel Wunderkind: "community-champion" | "docs-perfectionist" | "dx-engineer"`, ` "devrelPersonality": ${JSON.stringify(config.devrelPersonality)},`, ` // Legal Counsel: "cautious-gatekeeper" | "pragmatic-advisor" | "plain-english-counselor"`, ` "legalPersonality": ${JSON.stringify(config.legalPersonality)},`, ` // Support Engineer: "empathetic-resolver" | "systematic-triage" | "knowledge-builder"`, ` "supportPersonality": ${JSON.stringify(config.supportPersonality)},`, ` // Data Analyst: "rigorous-statistician" | "insight-storyteller" | "pragmatic-quant"`, ` "dataAnalystPersonality": ${JSON.stringify(config.dataAnalystPersonality)},`, ``, ` // Docs output settings`, ` // Enable or disable writing docs outputs to disk`, ` "docsEnabled": ${JSON.stringify(config.docsEnabled)},`, ` // Directory path where docs outputs are written`, ` "docsPath": ${JSON.stringify(config.docsPath)},`, ` // History mode: "overwrite" | "append-dated" | "new-dated-file" | "overwrite-archive"`, ` "docHistoryMode": ${JSON.stringify(config.docHistoryMode)}`, `}`, ``);
500
+ lines.push(` // Team culture baseline — affects all agents' communication style and decision rigour`, ` // "formal-strict" | "pragmatic-balanced" | "experimental-informal"`, ` "teamCulture": ${JSON.stringify(config.teamCulture)},`, ` // Org structure — "flat" (peers, escalate to user) | "hierarchical" (domain authority applies, CISO has hard veto)`, ` "orgStructure": ${JSON.stringify(config.orgStructure)},`, ``, ` // Agent personalities — controls each agent's default character archetype`, ` // CISO: "paranoid-enforcer" | "pragmatic-risk-manager" | "educator-collaborator"`, ` "cisoPersonality": ${JSON.stringify(config.cisoPersonality)},`, ` // CTO/Fullstack: "grizzled-sysadmin" | "startup-bro" | "code-archaeologist"`, ` "ctoPersonality": ${JSON.stringify(config.ctoPersonality)},`, ` // CMO/Marketing: "data-driven" | "brand-storyteller" | "growth-hacker"`, ` "cmoPersonality": ${JSON.stringify(config.cmoPersonality)},`, ` // QA: "rule-enforcer" | "risk-based-pragmatist" | "rubber-duck"`, ` "qaPersonality": ${JSON.stringify(config.qaPersonality)},`, ` // Product: "user-advocate" | "velocity-optimizer" | "outcome-obsessed"`, ` "productPersonality": ${JSON.stringify(config.productPersonality)},`, ` // Operations: "on-call-veteran" | "efficiency-maximiser" | "process-purist"`, ` "opsPersonality": ${JSON.stringify(config.opsPersonality)},`, ` // Creative Director: "perfectionist-craftsperson" | "bold-provocateur" | "pragmatic-problem-solver"`, ` "creativePersonality": ${JSON.stringify(config.creativePersonality)},`, ` // Brand Builder: "community-evangelist" | "pr-spinner" | "authentic-builder"`, ` "brandPersonality": ${JSON.stringify(config.brandPersonality)},`, ` // DevRel Wunderkind: "community-champion" | "docs-perfectionist" | "dx-engineer"`, ` "devrelPersonality": ${JSON.stringify(config.devrelPersonality)},`, ` // Legal Counsel: "cautious-gatekeeper" | "pragmatic-advisor" | "plain-english-counselor"`, ` "legalPersonality": ${JSON.stringify(config.legalPersonality)},`, ` // Support Engineer: "empathetic-resolver" | "systematic-triage" | "knowledge-builder"`, ` "supportPersonality": ${JSON.stringify(config.supportPersonality)},`, ` // Data Analyst: "rigorous-statistician" | "insight-storyteller" | "pragmatic-quant"`, ` "dataAnalystPersonality": ${JSON.stringify(config.dataAnalystPersonality)},`, ``, ` // Docs output settings`, ` // Enable or disable writing docs outputs to disk`, ` "docsEnabled": ${JSON.stringify(config.docsEnabled)},`, ` // Directory path where docs outputs are written`, ` "docsPath": ${JSON.stringify(config.docsPath)},`, ` // History mode: "overwrite" | "append-dated" | "new-dated-file" | "overwrite-archive"`, ` "docHistoryMode": ${JSON.stringify(config.docHistoryMode)},`, ` // PRD / planning workflow mode`, ` // "filesystem" writes to .sisyphus/; "github" expects gh + GitHub repo readiness`, ` // PRD pipeline mode: "filesystem" | "github"`, ` "prdPipelineMode": ${JSON.stringify(config.prdPipelineMode)}`, `}`, ``);
398
501
  return lines.join("\n");
399
502
  }
400
503
  export function writeGlobalWunderkindConfig(config) {
@@ -495,6 +598,7 @@ export function detectCurrentConfig() {
495
598
  docsEnabled: projectLocal?.docsEnabled ?? legacyGlobalProject.docsEnabled ?? defaults.docsEnabled,
496
599
  docsPath: projectLocal?.docsPath ?? legacyGlobalProject.docsPath ?? defaults.docsPath,
497
600
  docHistoryMode: projectLocal?.docHistoryMode ?? legacyGlobalProject.docHistoryMode ?? defaults.docHistoryMode,
601
+ prdPipelineMode: projectLocal?.prdPipelineMode ?? legacyGlobalProject.prdPipelineMode ?? defaults.prdPipelineMode,
498
602
  };
499
603
  }
500
604
  export function addPluginToOpenCodeConfig(scope) {