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**。 ## 界面预览 ![InspectoRepo UI](https://raw.githubusercontent.com/wai-coding/inspectorepo/main/screenshots/ui-layout.png) ## 路线图 ### 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, 本地工具, 自动化审查, 自动化攻击, 自动化攻击, 软件工程, 错误基检测, 静态代码分析