@grant-vine/wunderkind 0.8.0 → 0.9.2

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.
Files changed (47) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +209 -27
  3. package/commands/docs-index.md +44 -0
  4. package/dist/agents/docs-config.d.ts +6 -0
  5. package/dist/agents/docs-config.d.ts.map +1 -1
  6. package/dist/agents/docs-config.js +15 -1
  7. package/dist/agents/docs-config.js.map +1 -1
  8. package/dist/agents/docs-index-plan.d.ts +28 -0
  9. package/dist/agents/docs-index-plan.d.ts.map +1 -0
  10. package/dist/agents/docs-index-plan.js +118 -0
  11. package/dist/agents/docs-index-plan.js.map +1 -0
  12. package/dist/cli/cli-installer.d.ts +9 -1
  13. package/dist/cli/cli-installer.d.ts.map +1 -1
  14. package/dist/cli/cli-installer.js +65 -7
  15. package/dist/cli/cli-installer.js.map +1 -1
  16. package/dist/cli/config-manager/index.d.ts +17 -1
  17. package/dist/cli/config-manager/index.d.ts.map +1 -1
  18. package/dist/cli/config-manager/index.js +415 -177
  19. package/dist/cli/config-manager/index.js.map +1 -1
  20. package/dist/cli/doctor.d.ts +4 -0
  21. package/dist/cli/doctor.d.ts.map +1 -1
  22. package/dist/cli/doctor.js +113 -35
  23. package/dist/cli/doctor.js.map +1 -1
  24. package/dist/cli/index.js +69 -22
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/cli/init.d.ts +0 -4
  27. package/dist/cli/init.d.ts.map +1 -1
  28. package/dist/cli/init.js +144 -38
  29. package/dist/cli/init.js.map +1 -1
  30. package/dist/cli/personality-meta.d.ts +8 -0
  31. package/dist/cli/personality-meta.d.ts.map +1 -0
  32. package/dist/cli/personality-meta.js +213 -0
  33. package/dist/cli/personality-meta.js.map +1 -0
  34. package/dist/cli/tui-installer.d.ts.map +1 -1
  35. package/dist/cli/tui-installer.js +57 -42
  36. package/dist/cli/tui-installer.js.map +1 -1
  37. package/dist/cli/types.d.ts +34 -22
  38. package/dist/cli/types.d.ts.map +1 -1
  39. package/dist/cli/uninstall.d.ts +6 -0
  40. package/dist/cli/uninstall.d.ts.map +1 -0
  41. package/dist/cli/uninstall.js +64 -0
  42. package/dist/cli/uninstall.js.map +1 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +6 -8
  45. package/dist/index.js.map +1 -1
  46. package/package.json +3 -1
  47. package/schemas/wunderkind.config.schema.json +67 -0
@@ -1,6 +1,6 @@
1
1
  import * as p from "@clack/prompts";
2
2
  import color from "picocolors";
3
- import { addPluginToOpenCodeConfig, detectCurrentConfig, detectLegacyConfig, writeWunderkindConfig, } from "./config-manager/index.js";
3
+ import { addPluginToOpenCodeConfig, detectCurrentConfig, detectLegacyConfig, getDefaultGlobalConfig, readWunderkindConfigForScope, writeOmoAgentConfig, writeWunderkindConfig, } from "./config-manager/index.js";
4
4
  import { addAiTracesToGitignore } from "./gitignore-manager.js";
5
5
  import { isProjectContext, runInit } from "./init.js";
