@plumpslabs/kuma 2.3.13 → 2.3.14

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.
@@ -490,19 +490,22 @@ function handleOpencodeSecondary(root, results) {
490
490
  "description: Kuma MCP \u2014 safety toolkit for AI coding agents. Research, memory, and safety guard.",
491
491
  "---",
492
492
  "",
493
- "Kuma MCP tools are installed (kuma_context, kuma_memory, kuma_safety).",
494
- '**Before coding, call `kuma_context({ action: "init" })`** to load project context and session memory.',
493
+ "Kuma MCP tools are installed (kuma_kuma_context, kuma_kuma_memory, kuma_kuma_safety).",
494
+ '**Before coding, call `kuma_kuma_context({ action: "init" })`** to load project context and session memory.',
495
495
  "Project knowledge persists in `.kuma/memories/*.md` across sessions.",
496
496
  "",
497
497
  "\u26A0\uFE0F **MANDATORY WORKFLOW** \u2014 Follow in order every session:",
498
498
  "",
499
- ' 1. `kuma_context({ action: "init" })` \u2014 Load context (START HERE)',
500
- ' 2. `kuma_safety({ action: "guard" })` \u2014 Safety check before work',
501
- ' 3. `kuma_context({ action: "research", scope: "<area>" })` \u2014 Research before editing',
499
+ ' 1. `kuma_kuma_context({ action: "init" })` \u2014 Load context (START HERE)',
500
+ ' 2. `kuma_kuma_safety({ action: "guard" })` \u2014 Safety check before work',
501
+ ' 3. `kuma_kuma_context({ action: "research", scope: "<area>" })` \u2014 Research before editing',
502
502
  " 4. *(edit using native tools)*",
503
- ' 5. `kuma_memory({ action: "research_save", scope: "<area>" })` \u2014 Save findings',
504
- ' 6. `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 Verify changes',
505
- ' 7. `kuma_context({ action: "changes" })` \u2014 Review changes',
503
+ ' 5. `kuma_kuma_memory({ action: "research_save", scope: "<area>" })` \u2014 Save findings',
504
+ ' 6. `kuma_kuma_safety({ action: "verify", scope: "<area>" })` \u2014 Verify changes',
505
+ ' 7. `kuma_kuma_context({ action: "changes" })` \u2014 Review changes',
506
+ "",
507
+ "\u26A0\uFE0F **OpenCode platform note:** Tool names are prefixed with `kuma_kuma_*`",
508
+ " (server name `kuma` + already-prefixed tool name `kuma_context`).",
506
509
  "",
507
510
  "\u{1F4D6} Full rules: `.kuma/init.md`"
508
511
  ].join("\n");
@@ -603,27 +606,84 @@ function handleQwenSecondary(root, results) {
603
606
  }
604
607
  }
605
608
  var AGENTS_MD_TYPES = ["opencode", "codex", "qwen", "copilot"];
