gordon1210/reposcout
GitHub: gordon1210/reposcout
一款本地优先的 Rust CLI 仓库智能分析工具,为人类和 AI 智能体快速生成代码健康度、复杂度、重复代码及变更影响等综合报告。
Stars: 1 | Forks: 0
# reposcout
`reposcout` 是一个 Rust CLI 工具,它可以扫描 Git 仓库(或子目录/单个文件),并在几秒钟内打印出代码的**综合状态**。它是为两类受众构建的:
- **智能体** — 稳定、机器可读的 JSON,以便快速了解代码库。
- **人类** — 简洁、带颜色的终端摘要(或用于 PR/issue 的 Markdown)。
## 在阅读之前先透视仓库
RepoScout 综合了通常需要多种工具才能获取的信号:
| 问题 | RepoScout 的解答 |
|---|---|
| **这里有什么?** | 语言、文件、SLOC、token、符号、导入以及仓库大小 |
| **风险在哪里?** | 针对每个可调用单元的复杂度、可维护性、代码变动、测试存在情况以及综合风险 |
| **什么可以跳过?** | 对生成文件、压缩文件、第三方 vendored 文件以及超大文件的提示 |
| **清理是否值得?** | 精确和 Type-2 重复代码、标记、热点以及有证据支撑的评估 |
| **接下来应该阅读什么?** | 在严格的 token 和文件预算下生成的确定性上下文计划 |
| **此更改可能影响什么?** | 基于 diff 范围的审查、依赖/类型图,以及直接/间接影响分析 |
所有操作均在本地运行。RepoScout 不会上传源代码、调用模型,也不会将分析状态写入它所扫描的仓库中。
## 核心亮点
- **源码优先的健康度:** 完整的仓库清单,不会让文档、生成的数据或样式稀释代码健康度指标。
- **具可操作性的复杂度:** 圈复杂度、认知复杂度、嵌套深度、Halstead 指标和可维护性指数,并提供精确到可调用单元的评估结果。
- **结构化的重复代码:** 感知格式的精确匹配和一致重命名的 Type-2 克隆代码,提供精确位置和基于并集的覆盖率。
- **面向智能体的查询:** 紧凑的摘要模式、能力发现、声明查找、结构化错误以及带有护栏的执行配置。
- **可解释的上下文:** 有边界的阅读计划,对核心路径、变更、测试、依赖、被依赖项、风险和仓库说明进行排序。
- **变更智能:** Git diff 范围、变更行/深度审查、评估基线、影响分析、DOT/Mermaid 导出以及 SARIF。
- **实时本地仪表板:** 可选的 daemon 和 React 界面,用于展示仓库健康度、评估结果、文件和多语言混合架构。
支持 AST 的一等公民语言包括 **Rust、Python、JavaScript、TypeScript/TSX、Go 和 PHP**。
RepoScout 能识别 31 种源码和内容格式,以实现完整的清单提取和结构化重复代码分析。
## 安装
在 macOS 或 Linux 上安装最新的稳定版 GitHub 发布版本:
```
curl -fsSL https://getreposcout.vercel.app/install.sh | sh
```
更新通过安装程序管理的副本:
```
reposcout update
```
安装程序会选择正确的预构建压缩包,验证其校验和,并将二进制文件安装在 Cargo 的二进制文件目录下。有关源码构建、智能体技能和默认行为,请参阅[入门指南](docs/getting-started.md)。
## 快速开始
```
# 当前 repository 的人工摘要
reposcout
# 紧凑的面向 agent 的 JSON
reposcout -f json --summary --profile agent .
# 在支持的语言中查找单个声明
reposcout locate HttpClient . --exact -f json
# 在严格限制下构建阅读计划
reposcout -f json --summary --context-budget 24000 --context-max-files 15 .
# 审查当前 working-tree 变更
reposcout --working --review .
```
`PATH` 可以是仓库根目录、子目录或单个文件。系统会自动检测其所属的 Git 根目录。
## 常见工作流
### 扫描不受信任的签出代码
```
reposcout -f json --summary --profile safe .
```
`safe` 配置会忽略仓库自身的配置,并应用保守的发现、工作线程、历史记录、上下文和重复代码限制。
### 理解变更
```
reposcout -f json --summary --since main --context --impact .
reposcout -f sarif --since main --review=deep --fail-on-review .
```
在查找上下文和影响时,指标会保持以变更为范围,同时参考未更改的测试和拓扑结构。
### 检查架构
```
reposcout --graph .
reposcout --graph-focus src/service.ts --graph-direction dependents \
--graph-depth 2 -f mermaid -o service-radius.mmd .
```
该图涵盖了每种一等语言中的导入和显式类型关系,同时保持解析器的来源和歧义可见。
### 运行实时仪表板
```
reposcout daemon .
pnpm dev:web
```
daemon 默认绑定到环回地址,并提供最新成功的报告。有关设置和本地 API 的信息,请参阅 [Daemon 和 Web 仪表板](docs/daemon-and-web.md)。
## 文档
| 指南 | 内容 |
|---|---|
| [入门指南](docs/getting-started.md) | 安装、首次扫描、格式、语言和默认设置 |
| [CLI 参考](docs/cli-reference.md) | 命令、分组选项、示例、门控和调试日志 |
| [智能体工作流](docs/agent-workflows.md) | 摘要扫描、上下文、定位、解释、影响和审查 |
| [指标与解释](docs/metrics.md) | 复杂度、重复代码、风险、测试、评估和限制 |
| [配置与缓存](docs/configuration.md) | 优先级、配置、项目策略、忽略规则和缓存行为 |
| [报告与机器格式](docs/report-formats.md) | JSON、NDJSON、SARIF、Markdown、DOT、Mermaid 和退出代码 |
| [Daemon 和 Web 仪表板](docs/daemon-and-web.md) | 监视模式、HTTP API、仪表板路由和图形浏览器 |
| [开发](docs/development.md) | 工具链、测试、架构、契约和发布构建 |
从[文档索引](docs/README.md)开始,或者直接询问已安装的二进制文件它支持哪些功能:
```
reposcout capabilities -f json
```
## 项目
- [贡献指南](CONTRIBUTING.md)
- [安全策略](SECURITY.md)
- [更新日志](CHANGELOG.md)
- [路线图](ROADMAP.md)
- [GitHub Releases](https://github.com/gordon1210/reposcout/releases)
- [第三方声明](THIRD_PARTY_NOTICES.md)
## 许可证
RepoScout 采用 [MIT License](LICENSE)。
标签:AI辅助编程, Rust, SOC Prime, 云安全监控, 代码复杂度分析, 代码质量分析, 可视化界面, 开发工具, 弱口令爆破, 网络安全研究, 网络流量审计, 聊天机器人, 自动化payload嵌入, 通知系统, 静态分析