devsmind-mcp 2.2.2 → 2.3.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.
- package/README.md +234 -606
- package/dist/cli/analyze.d.ts +13 -0
- package/dist/cli/analyze.js +143 -0
- package/dist/cli/analyze.js.map +1 -0
- package/dist/cli/index.js +62 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/integrations/memory.js +7 -2
- package/dist/cli/integrations/memory.js.map +1 -1
- package/dist/cli/integrations/prompt.d.ts +2 -0
- package/dist/cli/integrations/prompt.js +21 -7
- package/dist/cli/integrations/prompt.js.map +1 -1
- package/dist/cli/rule.js +35 -54
- package/dist/cli/rule.js.map +1 -1
- package/dist/cli/sync.d.ts +7 -0
- package/dist/cli/sync.js +40 -7
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/workflow.d.ts +8 -0
- package/dist/cli/workflow.js +156 -0
- package/dist/cli/workflow.js.map +1 -0
- package/dist/db/analyze.d.ts +67 -0
- package/dist/db/analyze.js +163 -0
- package/dist/db/analyze.js.map +1 -0
- package/dist/db/database.d.ts +151 -2
- package/dist/db/database.js +682 -62
- package/dist/db/database.js.map +1 -1
- package/dist/db/schema.d.ts +28 -1
- package/dist/db/schema.js +34 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/db/staging.d.ts +4 -0
- package/dist/db/staging.js +16 -2
- package/dist/db/staging.js.map +1 -1
- package/dist/db/workflow-import.d.ts +22 -0
- package/dist/db/workflow-import.js +116 -0
- package/dist/db/workflow-import.js.map +1 -0
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.js +369 -11
- package/dist/mcp/server.js.map +1 -1
- package/dist/utils/config.d.ts +2 -0
- package/dist/utils/config.js +11 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/git.d.ts +14 -0
- package/dist/utils/git.js +43 -0
- package/dist/utils/git.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AnalysisReport } from '../db/analyze';
|
|
2
|
+
/**
|
|
3
|
+
* `devsmind analyze` — local, zero-AI graph health check (Phase 1 of the roadmap's
|
|
4
|
+
* `analyze_graph`). Pure SQLite queries, filesystem checks, and `git log` — no LLM
|
|
5
|
+
* calls, no tokens spent. `--fix` applies only the safe/reversible fixes; everything
|
|
6
|
+
* else is report-only and needs a human or AI to decide what to do about it.
|
|
7
|
+
*/
|
|
8
|
+
export declare function handleAnalyze(opts: {
|
|
9
|
+
path?: string;
|
|
10
|
+
fix?: boolean;
|
|
11
|
+
godEntityThreshold?: string;
|
|
12
|
+
}): Promise<void>;
|
|
13
|
+
export declare function printReport(report: AnalysisReport): void;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.handleAnalyze = handleAnalyze;
|
|
37
|
+
exports.printReport = printReport;
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const config_1 = require("../utils/config");
|
|
40
|
+
const database_1 = require("../db/database");
|
|
41
|
+
const analyze_1 = require("../db/analyze");
|
|
42
|
+
/**
|
|
43
|
+
* `devsmind analyze` — local, zero-AI graph health check (Phase 1 of the roadmap's
|
|
44
|
+
* `analyze_graph`). Pure SQLite queries, filesystem checks, and `git log` — no LLM
|
|
45
|
+
* calls, no tokens spent. `--fix` applies only the safe/reversible fixes; everything
|
|
46
|
+
* else is report-only and needs a human or AI to decide what to do about it.
|
|
47
|
+
*/
|
|
48
|
+
async function handleAnalyze(opts) {
|
|
49
|
+
const devmindDir = (0, config_1.resolveDevmindDir)(opts.path);
|
|
50
|
+
if (!devmindDir) {
|
|
51
|
+
console.error(`❌ No .devmind directory found.\n` +
|
|
52
|
+
` Run from inside a DevsMind brain folder, or pass --path <devmind_path>.`);
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
const workspaceRoot = path.dirname(devmindDir);
|
|
56
|
+
const dbPath = path.join(devmindDir, 'brain.db');
|
|
57
|
+
const godEntityThreshold = opts.godEntityThreshold ? parseInt(opts.godEntityThreshold, 10) : undefined;
|
|
58
|
+
console.log(`\n🩺 DevsMind — Analyze graph health${opts.fix ? ' (--fix)' : ''}`);
|
|
59
|
+
console.log(` Brain : ${devmindDir.replace(/\\/g, '/')}`);
|
|
60
|
+
const db = new database_1.DevMindDatabase(dbPath);
|
|
61
|
+
try {
|
|
62
|
+
const report = (0, analyze_1.runAnalysis)(db, workspaceRoot, { fix: opts.fix === true, godEntityThreshold });
|
|
63
|
+
printReport(report);
|
|
64
|
+
}
|
|
65
|
+
finally {
|
|
66
|
+
db.close();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
const SECTIONS = [
|
|
70
|
+
{ key: 'god_entities', label: 'God entities (high fan-in/out)', fixable: false },
|
|
71
|
+
{ key: 'circular_dependencies', label: 'Circular dependency cycles', fixable: false },
|
|
72
|
+
{ key: 'orphaned_nodes', label: 'Orphaned nodes (zero connections)', fixable: true },
|
|
73
|
+
{ key: 'dangling_edges', label: 'Dangling edges (broken references)', fixable: true },
|
|
74
|
+
{ key: 'duplicate_ids', label: 'Duplicate/case-collision node ids', fixable: false },
|
|
75
|
+
{ key: 'missing_developer_attribution', label: 'History missing developer attribution', fixable: false },
|
|
76
|
+
{ key: 'empty_code_snapshots', label: 'Empty code snapshots', fixable: false },
|
|
77
|
+
{ key: 'spurious_nodes', label: 'Spurious/built-in nodes', fixable: true },
|
|
78
|
+
{ key: 'missing_files', label: 'Nodes with missing files', fixable: true },
|
|
79
|
+
{ key: 'renamed_files', label: 'Renamed files (git-detected)', fixable: true },
|
|
80
|
+
{ key: 'untracked_files', label: 'Git-tracked files with zero graph nodes', fixable: false },
|
|
81
|
+
];
|
|
82
|
+
const MAX_ROWS = 20;
|
|
83
|
+
function printReport(report) {
|
|
84
|
+
const totalIssues = Object.values(report.summary).reduce((a, b) => a + b, 0);
|
|
85
|
+
console.log(`\n${totalIssues === 0 ? '✅ Graph is clean — no issues found.' : `Found ${totalIssues} issue(s):`}\n`);
|
|
86
|
+
for (const s of SECTIONS) {
|
|
87
|
+
const count = report.summary[s.key];
|
|
88
|
+
if (count === 0)
|
|
89
|
+
continue;
|
|
90
|
+
const fixNote = s.fixable ? (report.fixed ? ' — fixed' : ' (fixable with --fix)') : ' (report only — needs human/AI review)';
|
|
91
|
+
console.log(` ${s.label}: ${count}${fixNote}`);
|
|
92
|
+
}
|
|
93
|
+
if (totalIssues === 0) {
|
|
94
|
+
console.log();
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
console.log(`\n${'─'.repeat(60)}`);
|
|
98
|
+
for (const s of SECTIONS) {
|
|
99
|
+
const rows = report[s.key];
|
|
100
|
+
if (!rows || rows.length === 0)
|
|
101
|
+
continue;
|
|
102
|
+
console.log(`\n${s.label} (${rows.length}):`);
|
|
103
|
+
for (const row of rows.slice(0, MAX_ROWS)) {
|
|
104
|
+
console.log(` ${formatRow(s.key, row)}`);
|
|
105
|
+
}
|
|
106
|
+
if (rows.length > MAX_ROWS) {
|
|
107
|
+
console.log(` … +${rows.length - MAX_ROWS} more`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
console.log();
|
|
111
|
+
if (!report.fixed) {
|
|
112
|
+
const anyFixable = SECTIONS.some(s => s.fixable && report.summary[s.key] > 0);
|
|
113
|
+
if (anyFixable) {
|
|
114
|
+
console.log(`Run with --fix to soft-deprecate dead nodes, remove dangling edges, and migrate detected renames.\n`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function formatRow(key, row) {
|
|
119
|
+
switch (key) {
|
|
120
|
+
case 'god_entities':
|
|
121
|
+
return `${row.name} (${row.id}) — degree ${row.degree}`;
|
|
122
|
+
case 'circular_dependencies':
|
|
123
|
+
return row.join(' → ');
|
|
124
|
+
case 'orphaned_nodes':
|
|
125
|
+
case 'spurious_nodes':
|
|
126
|
+
case 'missing_files':
|
|
127
|
+
return `${row.name} (${row.id}) — ${row.file_path || 'no file'}`;
|
|
128
|
+
case 'dangling_edges':
|
|
129
|
+
return `${row.source_node_id} → ${row.target_node_id}`;
|
|
130
|
+
case 'duplicate_ids':
|
|
131
|
+
return row.ids.join(' | ');
|
|
132
|
+
case 'missing_developer_attribution':
|
|
133
|
+
case 'empty_code_snapshots':
|
|
134
|
+
return `${row.node_id} (history ${row.id}, ${row.updated_at})`;
|
|
135
|
+
case 'renamed_files':
|
|
136
|
+
return `[${row.repo}] ${row.from} → ${row.to}${row.migrated ? ' (migrated)' : ''}`;
|
|
137
|
+
case 'untracked_files':
|
|
138
|
+
return `[${row.repo}] ${row.file}`;
|
|
139
|
+
default:
|
|
140
|
+
return JSON.stringify(row);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=analyze.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/cli/analyze.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sCAwBC;AAkBD,kCAqCC;AA1FD,2CAA6B;AAC7B,4CAAoD;AACpD,6CAAiD;AACjD,2CAA4D;AAE5D;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CAAC,IAAmE;IACrG,MAAM,UAAU,GAAG,IAAA,0BAAiB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,kCAAkC;YAClC,4EAA4E,CAC7E,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvG,OAAO,CAAC,GAAG,CAAC,uCAAuC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAE5D,MAAM,EAAE,GAAG,IAAI,0BAAe,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,EAAE,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC9F,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAgF;IAC5F,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,gCAAgC,EAAE,OAAO,EAAE,KAAK,EAAE;IAChF,EAAE,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,4BAA4B,EAAE,OAAO,EAAE,KAAK,EAAE;IACrF,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,mCAAmC,EAAE,OAAO,EAAE,IAAI,EAAE;IACpF,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,oCAAoC,EAAE,OAAO,EAAE,IAAI,EAAE;IACrF,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,mCAAmC,EAAE,OAAO,EAAE,KAAK,EAAE;IACpF,EAAE,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,uCAAuC,EAAE,OAAO,EAAE,KAAK,EAAE;IACxG,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,KAAK,EAAE;IAC9E,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,EAAE,OAAO,EAAE,IAAI,EAAE;IAC1E,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,0BAA0B,EAAE,OAAO,EAAE,IAAI,EAAE;IAC1E,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,8BAA8B,EAAE,OAAO,EAAE,IAAI,EAAE;IAC9E,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,yCAAyC,EAAE,OAAO,EAAE,KAAK,EAAE;CAC7F,CAAC;AAEF,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,SAAgB,WAAW,CAAC,MAAsB;IAChD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7E,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,SAAS,WAAW,YAAY,IAAI,CAAC,CAAC;IAEnH,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,CAAC;YAAE,SAAS;QAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC;QAC7H,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAI,MAAc,CAAC,CAAC,CAAC,GAAG,CAAU,CAAC;QAC7C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,QAAQ,OAAO,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,qGAAqG,CAAC,CAAC;QACrH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,GAAQ;IACtC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,cAAc;YACjB,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,MAAM,EAAE,CAAC;QAC1D,KAAK,uBAAuB;YAC1B,OAAQ,GAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,KAAK,gBAAgB,CAAC;QACtB,KAAK,gBAAgB,CAAC;QACtB,KAAK,eAAe;YAClB,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;QACnE,KAAK,gBAAgB;YACnB,OAAO,GAAG,GAAG,CAAC,cAAc,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;QACzD,KAAK,eAAe;YAClB,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,KAAK,+BAA+B,CAAC;QACrC,KAAK,sBAAsB;YACzB,OAAO,GAAG,GAAG,CAAC,OAAO,aAAa,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,UAAU,GAAG,CAAC;QACjE,KAAK,eAAe;YAClB,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrF,KAAK,iBAAiB;YACpB,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QACrC;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -7,6 +7,8 @@ const rule_1 = require("./rule");
|
|
|
7
7
|
const view_1 = require("./view");
|
|
8
8
|
const prune_1 = require("./prune");
|
|
9
9
|
const sync_1 = require("./sync");
|
|
10
|
+
const analyze_1 = require("./analyze");
|
|
11
|
+
const workflow_1 = require("./workflow");
|
|
10
12
|
const mcp_1 = require("./integrations/mcp");
|
|
11
13
|
const memory_1 = require("./integrations/memory");
|
|
12
14
|
const runner_1 = require("./runner");
|
|
@@ -35,7 +37,23 @@ program
|
|
|
35
37
|
` IDEs connect via: http://localhost:${server_1.DEVSMIND_PORT}/mcp`)
|
|
36
38
|
.option('--stdio', 'Use stdio transport instead of HTTP (for direct IDE process injection)')
|
|
37
39
|
.option('-p, --port <number>', `HTTP port to listen on (default: ${server_1.DEVSMIND_PORT})`, String(server_1.DEVSMIND_PORT))
|
|
40
|
+
.option('--path <devmind_path>', 'Explicit path to the .devmind directory (auto-detected from cwd by default) — used only for --sync/--analyze below')
|
|
41
|
+
.option('--sync', 'Run devsmind sync before starting the server')
|
|
42
|
+
.option('--analyze', 'Run devsmind analyze before starting the server')
|
|
43
|
+
.option('--fix', 'With --analyze, also apply safe automatic fixes')
|
|
38
44
|
.action(async (opts) => {
|
|
45
|
+
if (opts.sync || opts.analyze) {
|
|
46
|
+
try {
|
|
47
|
+
// Both flags share the same "sync" entrypoint — --analyze without --sync still
|
|
48
|
+
// needs a synced DB to analyze against, and handleSync's own syncFromDisk() is a
|
|
49
|
+
// no-op cost-wise if the DB is already current, so requesting either one syncs.
|
|
50
|
+
await (0, sync_1.handleSync)({ path: opts.path, analyze: opts.analyze, fix: opts.fix });
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
console.error(`❌ Pre-start ${opts.analyze ? 'analyze' : 'sync'} failed: ${err.message}`);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
39
57
|
if (opts.stdio) {
|
|
40
58
|
// Stdio mode: IDE manages the process directly
|
|
41
59
|
(0, server_1.runStdioMcpServer)();
|
|
@@ -106,6 +124,9 @@ program
|
|
|
106
124
|
.command('sync')
|
|
107
125
|
.description('Sync the committed graph + history from disk into the local brain.db')
|
|
108
126
|
.option('-p, --path <devmind_path>', 'Explicit path to the .devmind directory (auto-detected from cwd by default)')
|
|
127
|
+
.option('--analyze', 'Run devsmind analyze immediately after syncing')
|
|
128
|
+
.option('--fix', 'With --analyze, also apply safe automatic fixes')
|
|
129
|
+
.option('--god-entity-threshold <n>', 'With --analyze, degree threshold for god-entity detection (default 15)')
|
|
109
130
|
.action(async (opts) => {
|
|
110
131
|
try {
|
|
111
132
|
await (0, sync_1.handleSync)(opts);
|
|
@@ -115,6 +136,47 @@ program
|
|
|
115
136
|
process.exit(1);
|
|
116
137
|
}
|
|
117
138
|
});
|
|
139
|
+
program
|
|
140
|
+
.command('analyze')
|
|
141
|
+
.description('Local, zero-AI graph health check (god entities, cycles, orphans, dangling edges, renames, and more)')
|
|
142
|
+
.option('-p, --path <devmind_path>', 'Explicit path to the .devmind directory (auto-detected from cwd by default)')
|
|
143
|
+
.option('--fix', 'Apply safe automatic fixes (deprecate dead nodes, delete dangling edges, migrate renames)')
|
|
144
|
+
.option('--god-entity-threshold <n>', 'Degree threshold for god-entity detection (default 15)')
|
|
145
|
+
.action(async (opts) => {
|
|
146
|
+
try {
|
|
147
|
+
await (0, analyze_1.handleAnalyze)(opts);
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
console.error(`❌ Analyze failed: ${err.message}`);
|
|
151
|
+
process.exit(1);
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
program
|
|
155
|
+
.command('workflow')
|
|
156
|
+
.description('List, view, pause, and resume persistent feature workflows (interactive)')
|
|
157
|
+
.option('-p, --path <devmind_path>', 'Explicit path to the .devmind directory (auto-detected from cwd by default)')
|
|
158
|
+
.action(async (opts) => {
|
|
159
|
+
try {
|
|
160
|
+
await (0, workflow_1.handleWorkflow)(opts);
|
|
161
|
+
}
|
|
162
|
+
catch (err) {
|
|
163
|
+
console.error(`❌ Workflow command failed: ${err.message}`);
|
|
164
|
+
process.exit(1);
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
program
|
|
168
|
+
.command('workflow-import <path>')
|
|
169
|
+
.description('Import a folder of .md flow docs (or a single file) as paused, resumable workflows')
|
|
170
|
+
.option('-p, --path <devmind_path>', 'Explicit path to the .devmind directory (auto-detected from cwd by default)')
|
|
171
|
+
.action(async (pathArg, opts) => {
|
|
172
|
+
try {
|
|
173
|
+
await (0, workflow_1.handleWorkflowImport)(pathArg, opts);
|
|
174
|
+
}
|
|
175
|
+
catch (err) {
|
|
176
|
+
console.error(`❌ Workflow import failed: ${err.message}`);
|
|
177
|
+
process.exit(1);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
118
180
|
program
|
|
119
181
|
.command('view')
|
|
120
182
|
.description('Open the interactive D3.js code graph visualizer in your browser')
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,8 +107,13 @@ async function handleMemory(opts) {
|
|
|
107
107
|
const pointerBody = `See \`${scope.file}\` in this folder for the DevsMind workflow contract — search before grep, ` +
|
|
108
108
|
`\`stage_change\` + \`commit_changes\` after every code change.`;
|
|
109
109
|
const pointerMerged = (0, prompt_1.mergeRuleFile)(pointerPath, pointerBody, 'append-section');
|
|
110
|
-
|
|
111
|
-
|
|
110
|
+
if (pointerMerged.error) {
|
|
111
|
+
console.error(`❌ ${pointerMerged.error}`);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
(0, prompt_1.writeConfigFile)(pointerPath, pointerMerged.content);
|
|
115
|
+
console.log(`✅ Pointer added to ${pointerPath.replace(/\\/g, '/')}`);
|
|
116
|
+
}
|
|
112
117
|
}
|
|
113
118
|
}
|
|
114
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cli/integrations/memory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cli/integrations/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,8 @@ export interface MergeResult {
|
|
|
34
34
|
existed: boolean;
|
|
35
35
|
/** Human-readable preview of what will be written (for confirmation). */
|
|
36
36
|
preview: string;
|
|
37
|
+
/** Set when the file is corrupted in a way that makes a safe merge impossible — callers must not write `content` when this is set. */
|
|
38
|
+
error?: string;
|
|
37
39
|
}
|
|
38
40
|
/**
|
|
39
41
|
* Merge a single named server entry into an MCP config file, without clobbering
|
|
@@ -91,13 +91,16 @@ async function pickTarget() {
|
|
|
91
91
|
for (const t of clis)
|
|
92
92
|
choices.push({ title: ` ${t.label}`, value: t });
|
|
93
93
|
}
|
|
94
|
-
// Skip the non-selectable header rows if one is chosen.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
94
|
+
// Skip the non-selectable header rows if one is chosen. Bounded like pickDirectory's
|
|
95
|
+
// loop — a non-interactive/piped stdin that keeps returning the header value would
|
|
96
|
+
// otherwise recurse without limit.
|
|
97
|
+
let guard = 0;
|
|
98
|
+
while (guard++ < 5000) {
|
|
99
|
+
const picked = await selectPrompt('What are you working in?', choices, 1);
|
|
100
|
+
if (picked)
|
|
101
|
+
return picked;
|
|
99
102
|
}
|
|
100
|
-
|
|
103
|
+
throw new CancelledError();
|
|
101
104
|
}
|
|
102
105
|
async function pickTransport(target) {
|
|
103
106
|
const transports = target.mcp.transports;
|
|
@@ -337,8 +340,19 @@ function mergeRuleFile(filePath, ruleBody, style, wrap) {
|
|
|
337
340
|
const existing = existed ? safeRead(filePath) : '';
|
|
338
341
|
const startIdx = existing.indexOf(exports.RULE_START);
|
|
339
342
|
const endIdx = existing.indexOf(exports.RULE_END);
|
|
343
|
+
// A start marker with no matching end (or an end before start) means the block was
|
|
344
|
+
// hand-edited or a prior write was interrupted — appending a fresh block on top would
|
|
345
|
+
// leave the orphaned marker behind forever and the file would grow every run.
|
|
346
|
+
if (startIdx !== -1 && (endIdx === -1 || endIdx < startIdx)) {
|
|
347
|
+
return {
|
|
348
|
+
content: existing,
|
|
349
|
+
existed,
|
|
350
|
+
preview: '',
|
|
351
|
+
error: `Found "${exports.RULE_START}" without a matching "${exports.RULE_END}" in ${filePath} — the DevsMind block looks corrupted (hand-edited or an interrupted write). Remove both markers manually and re-run this command.`
|
|
352
|
+
};
|
|
353
|
+
}
|
|
340
354
|
let content;
|
|
341
|
-
if (startIdx !== -1 && endIdx !== -1
|
|
355
|
+
if (startIdx !== -1 && endIdx !== -1) {
|
|
342
356
|
content = existing.slice(0, startIdx) + block + existing.slice(endIdx + exports.RULE_END.length);
|
|
343
357
|
}
|
|
344
358
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/cli/integrations/prompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/cli/integrations/prompt.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/rule.js
CHANGED
|
@@ -68,71 +68,39 @@ function buildRule(config, devmindDir) {
|
|
|
68
68
|
`**Repos**: ${repoLines}`,
|
|
69
69
|
notes ? `**Notes**: ${notes}` : '',
|
|
70
70
|
'',
|
|
71
|
-
'###
|
|
71
|
+
'### What This Is',
|
|
72
72
|
'',
|
|
73
|
-
|
|
74
|
-
'',
|
|
75
|
-
`**If you skip ${bt}stage_change${bt} + ${bt}commit_changes${bt}, you are not skipping a formality.** You are leaving the graph stale for every other developer's AI agent that queries this code later — tomorrow, next week, on a completely different task. And the reasoning behind your change (why it was made, what ticket drove it, what was broken before, what you tried and rejected) exists **only in this conversation, right now**. It is not in the diff. It is not in the commit message. If it isn't recorded this turn, it is gone forever — no reindex, no log, no ${bt}git blame${bt} can ever recover it.`,
|
|
76
|
-
'',
|
|
77
|
-
`* ${bt}get_node_graph${bt} fills the gap git can't: git shows you WHAT lines changed, never what depends on them. This gives you the live call graph instantly — every caller, every callee — so you find out what breaks BEFORE you change a signature, not after a teammate hits the bug.`,
|
|
78
|
-
`* ${bt}get_node_history${bt} fills a different gap: git blame tells you WHO and WHEN. It never tells you WHY. The actual decision — what was tried, what was rejected, what ticket demanded this, what was broken before — only exists here, written by whichever AI agent made the change. Skip it before refactoring and you risk silently re-breaking a bug that was already fixed once, or undoing a decision that had a reason you never saw.`,
|
|
79
|
-
'',
|
|
80
|
-
'### ⚠️ CRITICAL PRE-FLIGHT CHECK & FEW-SHOT EXAMPLE',
|
|
81
|
-
'',
|
|
82
|
-
'Before executing any filesystem search or reading any file contents, you MUST perform this check:',
|
|
83
|
-
`1. **Am I searching for code/modules/features?** -> You MUST use ${bt}search_nodes${bt} first — it searches names/reasoning AND falls back to full code-content search automatically if nothing matches, in the SAME call. DO NOT start with grep or native filesystem search.`,
|
|
84
|
-
`2. **Am I reading a source file?** -> You MUST call ${bt}get_node_code${bt} instead. It returns that one function/class parsed live from the file, not the whole file — far cheaper. Only read the raw file if the node genuinely isn't in the graph.`,
|
|
85
|
-
`3. **Am I tracing how something flows through the code?** -> You MUST call ${bt}get_node_graph${bt} with ${bt}direction: "out"${bt} and ${bt}include_code: true${bt}. This returns the entry point PLUS everything it transitively calls, each with its source, in ONE call. Do NOT chain ${bt}get_node_code${bt} calls one function at a time — that wastes a chat turn per function.`,
|
|
86
|
-
'',
|
|
87
|
-
'#### Correct Workflow Example (single entity):',
|
|
88
|
-
'* **User asks:** "Explain how rule generation works."',
|
|
89
|
-
`* **Step 1 (Search):** Call ${bt}search_nodes${bt} with query "rule".`,
|
|
90
|
-
`* **Step 2 (Get Code):** Call ${bt}get_node_code${bt} with node_id "${bt}{DevMinds}/src/cli/rule.ts#handleRule${bt}".`,
|
|
91
|
-
'* **Step 3 (Explain):** Explain the logic using the returned code.',
|
|
92
|
-
'',
|
|
93
|
-
'#### Correct Workflow Example (tracing a flow — DO THIS, it is 2 turns not 15):',
|
|
94
|
-
'* **User asks:** "How does an Alipay payment get processed end to end?"',
|
|
95
|
-
`* **Step 1 (Find the entry point):** Call ${bt}search_nodes${bt} with query "alipay".`,
|
|
96
|
-
`* **Step 2 (Pull the whole flow at once):** Call ${bt}get_node_graph${bt} with the entry node_id, ${bt}direction: "out"${bt}, ${bt}include_code: true${bt}, ${bt}max_depth: 3${bt}.`,
|
|
97
|
-
'* **Step 3 (Explain):** You now have every function in the call chain with its code. Explain the flow. Do NOT make further tool calls to fetch code you already have.',
|
|
73
|
+
`DevsMind is this team's shared code graph — every teammate's AI agent reads the same graph you write to, there is no "your copy." ${bt}get_node_graph${bt} shows what git can't (live callers/callees, before you break a signature). ${bt}get_node_history${bt} shows what git blame can't (why a change was made, not just who/when). Both are worthless if changes stop getting recorded — so recording is not optional, it's the product.`,
|
|
98
74
|
'',
|
|
99
75
|
'### Tool Triggers',
|
|
100
76
|
'',
|
|
101
77
|
'| Situation | Tool |',
|
|
102
78
|
'|-----------|------|',
|
|
103
|
-
`| Searching for a module, feature, concept, code fragment
|
|
104
|
-
`|
|
|
105
|
-
`|
|
|
106
|
-
`|
|
|
107
|
-
`|
|
|
108
|
-
`|
|
|
109
|
-
`|
|
|
110
|
-
`|
|
|
111
|
-
`| Function/class
|
|
112
|
-
|
|
113
|
-
'### ⚠️ MANDATORY: Record Every Code Change in the Graph',
|
|
79
|
+
`| Searching for a module, feature, concept, or code fragment | ${bt}search_nodes${bt} (name/reasoning match, auto-falls-back to code-content search) — never start with grep |`,
|
|
80
|
+
`| List/discover all nodes for a component or directory | ${bt}list_nodes${bt} |`,
|
|
81
|
+
`| Read the code of ONE function/class | ${bt}get_node_code${bt} (live-parsed, cheaper than opening the file) |`,
|
|
82
|
+
`| Trace a flow through MULTIPLE functions | ${bt}get_node_graph${bt} ${bt}direction:"out"${bt} + ${bt}include_code:true${bt} in ONE call — don't chain ${bt}get_node_code${bt} per function |`,
|
|
83
|
+
`| What would break if I change this? | ${bt}get_node_graph${bt} ${bt}direction:"in"${bt} (every caller) |`,
|
|
84
|
+
`| Before refactoring a function | ${bt}get_node_history${bt} first |`,
|
|
85
|
+
`| The moment you finish editing one node | ${bt}stage_change${bt} for that node — immediately, not batched |`,
|
|
86
|
+
`| Checkpoints during a long task, and before ending any turn with staged work | ${bt}commit_changes${bt} |`,
|
|
87
|
+
`| Function/class renamed | ${bt}rename_node${bt} |`,
|
|
88
|
+
`| Function/class removed | ${bt}deprecate_node${bt} (never delete — history is lost otherwise) |`,
|
|
114
89
|
'',
|
|
115
|
-
'
|
|
90
|
+
'### Recording Changes — Per Node, Not Per File, Not At The End',
|
|
116
91
|
'',
|
|
117
|
-
|
|
92
|
+
`${bt}stage_change${bt} is source code only (${Array.from(scanner_1.INDEXABLE_EXTENSIONS).sort().join(', ')}) — skip stylesheets, markup, config, docs, images.`,
|
|
118
93
|
'',
|
|
119
|
-
`1.
|
|
120
|
-
`2.
|
|
121
|
-
`3.
|
|
122
|
-
`4. **Do NOT print node/history data as text instead of calling the tools.** Printing looks like you did the work, but writes nothing to the graph — the next session sees no trace this ever happened.`,
|
|
94
|
+
`1. Call ${bt}stage_change${bt} once per touched **node** the moment you finish it — a file with 3 changed functions is 3 calls, made as you go, not saved up. Pass ${bt}node_id${bt}, ${bt}file_path${bt}, ${bt}code_snapshot${bt}, ${bt}reasoning${bt}. Never hand-guess connections — ${bt}commit_changes${bt} resolves them via AST.`,
|
|
95
|
+
`2. Call ${bt}commit_changes${bt} at natural checkpoints (a batch of related nodes, a context switch) — not saved for a single end-of-task call that's easy to skip when the task runs long. Staging alone writes nothing; always commit before ending a turn with anything staged.`,
|
|
96
|
+
`3. Don't print node/history data as text instead of calling the tools — that looks done but records nothing.`,
|
|
123
97
|
'',
|
|
124
|
-
'###
|
|
98
|
+
'### Other Rules',
|
|
125
99
|
'',
|
|
126
|
-
`1. **
|
|
127
|
-
`2. **
|
|
128
|
-
`3. **
|
|
129
|
-
`4. **
|
|
130
|
-
`5. **Search before grep** — use ${bt}search_nodes${bt} before any filesystem search; it tries identifiers first and automatically falls back to a full code-content search if nothing matches, so one call covers both cases. A raw grep finds text; it can't tell you the reasoning already recorded behind that code, which is the whole reason to check here first. If it still finds nothing, use the ${bt}list_nodes${bt} tool to see all available nodes in the graph.`,
|
|
131
|
-
`6. **Read code through the graph, not the filesystem** — call ${bt}get_node_code${bt} instead of opening a source file. It parses the node live from disk and returns only that entity, so it is always current AND far cheaper than reading the whole file. Reading the raw file instead means the graph has no way to know you looked, so any drift between what's recorded and what's on disk goes unnoticed. If the node isn't in the graph at all, read the file, then ${bt}stage_change${bt} + ${bt}commit_changes${bt} to add it.`,
|
|
132
|
-
`7. **Fix drift when the tools report it** — if ${bt}get_node_code${bt} returns ${bt}snapshot_outdated: true${bt}, the graph has fallen behind the code on disk. Re-record that node with ${bt}stage_change${bt} + ${bt}commit_changes${bt}. If it returns ${bt}source: "cached"${bt}, the symbol could NOT be found in its file — it was likely renamed, moved, or deleted, so the code you got may be wrong. Verify against the file, then ${bt}rename_node${bt} or ${bt}deprecate_node${bt} as appropriate. Ignoring a drift signal means everyone after you keeps trusting a record you already know is wrong.`,
|
|
133
|
-
`8. **No external scripts for indexing** — When indexing a repository, NEVER write or run external scripts (like Python, Bash, or Node.js) to automate or lazy load indexing. You must perform the indexing natively step-by-step in the chat using the designated tools: ${bt}index_start${bt}, ${bt}index_checkpoint${bt}, ${bt}index_continue${bt}, and ${bt}index_complete${bt}. This ensures progress is tracked in the SQLite scratchpad database and allows indexing to be safely resumed across chat sessions if context limits are hit.`,
|
|
134
|
-
`9. **Continuous Indexing** — Once you start the codebase indexing process, do not stop, pause, or ask for user confirmation between checkpoints. Keep executing and indexing files continuously until the workspace is fully indexed, or until the chat session's context token limit is reached.`,
|
|
135
|
-
`10. **Grow-as-you-go Graph Maintenance (MANDATORY)** — DevsMind is a living code graph and keeping it in sync is a hard requirement, not a nicety. At the end of EVERY task or message where code was added, modified, renamed, or deleted, you MUST record it per the "MANDATORY: Record Every Code Change" section above — ${bt}stage_change${bt} per touched entity then ${bt}commit_changes${bt} once. NEVER finish a turn with un-committed staged changes. If you notice deprecated/stale nodes, clean them up with ${bt}deprecate_node${bt} or ${bt}rename_node${bt}. A graph that's allowed to go stale stops being worth checking at all — every skipped update is one more reason for the next agent to distrust what's here and fall back to guessing.`,
|
|
100
|
+
`1. **No external scripts for indexing.** Use ${bt}index_start${bt} / ${bt}index_checkpoint${bt} / ${bt}index_continue${bt} / ${bt}index_complete${bt} natively so progress survives a context reset.`,
|
|
101
|
+
`2. **Don't pause mid-index** for confirmation — keep going until the workspace is indexed or the context limit is hit.`,
|
|
102
|
+
`3. **Drift signals** — ${bt}get_node_code${bt} returning ${bt}snapshot_outdated:true${bt} means re-record via ${bt}stage_change${bt}+${bt}commit_changes${bt}; ${bt}source:"cached"${bt} means the symbol wasn't found (renamed/moved/deleted) — verify, then ${bt}rename_node${bt} or ${bt}deprecate_node${bt}.`,
|
|
103
|
+
`4. **Before multi-day work**, call ${bt}workflow_list${bt} — if a paused workflow matches, offer to resume it (${bt}workflow_resume${bt} + ${bt}workflow_get_context${bt}) instead of starting fresh. While a workflow is active, ${bt}commit_changes${bt} auto-logs a step from what you staged — call ${bt}workflow_add_step${bt} directly only for something a commit doesn't cover (a decision with no code change, or a ${bt}pending_tasks${bt} note).`,
|
|
136
104
|
'',
|
|
137
105
|
'### Available Tools',
|
|
138
106
|
'',
|
|
@@ -154,7 +122,16 @@ function buildRule(config, devmindDir) {
|
|
|
154
122
|
`| ${bt}search_decisions${bt} | Search architectural reasoning and decision logs by keyword |`,
|
|
155
123
|
`| ${bt}get_orphaned_nodes${bt} | Find nodes with no connections (dead code / stale entries) |`,
|
|
156
124
|
`| ${bt}recheck_graph${bt} | Scan files, deprecate nodes for deleted files, clean primitives |`,
|
|
125
|
+
`| ${bt}analyze_graph${bt} | Local, zero-token graph health check — god entities, cycles, orphans, dangling edges, renames, and more. ${bt}fix:true${bt} applies safe automatic fixes |`,
|
|
157
126
|
`| ${bt}get_visualizer_url${bt} | Get URL to open the interactive 2D/3D graph visualizer |`,
|
|
127
|
+
`| ${bt}workflow_list${bt} | List persistent feature workflows — check before starting work that might relate to a paused one |`,
|
|
128
|
+
`| ${bt}workflow_create${bt} | Start a new cross-session workflow for a multi-day feature |`,
|
|
129
|
+
`| ${bt}workflow_add_step${bt} | Record progress in the active (or a given) workflow's timeline |`,
|
|
130
|
+
`| ${bt}workflow_pause${bt} / ${bt}workflow_resume${bt} | Pause the active workflow, or resume a paused one |`,
|
|
131
|
+
`| ${bt}workflow_get_context${bt} | Get a workflow's full timeline + artifacts in one call — call right after resuming |`,
|
|
132
|
+
`| ${bt}workflow_add_artifact${bt} | Save reference material (spec, ticket, doc excerpt) into a workflow |`,
|
|
133
|
+
`| ${bt}workflow_sync_retroactive${bt} | Backfill a workflow's timeline after a session that skipped ${bt}workflow_add_step${bt} |`,
|
|
134
|
+
`| ${bt}workflow_import${bt} | Import existing flow/architecture docs as paused, resumable workflows |`,
|
|
158
135
|
'',
|
|
159
136
|
'> All tool argument schemas are exposed automatically by the MCP server.'
|
|
160
137
|
];
|
|
@@ -231,6 +208,10 @@ async function handleRule(opts) {
|
|
|
231
208
|
filePath = (0, registry_1.resolveScopeFile)(scope.file, 'global', workspaceRoot);
|
|
232
209
|
}
|
|
233
210
|
const merged = (0, prompt_1.mergeRuleFile)(filePath, rule, target.rules.style, target.rules.wrap);
|
|
211
|
+
if (merged.error) {
|
|
212
|
+
console.error(`\n❌ ${merged.error}`);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
234
215
|
console.log(`\n📝 Target: ${filePath.replace(/\\/g, '/')} (${merged.existed ? (target.rules.style === 'append-section' ? 'merge DevsMind block into existing' : 'overwrite dedicated file') : 'create new'})`);
|
|
235
216
|
console.log(`\n${target.rules.style === 'append-section' ? 'The DevsMind block to be written:' : 'File contents to be written:'}\n`);
|
|
236
217
|
console.log(merged.preview.split('\n').map(l => ' ' + l).join('\n'));
|