1broseidon/cymbal
Language-agnostic code navigation CLI powered by tree-sitter
解决的问题
Cymbal 是一个快速、语言无关的代码导航器,解决了繁琐的手动代码库探索问题。无需在 grep、find 和手动文件读取之间来回切换,它提供了一种结构化的方式,在毫秒内完成符号查找、交叉引用分析和影响评估。
工作原理
Cymbal 使用 tree-sitter 将源文件解析为抽象语法树(AST),并将符号、导入和引用提取到本地 SQLite 索引中,支持 FTS5 后端搜索。它执行增量更新,仅在每次查询前重新解析已更改的文件,并支持跨多个 Git worktree 的联邦搜索。
适用人群
- CLI 用户:希望更快理解不熟悉仓库的开发者
- AI Agent:需要结构化代码导航层以减少 token 使用并替代长链搜索/显示调用的 LLM 基础代理
- 工具开发人员:希望将索引化代码导航嵌入编辑器、机器人或自动化工具的 Go 开发者
主要亮点
- 自适应探索:
investigate命令可在一次调用中提供源码、调用者和影响范围的整合视图。 - 图模式:生成可视化依赖图(Mermaid、DOT 或 JSON),用于追踪调用者或分析影响范围。
- Agent 原生支持:专为与 OpenCode 和 Claude Code 等代理集成而设计,以优化 token 消耗。
- 语言无关:支持 Go、Python、Rust、TypeScript、Java 和 C++ 等多种语言。
- 高性能:符号和文本查询通常在 10–40ms 内完成。
相关
- 项目
- 项目
- 项目
- 项目
- 项目