Skip to content

grove v0.1.6

Choose a tag to compare

@devasur devasur released this 23 Jun 09:01

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.mts declaration files (#32)

What's Changed

  • feat(ops,mcp): add map tool 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