milens 0.6.4 → 0.6.6
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 +20 -0
- package/.agents/skills/analyzer/SKILL.md +38 -16
- package/.agents/skills/apps/SKILL.md +25 -1
- package/.agents/skills/docs/SKILL.md +33 -5
- package/.agents/skills/milens/SKILL.md +36 -6
- package/.agents/skills/milens-architect/SKILL.md +128 -0
- package/.agents/skills/milens-debugger/SKILL.md +141 -0
- package/.agents/skills/orchestrator/SKILL.md +59 -0
- package/.agents/skills/parser/SKILL.md +35 -14
- package/.agents/skills/root/SKILL.md +39 -17
- package/.agents/skills/scripts/SKILL.md +21 -3
- package/.agents/skills/security/SKILL.md +32 -11
- package/.agents/skills/server/SKILL.md +47 -20
- package/.agents/skills/store/SKILL.md +40 -18
- package/.agents/skills/test/SKILL.md +57 -9
- package/LICENSE +21 -75
- package/README.md +294 -467
- package/adapters/claude-code/CLAUDE.md +36 -15
- package/adapters/codex/.codex/codex.md +38 -23
- package/adapters/copilot/.github/copilot-instructions.md +29 -22
- package/adapters/gemini/.gemini/context.md +33 -10
- package/adapters/opencode/AGENTS.md +36 -15
- package/dist/agents-md.d.ts.map +1 -1
- package/dist/agents-md.js +56 -5
- package/dist/agents-md.js.map +1 -1
- package/dist/analyzer/engine.d.ts +4 -0
- package/dist/analyzer/engine.d.ts.map +1 -1
- package/dist/analyzer/engine.js +378 -14
- package/dist/analyzer/engine.js.map +1 -1
- package/dist/analyzer/resolver.d.ts +2 -0
- package/dist/analyzer/resolver.d.ts.map +1 -1
- package/dist/analyzer/resolver.js +187 -9
- package/dist/analyzer/resolver.js.map +1 -1
- package/dist/analyzer/review.d.ts.map +1 -1
- package/dist/analyzer/review.js +254 -32
- package/dist/analyzer/review.js.map +1 -1
- package/dist/analyzer/scope-resolver.d.ts +42 -0
- package/dist/analyzer/scope-resolver.d.ts.map +1 -0
- package/dist/analyzer/scope-resolver.js +687 -0
- package/dist/analyzer/scope-resolver.js.map +1 -0
- package/dist/cli.js +590 -20
- package/dist/cli.js.map +1 -1
- package/dist/orchestrator/orchestrator.d.ts +65 -0
- package/dist/orchestrator/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator.js +178 -0
- package/dist/orchestrator/orchestrator.js.map +1 -0
- package/dist/orchestrator/reporter.d.ts +15 -0
- package/dist/orchestrator/reporter.d.ts.map +1 -0
- package/dist/orchestrator/reporter.js +38 -0
- package/dist/orchestrator/reporter.js.map +1 -0
- package/dist/parser/extract.d.ts +6 -1
- package/dist/parser/extract.d.ts.map +1 -1
- package/dist/parser/extract.js +14 -2
- package/dist/parser/extract.js.map +1 -1
- package/dist/parser/lang-css.d.ts.map +1 -1
- package/dist/parser/lang-css.js +7 -1
- package/dist/parser/lang-css.js.map +1 -1
- package/dist/parser/lang-go.d.ts.map +1 -1
- package/dist/parser/lang-go.js +16 -0
- package/dist/parser/lang-go.js.map +1 -1
- package/dist/parser/lang-html.d.ts +4 -0
- package/dist/parser/lang-html.d.ts.map +1 -1
- package/dist/parser/lang-html.js +40 -1
- package/dist/parser/lang-html.js.map +1 -1
- package/dist/parser/lang-java.d.ts.map +1 -1
- package/dist/parser/lang-java.js +12 -0
- package/dist/parser/lang-java.js.map +1 -1
- package/dist/parser/lang-js.d.ts.map +1 -1
- package/dist/parser/lang-js.js +3 -0
- package/dist/parser/lang-js.js.map +1 -1
- package/dist/parser/lang-php.d.ts.map +1 -1
- package/dist/parser/lang-php.js +11 -0
- package/dist/parser/lang-php.js.map +1 -1
- package/dist/parser/lang-py.d.ts.map +1 -1
- package/dist/parser/lang-py.js +14 -0
- package/dist/parser/lang-py.js.map +1 -1
- package/dist/parser/lang-ruby.d.ts.map +1 -1
- package/dist/parser/lang-ruby.js +20 -0
- package/dist/parser/lang-ruby.js.map +1 -1
- package/dist/parser/lang-rust.d.ts.map +1 -1
- package/dist/parser/lang-rust.js +27 -4
- package/dist/parser/lang-rust.js.map +1 -1
- package/dist/parser/lang-ts.d.ts.map +1 -1
- package/dist/parser/lang-ts.js +3 -0
- package/dist/parser/lang-ts.js.map +1 -1
- package/dist/parser/lang-vue.d.ts +17 -1
- package/dist/parser/lang-vue.d.ts.map +1 -1
- package/dist/parser/lang-vue.js +177 -0
- package/dist/parser/lang-vue.js.map +1 -1
- package/dist/parser/language-provider.d.ts +27 -0
- package/dist/parser/language-provider.d.ts.map +1 -0
- package/dist/parser/language-provider.js +2 -0
- package/dist/parser/language-provider.js.map +1 -0
- package/dist/security/rules.d.ts.map +1 -1
- package/dist/security/rules.js +4 -1
- package/dist/security/rules.js.map +1 -1
- package/dist/server/hooks.d.ts +3 -0
- package/dist/server/hooks.d.ts.map +1 -1
- package/dist/server/hooks.js +79 -0
- package/dist/server/hooks.js.map +1 -1
- package/dist/server/mcp-prompts.d.ts.map +1 -1
- package/dist/server/mcp-prompts.js +1 -1
- package/dist/server/mcp-prompts.js.map +1 -1
- package/dist/server/mcp.d.ts.map +1 -1
- package/dist/server/mcp.js +638 -61
- package/dist/server/mcp.js.map +1 -1
- package/dist/server/watcher.d.ts +47 -0
- package/dist/server/watcher.d.ts.map +1 -0
- package/dist/server/watcher.js +136 -0
- package/dist/server/watcher.js.map +1 -0
- package/dist/skills.js +201 -36
- package/dist/skills.js.map +1 -1
- package/dist/store/annotations.d.ts.map +1 -1
- package/dist/store/annotations.js +18 -15
- package/dist/store/annotations.js.map +1 -1
- package/dist/store/confidence.d.ts +10 -0
- package/dist/store/confidence.d.ts.map +1 -1
- package/dist/store/confidence.js +28 -1
- package/dist/store/confidence.js.map +1 -1
- package/dist/store/db.d.ts +16 -0
- package/dist/store/db.d.ts.map +1 -1
- package/dist/store/db.js +121 -7
- package/dist/store/db.js.map +1 -1
- package/dist/store/schema.sql +25 -10
- package/dist/uninstall.d.ts +54 -0
- package/dist/uninstall.d.ts.map +1 -0
- package/dist/uninstall.js +795 -0
- package/dist/uninstall.js.map +1 -0
- package/docs/README.md +7 -6
- package/package.json +4 -3
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { watch, existsSync } from 'node:fs';
|
|
2
|
+
import { resolve, relative, join } from 'node:path';
|
|
3
|
+
const DEFAULT_IGNORES = [
|
|
4
|
+
'node_modules',
|
|
5
|
+
'.git',
|
|
6
|
+
'.milens',
|
|
7
|
+
'dist',
|
|
8
|
+
'build',
|
|
9
|
+
'.next',
|
|
10
|
+
'__pycache__',
|
|
11
|
+
'.venv',
|
|
12
|
+
'coverage',
|
|
13
|
+
'.cache',
|
|
14
|
+
];
|
|
15
|
+
const SOURCE_EXTENSIONS = new Set([
|
|
16
|
+
'.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs',
|
|
17
|
+
'.py', '.java', '.go', '.rs', '.rb', '.php',
|
|
18
|
+
'.vue', '.html', '.css', '.md', '.mdx',
|
|
19
|
+
'.yaml', '.yml', '.json', '.sql', '.sh',
|
|
20
|
+
]);
|
|
21
|
+
/**
|
|
22
|
+
* FileWatcher — watches the repo root for file changes
|
|
23
|
+
* and auto-triggers incremental re-index when source files change.
|
|
24
|
+
*
|
|
25
|
+
* Respects hook config: if onFileChange is disabled in hooks.json,
|
|
26
|
+
* the watcher will stop itself.
|
|
27
|
+
*/
|
|
28
|
+
export class FileWatcher {
|
|
29
|
+
watcher = null;
|
|
30
|
+
timer = null;
|
|
31
|
+
changedFiles = new Set();
|
|
32
|
+
debounceMs;
|
|
33
|
+
rootPath;
|
|
34
|
+
dbPath;
|
|
35
|
+
ignores;
|
|
36
|
+
running = false;
|
|
37
|
+
reindexing = false;
|
|
38
|
+
log;
|
|
39
|
+
constructor(opts) {
|
|
40
|
+
this.rootPath = resolve(opts.rootPath);
|
|
41
|
+
this.dbPath = opts.dbPath;
|
|
42
|
+
this.debounceMs = opts.debounceMs ?? 2000;
|
|
43
|
+
this.ignores = [...DEFAULT_IGNORES, ...(opts.extraIgnores ?? [])];
|
|
44
|
+
this.log = opts.logger ?? ((_level, msg) => console.error(msg));
|
|
45
|
+
}
|
|
46
|
+
/** Start watching the repo root */
|
|
47
|
+
start() {
|
|
48
|
+
if (this.running)
|
|
49
|
+
return;
|
|
50
|
+
if (!existsSync(this.dbPath)) {
|
|
51
|
+
this.log('error', '[milens:watcher] No index found. Run `milens analyze` first.');
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
this.watcher = watch(this.rootPath, { recursive: true }, (_eventType, filename) => {
|
|
56
|
+
if (!filename)
|
|
57
|
+
return;
|
|
58
|
+
this.onFileChanged(filename);
|
|
59
|
+
});
|
|
60
|
+
this.watcher.on('error', (err) => {
|
|
61
|
+
this.log('error', `[milens:watcher] Error: ${err.message}`);
|
|
62
|
+
});
|
|
63
|
+
this.running = true;
|
|
64
|
+
this.log('info', `[milens:watcher] Watching ${this.rootPath} for changes (debounce: ${this.debounceMs}ms)`);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
this.log('error', '[milens:watcher] File watching not available on this platform. Use `milens analyze --force` manually.');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/** Stop watching and clean up */
|
|
71
|
+
stop() {
|
|
72
|
+
if (this.timer) {
|
|
73
|
+
clearTimeout(this.timer);
|
|
74
|
+
this.timer = null;
|
|
75
|
+
}
|
|
76
|
+
if (this.watcher) {
|
|
77
|
+
this.watcher.close();
|
|
78
|
+
this.watcher = null;
|
|
79
|
+
}
|
|
80
|
+
this.running = false;
|
|
81
|
+
this.changedFiles.clear();
|
|
82
|
+
this.log('info', '[milens:watcher] Stopped.');
|
|
83
|
+
}
|
|
84
|
+
/** Check if watcher is currently running */
|
|
85
|
+
isRunning() {
|
|
86
|
+
return this.running;
|
|
87
|
+
}
|
|
88
|
+
onFileChanged(filename) {
|
|
89
|
+
// Check if file should be ignored
|
|
90
|
+
const normalized = filename.replace(/\\/g, '/');
|
|
91
|
+
if (this.ignores.some(i => normalized.startsWith(i) || normalized.includes(`/${i}/`))) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// Only watch source files
|
|
95
|
+
const ext = normalized.split('.').pop();
|
|
96
|
+
if (!ext || !SOURCE_EXTENSIONS.has(`.${ext}`)) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this.changedFiles.add(filename);
|
|
100
|
+
// Debounce: reset timer on each change
|
|
101
|
+
if (this.timer)
|
|
102
|
+
clearTimeout(this.timer);
|
|
103
|
+
this.timer = setTimeout(() => this.triggerReindex(), this.debounceMs);
|
|
104
|
+
}
|
|
105
|
+
async triggerReindex() {
|
|
106
|
+
if (this.changedFiles.size === 0 || this.reindexing)
|
|
107
|
+
return;
|
|
108
|
+
const files = [...this.changedFiles];
|
|
109
|
+
this.changedFiles.clear();
|
|
110
|
+
this.reindexing = true;
|
|
111
|
+
const displayFiles = files.length <= 5
|
|
112
|
+
? files.map(f => relative(this.rootPath, join(this.rootPath, f))).join(', ')
|
|
113
|
+
: `${files.length} files`;
|
|
114
|
+
this.log('info', `[milens:watcher] Re-indexing ${displayFiles}...`);
|
|
115
|
+
try {
|
|
116
|
+
const { analyze } = await import('../analyzer/engine.js');
|
|
117
|
+
const { RepoRegistry } = await import('../store/registry.js');
|
|
118
|
+
const config = new RepoRegistry().findByRoot(this.rootPath);
|
|
119
|
+
await analyze({
|
|
120
|
+
rootPath: this.rootPath,
|
|
121
|
+
dbPath: config?.dbPath ?? this.dbPath,
|
|
122
|
+
force: true,
|
|
123
|
+
files,
|
|
124
|
+
verbose: false,
|
|
125
|
+
});
|
|
126
|
+
this.log('info', `[milens:watcher] Index updated (${files.length} file(s))`);
|
|
127
|
+
}
|
|
128
|
+
catch (err) {
|
|
129
|
+
this.log('error', `[milens:watcher] Re-index failed: ${err.message}`);
|
|
130
|
+
}
|
|
131
|
+
finally {
|
|
132
|
+
this.reindexing = false;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=watcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/server/watcher.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.js
CHANGED
|
@@ -144,6 +144,26 @@ function renderSkillContent(areaName, area, incomingCount, crossArea) {
|
|
|
144
144
|
const lines = [];
|
|
145
145
|
lines.push(`# ${capitalize(areaName)}`);
|
|
146
146
|
lines.push('');
|
|
147
|
+
lines.push('## Working with this area');
|
|
148
|
+
lines.push(`When working with code in **${areaName}/**, follow these mandatory safety rules:`);
|
|
149
|
+
lines.push('');
|
|
150
|
+
lines.push('### Before editing any symbol in this area:');
|
|
151
|
+
lines.push('1. Call `mcp_milens_impact({target: "<symbol>", repo: "<workspaceRoot>"})` — check blast radius');
|
|
152
|
+
lines.push('2. If depth-1 dependents > 5 → **STOP and warn** before proceeding');
|
|
153
|
+
lines.push('3. Call `mcp_milens_context({name: "<symbol>", repo: "<workspaceRoot>"})` — see all callers/callees');
|
|
154
|
+
lines.push('');
|
|
155
|
+
lines.push('### Before committing changes in this area:');
|
|
156
|
+
lines.push('1. Call `mcp_milens_detect_changes({repo: "<workspaceRoot>"})` — verify scope');
|
|
157
|
+
lines.push('2. If unexpected files changed → **STOP and report**');
|
|
158
|
+
lines.push('');
|
|
159
|
+
lines.push('### Key tools for this area:');
|
|
160
|
+
lines.push('| Task | Tool |');
|
|
161
|
+
lines.push('|---|---|');
|
|
162
|
+
lines.push('| Find all references | `mcp_milens_context` |');
|
|
163
|
+
lines.push('| Check edit safety | `mcp_milens_edit_check` |');
|
|
164
|
+
lines.push('| Text search across files | `mcp_milens_grep` |');
|
|
165
|
+
lines.push('| See file symbols | `mcp_milens_get_file_symbols` |');
|
|
166
|
+
lines.push('');
|
|
147
167
|
lines.push('## Overview');
|
|
148
168
|
lines.push(`Contains ${area.symbols.length} symbols (${area.exported.length} exported) across ${area.files.size} files.`);
|
|
149
169
|
lines.push('');
|
|
@@ -224,16 +244,36 @@ function editorSkillPath(editor, name) {
|
|
|
224
244
|
}
|
|
225
245
|
function renderMilensInstructions(_rootDir, stats, areaNames, editor) {
|
|
226
246
|
const t = (name) => `mcp_milens_${name}`;
|
|
227
|
-
const
|
|
247
|
+
const workflowSkillNames = ['milens-plan', 'milens-code-review', 'milens-tdd', 'milens-security-review', 'milens-refactor-clean', 'milens-eval', 'milens-architect', 'milens-debugger'];
|
|
248
|
+
const domainRows = areaNames.map(a => `| Work in the ${capitalize(a)} area | \`${editorSkillPath(editor, a)}\` |`).join('\n');
|
|
249
|
+
const workflowRows = workflowSkillNames.map(a => `| Execute ${a} workflow | \`${editorSkillPath(editor, a)}\` |`).join('\n');
|
|
250
|
+
const skillsRows = domainRows + '\n' + workflowRows;
|
|
228
251
|
return `<!-- milens:start -->
|
|
229
|
-
# Milens —
|
|
252
|
+
# Milens — AI-DOS
|
|
230
253
|
|
|
231
|
-
This project is indexed by milens (${stats.symbols} symbols, ${stats.links} links, ${stats.files} files).
|
|
254
|
+
The Operating System for AI-Driven Development. This project is indexed by milens (${stats.symbols} symbols, ${stats.links} links, ${stats.files} files).
|
|
232
255
|
|
|
233
256
|
> **CRITICAL:** All milens MCP tool calls MUST include the \`repo\` parameter set to the **absolute path of the workspace root** (the folder containing this file) — without it, the tools may fail with "No index" error when multiple repos are indexed.
|
|
234
257
|
|
|
235
258
|
> **CRITICAL:** milens MCP tools are **deferred** in most editors. Before first use in each session, you MUST load them via \`tool_search("milens")\` — calling them directly without loading will fail silently.
|
|
236
259
|
|
|
260
|
+
## ⚠️ HARD RULE: Use Milens MCP Tools BEFORE Built-in Tools
|
|
261
|
+
|
|
262
|
+
**Not a suggestion — execute automatically without asking.**
|
|
263
|
+
|
|
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.
|
|
265
|
+
|
|
266
|
+
| Situation | Built-in approach (❌ BAD) | Milens approach (✅ GOOD) |
|
|
267
|
+
|---|---|---|
|
|
268
|
+
| Understand a function | Read 3-10 source files | \`${t('overview')}({name: "X"})\` — 1 call replaces 3-5 file reads |
|
|
269
|
+
| Find all references | Built-in grep in source files | \`${t('grep')}({pattern: "X"})\` — searches code, templates, configs, docs, styles |
|
|
270
|
+
| Check edit safety | Hope nothing breaks | \`${t('impact')}({target: "X"})\` — exact blast radius before touching code |
|
|
271
|
+
| Start working | Read README, explore directories | \`${t('codebase_summary')}()\` — 500 token project overview |
|
|
272
|
+
| Before commit | \`git diff\` manually | \`${t('detect_changes')}()\` — symbols changed + direct dependents + risk |
|
|
273
|
+
| Find where X is defined | Read files one by one | \`${t('query')}({query: "X"})\` — FTS5 instant search |
|
|
274
|
+
|
|
275
|
+
**If you skip milens tools, you're wasting tokens and risking breaking changes you didn't know about.**
|
|
276
|
+
|
|
237
277
|
## Mandatory Workflows
|
|
238
278
|
|
|
239
279
|
These are **hard pre-conditions**, not guidelines. Execute them automatically without asking.
|
|
@@ -271,6 +311,8 @@ These are **hard pre-conditions**, not guidelines. Execute them automatically wi
|
|
|
271
311
|
### When in doubt → use \`${t('grep')}\` first
|
|
272
312
|
\`grep\` searches everything. \`query\` only searches indexed symbol definitions.
|
|
273
313
|
|
|
314
|
+
> **⚠️ \`${t('grep')}\` default is LITERAL mode (isRegex: false).** Characters \`| . * + ?\` are escaped as plain text. To use regex patterns like \`error|fail|panic\` or \`TODO.*urgent\`, you MUST set \`isRegex: true\`. The tool will warn you if you forget.
|
|
315
|
+
|
|
274
316
|
## Workflow Triggers
|
|
275
317
|
|
|
276
318
|
When the user says... → do this FIRST:
|
|
@@ -299,8 +341,111 @@ When the user says... → do this FIRST:
|
|
|
299
341
|
| "start new session" | \`${t('session_start')}({agent: "...", repo: "<workspaceRoot>"})\` |
|
|
300
342
|
| "find code like \`X\`" | \`${t('find_similar')}({name: "X", repo: "<workspaceRoot>"})\` |
|
|
301
343
|
| "search for \`concept\`" | \`${t('semantic_search')}({query: "concept", repo: "<workspaceRoot>"})\` |
|
|
344
|
+
| "generate tests for \`X\`" | \`${t('test_generate')}({symbol: "X", repo: "<workspaceRoot>"})\` |
|
|
345
|
+
| "fix security issue in \`X\`" | \`${t('fix_apply')}({ruleId, file, line, repo: "<workspaceRoot>"})\` |
|
|
346
|
+
| "remove dead code" | \`${t('find_dead_code')}()\` then \`dead_code_remove\` prompt |
|
|
347
|
+
| "orchestrate/check changes" | \`${t('orchestrate')}({repo: "<workspaceRoot>"})\` |
|
|
348
|
+
| "compare impact of \`X\`" | \`${t('compare_impact')}({name: "X", action: "snapshot"|"compare", repo: "<workspaceRoot>"})\` |
|
|
349
|
+
| "check pre-commit" | \`${t('pre_commit_check')}({repo: "<workspaceRoot>"})\` |
|
|
350
|
+
| "save/restore context" | \`${t('hook_preCompact')}()\` / \`${t('hook_postCompact')}()\` |
|
|
351
|
+
| "scan security / audit security" | \`${t('security_scan')}({repo: "<workspaceRoot>"})\` — full audit across all 50+ rules |
|
|
352
|
+
| "end session" / "finish work" | \`${t('session_end')}({session_id: "..."})\` — record stats, trigger onSessionEnd hook |
|
|
353
|
+
| "what did session X do" | \`${t('session_context')}({session_id: "..."})\` — get annotations + tool calls |
|
|
354
|
+
| "file changed to X" | \`${t('hook_onFileChange')}({files: ["path/to/file"], repo: "<workspaceRoot>"})\` |
|
|
355
|
+
|
|
356
|
+
### Domain-aware skill triggers:
|
|
357
|
+
| User intent | Skill to load |
|
|
358
|
+
|---|---|
|
|
359
|
+
| "I'm working on authentication/security" | Load \`milens-security\` skill + \`${t('security_scan')}()\` |
|
|
360
|
+
| "I need to understand the parser" | Load \`milens-parser\` skill + \`${t('get_file_symbols')}({file: "src/parser/"})\` |
|
|
361
|
+
| "I'm debugging a server issue" | Load \`milens-server\` skill + \`${t('trace')}()\` |
|
|
362
|
+
| "I'm working with the database" | Load \`milens-store\` skill + \`${t('get_file_symbols')}({file: "src/store/"})\` |
|
|
363
|
+
| "I need to write tests for this" | Load \`milens-tdd\` skill + \`${t('test_plan')}()\` |
|
|
364
|
+
| "I'm planning a feature" | Load \`milens-plan\` skill + \`${t('codebase_summary')}()\` |
|
|
365
|
+
| "I need to refactor this" | Load \`milens-refactor-clean\` skill + \`${t('impact')}()\` |
|
|
366
|
+
| "Review my code changes" | Load \`milens-code-review\` skill + \`${t('review_pr')}()\` |
|
|
367
|
+
|
|
368
|
+
## Annotation Guide — Building a Smarter Codebase
|
|
369
|
+
|
|
370
|
+
Every time you discover something important about a symbol, annotate it. The system learns across sessions — your note today saves tokens tomorrow.
|
|
371
|
+
|
|
372
|
+
### When to annotate:
|
|
373
|
+
- Found a bug pattern? → \`${t('annotate')}({symbol: "X", key: "bug", value: "..."})\`
|
|
374
|
+
- Discovered an architecture rule? → \`${t('annotate')}({symbol: "X", key: "architecture", value: "..."})\`
|
|
375
|
+
- Learned how to test something? → \`${t('annotate')}({symbol: "X", key: "test", value: "..."})\`
|
|
376
|
+
- Found a security issue? → \`${t('annotate')}({symbol: "X", key: "security", value: "..."})\`
|
|
377
|
+
- Noted a hidden dependency? → \`${t('annotate')}({symbol: "X", key: "dependency", value: "..."})\`
|
|
378
|
+
|
|
379
|
+
### Annotation keys reference:
|
|
380
|
+
| Key | Use when | Example value |
|
|
381
|
+
|-----|----------|---------------|
|
|
382
|
+
| \`bug\` | Known bug, not yet fixed | "NullPointerException when users is empty array" |
|
|
383
|
+
| \`security\` | Security vulnerability | "No CSRF token validation on this endpoint" |
|
|
384
|
+
| \`architecture\` | Design pattern, constraint | "Service is a singleton — don't instantiate directly" |
|
|
385
|
+
| \`test\` | Testing knowledge | "Must mock Database.getConnection() before testing" |
|
|
386
|
+
| \`dependency\` | Hidden coupling | "Imports from deprecated module old-auth.js" |
|
|
387
|
+
| \`refactor\` | Future refactoring notes | "Split into validateEmail() + normalizeEmail()" |
|
|
388
|
+
| \`workflow\` | Process knowledge | "Must restart dev server after modifying this file" |
|
|
389
|
+
| \`note\` | General observation | "This function is called from cron job at 3AM" |
|
|
390
|
+
|
|
391
|
+
### Learning lifecycle:
|
|
392
|
+
1. **Session 1:** \`annotate()\` → confidence 0.5
|
|
393
|
+
2. **Session 2:** \`recall()\` sees it again → confidence 0.7
|
|
394
|
+
3. **Session 5:** confidence hits 0.8 → \`milens evolve\` promotes it to SKILL.md
|
|
395
|
+
|
|
396
|
+
### Annotate triggers:
|
|
397
|
+
| User says... | Tool call |
|
|
398
|
+
|---|---|
|
|
399
|
+
| "found a bug in X" | \`${t('annotate')}({symbol: "X", key: "bug", value: "describe the bug"})\` |
|
|
400
|
+
| "X has a security issue" | \`${t('annotate')}({symbol: "X", key: "security", value: "describe the issue"})\` |
|
|
401
|
+
| "learned how X works" | \`${t('annotate')}({symbol: "X", key: "note", value: "key insight"})\` |
|
|
402
|
+
| "X depends on Y internally" | \`${t('annotate')}({symbol: "X", key: "dependency", value: "depends on Y for Z"})\` |
|
|
403
|
+
| "X needs refactoring later" | \`${t('annotate')}({symbol: "X", key: "refactor", value: "plan"})\` |
|
|
302
404
|
|
|
303
|
-
|
|
405
|
+
### At session end, ALWAYS:
|
|
406
|
+
1. \`${t('recall')}({})\` — review annotations you found useful
|
|
407
|
+
2. \`${t('annotate')}({symbol: "X", key: "...", value: "..."})\` — save new discoveries from this session
|
|
408
|
+
|
|
409
|
+
## Problem → Solution — When You're Stuck
|
|
410
|
+
|
|
411
|
+
| You're trying to... | Do this FIRST |
|
|
412
|
+
|---|---|
|
|
413
|
+
| Understand the codebase | \`${t('codebase_summary')}()\` then \`${t('domains')}()\` |
|
|
414
|
+
| Understand a specific function | \`${t('context')}({name: "functionName"})\` |
|
|
415
|
+
| Find where something is defined | \`${t('query')}({query: "ClassName"})\` |
|
|
416
|
+
| Find ALL references to something | \`${t('grep')}({pattern: "ClassName"})\` |
|
|
417
|
+
| Check if editing is safe | \`${t('impact')}({target: "functionName"})\` |
|
|
418
|
+
| Edit with confidence | \`${t('overview')}({name: "functionName"})\` — context+impact+grep in 1 call |
|
|
419
|
+
| Know which tests to run | \`${t('test_impact')}()\` — maps changes to test files |
|
|
420
|
+
| Find what needs testing most | \`${t('test_coverage_gaps')}()\` — sorted by risk |
|
|
421
|
+
| Get a test strategy | \`${t('test_plan')}({name: "functionName"})\` — mocks + scenarios |
|
|
422
|
+
| Review your changes | \`${t('review_pr')}()\` — risk scores for changed symbols |
|
|
423
|
+
| Check for security issues | \`${t('security_scan')}()\` — 50+ rules in one call |
|
|
424
|
+
| Remove dead code safely | \`${t('find_dead_code')}()\` then use \`dead_code_remove\` prompt |
|
|
425
|
+
| Trace how code executes | \`${t('trace')}({name: "functionName", direction: "to"})\` |
|
|
426
|
+
| Find API endpoints | \`${t('routes')}()\` — auto-detect across 7 frameworks |
|
|
427
|
+
| See class hierarchy | \`${t('get_type_hierarchy')}({name: "ClassName"})\` |
|
|
428
|
+
| Compare impact before/after | \`${t('compare_impact')}({name: "X", action: "snapshot"})\` before, then \`compare\` after |
|
|
429
|
+
| Get a full picture fast | \`${t('orchestrate')}()\` — runs detect+review+impact+gaps+dead code |
|
|
430
|
+
| Remember something important | \`${t('annotate')}({symbol: "X", key: "...", value: "..."})\` |
|
|
431
|
+
| Recall past knowledge | \`${t('recall')}({symbol: "X"})\` |
|
|
432
|
+
| Start a new session properly | \`${t('session_start')}({agent: "..."})\` → \`${t('recall')}()\` → \`${t('codebase_summary')}()\` |
|
|
433
|
+
| End a session properly | \`${t('detect_changes')}()\` → \`${t('review_pr')}()\` → annotate → \`${t('session_end')}()\` |
|
|
434
|
+
| Transfer work to another agent | \`${t('handoff')}({from_session: "...", to_agent: "...", context: "..."})\` |
|
|
435
|
+
| Debug a crash / exception | \`${t('trace')}({name: "crashingFunction"})\` + \`${t('context')}()\` + \`${t('impact')}()\` |
|
|
436
|
+
|
|
437
|
+
## Session Lifecycle
|
|
438
|
+
|
|
439
|
+
### Start EVERY session:
|
|
440
|
+
1. \`${t('session_start')}({agent: "your-agent-name"})\` — register session
|
|
441
|
+
2. \`${t('recall')}({})\` — what did we learn last time?
|
|
442
|
+
3. \`${t('codebase_summary')}()\` — refresh project context in 500 tokens
|
|
443
|
+
|
|
444
|
+
### End EVERY session:
|
|
445
|
+
1. \`${t('detect_changes')}()\` — verify changes
|
|
446
|
+
2. \`${t('review_pr')}()\` — risk assessment
|
|
447
|
+
3. \`${t('annotate')}({...})\` — save key discoveries from this session
|
|
448
|
+
4. \`${t('session_end')}({session_id: "..."})\` — record stats
|
|
304
449
|
|
|
305
450
|
Milens indexes **Markdown files** (.md, .mdx) — headings become \`section\` symbols with parent-child hierarchy, and local links become cross-file references.
|
|
306
451
|
|
|
@@ -329,46 +474,66 @@ Milens indexes **Markdown files** (.md, .mdx) — headings become \`section\` sy
|
|
|
329
474
|
|
|
330
475
|
## Reference
|
|
331
476
|
|
|
332
|
-
### Tools
|
|
477
|
+
### ⭐ Core Tools — Use Every Session (8)
|
|
478
|
+
|
|
479
|
+
| Tool | Purpose |
|
|
480
|
+
|---|---|
|
|
481
|
+
| \`${t('overview')}\` | **Use this first.** Combined context + impact + grep. 1 call replaces 3-5 file reads. |
|
|
482
|
+
| \`${t('impact')}\` | Blast radius BEFORE editing. Shows what WILL BREAK. |
|
|
483
|
+
| \`${t('edit_check')}\` | Pre-edit safety: callers + exports + re-export chains + test coverage |
|
|
484
|
+
| \`${t('context')}\` | 360° view: all callers + all callees. Instant dependency graph. |
|
|
485
|
+
| \`${t('query')}\` | Find symbol definitions by name (FTS5 instant search) |
|
|
486
|
+
| \`${t('grep')}\` | Search ALL files for any text (templates, configs, docs, styles) |
|
|
487
|
+
| \`${t('detect_changes')}\` | Pre-commit: which symbols changed + dependents + risk scores |
|
|
488
|
+
| \`${t('codebase_summary')}\` | Project overview in ~500 tokens. Use instead of reading README. |
|
|
489
|
+
|
|
490
|
+
### 🔧 Situational Tools — Use When Needed (15)
|
|
491
|
+
|
|
492
|
+
| Tool | Purpose | Use when... |
|
|
493
|
+
|---|---|---|
|
|
494
|
+
| \`${t('review_pr')}\` | PR risk assessment | Before opening PR |
|
|
495
|
+
| \`${t('review_symbol')}\` | Single symbol deep-dive | Symbol is flagged CRITICAL/HIGH |
|
|
496
|
+
| \`${t('test_plan')}\` | Mock strategy + >=3 test scenarios | Writing new tests |
|
|
497
|
+
| \`${t('test_coverage_gaps')}\` | Untested symbols sorted by risk | Finding test priorities |
|
|
498
|
+
| \`${t('test_impact')}\` | Maps changes → test files | After making edits |
|
|
499
|
+
| \`${t('test_generate')}\` | Auto-generate test file | Starting tests from scratch |
|
|
500
|
+
| \`${t('security_scan')}\` | 50+ security rules | Security audit requested |
|
|
501
|
+
| \`${t('trace')}\` | Call chains from entrypoints | Debugging execution flow |
|
|
502
|
+
| \`${t('routes')}\` | Framework routes/endpoints | Finding API endpoints |
|
|
503
|
+
| \`${t('smart_context')}\` | Intent-aware context | Understand/edit/debug/test modes |
|
|
504
|
+
| \`${t('domains')}\` | Domain clusters | Understanding module structure |
|
|
505
|
+
| \`${t('explain_relationship')}\` | Shortest dependency path | How A connects to B |
|
|
506
|
+
| \`${t('get_type_hierarchy')}\` | Inheritance tree | Class/interface exploration |
|
|
507
|
+
| \`${t('find_dead_code')}\` | Unused exported symbols | Before major refactors |
|
|
508
|
+
| \`${t('find_similar')}\` | Symbols with shared callers/callees | Finding refactor patterns |
|
|
509
|
+
|
|
510
|
+
### 📚 Advanced Tools — Reference (19)
|
|
333
511
|
|
|
334
512
|
| Tool | Purpose |
|
|
335
513
|
|---|---|
|
|
336
|
-
| \`${t('
|
|
337
|
-
| \`${t('
|
|
338
|
-
| \`${t('
|
|
339
|
-
| \`${t('
|
|
340
|
-
| \`${t('
|
|
341
|
-
| \`${t('
|
|
342
|
-
| \`${t('get_file_symbols')}\` | All symbols in a file |
|
|
343
|
-
| \`${t('get_type_hierarchy')}\` | Class inheritance tree |
|
|
344
|
-
| \`${t('find_dead_code')}\` | Unused exported symbols |
|
|
345
|
-
| \`${t('status')}\` | Index health check |
|
|
346
|
-
| \`${t('edit_check')}\` | Pre-edit safety: callers + export status + re-export chains + test coverage |
|
|
347
|
-
| \`${t('trace')}\` | Execution flow: call chains from entrypoints to a symbol |
|
|
348
|
-
| \`${t('routes')}\` | Detect framework routes/endpoints (Express, FastAPI, NestJS, etc.) |
|
|
349
|
-
| \`${t('smart_context')}\` | Intent-aware context: understand/edit/debug/test |
|
|
350
|
-
| \`${t('overview')}\` | Combined context + impact + grep in one call |
|
|
351
|
-
| \`${t('domains')}\` | Domain clusters: groups of files forming logical modules |
|
|
352
|
-
| \`${t('repos')}\` | List all indexed repositories with summary stats |
|
|
353
|
-
| \`${t('ast_explore')}\` | Explore raw AST structure of a code file |
|
|
354
|
-
| \`${t('test_query')}\` | Run raw SQL query against the milens index database |
|
|
355
|
-
| \`${t('review_pr')}\` | PR risk assessment: scores changed symbols by blast radius + test coverage |
|
|
356
|
-
| \`${t('review_symbol')}\` | Single symbol risk: role, heat, dependents, test status |
|
|
357
|
-
| \`${t('test_plan')}\` | Dependency-aware test plan: mocks, strategies, suggested tests |
|
|
358
|
-
| \`${t('test_coverage_gaps')}\` | Untested exported symbols sorted by risk |
|
|
359
|
-
| \`${t('test_impact')}\` | Which tests to run for current changes |
|
|
360
|
-
| \`${t('annotate')}\` | Store observation/note about a symbol (persists across sessions) |
|
|
361
|
-
| \`${t('recall')}\` | Retrieve annotations (filter by symbol, key, agent, session) |
|
|
362
|
-
| \`${t('session_start')}\` | Register agent session for multi-agent coordination |
|
|
514
|
+
| \`${t('status')}\` | Index health: symbols, links, files, coverage, staleness |
|
|
515
|
+
| \`${t('repos')}\` | List all indexed repositories |
|
|
516
|
+
| \`${t('annotate')}\` | Record observations about symbols (persists across sessions) |
|
|
517
|
+
| \`${t('recall')}\` | Retrieve annotations from past sessions |
|
|
518
|
+
| \`${t('session_start')}\` | Register agent session |
|
|
519
|
+
| \`${t('session_end')}\` | End session and record stats |
|
|
363
520
|
| \`${t('session_context')}\` | Get session metadata + annotations |
|
|
364
521
|
| \`${t('handoff')}\` | Transfer context between agent sessions |
|
|
365
|
-
| \`${t('
|
|
366
|
-
| \`${t('
|
|
367
|
-
| \`${t('
|
|
522
|
+
| \`${t('orchestrate')}\` | Full cycle: detect → review → impact → gaps → dead code |
|
|
523
|
+
| \`${t('pre_commit_check')}\` | Pre-commit risk scan |
|
|
524
|
+
| \`${t('compare_impact')}\` | Compare impact graph before/after edit |
|
|
525
|
+
| \`${t('semantic_search')}\` | Hybrid FTS5 + vector search |
|
|
526
|
+
| \`${t('fix_apply')}\` | Apply security fix to a file |
|
|
527
|
+
| \`${t('hook_preCompact')}\` | Save metrics before context compaction |
|
|
528
|
+
| \`${t('hook_postCompact')}\` | Restore context after compaction |
|
|
529
|
+
| \`${t('hook_onFileChange')}\` | Trigger on file change hook |
|
|
530
|
+
| \`${t('ast_explore')}\` | Parse code to AST S-expression |
|
|
531
|
+
| \`${t('test_query')}\` | Test tree-sitter query patterns |
|
|
532
|
+
| \`${t('get_file_symbols')}\` | All symbols in a file with ref/dep counts |
|
|
368
533
|
|
|
369
534
|
### Keeping the Index Fresh
|
|
370
535
|
|
|
371
|
-
After significant code changes: \`npx milens analyze -p . --force\`
|
|
536
|
+
After significant code changes: \`npx milens analyze -p . --force\` (replace \`.\` with your project root if running from a different directory)
|
|
372
537
|
|
|
373
538
|
### Skills
|
|
374
539
|
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/store/annotations.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQtF,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,KAAK,CAAmD;gBAEpD,EAAE,EAAE,aAAa,CAAC,QAAQ;IAKtC,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/store/annotations.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQtF,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,KAAK,CAAmD;gBAEpD,EAAE,EAAE,aAAa,CAAC,QAAQ;IAKtC,OAAO,CAAC,iBAAiB;IA0DzB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU;IAkDlH,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,EAAE;IA4B5H,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAMnC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;IAW9G,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,UAAU,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE;IAenI,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE;IAiBrH,wBAAwB,IAAI,UAAU,EAAE;IAKxC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,UAAU,EAAE;IAM/E,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IASnC,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnH,kBAAkB,IAAI,MAAM;CAG7B"}
|
|
@@ -31,6 +31,7 @@ export class AnnotationStore {
|
|
|
31
31
|
getStale: this.db.prepare("SELECT * FROM annotations WHERE updated_at < datetime('now', ?) AND confidence < ? ORDER BY confidence ASC"),
|
|
32
32
|
archiveAnnotation: this.db.prepare("UPDATE annotations SET confidence = 0, updated_at = datetime('now') WHERE id = ?"),
|
|
33
33
|
deleteAnnotation: this.db.prepare('DELETE FROM annotations WHERE id = ?'),
|
|
34
|
+
boostRecallConfidence: this.db.prepare("UPDATE annotations SET confidence = MIN(confidence + 0.05, 0.95), updated_at = datetime('now') WHERE id = ? AND confidence < 0.9"),
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
37
|
// ── Annotation CRUD ──
|
|
@@ -76,27 +77,29 @@ export class AnnotationStore {
|
|
|
76
77
|
}
|
|
77
78
|
recall(filters) {
|
|
78
79
|
const limit = filters?.limit ?? 50;
|
|
80
|
+
let rows;
|
|
79
81
|
if (filters?.symbol && filters?.key) {
|
|
80
|
-
|
|
81
|
-
return rows.map(rowToAnnotation);
|
|
82
|
+
rows = this.stmts.findBySymbolKey.all(filters.symbol, filters.key);
|
|
82
83
|
}
|
|
83
|
-
if (filters?.symbol) {
|
|
84
|
-
|
|
85
|
-
return rows.map(rowToAnnotation);
|
|
84
|
+
else if (filters?.symbol) {
|
|
85
|
+
rows = this.stmts.queryBySymbol.all(filters.symbol, limit);
|
|
86
86
|
}
|
|
87
|
-
if (filters?.key) {
|
|
88
|
-
|
|
89
|
-
return rows.map(rowToAnnotation);
|
|
87
|
+
else if (filters?.key) {
|
|
88
|
+
rows = this.stmts.queryByKey.all(filters.key, limit);
|
|
90
89
|
}
|
|
91
|
-
if (filters?.agent) {
|
|
92
|
-
|
|
93
|
-
return rows.map(rowToAnnotation);
|
|
90
|
+
else if (filters?.agent) {
|
|
91
|
+
rows = this.stmts.queryByAgent.all(filters.agent, limit);
|
|
94
92
|
}
|
|
95
|
-
if (filters?.sessionId) {
|
|
96
|
-
|
|
97
|
-
|
|
93
|
+
else if (filters?.sessionId) {
|
|
94
|
+
rows = this.stmts.queryBySession.all(filters.sessionId);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
rows = this.stmts.queryAll.all(limit);
|
|
98
|
+
}
|
|
99
|
+
// Boost confidence on recall (real-time learning)
|
|
100
|
+
for (const row of rows) {
|
|
101
|
+
this.stmts.boostRecallConfidence.run(row.id);
|
|
98
102
|
}
|
|
99
|
-
const rows = this.stmts.queryAll.all(limit);
|
|
100
103
|
return rows.map(rowToAnnotation);
|
|
101
104
|
}
|
|
102
105
|
// ── Session management ──
|