@plumpslabs/kuma 2.3.12 → 2.3.13

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.
@@ -66,9 +66,23 @@ function configFilePath(type) {
66
66
  }
67
67
  }
68
68
  var BOOTSTRAP_LINES = [
69
- "Kuma MCP tools are installed (kuma_context, kuma_memory, kuma_safety). All behavioral rules are in `.kuma/init.md`.",
69
+ "Kuma MCP tools are installed (kuma_context, kuma_memory, kuma_safety).",
70
70
  '**Before coding, call `kuma_context({ action: "init" })`** to load project context and session memory.',
71
- "Project knowledge persists in `.kuma/memories/*.md` across sessions."
71
+ "Project knowledge persists in `.kuma/memories/*.md` across sessions.",
72
+ "",
73
+ "\u26A0\uFE0F **MANDATORY WORKFLOW** \u2014 Follow in order every session:",
74
+ "",
75
+ ' 1. `kuma_context({ action: "init" })` \u2014 Load context (START HERE)',
76
+ ' 2. `kuma_safety({ action: "guard" })` \u2014 Safety check before work',
77
+ ' 3. `kuma_context({ action: "research", scope: "<area>" })` \u2014 Research before editing',
78
+ " 4. *(edit using native tools)*",
79
+ ' 5. `kuma_memory({ action: "research_save", scope: "<area>" })` \u2014 Save findings',
80
+ ' 6. `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 Verify changes',
81
+ ' 7. `kuma_context({ action: "changes" })` \u2014 Review changes',
82
+ "",
83
+ "\u26D4 Skipping workflow = stale context, missed decisions, unverified code.",
84
+ "\u{1F4D6} Full rules: `.kuma/init.md`",
85
+ "\u{1F9E0} Tools: `kuma_context` | `kuma_memory` | `kuma_safety`"
72
86
  ].join("\n");
73
87
  var KUMA_CORE_INSTRUCTIONS = BOOTSTRAP_LINES;
74
88
  function claudeTemplate() {
@@ -476,11 +490,21 @@ function handleOpencodeSecondary(root, results) {
476
490
  "description: Kuma MCP \u2014 safety toolkit for AI coding agents. Research, memory, and safety guard.",
477
491
  "---",
478
492
  "",
479
- "Kuma MCP tools are installed. All behavioral rules are in `.kuma/init.md`.",
480
- "**Before coding, call `kuma_init()` to load project context and session memory.**",
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.',
481
495
  "Project knowledge persists in `.kuma/memories/*.md` across sessions.",
482
496
  "",
483
- "\u{1F4D6} Read `.kuma/init.md` for detailed rules."
497
+ "\u26A0\uFE0F **MANDATORY WORKFLOW** \u2014 Follow in order every session:",
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',
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',
506
+ "",
507
+ "\u{1F4D6} Full rules: `.kuma/init.md`"
484
508
  ].join("\n");
485
509
  if (fs.existsSync(skillPath)) {
486
510
  const existing = fs.readFileSync(skillPath, "utf-8");
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  ALL_CONFIG_TYPES,
9
9
  formatInitResults,
10
10
  runInit
11
- } from "./chunk-CRQ7WTPV.js";
11
+ } from "./chunk-ITTJ4SGO.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-OMETJFLM.js");
2574
+ const { generateInitMdContent } = await import("./init-AI6FVWZI.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-RGXRSBX2.js");
2591
+ const { generateSkill, getSecondaryFiles } = await import("./skillGenerator-3PNJV5YU.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-CRQ7WTPV.js";
7
+ } from "./chunk-ITTJ4SGO.js";
8
8
  import "./chunk-E2KFPEBT.js";
