@grant-vine/wunderkind 0.10.4 → 0.10.6

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 (42) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +20 -8
  3. package/agents/ciso.md +10 -0
  4. package/agents/creative-director.md +10 -0
  5. package/agents/fullstack-wunderkind.md +10 -0
  6. package/agents/legal-counsel.md +10 -0
  7. package/agents/marketing-wunderkind.md +10 -0
  8. package/agents/product-wunderkind.md +10 -0
  9. package/dist/agents/ciso.d.ts.map +1 -1
  10. package/dist/agents/ciso.js +3 -2
  11. package/dist/agents/ciso.js.map +1 -1
  12. package/dist/agents/creative-director.d.ts.map +1 -1
  13. package/dist/agents/creative-director.js +3 -2
  14. package/dist/agents/creative-director.js.map +1 -1
  15. package/dist/agents/fullstack-wunderkind.d.ts.map +1 -1
  16. package/dist/agents/fullstack-wunderkind.js +3 -2
  17. package/dist/agents/fullstack-wunderkind.js.map +1 -1
  18. package/dist/agents/legal-counsel.d.ts.map +1 -1
  19. package/dist/agents/legal-counsel.js +3 -2
  20. package/dist/agents/legal-counsel.js.map +1 -1
  21. package/dist/agents/marketing-wunderkind.d.ts.map +1 -1
  22. package/dist/agents/marketing-wunderkind.js +3 -2
  23. package/dist/agents/marketing-wunderkind.js.map +1 -1
  24. package/dist/agents/product-wunderkind.d.ts.map +1 -1
  25. package/dist/agents/product-wunderkind.js +3 -2
  26. package/dist/agents/product-wunderkind.js.map +1 -1
  27. package/dist/agents/shared-prompt-sections.d.ts +1 -0
  28. package/dist/agents/shared-prompt-sections.d.ts.map +1 -1
  29. package/dist/agents/shared-prompt-sections.js +13 -0
  30. package/dist/agents/shared-prompt-sections.js.map +1 -1
  31. package/dist/cli/cleanup.d.ts +2 -0
  32. package/dist/cli/cleanup.d.ts.map +1 -0
  33. package/dist/cli/cleanup.js +48 -0
  34. package/dist/cli/cleanup.js.map +1 -0
  35. package/dist/cli/config-manager/index.js +1 -1
  36. package/dist/cli/config-manager/index.js.map +1 -1
  37. package/dist/cli/index.js +13 -0
  38. package/dist/cli/index.js.map +1 -1
  39. package/dist/cli/init.d.ts.map +1 -1
  40. package/dist/cli/init.js +307 -37
  41. package/dist/cli/init.js.map +1 -1
  42. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wunderkind",
3
- "version": "0.10.4",
3
+ "version": "0.10.6",
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
@@ -25,7 +25,8 @@ Wunderkind provides a tiered CLI for installation, project setup, and health che
25
25
  |---|---|---|
26
26
  | `wunderkind install` | Registers the plugin in OpenCode | OpenCode config + native agents/skills (+ shared native commands) |
27
27
  | `wunderkind upgrade` | Refreshes Wunderkind-owned native assets | Native agents/skills + shared native commands |
28
- | `wunderkind init` | Bootstraps a project with soul files | `.wunderkind/`, `AGENTS.md`, `.sisyphus/`, project-local native agents/skills |
28
+ | `wunderkind init` | Bootstraps a project with soul files | `.wunderkind/`, `AGENTS.md`, `.sisyphus/`, docs README |
29
+ | `wunderkind cleanup` | Removes project-local Wunderkind wiring and state | project OpenCode config + `.wunderkind/` |
29
30
  | `wunderkind doctor` | Read-only diagnostics | None |
30
31
  | `wunderkind uninstall` | Safely removes Wunderkind plugin wiring | OpenCode plugin config (+ global Wunderkind config when applicable) |
31
32
  | `wunderkind gitignore` | Adds AI traces to `.gitignore` | `.gitignore` |
@@ -37,7 +38,7 @@ Wunderkind provides a tiered CLI for installation, project setup, and health che
37
38
  Wunderkind distinguishes between **installing** the plugin and **initializing** a project:
38
39
 
39
40
  1. **Install** (`wunderkind install`): Adds `@grant-vine/wunderkind` to your OpenCode configuration. This makes the agents available to your AI assistant. You typically do this once globally.
40
- 2. **Init** (`wunderkind init`): Prepares the current directory for high-context agent work. It creates the `.wunderkind/` configuration directory, the `AGENTS.md` project knowledge base, and optional documentation output folders.
41
+ 2. **Init** (`wunderkind init`): Prepares the current directory for high-context agent work. It creates or updates the `.wunderkind/` configuration directory, the `AGENTS.md` project knowledge base, optional project-local SOUL files, and optional documentation output folders.
41
42
 
42
43
  ---
43
44
 
@@ -153,11 +154,11 @@ wunderkind init [options]
153
154
  | Option | Description | Default |
154
155
  |---|---|---|
155
156
  | `--docs-path <path>` | Relative path for agent docs output | `./docs` |
156
- | `--docs-history-mode <mode>` | Update style: `overwrite` (default), `append-dated`, `new-dated-file`, `overwrite-archive` | `overwrite` |
157
+ | `--docs-history-mode <mode>` | Update style: `append-dated` (default), `overwrite`, `new-dated-file`, `overwrite-archive` | `append-dated` |
157
158
  | `--docs-enabled <yes\|no>` | Enable or disable documentation output | `no` |
158
159
  | `--no-tui` | Skip interactive prompts | (false) |
159
160
 
160
- Interactive `wunderkind init` always asks for team culture, org structure, and docs-output settings. It can also optionally create project-local SOUL files for any retained persona; if you skip that step, Wunderkind keeps the neutral retained prompts and current/default personality settings already in effect. Baseline market/regulation values are inherited unless you intentionally override them in project config.
161
+ Interactive `wunderkind init` always asks for team culture, org structure, and docs-output settings. It can also optionally create project-local SOUL files for any retained persona. Those SOUL questions are now select-first with an explicit custom-answer fallback, show a compact persona banner before each persona block, and prefill current project-local SOUL answers when you rerun `init` on an already configured project. Baseline market/regulation values are inherited unless you intentionally override them in project config.
161
162
 
162
163
  Wave 2 also lets `init` set the PRD/planning workflow mode for the project:
163
164
  - `filesystem` — PRDs, plans, issues, triage notes, RFCs, and glossary artifacts live in `.sisyphus/`
@@ -175,8 +176,8 @@ If `prdPipelineMode` is absent in an older project config, Wunderkind treats it
175
176
 
176
177
  | Mode | Description |
177
178
  |---|---|
178
- | `overwrite` | Replaces the file contents each time (default) |
179
- | `append-dated` | Appends a UTC-timestamped section like `## Update 2026-03-12T18-37-52Z` to the canonical file |
179
+ | `append-dated` | Appends a UTC-timestamped section like `## Update 2026-03-12T18-37-52Z` to the canonical file (default) |
180
+ | `overwrite` | Replaces the file contents each time |
180
181
  | `new-dated-file` | Creates a UTC-timestamped file like `marketing-strategy--2026-03-12T18-37-52Z.md` beside the canonical file |
181
182
  | `overwrite-archive` | Overwrites the current file and archives the old one |
182
183
 
@@ -256,6 +257,16 @@ wunderkind uninstall --scope=project
256
257
 
257
258
  `wunderkind uninstall` removes Wunderkind plugin registration from OpenCode config. On global uninstall it also removes `~/.wunderkind/wunderkind.config.jsonc` (and the parent `~/.wunderkind/` directory if it becomes empty). For safety, it intentionally leaves project-local customization/bootstrap artifacts untouched (`.wunderkind/`, `AGENTS.md`, `.sisyphus/`, docs folders).
258
259
 
260
+ ## Cleanup
261
+
262
+ Remove Wunderkind from just the current project without touching shared global capabilities:
263
+
264
+ ```bash
265
+ wunderkind cleanup
266
+ ```
267
+
268
+ `wunderkind cleanup` removes project-local OpenCode plugin wiring and the project's `.wunderkind/` directory. It intentionally leaves `AGENTS.md`, `.sisyphus/`, docs output folders, and shared global native assets untouched.
269
+
259
270
  ---
260
271
 
261
272
  ## Documentation Output
@@ -302,7 +313,7 @@ Treat this as the recommended audit/bootstrap process for bringing a project up
302
313
 
303
314
  Wunderkind installs native markdown assets into OpenCode's supported directories. Removing Wunderkind leaves any separate oh-my-openagent installation intact.
304
315
 
305
- > **Native asset install note**: Wunderkind registers its specialist agents and skills through OpenCode-native markdown files. Global installs and upgrades refresh the shared native assets; project installs and `wunderkind init` write `.opencode/agents/` and `.opencode/skills/` for project-local precedence. The shipped `/docs-index` command is a native command asset that Wunderkind refreshes globally.
316
+ > **Native asset install note**: Wunderkind registers its specialist agents and skills through OpenCode-native markdown files. Global installs and upgrades refresh the shared native assets, and the shipped `/docs-index` command is refreshed globally as a native command asset.
306
317
 
307
318
  ---
308
319
 
@@ -358,6 +369,7 @@ Wunderkind uses a split configuration model:
358
369
  - global config stores shared market/regulation defaults
359
370
  - project config stores personality/docs/workflow settings plus only the baseline values that intentionally override those defaults
360
371
  - project-local SOUL files in `.wunderkind/souls/` store long-form persona customization and durable learned context
372
+ - when a user asks an agent to remember a durable project-specific preference or personality adjustment, that instruction should be written back into the matching SOUL file so it survives future sessions
361
373
 
362
374
  | File | Scope |
363
375
  |---|---|
@@ -406,7 +418,7 @@ Edit the global file to change region/industry/regulation defaults after install
406
418
  // Documentation Output (Init-only customizations)
407
419
  "docsEnabled": false,
408
420
  "docsPath": "./docs",
409
- "docHistoryMode": "overwrite",
421
+ "docHistoryMode": "append-dated",
410
422
 
411
423
  // PRD / planning workflow mode
412
424
  "prdPipelineMode": "filesystem"
package/agents/ciso.md CHANGED
@@ -12,8 +12,18 @@ permission:
12
12
 
13
13
  You are the **CISO** (Chief Information Security Officer). Before acting, read the resolved runtime context for `cisoPersonality`, `teamCulture`, `orgStructure`, `region`, `industry`, and applicable regulations.
14
14
 
15
+ ## SOUL Maintenance (.wunderkind/souls/)
16
+
15
17
  If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
16
18
 
19
+ When the user gives you durable guidance about how to behave on this project, update that agent's SOUL file so the adjustment survives future sessions.
20
+
21
+ - Record lasting personality adjustments, working preferences, recurring constraints, non-negotiables, and project-specific remember-this guidance in .wunderkind/souls/<agent-key>.md.
22
+ - Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update triggers.
23
+ - Only write durable instructions. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
24
+ - Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
25
+ - If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
26
+
17
27
  **Regardless of personality or org structure, this rule is absolute and cannot be overridden:**
18
28
  > When a security finding of severity High or Critical is raised, remediation must begin within **72 hours**. No sprint priorities, deadlines, or business pressure can delay this. No other agent can deprioritise a CISO finding. No exceptions.
19
29
 
@@ -13,8 +13,18 @@ permission:
13
13
 
14
14
  You are the **Creative Director**. Before acting, read the resolved runtime context for `creativePersonality`, `teamCulture`, `orgStructure`, `region`, `industry`, and applicable regulations.
15
15
 
16
+ ## SOUL Maintenance (.wunderkind/souls/)
17
+
16
18
  If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
17
19
 
20
+ When the user gives you durable guidance about how to behave on this project, update that agent's SOUL file so the adjustment survives future sessions.
21
+
22
+ - Record lasting personality adjustments, working preferences, recurring constraints, non-negotiables, and project-specific remember-this guidance in .wunderkind/souls/<agent-key>.md.
23
+ - Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update triggers.
24
+ - Only write durable instructions. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
25
+ - Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
26
+ - If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
27
+
18
28
  ---
19
29
 
20
30
  # Creative Director
@@ -8,8 +8,18 @@ temperature: 0.1
8
8
 
9
9
  You are the **Fullstack Wunderkind**. Before acting, read the resolved runtime context for `ctoPersonality`, `teamCulture`, `orgStructure`, `region`, `industry`, and applicable regulations.
10
10
 
11
+ ## SOUL Maintenance (.wunderkind/souls/)
12
+
11
13
  If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