6
6
  const COMMON_REGULATIONS = [
@@ -78,6 +78,7 @@ export async function runTuiInstaller(scopeHint) {
78
78
  const scope = scopeRaw;
79
79
  const inProjectContext = isProjectContext(process.cwd());
80
80
  let shouldInitProjectNow = false;
81
+ let shouldUpdateGitignore = false;
81
82
  if (inProjectContext) {
82
83
  const initNow = await p.confirm({
83
84
  message: "Initialize the current project now?",
@@ -88,20 +89,37 @@ export async function runTuiInstaller(scopeHint) {
88
89
  return 1;
89
90
  }
90
91
  shouldInitProjectNow = initNow;
92
+ if (shouldInitProjectNow) {
93
+ const updateGit = await p.confirm({
94
+ message: "Add AI tooling traces to .gitignore?",
95
+ initialValue: true,
96
+ });
97
+ if (p.isCancel(updateGit)) {
98
+ p.cancel("Installation cancelled.");
99
+ return 1;
100
+ }
101
+ shouldUpdateGitignore = updateGit;
102
+ }
91
103
  }
92
104
  const detected = detectCurrentConfig();
93
- const isUpdate = detected.isInstalled;
105
+ const defaults = getDefaultGlobalConfig();
106
+ const scopedConfig = readWunderkindConfigForScope(scope);
107
+ const installBase = {
108
+ ...defaults,
109
+ ...(scopedConfig ?? {}),
110
+ };
111
+ const isUpdate = scope === "project" ? detected.projectInstalled === true : detected.globalInstalled === true;
94
112
  if (detectLegacyConfig()) {
95
113
  p.cancel("Legacy config found at project root wunderkind.config.jsonc — move it to .wunderkind/wunderkind.config.jsonc");
96
114
  return 1;
97
115
  }
98
116
  if (isUpdate) {
99
- p.log.info(`Existing configuration detected: Region=${detected.region}, Industry=${detected.industry || "(not set)"}`);
117
+ p.log.info(`Existing configuration detected: Region=${installBase.region}, Industry=${installBase.industry || "(not set)"}`);
100
118
  }
101
119
  const region = await p.text({
102
120
  message: "What region is your product based in?",
103
121
  placeholder: "Global",
104
- initialValue: detected.region,
122
+ initialValue: installBase.region,
105
123
  validate: (v) => (v.trim() ? undefined : "Region is required"),
106
124
  });
107
125
  if (p.isCancel(region)) {
@@ -111,16 +129,16 @@ export async function runTuiInstaller(scopeHint) {
111
129
  const industry = await p.text({
112
130
  message: "What industry or vertical is your product in?",
113
131
  placeholder: "SaaS",
114
- initialValue: detected.industry,
132
+ initialValue: installBase.industry,
115
133
  });
116
134
  if (p.isCancel(industry)) {
117
135
  p.cancel("Installation cancelled.");
118
136
  return 1;
119
137
  }
120
- const primaryRegulation = await promptRegulation("What is your primary data-protection regulation?", detected.primaryRegulation, true);
138
+ const primaryRegulation = await promptRegulation("What is your primary data-protection regulation?", installBase.primaryRegulation, true);
121
139
  if (primaryRegulation === null)
122
140
  return 1;
123
- const secondaryRegulation = await promptRegulation("Secondary regulation? (optional)", detected.secondaryRegulation, false);
141
+ const secondaryRegulation = await promptRegulation("Secondary regulation? (optional)", installBase.secondaryRegulation, false);
124
142
  if (secondaryRegulation === null)
125
143
  return 1;
126
144
  const config = {
@@ -147,62 +165,58 @@ export async function runTuiInstaller(scopeHint) {
147
165
  docHistoryMode: detected.docHistoryMode,
148
166
  };
149
167
  const spinner = p.spinner();
150
- spinner.start("Adding wunderkind to OpenCode config");
168
+ spinner.start("Applying configuration");
151
169
  const pluginResult = addPluginToOpenCodeConfig(scope);
152
170
  if (!pluginResult.success) {
153
- spinner.stop(`Failed: ${pluginResult.error}`);
171
+ spinner.stop(color.red(`Failed to add plugin: ${pluginResult.error}`));
154
172
  p.outro(color.red("Installation failed."));
155
173
  return 1;
156
174
  }
157
- spinner.stop(`Plugin added to ${color.cyan(pluginResult.configPath)}`);
158
- spinner.start("Writing wunderkind configuration");
159
175
  const configResult = writeWunderkindConfig(config, scope);
160
176
  if (!configResult.success) {
161
- spinner.stop(`Failed: ${configResult.error}`);
177
+ spinner.stop(color.red(`Failed to write config: ${configResult.error}`));
162
178
  p.outro(color.red("Installation failed."));
163
179
  return 1;
164
180
  }
165
- spinner.stop(`Config written to ${color.cyan(configResult.configPath)}`);
166
- const gitignoreResult = addAiTracesToGitignore();
167
- if (gitignoreResult.added.length > 0) {
168
- p.log.info(`Added to .gitignore: ${gitignoreResult.added.join(", ")}`);
181
+ spinner.stop("Configuration applied successfully");
182
+ if (scope === "project" && !shouldInitProjectNow) {
183
+ const omoResult = writeOmoAgentConfig(process.cwd());
184
+ if (!omoResult.success) {
185
+ spinner.stop(color.red(`Failed to write OMO agent config: ${omoResult.error}`));
186
+ p.outro(color.red("Installation failed."));
187
+ return 1;
188
+ }
189
+ p.log.success(`OMO agent config written to ${color.cyan(omoResult.configPath)}`);
169
190
  }
170
- if (gitignoreResult.error) {
171
- p.log.warn(`Could not update .gitignore: ${gitignoreResult.error}`);
191
+ p.log.success(`Plugin added to ${color.cyan(pluginResult.configPath)}`);
192
+ p.log.success(`Config written to ${color.cyan(configResult.configPath)}`);
193
+ if (shouldUpdateGitignore) {
194
+ const gitignoreResult = addAiTracesToGitignore();
195
+ if (gitignoreResult.added.length > 0) {
196
+ p.log.success(`Added ${gitignoreResult.added.length} entries to ${color.cyan(".gitignore")}`);
197
+ }
198
+ else if (!gitignoreResult.error) {
199
+ p.log.info(color.dim(".gitignore already contains AI tooling traces"));
200
+ }
201
+ if (gitignoreResult.error) {
202
+ p.log.warn(`Could not update .gitignore: ${gitignoreResult.error}`);
203
+ }
172
204
  }
173
205
  p.note([
206
+ `Scope: ${color.cyan(scope)}`,
174
207
  `Region: ${color.cyan(config.region)}`,
175
208
  `Industry: ${color.cyan(config.industry || color.dim("(not set)"))}`,
176
209
  `Primary regulation: ${color.cyan(config.primaryRegulation)}`,
177
210
  config.secondaryRegulation ? `Secondary: ${color.cyan(config.secondaryRegulation)}` : "",
178
211
  ``,
179
- `Team culture: ${color.cyan(config.teamCulture)}`,
180
- `Org structure: ${color.cyan(config.orgStructure)}`,
181
- ``,
182
- `CISO: ${color.cyan(config.cisoPersonality)}`,
183
- `CTO/Fullstack: ${color.cyan(config.ctoPersonality)}`,
184
- `CMO/Marketing: ${color.cyan(config.cmoPersonality)}`,
185
- `QA: ${color.cyan(config.qaPersonality)}`,
186
- `Product: ${color.cyan(config.productPersonality)}`,
187
- `Ops: ${color.cyan(config.opsPersonality)}`,
188
- `Creative: ${color.cyan(config.creativePersonality)}`,
189
- `Brand: ${color.cyan(config.brandPersonality)}`,
190
- `DevRel: ${color.cyan(config.devrelPersonality)}`,
191
- `Legal: ${color.cyan(config.legalPersonality)}`,
192
- `Support: ${color.cyan(config.supportPersonality)}`,
193
- `Data Analyst: ${color.cyan(config.dataAnalystPersonality)}`,
212
+ `${color.dim("Advanced team/personality and docs settings are managed via 'wunderkind init'.")}`,
194
213
  ]
195
214
  .filter(Boolean)
196
- .join("\n"), isUpdate ? "Updated Configuration" : "Installation Complete");
197
- p.log.success(color.bold(isUpdate ? "Configuration updated!" : "Installation complete!"));
198
- p.log.message(`Run ${color.cyan("opencode")} to start!`);
215
+ .join("\n"), isUpdate ? "Updated Setup" : "Installation Setup");
199
216
  if (shouldInitProjectNow) {
217
+ p.log.message(`\n${color.bold("→ Handoff to Project Initialization")}`);
200
218
  const initExitCode = await runInit({
201
- noTui: true,
202
- region: config.region,
203
- industry: config.industry,
204
- primaryRegulation: config.primaryRegulation,
205
- secondaryRegulation: config.secondaryRegulation,
219
+ noTui: false,
206
220
  docsEnabled: config.docsEnabled,
207
221
  docsPath: config.docsPath,
208
222
  docHistoryMode: config.docHistoryMode,
@@ -214,7 +228,8 @@ export async function runTuiInstaller(scopeHint) {
214
228
  }
215
229
  p.log.success("Current project initialized.");
216
230
  }
217
- p.outro(color.green("Wunderkind... Enjoy!"));
231
+ p.outro(`${color.green("Wunderkind... Enjoy!")}\n\n` +
232
+ ` Run ${color.cyan("opencode")} to start your session.`);
218
233
  return 0;
219
234
  }
220
235
  //# sourceMappingURL=tui-installer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-installer.js","sourceRoot":"","sources":["../../src/cli/tui-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-installer.js","sourceRoot":"","sources":["../../src/cli/tui-installer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export type BooleanArg = "no" | "yes";
2
2
  export type InstallScope = "global" | "project";
3
+ export type InstallRegistrationScope = InstallScope | "both" | "none";
3
4
  export type DocHistoryMode = "overwrite" | "append-dated" | "new-dated-file" | "overwrite-archive";
4
5
  export type TeamCulture = "formal-strict" | "pragmatic-balanced" | "experimental-informal";
5
6
  export type OrgStructure = "flat" | "hierarchical";
@@ -15,6 +16,31 @@ export type DevrelPersonality = "community-champion" | "docs-perfectionist" | "d
15
16
  export type LegalPersonality = "cautious-gatekeeper" | "pragmatic-advisor" | "plain-english-counselor";
16
17
  export type SupportPersonality = "empathetic-resolver" | "systematic-triage" | "knowledge-builder";
17
18
  export type DataAnalystPersonality = "rigorous-statistician" | "insight-storyteller" | "pragmatic-quant";
19
+ export interface GlobalConfig {
20
+ region: string;
21
+ industry: string;
22
+ primaryRegulation: string;
23
+ secondaryRegulation: string;
24
+ }
25
+ export interface ProjectConfig {
26
+ teamCulture: TeamCulture;
27
+ orgStructure: OrgStructure;
28
+ cisoPersonality: CisoPersonality;
29
+ ctoPersonality: CtoPersonality;
30
+ cmoPersonality: CmoPersonality;
31
+ qaPersonality: QaPersonality;
32
+ productPersonality: ProductPersonality;
33
+ opsPersonality: OpsPersonality;
34
+ creativePersonality: CreativePersonality;
35
+ brandPersonality: BrandPersonality;
36
+ devrelPersonality: DevrelPersonality;
37
+ legalPersonality: LegalPersonality;
38
+ supportPersonality: SupportPersonality;
39
+ dataAnalystPersonality: DataAnalystPersonality;
40
+ docsEnabled: boolean;
41
+ docsPath: string;
42
+ docHistoryMode: DocHistoryMode;
43
+ }
18
44
  export interface InstallArgs {
19
45
  tui: boolean;
20
46
  scope: InstallScope;
@@ -40,37 +66,23 @@ export interface InstallArgs {
40
66
  docsPath?: string | undefined;
41
67
  docHistoryMode?: string | undefined;
42
68
  }
43
- export interface InstallConfig {
44
- region: string;
45
- industry: string;
46
- primaryRegulation: string;
47
- secondaryRegulation: string;
48
- teamCulture: TeamCulture;
49
- orgStructure: OrgStructure;
50
- cisoPersonality: CisoPersonality;
51
- ctoPersonality: CtoPersonality;
52
- cmoPersonality: CmoPersonality;
53
- qaPersonality: QaPersonality;
54
- productPersonality: ProductPersonality;
55
- opsPersonality: OpsPersonality;
56
- creativePersonality: CreativePersonality;
57
- brandPersonality: BrandPersonality;
58
- devrelPersonality: DevrelPersonality;
59
- legalPersonality: LegalPersonality;
60
- supportPersonality: SupportPersonality;
61
- dataAnalystPersonality: DataAnalystPersonality;
62
- docsEnabled: boolean;
63
- docsPath: string;
64
- docHistoryMode: DocHistoryMode;
69
+ export interface InstallConfig extends GlobalConfig, ProjectConfig {
65
70
  }
66
71
  export interface ConfigMergeResult {
67
72
  success: boolean;
68
73
  configPath: string;
74
+ changed?: boolean;
69
75
  error?: string;
70
76
  }
71
77
  export interface DetectedConfig {
72
78
  isInstalled: boolean;
73
79
  scope: InstallScope;
80
+ projectInstalled?: boolean;
81
+ globalInstalled?: boolean;
82
+ registrationScope?: InstallRegistrationScope;
83
+ projectOpenCodeConfigPath?: string;
84
+ globalOpenCodeConfigPath?: string;
85
+ legacyGlobalProjectFields?: string[];
74
86
  region: string;
75
87
  industry: string;
76
88
  primaryRegulation: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { InstallScope } from "./types.js";
2
+ export interface UninstallOptions {
3
+ scope?: InstallScope;
4
+ }
5
+ export declare function runUninstall(options: UninstallOptions): Promise<number>;
6
+ //# sourceMappingURL=uninstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/cli/uninstall.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAA4B,YAAY,EAAE,MAAM,YAAY,CAAA;AAExE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAWD,wBAAsB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmD7E"}
@@ -0,0 +1,64 @@
1
+ import color from "picocolors";
2
+ import { detectCurrentConfig, removeGlobalWunderkindConfig, removePluginFromOpenCodeConfig, } from "./config-manager/index.js";
3
+ function resolveScopes(scope, detectedScope) {
4
+ if (scope === "global")
5
+ return ["global"];
6
+ if (scope === "project")
7
+ return ["project"];
8
+ if (detectedScope === "both")
9
+ return ["project"];
10
+ if (detectedScope === "project")
11
+ return ["project"];
12
+ if (detectedScope === "global")
13
+ return ["global"];
14
+ return [];
15
+ }
16
+ export async function runUninstall(options) {
17
+ try {
18
+ const detected = detectCurrentConfig();
19
+ const targets = resolveScopes(options.scope, detected.registrationScope ?? "none");
20
+ if (targets.length === 0) {
21
+ console.log("Wunderkind plugin is not currently registered in OpenCode config.");
22
+ console.log("No changes made.");
23
+ return 0;
24
+ }
25
+ for (const target of targets) {
26
+ const result = removePluginFromOpenCodeConfig(target);
27
+ if (!result.success) {
28
+ console.error(`Failed to remove plugin from ${target} OpenCode config: ${result.error}`);
29
+ return 1;
30
+ }
31
+ if (result.changed === true) {
32
+ console.log(`${color.green("✓")} Removed plugin registration from ${target} config (${color.dim(result.configPath)})`);
33
+ }
34
+ else {
35
+ console.log(`${color.dim("- ")}Plugin registration already absent in ${target} config (${color.dim(result.configPath)})`);
36
+ }
37
+ if (target === "global") {
38
+ const globalConfigResult = removeGlobalWunderkindConfig();
39
+ if (!globalConfigResult.success) {
40
+ console.error(`Failed to remove global Wunderkind config: ${globalConfigResult.error}`);
41
+ return 1;
42
+ }
43
+ if (globalConfigResult.changed === true) {
44
+ console.log(`${color.green("✓")} Removed global Wunderkind config (${color.dim(globalConfigResult.configPath)})`);
45
+ }
46
+ else {
47
+ console.log(`${color.dim("- ")}Global Wunderkind config already absent (${color.dim(globalConfigResult.configPath)})`);
48
+ }
49
+ }
50
+ }
51
+ console.log();
52
+ console.log(color.bold("Safety note"));
53
+ console.log("Project-local customization files are intentionally left untouched for safety:");
54
+ console.log("- Project-local: .wunderkind/, AGENTS.md, .sisyphus/, docs output folders");
55
+ console.log("- Global config is removed only during global uninstall");
56
+ console.log("If you want project-local artifacts removed, delete those files manually.");
57
+ return 0;
58
+ }
59
+ catch (error) {
60
+ console.error(`Error: ${String(error)}`);
61
+ return 1;
62
+ }
63
+ }
64
+ //# sourceMappingURL=uninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/cli/uninstall.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,QAAA,MAAM,gBAAgB,EAAE,MAwGvB,CAAC;AAEF,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,QAAA,MAAM,gBAAgB,EAAE,MAsGvB,CAAC;AAEF,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
- import { readWunderkindConfig } from "./cli/config-manager/index.js";
1
+ import { readProjectWunderkindConfig } from "./cli/config-manager/index.js";
2
2
  const DOCS_OUTPUT_SENTINEL = "<!-- wunderkind:docs-output-start -->";
3
3
  const WunderkindPlugin = async (_input) => {
4
4
  return {
5
5
  "experimental.chat.system.transform": async (_input, output) => {
6
- const wunderkindConfig = readWunderkindConfig();
6
+ const wunderkindConfig = readProjectWunderkindConfig();
7
7
  const hasDocsOutputSentinel = output.system.join("").includes(DOCS_OUTPUT_SENTINEL);
8
8
  if (wunderkindConfig?.docsEnabled === true && !hasDocsOutputSentinel) {
9
9
  const docsPath = wunderkindConfig.docsPath ?? "./docs";
@@ -87,16 +87,14 @@ The following specialist agents are available. Delegate to them when their domai
87
87
 
88
88
  ### Project Configuration
89
89
 
90
- All agents read \`.wunderkind/wunderkind.config.jsonc\` for:
91
- - \`region\` — adjusts platform mix, event targeting, and regulatory focus
92
- - \`industry\` — adjusts content tone and sector-specific obligations
93
- - \`primaryRegulation\` — the main data protection regulation to apply (defaults to GDPR)
94
- - \`secondaryRegulation\` — additional regulation to layer on top
90
+ Global config defines shared region, industry, and regulation context.
91
+
92
+ Project-local \`.wunderkind/wunderkind.config.jsonc\` defines:
95
93
  - \`teamCulture\` — communication style baseline: \`formal-strict\` | \`pragmatic-balanced\` | \`experimental-informal\`
96
94
  - \`orgStructure\` — \`flat\` (peer escalation) | \`hierarchical\` (CISO has hard veto on security)
97
95
  - \`cisoPersonality\`, \`ctoPersonality\`, \`cmoPersonality\`, \`qaPersonality\`, \`productPersonality\`, \`opsPersonality\`, \`creativePersonality\`, \`brandPersonality\`, \`devrelPersonality\`, \`legalPersonality\`, \`supportPersonality\`, \`dataAnalystPersonality\` — character archetypes per agent
98
96
 
99
- If the file is absent or fields are blank, agents default to global best practices.
97
+ If project-local soul fields are absent, agents default to packaged sane defaults.
100
98
 
101
99
  `.trim());
102
100
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,oBAAoB,GAAG,uCAAuC,CAAC;AAErE,MAAM,gBAAgB,GAAW,KAAK,EAAE,MAAM,EAAE,EAAE;IAChD,OAAO;QACL,oCAAoC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7D,MAAM,gBAAgB,GAAG,oBAAoB,EAAE,CAAC;YAChD,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAEpF,IAAI,gBAAgB,EAAE,WAAW,KAAK,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACrE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBACvD,MAAM,cAAc,GAAG,gBAAgB,CAAC,cAAc,IAAI,WAAW,CAAC;gBAEtE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;EACzB,oBAAoB;;;;;gBAKN,QAAQ;sBACF,cAAc;CACnC,CAAC,IAAI,EAAE,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFxB,CAAC,IAAI,EAAE,CAAC,CAAC;QACN,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,MAAM,oBAAoB,GAAG,uCAAuC,CAAC;AAErE,MAAM,gBAAgB,GAAW,KAAK,EAAE,MAAM,EAAE,EAAE;IAChD,OAAO;QACL,oCAAoC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7D,MAAM,gBAAgB,GAAG,2BAA2B,EAAE,CAAC;YACvD,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAEpF,IAAI,gBAAgB,EAAE,WAAW,KAAK,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACrE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBACvD,MAAM,cAAc,GAAG,gBAAgB,CAAC,cAAc,IAAI,WAAW,CAAC;gBAEtE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;EACzB,oBAAoB;;;;;gBAKN,QAAQ;sBACF,cAAc;CACnC,CAAC,IAAI,EAAE,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ExB,CAAC,IAAI,EAAE,CAAC,CAAC;QACN,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grant-vine/wunderkind",
3
- "version": "0.8.0",
3
+ "version": "0.9.2",
4
4
  "description": "Wunderkind \u2014 specialist AI agent addon for oh-my-openagent with 12 professional agents for any software product team",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -17,6 +17,8 @@
17
17
  "files": [
18
18
  "dist/",
19
19
  "agents/",
20
+ "commands/",
21
+ "schemas/",
20
22
  "skills/",
21
23
  ".claude-plugin/",
22
24
  "bin/",
@@ -0,0 +1,67 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://raw.githubusercontent.com/grant-vine/wunderkind/main/schemas/wunderkind.config.schema.json",
4
+ "title": "Wunderkind Config",
5
+ "description": "Schema for Wunderkind global and project configuration files.",
6
+ "type": "object",
7
+ "oneOf": [
8
+ {
9
+ "title": "Global Wunderkind Config",
10
+ "type": "object",
11
+ "properties": {
12
+ "$schema": { "type": "string" },
13
+ "region": { "type": "string" },
14
+ "industry": { "type": "string" },
15
+ "primaryRegulation": { "type": "string" },
16
+ "secondaryRegulation": { "type": "string" }
17
+ },
18
+ "required": ["$schema", "region", "industry", "primaryRegulation", "secondaryRegulation"],
19
+ "additionalProperties": false
20
+ },
21
+ {
22
+ "title": "Project Wunderkind Config",
23
+ "type": "object",
24
+ "properties": {
25
+ "$schema": { "type": "string" },
26
+ "teamCulture": { "enum": ["formal-strict", "pragmatic-balanced", "experimental-informal"] },
27
+ "orgStructure": { "enum": ["flat", "hierarchical"] },
28
+ "cisoPersonality": { "enum": ["paranoid-enforcer", "pragmatic-risk-manager", "educator-collaborator"] },
29
+ "ctoPersonality": { "enum": ["grizzled-sysadmin", "startup-bro", "code-archaeologist"] },
30
+ "cmoPersonality": { "enum": ["data-driven", "brand-storyteller", "growth-hacker"] },
31
+ "qaPersonality": { "enum": ["rule-enforcer", "risk-based-pragmatist", "rubber-duck"] },
32
+ "productPersonality": { "enum": ["user-advocate", "velocity-optimizer", "outcome-obsessed"] },
33
+ "opsPersonality": { "enum": ["on-call-veteran", "efficiency-maximiser", "process-purist"] },
34
+ "creativePersonality": { "enum": ["perfectionist-craftsperson", "bold-provocateur", "pragmatic-problem-solver"] },
35
+ "brandPersonality": { "enum": ["community-evangelist", "pr-spinner", "authentic-builder"] },
36
+ "devrelPersonality": { "enum": ["community-champion", "docs-perfectionist", "dx-engineer"] },
37
+ "legalPersonality": { "enum": ["cautious-gatekeeper", "pragmatic-advisor", "plain-english-counselor"] },
38
+ "supportPersonality": { "enum": ["empathetic-resolver", "systematic-triage", "knowledge-builder"] },
39
+ "dataAnalystPersonality": { "enum": ["rigorous-statistician", "insight-storyteller", "pragmatic-quant"] },
40
+ "docsEnabled": { "type": "boolean" },
41
+ "docsPath": { "type": "string" },
42
+ "docHistoryMode": { "enum": ["overwrite", "append-dated", "new-dated-file", "overwrite-archive"] }
43
+ },
44
+ "required": [
45
+ "$schema",
46
+ "teamCulture",
47
+ "orgStructure",
48
+ "cisoPersonality",
49
+ "ctoPersonality",
50
+ "cmoPersonality",
51
+ "qaPersonality",
52
+ "productPersonality",
53
+ "opsPersonality",
54
+ "creativePersonality",
55
+ "brandPersonality",
56
+ "devrelPersonality",
57
+ "legalPersonality",
58
+ "supportPersonality",
59
+ "dataAnalystPersonality",
60
+ "docsEnabled",
61
+ "docsPath",
62
+ "docHistoryMode"
63
+ ],
64
+ "additionalProperties": false
65
+ }
66
+ ]
67
+ }