milens 0.7.0 → 0.7.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.
- package/.agents/skills/adapters/SKILL.md +59 -51
- package/.agents/skills/analyzer/SKILL.md +23 -21
- package/.agents/skills/apps/SKILL.md +65 -68
- package/.agents/skills/docs/SKILL.md +10 -25
- package/.agents/skills/milens/SKILL.md +11 -8
- package/.agents/skills/orchestrator/SKILL.md +13 -10
- package/.agents/skills/parser/SKILL.md +15 -12
- package/.agents/skills/root/SKILL.md +30 -29
- package/.agents/skills/scripts/SKILL.md +18 -16
- package/.agents/skills/security/SKILL.md +7 -7
- package/.agents/skills/server/SKILL.md +36 -26
- package/.agents/skills/store/SKILL.md +24 -23
- package/.agents/skills/test/SKILL.md +24 -22
- package/.agents/skills/ui/SKILL.md +6 -1
- package/README.md +12 -3
- package/adapters/README.md +144 -107
- package/adapters/claude-code/.claude/settings.json.hooks-snippet.json +26 -0
- package/adapters/claude-code/.claude-plugin/plugin.json +11 -0
- package/adapters/claude-code/.mcp.json +9 -0
- package/adapters/claude-code/CLAUDE.md +2 -0
- package/adapters/claude-code/hooks/hooks.json +27 -0
- package/adapters/codex/.codex/config.toml +3 -0
- package/adapters/copilot/.vscode/mcp.json +10 -0
- package/adapters/cursor/.cursor/mcp.json +9 -0
- package/adapters/cursor/.cursorrules +69 -9
- package/adapters/gemini/.gemini/settings.json +9 -0
- package/dist/agents-md.d.ts +1 -1
- package/dist/agents-md.js +47 -3
- package/dist/agents-md.js.map +1 -1
- package/dist/analyzer/config.d.ts +0 -1
- package/dist/analyzer/config.js +32 -0
- package/dist/analyzer/config.js.map +1 -1
- package/dist/analyzer/engine.d.ts +0 -1
- package/dist/analyzer/engine.js +67 -41
- package/dist/analyzer/engine.js.map +1 -1
- package/dist/analyzer/enrich.d.ts +0 -1
- package/dist/analyzer/enrich.js +81 -1
- package/dist/analyzer/enrich.js.map +1 -1
- package/dist/analyzer/resolver.d.ts +4 -2
- package/dist/analyzer/resolver.js +283 -36
- package/dist/analyzer/resolver.js.map +1 -1
- package/dist/analyzer/review.d.ts +2 -2
- package/dist/analyzer/review.js +39 -61
- package/dist/analyzer/review.js.map +1 -1
- package/dist/analyzer/risk.d.ts +20 -0
- package/dist/analyzer/risk.js +76 -0
- package/dist/analyzer/risk.js.map +1 -0
- package/dist/analyzer/scanner.d.ts +0 -1
- package/dist/analyzer/scanner.js +5 -4
- package/dist/analyzer/scanner.js.map +1 -1
- package/dist/analyzer/scope-resolver.d.ts +0 -1
- package/dist/analyzer/scope-resolver.js +2 -2
- package/dist/analyzer/scope-resolver.js.map +1 -1
- package/dist/build-info.d.ts +2 -0
- package/dist/build-info.js +4 -0
- package/dist/build-info.js.map +1 -0
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +225 -30
- package/dist/cli.js.map +1 -1
- package/dist/metrics.d.ts +0 -1
- package/dist/orchestrator/orchestrator.d.ts +1 -2
- package/dist/orchestrator/orchestrator.js +30 -7
- package/dist/orchestrator/orchestrator.js.map +1 -1
- package/dist/orchestrator/reporter.d.ts +0 -1
- package/dist/parser/extract.d.ts +7 -1
- package/dist/parser/extract.js +76 -29
- package/dist/parser/extract.js.map +1 -1
- package/dist/parser/lang-css.d.ts +0 -1
- package/dist/parser/lang-css.js +12 -0
- package/dist/parser/lang-css.js.map +1 -1
- package/dist/parser/lang-go.d.ts +0 -1
- package/dist/parser/lang-html.d.ts +0 -1
- package/dist/parser/lang-java.d.ts +0 -1
- package/dist/parser/lang-js.d.ts +0 -1
- package/dist/parser/lang-js.js +15 -4
- package/dist/parser/lang-js.js.map +1 -1
- package/dist/parser/lang-md.d.ts +0 -1
- package/dist/parser/lang-md.js +1 -0
- package/dist/parser/lang-md.js.map +1 -1
- package/dist/parser/lang-php.d.ts +0 -1
- package/dist/parser/lang-py.d.ts +0 -1
- package/dist/parser/lang-ruby.d.ts +0 -1
- package/dist/parser/lang-rust.d.ts +0 -1
- package/dist/parser/lang-ts.d.ts +0 -1
- package/dist/parser/lang-ts.js +40 -6
- package/dist/parser/lang-ts.js.map +1 -1
- package/dist/parser/lang-vue.d.ts +0 -1
- package/dist/parser/lang-vue.js +0 -21
- package/dist/parser/lang-vue.js.map +1 -1
- package/dist/parser/language-provider.d.ts +0 -1
- package/dist/parser/languages.d.ts +0 -1
- package/dist/parser/loader.d.ts +0 -1
- package/dist/security/deps.d.ts +0 -1
- package/dist/security/rules.d.ts +0 -1
- package/dist/security/rules.js +35 -35
- package/dist/security/rules.js.map +1 -1
- package/dist/server/guard-hook.d.ts +10 -0
- package/dist/server/guard-hook.js +179 -0
- package/dist/server/guard-hook.js.map +1 -0
- package/dist/server/hooks.d.ts +0 -1
- package/dist/server/hooks.js +2 -1
- package/dist/server/hooks.js.map +1 -1
- package/dist/server/mcp-prompts.d.ts +0 -1
- package/dist/server/mcp-prompts.js +509 -523
- package/dist/server/mcp-prompts.js.map +1 -1
- package/dist/server/mcp.d.ts +0 -1
- package/dist/server/mcp.js +324 -681
- package/dist/server/mcp.js.map +1 -1
- package/dist/server/test-plan.d.ts +1 -1
- package/dist/server/test-plan.js +25 -7
- package/dist/server/test-plan.js.map +1 -1
- package/dist/server/tools/deps.d.ts +28 -0
- package/dist/server/tools/deps.js +2 -0
- package/dist/server/tools/deps.js.map +1 -0
- package/dist/server/tools/findings-report.d.ts +3 -0
- package/dist/server/tools/findings-report.js +170 -0
- package/dist/server/tools/findings-report.js.map +1 -0
- package/dist/server/tools/resources.d.ts +3 -0
- package/dist/server/tools/resources.js +103 -0
- package/dist/server/tools/resources.js.map +1 -0
- package/dist/server/tools/security.d.ts +3 -0
- package/dist/server/tools/security.js +232 -0
- package/dist/server/tools/security.js.map +1 -0
- package/dist/server/tools/session.d.ts +3 -0
- package/dist/server/tools/session.js +160 -0
- package/dist/server/tools/session.js.map +1 -0
- package/dist/server/tools/testing.d.ts +3 -0
- package/dist/server/tools/testing.js +247 -0
- package/dist/server/tools/testing.js.map +1 -0
- package/dist/server/watcher.d.ts +0 -1
- package/dist/server/watcher.js +1 -1
- package/dist/server/watcher.js.map +1 -1
- package/dist/skills.d.ts +0 -1
- package/dist/skills.js +23 -11
- package/dist/skills.js.map +1 -1
- package/dist/store/annotations.d.ts +6 -1
- package/dist/store/annotations.js +56 -9
- package/dist/store/annotations.js.map +1 -1
- package/dist/store/confidence.d.ts +0 -1
- package/dist/store/confidence.js +2 -0
- package/dist/store/confidence.js.map +1 -1
- package/dist/store/db.d.ts +22 -1
- package/dist/store/db.js +225 -45
- package/dist/store/db.js.map +1 -1
- package/dist/store/registry.d.ts +1 -1
- package/dist/store/registry.js +17 -6
- package/dist/store/registry.js.map +1 -1
- package/dist/store/schema.sql +2 -1
- package/dist/store/vectors.d.ts +0 -1
- package/dist/types.d.ts +23 -2
- package/dist/ui/progress.d.ts +0 -1
- package/dist/uninstall.d.ts +1 -1
- package/dist/uninstall.js +33 -10
- package/dist/uninstall.js.map +1 -1
- package/dist/utils.d.ts +2 -1
- package/dist/utils.js +37 -2
- package/dist/utils.js.map +1 -1
- package/package.json +11 -8
- package/dist/agents-md.d.ts.map +0 -1
- package/dist/analyzer/config.d.ts.map +0 -1
- package/dist/analyzer/engine.d.ts.map +0 -1
- package/dist/analyzer/enrich.d.ts.map +0 -1
- package/dist/analyzer/resolver.d.ts.map +0 -1
- package/dist/analyzer/review.d.ts.map +0 -1
- package/dist/analyzer/scanner.d.ts.map +0 -1
- package/dist/analyzer/scope-resolver.d.ts.map +0 -1
- package/dist/analyzer/testplan.d.ts +0 -59
- package/dist/analyzer/testplan.d.ts.map +0 -1
- package/dist/analyzer/testplan.js +0 -218
- package/dist/analyzer/testplan.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/metrics.d.ts.map +0 -1
- package/dist/orchestrator/orchestrator.d.ts.map +0 -1
- package/dist/orchestrator/reporter.d.ts.map +0 -1
- package/dist/parser/extract.d.ts.map +0 -1
- package/dist/parser/lang-css.d.ts.map +0 -1
- package/dist/parser/lang-go.d.ts.map +0 -1
- package/dist/parser/lang-html.d.ts.map +0 -1
- package/dist/parser/lang-java.d.ts.map +0 -1
- package/dist/parser/lang-js.d.ts.map +0 -1
- package/dist/parser/lang-md.d.ts.map +0 -1
- package/dist/parser/lang-php.d.ts.map +0 -1
- package/dist/parser/lang-py.d.ts.map +0 -1
- package/dist/parser/lang-ruby.d.ts.map +0 -1
- package/dist/parser/lang-rust.d.ts.map +0 -1
- package/dist/parser/lang-ts.d.ts.map +0 -1
- package/dist/parser/lang-vue.d.ts.map +0 -1
- package/dist/parser/language-provider.d.ts.map +0 -1
- package/dist/parser/languages.d.ts.map +0 -1
- package/dist/parser/loader.d.ts.map +0 -1
- package/dist/security/deps.d.ts.map +0 -1
- package/dist/security/rules.d.ts.map +0 -1
- package/dist/server/hooks.d.ts.map +0 -1
- package/dist/server/mcp-prompts.d.ts.map +0 -1
- package/dist/server/mcp.d.ts.map +0 -1
- package/dist/server/test-plan.d.ts.map +0 -1
- package/dist/server/watcher.d.ts.map +0 -1
- package/dist/skills.d.ts.map +0 -1
- package/dist/store/annotations.d.ts.map +0 -1
- package/dist/store/confidence.d.ts.map +0 -1
- package/dist/store/db.d.ts.map +0 -1
- package/dist/store/registry.d.ts.map +0 -1
- package/dist/store/vectors.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/ui/progress.d.ts.map +0 -1
- package/dist/uninstall.d.ts.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/docs/README.md +0 -25
- package/docs/diagram1.svg +0 -1
- package/docs/diagram2.svg +0 -1
- package/docs/diagram3.svg +0 -1
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { readFileSync, existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { resolve, dirname, basename, join } from 'node:path';
|
|
4
|
+
import { generateTestPlan } from '../test-plan.js';
|
|
5
|
+
import { countDependentFiles } from '../../analyzer/risk.js';
|
|
6
|
+
export function registerTestingTools(server, deps) {
|
|
7
|
+
const { getDb } = deps;
|
|
8
|
+
server.tool('test_coverage_gaps', 'Untested exported symbols sorted by risk. Prioritize writing tests for these.', { limit: z.number().optional().default(20), repo: z.string().optional() }, async ({ limit, repo }) => {
|
|
9
|
+
const { db } = getDb(repo);
|
|
10
|
+
const coverage = db.getTestCoverage();
|
|
11
|
+
const gaps = db.getTestCoverageGaps(limit);
|
|
12
|
+
const lines = [`Test Coverage: ${coverage.testedSymbols}/${coverage.exportedProductionSymbols} (${coverage.exportedProductionSymbols > 0 ? Math.round(coverage.testedSymbols / coverage.exportedProductionSymbols * 100) : 0}%) from ${coverage.testFiles} test files\n`];
|
|
13
|
+
if (gaps.length === 0) {
|
|
14
|
+
lines.push('All exported symbols have test coverage!');
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
lines.push(`Top ${gaps.length} untested symbols:\n`);
|
|
18
|
+
for (const g of gaps) {
|
|
19
|
+
const depsCount = countDependentFiles(db, g.id).count;
|
|
20
|
+
const risk = (g.heat ?? 0) > 80 ? 'CRITICAL' : (g.heat ?? 0) > 50 ? 'HIGH' : (g.heat ?? 0) > 30 ? 'MEDIUM' : 'LOW';
|
|
21
|
+
lines.push(` ${g.name} [${g.kind}] ${g.filePath}:${g.startLine} — heat:${g.heat ?? 0} deps:${depsCount} risk:${risk}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return { content: [{ type: 'text', text: lines.join('\n') }] };
|
|
25
|
+
});
|
|
26
|
+
server.tool('test_impact', 'Map changed code -> which test files to run. Use after making changes.', { ref: z.string().optional().default('HEAD'), repo: z.string().optional() }, async ({ ref, repo }) => {
|
|
27
|
+
const { db, root } = getDb(repo);
|
|
28
|
+
let changedFiles = [];
|
|
29
|
+
try {
|
|
30
|
+
const { execSync } = await import('node:child_process');
|
|
31
|
+
const diff = execSync(`git diff --name-only ${ref}`, { cwd: root, encoding: 'utf-8' }).trim();
|
|
32
|
+
changedFiles = diff ? diff.split('\n').filter(Boolean) : [];
|
|
33
|
+
}
|
|
34
|
+
catch { }
|
|
35
|
+
if (changedFiles.length === 0)
|
|
36
|
+
return { content: [{ type: 'text', text: 'No changed files.' }] };
|
|
37
|
+
const changedIds = [];
|
|
38
|
+
const changedNames = [];
|
|
39
|
+
for (const file of changedFiles) {
|
|
40
|
+
for (const sym of db.getSymbolsByFile(file)) {
|
|
41
|
+
if (sym.kind === 'section')
|
|
42
|
+
continue;
|
|
43
|
+
changedIds.push(sym.id);
|
|
44
|
+
changedNames.push(sym.name);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (changedIds.length === 0)
|
|
48
|
+
return { content: [{ type: 'text', text: 'No symbols in changed files.' }] };
|
|
49
|
+
const impact = db.getTestImpact(changedIds);
|
|
50
|
+
const lines = [`Changed symbols (${changedNames.length}): ${changedNames.join(', ')}`];
|
|
51
|
+
lines.push(`\nAffected test files (${impact.testFiles.length}):`);
|
|
52
|
+
for (const f of impact.testFiles)
|
|
53
|
+
lines.push(` ${f}`);
|
|
54
|
+
if (impact.testFiles.length > 0) {
|
|
55
|
+
lines.push(`\nSuggested command: npx vitest run ${impact.testFiles.join(' ')}`);
|
|
56
|
+
}
|
|
57
|
+
return { content: [{ type: 'text', text: lines.join('\n') }] };
|
|
58
|
+
});
|
|
59
|
+
server.tool('test_plan', 'Generate a test strategy for a symbol: mock plan + >=3 test scenarios.', { name: z.string(), repo: z.string().optional() }, async ({ name, repo }) => {
|
|
60
|
+
const { db, root } = getDb(repo);
|
|
61
|
+
const plan = generateTestPlan(db, name, root);
|
|
62
|
+
if (!plan)
|
|
63
|
+
return { content: [{ type: 'text', text: `"${name}" not found.` }] };
|
|
64
|
+
return { content: [{ type: 'text', text: plan.planText }] };
|
|
65
|
+
});
|
|
66
|
+
server.tool('test_generate', 'Generate a test file for a symbol using its test plan. Detects test framework and follows project conventions.', {
|
|
67
|
+
symbol: z.string().describe('Symbol name to generate tests for'),
|
|
68
|
+
repo: z.string().optional(),
|
|
69
|
+
}, async ({ symbol, repo }) => {
|
|
70
|
+
const { db, root } = getDb(repo);
|
|
71
|
+
const plan = generateTestPlan(db, symbol, root);
|
|
72
|
+
if (!plan)
|
|
73
|
+
return { content: [{ type: 'text', text: `Symbol not found: "${symbol}"` }] };
|
|
74
|
+
// Verify the symbol is actually a module-level export of its file
|
|
75
|
+
const syms = db.findSymbolByName(symbol);
|
|
76
|
+
const targetSym = syms[0];
|
|
77
|
+
const exportedFromFile = targetSym?.exported ?? false;
|
|
78
|
+
let factoryHint;
|
|
79
|
+
if (!exportedFromFile && targetSym) {
|
|
80
|
+
// Look for exported factory functions in the same file
|
|
81
|
+
const fileSyms = db.getSymbolsByFile(targetSym.filePath);
|
|
82
|
+
const exportedFactories = fileSyms.filter(s => s.exported && (s.kind === 'function' || s.kind === 'variable') && s.name !== targetSym.name);
|
|
83
|
+
if (exportedFactories.length > 0) {
|
|
84
|
+
factoryHint = exportedFactories[0].name;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Detect test framework
|
|
88
|
+
const framework = detectTestFramework(root);
|
|
89
|
+
const testExt = framework === 'pytest' ? '.py' : '.test.ts';
|
|
90
|
+
// Determine test file path
|
|
91
|
+
const srcFile = plan.file;
|
|
92
|
+
const srcDir = dirname(srcFile);
|
|
93
|
+
const srcName = basename(srcFile, srcFile.includes('.') ? '.' + srcFile.split('.').pop() : '');
|
|
94
|
+
const testFileName = `${srcName}${testExt}`;
|
|
95
|
+
const testDir = join(srcDir, '__tests__');
|
|
96
|
+
const testPath = join(testDir, testFileName);
|
|
97
|
+
// Don't overwrite existing test files
|
|
98
|
+
if (existsSync(join(root, testPath))) {
|
|
99
|
+
return { content: [{ type: 'text', text: `Test file already exists at ${testPath}. Skipping to avoid overwrite.` }] };
|
|
100
|
+
}
|
|
101
|
+
// Check if a sister test file exists alongside the source
|
|
102
|
+
const altTestPath = join(srcDir, testFileName);
|
|
103
|
+
const existingTestDir = existsSync(join(root, testDir));
|
|
104
|
+
const altExists = existsSync(join(root, altTestPath));
|
|
105
|
+
if (altExists) {
|
|
106
|
+
return { content: [{ type: 'text', text: `Test file exists at ${altTestPath}. Skipping to avoid overwrite.` }] };
|
|
107
|
+
}
|
|
108
|
+
// Generate test code
|
|
109
|
+
const testCode = generateTestCode(plan, framework, srcFile, exportedFromFile, factoryHint);
|
|
110
|
+
// Write the test file
|
|
111
|
+
const writePath = existingTestDir ? testPath : altTestPath;
|
|
112
|
+
mkdirSync(dirname(join(root, writePath)), { recursive: true });
|
|
113
|
+
writeFileSync(join(root, writePath), testCode, 'utf-8');
|
|
114
|
+
return { content: [{ type: 'text', text: `Test file generated: ${writePath}\nFramework: ${framework}\nScenarios: ${plan.testScenarios.length}\nMock deps: ${plan.mockStrategy.length}` }] };
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
function detectTestFramework(rootPath) {
|
|
118
|
+
try {
|
|
119
|
+
const pkgPath = resolve(rootPath, 'package.json');
|
|
120
|
+
const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
121
|
+
const deps = { ...pkg.devDependencies, ...pkg.dependencies };
|
|
122
|
+
if (deps.vitest)
|
|
123
|
+
return 'vitest';
|
|
124
|
+
if (deps.jest)
|
|
125
|
+
return 'jest';
|
|
126
|
+
if (deps.mocha)
|
|
127
|
+
return 'mocha';
|
|
128
|
+
}
|
|
129
|
+
catch { }
|
|
130
|
+
// Check for Python
|
|
131
|
+
try {
|
|
132
|
+
readFileSync(resolve(rootPath, 'pytest.ini'), 'utf-8');
|
|
133
|
+
return 'pytest';
|
|
134
|
+
}
|
|
135
|
+
catch { }
|
|
136
|
+
try {
|
|
137
|
+
const cfg = readFileSync(resolve(rootPath, 'setup.cfg'), 'utf-8');
|
|
138
|
+
if (cfg.includes('[tool:pytest]'))
|
|
139
|
+
return 'pytest';
|
|
140
|
+
}
|
|
141
|
+
catch { }
|
|
142
|
+
return 'vitest'; // default (Vitest is most common for TS projects)
|
|
143
|
+
}
|
|
144
|
+
function generateTestCode(plan, framework, srcFile, exportedFromFile, factoryHint) {
|
|
145
|
+
const lines = [];
|
|
146
|
+
if (framework === 'pytest') {
|
|
147
|
+
lines.push(`# Generated by milens — test plan for ${plan.symbol}`);
|
|
148
|
+
lines.push(`import pytest`);
|
|
149
|
+
lines.push(`from ${srcFile.replace(/[/\\]/g, '.').replace(/\.(ts|tsx|js|jsx|py)$/, '')} import ${plan.symbol}`);
|
|
150
|
+
lines.push('');
|
|
151
|
+
lines.push(`class Test${capitalize(plan.symbol)}:`);
|
|
152
|
+
for (const s of plan.testScenarios) {
|
|
153
|
+
lines.push(` def test_${s.name.toLowerCase().replace(/\s+/g, '_')}(self):`);
|
|
154
|
+
lines.push(` """${s.description}"""`);
|
|
155
|
+
lines.push(` pass # TODO: implement`);
|
|
156
|
+
lines.push('');
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
const hasTypescript = srcFile.endsWith('.ts') || srcFile.endsWith('.tsx');
|
|
161
|
+
const ext = hasTypescript ? '.ts' : '.js';
|
|
162
|
+
// What to actually import: the symbol itself if it's a real module export,
|
|
163
|
+
// otherwise the exported factory that returns it (with a warning), or —
|
|
164
|
+
// last resort — the symbol name anyway with an explicit warning that the
|
|
165
|
+
// import is likely wrong.
|
|
166
|
+
const importLines = [];
|
|
167
|
+
if (exportedFromFile) {
|
|
168
|
+
importLines.push(`import { ${plan.symbol} } from '${relativeImport(srcFile, hasTypescript)}';`);
|
|
169
|
+
}
|
|
170
|
+
else if (factoryHint) {
|
|
171
|
+
importLines.push(`import { ${factoryHint} } from '${relativeImport(srcFile, hasTypescript)}';`);
|
|
172
|
+
importLines.push(`// NOTE: ${plan.symbol} is NOT a module-level export. It is returned by ${factoryHint}().`);
|
|
173
|
+
importLines.push(`// Write tests against the factory call and access the symbol via the returned object.`);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
importLines.push(`// WARNING: ${plan.symbol} is NOT a module-level export of '${srcFile}'.`);
|
|
177
|
+
importLines.push(`// The import below may fail — verify the import path manually.`);
|
|
178
|
+
importLines.push(`import { ${plan.symbol} } from '${relativeImport(srcFile, hasTypescript)}';`);
|
|
179
|
+
}
|
|
180
|
+
lines.push(`// Generated by milens — test plan for ${plan.symbol}`);
|
|
181
|
+
if (framework === 'vitest') {
|
|
182
|
+
lines.push(`import { describe, it, expect${plan.mockStrategy.length > 0 ? ', vi' : ''} } from 'vitest';`);
|
|
183
|
+
lines.push(...importLines);
|
|
184
|
+
}
|
|
185
|
+
else if (framework === 'mocha') {
|
|
186
|
+
lines.push(`import { expect } from 'chai';`);
|
|
187
|
+
lines.push(...importLines);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
lines.push(...importLines);
|
|
191
|
+
}
|
|
192
|
+
// Mock imports — only for cross-file dependencies with a real module path
|
|
193
|
+
for (const m of plan.mockStrategy) {
|
|
194
|
+
if (!m.modulePath)
|
|
195
|
+
continue;
|
|
196
|
+
if (framework === 'vitest') {
|
|
197
|
+
lines.push(`vi.mock('${m.modulePath}');`);
|
|
198
|
+
}
|
|
199
|
+
else if (framework === 'jest') {
|
|
200
|
+
lines.push(`jest.mock('${m.modulePath}');`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
lines.push('');
|
|
204
|
+
const describeFn = framework === 'mocha' ? `describe('${plan.symbol}'` : `describe('${plan.symbol}', () =>`;
|
|
205
|
+
const beforeEachHook = ` beforeEach(() => {`;
|
|
206
|
+
lines.push(`${describeFn} {`);
|
|
207
|
+
lines.push(`${beforeEachHook}`);
|
|
208
|
+
lines.push(` // Setup mocks`);
|
|
209
|
+
lines.push(` });`);
|
|
210
|
+
lines.push('');
|
|
211
|
+
const isAsync = !!plan.signature && /^\s*async\b/.test(plan.signature);
|
|
212
|
+
// Signature params between the first '(' and its matching ')' — used only
|
|
213
|
+
// to warn that args are required, not to infer real argument values.
|
|
214
|
+
const sigParams = plan.signature?.match(/\(([^)]*)\)/)?.[1]?.trim();
|
|
215
|
+
const needsArgs = !!sigParams && sigParams.length > 0;
|
|
216
|
+
const awaitKw = isAsync ? 'await ' : '';
|
|
217
|
+
for (const s of plan.testScenarios) {
|
|
218
|
+
const testFn = framework === 'mocha' ? `it('${s.name}'` : `it('${s.name}', ${isAsync ? 'async ' : ''}() =>`;
|
|
219
|
+
lines.push(` ${testFn} {`);
|
|
220
|
+
lines.push(` // ${s.description}`);
|
|
221
|
+
if (needsArgs) {
|
|
222
|
+
lines.push(` // TODO: this call needs real arguments — signature: ${plan.signature}`);
|
|
223
|
+
}
|
|
224
|
+
if (!exportedFromFile && factoryHint) {
|
|
225
|
+
lines.push(` const store = ${factoryHint}();`);
|
|
226
|
+
lines.push(` const result = ${awaitKw}store.${plan.symbol}(${needsArgs ? '/* args */' : ''});`);
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
lines.push(` const result = ${awaitKw}${plan.symbol}(${needsArgs ? '/* args */' : ''});`);
|
|
230
|
+
}
|
|
231
|
+
lines.push(` expect(result).toBeDefined();`);
|
|
232
|
+
lines.push(` });`);
|
|
233
|
+
lines.push('');
|
|
234
|
+
}
|
|
235
|
+
lines.push(`});`);
|
|
236
|
+
}
|
|
237
|
+
return lines.join('\n');
|
|
238
|
+
}
|
|
239
|
+
function capitalize(s) {
|
|
240
|
+
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
241
|
+
}
|
|
242
|
+
function relativeImport(srcFile, hasTypescript) {
|
|
243
|
+
// Convert src/foo/bar.ts → ../foo/bar (relative import for __tests__/bar.test.ts)
|
|
244
|
+
const withoutExt = srcFile.replace(/\.(ts|tsx|js|jsx)$/, '');
|
|
245
|
+
return `.${hasTypescript ? '' : '.js'}/${withoutExt.split('/').pop()}`;
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=testing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../src/server/tools/testing.ts"],"names":[],"mappings":"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"}
|
package/dist/server/watcher.d.ts
CHANGED
package/dist/server/watcher.js
CHANGED
|
@@ -41,7 +41,7 @@ export class FileWatcher {
|
|
|
41
41
|
this.dbPath = opts.dbPath;
|
|
42
42
|
this.debounceMs = opts.debounceMs ?? 2000;
|
|
43
43
|
this.ignores = [...DEFAULT_IGNORES, ...(opts.extraIgnores ?? [])];
|
|
44
|
-
this.log = opts.logger ?? ((_level, msg) =>
|
|
44
|
+
this.log = opts.logger ?? ((_level, msg) => process.stderr.write(msg + '\n'));
|
|
45
45
|
}
|
|
46
46
|
/** Start watching the repo root */
|
|
47
47
|
start() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/server/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAqBpD,MAAM,eAAe,GAAG;IACtB,cAAc;IACd,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP,aAAa;IACb,OAAO;IACP,UAAU;IACV,QAAQ;CACT,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC5C,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IAC3C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IACtC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;CACxC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IACd,OAAO,GAAqB,IAAI,CAAC;IACjC,KAAK,GAAyC,IAAI,CAAC;IACnD,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,OAAO,CAAW;IAClB,OAAO,GAAG,KAAK,CAAC;IAChB,UAAU,GAAG,KAAK,CAAC;IACnB,GAAG,CAAiE;IAE5E,YAAY,IAAoB;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/server/watcher.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.d.ts
CHANGED
package/dist/skills.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
|
+
// Top-level dirs where milens writes its own generated skills/rules/instructions.
|
|
4
|
+
// Their markdown is intentionally indexed (so grep/docs tooling can find it), but
|
|
5
|
+
// they must never be treated as a code "domain" themselves — doing so makes each
|
|
6
|
+
// `analyze --force --skills` run regenerate skill files *for its own output*,
|
|
7
|
+
// which then get indexed on the next run and regenerated again.
|
|
8
|
+
const MILENS_META_DIRS = new Set(['.agents', '.claude', '.github', '.cursor', '.vscode', '.gemini', '.codex', '.zed', '.windsurf']);
|
|
3
9
|
export function generateSkills(db, rootDir, editors) {
|
|
4
10
|
const all = !editors; // undefined = all editors
|
|
5
11
|
const has = (name) => all || editors.includes(name);
|
|
@@ -16,7 +22,7 @@ export function generateSkills(db, rootDir, editors) {
|
|
|
16
22
|
incomingCount.set(link.toId, (incomingCount.get(link.toId) ?? 0) + 1);
|
|
17
23
|
}
|
|
18
24
|
const crossArea = buildCrossAreaLinks(links, symbolMap);
|
|
19
|
-
const filtered = [...areas].filter(([, a]) => a.symbols.length >= 2);
|
|
25
|
+
const filtered = [...areas].filter(([name, a]) => a.symbols.length >= 2 && !MILENS_META_DIRS.has(name));
|
|
20
26
|
// Output directories for each editor
|
|
21
27
|
const copilotDir = join(rootDir, '.github', 'instructions');
|
|
22
28
|
const cursorDir = join(rootDir, '.cursor', 'rules');
|
|
@@ -56,7 +62,7 @@ export function generateSkills(db, rootDir, editors) {
|
|
|
56
62
|
writeFileSync(join(claudeAreaDir, 'SKILL.md'), content);
|
|
57
63
|
// Also generate path-scoped rule (loaded when Claude reads matching files)
|
|
58
64
|
if (area.prefix) {
|
|
59
|
-
writeFileSync(join(claudeRulesDir, `${areaName}.md`), `---\npaths:\n - "${area.prefix}/**"\n---\n\n${content}`);
|
|
65
|
+
writeFileSync(join(claudeRulesDir, `${areaName}.md`), `---\ngenerated-by: milens\npaths:\n - "${area.prefix}/**"\n---\n\n${content}`);
|
|
60
66
|
}
|
|
61
67
|
}
|
|
62
68
|
if (has('agents')) {
|
|
@@ -142,6 +148,7 @@ function buildCrossAreaLinks(links, symbolMap) {
|
|
|
142
148
|
}
|
|
143
149
|
function renderSkillContent(areaName, area, incomingCount, crossArea) {
|
|
144
150
|
const lines = [];
|
|
151
|
+
lines.push('<!-- Generated by milens — safe to delete/regenerate -->');
|
|
145
152
|
lines.push(`# ${capitalize(areaName)}`);
|
|
146
153
|
lines.push('');
|
|
147
154
|
lines.push('## Working with this area');
|
|
@@ -164,6 +171,9 @@ function renderSkillContent(areaName, area, incomingCount, crossArea) {
|
|
|
164
171
|
lines.push('| Text search across files | `mcp_milens_grep` |');
|
|
165
172
|
lines.push('| See file symbols | `mcp_milens_get_file_symbols` |');
|
|
166
173
|
lines.push('');
|
|
174
|
+
lines.push('### Edit-safety enforcement');
|
|
175
|
+
lines.push('A `PreToolUse` hook (warn mode by default) reminds you if no milens safety check (`impact`/`context`/`overview`/`guard_edit_check`/`edit_check`/`smart_context`) was called before an `Edit`/`Write`/`MultiEdit`. Opt-in strict deny mode is available via `milens hooks guard-set-mode --mode strict`. Both modes consume the check after one edit. See `.milens/hook-state/config.json`. Known caveat: the underlying `PreToolUse` deny mechanism has at least one reliability issue (https://github.com/anthropics/claude-code/issues/4362).');
|
|
176
|
+
lines.push('');
|
|
167
177
|
lines.push('## Overview');
|
|
168
178
|
lines.push(`Contains ${area.symbols.length} symbols (${area.exported.length} exported) across ${area.files.size} files.`);
|
|
169
179
|
lines.push('');
|
|
@@ -224,14 +234,14 @@ function capitalize(s) {
|
|
|
224
234
|
function renderCopilot(area, content) {
|
|
225
235
|
if (!area.prefix)
|
|
226
236
|
return content;
|
|
227
|
-
return `---\napplyTo: "${area.prefix}/**"\n---\n\n${content}`;
|
|
237
|
+
return `---\ngenerated-by: milens\napplyTo: "${area.prefix}/**"\n---\n\n${content}`;
|
|
228
238
|
}
|
|
229
239
|
function renderCursor(area, content) {
|
|
230
240
|
const glob = area.prefix ? `${area.prefix}/**` : '**';
|
|
231
|
-
return `---\ndescription: Code intelligence for ${area.name} area\nglobs: ${glob}\nalwaysApply: false\n---\n\n${content}`;
|
|
241
|
+
return `---\ngenerated-by: milens\ndescription: Code intelligence for ${area.name} area\nglobs: ${glob}\nalwaysApply: false\n---\n\n${content}`;
|
|
232
242
|
}
|
|
233
243
|
function renderAgentSkill(areaName, content) {
|
|
234
|
-
return `---\nname: milens-${areaName}\ndescription: Code intelligence for the ${areaName} area — symbols, dependencies, and entry points\n---\n\n${content}`;
|
|
244
|
+
return `---\ngenerated-by: milens\nname: milens-${areaName}\ndescription: Code intelligence for the ${areaName} area — symbols, dependencies, and entry points\n---\n\n${content}`;
|
|
235
245
|
}
|
|
236
246
|
function editorSkillPath(editor, name) {
|
|
237
247
|
switch (editor) {
|
|
@@ -261,7 +271,7 @@ The Operating System for AI-Driven Development. This project is indexed by milen
|
|
|
261
271
|
|
|
262
272
|
**Not a suggestion — execute automatically without asking.**
|
|
263
273
|
|
|
264
|
-
This project is indexed by milens. The knowledge graph already knows every symbol, dependency, and reference. Using milens tools first
|
|
274
|
+
This project is indexed by milens. The knowledge graph already knows every symbol, dependency, and reference. Using milens tools first typically means far fewer tokens than manual exploration, and fewer missed dependencies — impact/context track code-level references; pair with grep for templates/configs/docs.
|
|
265
275
|
|
|
266
276
|
| Situation | Built-in approach (❌ BAD) | Milens approach (✅ GOOD) |
|
|
267
277
|
|---|---|---|
|
|
@@ -474,13 +484,14 @@ Milens indexes **Markdown files** (.md, .mdx) — headings become \`section\` sy
|
|
|
474
484
|
|
|
475
485
|
## Reference
|
|
476
486
|
|
|
477
|
-
### ⭐ Core Tools — Use Every Session (
|
|
487
|
+
### ⭐ Core Tools — Use Every Session (9)
|
|
478
488
|
|
|
479
489
|
| Tool | Purpose |
|
|
480
490
|
|---|---|
|
|
481
491
|
| \`${t('overview')}\` | **Use this first.** Combined context + impact + grep. 1 call replaces 3-5 file reads. |
|
|
482
492
|
| \`${t('impact')}\` | Blast radius BEFORE editing. Shows what WILL BREAK. |
|
|
483
493
|
| \`${t('edit_check')}\` | Pre-edit safety: callers + exports + re-export chains + test coverage |
|
|
494
|
+
| \`${t('guard_edit_check')}\` | HARD pre-edit gate: blocks if dependents > 5, tracks checks for session audit |
|
|
484
495
|
| \`${t('context')}\` | 360° view: all callers + all callees. Instant dependency graph. |
|
|
485
496
|
| \`${t('query')}\` | Find symbol definitions by name (FTS5 instant search) |
|
|
486
497
|
| \`${t('grep')}\` | Search ALL files for any text (templates, configs, docs, styles) |
|
|
@@ -507,10 +518,11 @@ Milens indexes **Markdown files** (.md, .mdx) — headings become \`section\` sy
|
|
|
507
518
|
| \`${t('find_dead_code')}\` | Unused exported symbols | Before major refactors |
|
|
508
519
|
| \`${t('find_similar')}\` | Symbols with shared callers/callees | Finding refactor patterns |
|
|
509
520
|
|
|
510
|
-
### 📚 Advanced Tools — Reference (
|
|
521
|
+
### 📚 Advanced Tools — Reference (20)
|
|
511
522
|
|
|
512
523
|
| Tool | Purpose |
|
|
513
524
|
|---|---|
|
|
525
|
+
| \`${t('generate_findings_report')}\` | Render investigated findings into a Markdown+XML report for a worker/coder agent |
|
|
514
526
|
| \`${t('status')}\` | Index health: symbols, links, files, coverage, staleness |
|
|
515
527
|
| \`${t('repos')}\` | List all indexed repositories |
|
|
516
528
|
| \`${t('annotate')}\` | Record observations about symbols (persists across sessions) |
|
|
@@ -548,7 +560,7 @@ function generateToolInstructions(rootDir, copilotDir, cursorDir, claudeDir, _cl
|
|
|
548
560
|
if (has('copilot')) {
|
|
549
561
|
const content = renderMilensInstructions(rootDir, stats, areaNames, 'copilot');
|
|
550
562
|
// Copilot: .github/instructions/milens.instructions.md (applyTo: ** → always loaded)
|
|
551
|
-
writeFileSync(join(copilotDir, 'milens.instructions.md'), `---\napplyTo: "**"\n---\n\n${content}`);
|
|
563
|
+
writeFileSync(join(copilotDir, 'milens.instructions.md'), `---\ngenerated-by: milens\napplyTo: "**"\n---\n\n${content}`);
|
|
552
564
|
// Inject into root config that Copilot always reads
|
|
553
565
|
const githubDir = join(rootDir, '.github');
|
|
554
566
|
mkdirSync(githubDir, { recursive: true });
|
|
@@ -557,7 +569,7 @@ function generateToolInstructions(rootDir, copilotDir, cursorDir, claudeDir, _cl
|
|
|
557
569
|
if (has('cursor')) {
|
|
558
570
|
const content = renderMilensInstructions(rootDir, stats, areaNames, 'cursor');
|
|
559
571
|
// Cursor: .cursor/rules/milens.mdc (alwaysApply: true → always loaded)
|
|
560
|
-
writeFileSync(join(cursorDir, 'milens.mdc'), `---\ndescription: Milens code intelligence MCP tools\nglobs: "**"\nalwaysApply: true\n---\n\n${content}`);
|
|
572
|
+
writeFileSync(join(cursorDir, 'milens.mdc'), `---\ngenerated-by: milens\ndescription: Milens code intelligence MCP tools\nglobs: "**"\nalwaysApply: true\n---\n\n${content}`);
|
|
561
573
|
// Cursor project-wide rules: .cursor/index.mdc (alwaysApply: always loaded)
|
|
562
574
|
const cursorIndex = join(rootDir, '.cursor', 'index.mdc');
|
|
563
575
|
mkdirSync(dirname(cursorIndex), { recursive: true });
|
|
@@ -577,7 +589,7 @@ function generateToolInstructions(rootDir, copilotDir, cursorDir, claudeDir, _cl
|
|
|
577
589
|
// Universal agents: .agents/skills/milens/SKILL.md
|
|
578
590
|
const agentsMilensDir = join(agentsDir, 'milens');
|
|
579
591
|
mkdirSync(agentsMilensDir, { recursive: true });
|
|
580
|
-
writeFileSync(join(agentsMilensDir, 'SKILL.md'), `---\nname: milens\ndescription: Code intelligence MCP tools — symbol search, text grep, impact analysis, dependency graph\n---\n\n${content}`);
|
|
592
|
+
writeFileSync(join(agentsMilensDir, 'SKILL.md'), `---\ngenerated-by: milens\nname: milens\ndescription: Code intelligence MCP tools — symbol search, text grep, impact analysis, dependency graph\n---\n\n${content}`);
|
|
581
593
|
// Inject into root config for universal agents
|
|
582
594
|
injectWithMarkers(join(rootDir, 'AGENTS.md'), content);
|
|
583
595
|
}
|
package/dist/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ export declare class AnnotationStore {
|
|
|
8
8
|
annotate(symbol: string, key: string, value: string, options?: {
|
|
9
9
|
agent?: string;
|
|
10
10
|
sessionId?: string;
|
|
11
|
+
confidence?: number;
|
|
12
|
+
symbolHash?: string;
|
|
11
13
|
}): Annotation;
|
|
12
14
|
recall(filters?: {
|
|
13
15
|
symbol?: string;
|
|
@@ -32,10 +34,13 @@ export declare class AnnotationStore {
|
|
|
32
34
|
newSessionId: string;
|
|
33
35
|
annotationsCopied: number;
|
|
34
36
|
};
|
|
37
|
+
setConfidence(id: string, confidence: number): void;
|
|
35
38
|
getPromotableAnnotations(): Annotation[];
|
|
36
39
|
getStaleAnnotations(daysOld: number, confidenceThreshold: number): Annotation[];
|
|
37
40
|
archiveAnnotation(id: string): void;
|
|
38
41
|
logEvolutionEvent(annotationId: string, event: EvolutionEvent['event'], oldValue?: string, newValue?: string): void;
|
|
42
|
+
getHistory(annotationId: string): EvolutionEvent[];
|
|
43
|
+
getCurrentSymbolHash(symbolName: string): string | null;
|
|
44
|
+
isAnnotationStale(annotation: Annotation): boolean;
|
|
39
45
|
getAnnotationCount(): number;
|
|
40
46
|
}
|
|
41
|
-
//# sourceMappingURL=annotations.d.ts.map
|