@monoes/monomindcli 1.18.9 → 1.18.11
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/dist/src/agents/registry-builder.js +1 -1
- package/dist/src/agents/registry-builder.js.map +1 -1
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +2 -3
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/hooks-coverage-commands.d.ts +1 -2
- package/dist/src/commands/hooks-coverage-commands.d.ts.map +1 -1
- package/dist/src/commands/hooks-coverage-commands.js +1 -2
- package/dist/src/commands/hooks-coverage-commands.js.map +1 -1
- package/dist/src/commands/hooks-coverage-gaps.d.ts +1 -2
- package/dist/src/commands/hooks-coverage-gaps.d.ts.map +1 -1
- package/dist/src/commands/hooks-coverage-gaps.js +2 -117
- package/dist/src/commands/hooks-coverage-gaps.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +1 -2
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/index.d.ts +0 -1
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +0 -1
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/security-misc.d.ts.map +1 -1
- package/dist/src/commands/security-misc.js +0 -1
- package/dist/src/commands/security-misc.js.map +1 -1
- package/dist/src/init/executor.d.ts +3 -0
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +20 -111
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +0 -2
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-tools/index.d.ts +0 -1
- package/dist/src/mcp-tools/index.d.ts.map +1 -1
- package/dist/src/mcp-tools/index.js +0 -1
- package/dist/src/mcp-tools/index.js.map +1 -1
- package/dist/src/mcp-tools/quality/coverage-analysis/track-trends.d.ts +4 -4
- package/dist/src/mcp-tools/quality/test-generation/suggest-tests.d.ts +4 -4
- package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/security-tools.js +0 -1
- package/dist/src/mcp-tools/security-tools.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/benchmarks/benchmark-runner.d.ts +0 -134
- package/dist/src/benchmarks/benchmark-runner.d.ts.map +0 -1
- package/dist/src/benchmarks/benchmark-runner.js +0 -340
- package/dist/src/benchmarks/benchmark-runner.js.map +0 -1
- package/dist/src/benchmarks/metric-evaluators.d.ts +0 -36
- package/dist/src/benchmarks/metric-evaluators.d.ts.map +0 -1
- package/dist/src/benchmarks/metric-evaluators.js +0 -125
- package/dist/src/benchmarks/metric-evaluators.js.map +0 -1
- package/dist/src/commands/benchmark.d.ts +0 -10
- package/dist/src/commands/benchmark.d.ts.map +0 -1
- package/dist/src/commands/benchmark.js +0 -586
- package/dist/src/commands/benchmark.js.map +0 -1
- package/dist/src/commands/migrate.d.ts +0 -8
- package/dist/src/commands/migrate.d.ts.map +0 -1
- package/dist/src/commands/migrate.js +0 -789
- package/dist/src/commands/migrate.js.map +0 -1
- package/dist/src/commands/monovector/backup.d.ts +0 -11
- package/dist/src/commands/monovector/backup.d.ts.map +0 -1
- package/dist/src/commands/monovector/backup.js +0 -752
- package/dist/src/commands/monovector/backup.js.map +0 -1
- package/dist/src/commands/monovector/benchmark.d.ts +0 -11
- package/dist/src/commands/monovector/benchmark.d.ts.map +0 -1
- package/dist/src/commands/monovector/benchmark.js +0 -502
- package/dist/src/commands/monovector/benchmark.js.map +0 -1
- package/dist/src/commands/monovector/import.d.ts +0 -18
- package/dist/src/commands/monovector/import.d.ts.map +0 -1
- package/dist/src/commands/monovector/import.js +0 -374
- package/dist/src/commands/monovector/import.js.map +0 -1
- package/dist/src/commands/monovector/index.d.ts +0 -29
- package/dist/src/commands/monovector/index.d.ts.map +0 -1
- package/dist/src/commands/monovector/index.js +0 -129
- package/dist/src/commands/monovector/index.js.map +0 -1
- package/dist/src/commands/monovector/init.d.ts +0 -11
- package/dist/src/commands/monovector/init.d.ts.map +0 -1
- package/dist/src/commands/monovector/init.js +0 -481
- package/dist/src/commands/monovector/init.js.map +0 -1
- package/dist/src/commands/monovector/migrate.d.ts +0 -11
- package/dist/src/commands/monovector/migrate.d.ts.map +0 -1
- package/dist/src/commands/monovector/migrate.js +0 -500
- package/dist/src/commands/monovector/migrate.js.map +0 -1
- package/dist/src/commands/monovector/optimize.d.ts +0 -11
- package/dist/src/commands/monovector/optimize.d.ts.map +0 -1
- package/dist/src/commands/monovector/optimize.js +0 -515
- package/dist/src/commands/monovector/optimize.js.map +0 -1
- package/dist/src/commands/monovector/setup.d.ts +0 -18
- package/dist/src/commands/monovector/setup.d.ts.map +0 -1
- package/dist/src/commands/monovector/setup.js +0 -775
- package/dist/src/commands/monovector/setup.js.map +0 -1
- package/dist/src/commands/monovector/status.d.ts +0 -11
- package/dist/src/commands/monovector/status.d.ts.map +0 -1
- package/dist/src/commands/monovector/status.js +0 -491
- package/dist/src/commands/monovector/status.js.map +0 -1
- package/dist/src/commands/progress.d.ts +0 -11
- package/dist/src/commands/progress.d.ts.map +0 -1
- package/dist/src/commands/progress.js +0 -261
- package/dist/src/commands/progress.js.map +0 -1
- package/dist/src/mcp-tools/progress-tools.d.ts +0 -14
- package/dist/src/mcp-tools/progress-tools.d.ts.map +0 -1
- package/dist/src/mcp-tools/progress-tools.js +0 -353
- package/dist/src/mcp-tools/progress-tools.js.map +0 -1
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* v1 Progress CLI Command
|
|
3
|
-
*
|
|
4
|
-
* Check and manage v1 implementation progress.
|
|
5
|
-
*
|
|
6
|
-
* @module @monoes/cli/commands/progress
|
|
7
|
-
*/
|
|
8
|
-
import { output } from '../output.js';
|
|
9
|
-
import { callMCPTool, MCPClientError } from '../mcp-client.js';
|
|
10
|
-
function progressBar(percent, width = 20) {
|
|
11
|
-
const filled = Math.round((percent / 100) * width);
|
|
12
|
-
const empty = width - filled;
|
|
13
|
-
const bar = output.success('█'.repeat(filled)) + output.dim('░'.repeat(empty));
|
|
14
|
-
return `[${bar}] ${percent}%`;
|
|
15
|
-
}
|
|
16
|
-
// Check subcommand
|
|
17
|
-
const checkCommand = {
|
|
18
|
-
name: 'check',
|
|
19
|
-
description: 'Check current progress (default)',
|
|
20
|
-
options: [
|
|
21
|
-
{
|
|
22
|
-
name: 'detailed',
|
|
23
|
-
short: 'd',
|
|
24
|
-
description: 'Show detailed breakdown',
|
|
25
|
-
type: 'boolean',
|
|
26
|
-
default: false,
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
action: async (ctx) => {
|
|
30
|
-
const detailed = ctx.flags.detailed;
|
|
31
|
-
const spinner = output.createSpinner({ text: 'Checking v1 progress...' });
|
|
32
|
-
try {
|
|
33
|
-
spinner.start();
|
|
34
|
-
const result = (await callMCPTool('progress_check', { detailed }));
|
|
35
|
-
spinner.stop();
|
|
36
|
-
if (ctx.flags.format === 'json') {
|
|
37
|
-
output.printJson(result);
|
|
38
|
-
return { success: true, data: result };
|
|
39
|
-
}
|
|
40
|
-
const progressValue = result.overall ?? result.progress ?? 0;
|
|
41
|
-
output.writeln();
|
|
42
|
-
output.writeln(output.bold('v1 Implementation Progress'));
|
|
43
|
-
output.writeln();
|
|
44
|
-
output.writeln(progressBar(progressValue, 30));
|
|
45
|
-
output.writeln();
|
|
46
|
-
if (detailed && result.cli) {
|
|
47
|
-
output.writeln(output.highlight('CLI Commands:') +
|
|
48
|
-
` ${result.cli.progress}% (${result.cli.commands}/${result.cli.target})`);
|
|
49
|
-
output.writeln(output.highlight('MCP Tools:') +
|
|
50
|
-
` ${result.mcp?.progress ?? 0}% (${result.mcp?.tools ?? 0}/${result.mcp?.target ?? 0})`);
|
|
51
|
-
output.writeln(output.highlight('Hooks:') +
|
|
52
|
-
` ${result.hooks?.progress ?? 0}% (${result.hooks?.subcommands ?? 0}/${result.hooks?.target ?? 0})`);
|
|
53
|
-
output.writeln(output.highlight('Packages:') +
|
|
54
|
-
` ${result.packages?.progress ?? 0}% (${result.packages?.total ?? 0}/${result.packages?.target ?? 0})`);
|
|
55
|
-
output.writeln(output.highlight('DDD Structure:') +
|
|
56
|
-
` ${result.ddd?.progress ?? 0}% (${result.packages?.withDDD ?? 0}/${result.packages?.total ?? 0})`);
|
|
57
|
-
output.writeln();
|
|
58
|
-
if (result.codebase) {
|
|
59
|
-
output.writeln(output.dim(`Codebase: ${result.codebase.totalFiles} files, ${result.codebase.totalLines.toLocaleString()} lines`));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else if (result.breakdown) {
|
|
63
|
-
output.writeln('Breakdown:');
|
|
64
|
-
for (const [category, value] of Object.entries(result.breakdown)) {
|
|
65
|
-
output.writeln(` ${output.highlight(category)}: ${value}`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
if (result.lastUpdated) {
|
|
69
|
-
output.writeln(output.dim(`Last updated: ${result.lastUpdated}`));
|
|
70
|
-
}
|
|
71
|
-
return { success: true, data: result };
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
spinner.fail('Progress check failed');
|
|
75
|
-
if (error instanceof MCPClientError) {
|
|
76
|
-
output.printError(`Error: ${error.message}`);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
output.printError(`Unexpected error: ${String(error)}`);
|
|
80
|
-
}
|
|
81
|
-
return { success: false, exitCode: 1 };
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
// Sync subcommand
|
|
86
|
-
const syncCommand = {
|
|
87
|
-
name: 'sync',
|
|
88
|
-
description: 'Calculate and persist progress',
|
|
89
|
-
action: async (ctx) => {
|
|
90
|
-
const spinner = output.createSpinner({ text: 'Syncing progress...' });
|
|
91
|
-
try {
|
|
92
|
-
spinner.start();
|
|
93
|
-
const result = (await callMCPTool('progress_sync', {}));
|
|
94
|
-
spinner.stop();
|
|
95
|
-
if (ctx.flags.format === 'json') {
|
|
96
|
-
output.printJson(result);
|
|
97
|
-
return { success: true, data: result };
|
|
98
|
-
}
|
|
99
|
-
output.writeln();
|
|
100
|
-
output.printSuccess(`Progress synced: ${result.progress}%`);
|
|
101
|
-
output.writeln(output.dim(` Persisted to .monomind/metrics/v1-progress.json`));
|
|
102
|
-
output.writeln(output.dim(` Last updated: ${result.lastUpdated}`));
|
|
103
|
-
return { success: true, data: result };
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
spinner.fail('Progress sync failed');
|
|
107
|
-
if (error instanceof MCPClientError) {
|
|
108
|
-
output.printError(`Error: ${error.message}`);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
output.printError(`Unexpected error: ${String(error)}`);
|
|
112
|
-
}
|
|
113
|
-
return { success: false, exitCode: 1 };
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
};
|
|
117
|
-
// Summary subcommand
|
|
118
|
-
const summaryCommand = {
|
|
119
|
-
name: 'summary',
|
|
120
|
-
description: 'Show human-readable summary',
|
|
121
|
-
action: async (ctx) => {
|
|
122
|
-
const spinner = output.createSpinner({ text: 'Getting progress summary...' });
|
|
123
|
-
try {
|
|
124
|
-
spinner.start();
|
|
125
|
-
const result = (await callMCPTool('progress_summary', {}));
|
|
126
|
-
spinner.stop();
|
|
127
|
-
if (ctx.flags.format === 'json') {
|
|
128
|
-
output.printJson(result);
|
|
129
|
-
return { success: true, data: result };
|
|
130
|
-
}
|
|
131
|
-
output.writeln();
|
|
132
|
-
output.writeln(result.summary ?? '');
|
|
133
|
-
return { success: true, data: result };
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
spinner.fail('Summary fetch failed');
|
|
137
|
-
if (error instanceof MCPClientError) {
|
|
138
|
-
output.printError(`Error: ${error.message}`);
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
output.printError(`Unexpected error: ${String(error)}`);
|
|
142
|
-
}
|
|
143
|
-
return { success: false, exitCode: 1 };
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
};
|
|
147
|
-
// Watch subcommand
|
|
148
|
-
const watchCommand = {
|
|
149
|
-
name: 'watch',
|
|
150
|
-
description: 'Watch for progress changes',
|
|
151
|
-
options: [
|
|
152
|
-
{
|
|
153
|
-
name: 'interval',
|
|
154
|
-
short: 'i',
|
|
155
|
-
description: 'Update interval in milliseconds',
|
|
156
|
-
type: 'number',
|
|
157
|
-
default: 5000,
|
|
158
|
-
},
|
|
159
|
-
],
|
|
160
|
-
action: async (ctx) => {
|
|
161
|
-
const rawInterval = ctx.flags.interval || 5000;
|
|
162
|
-
const interval = Number.isFinite(rawInterval) ? Math.max(500, Math.min(rawInterval, 3_600_000)) : 5000; // min 500ms, max 1h
|
|
163
|
-
output.writeln(output.highlight(`Watching progress (interval: ${interval}ms). Press Ctrl+C to stop.`));
|
|
164
|
-
output.writeln();
|
|
165
|
-
let lastProgress = 0;
|
|
166
|
-
const check = async () => {
|
|
167
|
-
try {
|
|
168
|
-
const result = (await callMCPTool('progress_check', {}));
|
|
169
|
-
const currentProgress = result.overall ?? result.progress ?? 0;
|
|
170
|
-
if (currentProgress !== lastProgress) {
|
|
171
|
-
output.writeln(`${output.warning('→')} Progress changed: ${lastProgress}% → ${output.success(currentProgress + '%')}`);
|
|
172
|
-
lastProgress = currentProgress;
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
process.stdout.write(`\r${progressBar(currentProgress, 20)} ${output.dim(new Date().toLocaleTimeString())}`);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
catch (error) {
|
|
179
|
-
output.printError(`Check failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
180
|
-
}
|
|
181
|
-
};
|
|
182
|
-
await check();
|
|
183
|
-
const timer = setInterval(check, interval);
|
|
184
|
-
// Handle Ctrl+C — use once so repeated calls don't accumulate SIGINT handlers
|
|
185
|
-
// (which would trigger MaxListenersExceededWarning and a memory leak).
|
|
186
|
-
process.once('SIGINT', () => {
|
|
187
|
-
clearInterval(timer);
|
|
188
|
-
output.writeln();
|
|
189
|
-
output.writeln(output.dim('Stopped watching.'));
|
|
190
|
-
process.exit(0);
|
|
191
|
-
});
|
|
192
|
-
// Keep running
|
|
193
|
-
return new Promise(() => { });
|
|
194
|
-
},
|
|
195
|
-
};
|
|
196
|
-
// Main progress command
|
|
197
|
-
export const progressCommand = {
|
|
198
|
-
name: 'progress',
|
|
199
|
-
description: 'Check v1 implementation progress',
|
|
200
|
-
aliases: ['prog'],
|
|
201
|
-
subcommands: [checkCommand, syncCommand, summaryCommand, watchCommand],
|
|
202
|
-
options: [
|
|
203
|
-
{
|
|
204
|
-
name: 'detailed',
|
|
205
|
-
short: 'd',
|
|
206
|
-
description: 'Show detailed breakdown',
|
|
207
|
-
type: 'boolean',
|
|
208
|
-
default: false,
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
name: 'sync',
|
|
212
|
-
short: 's',
|
|
213
|
-
description: 'Sync and persist progress',
|
|
214
|
-
type: 'boolean',
|
|
215
|
-
default: false,
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
name: 'watch',
|
|
219
|
-
short: 'w',
|
|
220
|
-
description: 'Watch for changes',
|
|
221
|
-
type: 'boolean',
|
|
222
|
-
default: false,
|
|
223
|
-
},
|
|
224
|
-
],
|
|
225
|
-
examples: [
|
|
226
|
-
{
|
|
227
|
-
command: 'monomind progress',
|
|
228
|
-
description: 'Check current progress',
|
|
229
|
-
},
|
|
230
|
-
{
|
|
231
|
-
command: 'monomind progress --detailed',
|
|
232
|
-
description: 'Show detailed breakdown',
|
|
233
|
-
},
|
|
234
|
-
{
|
|
235
|
-
command: 'monomind progress sync',
|
|
236
|
-
description: 'Sync and persist progress',
|
|
237
|
-
},
|
|
238
|
-
{
|
|
239
|
-
command: 'monomind progress watch',
|
|
240
|
-
description: 'Watch for changes',
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
command: 'monomind progress --json',
|
|
244
|
-
description: 'Output as JSON',
|
|
245
|
-
},
|
|
246
|
-
],
|
|
247
|
-
action: async (ctx) => {
|
|
248
|
-
// Handle --sync flag
|
|
249
|
-
if (ctx.flags.sync) {
|
|
250
|
-
return (await syncCommand.action(ctx));
|
|
251
|
-
}
|
|
252
|
-
// Handle --watch flag
|
|
253
|
-
if (ctx.flags.watch) {
|
|
254
|
-
return (await watchCommand.action(ctx));
|
|
255
|
-
}
|
|
256
|
-
// Default to check
|
|
257
|
-
return (await checkCommand.action(ctx));
|
|
258
|
-
},
|
|
259
|
-
};
|
|
260
|
-
export default progressCommand;
|
|
261
|
-
//# sourceMappingURL=progress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/commands/progress.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* V1 Progress MCP Tools
|
|
3
|
-
*
|
|
4
|
-
* Provides MCP tools for checking and syncing V1 implementation progress.
|
|
5
|
-
*
|
|
6
|
-
* @module @monomind/cli/mcp-tools/progress
|
|
7
|
-
*/
|
|
8
|
-
import type { MCPTool } from './types.js';
|
|
9
|
-
/**
|
|
10
|
-
* All progress tools
|
|
11
|
-
*/
|
|
12
|
-
export declare const progressTools: MCPTool[];
|
|
13
|
-
export default progressTools;
|
|
14
|
-
//# sourceMappingURL=progress-tools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/progress-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAoX1C;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,EAKlC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1,353 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* V1 Progress MCP Tools
|
|
3
|
-
*
|
|
4
|
-
* Provides MCP tools for checking and syncing V1 implementation progress.
|
|
5
|
-
*
|
|
6
|
-
* @module @monomind/cli/mcp-tools/progress
|
|
7
|
-
*/
|
|
8
|
-
import { existsSync, readdirSync, readFileSync, writeFileSync, renameSync, mkdirSync, statSync } from 'fs';
|
|
9
|
-
import { join, basename, dirname } from 'path';
|
|
10
|
-
import { fileURLToPath } from 'url';
|
|
11
|
-
// Get project root - handles both src and dist paths
|
|
12
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
-
const __dirname = dirname(__filename);
|
|
14
|
-
// From dist/src/mcp-tools or src/mcp-tools, navigate to v1 directory
|
|
15
|
-
// CLI is at packages/@monomind/cli, so go up 2 levels from cli to get to v1
|
|
16
|
-
const CLI_ROOT = join(__dirname, '../../..');
|
|
17
|
-
const MONOMIND_DIR = join(CLI_ROOT, '..'); // @monomind directory
|
|
18
|
-
const PACKAGES_DIR = join(MONOMIND_DIR, '..'); // v1 directory
|
|
19
|
-
const PROJECT_ROOT = join(PACKAGES_DIR, '..');
|
|
20
|
-
// Utility/service packages follow DDD differently - their services ARE the application layer
|
|
21
|
-
const UTILITY_PACKAGES = new Set([
|
|
22
|
-
'cli', 'hooks', 'mcp', 'shared', 'testing', 'agents', 'integration',
|
|
23
|
-
'embeddings', 'deployment', 'performance', 'providers'
|
|
24
|
-
]);
|
|
25
|
-
// Target metrics for 100% completion
|
|
26
|
-
const TARGETS = {
|
|
27
|
-
CLI_COMMANDS: 28,
|
|
28
|
-
MCP_TOOLS: 100,
|
|
29
|
-
HOOKS_SUBCOMMANDS: 27, // 27 hooks documented in CLAUDE.md
|
|
30
|
-
PACKAGES: 17,
|
|
31
|
-
};
|
|
32
|
-
// Weight distribution for overall progress
|
|
33
|
-
const WEIGHTS = {
|
|
34
|
-
CLI: 0.25,
|
|
35
|
-
MCP: 0.25,
|
|
36
|
-
HOOKS: 0.20,
|
|
37
|
-
PACKAGES: 0.15,
|
|
38
|
-
DDD: 0.15,
|
|
39
|
-
};
|
|
40
|
-
function countFilesAndLines(dir, ext = '.ts') {
|
|
41
|
-
let files = 0;
|
|
42
|
-
let lines = 0;
|
|
43
|
-
function walk(currentDir) {
|
|
44
|
-
if (!existsSync(currentDir))
|
|
45
|
-
return;
|
|
46
|
-
try {
|
|
47
|
-
const entries = readdirSync(currentDir, { withFileTypes: true });
|
|
48
|
-
for (const entry of entries) {
|
|
49
|
-
const fullPath = join(currentDir, entry.name);
|
|
50
|
-
if (entry.isDirectory() && !entry.name.includes('node_modules') && !entry.name.startsWith('.')) {
|
|
51
|
-
walk(fullPath);
|
|
52
|
-
}
|
|
53
|
-
else if (entry.isFile() && entry.name.endsWith(ext)) {
|
|
54
|
-
files++;
|
|
55
|
-
try {
|
|
56
|
-
// Skip files > 1 MB to avoid loading generated/minified bundles into memory.
|
|
57
|
-
if (statSync(fullPath).size > 1024 * 1024)
|
|
58
|
-
continue;
|
|
59
|
-
const content = readFileSync(fullPath, 'utf-8');
|
|
60
|
-
lines += content.split('\n').length;
|
|
61
|
-
}
|
|
62
|
-
catch (_e) { /* ignore */ }
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
catch (_e) { /* ignore */ }
|
|
67
|
-
}
|
|
68
|
-
walk(dir);
|
|
69
|
-
return { files, lines };
|
|
70
|
-
}
|
|
71
|
-
function calculateModuleProgress(moduleDir) {
|
|
72
|
-
if (!existsSync(moduleDir))
|
|
73
|
-
return 0;
|
|
74
|
-
const moduleName = basename(moduleDir);
|
|
75
|
-
// Utility packages are 100% complete by design
|
|
76
|
-
if (UTILITY_PACKAGES.has(moduleName)) {
|
|
77
|
-
return 100;
|
|
78
|
-
}
|
|
79
|
-
let progress = 0;
|
|
80
|
-
// Check for DDD structure
|
|
81
|
-
if (existsSync(join(moduleDir, 'src/domain')))
|
|
82
|
-
progress += 30;
|
|
83
|
-
if (existsSync(join(moduleDir, 'src/application')))
|
|
84
|
-
progress += 30;
|
|
85
|
-
if (existsSync(join(moduleDir, 'src')))
|
|
86
|
-
progress += 10;
|
|
87
|
-
if (existsSync(join(moduleDir, 'src/index.ts')) || existsSync(join(moduleDir, 'index.ts')))
|
|
88
|
-
progress += 10;
|
|
89
|
-
if (existsSync(join(moduleDir, '__tests__')) || existsSync(join(moduleDir, 'tests')))
|
|
90
|
-
progress += 10;
|
|
91
|
-
if (existsSync(join(moduleDir, 'package.json')))
|
|
92
|
-
progress += 10;
|
|
93
|
-
return Math.min(progress, 100);
|
|
94
|
-
}
|
|
95
|
-
async function calculateProgress() {
|
|
96
|
-
const now = new Date().toISOString();
|
|
97
|
-
// Count V1 modules
|
|
98
|
-
const modulesDir = join(PACKAGES_DIR, '@monomind');
|
|
99
|
-
const modules = [];
|
|
100
|
-
let totalProgress = 0;
|
|
101
|
-
let explicitDDD = 0;
|
|
102
|
-
let utilityDDD = 0;
|
|
103
|
-
if (existsSync(modulesDir)) {
|
|
104
|
-
const entries = readdirSync(modulesDir, { withFileTypes: true });
|
|
105
|
-
for (const entry of entries) {
|
|
106
|
-
if (entry.isDirectory() && !entry.name.startsWith('.')) {
|
|
107
|
-
const moduleDir = join(modulesDir, entry.name);
|
|
108
|
-
const { files, lines } = countFilesAndLines(moduleDir);
|
|
109
|
-
const progress = calculateModuleProgress(moduleDir);
|
|
110
|
-
modules.push({ name: entry.name, files, lines, progress });
|
|
111
|
-
totalProgress += progress;
|
|
112
|
-
if (UTILITY_PACKAGES.has(entry.name)) {
|
|
113
|
-
utilityDDD++;
|
|
114
|
-
}
|
|
115
|
-
else if (progress >= 60) {
|
|
116
|
-
explicitDDD++;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
const avgProgress = modules.length > 0 ? Math.round(totalProgress / modules.length) : 0;
|
|
122
|
-
const totalStats = countFilesAndLines(PACKAGES_DIR);
|
|
123
|
-
// Count CLI commands (from commands/index.ts)
|
|
124
|
-
let cliCommands = 28; // Default to known count
|
|
125
|
-
const commandsIndexPath = join(PACKAGES_DIR, '@monomind/cli/src/commands/index.ts');
|
|
126
|
-
if (existsSync(commandsIndexPath) && statSync(commandsIndexPath).size <= 1024 * 1024) {
|
|
127
|
-
try {
|
|
128
|
-
const content = readFileSync(commandsIndexPath, 'utf-8');
|
|
129
|
-
const matches = content.match(/export const commands.*\[([^\]]+)\]/s);
|
|
130
|
-
if (matches) {
|
|
131
|
-
cliCommands = (matches[1].match(/Command/g) || []).length || 28;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
catch (_e) { /* ignore */ }
|
|
135
|
-
}
|
|
136
|
-
// Count MCP tools
|
|
137
|
-
let mcpTools = 100; // Approximate
|
|
138
|
-
const toolsIndexPath = join(PACKAGES_DIR, '@monomind/cli/src/mcp-tools/index.ts');
|
|
139
|
-
if (existsSync(toolsIndexPath) && statSync(toolsIndexPath).size <= 1024 * 1024) {
|
|
140
|
-
try {
|
|
141
|
-
const content = readFileSync(toolsIndexPath, 'utf-8');
|
|
142
|
-
mcpTools = (content.match(/export.*Tools/g) || []).length * 10 || 100;
|
|
143
|
-
}
|
|
144
|
-
catch (_e) { /* ignore */ }
|
|
145
|
-
}
|
|
146
|
-
// Count hooks subcommands (count const *Command definitions)
|
|
147
|
-
let hooksSubcommands = 27; // Default to documented count
|
|
148
|
-
const hooksPath = join(PACKAGES_DIR, '@monomind/cli/src/commands/hooks.ts');
|
|
149
|
-
if (existsSync(hooksPath) && statSync(hooksPath).size <= 1024 * 1024) {
|
|
150
|
-
try {
|
|
151
|
-
const content = readFileSync(hooksPath, 'utf-8');
|
|
152
|
-
// Count command definitions like "const fooCommand: Command = {"
|
|
153
|
-
const commandDefs = content.match(/const\s+\w+Command\s*:\s*Command\s*=/g);
|
|
154
|
-
if (commandDefs && commandDefs.length > 0) {
|
|
155
|
-
hooksSubcommands = commandDefs.length;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
catch (_e) { /* ignore */ }
|
|
159
|
-
}
|
|
160
|
-
// Calculate component progress
|
|
161
|
-
const cliProgress = Math.min(100, Math.round((cliCommands / TARGETS.CLI_COMMANDS) * 100));
|
|
162
|
-
const mcpProgress = Math.min(100, Math.round((mcpTools / TARGETS.MCP_TOOLS) * 100));
|
|
163
|
-
const hooksProgress = Math.min(100, Math.round((hooksSubcommands / TARGETS.HOOKS_SUBCOMMANDS) * 100));
|
|
164
|
-
const packagesProgress = Math.min(100, Math.round((modules.length / TARGETS.PACKAGES) * 100));
|
|
165
|
-
// Calculate overall weighted progress
|
|
166
|
-
const overall = Math.round(cliProgress * WEIGHTS.CLI +
|
|
167
|
-
mcpProgress * WEIGHTS.MCP +
|
|
168
|
-
hooksProgress * WEIGHTS.HOOKS +
|
|
169
|
-
packagesProgress * WEIGHTS.PACKAGES +
|
|
170
|
-
avgProgress * WEIGHTS.DDD);
|
|
171
|
-
return {
|
|
172
|
-
overall,
|
|
173
|
-
cli: { commands: cliCommands, target: TARGETS.CLI_COMMANDS, progress: cliProgress },
|
|
174
|
-
mcp: { tools: mcpTools, target: TARGETS.MCP_TOOLS, progress: mcpProgress },
|
|
175
|
-
hooks: { subcommands: hooksSubcommands, target: TARGETS.HOOKS_SUBCOMMANDS, progress: hooksProgress },
|
|
176
|
-
packages: {
|
|
177
|
-
total: modules.length,
|
|
178
|
-
withDDD: explicitDDD + utilityDDD,
|
|
179
|
-
target: TARGETS.PACKAGES,
|
|
180
|
-
progress: packagesProgress,
|
|
181
|
-
list: modules.map(m => m.name),
|
|
182
|
-
},
|
|
183
|
-
ddd: { explicit: explicitDDD, utility: utilityDDD, progress: avgProgress },
|
|
184
|
-
codebase: { totalFiles: totalStats.files, totalLines: totalStats.lines },
|
|
185
|
-
lastUpdated: now,
|
|
186
|
-
source: 'ProgressService',
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
async function syncProgress() {
|
|
190
|
-
const metrics = await calculateProgress();
|
|
191
|
-
// Persist to file
|
|
192
|
-
const metricsDir = join(PROJECT_ROOT, '.monomind/metrics');
|
|
193
|
-
if (!existsSync(metricsDir)) {
|
|
194
|
-
mkdirSync(metricsDir, { recursive: true });
|
|
195
|
-
}
|
|
196
|
-
const outputPath = join(metricsDir, 'v1-progress.json');
|
|
197
|
-
const outputTmp = outputPath + '.tmp';
|
|
198
|
-
writeFileSync(outputTmp, JSON.stringify({
|
|
199
|
-
domains: { completed: Math.floor(metrics.packages.withDDD / 3), total: 5 },
|
|
200
|
-
ddd: {
|
|
201
|
-
progress: metrics.ddd.progress,
|
|
202
|
-
modules: metrics.packages.total,
|
|
203
|
-
totalFiles: metrics.codebase.totalFiles,
|
|
204
|
-
totalLines: metrics.codebase.totalLines,
|
|
205
|
-
},
|
|
206
|
-
swarm: { activeAgents: 0, totalAgents: 15 },
|
|
207
|
-
lastUpdated: metrics.lastUpdated,
|
|
208
|
-
source: 'ProgressService',
|
|
209
|
-
}, null, 2));
|
|
210
|
-
renameSync(outputTmp, outputPath);
|
|
211
|
-
return metrics;
|
|
212
|
-
}
|
|
213
|
-
function getSummary(metrics) {
|
|
214
|
-
const lines = [
|
|
215
|
-
'═══════════════════════════════════════════════════',
|
|
216
|
-
' V1 Implementation Progress',
|
|
217
|
-
'═══════════════════════════════════════════════════',
|
|
218
|
-
'',
|
|
219
|
-
` Overall Progress: ${metrics.overall}%`,
|
|
220
|
-
'',
|
|
221
|
-
` CLI Commands: ${metrics.cli.progress}% (${metrics.cli.commands}/${metrics.cli.target})`,
|
|
222
|
-
` MCP Tools: ${metrics.mcp.progress}% (${metrics.mcp.tools}/${metrics.mcp.target})`,
|
|
223
|
-
` Hooks: ${metrics.hooks.progress}% (${metrics.hooks.subcommands}/${metrics.hooks.target})`,
|
|
224
|
-
` Packages: ${metrics.packages.progress}% (${metrics.packages.total}/${metrics.packages.target})`,
|
|
225
|
-
` DDD Structure: ${metrics.ddd.progress}%`,
|
|
226
|
-
'',
|
|
227
|
-
` Codebase: ${metrics.codebase.totalFiles} files, ${metrics.codebase.totalLines.toLocaleString()} lines`,
|
|
228
|
-
'',
|
|
229
|
-
` Last Updated: ${metrics.lastUpdated}`,
|
|
230
|
-
'═══════════════════════════════════════════════════',
|
|
231
|
-
];
|
|
232
|
-
return lines.join('\n');
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* progress/check - Get current V1 implementation progress
|
|
236
|
-
*/
|
|
237
|
-
const progressCheck = {
|
|
238
|
-
name: 'progress_check',
|
|
239
|
-
description: 'Get current V1 implementation progress percentage and metrics',
|
|
240
|
-
inputSchema: {
|
|
241
|
-
type: 'object',
|
|
242
|
-
properties: {
|
|
243
|
-
detailed: {
|
|
244
|
-
type: 'boolean',
|
|
245
|
-
description: 'Include detailed breakdown by category',
|
|
246
|
-
},
|
|
247
|
-
},
|
|
248
|
-
required: [],
|
|
249
|
-
},
|
|
250
|
-
handler: async (params) => {
|
|
251
|
-
const detailed = params.detailed;
|
|
252
|
-
const metrics = await calculateProgress();
|
|
253
|
-
if (detailed) {
|
|
254
|
-
return {
|
|
255
|
-
overall: metrics.overall,
|
|
256
|
-
cli: metrics.cli,
|
|
257
|
-
mcp: metrics.mcp,
|
|
258
|
-
hooks: metrics.hooks,
|
|
259
|
-
packages: metrics.packages,
|
|
260
|
-
ddd: metrics.ddd,
|
|
261
|
-
codebase: metrics.codebase,
|
|
262
|
-
lastUpdated: metrics.lastUpdated,
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
return {
|
|
266
|
-
progress: metrics.overall,
|
|
267
|
-
summary: `Implementation: ${metrics.overall}% complete`,
|
|
268
|
-
breakdown: {
|
|
269
|
-
cli: `${metrics.cli.progress}%`,
|
|
270
|
-
mcp: `${metrics.mcp.progress}%`,
|
|
271
|
-
hooks: `${metrics.hooks.progress}%`,
|
|
272
|
-
packages: `${metrics.packages.progress}%`,
|
|
273
|
-
ddd: `${metrics.ddd.progress}%`,
|
|
274
|
-
},
|
|
275
|
-
};
|
|
276
|
-
},
|
|
277
|
-
};
|
|
278
|
-
/**
|
|
279
|
-
* progress/sync - Calculate and persist V1 progress
|
|
280
|
-
*/
|
|
281
|
-
const progressSync = {
|
|
282
|
-
name: 'progress_sync',
|
|
283
|
-
description: 'Calculate and persist V1 progress metrics to file',
|
|
284
|
-
inputSchema: {
|
|
285
|
-
type: 'object',
|
|
286
|
-
properties: {},
|
|
287
|
-
required: [],
|
|
288
|
-
},
|
|
289
|
-
handler: async () => {
|
|
290
|
-
const metrics = await syncProgress();
|
|
291
|
-
return {
|
|
292
|
-
progress: metrics.overall,
|
|
293
|
-
message: `Progress synced: ${metrics.overall}%`,
|
|
294
|
-
persisted: true,
|
|
295
|
-
lastUpdated: metrics.lastUpdated,
|
|
296
|
-
};
|
|
297
|
-
},
|
|
298
|
-
};
|
|
299
|
-
/**
|
|
300
|
-
* progress/summary - Get human-readable progress summary
|
|
301
|
-
*/
|
|
302
|
-
const progressSummary = {
|
|
303
|
-
name: 'progress_summary',
|
|
304
|
-
description: 'Get human-readable V1 implementation progress summary',
|
|
305
|
-
inputSchema: {
|
|
306
|
-
type: 'object',
|
|
307
|
-
properties: {},
|
|
308
|
-
required: [],
|
|
309
|
-
},
|
|
310
|
-
handler: async () => {
|
|
311
|
-
const metrics = await calculateProgress();
|
|
312
|
-
return {
|
|
313
|
-
summary: getSummary(metrics),
|
|
314
|
-
};
|
|
315
|
-
},
|
|
316
|
-
};
|
|
317
|
-
/**
|
|
318
|
-
* progress/watch - Watch progress (status check)
|
|
319
|
-
*/
|
|
320
|
-
const progressWatch = {
|
|
321
|
-
name: 'progress_watch',
|
|
322
|
-
description: 'Get current watch status for progress monitoring',
|
|
323
|
-
inputSchema: {
|
|
324
|
-
type: 'object',
|
|
325
|
-
properties: {
|
|
326
|
-
action: {
|
|
327
|
-
type: 'string',
|
|
328
|
-
enum: ['status'],
|
|
329
|
-
description: 'Action to perform (status only for MCP)',
|
|
330
|
-
},
|
|
331
|
-
},
|
|
332
|
-
required: [],
|
|
333
|
-
},
|
|
334
|
-
handler: async () => {
|
|
335
|
-
const metrics = await calculateProgress();
|
|
336
|
-
return {
|
|
337
|
-
hasMetrics: true,
|
|
338
|
-
lastProgress: metrics.overall,
|
|
339
|
-
lastUpdated: metrics.lastUpdated,
|
|
340
|
-
};
|
|
341
|
-
},
|
|
342
|
-
};
|
|
343
|
-
/**
|
|
344
|
-
* All progress tools
|
|
345
|
-
*/
|
|
346
|
-
export const progressTools = [
|
|
347
|
-
progressCheck,
|
|
348
|
-
progressSync,
|
|
349
|
-
progressSummary,
|
|
350
|
-
progressWatch,
|
|
351
|
-
];
|
|
352
|
-
export default progressTools;
|
|
353
|
-
//# sourceMappingURL=progress-tools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/progress-tools.ts"],"names":[],"mappings":"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"}
|