@monoes/monomindcli 2.8.0 → 2.8.2

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 (53) hide show
  1. package/.claude/helpers/handlers/edit-handler.cjs +0 -2
  2. package/.claude/helpers/handlers/route-handler.cjs +30 -10
  3. package/README.md +9 -2
  4. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  5. package/dist/src/init/claudemd-generator.js +20 -54
  6. package/dist/src/init/claudemd-generator.js.map +1 -1
  7. package/dist/src/init/executor.d.ts.map +1 -1
  8. package/dist/src/init/executor.js +44 -1
  9. package/dist/src/init/executor.js.map +1 -1
  10. package/dist/src/init/geminimd-generator.d.ts.map +1 -1
  11. package/dist/src/init/geminimd-generator.js +1 -13
  12. package/dist/src/init/geminimd-generator.js.map +1 -1
  13. package/dist/src/init/kimi-generator.d.ts +18 -0
  14. package/dist/src/init/kimi-generator.d.ts.map +1 -1
  15. package/dist/src/init/kimi-generator.js +63 -0
  16. package/dist/src/init/kimi-generator.js.map +1 -1
  17. package/dist/src/init/settings-generator.d.ts.map +1 -1
  18. package/dist/src/init/settings-generator.js +0 -11
  19. package/dist/src/init/settings-generator.js.map +1 -1
  20. package/dist/src/init/shared-instructions-generator.d.ts.map +1 -1
  21. package/dist/src/init/shared-instructions-generator.js +0 -21
  22. package/dist/src/init/shared-instructions-generator.js.map +1 -1
  23. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  24. package/dist/src/knowledge/document-pipeline.js +8 -1
  25. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  26. package/dist/src/mcp-client.d.ts +4 -3
  27. package/dist/src/mcp-client.d.ts.map +1 -1
  28. package/dist/src/mcp-client.js +23 -4
  29. package/dist/src/mcp-client.js.map +1 -1
  30. package/dist/src/mcp-tools/agent-tools.js +1 -1
  31. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  32. package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
  33. package/dist/src/mcp-tools/knowledge-tools.js +11 -3
  34. package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
  35. package/dist/src/mcp-tools/memory-tools.js +2 -2
  36. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  37. package/dist/src/mcp-tools/monomind-tools.js +2 -2
  38. package/dist/src/mcp-tools/monomind-tools.js.map +1 -1
  39. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  40. package/dist/src/memory/memory-bridge.js +31 -6
  41. package/dist/src/memory/memory-bridge.js.map +1 -1
  42. package/dist/src/orgrt/daemon.d.ts +7 -0
  43. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  44. package/dist/src/orgrt/daemon.js +31 -9
  45. package/dist/src/orgrt/daemon.js.map +1 -1
  46. package/dist/src/orgrt/session.d.ts.map +1 -1
  47. package/dist/src/orgrt/session.js +2 -4
  48. package/dist/src/orgrt/session.js.map +1 -1
  49. package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
  50. package/dist/src/orgrt/tool-fence.js +10 -6
  51. package/dist/src/orgrt/tool-fence.js.map +1 -1
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. package/package.json +2 -2
@@ -172,7 +172,5 @@ module.exports = {
172
172
  }, '@monoes/hooks.PostEdit');
173
173
  } catch (e) { /* non-fatal */ }
174
174
  }
175
-
176
- console.log('[OK] Edit recorded');
177
175
  }
178
176
  };
@@ -467,9 +467,10 @@ module.exports = {
467
467
  );
468
468
  }
469
469
  // Relevance floor: injecting weak matches pollutes every prompt's
