1broseidon/cymbal
Language-agnostic code navigation CLI powered by tree-sitter
What it solves
Cymbal is a fast, language-agnostic code navigator that solves the problem of tedious manual codebase exploration. Instead of bouncing between grep, find, and manual file reads, it provides a structured way to perform symbol lookups, cross-reference analysis, and impact assessments in milliseconds.
How it works
Cymbal uses tree-sitter to parse source files into Abstract Syntax Trees (ASTs) and extracts symbols, imports, and references into a local SQLite index with FTS5-backed search. It performs incremental updates, reparsing only changed files before each query, and can federate searches across multiple Git worktrees.
Who it’s for
- CLI Users: Developers who want a faster way to understand unfamiliar repositories.
- AI Agents: LLM-based agents that need a structured code navigation layer to reduce token usage and replace long chains of search/show calls.
- Tooling Developers: Go developers who want to embed indexed code navigation into editors, bots, or automation via a library.
Highlights
- Adaptive Exploration: The
investigatecommand provides a bundled view of source, callers, and impact in one call. - Graph Mode: Generates visual dependency maps (Mermaid, DOT, or JSON) for tracing callees or analyzing blast radius.
- Agent-Native: Specifically designed to integrate with agents like OpenCode and Claude Code to optimize token consumption.
- Language Agnostic: Supports a wide array of languages including Go, Python, Rust, TypeScript, Java, and C++.
- High Performance: Symbol and text queries typically complete in 10-40ms.
Related
- Project
- Project
- Project
- Project
- Project