使用说明
皮质
Cortex是一个代码库智能引擎,可以构建任何项目的持久知识图,并通过CLI、MCP服务器和CI工具链公开。将其指向代码库——它为每个函数、类、路由、数据库表和环境变量建立索引,映射它们之间的关系,并为您提供有关依赖关系、影响、测试覆盖率和代码健康状况的即时答案。
不需要API密钥。在当地运行。将所有内容存储在SQLite中。可与任何兼容MCP的AI工具配合使用。
它的作用
索引 --将整个代码库解析为存储在SQLite中的知识图。支持TypeScript、JavaScript、Python、SQL、JSON、YAML、ENV文件,以及Go、Rust、Java和Ruby的通用回退。处理monorepos,过滤生成的代码,并在毫秒内增量更新。
查询 --询问有关代码的自然语言问题。“什么依赖于UserService?”跟踪每个调用者。“当用户点击签出时会发生什么?”遵循文件之间的数据流。“列出所有路由”返回每个HTTP端点。
影响分析 --在你改变什么之前,知道什么会打破。Cortex计算爆炸半径——每个受影响的文件、测试和文档——分配一个0到100的风险评分,并建议采取具体行动来降低风险。
测试发现 -查找未经测试的代码,并根据错误的危险程度对其进行排名。按调用方的数量、是否位于关键路径(可从路由或API端点访问)、是否接触数据库以及最近更改的时间进行优先级排序。
测试生成 --使用调用站点契约推理生成适合框架的测试文件(Jest、Vitest、Pytest、node:test)。知道每个函数的实际使用方式,因为它从图中读取调用者,而不仅仅是签名。
漂移检测 --扫描随时间累积的模式不一致。混合命名约定、冲突的导出样式、混合了无关问题的目录。在代码库变得一团糟之前,人们不会注意到这种技术债务。
变更审查 --对照知识图查看您最近的git更改。标记未经测试的新函数、高影响修改(具有许多调用者的函数)和需要迁移验证的数据库访问模式。
安装
git clone https://github.com/curtisdery/cortex.git
cd cortex
bun install
需要 包子 1.1+.
用法
CLI——一个命令,完整分析
bun bin/cortex.ts /path/to/your/project
Cortex Health Report — my-project
══════════════════════════════════════════════════
📦 Index
3,421 nodes, 12,085 edges (1.8s)
🧪 Test Coverage
42% — 1,437 / 3,421 entities tested
Top untested (by risk):
1. [85pts] processPayment (src/payments.ts:42)
2. [72pts] validateOrder (src/orders.ts:18)
📝 Recent Changes
8 files changed
[WARN] handleAuth has 22 callers — wide impact
🔍 Pattern Drift
No issues detected.
──────────────────────────────────────────────────
Result: WARN — 0 errors, 1 warnings
选项
bun bin/cortex.ts . # Analyze current directory
bun bin/cortex.ts . --skip-index # Use cached graph (instant)
bun bin/cortex.ts . --json # Machine-readable output
bun bin/cortex.ts . --quiet # Just PASS/WARN/FAIL
bun bin/cortex.ts . --min-coverage=30 # Fail if coverage below 30%
bun bin/cortex.ts . --base=main # Review changes since main branch
MCP服务器——连接到克劳德代码、游标、VS代码
# Register globally (works from any directory)
claude mcp add --scope user cortex -- bun /absolute/path/to/cortex/bin/cortex-mcp.ts
启动新的Claude Code会话。有8种工具可供选择:
| 工具 | 它做什么 |
|---|---|
cortex_index |
构建或更新知识图谱 |
cortex_query |
关于代码关系的自然语言问题 |
cortex_impact |
爆炸半径+拟议变更的风险评分 |
cortex_test_discover |
查找按风险排序的未经测试的代码 |
cortex_test_generate |
使用调用站点上下文生成测试文件 |
cortex_guardian_scan |
检测模式漂移和不一致 |
cortex_guardian_review |
根据项目模式审查git更改 |
cortex_status |
图形统计和实体细分 |
CI管道
- name: Cortex Health Check
run: bun bin/cortex.ts . --min-coverage=30 --base=main --quiet
退出代码0=通过,1=失败。
建筑
src/
├── graph/ Knowledge graph (SQLite storage, queries, BFS/DFS traversal)
├── indexer/ File discovery, 5 language parsers, classifiers
├── storage/ SQLite backend, pluggable interface, federation support
├── impact/ Blast radius computation, risk scoring (0-100)
├── testgen/ Test discovery, prioritization, generation, 4 framework templates
├── guardian/ Drift detection, file watcher, PR review
├── orchestrator/ Multi-model routing (Haiku/Sonnet/Opus tiers)
├── ci/ CI pipeline commands
└── types.ts All TypeScript interfaces
储存: SQLite具有WAL模式、FTS5全文搜索、索引列。处理200K以上的节点图。储存于 ~/.claude/cortex/ 每个项目。
解析器: 基于正则表达式的提取(无编译器依赖关系)。TypeScript/JavaScript(函数、类、导入、路由、环境变量、调用检测)、Python(类、装饰器、Flask/Dango路由、pytest夹具)、SQL(CREATE TABLE、列、外键、迁移)、Config(package.json deps、tsconfig路径、.env定义)、Generic(Go、Rust、Java、Ruby模式)。
安全: 参数化SQL查询、路径遍历验证、命令注入预防(带数组参数的execFileSync)、符号链接转义检测。
数字
| 度量 | 值 |
|---|---|
| 源文件 | 54 |
| 代码行数 | 9750 |
| 依赖关系 | 1(MCP SDK) |
| 测试计数 | 58通过 |
| 索引速度 | 2秒内约12K个节点 |
| 查询速度 | 亚毫秒(索引SQLite) |
| 数据库大小 | ~22MB,用于2K文件代码库 |
许可证
麻省理工学院