wai-coding/inspectorepo
GitHub: wai-coding/inspectorepo
基于 ts-morph 的本地 TypeScript/React 代码审查工具,提供 AST 级别的确定性分析和可视化差异预览。
Stars: 0 | Forks: 0
# InspectoRepo
一个本地 Web 应用程序,用于分析 TypeScript + React 代码库,并提供类似 VSCode 的界面以生成结构化的代码审查建议。
## 为什么选择 InspectoRepo
手动代码审查既耗时又不一致。InspectoRepo 提供确定性的、基于 AST 的 TS/TSX 文件分析——通过建议的差异(diff)展示真实的改进机会,所有操作均在本地运行,无需依赖付费 API。
## 核心功能 (V1)
- **文件夹选择** — 使用 File System Access API (Chrome/Edge) 选择本地代码库,并提供拖放上传作为后备方案
- **目录树** — 浏览带有复选框的顶级目录;如果存在 `src/` 则默认选中
- **TS/TSX 分析引擎** — 使用 [ts-morph](https://ts-morph.com/) 构建的扫描器、文件过滤器和分析器管道(基础已就位;规则实现即将推出)
- **排除规则** — 自动跳过 `node_modules`、`dist`、`build`、`.git`、隐藏目录以及其他干扰项
- **规则接口** — 可插拔的规则约定,包含一个演示该模式的占位符规则
- **Monorepo 架构** — 包含 `shared`、`core` 和 `web` 包的 npm workspaces
- **CI 管道** — GitHub Actions 在每次推送/PR 时运行 lint、typecheck、build 和 test
## 技术栈
| 层级 | 技术 |
| -------- | ---------------------------- |
| 前端 | React 18 + TypeScript |
| 打包工具 | Vite |
| 分析 | ts-morph (TypeScript AST) |
| 测试 | Vitest |
| Monorepo | npm workspaces |
## 项目结构
```
inspectorepo/
├── apps/
│ └── web/ # React frontend (Vite)
├── packages/
│ ├── core/ # Analysis engine (ts-morph, rules)
│ └── shared/ # Shared types (Issue, AnalysisReport, etc.)
├── ai/ # AI agent instructions & project context
├── docs/ # Worklog, code walkthrough
└── package.json # Root workspace config
```
## 快速开始
```
# 安装依赖
npm install
# 启动 dev server
npm run dev
# 运行检查
npm run lint
npm run typecheck
npm run build
npm test
```
## 脚本
| 脚本 | 描述 |
| --------------------- | -------------------------- |
| `npm run dev` | 启动 Vite 开发服务器 |
| `npm run build` | 构建所有包 + Web 应用 |
| `npm run lint` | 对所有 TS/TSX 文件进行 Lint |
| `npm run typecheck` | TypeScript 类型检查 |
| `npm run format` | 使用 Prettier 格式化 |
| `npm run format:check`| 检查格式化 |
| `npm test` | 运行 Vitest 测试 |
## 演示
通过三个步骤在本地试用 InspectoRepo:
1. **克隆仓库**
git clone https://github.com/wai-coding/inspectorepo.git
cd inspectorepo
2. **安装依赖**
npm install
3. **运行开发服务器并选择要分析的文件夹**
npm run dev
打开终端中显示的 URL。点击 **Select Folder** (Chrome/Edge) 或 **Upload Folder** (任何浏览器) 以加载 TypeScript 项目。使用侧边栏复选框选择目录,然后点击 **Analyze**。
## 界面预览

## 路线图
### V1 (当前)
- [x] 使用 npm workspaces 的 Monorepo 设置
- [x] 核心分析引擎骨架
- [x] 类似 VSCode 的 UI 布局
- [x] File System Access API 集成 + 后备上传
- [x] 带选择功能的目录树
- [ ] 规则引擎(可选链、布尔简化、提前返回、未使用的导入、复杂度)
- [ ] 问题列表 + 差异预览
- [ ] Markdown 报告导出
### V2 (计划中)
- [ ] 自动应用建议的修复
- [ ] 用于无头分析(headless analysis)的 CLI 包
- [ ] 自定义规则编写
- [ ] VS Code 扩展
## 截图
## 许可证
MIT
标签:DNS解析, Markdown报告, React, Syscalls, ts-morph, TypeScript, Vite, VSCode风格, 代码审查工具, 代码规范, 威胁情报, 安全决策支持, 安全插件, 开发者工具, 开源项目, 数据管道, 文件系统访问API, 本地工具, 自动化审查, 自动化攻击, 自动化攻击, 软件工程, 错误基检测, 静态代码分析