@soleri/forge 5.14.10 → 8.0.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.
Files changed (65) hide show
  1. package/dist/agent-schema.d.ts +323 -0
  2. package/dist/agent-schema.js +151 -0
  3. package/dist/agent-schema.js.map +1 -0
  4. package/dist/compose-claude-md.d.ts +24 -0
  5. package/dist/compose-claude-md.js +197 -0
  6. package/dist/compose-claude-md.js.map +1 -0
  7. package/dist/index.js +0 -0
  8. package/dist/lib.d.ts +12 -1
  9. package/dist/lib.js +10 -1
  10. package/dist/lib.js.map +1 -1
  11. package/dist/scaffold-filetree.d.ts +22 -0
  12. package/dist/scaffold-filetree.js +361 -0
  13. package/dist/scaffold-filetree.js.map +1 -0
  14. package/dist/scaffolder.js +261 -11
  15. package/dist/scaffolder.js.map +1 -1
  16. package/dist/templates/activate.js +39 -1
  17. package/dist/templates/activate.js.map +1 -1
  18. package/dist/templates/agents-md.d.ts +10 -1
  19. package/dist/templates/agents-md.js +76 -16
  20. package/dist/templates/agents-md.js.map +1 -1
  21. package/dist/templates/claude-md-template.js +9 -1
  22. package/dist/templates/claude-md-template.js.map +1 -1
  23. package/dist/templates/entry-point.js +83 -6
  24. package/dist/templates/entry-point.js.map +1 -1
  25. package/dist/templates/inject-claude-md.js +53 -0
  26. package/dist/templates/inject-claude-md.js.map +1 -1
  27. package/dist/templates/package-json.js +4 -1
  28. package/dist/templates/package-json.js.map +1 -1
  29. package/dist/templates/readme.js +4 -3
  30. package/dist/templates/readme.js.map +1 -1
  31. package/dist/templates/setup-script.js +109 -3
  32. package/dist/templates/setup-script.js.map +1 -1
  33. package/dist/templates/shared-rules.js +54 -17
  34. package/dist/templates/shared-rules.js.map +1 -1
  35. package/dist/templates/test-facades.js +151 -6
  36. package/dist/templates/test-facades.js.map +1 -1
  37. package/dist/types.d.ts +71 -6
  38. package/dist/types.js +39 -1
  39. package/dist/types.js.map +1 -1
  40. package/dist/utils/detect-domain-packs.d.ts +25 -0
  41. package/dist/utils/detect-domain-packs.js +104 -0
  42. package/dist/utils/detect-domain-packs.js.map +1 -0
  43. package/package.json +2 -1
  44. package/src/__tests__/detect-domain-packs.test.ts +178 -0
  45. package/src/__tests__/scaffold-filetree.test.ts +257 -0
  46. package/src/__tests__/scaffolder.test.ts +5 -3
  47. package/src/agent-schema.ts +184 -0
  48. package/src/compose-claude-md.ts +252 -0
  49. package/src/lib.ts +14 -1
  50. package/src/scaffold-filetree.ts +421 -0
  51. package/src/scaffolder.ts +299 -15
  52. package/src/templates/activate.ts +39 -0
  53. package/src/templates/agents-md.ts +78 -16
  54. package/src/templates/claude-md-template.ts +12 -1
  55. package/src/templates/entry-point.ts +90 -6
  56. package/src/templates/inject-claude-md.ts +53 -0
  57. package/src/templates/package-json.ts +4 -1
  58. package/src/templates/readme.ts +4 -3
  59. package/src/templates/setup-script.ts +110 -4
  60. package/src/templates/shared-rules.ts +55 -17
  61. package/src/templates/test-facades.ts +156 -6
  62. package/src/types.ts +44 -1
  63. package/src/utils/detect-domain-packs.ts +129 -0
  64. package/tsconfig.json +0 -1
  65. package/vitest.config.ts +1 -2
@@ -1,33 +1,93 @@
1
+ import { getEngineRulesContent } from './shared-rules.js';
1
2
  /**
2
- * Generate AGENTS.md content for Codex sessions.
3
+ * Generate AGENTS.md content for OpenCode (primary host).
4
+ *
5
+ * This is the full instruction file — equivalent to what CLAUDE.md gets
6
+ * via claude-md-template.ts + shared-rules.ts. OpenCode reads AGENTS.md
7
+ * as its primary instruction file, so it must contain:
8
+ * 1. Persistent identity (always-on, no activation needed)
9
+ * 2. Full facade table (all 13+ semantic facades + domains)
10
+ * 3. Engine rules (vault-first, planning, output formatting, etc.)
11
+ * 4. Session start protocol
12
+ * 5. Skills reference
3
13
  */
