@grant-vine/wunderkind 0.3.1 → 0.5.0
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 +159 -36
- package/agents/brand-builder.md +14 -2
- package/agents/ciso.md +21 -0
- package/agents/creative-director.md +12 -0
- package/agents/fullstack-wunderkind.md +14 -0
- package/agents/marketing-wunderkind.md +12 -0
- package/agents/operations-lead.md +13 -0
- package/agents/product-wunderkind.md +13 -0
- package/agents/qa-specialist.md +12 -0
- package/dist/agents/brand-builder.d.ts.map +1 -1
- package/dist/agents/brand-builder.js +15 -3
- package/dist/agents/brand-builder.js.map +1 -1
- package/dist/agents/ciso.d.ts.map +1 -1
- package/dist/agents/ciso.js +22 -1
- package/dist/agents/ciso.js.map +1 -1
- package/dist/agents/creative-director.d.ts.map +1 -1
- package/dist/agents/creative-director.js +13 -1
- package/dist/agents/creative-director.js.map +1 -1
- package/dist/agents/fullstack-wunderkind.d.ts.map +1 -1
- package/dist/agents/fullstack-wunderkind.js +15 -1
- package/dist/agents/fullstack-wunderkind.js.map +1 -1
- package/dist/agents/marketing-wunderkind.d.ts.map +1 -1
- package/dist/agents/marketing-wunderkind.js +13 -1
- 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 +14 -1
- 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 +14 -1
- 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 +13 -1
- package/dist/agents/qa-specialist.js.map +1 -1
- package/dist/cli/cli-installer.d.ts.map +1 -1
- package/dist/cli/cli-installer.js +30 -6
- package/dist/cli/cli-installer.js.map +1 -1
- package/dist/cli/config-manager/index.d.ts +4 -3
- package/dist/cli/config-manager/index.d.ts.map +1 -1
- package/dist/cli/config-manager/index.js +117 -61
- package/dist/cli/config-manager/index.js.map +1 -1
- package/dist/cli/gitignore-manager.d.ts +8 -0
- package/dist/cli/gitignore-manager.d.ts.map +1 -0
- package/dist/cli/gitignore-manager.js +57 -0
- package/dist/cli/gitignore-manager.js.map +1 -0
- package/dist/cli/index.js +44 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/tui-installer.d.ts +2 -1
- package/dist/cli/tui-installer.d.ts.map +1 -1
- package/dist/cli/tui-installer.js +308 -5
- package/dist/cli/tui-installer.js.map +1 -1
- package/dist/cli/types.d.ts +43 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -6
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
package/dist/cli/types.d.ts
CHANGED
|
@@ -1,16 +1,48 @@
|
|
|
1
1
|
export type BooleanArg = "no" | "yes";
|
|
2
|
+
export type InstallScope = "global" | "project";
|
|
3
|
+
export type TeamCulture = "formal-strict" | "pragmatic-balanced" | "experimental-informal";
|
|
4
|
+
export type OrgStructure = "flat" | "hierarchical";
|
|
5
|
+
export type CisoPersonality = "paranoid-enforcer" | "pragmatic-risk-manager" | "educator-collaborator";
|
|
6
|
+
export type CtoPersonality = "grizzled-sysadmin" | "startup-bro" | "code-archaeologist";
|
|
7
|
+
export type CmoPersonality = "data-driven" | "brand-storyteller" | "growth-hacker";
|
|
8
|
+
export type QaPersonality = "rule-enforcer" | "risk-based-pragmatist" | "rubber-duck";
|
|
9
|
+
export type ProductPersonality = "user-advocate" | "velocity-optimizer" | "outcome-obsessed";
|
|
10
|
+
export type OpsPersonality = "on-call-veteran" | "efficiency-maximiser" | "process-purist";
|
|
11
|
+
export type CreativePersonality = "perfectionist-craftsperson" | "bold-provocateur" | "pragmatic-problem-solver";
|
|
12
|
+
export type BrandPersonality = "community-evangelist" | "pr-spinner" | "authentic-builder";
|
|
2
13
|
export interface InstallArgs {
|
|
3
14
|
tui: boolean;
|
|
15
|
+
scope: InstallScope;
|
|
4
16
|
region?: string | undefined;
|
|
5
17
|
industry?: string | undefined;
|
|
6
18
|
primaryRegulation?: string | undefined;
|
|
7
19
|
secondaryRegulation?: string | undefined;
|
|
20
|
+
teamCulture?: string | undefined;
|
|
21
|
+
orgStructure?: string | undefined;
|
|
22
|
+
cisoPersonality?: string | undefined;
|
|
23
|
+
ctoPersonality?: string | undefined;
|
|
24
|
+
cmoPersonality?: string | undefined;
|
|
25
|
+
qaPersonality?: string | undefined;
|
|
26
|
+
productPersonality?: string | undefined;
|
|
27
|
+
opsPersonality?: string | undefined;
|
|
28
|
+
creativePersonality?: string | undefined;
|
|
29
|
+
brandPersonality?: string | undefined;
|
|
8
30
|
}
|
|
9
31
|
export interface InstallConfig {
|
|
10
32
|
region: string;
|
|
11
33
|
industry: string;
|
|
12
34
|
primaryRegulation: string;
|
|
13
35
|
secondaryRegulation: string;
|
|
36
|
+
teamCulture: TeamCulture;
|
|
37
|
+
orgStructure: OrgStructure;
|
|
38
|
+
cisoPersonality: CisoPersonality;
|
|
39
|
+
ctoPersonality: CtoPersonality;
|
|
40
|
+
cmoPersonality: CmoPersonality;
|
|
41
|
+
qaPersonality: QaPersonality;
|
|
42
|
+
productPersonality: ProductPersonality;
|
|
43
|
+
opsPersonality: OpsPersonality;
|
|
44
|
+
creativePersonality: CreativePersonality;
|
|
45
|
+
brandPersonality: BrandPersonality;
|
|
14
46
|
}
|
|
15
47
|
export interface ConfigMergeResult {
|
|
16
48
|
success: boolean;
|
|
@@ -19,9 +51,20 @@ export interface ConfigMergeResult {
|
|
|
19
51
|
}
|
|
20
52
|
export interface DetectedConfig {
|
|
21
53
|
isInstalled: boolean;
|
|
54
|
+
scope: InstallScope;
|
|
22
55
|
region: string;
|
|
23
56
|
industry: string;
|
|
24
57
|
primaryRegulation: string;
|
|
25
58
|
secondaryRegulation: string;
|
|
59
|
+
teamCulture: TeamCulture;
|
|
60
|
+
orgStructure: OrgStructure;
|
|
61
|
+
cisoPersonality: CisoPersonality;
|
|
62
|
+
ctoPersonality: CtoPersonality;
|
|
63
|
+
cmoPersonality: CmoPersonality;
|
|
64
|
+
qaPersonality: QaPersonality;
|
|
65
|
+
productPersonality: ProductPersonality;
|
|
66
|
+
opsPersonality: OpsPersonality;
|
|
67
|
+
creativePersonality: CreativePersonality;
|
|
68
|
+
brandPersonality: BrandPersonality;
|
|
26
69
|
}
|
|
27
70
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/cli/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,QAAA,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,QAAA,MAAM,gBAAgB,EAAE,MAmEvB,CAAC;AAEF,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -23,6 +23,7 @@ The following specialist agents are available. Delegate to them when their domai
|
|
|
23
23
|
- Use \`wunderkind:ciso\` for ANY security review, vulnerability concern, compliance question, threat modelling, pen test coordination, or incident response
|
|
24
24
|
- Use \`wunderkind:ciso\` when fullstack work touches auth, JWT, RBAC, CORS, CSP headers, or sensitive data flows
|
|
25
25
|
- Sub-route from ciso: Security Analyst for vulnerability deep-dives, Pen Tester for active testing, Compliance Officer for GDPR/CCPA/POPIA/LGPD
|
|
26
|
+
- **CISO 72-hour mandate**: any High or Critical security finding raised by \`wunderkind:ciso\` must have remediation started within 72 hours. No sprint priorities or business pressure can override this. No other agent may deprioritise a CISO finding.
|
|
26
27
|
|
|
27
28
|
#### Quality & Testing
|
|
28
29
|
- Use \`wunderkind:qa-specialist\` for test strategy, TDD guidance, flaky tests, coverage gaps, user story validation, or security boundary test review
|
|
@@ -48,15 +49,19 @@ The following specialist agents are available. Delegate to them when their domai
|
|
|
48
49
|
#### Operations
|
|
49
50
|
- Use \`wunderkind:operations-lead\` for SRE/SLO decisions, admin panel architecture (build-first bias), incident containment, runbooks, monitoring, or supportability assessment
|
|
50
51
|
|
|
51
|
-
###
|
|
52
|
+
### Project Configuration
|
|
52
53
|
|
|
53
|
-
All agents read \`wunderkind.config.jsonc\` (project root
|
|
54
|
-
- \`
|
|
55
|
-
- \`
|
|
56
|
-
- \`
|
|
57
|
-
- \`
|
|
54
|
+
All agents read \`wunderkind.config.jsonc\` (project root) for:
|
|
55
|
+
- \`region\` — adjusts platform mix, event targeting, and regulatory focus
|
|
56
|
+
- \`industry\` — adjusts content tone and sector-specific obligations
|
|
57
|
+
- \`primaryRegulation\` — the main data protection regulation to apply (defaults to GDPR)
|
|
58
|
+
- \`secondaryRegulation\` — additional regulation to layer on top
|
|
59
|
+
- \`teamCulture\` — communication style baseline: \`formal-strict\` | \`pragmatic-balanced\` | \`experimental-informal\`
|
|
60
|
+
- \`orgStructure\` — \`flat\` (peer escalation) | \`hierarchical\` (CISO has hard veto on security)
|
|
61
|
+
- \`cisoPersonality\`, \`ctoPersonality\`, \`cmoPersonality\`, \`qaPersonality\`, \`productPersonality\`, \`opsPersonality\`, \`creativePersonality\`, \`brandPersonality\` — character archetypes per agent
|
|
58
62
|
|
|
59
63
|
If the file is absent or fields are blank, agents default to global best practices.
|
|
64
|
+
|
|
60
65
|
`.trim());
|
|
61
66
|
},
|
|
62
67
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAW,KAAK,EAAE,MAAM,EAAE,EAAE;IAChD,OAAO;QACL,oCAAoC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAW,KAAK,EAAE,MAAM,EAAE,EAAE;IAChD,OAAO;QACL,oCAAoC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DxB,CAAC,IAAI,EAAE,CAAC,CAAC;QACN,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grant-vine/wunderkind",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Wunderkind — a generic oh-my-opencode addon package with specialist agents for any software product team",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -26,7 +26,9 @@
|
|
|
26
26
|
"scripts": {
|
|
27
27
|
"build": "tsc && bun run dist/build-agents.js",
|
|
28
28
|
"dev": "tsc --watch",
|
|
29
|
-
"prepublishOnly": "bun run build"
|
|
29
|
+
"prepublishOnly": "bun run build",
|
|
30
|
+
"test": "bun test tests/unit/",
|
|
31
|
+
"test:contract": "bun test tests/unit/"
|
|
30
32
|
},
|
|
31
33
|
"dependencies": {
|
|
32
34
|
"@clack/prompts": "^0.9.1",
|