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.
Files changed (211) hide show
  1. package/.agents/skills/adapters/SKILL.md +59 -51
  2. package/.agents/skills/analyzer/SKILL.md +23 -21
  3. package/.agents/skills/apps/SKILL.md +65 -68
  4. package/.agents/skills/docs/SKILL.md +10 -25
  5. package/.agents/skills/milens/SKILL.md +11 -8
  6. package/.agents/skills/orchestrator/SKILL.md +13 -10
  7. package/.agents/skills/parser/SKILL.md +15 -12
  8. package/.agents/skills/root/SKILL.md +30 -29
  9. package/.agents/skills/scripts/SKILL.md +18 -16
  10. package/.agents/skills/security/SKILL.md +7 -7
  11. package/.agents/skills/server/SKILL.md +36 -26
  12. package/.agents/skills/store/SKILL.md +24 -23
  13. package/.agents/skills/test/SKILL.md +24 -22
  14. package/.agents/skills/ui/SKILL.md +6 -1
  15. package/README.md +12 -3
  16. package/adapters/README.md +144 -107
  17. package/adapters/claude-code/.claude/settings.json.hooks-snippet.json +26 -0
  18. package/adapters/claude-code/.claude-plugin/plugin.json +11 -0
  19. package/adapters/claude-code/.mcp.json +9 -0
  20. package/adapters/claude-code/CLAUDE.md +2 -0
  21. package/adapters/claude-code/hooks/hooks.json +27 -0
  22. package/adapters/codex/.codex/config.toml +3 -0
  23. package/adapters/copilot/.vscode/mcp.json +10 -0
  24. package/adapters/cursor/.cursor/mcp.json +9 -0
  25. package/adapters/cursor/.cursorrules +69 -9
  26. package/adapters/gemini/.gemini/settings.json +9 -0
  27. package/dist/agents-md.d.ts +1 -1
  28. package/dist/agents-md.js +47 -3
  29. package/dist/agents-md.js.map +1 -1
  30. package/dist/analyzer/config.d.ts +0 -1
  31. package/dist/analyzer/config.js +32 -0
  32. package/dist/analyzer/config.js.map +1 -1
  33. package/dist/analyzer/engine.d.ts +0 -1
  34. package/dist/analyzer/engine.js +67 -41
  35. package/dist/analyzer/engine.js.map +1 -1
  36. package/dist/analyzer/enrich.d.ts +0 -1
  37. package/dist/analyzer/enrich.js +81 -1
  38. package/dist/analyzer/enrich.js.map +1 -1
  39. package/dist/analyzer/resolver.d.ts +4 -2
  40. package/dist/analyzer/resolver.js +283 -36
  41. package/dist/analyzer/resolver.js.map +1 -1
  42. package/dist/analyzer/review.d.ts +2 -2
  43. package/dist/analyzer/review.js +39 -61
  44. package/dist/analyzer/review.js.map +1 -1
  45. package/dist/analyzer/risk.d.ts +20 -0
  46. package/dist/analyzer/risk.js +76 -0
  47. package/dist/analyzer/risk.js.map +1 -0
  48. package/dist/analyzer/scanner.d.ts +0 -1
  49. package/dist/analyzer/scanner.js +5 -4
  50. package/dist/analyzer/scanner.js.map +1 -1
  51. package/dist/analyzer/scope-resolver.d.ts +0 -1
  52. package/dist/analyzer/scope-resolver.js +2 -2
  53. package/dist/analyzer/scope-resolver.js.map +1 -1
  54. package/dist/build-info.d.ts +2 -0
  55. package/dist/build-info.js +4 -0
  56. package/dist/build-info.js.map +1 -0
  57. package/dist/cli.d.ts +0 -1
  58. package/dist/cli.js +225 -30
  59. package/dist/cli.js.map +1 -1
  60. package/dist/metrics.d.ts +0 -1
  61. package/dist/orchestrator/orchestrator.d.ts +1 -2
  62. package/dist/orchestrator/orchestrator.js +30 -7
  63. package/dist/orchestrator/orchestrator.js.map +1 -1
  64. package/dist/orchestrator/reporter.d.ts +0 -1
  65. package/dist/parser/extract.d.ts +7 -1
  66. package/dist/parser/extract.js +76 -29
  67. package/dist/parser/extract.js.map +1 -1
  68. package/dist/parser/lang-css.d.ts +0 -1
  69. package/dist/parser/lang-css.js +12 -0
  70. package/dist/parser/lang-css.js.map +1 -1
  71. package/dist/parser/lang-go.d.ts +0 -1
  72. package/dist/parser/lang-html.d.ts +0 -1
  73. package/dist/parser/lang-java.d.ts +0 -1
  74. package/dist/parser/lang-js.d.ts +0 -1
  75. package/dist/parser/lang-js.js +15 -4
  76. package/dist/parser/lang-js.js.map +1 -1
  77. package/dist/parser/lang-md.d.ts +0 -1
  78. package/dist/parser/lang-md.js +1 -0
  79. package/dist/parser/lang-md.js.map +1 -1
  80. package/dist/parser/lang-php.d.ts +0 -1
  81. package/dist/parser/lang-py.d.ts +0 -1
  82. package/dist/parser/lang-ruby.d.ts +0 -1
  83. package/dist/parser/lang-rust.d.ts +0 -1
  84. package/dist/parser/lang-ts.d.ts +0 -1
  85. package/dist/parser/lang-ts.js +40 -6
  86. package/dist/parser/lang-ts.js.map +1 -1
  87. package/dist/parser/lang-vue.d.ts +0 -1
  88. package/dist/parser/lang-vue.js +0 -21
  89. package/dist/parser/lang-vue.js.map +1 -1
  90. package/dist/parser/language-provider.d.ts +0 -1
  91. package/dist/parser/languages.d.ts +0 -1
  92. package/dist/parser/loader.d.ts +0 -1
  93. package/dist/security/deps.d.ts +0 -1
  94. package/dist/security/rules.d.ts +0 -1
  95. package/dist/security/rules.js +35 -35
  96. package/dist/security/rules.js.map +1 -1
  97. package/dist/server/guard-hook.d.ts +10 -0
  98. package/dist/server/guard-hook.js +179 -0
  99. package/dist/server/guard-hook.js.map +1 -0
  100. package/dist/server/hooks.d.ts +0 -1
  101. package/dist/server/hooks.js +2 -1
  102. package/dist/server/hooks.js.map +1 -1
  103. package/dist/server/mcp-prompts.d.ts +0 -1
  104. package/dist/server/mcp-prompts.js +509 -523
  105. package/dist/server/mcp-prompts.js.map +1 -1
  106. package/dist/server/mcp.d.ts +0 -1
  107. package/dist/server/mcp.js +324 -681
  108. package/dist/server/mcp.js.map +1 -1
  109. package/dist/server/test-plan.d.ts +1 -1
  110. package/dist/server/test-plan.js +25 -7
  111. package/dist/server/test-plan.js.map +1 -1
  112. package/dist/server/tools/deps.d.ts +28 -0
  113. package/dist/server/tools/deps.js +2 -0
  114. package/dist/server/tools/deps.js.map +1 -0
  115. package/dist/server/tools/findings-report.d.ts +3 -0
  116. package/dist/server/tools/findings-report.js +170 -0
  117. package/dist/server/tools/findings-report.js.map +1 -0
  118. package/dist/server/tools/resources.d.ts +3 -0
  119. package/dist/server/tools/resources.js +103 -0
  120. package/dist/server/tools/resources.js.map +1 -0
  121. package/dist/server/tools/security.d.ts +3 -0
  122. package/dist/server/tools/security.js +232 -0
  123. package/dist/server/tools/security.js.map +1 -0
  124. package/dist/server/tools/session.d.ts +3 -0
  125. package/dist/server/tools/session.js +160 -0
  126. package/dist/server/tools/session.js.map +1 -0
  127. package/dist/server/tools/testing.d.ts +3 -0
  128. package/dist/server/tools/testing.js +247 -0
  129. package/dist/server/tools/testing.js.map +1 -0
  130. package/dist/server/watcher.d.ts +0 -1
  131. package/dist/server/watcher.js +1 -1
  132. package/dist/server/watcher.js.map +1 -1
  133. package/dist/skills.d.ts +0 -1
  134. package/dist/skills.js +23 -11
  135. package/dist/skills.js.map +1 -1
  136. package/dist/store/annotations.d.ts +6 -1
  137. package/dist/store/annotations.js +56 -9
  138. package/dist/store/annotations.js.map +1 -1
  139. package/dist/store/confidence.d.ts +0 -1
  140. package/dist/store/confidence.js +2 -0
  141. package/dist/store/confidence.js.map +1 -1
  142. package/dist/store/db.d.ts +22 -1
  143. package/dist/store/db.js +225 -45
  144. package/dist/store/db.js.map +1 -1
  145. package/dist/store/registry.d.ts +1 -1
  146. package/dist/store/registry.js +17 -6
  147. package/dist/store/registry.js.map +1 -1
  148. package/dist/store/schema.sql +2 -1
  149. package/dist/store/vectors.d.ts +0 -1
  150. package/dist/types.d.ts +23 -2
  151. package/dist/ui/progress.d.ts +0 -1
  152. package/dist/uninstall.d.ts +1 -1
  153. package/dist/uninstall.js +33 -10
  154. package/dist/uninstall.js.map +1 -1
  155. package/dist/utils.d.ts +2 -1
  156. package/dist/utils.js +37 -2
  157. package/dist/utils.js.map +1 -1
  158. package/package.json +11 -8
  159. package/dist/agents-md.d.ts.map +0 -1
  160. package/dist/analyzer/config.d.ts.map +0 -1
  161. package/dist/analyzer/engine.d.ts.map +0 -1
  162. package/dist/analyzer/enrich.d.ts.map +0 -1
  163. package/dist/analyzer/resolver.d.ts.map +0 -1
  164. package/dist/analyzer/review.d.ts.map +0 -1
  165. package/dist/analyzer/scanner.d.ts.map +0 -1
  166. package/dist/analyzer/scope-resolver.d.ts.map +0 -1
  167. package/dist/analyzer/testplan.d.ts +0 -59
  168. package/dist/analyzer/testplan.d.ts.map +0 -1
  169. package/dist/analyzer/testplan.js +0 -218
  170. package/dist/analyzer/testplan.js.map +0 -1
  171. package/dist/cli.d.ts.map +0 -1
  172. package/dist/metrics.d.ts.map +0 -1
  173. package/dist/orchestrator/orchestrator.d.ts.map +0 -1
  174. package/dist/orchestrator/reporter.d.ts.map +0 -1
  175. package/dist/parser/extract.d.ts.map +0 -1
  176. package/dist/parser/lang-css.d.ts.map +0 -1
  177. package/dist/parser/lang-go.d.ts.map +0 -1
  178. package/dist/parser/lang-html.d.ts.map +0 -1
  179. package/dist/parser/lang-java.d.ts.map +0 -1
  180. package/dist/parser/lang-js.d.ts.map +0 -1
  181. package/dist/parser/lang-md.d.ts.map +0 -1
  182. package/dist/parser/lang-php.d.ts.map +0 -1
  183. package/dist/parser/lang-py.d.ts.map +0 -1
  184. package/dist/parser/lang-ruby.d.ts.map +0 -1
  185. package/dist/parser/lang-rust.d.ts.map +0 -1
  186. package/dist/parser/lang-ts.d.ts.map +0 -1
  187. package/dist/parser/lang-vue.d.ts.map +0 -1
  188. package/dist/parser/language-provider.d.ts.map +0 -1
  189. package/dist/parser/languages.d.ts.map +0 -1
  190. package/dist/parser/loader.d.ts.map +0 -1
  191. package/dist/security/deps.d.ts.map +0 -1
  192. package/dist/security/rules.d.ts.map +0 -1
  193. package/dist/server/hooks.d.ts.map +0 -1
  194. package/dist/server/mcp-prompts.d.ts.map +0 -1
  195. package/dist/server/mcp.d.ts.map +0 -1
  196. package/dist/server/test-plan.d.ts.map +0 -1
  197. package/dist/server/watcher.d.ts.map +0 -1
  198. package/dist/skills.d.ts.map +0 -1
  199. package/dist/store/annotations.d.ts.map +0 -1
  200. package/dist/store/confidence.d.ts.map +0 -1
  201. package/dist/store/db.d.ts.map +0 -1
  202. package/dist/store/registry.d.ts.map +0 -1
  203. package/dist/store/vectors.d.ts.map +0 -1
  204. package/dist/types.d.ts.map +0 -1
  205. package/dist/ui/progress.d.ts.map +0 -1
  206. package/dist/uninstall.d.ts.map +0 -1
  207. package/dist/utils.d.ts.map +0 -1
  208. package/docs/README.md +0 -25
  209. package/docs/diagram1.svg +0 -1
  210. package/docs/diagram2.svg +0 -1
  211. 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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"}
@@ -44,4 +44,3 @@ export declare class FileWatcher {
44
44
  private triggerReindex;
45
45
  }
46
46
  export {};
47
- //# sourceMappingURL=watcher.d.ts.map
@@ -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) => console.error(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":"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"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/server/watcher.ts"],"names":[],"mappings":"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"}
package/dist/skills.d.ts CHANGED
@@ -5,4 +5,3 @@ interface SkillsResult {
5
5
  }
6
6
  export declare function generateSkills(db: Database, rootDir: string, editors?: string[]): SkillsResult;
7
7
  export {};
8
- //# sourceMappingURL=skills.d.ts.map
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 saves 70% tokens and catches hidden connections you'd miss with file reads.
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 (8)
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 (19)
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
  }
@@ -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