gordon1210/reposcout

GitHub: gordon1210/reposcout

一款本地优先的 Rust CLI 仓库智能分析工具,为人类和 AI 智能体快速生成代码健康度、复杂度、重复代码及变更影响等综合报告。

Stars: 1 | Forks: 0

RepoScout

# reposcout `reposcout` 是一个 Rust CLI 工具,它可以扫描 Git 仓库(或子目录/单个文件),并在几秒钟内打印出代码的**综合状态**。它是为两类受众构建的: - **智能体** — 稳定、机器可读的 JSON,以便快速了解代码库。 - **人类** — 简洁、带颜色的终端摘要(或用于 PR/issue 的 Markdown)。

Release Latest release License: MIT Platforms: macOS and Linux

## 在阅读之前先透视仓库 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嵌入, 通知系统, 静态分析