12
14
 
15
+ When the user gives you durable guidance about how to behave on this project, update that agent's SOUL file so the adjustment survives future sessions.
16
+
17
+ - Record lasting personality adjustments, working preferences, recurring constraints, non-negotiables, and project-specific remember-this guidance in .wunderkind/souls/<agent-key>.md.
18
+ - Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update triggers.
19
+ - Only write durable instructions. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
20
+ - Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
21
+ - If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
22
+
13
23
  ---
14
24
 
15
25
  # Fullstack Wunderkind
@@ -13,8 +13,18 @@ permission:
13
13
 
14
14
  You are the **Legal Counsel**. Before acting, read the resolved runtime context for `legalPersonality`, `teamCulture`, `orgStructure`, `region`, `industry`, and applicable regulations.
15
15
 
16
+ ## SOUL Maintenance (.wunderkind/souls/)
17
+
16
18
  If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
17
19
 
20
+ When the user gives you durable guidance about how to behave on this project, update that agent's SOUL file so the adjustment survives future sessions.
21
+
22
+ - Record lasting personality adjustments, working preferences, recurring constraints, non-negotiables, and project-specific remember-this guidance in .wunderkind/souls/<agent-key>.md.
23
+ - Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update triggers.
24
+ - Only write durable instructions. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
25
+ - Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
26
+ - If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
27
+
18
28
  Always include a disclaimer: "This is AI-generated legal analysis for informational purposes. Review with qualified legal counsel before relying on it."
19
29
 
20
30
  ---
@@ -13,8 +13,18 @@ permission:
13
13
 
14
14
  You are the **Marketing Wunderkind**. Before acting, read the resolved runtime context for `cmoPersonality`, `teamCulture`, `orgStructure`, `region`, `industry`, and applicable regulations.
15
15
 
16
+ ## SOUL Maintenance (.wunderkind/souls/)
17
+
16
18
  If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
17
19
 
20
+ When the user gives you durable guidance about how to behave on this project, update that agent's SOUL file so the adjustment survives future sessions.
21
+
22
+ - Record lasting personality adjustments, working preferences, recurring constraints, non-negotiables, and project-specific remember-this guidance in .wunderkind/souls/<agent-key>.md.
23
+ - Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update triggers.
24
+ - Only write durable instructions. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
25
+ - Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
26
+ - If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
27
+
18
28
  ---
19
29
 
20
30
  # Marketing Wunderkind
@@ -12,8 +12,18 @@ permission:
12
12
 
13
13
  You are the **Product Wunderkind**. Before acting, read the resolved runtime context for `productPersonality`, `teamCulture`, `orgStructure`, `region`, `industry`, and applicable regulations.
14
14
 
15
+ ## SOUL Maintenance (.wunderkind/souls/)
16
+
15
17
  If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
16
18
 
19
+ When the user gives you durable guidance about how to behave on this project, update that agent's SOUL file so the adjustment survives future sessions.
20
+
21
+ - Record lasting personality adjustments, working preferences, recurring constraints, non-negotiables, and project-specific remember-this guidance in .wunderkind/souls/<agent-key>.md.
22
+ - Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update triggers.
23
+ - Only write durable instructions. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
24
+ - Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
25
+ - If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
26
+
17
27
  ---
18
28
 
19
29
  # Product Wunderkind
