1broseidon/cymbal
Language-agnostic code navigation CLI powered by tree-sitter
解決的問題
Cymbal 是一個快速且語言無關的程式碼導航工具,解決了耗時的手動程式碼庫探索問題。無需在 grep、find 和手動檔案讀取之間反覆切換,它提供了一種結構化的方式,在毫秒內完成符號查找、交叉引用分析與影響評估。
工作原理
Cymbal 使用 tree-sitter 將原始碼檔案解析為抽象語法樹(AST),並將符號、匯入與參考項目提取至本地 SQLite 索引中,支援 FTS5 後端搜尋。它執行增量更新,僅在每次查詢前重新解析變更的檔案,並支援跨多個 Git worktree 的聯邦搜尋。
適用對象
- CLI 使用者:希望更快理解不熟悉程式庫的開發者
- AI 代理:需要結構化程式碼導航層以減少 token 使用並取代長串搜尋/顯示呼叫的 LLM 基礎代理
- 工具開發者:希望將索引化程式碼導航嵌入編輯器、機器人或自動化工具的 Go 開發者
主要特色
- 適應性探索:
investigate命令可在一次呼叫中提供原始碼、呼叫者與影響範圍的整合視圖。 - 圖形模式:產生視覺化相依性地圖(Mermaid、DOT 或 JSON),用於追蹤被呼叫者或分析影響範圍。
- 代理原生設計:專為與 OpenCode 和 Claude Code 等代理整合而設計,以優化 token 消耗。
- 語言無關:支援 Go、Python、Rust、TypeScript、Java 和 C++ 等多種語言。
- 高效率:符號與文字查詢通常在 10–40ms 內完成。
相關
- 專案
- 專案
- 專案
- 專案
- 專案