4
14
  export function generateAgentsMd(config) {
15
+ const bt = '`';
16
+ const tp = config.id; // tool prefix
5
17
  const principles = config.principles.map((p) => `- ${p}`).join('\n');
6
18
  const domains = config.domains.map((d) => `- ${d}`).join('\n');
7
- return `# AGENTS.md instructions for this project
19
+ // ─── Domain facade rows ───────────────────────────────────
20
+ const domainRows = config.domains
21
+ .map((d) => {
22
+ const toolName = `${tp}_${d.replace(/-/g, '_')}`;
23
+ return `| ${bt}${toolName}${bt} | ${bt}get_patterns${bt}, ${bt}search${bt}, ${bt}capture${bt} |`;
24
+ })
25
+ .join('\n');
26
+ // ─── Engine rules (strip markers — AGENTS.md embeds them inline) ───
27
+ const engineRules = getEngineRulesContent()
28
+ .replace(/<!-- soleri:engine-rules -->\n?/, '')
29
+ .replace(/<!-- \/soleri:engine-rules -->\n?/, '')
30
+ .trim();
31
+ return `# ${config.name}
8
32
 
9
- ## Agent Identity
10
- - Name: ${config.name}
11
- - Role: ${config.role}
12
- - Agent MCP prefix: \`${config.id}\`
33
+ ## Identity
13
34
 
14
- ## Activation
15
- - Say "Hello, ${config.name}!" to activate persona behavior via \`${config.id}_core\`.
16
- - Say "Goodbye, ${config.name}!" to deactivate.
35
+ You ARE **${config.name}**. ${config.role}.
17
36
 
18
- ## Domains
37
+ ${config.description}
38
+
39
+ This identity is permanent — not activated by greeting, not deactivated by farewell.
40
+ Adopt this persona for every message. Your MCP tool prefix is ${bt}${tp}${bt}.
41
+
42
+ **Tone:** ${config.tone ?? 'pragmatic'}
43
+
44
+ **Domains:**
19
45
  ${domains}
20
46
 
21
- ## Principles
47
+ **Principles:**
22
48
  ${principles}
23
49
 
50
+ ## Adaptive Identity
51
+
52
+ ${config.name} is not a fixed-role agent. The role above is a starting point — the agent evolves as knowledge is added.
53
+
54
+ When the user asks about your capabilities or you need to check what you've learned, use ${bt}${tp}_core op:activate${bt} to discover evolved capabilities.
55
+
56
+ ## Session Start
57
+
58
+ Do NOT call any tools automatically on session start. Just greet the user in character.
59
+ Only call ${bt}${tp}_orchestrate op:register${bt} or ${bt}${tp}_core op:activate${bt} when you actually need project context or capability discovery — not on every message.
60
+
61
+ ## Essential Tools
62
+
63
+ | Facade | Key Ops |
64
+ |--------|---------|
65
+ | ${bt}${tp}_core${bt} | ${bt}health${bt}, ${bt}search${bt}, ${bt}identity${bt}, ${bt}register${bt}, ${bt}activate${bt} |
66
+ ${domainRows}
67
+ | ${bt}${tp}_vault${bt} | ${bt}search_intelligent${bt}, ${bt}capture_knowledge${bt}, ${bt}capture_quick${bt}, ${bt}search_feedback${bt} |
68
+ | ${bt}${tp}_vault${bt} (keeper) | ${bt}knowledge_audit${bt}, ${bt}knowledge_health${bt}, ${bt}knowledge_merge${bt}, ${bt}knowledge_reorganize${bt} |
69
+ | ${bt}${tp}_vault${bt} (mgmt) | ${bt}vault_get${bt}, ${bt}vault_update${bt}, ${bt}vault_remove${bt}, ${bt}vault_tags${bt}, ${bt}vault_domains${bt}, ${bt}vault_recent${bt} |
70
+ | ${bt}${tp}_curator${bt} | ${bt}curator_status${bt}, ${bt}curator_detect_duplicates${bt}, ${bt}curator_contradictions${bt}, ${bt}curator_groom_all${bt}, ${bt}curator_consolidate${bt}, ${bt}curator_health_audit${bt} |
71
+ | ${bt}${tp}_curator${bt} (advanced) | ${bt}curator_enrich${bt}, ${bt}curator_hybrid_contradictions${bt}, ${bt}curator_entry_history${bt}, ${bt}curator_queue_stats${bt} |
72
+ | ${bt}${tp}_plan${bt} | ${bt}create_plan${bt}, ${bt}approve_plan${bt}, ${bt}plan_split${bt}, ${bt}plan_reconcile${bt}, ${bt}plan_complete_lifecycle${bt} |
73
+ | ${bt}${tp}_orchestrate${bt} | ${bt}orchestrate_plan${bt}, ${bt}orchestrate_execute${bt}, ${bt}orchestrate_complete${bt} |
74
+ | ${bt}${tp}_brain${bt} | ${bt}brain_stats${bt}, ${bt}brain_feedback${bt}, ${bt}rebuild_vocabulary${bt}, ${bt}brain_strengths${bt}, ${bt}brain_recommend${bt} |
75
+ | ${bt}${tp}_memory${bt} | ${bt}memory_search${bt}, ${bt}memory_capture${bt}, ${bt}session_capture${bt} |
76
+ | ${bt}${tp}_control${bt} | ${bt}route_intent${bt}, ${bt}morph${bt}, ${bt}get_behavior_rules${bt}, ${bt}governance_dashboard${bt}, ${bt}governance_policy${bt} |
77
+ | ${bt}${tp}_loop${bt} | ${bt}loop_start${bt}, ${bt}loop_iterate${bt}, ${bt}loop_status${bt}, ${bt}loop_cancel${bt} |
78
+ | ${bt}${tp}_cognee${bt} | ${bt}cognee_search${bt}, ${bt}cognee_graph_stats${bt}, ${bt}cognee_export_status${bt} |
79
+ | ${bt}${tp}_context${bt} | ${bt}context_extract_entities${bt}, ${bt}context_retrieve_knowledge${bt}, ${bt}context_analyze${bt} |
80
+ | ${bt}${tp}_agency${bt} | ${bt}agency_enable${bt}, ${bt}agency_status${bt}, ${bt}agency_surface_patterns${bt}, ${bt}agency_warnings${bt}, ${bt}agency_clarify${bt} |
81
+ | ${bt}${tp}_admin${bt} | ${bt}admin_health${bt}, ${bt}admin_tool_list${bt}, ${bt}admin_diagnostic${bt} |
82
+
83
+ > Full list: ${bt}${tp}_admin op:admin_tool_list${bt}
84
+
24
85
  ## Skills
25
- - Local skills live in \`skills/<skill>/SKILL.md\`.
26
- - If a user explicitly names a skill, open that \`SKILL.md\` and follow it for that turn.
27
86
 
28
- ## Setup Notes
29
- - This repository was scaffolded with Codex support.
30
- - Session model/reasoning is selected at session start and does not auto-switch per prompt.
87
+ - Local skills live in ${bt}skills/<skill>/SKILL.md${bt}.
88
+ - If a user explicitly names a skill, open that ${bt}SKILL.md${bt} and follow it for that turn.
89
+
90
+ ${engineRules}
31
91
  `;
32
92
  }
33
93
  //# sourceMappingURL=agents-md.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../src/templates/agents-md.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/D,OAAO;;;UAGC,MAAM,CAAC,IAAI;UACX,MAAM,CAAC,IAAI;wBACG,MAAM,CAAC,EAAE;;;gBAGjB,MAAM,CAAC,IAAI,yCAAyC,MAAM,CAAC,EAAE;kBAC3D,MAAM,CAAC,IAAI;;;EAG3B,OAAO;;;EAGP,UAAU;;;;;;;;;CASX,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../src/templates/agents-md.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export function generateClaudeMdTemplate(config) {
28
28
  `**Origin role:** ${config.role}`,
29
29
  `**Initial domains:** ${config.domains.join(', ')}`,
30
30
  `**Tone:** ${config.tone ?? 'pragmatic'}`,
31
+ ...(config.sharedVaultPath ? [`**Shared vault:** \`${config.sharedVaultPath}\``] : []),
31
32
  '',
32
33
  config.description,
33
34
  '',
@@ -58,7 +59,7 @@ export function generateClaudeMdTemplate(config) {
58
59
  // ─── Session Start ─────────────────────────────────────
59
60
  '## Session Start',
60
61
  '',
61
- `On every new session: ${bt}${toolPrefix}_core op:register params:{ projectPath: "." }${bt}`,
62
+ `On every new session: ${bt}${toolPrefix}_orchestrate op:register params:{ projectPath: "." }${bt}`,
62
63
  '',
63
64
  ];
64
65
  // ─── Compact Facade Table ───────────────────────────────
@@ -68,6 +69,13 @@ export function generateClaudeMdTemplate(config) {
68
69
  const toolName = `${toolPrefix}_${d.replace(/-/g, '_')}`;
69
70
  mdLines.push(`| ${bt}${toolName}${bt} | ${bt}get_patterns${bt}, ${bt}search${bt}, ${bt}capture${bt} |`);
70
71
  }
