grove v0.1.6
What's new
map tool — directory-level dependency graph (fixes #34)
A new map tool returns every definition in a directory grouped by file, each with its outgoing references (which other symbols it calls/uses). No source bodies — just the dependency graph. This replaces many symbols+source round-trips with a single call, preventing the over-read / non-convergence behavior where agents fan out across many candidates without breadth control.
grove map src --kind function --name parse[{"file": "src/parse.rs", "entries": [
{"id": "rust:src/parse.rs#parse_item@41", "kind": "function", "name": "parse_item",
"parent": "Parser", "row": 41, "signature": "fn parse_item(&mut self) -> Result<Node>",
"references": ["Result", "Node", "lex"]},
...]}]Breadth control steering
Tool descriptions, MCP instructions(), init-written CLAUDE.md, and SKILL.md now actively steer agents toward map for architectural questions and away from sequential source fan-out.
Fixes from included PRs
- callers: include all reference kinds (not just
call) — type references, implementation references, etc. now return results instead of[]for heavily-used class/type names (#33) - callers: textual fallback finds whole-word references the tags query misses (#33)
- symbols/definition/callers: skip generated
.d.ts/.d.cts/.d.mtsdeclaration files (#32)
What's Changed
- feat(ops,mcp): add
maptool for directory-level dependency graphs (#34) - fix(ops): broaden callers to all reference kinds + textual fallback (#33)
- fix(ops): skip generated .d.ts declaration files in directory walks (#32)
Full Changelog: v0.1.5...v0.1.6