@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).
|
|
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
|
|
480
|
-
|
|
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
|
-
"\
|
|
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-
|
|
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-
|
|
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-
|
|
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();
|
|
@@ -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).
|
|
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
|
-
|
|
64
|
-
' \u2022 `
|
|
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
|
-
|
|
80
|
-
' \u2022 `
|
|
81
|
-
' \u2022 `
|
|
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
|
-
|
|
98
|
-
' \u2022 `
|
|
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
|
-
|
|
113
|
-
' \u2022 `
|
|
114
|
-
' \u2022 `
|
|
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
|
-
|
|
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
|
-
|
|
165
|
-
' \u2022 `
|
|
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
|
-
|
|
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
|
-
|
|
201
|
-
' \u2022 `
|
|
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
|
-
|
|
213
|
-
' \u2022 `
|
|
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
|
-
|
|
240
|
-
' \u2022 `
|
|
241
|
-
' \u2022 `
|
|
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
|
-
|
|
256
|
-
' \u2022 `
|
|
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.
|
|
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",
|