9
9
  export {
10
10
  ALL_CONFIG_TYPES,
@@ -1,8 +1,22 @@
1
1
  // src/utils/skillGenerator.ts
2
2
  var BOOTSTRAP = [
3
- "Kuma MCP tools are available (kuma_context, kuma_memory, kuma_safety). All behavioral rules are in `.kuma/init.md`.",
3
+ "Kuma MCP tools are available (kuma_context, kuma_memory, kuma_safety).",
4
4
  '**Before coding, call `kuma_context({ action: "init" })`** to load project context and session memory.',
5
- "Project knowledge persists in `.kuma/memories/*.md` across sessions."
5
+ "Project knowledge persists in `.kuma/memories/*.md` across sessions.",
6
+ "",
7
+ "\u26A0\uFE0F **MANDATORY WORKFLOW** \u2014 Follow in order every session:",
8
+ "",
9
+ ' 1. `kuma_context({ action: "init" })` \u2014 Load context (START HERE)',
10
+ ' 2. `kuma_safety({ action: "guard" })` \u2014 Safety check before work',
11
+ ' 3. `kuma_context({ action: "research", scope: "<area>" })` \u2014 Research before editing',
12
+ " 4. *(edit using native tools)*",
13
+ ' 5. `kuma_memory({ action: "research_save", scope: "<area>" })` \u2014 Save findings',
14
+ ' 6. `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 Verify changes',
15
+ ' 7. `kuma_context({ action: "changes" })` \u2014 Review changes',
16
+ "",
17
+ "\u26D4 Skipping workflow = stale context, missed decisions, unverified code.",
18
+ "\u{1F4D6} Full rules: `.kuma/init.md`",
19
+ "\u{1F9E0} Tools: `kuma_context` | `kuma_memory` | `kuma_safety`"
6
20
  ].join("\n");
7
21
  function generateSkill(type) {
8
22
  switch (type) {
@@ -60,8 +74,9 @@ function generateClaudeSkill() {
60
74
  BOOTSTRAP,
61
75
  "",
62
76
  "\u{1F4D6} **Usage:**",
63
- " \u2022 `kuma_init()` \u2014 load project context (call first)",
64
- ' \u2022 `kuma_guard({check: "all"})` \u2014 safety check before risky ops',
77
+ ' \u2022 `kuma_context({ action: "init" })` \u2014 load project context (call first)',
78
+ ' \u2022 `kuma_safety({ action: "guard" })` \u2014 safety check before risky ops',
79
+ ' \u2022 `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 verify after edits',
65
80
  " \u2022 `.kuma/init.md` \u2014 full behavioral rules",
66
81
  " \u2022 `.kuma/memories/` \u2014 persistent project knowledge"
67
82
  ].join("\n");
@@ -76,9 +91,9 @@ function generateCursorSkill() {
76
91
  BOOTSTRAP,
77
92
  "",
78
93
  "\u{1F4D6} **Usage:**",
79
- " \u2022 `kuma_init()` \u2014 load project context (call first)",
80
- ' \u2022 `kuma_guard({check: "all"})` \u2014 safety check before risky ops',
81
- ' \u2022 `kuma_verify({action: "test"})` \u2014 verify after edits',
94
+ ' \u2022 `kuma_context({ action: "init" })` \u2014 load project context (call first)',
95
+ ' \u2022 `kuma_safety({ action: "guard" })` \u2014 safety check before risky ops',
96
+ ' \u2022 `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 verify after edits',
82
97
  " \u2022 `.kuma/init.md` \u2014 full behavioral rules",
83
98
  " \u2022 `.kuma/memories/` \u2014 persistent project knowledge"
84
99
  ].join("\n");
@@ -94,8 +109,9 @@ function generateClineSkill() {
94
109
  BOOTSTRAP,
95
110
  "",
96
111
  "\u{1F4D6} **Usage:**",
97
- " \u2022 `kuma_init()` \u2014 load project context (call first)",
98
- ' \u2022 `kuma_guard({check: "all"})` \u2014 safety check before risky ops',
112
+ ' \u2022 `kuma_context({ action: "init" })` \u2014 load project context (call first)',
113
+ ' \u2022 `kuma_safety({ action: "guard" })` \u2014 safety check before risky ops',
114
+ ' \u2022 `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 verify after edits',
99
115
  " \u2022 `.kuma/init.md` \u2014 full behavioral rules"
100
116
  ].join("\n");
101
117
  }
@@ -109,9 +125,9 @@ function generateAntigravitySkill() {
109
125
  BOOTSTRAP,
110
126
  "",
111
127
  "\u{1F4D6} **Usage:**",
112
- " \u2022 `kuma_init()` \u2014 load project context (call first)",
113
- ' \u2022 `kuma_guard({check: "all"})` \u2014 safety check',
114
- ' \u2022 `kuma_verify({action: "test"})` \u2014 verify after edits',
128
+ ' \u2022 `kuma_context({ action: "init" })` \u2014 load project context (call first)',
129
+ ' \u2022 `kuma_safety({ action: "guard" })` \u2014 safety check',
130
+ ' \u2022 `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 verify after edits',
115
131
  " \u2022 `.kuma/init.md` \u2014 full behavioral rules"
116
132
  ].join("\n");
117
133
  }
@@ -147,9 +163,7 @@ function generateOpencodeSkill() {
147
163
  "description: Kuma MCP \u2014 safety toolkit for AI coding agents. Research, memory, and safety guard.",
148
164
  "---",
149
165
  "",
150
- "Kuma MCP tools are installed. All behavioral rules are in `.kuma/init.md`.",
151
- "**Before coding, call `kuma_init()` to load project context and session memory.**",
152
- "Project knowledge persists in `.kuma/memories/*.md` across sessions.",
166
+ BOOTSTRAP,
153
167
  "",
154
168
  "\u{1F4D6} Read `.kuma/init.md` for detailed rules."
155
169
  ].join("\n");
@@ -161,8 +175,9 @@ function generateAiderSkill() {
161
175
  BOOTSTRAP,
162
176
  "",
163
177
  "\u{1F4D6} **Usage:**",
164
- " \u2022 `kuma_init()` \u2014 load project context (call first)",
165
- ' \u2022 `kuma_guard({check: "all"})` \u2014 safety check',
178
+ ' \u2022 `kuma_context({ action: "init" })` \u2014 load project context (call first)',
179
+ ' \u2022 `kuma_safety({ action: "guard" })` \u2014 safety check',
180
+ ' \u2022 `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 verify after edits',
166
181
  " \u2022 `.kuma/init.md` \u2014 full behavioral rules"
167
182
  ].join("\n");
168
183
  }
