code_intelDECISION RULE: Structure questions → this tool. Text search → Grep.
Before using Grep, ask: Is this a STRUCTURE question (definitions, callers, impact) or a TEXT question (strings, config)?
QUICK START: `return await api.searchSymbols({query: "AuthService"})` — simple queries are one-liners.
Run `api.listMethods()` for full API reference with signatures and descriptions.
Run `api.help("methodName")` for inline TypeScript type definitions — no resource reads needed.
Compose: `const [impact, deps] = await Promise.all([api.impactAnalysis({symbolId}), api.getDependents({filePath})]);`
WHY THIS TOOL: Graph-backed intelligence finds indirect relationships, transitive dependencies, and breaking change risks that text search cannot detect.
"What uses X?" disambiguation: getDependents (file imports) vs getCallGraph (call chain) vs traceSymbolUsage (all usages).
USE IMMEDIATELY WHEN:
• BEFORE using Edit on a function/class → run impactAnalysis({symbolId}) first
• BEFORE exploring an unfamiliar codebase → run getArchitectureOverview()
• BEFORE refactoring → trace getDependencies + getDependents for blast radius
• Running 3+ Grep calls for structure? STOP → use code_intel instead
TOP 5 QUESTIONS (query is case-insensitive substring match):
• "Where is X defined?" / "Find function Y" → searchSymbols({query})
• "What calls X?" / "What imports this?" → getDependents({filePath}) or getCallGraph({symbolId})
• "What does X depend on?" → getDependencies({filePath})
• "Safe to modify X?" / "Blast radius?" → impactAnalysis({symbolId})
• "Find dead code" / "Unused exports?" → findOrphanedCode()
• "Complex functions?" / "Refactoring targets?" → searchSymbols results include complexity.cyclomaticComplexity + complexityRisk per function
NOT FOR: literal string search, log messages, config values, or reading source code. Use Grep/Glob/Read for those.
Supports TypeScript, JavaScript, Python, and more — run api.getCapabilities() to check your project.
WRONG TOOL SIGNAL: If you've run 3+ Grep calls for structure (callers, dependencies, impact), STOP and use code_intel instead.
Typical workflow: code_intel to find (results include source snippets) → Edit to modify
IMPORTANT: The `cwd` parameter is required — always set it to the target project directory path.