@grant-vine/wunderkind 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +16 -16
- package/agents/brand-builder.md +6 -4
- package/agents/ciso.md +6 -4
- package/agents/creative-director.md +8 -5
- package/agents/data-analyst.md +7 -2
- package/agents/devrel-wunderkind.md +7 -5
- package/agents/fullstack-wunderkind.md +2 -4
- package/agents/legal-counsel.md +7 -2
- package/agents/marketing-wunderkind.md +7 -4
- package/agents/operations-lead.md +6 -4
- package/agents/product-wunderkind.md +6 -4
- package/agents/qa-specialist.md +6 -4
- package/agents/support-engineer.md +6 -2
- package/commands/docs-index.md +1 -1
- package/dist/agents/brand-builder.d.ts.map +1 -1
- package/dist/agents/brand-builder.js +0 -3
- package/dist/agents/brand-builder.js.map +1 -1
- package/dist/agents/ciso.d.ts.map +1 -1
- package/dist/agents/ciso.js +0 -3
- package/dist/agents/ciso.js.map +1 -1
- package/dist/agents/creative-director.d.ts.map +1 -1
- package/dist/agents/creative-director.js +1 -4
- package/dist/agents/creative-director.js.map +1 -1
- package/dist/agents/data-analyst.d.ts.map +1 -1
- package/dist/agents/data-analyst.js +0 -1
- package/dist/agents/data-analyst.js.map +1 -1
- package/dist/agents/devrel-wunderkind.d.ts.map +1 -1
- package/dist/agents/devrel-wunderkind.js +1 -4
- package/dist/agents/devrel-wunderkind.js.map +1 -1
- package/dist/agents/fullstack-wunderkind.d.ts.map +1 -1
- package/dist/agents/fullstack-wunderkind.js +0 -2
- package/dist/agents/fullstack-wunderkind.js.map +1 -1
- package/dist/agents/legal-counsel.d.ts.map +1 -1
- package/dist/agents/legal-counsel.js +0 -1
- package/dist/agents/legal-counsel.js.map +1 -1
- package/dist/agents/manifest.d.ts +8 -0
- package/dist/agents/manifest.d.ts.map +1 -0
- package/dist/agents/manifest.js +28 -0
- package/dist/agents/manifest.js.map +1 -0
- package/dist/agents/marketing-wunderkind.d.ts.map +1 -1
- package/dist/agents/marketing-wunderkind.js +0 -3
- package/dist/agents/marketing-wunderkind.js.map +1 -1
- package/dist/agents/operations-lead.d.ts.map +1 -1
- package/dist/agents/operations-lead.js +0 -3
- package/dist/agents/operations-lead.js.map +1 -1
- package/dist/agents/product-wunderkind.d.ts.map +1 -1
- package/dist/agents/product-wunderkind.js +0 -3
- package/dist/agents/product-wunderkind.js.map +1 -1
- package/dist/agents/qa-specialist.d.ts.map +1 -1
- package/dist/agents/qa-specialist.js +0 -3
- package/dist/agents/qa-specialist.js.map +1 -1
- package/dist/agents/render-markdown.d.ts +3 -0
- package/dist/agents/render-markdown.d.ts.map +1 -0
- package/dist/agents/render-markdown.js +34 -0
- package/dist/agents/render-markdown.js.map +1 -0
- package/dist/agents/support-engineer.d.ts.map +1 -1
- package/dist/agents/support-engineer.js +0 -1
- package/dist/agents/support-engineer.js.map +1 -1
- package/dist/build-agents.js +7 -23
- package/dist/build-agents.js.map +1 -1
- package/dist/cli/cli-installer.d.ts.map +1 -1
- package/dist/cli/cli-installer.js +6 -8
- package/dist/cli/cli-installer.js.map +1 -1
- package/dist/cli/config-manager/index.d.ts +10 -1
- package/dist/cli/config-manager/index.d.ts.map +1 -1
- package/dist/cli/config-manager/index.js +64 -14
- package/dist/cli/config-manager/index.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +26 -8
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.js +4 -4
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/tui-installer.d.ts.map +1 -1
- package/dist/cli/tui-installer.js +7 -9
- package/dist/cli/tui-installer.js.map +1 -1
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +12 -1
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -4
- package/schemas/wunderkind.config.schema.json +4 -0
- package/oh-my-opencode.jsonc +0 -131
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/agents/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAOlE,MAAM,CAAC,MAAM,4BAA4B,GAAyC;IAChF,EAAE,EAAE,EAAE,sBAAsB,EAAE,OAAO,EAAE,8BAA8B,EAAE;IACvE,EAAE,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,2BAA2B,EAAE;IACjE,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE,4BAA4B,EAAE;IACnE,EAAE,EAAE,EAAE,sBAAsB,EAAE,OAAO,EAAE,8BAA8B,EAAE;IACvE,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACzD,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACzD,EAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,EAAE;IAC7D,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE;IACxC,EAAE,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,2BAA2B,EAAE;IACjE,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACzD,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE;IACvD,EAAE,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,0BAA0B,EAAE;CACvD,CAAA;AAEV,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,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;AAKhE,eAAO,MAAM,6BAA6B,EAAE,mBAyB3C,CAAA;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,
|
|
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;AAKhE,eAAO,MAAM,6BAA6B,EAAE,mBAyB3C,CAAA;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAkTzE;yBAlTe,8BAA8B"}
|
|
@@ -31,7 +31,6 @@ export function createMarketingWunderkindAgent(model) {
|
|
|
31
31
|
"edit",
|
|
32
32
|
"apply_patch",
|
|
33
33
|
"task",
|
|
34
|
-
"call_omo_agent",
|
|
35
34
|
]);
|
|
36
35
|
return {
|
|
37
36
|
description: "USE FOR: brand strategy, go-to-market, positioning, messaging, content marketing, content calendar, content strategy, SEO, SEM, paid search, paid social, Google Ads, Meta Ads, email marketing, CRM, marketing automation, analytics, attribution, CRO, conversion rate optimisation, landing pages, A/B testing, PR, press releases, influencer marketing, partnerships, growth hacking, product marketing, demand generation, social media strategy, community management, copywriting, campaign planning, hashtag research, TikTok, Instagram, LinkedIn, X/Twitter, Facebook, audience research, competitor analysis, market research, brand guidelines, tone of voice, value proposition, customer journey mapping, funnel analysis, lead generation, customer acquisition, retention, churn, LTV, CAC, ROAS, marketing budget, media planning, sponsorships, events, thought leadership, personal branding, viral marketing, referral programs, affiliate marketing, podcast marketing, video marketing, YouTube, newsletter strategy.",
|
|
@@ -328,8 +327,6 @@ Read \`.wunderkind/wunderkind.config.jsonc\` at runtime for \`docsPath\` (defaul
|
|
|
328
327
|
- \`new-dated-file\` — Create a new file with a date suffix.
|
|
329
328
|
- \`overwrite-archive\` — Overwrite the current file and archive the old one.
|
|
330
329
|
|
|
331
|
-
After writing, run \`/docs-index\` to update the project documentation index.
|
|
332
|
-
|
|
333
330
|
---`,
|
|
334
331
|
};
|
|
335
332
|
}
|
|
@@ -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;AAExD,MAAM,IAAI,GAAc,SAAS,CAAA;AAEjC,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EACL,2GAA2G;SAC9G;KACF;IACD,OAAO,EAAE;QACP,4CAA4C;QAC5C,2CAA2C;QAC3C,sDAAsD;QACtD,sDAAsD;QACtD,2CAA2C;KAC5C;IACD,SAAS,EAAE;QACT,uCAAuC;QACvC,yDAAyD;QACzD,wDAAwD;QACxD,oFAAoF;QACpF,wEAAwE;KACzE;CACF,CAAA;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;QACb,MAAM;
|
|
1
|
+
{"version":3,"file":"marketing-wunderkind.js","sourceRoot":"","sources":["../../src/agents/marketing-wunderkind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,IAAI,GAAc,SAAS,CAAA;AAEjC,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EACL,2GAA2G;SAC9G;KACF;IACD,OAAO,EAAE;QACP,4CAA4C;QAC5C,2CAA2C;QAC3C,sDAAsD;QACtD,sDAAsD;QACtD,2CAA2C;KAC5C;IACD,SAAS,EAAE;QACT,uCAAuC;QACvC,yDAAyD;QACzD,wDAAwD;QACxD,oFAAoF;QACpF,wEAAwE;KACzE;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,OAAO;QACL,WAAW,EACT,8+BAA8+B;QACh/B,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiSR;KACD,CAAA;AACH,CAAC;AAED,8BAA8B,CAAC,IAAI,GAAG,IAAI,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations-lead.d.ts","sourceRoot":"","sources":["../../src/agents/operations-lead.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKhE,eAAO,MAAM,wBAAwB,EAAE,mBAyBtC,CAAA;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"operations-lead.d.ts","sourceRoot":"","sources":["../../src/agents/operations-lead.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKhE,eAAO,MAAM,wBAAwB,EAAE,mBAyBtC,CAAA;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAmUpE;yBAnUe,yBAAyB"}
|
|
@@ -30,7 +30,6 @@ export function createOperationsLeadAgent(model) {
|
|
|
30
30
|
"write",
|
|
31
31
|
"edit",
|
|
32
32
|
"apply_patch",
|
|
33
|
-
"call_omo_agent",
|
|
34
33
|
]);
|
|
35
34
|
return {
|
|
36
35
|
description: "USE FOR: site reliability, SRE, SLO, SLI, SLA, error budget, toil elimination, on-call, incident response, postmortem, runbook, runbook writing, observability, monitoring, alerting, logging, metrics, tracing, distributed tracing, OpenTelemetry, admin panel, admin tooling, internal tooling, OODA loop, supportability assessment, operational readiness review, capacity planning, reliability engineering, uptime, availability, latency, throughput, error rate, golden signals, on-call rotation, pager duty, escalation policy, incident commander, war room, blameless culture, mean time to recovery, MTTR, mean time to detect, MTTD, change management, deployment risk, feature flags, canary releases, rollback procedures, build vs buy, admin dashboards, internal tools, service catalogue, dependency mapping.",
|
|
@@ -324,8 +323,6 @@ Read \`.wunderkind/wunderkind.config.jsonc\` at runtime for \`docsPath\` (defaul
|
|
|
324
323
|
- \`new-dated-file\` — Create a new file with a date suffix.
|
|
325
324
|
- \`overwrite-archive\` — Overwrite the current file and archive the old one.
|
|
326
325
|
|
|
327
|
-
After writing, run \`/docs-index\` to update the project documentation index.
|
|
328
|
-
|
|
329
326
|
## Delegation Patterns
|
|
330
327
|
|
|
331
328
|
When user-reported bugs arrive that are not yet confirmed production incidents:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations-lead.js","sourceRoot":"","sources":["../../src/agents/operations-lead.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,IAAI,GAAc,SAAS,CAAA;AAEjC,MAAM,CAAC,MAAM,wBAAwB,GAAwB;IAC3D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,0BAA0B;YAClC,OAAO,EACL,6GAA6G;SAChH;KACF;IACD,OAAO,EAAE;QACP,8DAA8D;QAC9D,qDAAqD;QACrD,kDAAkD;QAClD,yDAAyD;QACzD,qEAAqE;QACrE,4CAA4C;KAC7C;IACD,SAAS,EAAE;QACT,4CAA4C;QAC5C,sDAAsD;QACtD,yEAAyE;QACzE,sHAAsH;KACvH;CACF,CAAA;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;
|
|
1
|
+
{"version":3,"file":"operations-lead.js","sourceRoot":"","sources":["../../src/agents/operations-lead.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,IAAI,GAAc,SAAS,CAAA;AAEjC,MAAM,CAAC,MAAM,wBAAwB,GAAwB;IAC3D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,0BAA0B;YAClC,OAAO,EACL,6GAA6G;SAChH;KACF;IACD,OAAO,EAAE;QACP,8DAA8D;QAC9D,qDAAqD;QACrD,kDAAkD;QAClD,yDAAyD;QACzD,qEAAqE;QACrE,4CAA4C;KAC7C;IACD,SAAS,EAAE;QACT,4CAA4C;QAC5C,sDAAsD;QACtD,yEAAyE;QACzE,sHAAsH;KACvH;CACF,CAAA;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;KACd,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EACT,qyBAAqyB;QACvyB,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0HAmT8G;KACvH,CAAA;AACH,CAAC;AAED,yBAAyB,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;AAKhE,eAAO,MAAM,2BAA2B,EAAE,mBAuBzC,CAAA;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,
|
|
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;AAKhE,eAAO,MAAM,2BAA2B,EAAE,mBAuBzC,CAAA;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAyUvE;yBAzUe,4BAA4B"}
|
|
@@ -28,7 +28,6 @@ export function createProductWunderkindAgent(model) {
|
|
|
28
28
|
"write",
|
|
29
29
|
"edit",
|
|
30
30
|
"apply_patch",
|
|
31
|
-
"call_omo_agent",
|
|
32
31
|
]);
|
|
33
32
|
return {
|
|
34
33
|
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, A/B testing, 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.",
|
|
@@ -349,8 +348,6 @@ Read \`.wunderkind/wunderkind.config.jsonc\` at runtime for \`docsPath\` (defaul
|
|
|
349
348
|
- \`new-dated-file\` — Create a new file with a date suffix.
|
|
350
349
|
- \`overwrite-archive\` — Overwrite the current file and archive the old one.
|
|
351
350
|
|
|
352
|
-
After writing, run \`/docs-index\` to update the project documentation index.
|
|
353
|
-
|
|
354
351
|
---`,
|
|
355
352
|
};
|
|
356
353
|
}
|
|
@@ -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;AAExD,MAAM,IAAI,GAAc,SAAS,CAAA;AAEjC,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,0HAA0H;SAC7H;KACF;IACD,OAAO,EAAE;QACP,+DAA+D;QAC/D,uCAAuC;QACvC,kCAAkC;QAClC,kDAAkD;QAClD,yCAAyC;KAC1C;IACD,SAAS,EAAE;QACT,iEAAiE;QACjE,wDAAwD;QACxD,+DAA+D;KAChE;CACF,CAAA;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;
|
|
1
|
+
{"version":3,"file":"product-wunderkind.js","sourceRoot":"","sources":["../../src/agents/product-wunderkind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,IAAI,GAAc,SAAS,CAAA;AAEjC,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,0HAA0H;SAC7H;KACF;IACD,OAAO,EAAE;QACP,+DAA+D;QAC/D,uCAAuC;QACvC,kCAAkC;QAClC,kDAAkD;QAClD,yCAAyC;KAC1C;IACD,SAAS,EAAE;QACT,iEAAiE;QACjE,wDAAwD;QACxD,+DAA+D;KAChE;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,OAAO;QACL,WAAW,EACT,oiCAAoiC;QACtiC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyTR;KACD,CAAA;AACH,CAAC;AAED,4BAA4B,CAAC,IAAI,GAAG,IAAI,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qa-specialist.d.ts","sourceRoot":"","sources":["../../src/agents/qa-specialist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKhE,eAAO,MAAM,sBAAsB,EAAE,mBAyBpC,CAAA;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"qa-specialist.d.ts","sourceRoot":"","sources":["../../src/agents/qa-specialist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKhE,eAAO,MAAM,sBAAsB,EAAE,mBAyBpC,CAAA;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA+SlE;yBA/Se,uBAAuB"}
|
|
@@ -30,7 +30,6 @@ export function createQaSpecialistAgent(model) {
|
|
|
30
30
|
"write",
|
|
31
31
|
"edit",
|
|
32
32
|
"apply_patch",
|
|
33
|
-
"call_omo_agent",
|
|
34
33
|
]);
|
|
35
34
|
return {
|
|
36
35
|
description: "USE FOR: TDD, test-driven development, red-green-refactor, testing pyramid, unit tests, integration tests, end-to-end tests, E2E, Playwright, Vitest, Jest, test writing, test review, test optimisation, flaky tests, test coverage, coverage analysis, coverage by module, test naming conventions, user story review, acceptance criteria, definition of done, test strategy, testing plan, test architecture, page object model, POM, per-test browser context, BrowserContext isolation, targeted test runs, test debugging, test runner configuration, CI test setup, test parallelisation, test reporting, snapshot testing, visual regression, component testing, API testing, contract testing, security boundary testing, happy path, rejection path, mutation testing.",
|
|
@@ -304,8 +303,6 @@ Read \`.wunderkind/wunderkind.config.jsonc\` at runtime for \`docsPath\` (defaul
|
|
|
304
303
|
- \`new-dated-file\` — Create a new file with a date suffix.
|
|
305
304
|
- \`overwrite-archive\` — Overwrite the current file and archive the old one.
|
|
306
305
|
|
|
307
|
-
After writing, run \`/docs-index\` to update the project documentation index.
|
|
308
|
-
|
|
309
306
|
## Delegation Patterns
|
|
310
307
|
|
|
311
308
|
When post-release bug reports or user issues need triage:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qa-specialist.js","sourceRoot":"","sources":["../../src/agents/qa-specialist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,IAAI,GAAc,SAAS,CAAA;AAEjC,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,eAAe;IAC5B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,6BAA6B;YACrC,OAAO,EACL,4HAA4H;SAC/H;KACF;IACD,OAAO,EAAE;QACP,sDAAsD;QACtD,qDAAqD;QACrD,8CAA8C;QAC9C,yDAAyD;QACzD,mDAAmD;QACnD,yDAAyD;KAC1D;IACD,SAAS,EAAE;QACT,0DAA0D;QAC1D,4CAA4C;QAC5C,kDAAkD;QAClD,kGAAkG;KACnG;CACF,CAAA;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;
|
|
1
|
+
{"version":3,"file":"qa-specialist.js","sourceRoot":"","sources":["../../src/agents/qa-specialist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,IAAI,GAAc,SAAS,CAAA;AAEjC,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,eAAe;IAC5B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,6BAA6B;YACrC,OAAO,EACL,4HAA4H;SAC/H;KACF;IACD,OAAO,EAAE;QACP,sDAAsD;QACtD,qDAAqD;QACrD,8CAA8C;QAC9C,yDAAyD;QACzD,mDAAmD;QACnD,yDAAyD;KAC1D;IACD,SAAS,EAAE;QACT,0DAA0D;QAC1D,4CAA4C;QAC5C,kDAAkD;QAClD,kGAAkG;KACnG;CACF,CAAA;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;KACd,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EACT,mvBAAmvB;QACrvB,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+FA+RmF;KAC5F,CAAA;AACH,CAAC;AAED,uBAAuB,CAAC,IAAI,GAAG,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-markdown.d.ts","sourceRoot":"","sources":["../../src/agents/render-markdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAwB9D,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,yBAAyB,GAAG,MAAM,CAcvF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
function renderMultilineScalar(value) {
|
|
2
|
+
const normalized = value.replace(/\r\n/g, "\n").trim();
|
|
3
|
+
return normalized
|
|
4
|
+
.split("\n")
|
|
5
|
+
.map((line) => ` ${line}`)
|
|
6
|
+
.join("\n");
|
|
7
|
+
}
|
|
8
|
+
function renderPermissionBlock(permission) {
|
|
9
|
+
if (!permission || typeof permission !== "object" || Array.isArray(permission)) {
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
const entries = Object.entries(permission);
|
|
13
|
+
if (entries.length === 0)
|
|
14
|
+
return [];
|
|
15
|
+
return [
|
|
16
|
+
"permission:",
|
|
17
|
+
...entries.map(([key, value]) => ` ${key}: ${String(value)}`),
|
|
18
|
+
];
|
|
19
|
+
}
|
|
20
|
+
export function renderNativeAgentMarkdown(definition) {
|
|
21
|
+
const config = definition.factory("");
|
|
22
|
+
const frontmatter = [
|
|
23
|
+
"---",
|
|
24
|
+
"description: >",
|
|
25
|
+
renderMultilineScalar(config.description ?? definition.id),
|
|
26
|
+
`mode: ${definition.factory.mode}`,
|
|
27
|
+
...(typeof config.temperature === "number" ? [`temperature: ${config.temperature}`] : []),
|
|
28
|
+
...renderPermissionBlock(config.permission),
|
|
29
|
+
"---",
|
|
30
|
+
"",
|
|
31
|
+
].join("\n");
|
|
32
|
+
return `${frontmatter}${config.prompt ?? ""}`;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=render-markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-markdown.js","sourceRoot":"","sources":["../../src/agents/render-markdown.ts"],"names":[],"mappings":"AAGA,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IACtD,OAAO,UAAU;SACd,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;SAC1B,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAqC;IAClE,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/E,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEnC,OAAO;QACL,aAAa;QACb,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;KAC/D,CAAA;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAqC;IAC7E,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACrC,MAAM,WAAW,GAAG;QAClB,KAAK;QACL,gBAAgB;QAChB,qBAAqB,CAAC,MAAM,CAAC,WAAW,IAAI,UAAU,CAAC,EAAE,CAAC;QAC1D,SAAS,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE;QAClC,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,GAAG,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC;QAC3C,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAA;AAC/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support-engineer.d.ts","sourceRoot":"","sources":["../../src/agents/support-engineer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKhE,eAAO,MAAM,yBAAyB,EAAE,mBAyBvC,CAAA;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"support-engineer.d.ts","sourceRoot":"","sources":["../../src/agents/support-engineer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKhE,eAAO,MAAM,yBAAyB,EAAE,mBAyBvC,CAAA;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAiNrE;yBAjNe,0BAA0B"}
|
|
@@ -30,7 +30,6 @@ export function createSupportEngineerAgent(model) {
|
|
|
30
30
|
"write",
|
|
31
31
|
"edit",
|
|
32
32
|
"apply_patch",
|
|
33
|
-
"call_omo_agent",
|
|
34
33
|
]);
|
|
35
34
|
return {
|
|
36
35
|
description: "USE FOR: support engineering, bug triage, issue triage, bug report, GitHub issue, user complaint, error report, crash report, repro steps, reproduction steps, bug reproduction, severity classification, P0, P1, P2, P3, critical bug, severity rating, issue ownership, likely owner, escalation path, engineering handoff, support ticket, user feedback synthesis, known issues, known issue documentation, FAQ, troubleshooting guide, regression isolation, regression analysis, workaround, user-reported bug, production bug, customer complaint, error message analysis, stack trace analysis, log analysis, issue template, GitHub issue template, bug report template, feature request triage, support queue, first response, initial response, issue routing, component ownership, team routing, duplicate detection, issue deduplication, user pain synthesis, feedback aggregation, issue backlog, triage session.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support-engineer.js","sourceRoot":"","sources":["../../src/agents/support-engineer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,IAAI,GAAc,SAAS,CAAA;AAEjC,MAAM,CAAC,MAAM,yBAAyB,GAAwB;IAC5D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,kBAAkB;IAC/B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,kBAAkB;YAC1B,OAAO,EACL,oMAAoM;SACvM;KACF;IACD,OAAO,EAAE;QACP,+EAA+E;QAC/E,kEAAkE;QAClE,8EAA8E;QAC9E,2EAA2E;QAC3E,wEAAwE;QACxE,uDAAuD;KACxD;IACD,SAAS,EAAE;QACT,yEAAyE;QACzE,sFAAsF;QACtF,6DAA6D;QAC7D,mEAAmE;KACpE;CACF,CAAA;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;
|
|
1
|
+
{"version":3,"file":"support-engineer.js","sourceRoot":"","sources":["../../src/agents/support-engineer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,IAAI,GAAc,SAAS,CAAA;AAEjC,MAAM,CAAC,MAAM,yBAAyB,GAAwB;IAC5D,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,kBAAkB;IAC/B,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,kBAAkB;YAC1B,OAAO,EACL,oMAAoM;SACvM;KACF;IACD,OAAO,EAAE;QACP,+EAA+E;QAC/E,kEAAkE;QAClE,8EAA8E;QAC9E,2EAA2E;QAC3E,wEAAwE;QACxE,uDAAuD;KACxD;IACD,SAAS,EAAE;QACT,yEAAyE;QACzE,sFAAsF;QACtF,6DAA6D;QAC7D,mEAAmE;KACpE;CACF,CAAA;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,MAAM,YAAY,GAAG,2BAA2B,CAAC;QAC/C,OAAO;QACP,MAAM;QACN,aAAa;KACd,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EACT,k4BAAk4B;QACp4B,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,GAAG,YAAY;QACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGAiM0F;KACnG,CAAA;AACH,CAAC;AAED,0BAA0B,CAAC,IAAI,GAAG,IAAI,CAAA"}
|
package/dist/build-agents.js
CHANGED
|
@@ -1,34 +1,18 @@
|
|
|
1
1
|
import { writeFileSync, mkdirSync } from "node:fs";
|
|
2
2
|
import { join, dirname } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
-
import {
|
|
4
|
+
import { WUNDERKIND_AGENT_DEFINITIONS } from "./agents/manifest.js";
|
|
5
|
+
import { renderNativeAgentMarkdown } from "./agents/render-markdown.js";
|
|
5
6
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
7
|
// When compiled: dist/build-agents.js → agents/ is at ../../agents relative to __dirname
|
|
7
8
|
// i.e. project root is one level above dist/
|
|
8
9
|
const projectRoot = join(__dirname, "..");
|
|
9
10
|
const agentsDir = join(projectRoot, "agents");
|
|
10
11
|
mkdirSync(agentsDir, { recursive: true });
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
{
|
|
14
|
-
{
|
|
15
|
-
{ name: "fullstack-wunderkind", factory: createFullstackWunderkindAgent },
|
|
16
|
-
{ name: "brand-builder", factory: createBrandBuilderAgent },
|
|
17
|
-
{ name: "qa-specialist", factory: createQaSpecialistAgent },
|
|
18
|
-
{ name: "operations-lead", factory: createOperationsLeadAgent },
|
|
19
|
-
{ name: "ciso", factory: createCisoAgent },
|
|
20
|
-
{ name: "devrel-wunderkind", factory: createDevrelWunderkindAgent },
|
|
21
|
-
{ name: "legal-counsel", factory: createLegalCounselAgent },
|
|
22
|
-
{ name: "data-analyst", factory: createDataAnalystAgent },
|
|
23
|
-
{ name: "support-engineer", factory: createSupportEngineerAgent },
|
|
24
|
-
];
|
|
25
|
-
for (const { name, factory } of agents) {
|
|
26
|
-
const config = factory("");
|
|
27
|
-
const description = (config.description ?? "").replace(/\n/g, "\n ");
|
|
28
|
-
const frontmatter = `---\nname: ${name}\ndescription: >\n ${description}\n---\n\n`;
|
|
29
|
-
const content = frontmatter + (config.prompt ?? "");
|
|
30
|
-
writeFileSync(join(agentsDir, `${name}.md`), content, "utf-8");
|
|
31
|
-
console.log(`Generated agents/${name}.md`);
|
|
12
|
+
for (const definition of WUNDERKIND_AGENT_DEFINITIONS) {
|
|
13
|
+
const content = renderNativeAgentMarkdown(definition);
|
|
14
|
+
writeFileSync(join(agentsDir, `${definition.id}.md`), content, "utf-8");
|
|
15
|
+
console.log(`Generated agents/${definition.id}.md`);
|
|
32
16
|
}
|
|
33
|
-
console.log(`\nGenerated ${
|
|
17
|
+
console.log(`\nGenerated ${WUNDERKIND_AGENT_DEFINITIONS.length} agent files in ${agentsDir}`);
|
|
34
18
|
//# sourceMappingURL=build-agents.js.map
|
package/dist/build-agents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-agents.js","sourceRoot":"","sources":["../src/build-agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"build-agents.js","sourceRoot":"","sources":["../src/build-agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,yFAAyF;AACzF,6CAA6C;AAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AACzC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE7C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAEzC,KAAK,MAAM,UAAU,IAAI,4BAA4B,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACrD,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACvE,OAAO,CAAC,GAAG,CAAC,oBAAoB,UAAU,CAAC,EAAE,KAAK,CAAC,CAAA;AACrD,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,eAAe,4BAA4B,CAAC,MAAM,mBAAmB,SAAS,EAAE,CAAC,CAAA"}
|
|
@@ -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;AAY1E,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,CAM1F;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAA;IACnB,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,
|
|
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;AAY1E,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,CAM1F;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAA;IACnB,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,CAqGxE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAqEtE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import color from "picocolors";
|
|
2
|
-
import { addPluginToOpenCodeConfig, detectCurrentConfig, detectLegacyConfig, getDefaultGlobalConfig, readGlobalWunderkindConfig,
|
|
2
|
+
import { addPluginToOpenCodeConfig, detectCurrentConfig, detectLegacyConfig, getDefaultGlobalConfig, readGlobalWunderkindConfig, writeNativeAgentFiles, writeWunderkindConfig, } from "./config-manager/index.js";
|
|
3
3
|
import { addAiTracesToGitignore } from "./gitignore-manager.js";
|
|
4
4
|
export const SYMBOLS = {
|
|
5
5
|
check: color.green("[OK]"),
|
|
@@ -123,14 +123,12 @@ export async function runCliInstaller(args) {
|
|
|
123
123
|
return 1;
|
|
124
124
|
}
|
|
125
125
|
printSuccess(`Config written ${SYMBOLS.arrow} ${color.dim(configResult.configPath)}`);
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return 1;
|
|
131
|
-
}
|
|
132
|
-
printSuccess(`OMO agent config written ${SYMBOLS.arrow} ${color.dim(omoResult.configPath)}`);
|
|
126
|
+
const nativeAgentsResult = writeNativeAgentFiles(args.scope);
|
|
127
|
+
if (!nativeAgentsResult.success) {
|
|
128
|
+
printError(`Failed to write native agent files: ${nativeAgentsResult.error}`);
|
|
129
|
+
return 1;
|
|
133
130
|
}
|
|
131
|
+
printSuccess(`Native agents written ${SYMBOLS.arrow} ${color.dim(nativeAgentsResult.configPath)}`);
|
|
134
132
|
printStep(step++, totalSteps, "Updating .gitignore with AI tooling traces...");
|
|
135
133
|
const gitignoreResult = addAiTracesToGitignore();
|
|
136
134
|
if (gitignoreResult.added.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-installer.js","sourceRoot":"","sources":["../../src/cli/cli-installer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,
|
|
1
|
+
{"version":3,"file":"cli-installer.js","sourceRoot":"","sources":["../../src/cli/cli-installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,15 @@ export declare function addPluginToOpenCodeConfig(scope: InstallScope): ConfigMe
|
|
|
18
18
|
export declare function writeWunderkindConfig(installConfig: InstallConfig, scope: InstallScope): ConfigMergeResult;
|
|
19
19
|
export declare function detectLegacyConfig(): boolean;
|
|
20
20
|
export declare function removePluginFromOpenCodeConfig(scope: InstallScope): ConfigMergeResult;
|
|
21
|
-
export declare function
|
|
21
|
+
export declare function getNativeAgentDir(scope: InstallScope): string;
|
|
22
|
+
export declare function getNativeAgentFilePaths(scope: InstallScope): string[];
|
|
23
|
+
export declare function writeNativeAgentFiles(scope: InstallScope): ConfigMergeResult;
|
|
24
|
+
export declare function detectNativeAgentFiles(scope: InstallScope): {
|
|
25
|
+
dir: string;
|
|
26
|
+
presentCount: number;
|
|
27
|
+
totalCount: number;
|
|
28
|
+
allPresent: boolean;
|
|
29
|
+
};
|
|
30
|
+
export declare function removeNativeAgentFiles(scope: InstallScope): ConfigMergeResult;
|
|
22
31
|
export declare function removeGlobalWunderkindConfig(): ConfigMergeResult;
|
|
23
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/config-manager/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/config-manager/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAIV,iBAAiB,EAIjB,cAAc,EAGd,YAAY,EACZ,aAAa,EAEb,YAAY,EAIZ,aAAa,EAKd,MAAM,aAAa,CAAA;AA8FpB,wBAAgB,uBAAuB,IAAI,aAAa,CAEvD;AAED,wBAAgB,sBAAsB,IAAI,YAAY,CAErD;AAED,wBAAgB,uBAAuB,IAAI,aAAa,CAEvD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,YAAY,GAAG;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IACjC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,aAAa,GAAG,cAAc,GAAG,SAAS,CAAA;CACxF,CAmBA;AAkHD,wBAAgB,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAiBpE;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAGzE;AAED,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAG3E;AAuFD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAUnF;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAUrF;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAM/F;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CA8DpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,CAwChF;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,GAAG,iBAAiB,CAM1G;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,CAoCnF;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE7D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAGrE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,CAY5E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAW1I;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,CAqB7E;AAEA,wBAAgB,4BAA4B,IAAI,iBAAiB,CAejE"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
-
import { fileURLToPath } from "node:url";
|
|
5
4
|
import { parse as parseJsonc } from "jsonc-parser";
|
|
5
|
+
import { WUNDERKIND_AGENT_IDS, WUNDERKIND_AGENT_DEFINITIONS } from "../../agents/manifest.js";
|
|
6
|
+
import { renderNativeAgentMarkdown } from "../../agents/render-markdown.js";
|
|
6
7
|
const PACKAGE_NAME = "@grant-vine/wunderkind";
|
|
7
8
|
const WUNDERKIND_SCHEMA_URL = "https://raw.githubusercontent.com/grant-vine/wunderkind/main/schemas/wunderkind.config.schema.json";
|
|
8
9
|
const CONFIG_DIR = join(homedir(), ".config", "opencode");
|
|
@@ -12,6 +13,7 @@ const LEGACY_CONFIG_JSON = join(CONFIG_DIR, "config.json");
|
|
|
12
13
|
const LEGACY_CONFIG_JSONC = join(CONFIG_DIR, "config.jsonc");
|
|
13
14
|
const GLOBAL_WUNDERKIND_DIR = join(homedir(), ".wunderkind");
|
|
14
15
|
const GLOBAL_WUNDERKIND_CONFIG = join(GLOBAL_WUNDERKIND_DIR, "wunderkind.config.jsonc");
|
|
16
|
+
const GLOBAL_OPENCODE_AGENTS_DIR = join(CONFIG_DIR, "agents");
|
|
15
17
|
const WUNDERKIND_DIR = join(process.cwd(), ".wunderkind");
|
|
16
18
|
const WUNDERKIND_CONFIG = join(WUNDERKIND_DIR, "wunderkind.config.jsonc");
|
|
17
19
|
const LEGACY_WUNDERKIND_CONFIG = join(process.cwd(), "wunderkind.config.jsonc");
|
|
@@ -237,9 +239,11 @@ export function readWunderkindConfig() {
|
|
|
237
239
|
return null;
|
|
238
240
|
}
|
|
239
241
|
const globalSafe = coerceGlobalConfig(globalConfig ?? {});
|
|
242
|
+
const projectGlobalSafe = coerceGlobalConfig(projectConfig ?? {});
|
|
240
243
|
const projectLocal = coerceProjectConfig(projectConfig ?? {});
|
|
241
244
|
return {
|
|
242
245
|
...globalSafe,
|
|
246
|
+
...projectGlobalSafe,
|
|
243
247
|
...projectLocal,
|
|
244
248
|
};
|
|
245
249
|
}
|
|
@@ -280,10 +284,17 @@ function renderGlobalWunderkindConfig(config) {
|
|
|
280
284
|
].join("\n");
|
|
281
285
|
}
|
|
282
286
|
function renderProjectWunderkindConfig(config) {
|
|
287
|
+
const installConfig = config;
|
|
283
288
|
return [
|
|
284
289
|
`// Wunderkind project configuration — edit these values to tailor agents to this project`,
|
|
285
290
|
`{`,
|
|
286
291
|
` "$schema": ${JSON.stringify(WUNDERKIND_SCHEMA_URL)},`,
|
|
292
|
+
` // Optional project-local baseline overrides — used for project-scope installs or project-specific market context`,
|
|
293
|
+
` "region": ${JSON.stringify(installConfig.region ?? "Global")},`,
|
|
294
|
+
` "industry": ${JSON.stringify(installConfig.industry ?? "")},`,
|
|
295
|
+
` "primaryRegulation": ${JSON.stringify(installConfig.primaryRegulation ?? "GDPR")},`,
|
|
296
|
+
` "secondaryRegulation": ${JSON.stringify(installConfig.secondaryRegulation ?? "")},`,
|
|
297
|
+
``,
|
|
287
298
|
` // Team culture baseline — affects all agents' communication style and decision rigour`,
|
|
288
299
|
` // "formal-strict" | "pragmatic-balanced" | "experimental-informal"`,
|
|
289
300
|
` "teamCulture": ${JSON.stringify(config.teamCulture)},`,
|
|
@@ -381,6 +392,8 @@ export function detectCurrentConfig() {
|
|
|
381
392
|
const globalConfig = existsSync(GLOBAL_WUNDERKIND_CONFIG) ? parseWunderkindConfig(GLOBAL_WUNDERKIND_CONFIG) : null;
|
|
382
393
|
const legacyGlobalProjectFields = globalConfig ? listLegacyGlobalProjectFields(globalConfig) : [];
|
|
383
394
|
const globalSafe = readGlobalWunderkindConfig();
|
|
395
|
+
const projectConfig = existsSync(WUNDERKIND_CONFIG) ? parseWunderkindConfig(WUNDERKIND_CONFIG) : null;
|
|
396
|
+
const projectGlobalSafe = coerceGlobalConfig(projectConfig ?? {});
|
|
384
397
|
const projectLocal = readProjectWunderkindConfig();
|
|
385
398
|
const legacyGlobalProject = coerceProjectConfig(globalConfig ?? {});
|
|
386
399
|
return {
|
|
@@ -392,10 +405,10 @@ export function detectCurrentConfig() {
|
|
|
392
405
|
projectOpenCodeConfigPath: registration.projectOpenCodeConfigPath,
|
|
393
406
|
globalOpenCodeConfigPath: registration.globalOpenCodeConfigPath,
|
|
394
407
|
legacyGlobalProjectFields,
|
|
395
|
-
region: globalSafe?.region ?? defaults.region,
|
|
396
|
-
industry: globalSafe?.industry ?? defaults.industry,
|
|
397
|
-
primaryRegulation: globalSafe?.primaryRegulation ?? defaults.primaryRegulation,
|
|
398
|
-
secondaryRegulation: globalSafe?.secondaryRegulation ?? defaults.secondaryRegulation,
|
|
408
|
+
region: projectGlobalSafe.region ?? globalSafe?.region ?? defaults.region,
|
|
409
|
+
industry: projectGlobalSafe.industry ?? globalSafe?.industry ?? defaults.industry,
|
|
410
|
+
primaryRegulation: projectGlobalSafe.primaryRegulation ?? globalSafe?.primaryRegulation ?? defaults.primaryRegulation,
|
|
411
|
+
secondaryRegulation: projectGlobalSafe.secondaryRegulation ?? globalSafe?.secondaryRegulation ?? defaults.secondaryRegulation,
|
|
399
412
|
teamCulture: projectLocal?.teamCulture ?? legacyGlobalProject.teamCulture ?? defaults.teamCulture,
|
|
400
413
|
orgStructure: projectLocal?.orgStructure ?? legacyGlobalProject.orgStructure ?? defaults.orgStructure,
|
|
401
414
|
cisoPersonality: projectLocal?.cisoPersonality ?? legacyGlobalProject.cisoPersonality ?? defaults.cisoPersonality,
|
|
@@ -493,18 +506,55 @@ export function removePluginFromOpenCodeConfig(scope) {
|
|
|
493
506
|
return { success: false, configPath: targetPath, error: String(err) };
|
|
494
507
|
}
|
|
495
508
|
}
|
|
496
|
-
export function
|
|
497
|
-
|
|
509
|
+
export function getNativeAgentDir(scope) {
|
|
510
|
+
return scope === "global" ? GLOBAL_OPENCODE_AGENTS_DIR : join(process.cwd(), ".opencode", "agents");
|
|
511
|
+
}
|
|
512
|
+
export function getNativeAgentFilePaths(scope) {
|
|
513
|
+
const dir = getNativeAgentDir(scope);
|
|
514
|
+
return WUNDERKIND_AGENT_IDS.map((id) => join(dir, `${id}.md`));
|
|
515
|
+
}
|
|
516
|
+
export function writeNativeAgentFiles(scope) {
|
|
517
|
+
const targetDir = getNativeAgentDir(scope);
|
|
518
|
+
try {
|
|
519
|
+
mkdirSync(targetDir, { recursive: true });
|
|
520
|
+
for (const definition of WUNDERKIND_AGENT_DEFINITIONS) {
|
|
521
|
+
writeFileSync(join(targetDir, `${definition.id}.md`), renderNativeAgentMarkdown(definition), "utf-8");
|
|
522
|
+
}
|
|
523
|
+
return { success: true, configPath: targetDir };
|
|
524
|
+
}
|
|
525
|
+
catch (err) {
|
|
526
|
+
return { success: false, configPath: targetDir, error: String(err) };
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
export function detectNativeAgentFiles(scope) {
|
|
530
|
+
const dir = getNativeAgentDir(scope);
|
|
531
|
+
const presentCount = getNativeAgentFilePaths(scope).filter((filePath) => existsSync(filePath)).length;
|
|
532
|
+
const totalCount = WUNDERKIND_AGENT_IDS.length;
|
|
533
|
+
return {
|
|
534
|
+
dir,
|
|
535
|
+
presentCount,
|
|
536
|
+
totalCount,
|
|
537
|
+
allPresent: presentCount === totalCount,
|
|
538
|
+
};
|
|
539
|
+
}
|
|
540
|
+
export function removeNativeAgentFiles(scope) {
|
|
541
|
+
const filePaths = getNativeAgentFilePaths(scope);
|
|
542
|
+
const targetDir = getNativeAgentDir(scope);
|
|
498
543
|
try {
|
|
499
|
-
|
|
500
|
-
const
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
544
|
+
let changed = false;
|
|
545
|
+
for (const filePath of filePaths) {
|
|
546
|
+
if (existsSync(filePath)) {
|
|
547
|
+
rmSync(filePath, { force: true });
|
|
548
|
+
changed = true;
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
if (existsSync(targetDir) && readdirSync(targetDir).length === 0) {
|
|
552
|
+
rmSync(targetDir, { recursive: false, force: true });
|
|
553
|
+
}
|
|
554
|
+
return { success: true, configPath: targetDir, changed };
|
|
505
555
|
}
|
|
506
556
|
catch (err) {
|
|
507
|
-
return { success: false, configPath:
|
|
557
|
+
return { success: false, configPath: targetDir, error: String(err) };
|
|
508
558
|
}
|
|
509
559
|
}
|
|
510
560
|
export function removeGlobalWunderkindConfig() {
|