Skip to content

Semantic Tools

Tools for changes that touch multiple locations — renaming, type tracking, and route tracing.

Preview every location that references a symbol before renaming it.

# Always dry_run first
code_rename_symbol(old_name="processUser", new_name="handleUser", dry_run=true)

Returns every file and line number: definitions, calls, imports, type references. Review the list, then make the changes.

Never rename without running this first. Missing a reference leaves broken imports.


Find all places a TypeScript type is used.

code_type_usages(name="UserDTO", usage_kind="all")
code_type_usages(name="UserDTO", usage_kind="parameter")
code_type_usages(name="ApiResponse", usage_kind="return")
code_type_usages(name="BaseEntity", usage_kind="definition")

Run before changing a type’s shape — see everything that will need updating.


Natural language routing — auto-picks the right tool.

code_quick("what calls processPayment") → routes to code_callers
code_quick("find the login function") → routes to code_search
code_quick("show me the User class") → routes to code_get
code_quick("what's the project structure?") → routes to code_structure

Good for quick exploration when you’re not sure which tool to use.