@@ -179,10 +194,7 @@ function generateWindsurfSkill() {
179
194
  return [
180
195
  "# Kuma MCP \u2014 Windsurf",
181
196
  "",
182
- "Windsurf Cascade agent: Kuma MCP tools are available.",
183
- "All behavioral rules are in `.kuma/init.md`.",
184
- "**Before coding, call `kuma_init()` to load project context.**",
185
- "Project knowledge persists in `.kuma/memories/*.md` across sessions.",
197
+ BOOTSTRAP,
186
198
  "",
187
199
  "Also auto-detected via `.windsurf/skills/` and `.agents/skills/`."
188
200
  ].join("\n");
@@ -197,8 +209,9 @@ function generateCopilotSkill() {
197
209
  BOOTSTRAP,
198
210
  "",
199
211
  "\u{1F4D6} **Usage:**",
200
- " \u2022 `kuma_init()` \u2014 load project context (call first)",
201
- ' \u2022 `kuma_guard({check: "all"})` \u2014 safety check',
212
+ ' \u2022 `kuma_context({ action: "init" })` \u2014 load project context (call first)',
213
+ ' \u2022 `kuma_safety({ action: "guard" })` \u2014 safety check',
214
+ ' \u2022 `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 verify after edits',
202
215
  " \u2022 `.kuma/init.md` \u2014 full behavioral rules"
203
216
  ].join("\n");
204
217
  }
@@ -209,8 +222,9 @@ function generateQwenSkill() {
209
222
  BOOTSTRAP,
210
223
  "",
211
224
  "\u{1F4D6} **Usage:**",
212
- " \u2022 `kuma_init()` \u2014 load project context (call first)",
213
- ' \u2022 `kuma_guard({check: "all"})` \u2014 safety check',
225
+ ' \u2022 `kuma_context({ action: "init" })` \u2014 load project context (call first)',
226
+ ' \u2022 `kuma_safety({ action: "guard" })` \u2014 safety check',
227
+ ' \u2022 `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 verify after edits',
214
228
  " \u2022 `.kuma/init.md` \u2014 full behavioral rules"
215
229
  ].join("\n");
216
230
  }
@@ -236,9 +250,9 @@ function generateKiroSkill() {
236
250
  BOOTSTRAP,
237
251
  "",
238
252
  "\u{1F4D6} **Usage:**",
239
- " \u2022 `kuma_init()` \u2014 load project context (call first)",
240
- ' \u2022 `kuma_guard({check: "all"})` \u2014 safety check',
241
- ' \u2022 `kuma_verify({action: "test"})` \u2014 verify after edits',
253
+ ' \u2022 `kuma_context({ action: "init" })` \u2014 load project context (call first)',
254
+ ' \u2022 `kuma_safety({ action: "guard" })` \u2014 safety check',
255
+ ' \u2022 `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 verify after edits',
242
256
  " \u2022 `.kuma/init.md` \u2014 full behavioral rules"
243
257
  ].join("\n");
244
258
  }
@@ -252,8 +266,9 @@ function generateOpenclawSkill() {
252
266
  BOOTSTRAP,
253
267
  "",
254
268
  "\u{1F4D6} **Usage:**",
255
- " \u2022 `kuma_init()` \u2014 load project context (call first)",
256
- ' \u2022 `kuma_guard({check: "all"})` \u2014 safety check',
269
+ ' \u2022 `kuma_context({ action: "init" })` \u2014 load project context (call first)',
270
+ ' \u2022 `kuma_safety({ action: "guard" })` \u2014 safety check',
271
+ ' \u2022 `kuma_safety({ action: "verify", scope: "<area>" })` \u2014 verify after edits',
257
272
  " \u2022 `.kuma/init.md` \u2014 full behavioral rules"
258
273
  ].join("\n");
259
274
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumpslabs/kuma",
3
- "version": "2.3.12",
3
+ "version": "2.3.13",
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",