| generated-by | milens |
| name | milens-analyzer |
| description | Code intelligence for the analyzer area — symbols, dependencies, and entry points |
Analyzer
Working with this area
When working with code in analyzer/, follow these mandatory safety rules:
Before editing any symbol in this area:
- Call
mcp_milens_impact({target: "<symbol>", repo: "<workspaceRoot>"}) — check blast radius
- If depth-1 dependents > 5 → STOP and warn before proceeding
- Call
mcp_milens_context({name: "<symbol>", repo: "<workspaceRoot>"}) — see all callers/callees
Before committing changes in this area:
- Call
mcp_milens_detect_changes({repo: "<workspaceRoot>"}) — verify scope
- If unexpected files changed → STOP and report
Key tools for this area:
| Task | Tool |
|---|
| Find all references | mcp_milens_context |
| Check edit safety | mcp_milens_edit_check |
| Text search across files | mcp_milens_grep |
| See file symbols | mcp_milens_get_file_symbols |
Edit-safety enforcement
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).
Overview
Contains 131 symbols (24 exported) across 8 files.
Key Symbols
analyze [function] (src/analyzer/engine.ts:139) — 10 refs
resolveLinksWithStats [function] (src/analyzer/resolver.ts:54) — 9 refs
reviewPr [function] (src/analyzer/review.ts:261) — 9 refs
countDependentFiles [function] (src/analyzer/risk.ts:13) — 9 refs
loadAliases [function] (src/analyzer/config.ts:10) — 6 refs
ResolutionResult [interface] (src/analyzer/resolver.ts:39) — 6 refs
classifyRisk [function] (src/analyzer/risk.ts:33) — 5 refs
scoreSymbolRisk [function] (src/analyzer/risk.ts:41) — 5 refs
diffResolutions [function] (src/analyzer/scope-resolver.ts:768) — 5 refs
enrichMetadata [function] (src/analyzer/enrich.ts:21) — 4 refs
ReviewResult [interface] (src/analyzer/review.ts:19) — 4 refs
scanFiles [function] (src/analyzer/scanner.ts:11) — 4 refs
resolveWithScopes [function] (src/analyzer/scope-resolver.ts:48) — 4 refs
clearTreeCache [function] (src/analyzer/engine.ts:29) — 3 refs
resolveLinks [function] (src/analyzer/resolver.ts:49) — 3 refs
Entry Points
ScopeNode [interface] — 11 incoming references
analyze [function] — 10 incoming references
resolveLinksWithStats [function] — 9 incoming references
reviewPr [function] — 9 incoming references
countDependentFiles [function] — 9 incoming references
Dependencies
- parser:
langForFile, supportedExtensions, getParser, loadLanguage, extractFromTree, clearQueryCache, extractVueScript, extractVueTemplateRefs (+9 more)
- root:
isTestFile, CodeSymbol, ExtractionResult, RawImport, RawCall, RawHeritage, RawReExport, RawTypeBinding (+8 more)
- store:
Database, TfIdfProvider, EmbeddingStore, buildEmbeddingText, isFileUpToDate, upsertFileHash, getSymbolsByFile, transaction (+18 more)
- ui:
ProgressPhase, ProgressReporter, startPhase, tick, endPhase, finalize
Used By
- root:
loadAliases, analyze, resolve
- orchestrator:
reviewPr, ReviewResult, SymbolRisk
- server:
reviewPr, countDependentFiles, analyze
- test:
analyze, loadAliases, getCachedTree, clearTreeCache, enrichMetadata, resolveLinksWithStats, resolveLinks, reviewSymbol (+9 more)
- apps:
resolve
- scripts:
resolve
- parser:
resolve
Files
- src/analyzer/config.ts
- src/analyzer/engine.ts
- src/analyzer/enrich.ts
- src/analyzer/resolver.ts
- src/analyzer/review.ts
- src/analyzer/risk.ts
- src/analyzer/scanner.ts
- src/analyzer/scope-resolver.ts