@@ -1 +1 @@
1
- {"version":3,"file":"ciso.d.ts","sourceRoot":"","sources":["../../src/agents/ciso.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,aAAa,EAAE,mBA0B3B,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA+T1D;yBA/Te,eAAe"}
1
+ {"version":3,"file":"ciso.d.ts","sourceRoot":"","sources":["../../src/agents/ciso.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,aAAa,EAAE,mBA0B3B,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAgU1D;yBAhUe,eAAe"}
@@ -1,5 +1,5 @@
1
1
  import { createAgentToolRestrictions } from "./types.js";
2
- import { buildPersistentContextSection } from "./shared-prompt-sections.js";
2
+ import { buildPersistentContextSection, buildSoulMaintenanceSection } from "./shared-prompt-sections.js";
3
3
  const MODE = "all";
4
4
  export const CISO_METADATA = {
5
5
  category: "specialist",
@@ -38,6 +38,7 @@ export function createCisoAgent(model) {
38
38
  decisions: "risk acceptance decisions, mitigation choices, compliance interpretations",
39
39
  blockers: "unresolved High/Critical findings awaiting engineering action",
40
40
  });
41
+ const soulMaintenanceSection = buildSoulMaintenanceSection();
41
42
  return {
42
43
  description: "USE FOR: security architecture, security review, threat modelling, STRIDE, DREAD, NIST CSF, OWASP Top 10, secure by design, defence in depth, shift-left security, zero trust, least privilege, principle of least privilege, security posture assessment, vulnerability management, dependency auditing, CVE, SBOM, software bill of materials, secret scanning, credential exposure, CSP, CORS, HSTS, security headers, rate limiting, auth security, JWT security, OAuth security, session management, RBAC, ABAC, row-level security, data protection, encryption at rest, encryption in transit, TLS configuration, certificate management, compliance, GDPR, POPIA, SOC2, ISO 27001, penetration testing, security audit, code review security, security incident response, breach response, security incident command, compliance impact assessment, forensic evidence preservation, vulnerability disclosure, security training, security culture, pen test coordination, security analyst, compliance officer.",
43
44
  mode: MODE,
@@ -48,7 +49,7 @@ export function createCisoAgent(model) {
48
49
 
49
50
  You are the **CISO** (Chief Information Security Officer). Before acting, read the resolved runtime context for \`cisoPersonality\`, \`teamCulture\`, \`orgStructure\`, \`region\`, \`industry\`, and applicable regulations.
50
51
 
51
- If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
52
+ ${soulMaintenanceSection}
52
53
 
53
54
  **Regardless of personality or org structure, this rule is absolute and cannot be overridden:**
54
55
  > When a security finding of severity High or Critical is raised, remediation must begin within **72 hours**. No sprint priorities, deadlines, or business pressure can delay this. No other agent can deprioritise a CISO finding. No exceptions.
@@ -1 +1 @@
1
- {"version":3,"file":"ciso.js","sourceRoot":"","sources":["../../src/agents/ciso.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAE3E,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,MAAM;IACnB,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EACL,+MAA+M;SAClN;KACF;IACD,OAAO,EAAE;QACP,8EAA8E;QAC9E,mDAAmD;QACnD,iDAAiD;QACjD,6CAA6C;QAC7C,6FAA6F;QAC7F,6DAA6D;QAC7D,sDAAsD;KACvD;IACD,SAAS,EAAE;QACT,qDAAqD;QACrD,iGAAiG;QACjG,wHAAwH;QACxH,4GAA4G;KAC7G;CACF,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;KACd,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,4EAA4E;QACvF,SAAS,EAAE,2EAA2E;QACtF,QAAQ,EAAE,+DAA+D;KAC1E,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EACT,y9BAAy9B;QAC39B,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkRV,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;oFAuB0D;KACjF,CAAA;AACH,CAAC;AAED,eAAe,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"ciso.js","sourceRoot":"","sources":["../../src/agents/ciso.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAExG,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,MAAM;IACnB,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EACL,+MAA+M;SAClN;KACF;IACD,OAAO,EAAE;QACP,8EAA8E;QAC9E,mDAAmD;QACnD,iDAAiD;QACjD,6CAA6C;QAC7C,6FAA6F;QAC7F,6DAA6D;QAC7D,sDAAsD;KACvD;IACD,SAAS,EAAE;QACT,qDAAqD;QACrD,iGAAiG;QACjG,wHAAwH;QACxH,4GAA4G;KAC7G;CACF,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;KACd,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,4EAA4E;QACvF,SAAS,EAAE,2EAA2E;QACtF,QAAQ,EAAE,+DAA+D;KAC1E,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,y9BAAy9B;QAC39B,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8QtB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;oFAuB0D;KACjF,CAAA;AACH,CAAC;AAED,eAAe,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"creative-director.d.ts","sourceRoot":"","sources":["../../src/agents/creative-director.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,0BAA0B,EAAE,mBAuBxC,CAAA;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAmQtE;yBAnQe,2BAA2B"}
1
+ {"version":3,"file":"creative-director.d.ts","sourceRoot":"","sources":["../../src/agents/creative-director.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,0BAA0B,EAAE,mBAuBxC,CAAA;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAoQtE;yBApQe,2BAA2B"}
@@ -1,5 +1,5 @@
1
1
  import { createAgentToolRestrictions } from "./types.js";
2
- import { buildPersistentContextSection } from "./shared-prompt-sections.js";
2
+ import { buildPersistentContextSection, buildSoulMaintenanceSection } from "./shared-prompt-sections.js";
3
3
  const MODE = "all";
4
4
  export const CREATIVE_DIRECTOR_METADATA = {
5
5
  category: "specialist",
@@ -36,6 +36,7 @@ export function createCreativeDirectorAgent(model) {
36
36
  decisions: "brand direction choices, token naming conventions, accessibility trade-offs",
37
37
  blockers: "missing brand assets, unresolved accessibility failures, design reviews pending",
38
38
  });
39
+ const soulMaintenanceSection = buildSoulMaintenanceSection();
39
40
  return {
40
41
  description: "USE FOR: brand identity, visual identity, creative direction, design system, design language, typography, colour palette, colour theory, logo design, icon design, illustration style, photography art direction, motion design, animation, video creative, advertising creative, campaign creative, creative brief, creative strategy, UI design, UX design, user experience, information architecture, wireframes, prototypes, design critique, design review, design audit, accessibility, WCAG, contrast ratios, design tokens, CSS custom properties, Tailwind theme, W3C design tokens, Figma, component design, design system documentation, brand guidelines, style guide, visual storytelling, art direction, mood boards, creative concepts, copywriting, headline writing, taglines, microcopy, UX writing, print design, digital design, social media graphics, email templates, web design, landing page design, responsive design, dark mode, light mode, theming, design consistency, pixel perfect, spacing system, grid system, layout design.",
41
42
  mode: MODE,
@@ -46,7 +47,7 @@ export function createCreativeDirectorAgent(model) {
46
47
 
47
48
  You are the **Creative Director**. Before acting, read the resolved runtime context for \`creativePersonality\`, \`teamCulture\`, \`orgStructure\`, \`region\`, \`industry\`, and applicable regulations.
48
49
 
49
- If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
50
+ ${soulMaintenanceSection}
50
51
 
51
52
  ---
52
53
 
@@ -1 +1 @@
1
- {"version":3,"file":"creative-director.js","sourceRoot":"","sources":["../../src/agents/creative-director.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAE3E,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,0BAA0B,GAAwB;IAC7D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,yBAAyB;YACjC,OAAO,EACL,oHAAoH;SACvH;KACF;IACD,OAAO,EAAE;QACP,2DAA2D;QAC3D,6DAA6D;QAC7D,uCAAuC;QACvC,2DAA2D;QAC3D,mDAAmD;KACpD;IACD,SAAS,EAAE;QACT,gEAAgE;QAChE,8DAA8D;QAC9D,wDAAwD;KACzD;CACF,CAAA;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;QACb,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,qEAAqE;QAChF,SAAS,EAAE,6EAA6E;QACxF,QAAQ,EAAE,iFAAiF;KAC5F,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EACT,igCAAigC;QACngC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4OV,wBAAwB,EAAE;KACzB,CAAA;AACH,CAAC;AAED,2BAA2B,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"creative-director.js","sourceRoot":"","sources":["../../src/agents/creative-director.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAExG,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,0BAA0B,GAAwB;IAC7D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,yBAAyB;YACjC,OAAO,EACL,oHAAoH;SACvH;KACF;IACD,OAAO,EAAE;QACP,2DAA2D;QAC3D,6DAA6D;QAC7D,uCAAuC;QACvC,2DAA2D;QAC3D,mDAAmD;KACpD;IACD,SAAS,EAAE;QACT,gEAAgE;QAChE,8DAA8D;QAC9D,wDAAwD;KACzD;CACF,CAAA;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;QACb,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,qEAAqE;QAChF,SAAS,EAAE,6EAA6E;QACxF,QAAQ,EAAE,iFAAiF;KAC5F,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,igCAAigC;QACngC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwOtB,wBAAwB,EAAE;KACzB,CAAA;AACH,CAAC;AAED,2BAA2B,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fullstack-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/fullstack-wunderkind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKhE,eAAO,MAAM,6BAA6B,EAAE,mBA2B3C,CAAA;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAiazE;yBAjae,8BAA8B"}
1
+ {"version":3,"file":"fullstack-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/fullstack-wunderkind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKhE,eAAO,MAAM,6BAA6B,EAAE,mBA2B3C,CAAA;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAkazE;yBAlae,8BAA8B"}
@@ -1,4 +1,4 @@
1
- import { buildPersistentContextSection } from "./shared-prompt-sections.js";
1
+ import { buildPersistentContextSection, buildSoulMaintenanceSection } from "./shared-prompt-sections.js";
2
2
  const MODE = "all";
3
3
  export const FULLSTACK_WUNDERKIND_METADATA = {
4
4
  category: "specialist",
@@ -33,6 +33,7 @@ export function createFullstackWunderkindAgent(model) {
33
33
  decisions: "architectural choices, library selections, schema decisions",
34
34
  blockers: "build failures, type errors not yet resolved, external blockers",
35
35
  });
36
+ const soulMaintenanceSection = buildSoulMaintenanceSection();
36
37
  return {
37
38
  description: "USE FOR: full-stack development, frontend, backend, infrastructure, database, Astro, React, Next.js, TypeScript, JavaScript, Tailwind CSS, CSS, HTML, Node.js, Vercel deployment, Vercel, serverless, edge functions, API design, REST API, GraphQL, tRPC, authentication, authorisation, JWT, OAuth, session management, PostgreSQL, Neon DB, Drizzle ORM, schema design, migrations, query optimisation, EXPLAIN ANALYZE, index audit, ERD, database architecture, performance optimisation, Core Web Vitals, Lighthouse, bundle analysis, code splitting, lazy loading, ISR, SSR, SSG, App Router, Edge Runtime, Neon DB branching, preview URLs, CI/CD, GitHub Actions, automated testing, unit tests, integration tests, end-to-end tests, Playwright, security, OWASP, data privacy, architecture decisions, system design, microservices, monorepo, refactoring, code review, technical debt, dependency management, bun, npm, package management, environment variables, secrets management, logging, monitoring, error tracking, SRE, reliability engineering, SLO, SLI, SLA, error budget, incident response, postmortem, runbook, supportability review, observability, tracing, on-call, admin panel, admin tooling, internal tooling, web accessibility, WCAG, responsive design, mobile-first, dark mode, design system implementation, component library, Storybook, testing, debugging, technical triage, defect diagnosis, TDD execution, regression coverage, coverage analysis, DevOps, infrastructure as code, cloud, AI integration, LLM, embeddings, vector search, streaming.",
38
39
  mode: MODE,
@@ -42,7 +43,7 @@ export function createFullstackWunderkindAgent(model) {
42
43
 
43
44
  You are the **Fullstack Wunderkind**. Before acting, read the resolved runtime context for \`ctoPersonality\`, \`teamCulture\`, \`orgStructure\`, \`region\`, \`industry\`, and applicable regulations.
44
45
 
45
- If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
46
+ ${soulMaintenanceSection}
46
47
 
47
48
  ---
48
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"fullstack-wunderkind.js","sourceRoot":"","sources":["../../src/agents/fullstack-wunderkind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAE3E,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EACL,8NAA8N;SACjO;KACF;IACD,OAAO,EAAE;QACP,0DAA0D;QAC1D,gDAAgD;QAChD,uEAAuE;QACvE,6DAA6D;QAC7D,sEAAsE;QACtE,oGAAoG;QACpG,gGAAgG;QAChG,kDAAkD;KACnD;IACD,SAAS,EAAE;QACT,8EAA8E;QAC9E,+CAA+C;QAC/C,oFAAoF;QACpF,mGAAmG;KACpG;CACF,CAAA;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,gEAAgE;QAC3E,SAAS,EAAE,6DAA6D;QACxE,QAAQ,EAAE,iEAAiE;KAC5E,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EACT,sgDAAsgD;QACxgD,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwXV,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;qGA0B2E;KAClG,CAAA;AACH,CAAC;AAED,8BAA8B,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"fullstack-wunderkind.js","sourceRoot":"","sources":["../../src/agents/fullstack-wunderkind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAExG,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EACL,8NAA8N;SACjO;KACF;IACD,OAAO,EAAE;QACP,0DAA0D;QAC1D,gDAAgD;QAChD,uEAAuE;QACvE,6DAA6D;QAC7D,sEAAsE;QACtE,oGAAoG;QACpG,gGAAgG;QAChG,kDAAkD;KACnD;IACD,SAAS,EAAE;QACT,8EAA8E;QAC9E,+CAA+C;QAC/C,oFAAoF;QACpF,mGAAmG;KACpG;CACF,CAAA;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,gEAAgE;QAC3E,SAAS,EAAE,6DAA6D;QACxE,QAAQ,EAAE,iEAAiE;KAC5E,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,sgDAAsgD;QACxgD,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoXtB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;qGA0B2E;KAClG,CAAA;AACH,CAAC;AAED,8BAA8B,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"legal-counsel.d.ts","sourceRoot":"","sources":["../../src/agents/legal-counsel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,sBAAsB,EAAE,mBAwBpC,CAAA;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA0NlE;yBA1Ne,uBAAuB"}
1
+ {"version":3,"file":"legal-counsel.d.ts","sourceRoot":"","sources":["../../src/agents/legal-counsel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,sBAAsB,EAAE,mBAwBpC,CAAA;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA2NlE;yBA3Ne,uBAAuB"}
@@ -1,5 +1,5 @@
1
1
  import { createAgentToolRestrictions } from "./types.js";
2
- import { buildPersistentContextSection } from "./shared-prompt-sections.js";
2
+ import { buildPersistentContextSection, buildSoulMaintenanceSection } from "./shared-prompt-sections.js";
3
3
  const MODE = "all";
4
4
  export const LEGAL_COUNSEL_METADATA = {
5
5
  category: "specialist",
@@ -37,6 +37,7 @@ export function createLegalCounselAgent(model) {
37
37
  decisions: "license compatibility conclusions, risk acceptance decisions, contract clause recommendations",
38
38
  blockers: "ambiguous license terms requiring external counsel, missing regulatory clarity, unresolved IP questions",
39
39
  });
40
+ const soulMaintenanceSection = buildSoulMaintenanceSection();
40
41
  return {
41
42
  description: "USE FOR: legal counsel, general counsel, legal advice, OSS license, open source license, MIT license, Apache 2.0, GPL, LGPL, AGPL, copyleft, SPDX, license compatibility, license compliance, license audit, third-party license, dependency license, terms of service, TOS, terms and conditions, privacy policy, privacy notice, GDPR privacy, CCPA privacy, data processing agreement, DPA, data protection agreement, controller processor agreement, contributor license agreement, CLA, individual CLA, corporate CLA, developer certificate of origin, DCO, SaaS agreement, MSA, master service agreement, enterprise agreement, subscription agreement, BAA, business associate agreement, HIPAA BAA, vendor agreement, procurement, contract review, contract negotiation, IP risk, intellectual property, copyright, trademark, patent risk, FOSS compliance, OpenChain, REUSE, regulatory obligation, legal obligation, compliance obligation, data subject rights, right to erasure, right to access, data breach notification obligation, incident response legal, regulatory notification, GDPR article 33, POPIA notification, legal risk, liability, indemnification, limitation of liability, force majeure, governing law, jurisdiction, dispute resolution.",
42
43
  mode: MODE,
@@ -47,7 +48,7 @@ export function createLegalCounselAgent(model) {
47
48
 
48
49
  You are the **Legal Counsel**. Before acting, read the resolved runtime context for \`legalPersonality\`, \`teamCulture\`, \`orgStructure\`, \`region\`, \`industry\`, and applicable regulations.
49
50
 
50
- If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
51
+ ${soulMaintenanceSection}
51
52
 
52
53
  Always include a disclaimer: "This is AI-generated legal analysis for informational purposes. Review with qualified legal counsel before relying on it."
53
54
 
@@ -1 +1 @@
1
- {"version":3,"file":"legal-counsel.js","sourceRoot":"","sources":["../../src/agents/legal-counsel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAE3E,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,eAAe;IAC5B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EACL,wJAAwJ;SAC3J;KACF;IACD,OAAO,EAAE;QACP,sEAAsE;QACtE,sFAAsF;QACtF,4CAA4C;QAC5C,6EAA6E;QAC7E,+DAA+D;QAC/D,qEAAqE;KACtE;IACD,SAAS,EAAE;QACT,sFAAsF;QACtF,oGAAoG;QACpG,iEAAiE;KAClE;CACF,CAAA;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;QACb,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,4FAA4F;QACvG,SAAS,EAAE,+FAA+F;QAC1G,QAAQ,EAAE,yGAAyG;KACpH,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EACT,gtCAAgtC;QACltC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2LV,wBAAwB;;;;;;;;2GAQiF;KACxG,CAAA;AACH,CAAC;AAED,uBAAuB,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"legal-counsel.js","sourceRoot":"","sources":["../../src/agents/legal-counsel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAExG,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,eAAe;IAC5B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EACL,wJAAwJ;SAC3J;KACF;IACD,OAAO,EAAE;QACP,sEAAsE;QACtE,sFAAsF;QACtF,4CAA4C;QAC5C,6EAA6E;QAC7E,+DAA+D;QAC/D,qEAAqE;KACtE;IACD,SAAS,EAAE;QACT,sFAAsF;QACtF,oGAAoG;QACpG,iEAAiE;KAClE;CACF,CAAA;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;QACb,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,4FAA4F;QACvG,SAAS,EAAE,+FAA+F;QAC1G,QAAQ,EAAE,yGAAyG;KACpH,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,gtCAAgtC;QACltC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuLtB,wBAAwB;;;;;;;;2GAQiF;KACxG,CAAA;AACH,CAAC;AAED,uBAAuB,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"marketing-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/marketing-wunderkind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,6BAA6B,EAAE,mBAyB3C,CAAA;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA+QzE;yBA/Qe,8BAA8B"}
1
+ {"version":3,"file":"marketing-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/marketing-wunderkind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,6BAA6B,EAAE,mBAyB3C,CAAA;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAgRzE;yBAhRe,8BAA8B"}
@@ -1,5 +1,5 @@
1
1
  import { createAgentToolRestrictions } from "./types.js";
2
- import { buildPersistentContextSection } from "./shared-prompt-sections.js";
2
+ import { buildPersistentContextSection, buildSoulMaintenanceSection } from "./shared-prompt-sections.js";
3
3
  const MODE = "all";
4
4
  export const MARKETING_WUNDERKIND_METADATA = {
5
5
  category: "specialist",
@@ -38,6 +38,7 @@ export function createMarketingWunderkindAgent(model) {
38
38
  decisions: "positioning choices, channel mix, narrative priorities, developer-audience tradeoffs",
39
39
  blockers: "approval bottlenecks, missing assets, unclear product details, access gaps for live audits",
40
40
  });
41
+ const soulMaintenanceSection = buildSoulMaintenanceSection();
41
42
  return {
42
43
  description: "USE FOR: brand strategy, go-to-market, positioning, messaging, content strategy, SEO, SEM, paid media, lifecycle marketing, attribution, CRO, PR, press releases, thought leadership, community strategy, forum strategy, ambassador programs, sponsorships, events, creator partnerships, social media strategy, launch planning, product marketing, developer advocacy, developer education strategy, docs-led launches, API docs planning, tutorials, migration guides, onboarding journeys, DX audits, time-to-first-value improvement, open source community programs, newsletter strategy, competitor analysis, audience research, retention strategy, funnel analysis, campaign performance analysis, marketing measurement, channel ROI interpretation, brand-community ROI gating.",
43
44
  mode: MODE,
@@ -48,7 +49,7 @@ export function createMarketingWunderkindAgent(model) {
48
49
 
49
50
  You are the **Marketing Wunderkind**. Before acting, read the resolved runtime context for \`cmoPersonality\`, \`teamCulture\`, \`orgStructure\`, \`region\`, \`industry\`, and applicable regulations.
50
51
 
51
- If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
52
+ ${soulMaintenanceSection}
52
53
 
53
54
  ---
54
55
 
@@ -1 +1 @@
1
- {"version":3,"file":"marketing-wunderkind.js","sourceRoot":"","sources":["../../src/agents/marketing-wunderkind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAE3E,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oCAAoC;YAC5C,OAAO,EACL,+JAA+J;SAClK;KACF;IACD,OAAO,EAAE;QACP,iEAAiE;QACjE,uEAAuE;QACvE,iFAAiF;QACjF,+EAA+E;QAC/E,8GAA8G;KAC/G;IACD,SAAS,EAAE;QACT,uDAAuD;QACvD,mEAAmE;QACnE,0FAA0F;QAC1F,wFAAwF;QACxF,iGAAiG;KAClG;CACF,CAAA;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;QACb,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EACP,uGAAuG;QACzG,SAAS,EACP,sFAAsF;QACxF,QAAQ,EACN,4FAA4F;KAC/F,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EACT,6vBAA6vB;QAC/vB,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmPV,wBAAwB;;IAEtB;KACD,CAAA;AACH,CAAC;AAED,8BAA8B,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"marketing-wunderkind.js","sourceRoot":"","sources":["../../src/agents/marketing-wunderkind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAExG,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oCAAoC;YAC5C,OAAO,EACL,+JAA+J;SAClK;KACF;IACD,OAAO,EAAE;QACP,iEAAiE;QACjE,uEAAuE;QACvE,iFAAiF;QACjF,+EAA+E;QAC/E,8GAA8G;KAC/G;IACD,SAAS,EAAE;QACT,uDAAuD;QACvD,mEAAmE;QACnE,0FAA0F;QAC1F,wFAAwF;QACxF,iGAAiG;KAClG;CACF,CAAA;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;QACb,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EACP,uGAAuG;QACzG,SAAS,EACP,sFAAsF;QACxF,QAAQ,EACN,4FAA4F;KAC/F,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,6vBAA6vB;QAC/vB,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+OtB,wBAAwB;;IAEtB;KACD,CAAA;AACH,CAAC;AAED,8BAA8B,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"product-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/product-wunderkind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,2BAA2B,EAAE,mBA0BzC,CAAA;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA4WvE;yBA5We,4BAA4B"}
1
+ {"version":3,"file":"product-wunderkind.d.ts","sourceRoot":"","sources":["../../src/agents/product-wunderkind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAMhE,eAAO,MAAM,2BAA2B,EAAE,mBA0BzC,CAAA;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA6WvE;yBA7We,4BAA4B"}
@@ -1,5 +1,5 @@
1
1
  import { createAgentToolRestrictions } from "./types.js";
2
- import { buildPersistentContextSection } from "./shared-prompt-sections.js";
2
+ import { buildPersistentContextSection, buildSoulMaintenanceSection } from "./shared-prompt-sections.js";
3
3
  const MODE = "all";
4
4
  export const PRODUCT_WUNDERKIND_METADATA = {
5
5
  category: "specialist",
@@ -38,6 +38,7 @@ export function createProductWunderkindAgent(model) {
38
38
  decisions: "scope decisions, feature cuts, OKR changes",
39
39
  blockers: "dependency blocks, missing research, stakeholder misalignment",
40
40
  });
41
+ const soulMaintenanceSection = buildSoulMaintenanceSection();
41
42
  return {
42
43
  description: "USE FOR: product strategy, product roadmap, OKRs, product vision, product discovery, user research, customer interviews, jobs to be done, personas, user stories, epics, sprint planning, backlog management, backlog prioritisation, story points, agile, scrum, kanban, lean, task decomposition, work breakdown structure, dependency ordering, parallel task safety, file conflict check, concern grouping, feature prioritisation, MoSCoW, RICE scoring, Kano model, go-to-market, product launch, product metrics, AARRR, North Star metric, product analytics, feature adoption analysis, usage interpretation, A/B testing, experiment readout, feature flags, rollout strategy, stakeholder management, product communication, PRD, product requirements document, user journey mapping, service design, product-market fit, pivots, product positioning, competitive analysis, product ops, product tooling, Jira, Linear, Notion, product principles, product culture, team structure, squad model, cross-functional collaboration, technical product management, API product management, platform strategy, data product management, AI product management, bug triage, issue intake, repro shaping, severity assessment, acceptance review, INVEST gating, escalation doctrine.",
43
44
  mode: MODE,
@@ -48,7 +49,7 @@ export function createProductWunderkindAgent(model) {
48
49
 
49
50
  You are the **Product Wunderkind**. Before acting, read the resolved runtime context for \`productPersonality\`, \`teamCulture\`, \`orgStructure\`, \`region\`, \`industry\`, and applicable regulations.
50
51
 
51
- If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
52
+ ${soulMaintenanceSection}
52
53
 
53
54
  ---
54
55
 
@@ -1 +1 @@
1
- {"version":3,"file":"product-wunderkind.js","sourceRoot":"","sources":["../../src/agents/product-wunderkind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAE3E,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,2BAA2B,GAAwB;IAC9D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,oBAAoB;IACjC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EACL,2LAA2L;SAC9L;KACF;IACD,OAAO,EAAE;QACP,+DAA+D;QAC/D,uCAAuC;QACvC,kCAAkC;QAClC,kDAAkD;QAClD,mGAAmG;QACnG,iFAAiF;QACjF,gGAAgG;QAChG,yCAAyC;KAC1C;IACD,SAAS,EAAE;QACT,iEAAiE;QACjE,wDAAwD;QACxD,0GAA0G;KAC3G;CACF,CAAA;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;KACd,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,4EAA4E;QACvF,SAAS,EAAE,4CAA4C;QACvD,QAAQ,EAAE,+DAA+D;KAC1E,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EACT,8tCAA8tC;QAChuC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoVV,wBAAwB;;IAEtB;KACD,CAAA;AACH,CAAC;AAED,4BAA4B,CAAC,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"product-wunderkind.js","sourceRoot":"","sources":["../../src/agents/product-wunderkind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAExG,MAAM,IAAI,GAAc,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,2BAA2B,GAAwB;IAC9D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,oBAAoB;IACjC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EACL,2LAA2L;SAC9L;KACF;IACD,OAAO,EAAE;QACP,+DAA+D;QAC/D,uCAAuC;QACvC,kCAAkC;QAClC,kDAAkD;QAClD,mGAAmG;QACnG,iFAAiF;QACjF,gGAAgG;QAChG,yCAAyC;KAC1C;IACD,SAAS,EAAE;QACT,iEAAiE;QACjE,wDAAwD;QACxD,0GAA0G;KAC3G;CACF,CAAA;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;KACd,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;QAC7D,SAAS,EAAE,4EAA4E;QACvF,SAAS,EAAE,4CAA4C;QACvD,QAAQ,EAAE,+DAA+D;KAC1E,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAA;IAE5D,OAAO;QACL,WAAW,EACT,8tCAA8tC;QAChuC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;EAIV,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgVtB,wBAAwB;;IAEtB;KACD,CAAA;AACH,CAAC;AAED,4BAA4B,CAAC,IAAI,GAAG,IAAI,CAAA"}
@@ -3,4 +3,5 @@ export declare function buildPersistentContextSection(options: {
3
3
  decisions: string;
4
4
  blockers: string;
5
5
  }): string;
6
+ export declare function buildSoulMaintenanceSection(): string;
6
7
  //# sourceMappingURL=shared-prompt-sections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-prompt-sections.d.ts","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAAA,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,MAAM,CAeT"}
1
+ {"version":3,"file":"shared-prompt-sections.d.ts","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAAA,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,MAAM,CAeT;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAYpD"}
@@ -14,4 +14,17 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
14
14
 
15
15
  **APPEND ONLY** — never overwrite notepad files. Use Write with the full appended content or append via shell. Never use the Edit tool on notepad files.`;
16
16
  }
17
+ export function buildSoulMaintenanceSection() {
18
+ return `## SOUL Maintenance (.wunderkind/souls/)
19
+
20
+ If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
21
+
22
+ When the user gives you durable guidance about how to behave on this project, update that agent's SOUL file so the adjustment survives future sessions.
23
+
24
+ - Record lasting personality adjustments, working preferences, recurring constraints, non-negotiables, and project-specific remember-this guidance in \.wunderkind/souls/<agent-key>.md.
25
+ - Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update triggers.
26
+ - Only write durable instructions. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
27
+ - Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
28
+ - If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.`;
29
+ }
17
30
  //# sourceMappingURL=shared-prompt-sections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-prompt-sections.js","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,6BAA6B,CAAC,OAI7C;IACC,OAAO;;;;;;;;;eASM,OAAO,CAAC,SAAS;eACjB,OAAO,CAAC,SAAS;cAClB,OAAO,CAAC,QAAQ;;yJAE2H,CAAA;AACzJ,CAAC"}
1
+ {"version":3,"file":"shared-prompt-sections.js","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,6BAA6B,CAAC,OAI7C;IACC,OAAO;;;;;;;;;eASM,OAAO,CAAC,SAAS;eACjB,OAAO,CAAC,SAAS;cAClB,OAAO,CAAC,QAAQ;;yJAE2H,CAAA;AACzJ,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO;;;;;;;;;;wJAU+I,CAAA;AACxJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function runProjectCleanup(): Promise<number>;
2
+ //# sourceMappingURL=cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/cli/cleanup.ts"],"names":[],"mappings":"AAKA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CA6CzD"}
@@ -0,0 +1,48 @@
1
+ import color from "picocolors";
2
+ import { existsSync, rmSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ import { detectCurrentConfig, removePluginFromOpenCodeConfig } from "./config-manager/index.js";
5
+ export async function runProjectCleanup() {
6
+ try {
7
+ const cwd = process.cwd();
8
+ const detected = detectCurrentConfig();
9
+ let changed = false;
10
+ if (detected.projectInstalled === true || detected.registrationScope === "project" || detected.registrationScope === "both") {
11
+ const result = removePluginFromOpenCodeConfig("project");
12
+ if (!result.success) {
13
+ console.error(`Failed to remove plugin from project OpenCode config: ${result.error}`);
14
+ return 1;
15
+ }
16
+ if (result.changed === true) {
17
+ console.log(`${color.green("✓")} Removed project plugin registration (${color.dim(result.configPath)})`);
18
+ changed = true;
19
+ }
20
+ else {
21
+ console.log(`${color.dim("- ")}Project plugin registration already absent (${color.dim(result.configPath)})`);
22
+ }
23
+ }
24
+ const wunderkindDir = join(cwd, ".wunderkind");
25
+ if (existsSync(wunderkindDir)) {
26
+ rmSync(wunderkindDir, { recursive: true, force: true });
27
+ console.log(`${color.green("✓")} Removed project Wunderkind state (${color.dim(wunderkindDir)})`);
28
+ changed = true;
29
+ }
30
+ else {
31
+ console.log(`${color.dim("- ")}Project Wunderkind state already absent (${color.dim(wunderkindDir)})`);
32
+ }
33
+ const projectConfigCandidates = ["opencode.json", "opencode.jsonc", "config.json", "config.jsonc"];
34
+ if (projectConfigCandidates.some((candidate) => existsSync(join(cwd, candidate))) && !changed) {
35
+ console.log(`${color.dim("- ")}No project-local Wunderkind cleanup was needed in ${color.dim(cwd)}`);
36
+ }
37
+ console.log();
38
+ console.log(color.bold("Safety note"));
39
+ console.log("Cleanup removes project-local Wunderkind registration and .wunderkind/ state only.");
40
+ console.log("It leaves AGENTS.md, .sisyphus/, docs output, and shared global capabilities untouched.");
41
+ return 0;
42
+ }
43
+ catch (error) {
44
+ console.error(`Error: ${String(error)}`);
45
+ return 1;
46
+ }
47
+ }
48
+ //# sourceMappingURL=cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/cli/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAE/F,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACzB,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAA;QACtC,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,IAAI,QAAQ,CAAC,gBAAgB,KAAK,IAAI,IAAI,QAAQ,CAAC,iBAAiB,KAAK,SAAS,IAAI,QAAQ,CAAC,iBAAiB,KAAK,MAAM,EAAE,CAAC;YAC5H,MAAM,MAAM,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAA;YACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,yDAAyD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;gBACtF,OAAO,CAAC,CAAA;YACV,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yCAAyC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;gBACxG,OAAO,GAAG,IAAI,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,+CAA+C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YAC/G,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAC9C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACvD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;YACjG,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACxG,CAAC;QAED,MAAM,uBAAuB,GAAG,CAAC,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,CAAC,CAAA;QAClG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,qDAAqD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACtG,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAA;QACjG,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAA;QAEtG,OAAO,CAAC,CAAA;IACV,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACxC,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC"}
@@ -91,7 +91,7 @@ const DEFAULT_INSTALL_CONFIG = {
91
91
  legalPersonality: "pragmatic-advisor",
92
92
  docsEnabled: false,
93
93
  docsPath: "./docs",
94
- docHistoryMode: "overwrite",
94
+ docHistoryMode: "append-dated",
95
95
  prdPipelineMode: "filesystem",
96
96
  };
97
97
  const DEFAULT_GLOBAL_CONFIG = {