470
- // context — configurable via .monomind/second-brain.json, default 0.35.
471
- var sbFloor = 0.35;
472
- var sbInjectionLimit = 5;
470
+ // context — configurable via .monomind/second-brain.json, default
471
+ // 0.35 for semantic hits, 0.5 for the noisier keyword fallback.
472
+ var sbFloor = sbMethod === 'keyword' ? 0.5 : 0.35;
473
+ var sbInjectionLimit = 3;
473
474
  try {
474
475
  var sbConf = JSON.parse(fs.readFileSync(path.join(CWD, '.monomind', 'second-brain.json'), 'utf-8'));
475
476
  if (typeof sbConf.relevanceFloor === 'number') sbFloor = sbConf.relevanceFloor;
@@ -511,7 +512,7 @@ module.exports = {
511
512
  for (var sbI = 0; sbI < sbHits.length; sbI++) {
512
513
  var sbH = sbHits[sbI];
513
514
  var sbSrc = (sbH.metadata && sbH.metadata.filePath) ? String(sbH.metadata.filePath).split('/').slice(-2).join('/') : sbH.key;
514
- var sbText = String(sbH.value || '').replace(/\s+/g, ' ').slice(0, 240);
515
+ var sbText = String(sbH.value || '').replace(/\s+/g, ' ').slice(0, 160);
515
516
  sbLines.push(' • [' + sbSrc + (sbH.global ? ' · global' : '') + '] ' + sbText);
516
517
  }
517
518
  sbLines.push(' (deeper lookup: mcp__monomind__knowledge_search or `monomind doc search -q "..."`)');
@@ -542,6 +543,25 @@ module.exports = {
542
543
  // ── Surface daemon metrics warnings (hook latency, token spikes) ──
543
544
  try {
544
545
  var metricsDir = path.join(CWD, '.monomind', 'metrics');
546
+ // Static metrics banners ([CODEBASE]/[DEEPDIVE]/[ARCHITECTURE]/[MEMORY]/
547
+ // [AUDIT]) carry identical content until the underlying metrics file
548
+ // changes, so re-injecting them on every prompt is pure token waste.
549
+ // Show each at most once per session per file version, keyed on the
550
+ // file's mtime — same marker-file pattern as mcp-not-connected-warned.json
551
+ // below. If the metrics file is rewritten, the banner may fire again.
552
+ var bannerSessId = String((hCtx.hookInput && (hCtx.hookInput.sessionId || hCtx.hookInput.session_id)) || '');
553
+ var bannerShownOnce = function (tag, metricsFilePath) {
554
+ try {
555
+ var mtimeMs = fs.statSync(metricsFilePath).mtimeMs;
556
+ var markerFile = path.join(CWD, '.monomind', 'banner-shown-' + tag + '.json');
557
+ if (fs.existsSync(markerFile)) {
558
+ var markerData = JSON.parse(fs.readFileSync(markerFile, 'utf-8'));
559
+ if (markerData && markerData.sessionId === bannerSessId && markerData.mtimeMs === mtimeMs) return false;
560
+ }
561
+ fs.writeFileSync(markerFile, JSON.stringify({ sessionId: bannerSessId, mtimeMs: mtimeMs, shownAt: new Date().toISOString() }));
562
+ return true;
563
+ } catch (e) { return true; /* unreadable state — show rather than suppress */ }
564
+ };
545
565
  // Hook latency warnings
546
566
  var latencyFile = path.join(metricsDir, 'hook-latency.json');
547
567
  if (fs.existsSync(latencyFile) && fs.statSync(latencyFile).size < 32768) {
@@ -566,7 +586,7 @@ module.exports = {
566
586
  var serious = secData.findings.filter(function (f) { return f && (f.severity === 'high' || f.severity === 'medium'); });
567
587
  if (serious.length > 0) {
568
588
  advisoryLog('[SECURITY] ' + serious.length + ' finding(s) from background scan. Review .monomind/metrics/security-audit.json');
569
- } else {
589
+ } else if (bannerShownOnce('audit', secAuditFile)) {
570
590
  advisoryLog('[AUDIT] ' + secData.findings.length + ' low-severity note(s) (architecture heuristics, not vulnerabilities) — .monomind/metrics/security-audit.json');
571
591
  }
572
592
  }
@@ -575,10 +595,10 @@ module.exports = {
575
595
  var mapFile = path.join(metricsDir, 'codebase-map.json');
576
596
  if (fs.existsSync(mapFile) && fs.statSync(mapFile).size < 32768) {
577
597
  var mapData = JSON.parse(fs.readFileSync(mapFile, 'utf-8'));
578
- if (mapData && mapData.topFiles && mapData.topFiles.length > 0) {
598
+ if (mapData && mapData.topFiles && mapData.topFiles.length > 0 && bannerShownOnce('codebase', mapFile)) {
579
599
  advisoryLog('[CODEBASE] ' + mapData.topFiles.length + ' high-centrality files. Top: ' + (mapData.topFiles[0].ref || 'unknown') + ' (degree ' + (mapData.topFiles[0].degree || '?') + ')');
580
600
  }
581
- if (mapData && mapData.graphStaleness && mapData.graphStaleness.commitsBehind > 10) {
601
+ if (mapData && mapData.graphStaleness && mapData.graphStaleness.commitsBehind > 10 && bannerShownOnce('codebase-staleness', mapFile)) {
582
602
  advisoryLog('[CODEBASE] Graph index ' + mapData.graphStaleness.commitsBehind + ' commits behind HEAD — run monograph build');
583
603
  }
584
604
  }
@@ -618,7 +638,7 @@ module.exports = {
618
638
  if (ddData && ddData.findings && ddData.findings.length > 0) {
619
639
  for (var di = 0; di < ddData.findings.length; di++) {
620
640
  var finding = ddData.findings[di];
621
- if (finding.category === 'god_nodes' && finding.items && finding.items.length > 0) {
641
+ if (finding.category === 'god_nodes' && finding.items && finding.items.length > 0 && bannerShownOnce('deepdive', deepdiveFile)) {
622
642
  var topGod = finding.items[0];
623
643
  advisoryLog('[DEEPDIVE] ' + finding.items.length + ' god nodes. Top: ' + (topGod.name || 'unknown') + ' (degree ' + (topGod.degree || '?') + ') in ' + (topGod.file || 'unknown'));
624
644
  }
@@ -632,7 +652,7 @@ module.exports = {
632
652
  if (ulData && ulData.insightsGained && ulData.insightsGained.length > 0) {
633
653
  for (var ui = 0; ui < ulData.insightsGained.length; ui++) {
634
654
  var insight = ulData.insightsGained[ui];
635
- if (insight.category === 'bridge_nodes' && insight.items && insight.items.length > 0) {
655
+ if (insight.category === 'bridge_nodes' && insight.items && insight.items.length > 0 && bannerShownOnce('architecture', ultralearnFile)) {
636
656
  var topBridge = insight.items[0];
637
657
  advisoryLog('[ARCHITECTURE] ' + insight.items.length + ' bridge nodes crossing community boundaries. Top: ' + (topBridge.name || 'unknown') + ' (' + (topBridge.crossCommunityEdges || '?') + ' cross-edges) in ' + (topBridge.location || 'unknown'));
638
658
  }
@@ -655,7 +675,7 @@ module.exports = {
655
675
  var consolFile = path.join(metricsDir, 'consolidation.json');
656
676
  if (fs.existsSync(consolFile) && fs.statSync(consolFile).size < 32768) {
657
677
  var consolData = JSON.parse(fs.readFileSync(consolFile, 'utf-8'));
658
- if (consolData && consolData.patternsConsolidated > 0) {
678
+ if (consolData && consolData.patternsConsolidated > 0 && bannerShownOnce('memory', consolFile)) {
659
679
  advisoryLog('[MEMORY] ' + consolData.patternsConsolidated + ' patterns consolidated into ' + consolData.clustersCreated + ' RAPTOR clusters');
660
680
  }
661
681
  }
package/README.md CHANGED
@@ -44,7 +44,14 @@ claude mcp add monomind -- npx -y monomind@latest mcp start
44
44
  ```
45
45
 
46
46
  <details>
47
- <summary><strong>Using opencode or Antigravity instead?</strong></summary>
47
+ <summary><strong>Using Antigravity (agy)?</strong></summary>
48
+
49
+ Nothing extra to do — agy output is part of **default** `monomind init`: `GEMINI.md`, `.gemini/rules/`, and a live status bar wired through `.gemini/settings.json`. The MCP server config is shared with Claude Code (`.mcp.json`). See [Antigravity guide →](doc/concepts/antigravity.md).
50
+
51
+ </details>
52
+
53
+ <details>
54
+ <summary><strong>Using opencode instead?</strong></summary>
48
55
 
49
56
  ```bash
50
57
  monomind init --opencode # emits opencode.json + .opencode/ alongside Claude/Antigravity output
@@ -61,7 +68,7 @@ monomind init --opencode # emits opencode.json + .opencode/ alongside Clau
61
68
  monomind init --kimicode # emits .kimi-code/ + AGENTS.md alongside Claude/Antigravity output
62
69
  ```
63
70
 
64
- `--kimicode` is additive — it never touches your `.claude/` or `.gemini/` config. You get the same MCP tools, agent roster, skills, and commands (as project-level flow skills). Install the generated plugin once for `/monomind:*` slash commands and security gates: `/plugins install ./.kimi-code/plugin`. See [Kimi Code guide →](doc/concepts/kimicode.md).
71
+ `--kimicode` is additive — it never touches your `.claude/` or `.gemini/` config. You get the same MCP tools, agent roster, skills, and commands (as project-level flow skills). Install the generated plugin once for `/monomind:*` slash commands and security gates: `/plugins install ./.kimi-code/plugin`. If `~/.kimi-code/` exists, init also wires the monomind status bar into kimi's footer. See [Kimi Code guide →](doc/concepts/kimicode.md).
65
72
 
66
73
  </details>
67
74
 
@@ -1 +1 @@
1
- {"version":3,"file":"claudemd-generator.d.ts","sourceRoot":"","sources":["../../../src/init/claudemd-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAinBhE;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAQ1F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAEpE;AAED,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAOtF,CAAC;eAEa,gBAAgB"}
1
+ {"version":3,"file":"claudemd-generator.d.ts","sourceRoot":"","sources":["../../../src/init/claudemd-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAglBhE;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAQ1F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAEpE;AAED,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAOtF,CAAC;eAEa,gBAAgB"}
@@ -124,6 +124,18 @@ function swarmOrchestration() {
124
124
  - Never use CLI tools alone for execution — Task tool agents do the actual work
125
125
  - MUST call CLI tools AND Task tool in ONE message for complex work`;
126
126
  }
127
+ // Consolidated spawn/anti-drift rule — emitted ONCE in the standard template
128
+ // (previously repeated across Swarm Orchestration, Anti-Drift, and Execution
129
+ // Rules). Kept out of the minimal template entirely.
130
+ function swarmRules() {
131
+ return `## Swarm Rules
132
+
133
+ - MUST initialize the swarm for complex tasks: \`npx monomind@latest swarm init --topology hierarchical --max-agents 8 --strategy specialized\`
134
+ - ALWAYS spawn ALL agents in ONE message via the Task tool with \`run_in_background: true\` — CLI tools coordinate, Task agents do the work
135
+ - After spawning, STOP — never poll TaskOutput or check swarm status; trust agents to return
136
+ - When agent results arrive, review ALL results before proceeding
137
+ - Keep shared memory namespace for all agents; run frequent checkpoints via \`post-task\` hooks`;
138
+ }
127
139
  function antiDriftConfig() {
128
140
  return `## Swarm Configuration & Anti-Drift
129
141
 
@@ -281,21 +293,14 @@ npx monomind@latest hooks post-task --task-id "[id]" --success true --store-resu
281
293
  - ALWAYS store patterns in memory after solving bugs, completing features, or finding optimizations`;
282
294
  }
283
295
  function memoryCommands() {
284
- return `## Memory Commands Reference
296
+ return `## Memory Commands
285
297
 
286
298
  \`\`\`bash
287
- # Store (REQUIRED: --key, --value; OPTIONAL: --namespace, --ttl, --tags)
288
299
  npx monomind@latest memory store --key "pattern-auth" --value "JWT with refresh" --namespace patterns
289
-
290
- # Search (REQUIRED: --query; OPTIONAL: --namespace, --limit, --threshold)
291
300
  npx monomind@latest memory search --query "authentication patterns"
301
+ \`\`\`
292
302
 
293
- # List (OPTIONAL: --namespace, --limit)
294
- npx monomind@latest memory list --namespace patterns --limit 10
295
-
296
- # Retrieve (REQUIRED: --key; OPTIONAL: --namespace)
297
- npx monomind@latest memory retrieve --key "pattern-auth" --namespace patterns
298
- \`\`\``;
303
+ Full command reference: \`npx monomind@latest memory --help\``;
299
304
  }
300
305
  function securityRulesLight() {
301
306
  return `## Security Rules
@@ -390,7 +395,7 @@ MONOMIND_MEMORY_PATH=./data/memory
390
395
  function secondBrainSection() {
391
396
  return `## Second Brain — Document Knowledge Base
392
397
 
393
- If the \`documents\` capability is active (check \`.monomind/capabilities.json\`), this project indexes documents into a semantic search engine. Supported formats: Word (.docx, .doc), Excel (.xlsx, .xls), PowerPoint (.pptx, .ppt), PDF, OpenDocument (.odt, .ods, .odp), plain text (.md, .txt, .rst, .tex, .csv, .tsv), RTF, EPUB, and Apple Pages. Google Drive files (Docs, Sheets, Slides) are exported as Office formats and handled by the same extractors.
398
+ If the \`documents\` capability is active (check \`.monomind/capabilities.json\`), this project indexes documents (Office, PDF, plain text, and more) into a semantic search engine.
394
399
 
395
400
  **When documents are indexed, search knowledge before answering questions about business, compliance, legal, or organizational topics:**
396
401
  - Call \`mcp__monomind__knowledge_search\` with a relevant query (add \`store: "project"\` or \`"global"\` to search one brain only; default merges both)
@@ -398,17 +403,6 @@ If the \`documents\` capability is active (check \`.monomind/capabilities.json\`
398
403
  - Cite the source document name when referencing specific information
399
404
  - Add with \`mcp__monomind__knowledge_ingest\`; retract a wrong or stale document with \`mcp__monomind__knowledge_remove\` (hides it from search immediately, reversible by re-ingesting)
400
405
 
401
- **CLI access:**
402
- \`\`\`bash
403
- monomind doc search -q "your query" # Semantic search (project + global brain merged)
404
- monomind doc search -q "..." --store global # Personal global brain only
405
- monomind doc list # List indexed docs (--global for the global brain)
406
- monomind doc ingest ./path # Ingest new documents (paths outside the project auto-route to the global brain)
407
- monomind doc export # Export as OKF bundle (--global to move your brain between machines)
408
- monomind doc import ./bundle # Import an OKF bundle (--global to restore a personal brain)
409
- monomind doc remove ./docs/old.md # Forget a document — hidden from search immediately
410
- \`\`\`
411
-
412
406
  **Global brain:** the user has a personal cross-project knowledge store at \`~/.monomind/global-brain\`. All searches (knowledge_search, doc search, per-prompt injection) automatically merge it with project knowledge — project results win ties, global hits are labeled \`[global]\`. Cite the label so the user knows which brain answered.
413
407
 
414
408
  **Re-indexing** happens automatically on session start (unchanged files are skipped via content hash).`;
@@ -431,30 +425,7 @@ Built into monomind — no separate install. Pure TypeScript, parses TS/JS/Pytho
431
425
 
432
426
  **If graph is empty:** call \`mcp__monomind__monograph_build\` (runs in background; proceed with grep while it builds).
433
427
 
434
- ### Available Tools (prefix: \`mcp__monomind__\`)
435
-
436
- | Tool | Use when |
437
- |------|----------|
438
- | \`monograph_suggest\` | **Start every multi-file task** — ranked by task relevance |
439
- | \`monograph_query\` | **Primary code lookup** — BM25 search, returns file + line |
440
- | \`monograph_context\` | 360° symbol view: callers, callees, imports, community |
441
- | \`monograph_impact\` | Blast radius before a change — transitive callers + risk score |
442
- | \`monograph_build\` | Build/rebuild the index (codeOnly:true for code-only) |
443
- | \`monograph_god_nodes\` | High-centrality files — find the most connected internal nodes |
444
- | \`monograph_detect_changes\` | Git diff → affected symbols since base branch |
445
- | \`monograph_rename\` | Dry-run multi-file rename — all reference sites, never writes |
446
- | \`monograph_route_map\` | List all HTTP routes with handler info |
447
- | \`monograph_api_impact\` | Blast radius of an API route |
448
- | \`monograph_cypher\` | Single-hop MATCH query over the graph |
449
- | \`monograph_staleness\` | Git commits since last index build |
450
- | \`monograph_stats\` | Node/edge/community counts |
451
- | \`monograph_health\` | Index freshness vs current HEAD |
452
- | \`monograph_shortest_path\` | Shortest dependency path between two symbols |
453
- | \`monograph_community\` | All nodes in a community cluster |
454
- | \`monograph_export\` | Export graph: json, svg, graphml, cypher, obsidian |
455
- | \`monograph_augment\` | Graph-RAG context block for AI prompts |
456
- | \`monograph_doctor\` | Platform diagnostics (Node version, DB health) |
457
- | \`monograph_list_repos\` | Global registry of indexed repos |
428
+ Core tools (prefix: \`mcp__monomind__\`): \`monograph_build\`, \`monograph_query\`, \`monograph_suggest\`, \`monograph_impact\` — the full tool list self-describes via MCP.
458
429
 
459
430
  ### Skip monograph for
460
431
  Single-file edits, doc/config changes, quick fixes where you already know the exact file.`;
@@ -496,9 +467,6 @@ const TEMPLATE_SECTIONS = {
496
467
  (_opts) => buildAndTest(),
497
468
  (_opts) => securityRulesLight(),
498
469
  concurrencyRules,
499
- (_opts) => antiDriftConfig(),
500
- executionRules,
501
- (_opts) => cliCommandsTable(),
502
470
  (_opts) => secondBrainSection(),
503
471
  (_opts) => graphifySection(),
504
472
  (_opts) => setupAndBoundary(),
@@ -511,9 +479,7 @@ const TEMPLATE_SECTIONS = {
511
479
  (_opts) => buildAndTest(),
512
480
  (_opts) => securityRulesLight(),
513
481
  concurrencyRules,
514
- (_opts) => swarmOrchestration(),
515
- (_opts) => antiDriftConfig(),
516
- executionRules,
482
+ (_opts) => swarmRules(),
517
483
  (_opts) => cliCommandsTable(),
518
484
  (_opts) => agentTypes(),
519
485
  (_opts) => memoryCommands(),
@@ -616,8 +582,8 @@ export function generateMinimalClaudeMd(options) {
616
582
  }
617
583
  /** Available template names for CLI wizard */
618
584
  export const CLAUDE_MD_TEMPLATES = [
619
- { name: 'minimal', description: 'Quick start — behavioral rules, anti-drift config, CLI reference (~120 lines)' },
620
- { name: 'standard', description: 'Recommended — swarm orchestration, agents, memory commands (~250 lines)' },
585
+ { name: 'minimal', description: 'Quick start — behavioral rules, CLI reference (~160 lines)' },
586
+ { name: 'standard', description: 'Recommended — swarm rules, agents, memory commands (~225 lines)' },
621
587
  { name: 'full', description: 'Everything — hooks, learning protocol, intelligence system (~400 lines)' },
622
588
  { name: 'security', description: 'Security-focused — adds security scanning, audit protocols, CVE checks' },
623
589
  { name: 'performance', description: 'Performance-focused — adds benchmarking, profiling, optimization protocols' },
@@ -1 +1 @@
1
- {"version":3,"file":"claudemd-generator.js","sourceRoot":"","sources":["../../../src/init/claudemd-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claudemd-generator.js","sourceRoot":"","sources":["../../../src/init/claudemd-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/init/executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgDH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AA4JxE;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAoK3E;AAwHD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAoID;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CA6NvG;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAsGlH;AA68DD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,SAAI,GAAG,MAAM,EAAE,CA6C3D;eAEc,WAAW"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/init/executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgDH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AA4JxE;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAoK3E;AAwHD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAoID;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CA6NvG;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAsGlH;AAo/DD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,SAAI,GAAG,MAAM,EAAE,CA6C3D;eAEc,WAAW"}
@@ -55,7 +55,7 @@ import { generateStatuslineScript } from './statusline-generator.js';
55
55
  import { FORCE_SYNC_HELPERS, FORCE_SYNC_GENERATORS, INIT_FALLBACK_HELPERS, } from './helpers-generator.js';
56
56
  import { generateClaudeMd } from './claudemd-generator.js';
57
57
  import { generateOpencodeJson, generateAgentsMd, generateHooksPlugin, generateStatusCommand, convertAgentMd, convertCommandMd, convertSkillMd, opencodeCommandFilename } from './opencode-generator.js';
58
- import { generateKimiMcpJson, mergeKimiMcpJson, generateKimiAgentsMd, generateKimiGateScript, generateKimiPluginManifest, convertKimiAgentMd, convertKimiSkillMd, convertKimiCommandToFlowSkill, convertKimiPluginCommandMd, kimiCommandFilename } from './kimi-generator.js';
58
+ import { generateKimiMcpJson, mergeKimiMcpJson, generateKimiAgentsMd, generateKimiGateScript, generateKimiPluginManifest, generateKimiStatuslineSh, mergeKimiTuiTomlStatusline, convertKimiAgentMd, convertKimiSkillMd, convertKimiCommandToFlowSkill, convertKimiPluginCommandMd, kimiCommandFilename } from './kimi-generator.js';
59
59
  import { generateGeminiMd, generateGeminiRulesMd, generateStatuslineSh, } from './geminimd-generator.js';
60
60
  /**
61
61
  * Skills to copy based on configuration
@@ -2603,6 +2603,49 @@ async function writeKimiFiles(targetDir, options, result) {
2603
2603
  result.created.files.push(`.kimi-code/skills/ (${skillCount} skills)`);
2604
2604
  if (commandCount)
2605
2605
  result.created.files.push(`.kimi-code/plugin/commands/ (${commandCount} commands)`);
2606
+ // Statusline — the footer under kimi's chatbox. Lives in the USER's
2607
+ // ~/.kimi-code/ (kimi has no project-level statusline config), gated on
2608
+ // that directory already existing (i.e. the user actually runs kimi —
2609
+ // init must not create global state for non-kimi users). The tui.toml
2610
+ // merge never clobbers an existing [status_line].command.
2611
+ const homeDir = process.env.HOME || process.env.USERPROFILE || '';
2612
+ if (homeDir) {
2613
+ const kimiHome = path.join(homeDir, '.kimi-code');
2614
+ if (fs.existsSync(kimiHome)) {
2615
+ try {
2616
+ const statuslineShPath = path.join(kimiHome, 'statusline.sh');
2617
+ if (!fs.existsSync(statuslineShPath) || options.force) {
2618
+ atomicWriteFile(statuslineShPath, generateKimiStatuslineSh());
2619
+ try {
2620
+ fs.chmodSync(statuslineShPath, 0o755);
2621
+ }
2622
+ catch { /* ignore on Windows */ }
2623
+ result.created.files.push('~/.kimi-code/statusline.sh');
2624
+ }
2625
+ else {
2626
+ result.skipped.push('~/.kimi-code/statusline.sh');
2627
+ }
2628
+ const tuiTomlPath = path.join(kimiHome, 'tui.toml');
2629
+ const relCommand = '~/.kimi-code/statusline.sh';
2630
+ const existingToml = fs.existsSync(tuiTomlPath) ? fs.readFileSync(tuiTomlPath, 'utf-8') : '';
2631
+ const mergedToml = mergeKimiTuiTomlStatusline(existingToml, relCommand);
2632
+ if (mergedToml !== existingToml) {
2633
+ atomicWriteFile(tuiTomlPath, mergedToml);
2634
+ result.created.files.push('~/.kimi-code/tui.toml ([status_line].command wired)');
2635
+ }
2636
+ else {
2637
+ result.skipped.push('~/.kimi-code/tui.toml (status_line.command already set)');
2638
+ }
2639
+ }
2640
+ catch (e) {
2641
+ // Best-effort, like the agy global settings — a statusline failure
2642
+ // must never fail init.
2643
+ if (process.env.DEBUG || process.env.MONOMIND_DEBUG) {
2644
+ console.error('[writeKimiFiles] failed to wire kimi statusline:', e);
2645
+ }
2646
+ }
2647
+ }
2648
+ }
2606
2649
  }
2607
2650
  /** Recursively collect .md files under dir, returned relative to dir. */
2608
2651
  function walkMdFiles(dir) {