项目简介
Gabb 是一个 Rust 开发的命令行工具,能够为 TypeScript、Rust 和 Kotlin 项目构建本地代码索引。它包含一个持续运行的守护进程,自动跟踪文件系统变化并保持索引更新。
主要功能
- 代码符号索引:自动解析函数、类、接口、方法等符号定义
- 智能代码导航:支持定义跳转、引用查找、实现查找
- 重复代码检测:通过内容哈希识别重复的符号定义
- 跨文件依赖解析:智能处理导入/引用关系
- 多语言支持:TypeScript/TSX、Rust、Kotlin
- 实时同步:后台守护进程监控文件变化,保持索引最新
- AI助手集成:通过 MCP 协议向 Claude Code、Claude Desktop 等 AI 编程工具提供代码上下文
安装步骤
通过 Homebrew 安装(推荐)
brew tap gabb-software/homebrew-tap brew install gabb
初始化项目
gabb init --mcp --skill gabb daemon start --background
MCP 服务器配置
Gabb 提供了完整的 MCP 服务器实现,支持以下配置:
Claude Code 配置(推荐):
{ "mcpServers": { "gabb": { "command": "gabb", "args": ["mcp-server", "--root", "."] }
Claude Desktop 配置:
{ "mcpServers": { "gabb": { "command": "gabb", "args": ["mcp-server", "--root", "/项目绝对路径"] }
可用工具
通过 MCP 协议提供的工具包括:
- 'gabb_symbols' - 搜索代码库中的符号
- 'gabb_symbol' - 获取符号详细信息
- 'gabb_definition' - 跳转到符号定义
- 'gabb_usages' - 查找符号的所有引用
- 'gabb_implementations' - 查找接口、特质或抽象类的实现
- 'gabb_duplicates' - 查找重复的符号定义
- 'gabb_daemon_status' - 检查索引守护进程状态
基本使用方法
- 启动守护进程:'gabb daemon start --background'
- 查询符号:'gabb symbols --kind function --limit 10'
- 查找定义:'gabb definition --file src/main.ts:10:5'
- 查找引用:'gabb usages --file src/main.ts:10:5'
- MCP 服务器:'gabb mcp-server --root .'
守护进程会自动启动索引过程,监控文件变化,并提供实时代码导航功能。
信息
分类
开发者工具