1broseidon/cymbal

Language-agnostic code navigation CLI powered by tree-sitter

解决的问题

Cymbal 是一个快速、语言无关的代码导航器,解决了繁琐的手动代码库探索问题。无需在 grepfind 和手动文件读取之间来回切换,它提供了一种结构化的方式,在毫秒内完成符号查找、交叉引用分析和影响评估。

工作原理

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 内完成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目