项目简介

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' - 检查索引守护进程状态

基本使用方法

  1. 启动守护进程:'gabb daemon start --background'
  2. 查询符号:'gabb symbols --kind function --limit 10'
  3. 查找定义:'gabb definition --file src/main.ts:10:5'
  4. 查找引用:'gabb usages --file src/main.ts:10:5'
  5. MCP 服务器:'gabb mcp-server --root .'

守护进程会自动启动索引过程,监控文件变化,并提供实时代码导航功能。

信息

分类

开发者工具