72
+ // Domain pack facades (if any)
73
+ if (config.domainPacks?.length) {
74
+ mdLines.push('', '**Domain Pack Facades:**', '');
75
+ for (const ref of config.domainPacks) {
76
+ mdLines.push(`| ${bt}${ref.name}${bt} (pack: ${bt}${ref.package}${bt}) | *custom ops — see ${bt}admin_tool_list${bt}* |`);
77
+ }
78
+ }
71
79
  // Engine facades — use actual tool names (standalone facades, NOT _core sub-groups)
72
80
  mdLines.push(
73
81
  // Vault — knowledge lifecycle, capture, search, management
@@ -1 +1 @@
1
- {"version":3,"file":"claude-md-template.js","sourceRoot":"","sources":["../../src/templates/claude-md-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-md-template.js","sourceRoot":"","sources":["../../src/templates/claude-md-template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE3E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAmB;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,OAAO,CAAC;IACnC,MAAM,EAAE,GAAG,GAAG,CAAC;IAEf,MAAM,OAAO,GAAa;QACxB,QAAQ,MAAM,MAAM;QACpB,EAAE;QACF,KAAK,MAAM,CAAC,IAAI,OAAO;QACvB,EAAE;QAEF,0DAA0D;QAC1D,MAAM,MAAM,CAAC,IAAI,EAAE;QACnB,EAAE;QACF,oBAAoB,MAAM,CAAC,IAAI,EAAE;QACjC,wBAAwB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnD,aAAa,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE;QACzC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,uBAAuB,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,EAAE;QACF,MAAM,CAAC,WAAW;QAClB,EAAE;QACF,iBAAiB;QACjB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,EAAE;QAEF,2DAA2D;QAC3D,sBAAsB;QACtB,EAAE;QACF,GAAG,MAAM,CAAC,IAAI,kHAAkH;QAChI,EAAE;QACF,8EAA8E;QAC9E,kDAAkD;QAClD,mDAAmD;QACnD,gEAAgE;QAChE,EAAE;QACF,iHAAiH;QACjH,uHAAuH;QACvH,EAAE;QAEF,0DAA0D;QAC1D,eAAe;QACf,EAAE;QACF,yBAAyB,MAAM,CAAC,IAAI,QAAQ,EAAE,GAAG,UAAU,gDAAgD,EAAE,EAAE;QAC/G,6BAA6B,MAAM,CAAC,IAAI,QAAQ,EAAE,GAAG,UAAU,gDAAgD,EAAE,EAAE;QACnH,EAAE;QACF,iHAAiH;QACjH,EAAE;QAEF,0DAA0D;QAC1D,kBAAkB;QAClB,EAAE;QACF,yBAAyB,EAAE,GAAG,UAAU,uDAAuD,EAAE,EAAE;QACnG,EAAE;KACH,CAAC;IAEF,2DAA2D;IAC3D,OAAO,CAAC,IAAI,CACV,oBAAoB,EACpB,QAAQ,UAAU,YAAY,EAC9B,EAAE,EACF,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,EAAE,GAAG,UAAU,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CACpI,CAAC;IAEF,sCAAsC;IACtC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CACV,KAAK,EAAE,GAAG,QAAQ,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAC1F,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CACV,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,OAAO,GAAG,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,KAAK,CAC5G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,OAAO,CAAC,IAAI;IACV,2DAA2D;IAC3D,KAAK,EAAE,GAAG,UAAU,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EACnJ,KAAK,EAAE,GAAG,UAAU,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAC/J,KAAK,EAAE,GAAG,UAAU,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI;IACvL,qDAAqD;IACrD,KAAK,EAAE,GAAG,UAAU,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EACnO,KAAK,EAAE,GAAG,UAAU,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI;IACpL,iCAAiC;IACjC,KAAK,EAAE,GAAG,UAAU,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EACrK,KAAK,EAAE,GAAG,UAAU,eAAe,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EACrI,KAAK,EAAE,GAAG,UAAU,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI;IACzK,wBAAwB;IACxB,KAAK,EAAE,GAAG,UAAU,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EACnH,KAAK,EAAE,GAAG,UAAU,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAC1K,KAAK,EAAE,GAAG,UAAU,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI;IAC/H,yCAAyC;IACzC,KAAK,EAAE,GAAG,UAAU,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAC5H,KAAK,EAAE,GAAG,UAAU,WAAW,EAAE,MAAM,EAAE,2BAA2B,EAAE,KAAK,EAAE,6BAA6B,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAC3I,KAAK,EAAE,GAAG,UAAU,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI;IAC/K,QAAQ;IACR,KAAK,EAAE,GAAG,UAAU,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,CACpH,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,GAAG,UAAU,4BAA4B,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEtF,0DAA0D;IAC1D,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEjC,0DAA0D;IAC1D,OAAO,CAAC,IAAI,CAAC,SAAS,MAAM,MAAM,CAAC,CAAC;IAEpC,gEAAgE;IAChE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,QAAQ,OAAO,IAAI,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,mDAAmD;IACnD,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;IAC9C,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,QAAQ,OAAO,IAAI,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,4BAA4B,MAAM,CAAC,IAAI,GAAG;QAC1C,gDAAgD;QAChD,KAAK;QACL,EAAE;QACF,qEAAqE;QACrE,gDAAgD;QAChD,YAAY;QACZ,GAAG,WAAW;QACd,kBAAkB;QAClB,GAAG;QACH,EAAE;QACF,+CAA+C;QAC/C,aAAa,MAAM,IAAI;QACvB,GAAG;QACH,EAAE;QACF,yEAAyE;QACzE,mDAAmD;QACnD,YAAY;QACZ,GAAG,iBAAiB;QACpB,kBAAkB;QAClB,GAAG;QACH,EAAE;QACF,kDAAkD;QAClD,aAAa,eAAe,EAAE,IAAI;QAClC,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,OAAiB,EAAE,MAAmB;IAC7D,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM;QAAE,OAAO;IAEtC,mDAAmD;IACnD,oEAAoE;IACpE,yDAAyD;IACzD,OAAO,CAAC,IAAI,CACV,eAAe,EACf,EAAE,EACF,oFAAoF,EACpF,EAAE,EACF,oBAAoB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACjD,EAAE,EACF,wEAAwE,EACxE,uDAAuD,EACvD,EAAE,CACH,CAAC;AACJ,CAAC"}
@@ -1,3 +1,14 @@
1
+ /** Generate vault connection code for linked vaults. */
2
+ function generateVaultConnections(config) {
3
+ if (!config.vaults?.length)
4
+ return '';
5
+ const lines = ['', ' // ─── Linked vaults ──────────────────────────────────────────────'];
6
+ for (const v of config.vaults) {
7
+ lines.push(` try { runtime.vaultManager.connect('${v.name}', '${v.path}', ${v.priority ?? 0.5}); } catch { /* already connected or unavailable */ }`);
8
+ }
9
+ lines.push(` console.error(\`[\${tag}] Connected ${config.vaults.length} linked vault(s): ${config.vaults.map((v) => v.name).join(', ')}\`);`, '');
10
+ return lines.join('\n');
11
+ }
1
12
  /**
2
13
  * Generate the main index.ts entry point for the agent.
3
14
  *
@@ -7,6 +18,7 @@
7
18
  */
8
19
  export function generateEntryPoint(config) {
9
20
  const domainsLiteral = JSON.stringify(config.domains);
21
+ const hasDomainPacks = config.domainPacks && config.domainPacks.length > 0;
10
22
  return `#!/usr/bin/env node
11
23
 
12
24
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
@@ -21,12 +33,14 @@ import {
21
33
  registerAllFacades,
22
34
  seedDefaultPlaybooks,
23
35
  wrapWithMiddleware,
36
+ CapabilityRegistry,
37
+ loadAllFlows,
24
38
  } from '@soleri/core';
25
- import type { OpDefinition, AgentExtensions } from '@soleri/core';
39
+ import type { OpDefinition, AgentExtensions } from '@soleri/core';${hasDomainPacks ? `\nimport { loadDomainPacksFromConfig, createPackRuntime } from '@soleri/core';` : ''}
26
40
  import { z } from 'zod';
27
41
  import { PERSONA, getPersonaPrompt } from './identity/persona.js';
28
42
  import { activateAgent, deactivateAgent } from './activation/activate.js';
29
- import { injectClaudeMd, injectClaudeMdGlobal, hasAgentMarker } from './activation/inject-claude-md.js';
43
+ import { injectClaudeMd, injectClaudeMdGlobal, hasAgentMarker, injectAgentsMd, injectAgentsMdGlobal, hasAgentMarkerInAgentsMd } from './activation/inject-claude-md.js';
30
44
 
31
45
  const __dirname = dirname(fileURLToPath(import.meta.url));
32
46
 
@@ -34,11 +48,11 @@ async function main(): Promise<void> {
34
48
  // ─── Runtime — vault, brain, planner, curator, LLM, key pools ───
35
49
  const runtime = createAgentRuntime({
36
50
  agentId: '${config.id}',
37
- dataDir: join(__dirname, 'intelligence', 'data'),
51
+ dataDir: join(__dirname, 'intelligence', 'data'),${config.sharedVaultPath ? `\n sharedVaultPath: '${config.sharedVaultPath}',` : ''}${config.cognee ? `\n cognee: true,` : ''}
38
52
  });
39
53
 
40
54
  const tag = PERSONA.name.toLowerCase();
41
-
55
+ ${generateVaultConnections(config)}
42
56
  // Seed built-in playbooks (idempotent)
43
57
  const seedResult = seedDefaultPlaybooks(runtime.vault);
44
58
  if (seedResult.seeded > 0) {
@@ -117,9 +131,24 @@ async function main(): Promise<void> {
117
131
  return injectClaudeMd((params.projectPath as string) ?? '.');
118
132
  },
119
133
  },
134
+ {
135
+ name: 'inject_agents_md',
136
+ description: 'Inject agent sections into AGENTS.md — project-level or global (~/.config/opencode/AGENTS.md). For OpenCode and Codex. Idempotent.',
137
+ auth: 'write',
138
+ schema: z.object({
139
+ projectPath: z.string().optional().default('.'),
140
+ global: z.boolean().optional().describe('If true, inject into ~/.config/opencode/AGENTS.md instead of project-level'),
141
+ }),
142
+ handler: async (params) => {
143
+ if (params.global) {
144
+ return injectAgentsMdGlobal();
145
+ }
146
+ return injectAgentsMd((params.projectPath as string) ?? '.');
147
+ },
148
+ },
120
149
  {
121
150
  name: 'setup',
122
- description: 'Check setup status — CLAUDE.md configured? Vault has entries? What to do next?',
151
+ description: 'Check setup status — CLAUDE.md configured? AGENTS.md configured? Vault has entries? What to do next?',
123
152
  auth: 'read',
124
153
  schema: z.object({
125
154
  projectPath: z.string().optional().default('.'),
@@ -132,12 +161,19 @@ async function main(): Promise<void> {
132
161
 
133
162
  const projectClaudeMd = joinPath(projectPath, 'CLAUDE.md');
134
163
  const globalClaudeMd = joinPath(homedir(), '.claude', 'CLAUDE.md');
164
+ const projectAgentsMd = joinPath(projectPath, 'AGENTS.md');
165
+ const globalAgentsMd = joinPath(homedir(), '.config', 'opencode', 'AGENTS.md');
135
166
 
136
167
  const projectExists = existsSync(projectClaudeMd);
137
168
  const projectHasAgent = hasAgentMarker(projectClaudeMd);
138
169
  const globalExists = existsSync(globalClaudeMd);
139
170
  const globalHasAgent = hasAgentMarker(globalClaudeMd);
140
171
 
172
+ const agentsMdProjectExists = existsSync(projectAgentsMd);
173
+ const agentsMdProjectHasAgent = hasAgentMarkerInAgentsMd(projectAgentsMd);
174
+ const agentsMdGlobalExists = existsSync(globalAgentsMd);
175
+ const agentsMdGlobalHasAgent = hasAgentMarkerInAgentsMd(globalAgentsMd);
176
+
141
177
  const s = runtime.vault.stats();
142
178
 
143
179
  const recommendations: string[] = [];
@@ -146,6 +182,9 @@ async function main(): Promise<void> {
146
182
  } else if (!globalHasAgent) {
147
183
  recommendations.push('Global ~/.claude/CLAUDE.md not configured — run inject_claude_md with global: true to enable in all projects');
148
184
  }
185
+ if (!agentsMdGlobalHasAgent && !agentsMdProjectHasAgent) {
186
+ recommendations.push('No AGENTS.md configured — run inject_agents_md for OpenCode/Codex support');
187
+ }
149
188
  if (s.totalEntries === 0) {
150
189
  recommendations.push('Vault is empty — add intelligence data or capture knowledge via domain facades');
151
190
  }
@@ -190,6 +229,10 @@ async function main(): Promise<void> {
190
229
  project: { exists: projectExists, has_agent_section: projectHasAgent },
191
230
  global: { exists: globalExists, has_agent_section: globalHasAgent },
192
231
  },
232
+ agents_md: {
233
+ project: { exists: agentsMdProjectExists, has_agent_section: agentsMdProjectHasAgent },
234
+ global: { exists: agentsMdGlobalExists, has_agent_section: agentsMdGlobalHasAgent },
235
+ },
193
236
  vault: { entries: s.totalEntries, domains: Object.keys(s.byDomain) },
194
237
  hooks: hookStatus,
195
238
  recommendations,
@@ -206,7 +249,41 @@ async function main(): Promise<void> {
206
249
  ops: agentOps,
207
250
  };
208
251
 
209
- const domainFacades = createDomainFacades(runtime, '${config.id}', ${domainsLiteral});
252
+ ${hasDomainPacks
253
+ ? ` // ─── Domain packs ─────────────────────────────────────────────
254
+ const domainPacks = await loadDomainPacksFromConfig(${JSON.stringify(config.domainPacks)});
255
+ console.error(\`[\${tag}] Loaded \${domainPacks.length} domain packs\`);
256
+ for (const pack of domainPacks) {
257
+ if (pack.onActivate) await pack.onActivate(runtime);
258
+ }
259
+
260
+ // ─── Capability Registry ─────────────────────────────────────
261
+ const capabilityRegistry = new CapabilityRegistry();
262
+ const packRuntime = createPackRuntime(runtime);
263
+
264
+ // Register domain pack capabilities
265
+ for (const pack of domainPacks) {
266
+ if (pack.capabilities) {
267
+ const handlers = pack.capabilities(packRuntime);
268
+ // Use pack manifest capabilities if available, otherwise derive from handler keys
269
+ const definitions = (pack as Record<string, unknown>).manifest
270
+ ? ((pack as Record<string, unknown>).manifest as { capabilities?: Array<{ id: string; description: string; provides: string[]; requires: string[] }> }).capabilities ?? []
271
+ : [...handlers.keys()].map(id => ({ id, description: id, provides: [], requires: [] }));
272
+ capabilityRegistry.registerPack(pack.name, definitions, handlers, 50);
273
+ }
274
+ }
275
+
276
+ // Validate flows against installed capabilities
277
+ const flows = loadAllFlows();
278
+ for (const flow of flows) {
279
+ const validation = capabilityRegistry.validateFlow(flow);
280
+ if (validation.missing.length > 0) {
281
+ console.error(\`[\${tag}] Flow \${flow.id}: \${validation.missing.length} capabilities degraded (\${validation.missing.join(', ')})\`);
282
+ }
283
+ }
284
+ console.error(\`[\${tag}] Capability registry: \${capabilityRegistry.size} capabilities from \${capabilityRegistry.packCount} pack(s)\`);
285
+ `
286
+ : ''} const domainFacades = createDomainFacades(runtime, '${config.id}', ${domainsLiteral}${hasDomainPacks ? `, domainPacks` : ''});
210
287
 
211
288
  // ─── User extensions (auto-discovered from src/extensions/) ────
212
289
  let extensions: AgentExtensions = {};
@@ -1 +1 @@
1
- {"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../../src/templates/entry-point.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;gBA0BO,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAsCuC,MAAM,CAAC,EAAE;;;;;;;qGAO4B,MAAM,CAAC,IAAI;;;;;;;;;;;oDAW5D,MAAM,CAAC,EAAE;iDACZ,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA2FxB,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;4DAkBe,MAAM,CAAC,EAAE;;aAExD,MAAM,CAAC,EAAE;;;;;wDAKkC,MAAM,CAAC,EAAE,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAwCxE,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;gBAkBN,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA+BL,MAAM,CAAC,EAAE;;;CAG5B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../../src/templates/entry-point.ts"],"names":[],"mappings":"AAEA,wDAAwD;AACxD,SAAS,wBAAwB,CAAC,MAAmB;IACnD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,uEAAuE,CAAC,CAAC;IAC5F,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CACR,yCAAyC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,IAAI,GAAG,uDAAuD,CAC3I,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CACR,yCAAyC,MAAM,CAAC,MAAM,CAAC,MAAM,qBAAqB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EACnI,EAAE,CACH,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAE3E,OAAO;;;;;;;;;;;;;;;;;oEAiB2D,cAAc,CAAC,CAAC,CAAC,gFAAgF,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;gBAW1J,MAAM,CAAC,EAAE;uDAC8B,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,2BAA2B,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE;;;;EAIrL,wBAAwB,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAiC8B,MAAM,CAAC,EAAE;;;;;;;qGAO4B,MAAM,CAAC,IAAI;;;;;;;;;;;oDAW5D,MAAM,CAAC,EAAE;iDACZ,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAoHxB,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;4DAsBe,MAAM,CAAC,EAAE;;aAExD,MAAM,CAAC,EAAE;;;;;EAMpB,cAAc;QACZ,CAAC,CAAC;wDACkD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BzF;QACG,CAAC,CAAC,EACN,yDAAyD,MAAM,CAAC,EAAE,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAwCjH,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;gBAkBN,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA+BL,MAAM,CAAC,EAAE;;;CAG5B,CAAC;AACF,CAAC"}
@@ -41,6 +41,10 @@ export function generateInjectClaudeMd(config) {
41
41
  ' if (existing.includes(startMarker)) {',
42
42
  ' const startIdx = existing.indexOf(startMarker);',
43
43
  ' const endIdx = existing.indexOf(endMarker);',
44
+ ' if (endIdx !== -1) {',
45
+ ' const currentBlock = existing.slice(startIdx, endIdx + endMarker.length);',
46
+ " if (currentBlock === content.trim()) return 'skipped';",
47
+ ' }',
44
48
  ' if (endIdx === -1) {',
45
49
  " const updated = existing.slice(0, startIdx) + content + '\\n' + existing.slice(startIdx + startMarker.length);",
46
50
  " writeFileSync(filePath, updated, 'utf-8');",
@@ -163,6 +167,55 @@ export function generateInjectClaudeMd(config) {
163
167
  " const content = readFileSync(filePath, 'utf-8');",
164
168
  " return content.includes('<!-- ' + getEngineRulesMarker() + ' -->');",
165
169
  '}',
170
+ '',
171
+ '// ─── AGENTS.md support (OpenCode, Codex) ──────────────────────',
172
+ '',
173
+ '/**',
174
+ ' * Inject agent sections into a project AGENTS.md.',
175
+ ' * Same engine rules + agent block as CLAUDE.md, targeting AGENTS.md instead.',
176
+ ' * OpenCode reads AGENTS.md as its primary instruction file.',
177
+ ' */',
178
+ 'export function injectAgentsMd(projectPath: string): InjectResult {',
179
+ " return injectIntoFile(join(projectPath, 'AGENTS.md'));",
180
+ '}',
181
+ '',
182
+ '/**',
183
+ ' * Inject into the global ~/.config/opencode/AGENTS.md.',
184
+ " * Creates ~/.config/opencode/ directory if it doesn't exist.",
185
+ ' * This makes the activation phrase work in any OpenCode project.',
186
+ ' */',
187
+ 'export function injectAgentsMdGlobal(): InjectResult {',
188
+ " const opencodeDir = join(homedir(), '.config', 'opencode');",
189
+ ' if (!existsSync(opencodeDir)) {',
190
+ ' mkdirSync(opencodeDir, { recursive: true });',
191
+ ' }',
192
+ " return injectIntoFile(join(opencodeDir, 'AGENTS.md'));",
193
+ '}',
194
+ '',
195
+ '/**',
196
+ ' * Remove agent section from a project AGENTS.md.',
197
+ ' */',
198
+ 'export function removeAgentsMd(projectPath: string): { removed: boolean; path: string } {',
199
+ " const filePath = join(projectPath, 'AGENTS.md');",
200
+ ' return { removed: removeBlock(filePath, getClaudeMdMarker()), path: filePath };',
201
+ '}',
202
+ '',
203
+ '/**',
204
+ ' * Remove agent section from the global ~/.config/opencode/AGENTS.md.',
205
+ ' */',
206
+ 'export function removeAgentsMdGlobal(): { removed: boolean; path: string } {',
207
+ " const filePath = join(homedir(), '.config', 'opencode', 'AGENTS.md');",
208
+ ' return { removed: removeBlock(filePath, getClaudeMdMarker()), path: filePath };',
209
+ '}',
210
+ '',
211
+ '/**',
212
+ ' * Check if the agent marker exists in an AGENTS.md file.',
213
+ ' */',
214
+ 'export function hasAgentMarkerInAgentsMd(filePath: string): boolean {',
215
+ ' if (!existsSync(filePath)) return false;',
216
+ " const content = readFileSync(filePath, 'utf-8');",
217
+ ` return content.includes('<!-- ${marker} -->');`,
218
+ '}',
166
219
  ].join('\n');
167
220
  }
168
221
  //# sourceMappingURL=inject-claude-md.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inject-claude-md.js","sourceRoot":"","sources":["../../src/templates/inject-claude-md.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAmB;IACxD,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,OAAO,CAAC;IAEnC,OAAO;QACL,+EAA+E;QAC/E,oCAAoC;QACpC,mCAAmC;QACnC,8HAA8H;QAC9H,EAAE;QACF,iCAAiC;QACjC,sBAAsB;QACtB,iBAAiB;QACjB,+CAA+C;QAC/C,0BAA0B;QAC1B,GAAG;QACH,EAAE;QACF,KAAK;QACL,iDAAiD;QACjD,wEAAwE;QACxE,6CAA6C;QAC7C,KAAK;QACL,2HAA2H;QAC3H,kDAAkD;QAClD,iDAAiD;QACjD,EAAE;QACF,gCAAgC;QAChC,wDAAwD;QACxD,uBAAuB;QACvB,KAAK;QACL,EAAE;QACF,qDAAqD;QACrD,EAAE;QACF,yCAAyC;QACzC,qDAAqD;QACrD,iDAAiD;QACjD,0BAA0B;QAC1B,sHAAsH;QACtH,kDAAkD;QAClD,yBAAyB;QACzB,OAAO;QACP,wGAAwG;QACxG,gDAAgD;QAChD,uBAAuB;QACvB,KAAK;QACL,EAAE;QACF,kEAAkE;QAClE,6EAA6E;QAC7E,sBAAsB;QACtB,GAAG;QACH,EAAE;QACF,KAAK;QACL,6DAA6D;QAC7D,IAAI;QACJ,+DAA+D;QAC/D,0EAA0E;QAC1E,4DAA4D;QAC5D,aAAa,MAAM,SAAS;QAC5B,KAAK;QACL,2DAA2D;QAC3D,sDAAsD;QACtD,gGAAgG;QAChG,EAAE;QACF,mCAAmC;QACnC,yFAAyF;QACzF,EAAE;QACF,YAAY;QACZ,qBAAqB;QACrB,qBAAqB;QACrB,mEAAmE;QACnE,8CAA8C;QAC9C,MAAM;QACN,GAAG;QACH,EAAE;QACF,KAAK;QACL,mDAAmD;QACnD,8DAA8D;QAC9D,iDAAiD;QACjD,KAAK;QACL,qEAAqE;QACrE,0DAA0D;QAC1D,GAAG;QACH,EAAE;QACF,KAAK;QACL,gDAAgD;QAChD,sDAAsD;QACtD,0DAA0D;QAC1D,KAAK;QACL,wDAAwD;QACxD,iDAAiD;QACjD,iCAAiC;QACjC,gDAAgD;QAChD,KAAK;QACL,wDAAwD;QACxD,GAAG;QACH,EAAE;QACF,KAAK;QACL,iDAAiD;QACjD,KAAK;QACL,mEAAmE;QACnE,4CAA4C;QAC5C,qDAAqD;QACrD,kDAAkD;QAClD,iDAAiD;QACjD,mDAAmD;QACnD,sCAAsC;QACtC,+CAA+C;QAC/C,oCAAoC;QACpC,oEAAoE;QACpE,iFAAiF;QACjF,uEAAuE;QACvE,oDAAoD;QACpD,gBAAgB;QAChB,GAAG;QACH,EAAE;QACF,KAAK;QACL,8DAA8D;QAC9D,8DAA8D;QAC9D,uCAAuC;QACvC,KAAK;QACL,8EAA8E;QAC9E,6DAA6D;QAC7D,mFAAmF;QACnF,GAAG;QACH,EAAE;QACF,KAAK;QACL,mDAAmD;QACnD,KAAK;QACL,2FAA2F;QAC3F,oDAAoD;QACpD,mFAAmF;QACnF,GAAG;QACH,EAAE;QACF,KAAK;QACL,4CAA4C;QAC5C,gDAAgD;QAChD,KAAK;QACL,gEAAgE;QAChE,yDAAyD;QACzD,GAAG;QACH,EAAE;QACF,KAAK;QACL,0DAA0D;QAC1D,KAAK;QACL,6DAA6D;QAC7D,4CAA4C;QAC5C,oDAAoD;QACpD,mCAAmC,MAAM,SAAS;QAClD,GAAG;QACH,EAAE;QACF,KAAK;QACL,mEAAmE;QACnE,KAAK;QACL,6DAA6D;QAC7D,4CAA4C;QAC5C,oDAAoD;QACpD,uEAAuE;QACvE,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"inject-claude-md.js","sourceRoot":"","sources":["../../src/templates/inject-claude-md.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAmB;IACxD,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,OAAO,CAAC;IAEnC,OAAO;QACL,+EAA+E;QAC/E,oCAAoC;QACpC,mCAAmC;QACnC,8HAA8H;QAC9H,EAAE;QACF,iCAAiC;QACjC,sBAAsB;QACtB,iBAAiB;QACjB,+CAA+C;QAC/C,0BAA0B;QAC1B,GAAG;QACH,EAAE;QACF,KAAK;QACL,iDAAiD;QACjD,wEAAwE;QACxE,6CAA6C;QAC7C,KAAK;QACL,2HAA2H;QAC3H,kDAAkD;QAClD,iDAAiD;QACjD,EAAE;QACF,gCAAgC;QAChC,wDAAwD;QACxD,uBAAuB;QACvB,KAAK;QACL,EAAE;QACF,qDAAqD;QACrD,EAAE;QACF,yCAAyC;QACzC,qDAAqD;QACrD,iDAAiD;QACjD,0BAA0B;QAC1B,iFAAiF;QACjF,8DAA8D;QAC9D,OAAO;QACP,0BAA0B;QAC1B,sHAAsH;QACtH,kDAAkD;QAClD,yBAAyB;QACzB,OAAO;QACP,wGAAwG;QACxG,gDAAgD;QAChD,uBAAuB;QACvB,KAAK;QACL,EAAE;QACF,kEAAkE;QAClE,6EAA6E;QAC7E,sBAAsB;QACtB,GAAG;QACH,EAAE;QACF,KAAK;QACL,6DAA6D;QAC7D,IAAI;QACJ,+DAA+D;QAC/D,0EAA0E;QAC1E,4DAA4D;QAC5D,aAAa,MAAM,SAAS;QAC5B,KAAK;QACL,2DAA2D;QAC3D,sDAAsD;QACtD,gGAAgG;QAChG,EAAE;QACF,mCAAmC;QACnC,yFAAyF;QACzF,EAAE;QACF,YAAY;QACZ,qBAAqB;QACrB,qBAAqB;QACrB,mEAAmE;QACnE,8CAA8C;QAC9C,MAAM;QACN,GAAG;QACH,EAAE;QACF,KAAK;QACL,mDAAmD;QACnD,8DAA8D;QAC9D,iDAAiD;QACjD,KAAK;QACL,qEAAqE;QACrE,0DAA0D;QAC1D,GAAG;QACH,EAAE;QACF,KAAK;QACL,gDAAgD;QAChD,sDAAsD;QACtD,0DAA0D;QAC1D,KAAK;QACL,wDAAwD;QACxD,iDAAiD;QACjD,iCAAiC;QACjC,gDAAgD;QAChD,KAAK;QACL,wDAAwD;QACxD,GAAG;QACH,EAAE;QACF,KAAK;QACL,iDAAiD;QACjD,KAAK;QACL,mEAAmE;QACnE,4CAA4C;QAC5C,qDAAqD;QACrD,kDAAkD;QAClD,iDAAiD;QACjD,mDAAmD;QACnD,sCAAsC;QACtC,+CAA+C;QAC/C,oCAAoC;QACpC,oEAAoE;QACpE,iFAAiF;QACjF,uEAAuE;QACvE,oDAAoD;QACpD,gBAAgB;QAChB,GAAG;QACH,EAAE;QACF,KAAK;QACL,8DAA8D;QAC9D,8DAA8D;QAC9D,uCAAuC;QACvC,KAAK;QACL,8EAA8E;QAC9E,6DAA6D;QAC7D,mFAAmF;QACnF,GAAG;QACH,EAAE;QACF,KAAK;QACL,mDAAmD;QACnD,KAAK;QACL,2FAA2F;QAC3F,oDAAoD;QACpD,mFAAmF;QACnF,GAAG;QACH,EAAE;QACF,KAAK;QACL,4CAA4C;QAC5C,gDAAgD;QAChD,KAAK;QACL,gEAAgE;QAChE,yDAAyD;QACzD,GAAG;QACH,EAAE;QACF,KAAK;QACL,0DAA0D;QAC1D,KAAK;QACL,6DAA6D;QAC7D,4CAA4C;QAC5C,oDAAoD;QACpD,mCAAmC,MAAM,SAAS;QAClD,GAAG;QACH,EAAE;QACF,KAAK;QACL,mEAAmE;QACnE,KAAK;QACL,6DAA6D;QAC7D,4CAA4C;QAC5C,oDAAoD;QACpD,uEAAuE;QACvE,GAAG;QACH,EAAE;QACF,mEAAmE;QACnE,EAAE;QACF,KAAK;QACL,oDAAoD;QACpD,+EAA+E;QAC/E,8DAA8D;QAC9D,KAAK;QACL,qEAAqE;QACrE,0DAA0D;QAC1D,GAAG;QACH,EAAE;QACF,KAAK;QACL,yDAAyD;QACzD,+DAA+D;QAC/D,mEAAmE;QACnE,KAAK;QACL,wDAAwD;QACxD,+DAA+D;QAC/D,mCAAmC;QACnC,kDAAkD;QAClD,KAAK;QACL,0DAA0D;QAC1D,GAAG;QACH,EAAE;QACF,KAAK;QACL,mDAAmD;QACnD,KAAK;QACL,2FAA2F;QAC3F,oDAAoD;QACpD,mFAAmF;QACnF,GAAG;QACH,EAAE;QACF,KAAK;QACL,uEAAuE;QACvE,KAAK;QACL,8EAA8E;QAC9E,yEAAyE;QACzE,mFAAmF;QACnF,GAAG;QACH,EAAE;QACF,KAAK;QACL,2DAA2D;QAC3D,KAAK;QACL,uEAAuE;QACvE,4CAA4C;QAC5C,oDAAoD;QACpD,mCAAmC,MAAM,SAAS;QAClD,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export function generatePackageJson(config) {
2
2
  const pkg = {
3
- name: `${config.id}-mcp`,
3
+ name: config.id,
4
4
  version: '1.0.0',
5
5
  description: config.description,
6
6
  type: 'module',
@@ -29,6 +29,9 @@ export function generatePackageJson(config) {
29
29
  '@soleri/core': '^2.0.0',
30
30
  zod: '^3.24.2',
31
31
  ...(config.telegram ? { grammy: '^1.35.0' } : {}),
32
+ ...(config.domainPacks?.length
33
+ ? Object.fromEntries(config.domainPacks.map((pack) => [pack.package, pack.version ?? '*']))
34
+ : {}),
32
35
  },
33
36
  optionalDependencies: {
34
37
  '@anthropic-ai/sdk': '^0.39.0',
@@ -1 +1 @@
1
- {"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../src/templates/package-json.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,MAAM;QACxB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,eAAe,EAAE;QAC9C,OAAO,EAAE;YACP,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,oCAAoC;YAC3C,KAAK,EAAE,oBAAoB;YAC3B,SAAS,EAAE,cAAc;YACzB,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,QAAQ;YACtB,eAAe,EAAE,uBAAuB;YACxC,GAAG,CAAC,MAAM,CAAC,QAAQ;gBACjB,CAAC,CAAC;oBACE,gBAAgB,EAAE,kCAAkC;oBACpD,cAAc,EAAE,yBAAyB;iBAC1C;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QAC7B,YAAY,EAAE;YACZ,2BAA2B,EAAE,SAAS;YACtC,cAAc,EAAE,QAAQ;YACxB,GAAG,EAAE,SAAS;YACd,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD;QACD,oBAAoB,EAAE;YACpB,mBAAmB,EAAE,SAAS;SAC/B;QACD,eAAe,EAAE;YACf,aAAa,EAAE,UAAU;YACzB,qBAAqB,EAAE,QAAQ;YAC/B,GAAG,EAAE,SAAS;YACd,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,QAAQ;SACjB;KACF,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../src/templates/package-json.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,MAAM,CAAC,EAAE;QACf,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,eAAe,EAAE;QAC9C,OAAO,EAAE;YACP,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,oCAAoC;YAC3C,KAAK,EAAE,oBAAoB;YAC3B,SAAS,EAAE,cAAc;YACzB,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,QAAQ;YACtB,eAAe,EAAE,uBAAuB;YACxC,GAAG,CAAC,MAAM,CAAC,QAAQ;gBACjB,CAAC,CAAC;oBACE,gBAAgB,EAAE,kCAAkC;oBACpD,cAAc,EAAE,yBAAyB;iBAC1C;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QAC7B,YAAY,EAAE;YACZ,2BAA2B,EAAE,SAAS;YACtC,cAAc,EAAE,QAAQ;YACxB,GAAG,EAAE,SAAS;YACd,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM;gBAC5B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC3F,CAAC,CAAC,EAAE,CAAC;SACR;QACD,oBAAoB,EAAE;YACpB,mBAAmB,EAAE,SAAS;SAC/B;QACD,eAAe,EAAE;YACf,aAAa,EAAE,UAAU;YACzB,qBAAqB,EAAE,QAAQ;YAC/B,GAAG,EAAE,SAAS;YACd,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,QAAQ;SACjB;KACF,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Generate a README.md for the scaffolded agent.
3
3
  */
4
4
  export function generateReadme(config) {
5
+ const skillCount = config.skills?.length ?? 17;
5
6
  const setupTarget = config.setupTarget ?? 'claude';
6
7
  const claudeSetup = setupTarget === 'claude' || setupTarget === 'both';
7
8
  const codexSetup = setupTarget === 'codex' || setupTarget === 'both';
@@ -68,10 +69,10 @@ export function generateReadme(config) {
68
69
  : []),
69
70
  ].join('\n\n');
70
71
  const skillsLead = claudeSetup && codexSetup
71
- ? `${config.name} ships with 17 structured workflow skills. In Claude Code they are invocable via \`/<skill-name>\`; in Codex they are available via generated AGENTS.md + local skill files.`
72
+ ? `${config.name} ships with ${skillCount} structured workflow skills. In Claude Code they are invocable via \`/<skill-name>\`; in Codex they are available via generated AGENTS.md + local skill files.`
72
73
  : claudeSetup
73
- ? `${config.name} ships with 17 structured workflow skills, invocable via \`/<skill-name>\` in Claude Code:`
74
- : `${config.name} ships with 17 structured workflow skills, available via generated AGENTS.md + local skill files in Codex:`;
74
+ ? `${config.name} ships with ${skillCount} structured workflow skills, invocable via \`/<skill-name>\` in Claude Code:`
75
+ : `${config.name} ships with ${skillCount} structured workflow skills, available via generated AGENTS.md + local skill files in Codex:`;
75
76
  const skillsInstallNote = claudeSetup && codexSetup
76
77
  ? 'Skills are installed to `~/.claude/commands/` and `~/.codex/skills/` during setup. Run `./scripts/setup.sh` to install or reinstall.'
77
78
  : claudeSetup
@@ -1 +1 @@
1
- {"version":3,"file":"readme.js","sourceRoot":"","sources":["../../src/templates/readme.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC;IACnD,MAAM,WAAW,GAAG,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,MAAM,CAAC;IACvE,MAAM,UAAU,GAAG,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,MAAM,CAAC;IACrE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC;SACtD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzE,MAAM,iBAAiB,GACrB,WAAW,IAAI,UAAU;QACvB,CAAC,CAAC,qDAAqD;QACvD,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,4CAA4C;YAC9C,CAAC,CAAC,sCAAsC,CAAC;IAE/C,MAAM,aAAa,GAAG;QACpB,+CAA+C;QAC/C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,uDAAuD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,SAAS,GAAG;QAChB,KAAK,MAAM,CAAC,IAAI,4DAA4D;QAC5E,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,0BAA0B,MAAM,CAAC,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,GAAG,CAAC,WAAW;YACb,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,wDAAwD,CAAC;YAC5E,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,4EAA4E,CAAC;YAChF,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,iBAAiB,GAAG;QACxB,GAAG,CAAC,WAAW;YACb,CAAC,CAAC;gBACE;oBACE,iBAAiB;oBACjB,EAAE;oBACF,2DAA2D;oBAC3D,EAAE;oBACF,SAAS;oBACT,GAAG;oBACH,mBAAmB;oBACnB,QAAQ,MAAM,CAAC,EAAE,MAAM;oBACvB,0BAA0B;oBAC1B,kCAAkC;oBAClC,mCAAmC,MAAM,CAAC,EAAE,GAAG;oBAC/C,OAAO;oBACP,KAAK;oBACL,GAAG;oBACH,KAAK;iBACN,CAAC,IAAI,CAAC,IAAI,CAAC;aACb;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU;YACZ,CAAC,CAAC;gBACE;oBACE,WAAW;oBACX,EAAE;oBACF,qCAAqC;oBACrC,EAAE;oBACF,SAAS;oBACT,gBAAgB,MAAM,CAAC,EAAE,GAAG;oBAC5B,kBAAkB;oBAClB,8BAA8B,MAAM,CAAC,EAAE,kBAAkB;oBACzD,KAAK;iBACN,CAAC,IAAI,CAAC,IAAI,CAAC;aACb;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,MAAM,UAAU,GACd,WAAW,IAAI,UAAU;QACvB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,8KAA8K;QAC9L,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,4FAA4F;YAC5G,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,4GAA4G,CAAC;IAEnI,MAAM,iBAAiB,GACrB,WAAW,IAAI,UAAU;QACvB,CAAC,CAAC,sIAAsI;QACxI,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,+GAA+G;YACjH,CAAC,CAAC,4GAA4G,CAAC;IAErH,OAAO,KAAK,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI;;EAExC,MAAM,CAAC,WAAW;;SAEX,MAAM,CAAC,IAAI;;;;EAIlB,MAAM,CAAC,IAAI;;;;;;;6EAOgE,MAAM,CAAC,IAAI;;;;;;KAMnF,MAAM,CAAC,EAAE;;;;;;;OAOP,iBAAiB;eACT,MAAM,CAAC,IAAI;;;aAGb,MAAM,CAAC,IAAI;;;;EAItB,aAAa;;uCAEwB,MAAM,CAAC,IAAI;;EAEhD,SAAS;;;;EAIT,iBAAiB;;;;;;EAMjB,UAAU;;;;EAIV,cAAc;;;;EAId,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCV,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+BL,MAAM,CAAC,EAAE;;;;;;;;;;sCAUe,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;cAejC,MAAM,CAAC,IAAI,kEAAkE,MAAM,CAAC,IAAI;gBACtF,MAAM,CAAC,IAAI;;;;eAIZ,MAAM,CAAC,IAAI;;yBAED,MAAM,CAAC,IAAI;;;EAGlC,MAAM,CAAC,IAAI;;;8EAGiE,MAAM,CAAC,IAAI;;;EAGvF,MAAM,CAAC,IAAI;;;+CAGkC,MAAM,CAAC,IAAI;;;EAGxD,MAAM,CAAC,IAAI;;;;;;;;2BAQc,MAAM,CAAC,IAAI;;;EAGpC,MAAM,CAAC,IAAI;;;;;;EAMX,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;EAgBX,MAAM,CAAC,IAAI;;;;0BAIa,MAAM,CAAC,IAAI;;;;;;EAMnC,MAAM,CAAC,IAAI;;;;;;;mJAOsI,MAAM,CAAC,IAAI;;;;;;;EAO5J,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CX,MAAM,CAAC,IAAI;;;;;sCAKyB,MAAM,CAAC,IAAI;;;2CAGN,MAAM,CAAC,IAAI;;;;EAIpD,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCZ,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"readme.js","sourceRoot":"","sources":["../../src/templates/readme.ts"],"names":[],"mappings":"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"}