SuperAPI AI 工具集

code-intelligence

编程与开发

查看项目

更新于 10-16 04:38

技能介绍

用途

Code Intelligence 是一个代码库智能分析技能,旨在帮助理解代码关系、进行语义搜索以及分析变更影响。它适用于理解大型或不熟悉的代码库、查找函数或变量的所有使用位置、在修改前评估风险、发现代码库中的模式、回答“X 在哪里”的问题、准备代码审查以及规划重构。

主要能力

索引代码库

构建可搜索的代码库索引:

node index.js --scan /path/to/project

该命令会创建:

  • 符号表(函数、类、导出)
  • 导入/依赖图
  • 文件元数据索引

语义搜索

按含义而非仅按文本搜索代码:

# 查找与认证相关的代码
node search.js "authentication middleware"

# 查找数据库连接建立的位置
node search.js "database connection setup"

# 带过滤条件搜索
node search.js "user validation" --type function --ext js,ts

关系分析

理解代码依赖:

# 哪些内容依赖此文件?
node deps.js --dependents src/utils/api.js

# 此文件导入了什么?
node deps.js --imports src/utils/api.js

# 显示完整依赖链
node deps.js --chain src/app.js

影响分析

预测变更可能破坏的内容:

# 分析修改函数的影响
node impact.js src/utils/auth.js --function verifyToken

# 检查文件变更的影响
node impact.js src/config/database.js

代码问答

就代码库提问:

node ask.js "Where is the JWT secret configured?"
node ask.js "How does error handling work in this project?"
node ask.js "What functions use the database connection?"

使用方式

安装

cd /job/.pi/skills/code-intelligence
npm install

输出格式

所有工具输出 JSON 以便程序化使用,或输出格式化文本以便阅读:

# JSON 输出(用于管道传递给其他工具)
node search.js "auth" --json

# 格式化文本(默认)
node search.js "auth"

架构

该技能采用分层方法:

  • 解析层:使用 Tree-sitter 进行 AST 解析
  • 索引层:使用 SQLite 进行快速查找 + JSON 存储图数据
  • 搜索层:混合关键词 + 语义匹配
  • 分析层:使用图算法进行关系映射

适用场景

  • 理解大型或不熟悉的代码库
  • 查找函数或变量的所有使用位置
  • 在修改前评估风险
  • 发现代码库中的模式
  • 回答“X 在哪里”的问题
  • 准备代码审查
  • 规划重构

限制与要求

要求

  • Node.js ≥18
  • 支持语言的 Tree-sitter 解析器(自动安装)

支持的语言

  • JavaScript/TypeScript
  • Python
  • Rust
  • Go
  • Java
  • Ruby
  • 以及更多通过 tree-sitter 支持的语言

数据存储

索引文件存储在 .code-intelligence/ 中:

  • index.db - SQLite 数据库
  • graph.json - 依赖图
  • cache/ - 解析后的 AST 缓存

建议将 .code-intelligence/ 添加到 .gitignore。