606
- function getAgentsMdHeader() {
607
- return [
608
- "# Kuma MCP - Combined Agent Instructions",
609
+ function getCombinedAgentsMd(selectedTypes) {
610
+ const lines = [
611
+ "# Kuma MCP \u2014 Combined Agent Instructions",
609
612
  "",
610
- "This file contains instructions for AI coding agents that read AGENTS.md.",
611
- "Each section applies to a specific agent. Unused sections can be safely removed.",
613
+ "This file contains behavioral rules for AI coding agents. Unused sections can be safely removed.",
614
+ "",
615
+ "---",
616
+ "",
617
+ "## \u26A0\uFE0F MANDATORY WORKFLOW",
618
+ "",
619
+ "Follow these steps in order every session (all platforms):",
620
+ "",
621
+ ' 1. `[kuma_]context({ action: "init" })` \u2014 Load project context (START HERE)',
622
+ ' 2. `[kuma_]safety({ action: "guard" })` \u2014 Safety check before editing',
623
+ ' 3. `[kuma_]context({ action: "research", scope: "<area>" })` \u2014 Research before editing',
624
+ " 4. *(edit using native tools)*",
625
+ ' 5. `[kuma_]memory({ action: "research_save", ... })` \u2014 Save findings',
626
+ ' 6. `[kuma_]safety({ action: "verify", ... })` \u2014 Verify correctness',
627
+ ' 7. `[kuma_]context({ action: "changes" })` \u2014 Review changes',
628
+ "",
629
+ "\u26D4 Skipping workflow = stale context, missed decisions, unverified code.",
630
+ "",
631
+ "Replace `[kuma_]` with the correct prefix for your platform (see below).",
612
632
  "",
613
633
  "---",
614
- "_Generated by Kuma MCP - https://github.com/plumpslabs/kuma_",
615
634
  ""
616
- ].join("\n");
617
- }
618
- function getCombinedAgentsMd(selectedTypes) {
619
- const sections = [getAgentsMdHeader()];
620
- const agentOrder = ["opencode", "codex", "qwen", "copilot"];
621
- for (const t of agentOrder) {
622
- if (selectedTypes.has(t)) {
623
- sections.push(TEMPLATES[t]());
624
- }
635
+ ];
636
+ if (selectedTypes.has("opencode")) {
637
+ lines.push(
638
+ "### OpenCode",
639
+ "",
640
+ "OpenCode adds the MCP server name (`kuma`) as a prefix to tool names.",
641
+ "The server-registered names (kuma_context, kuma_memory, kuma_safety) become:",
642
+ "",
643
+ "| Action | Call this |",
644
+ "|--------|-----------|",
645
+ '| Init | `kuma_kuma_context({ action: "init" })` |',
646
+ '| Guard | `kuma_kuma_safety({ action: "guard" })` |',
647
+ '| Research | `kuma_kuma_context({ action: "research", scope: "..." })` |',
648
+ '| Save | `kuma_kuma_memory({ action: "research_save", ... })` |',
649
+ '| Verify | `kuma_kuma_safety({ action: "verify", ... })` |',
650
+ '| Changes | `kuma_kuma_context({ action: "changes" })` |',
651
+ "",
652
+ "\u{1F4D6} Skill: `.agents/skills/kuma/SKILL.md`",
653
+ "",
654
+ "---",
655
+ ""
656
+ );
657
+ }
658
+ const nonOpenCode = Array.from(selectedTypes).filter((t) => t !== "opencode");
659
+ if (nonOpenCode.length > 0) {
660
+ lines.push(
661
+ "### Other Platforms",
662
+ "",
663
+ ...nonOpenCode.map((t) => `- ${CONFIG_LABELS[t]}`),
664
+ "",
665
+ "Tool names are registered directly \u2014 no server prefix added:",
666
+ "",
667
+ "| Action | Call this |",
668
+ "|--------|-----------|",
669
+ '| Init | `kuma_context({ action: "init" })` |',
670
+ '| Guard | `kuma_safety({ action: "guard" })` |',
671
+ '| Research | `kuma_context({ action: "research", scope: "..." })` |',
672
+ '| Save | `kuma_memory({ action: "research_save", ... })` |',
673
+ '| Verify | `kuma_safety({ action: "verify", ... })` |',
674
+ '| Changes | `kuma_context({ action: "changes" })` |',
675
+ "",
676
+ "---",
677
+ ""
678
+ );
625
679
  }
626
- return sections.join("\n\n---\n\n");
680
+ lines.push(
681
+ "\u{1F4D6} Rules: `.kuma/init.md`",
682
+ "\u{1F9E0} Memories: `.kuma/memories/*.md`",
683
+ "",
684
+ "_Generated by Kuma MCP - https://github.com/plumpslabs/kuma_"
685
+ );
686
+ return lines.join("\n");
627
687
  }
628
688
  function handleAntigravityMcpConfig(root, results) {
629
689
  const mcpPath = path.resolve(root, ".agents/mcp_config.json");
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  ALL_CONFIG_TYPES,
9
9
  formatInitResults,
10
10
  runInit
11
- } from "./chunk-ITTJ4SGO.js";
11
+ } from "./chunk-LRO3HWGC.js";
12
12
  import {
13
13
  formatDecisionTemplate,
14
14
  getProactiveMemories,
@@ -2571,7 +2571,7 @@ async function main() {
2571
2571
  });
2572
2572
  (async () => {
2573
2573
  try {
2574
- const { generateInitMdContent } = await import("./init-AI6FVWZI.js");
2574
+ const { generateInitMdContent } = await import("./init-7MWMONZL.js");
2575
2575
  const fs7 = await import("fs");
2576
2576
  const path7 = await import("path");
2577
2577
  const initMdPath = path7.resolve(process.cwd(), ".kuma/init.md");
@@ -2588,7 +2588,7 @@ async function main() {
2588
2588
  (async () => {
2589
2589
  try {
2590
2590
  const { detectAgent, getSkillPath, getAgentLabel } = await import("./agentDetector-YOWQVJFR.js");
2591
- const { generateSkill, getSecondaryFiles } = await import("./skillGenerator-3PNJV5YU.js");
2591
+ const { generateSkill, getSecondaryFiles } = await import("./skillGenerator-JIHFTNH6.js");
2592
2592
  const fs7 = await import("fs");
2593
2593
  const path7 = await import("path");
2594
2594
  const detection = detectAgent();
@@ -4,7 +4,7 @@ import {
4
4
  formatInitResults,
5
5
  generateInitMdContent,
6
6
  runInit
7
- } from "./chunk-ITTJ4SGO.js";
7
+ } from "./chunk-LRO3HWGC.js";
8
8
  import "./chunk-E2KFPEBT.js";
9
9
  export {
10
10
  ALL_CONFIG_TYPES,
@@ -163,6 +163,10 @@ function generateOpencodeSkill() {
163
163
  "description: Kuma MCP \u2014 safety toolkit for AI coding agents. Research, memory, and safety guard.",
164
164
  "---",
165
165
  "",
166
+ "\u26A0\uFE0F **OpenCode platform note:** Tool names use `kuma_kuma_*` prefix",
167
+ " (server name `kuma` + already-prefixed `kuma_context`).",
168
+ ' Example: `kuma_kuma_context({ action: "init" })`',
169
+ "",
166
170
  BOOTSTRAP,
167
171
  "",
168
172
  "\u{1F4D6} Read `.kuma/init.md` for detailed rules."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumpslabs/kuma",
3
- "version": "2.3.13",
3
+ "version": "2.3.14",
4
4
  "description": "Safety-first context & orchestration engine for AI coding agents. MCP server with mandatory research pipeline, knowledge graph, impact analysis, decision memory, and safety guard — works with any MCP client.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",