SuperAPI AI 工具集

repo-test-architect

Repo Test Architect 是一款以证据为先、本地只读的测试架构审计工具,面向真实代码仓库。它先根据本地可检查的事实(项目根、框架信号、现有测试、源码分类、阻塞项与剩余风险)构建确定性的审计图,再交给模型或智能体推理测试策略。支持 JavaScript/TypeScript、PHP、Python、Ruby、Swift、Kotlin/JVM、Go、Rust、C#(.NET)、Elixir 等适配器,可检测多语言项目根并报告不支持的生态。一次审计即可产出完整仓库分析、发现项、候选排序、测试计划、执行提示与验证命令,并提供 CLI、MCP 服务器与本地调用工具。需 Node.js 20 或更高版本,可通过 npm 直接运行或安装 CLI 与 MCP 服务器。原生测试生成被有意推迟,不会自动修改仓库。

访问官网

工具介绍

Repo Test Architect 是一款面向真实代码库、以证据为先的测试策略审计工具。它的核心思路是:在让任何模型或智能体推理测试之前,先构建一个确定性的审计图。这个图基于工具能在本地检查到的事实,包括项目根、框架信号、现有测试、源码分类、阻塞项以及剩余风险,从而找出仓库原生、高价值的测试工作。

主要能力

  • 适配器覆盖:可审计 JavaScript/TypeScript、PHP、Python、Ruby、Swift 项目,并通过有界适配器审计 Kotlin/JVM、Go、Rust、C#(.NET)和 Elixir。Dart/Flutter 仍为实验性。
  • 项目检测:能够检测多语言项目根,并报告不支持的生态,避免把“尚未审计”与“不存在”混为一谈。
  • 一次审计输出全套结果:包含完整仓库分析、发现项、候选排序、测试计划、执行提示以及验证命令。
  • 源码分类与排序:按可能的测试价值对源文件分类,推迟低价值的直接测试;基于审计图对测试候选排序并生成测试计划。
  • 执行提示:生成与提供商无关的执行、上下文、并行安全性和仓库推理提示,但不选择模型、不生成子智能体。
  • 测试放置分析:跨项目边界进行保守的测试放置发现。
  • 项目统计:收集覆盖率、候选数量、框架、命令与适配器使用等项目级统计。
  • 本地 MCP 诊断:默认关闭,提供安全的内部错误报告 ID、运行时检查以及可检查的脱敏包,不进行外部上报。
  • 多种入口:通过 CLI 命令、本地调用工具和 stdio MCP SDK 服务器暴露相同的确定性行为。
  • 稳定性保障:通过黄金快照、模型一致性场景、包检查与跨操作系统 CI 锁定行为。

使用方式 需要 Node.js 20 或更高版本。可以不全局安装直接运行 CLI,也可以固定稳定版本,或安装 CLI 与 MCP 服务器二进制。可将本地 stdio MCP 服务器添加到支持 MCP 的客户端,并固定其版本。客户端在本地启动服务器,仓库源码会留在本机,除非客户端或其他已配置工具将其发送到别处。连接后的模型会收到指令,从 analyze_repository 开始进行常规仓库审查。

对于希望以人类可读方式审查当前仓库的用户,可运行 analyze 命令。它会检测每个项目根,为每个受支持的适配器各运行一次,并推导出审计摘要、主要发现、候选排序、测试计划、执行提示、项目统计和验证命令。Markdown 输出保持紧凑,JSON 保留完整的证据包。也可使用集中视图,例如列出已注册适配器、检查项目检测标记规则、检测项目根与适配器匹配、复用保存的项目审计产物、输出结构化审计图、从审计图生成可操作的测试计划、推导建议性执行提示而不改变计划产物等。

对于 MCP 连接的模型,默认等价工具是 analyze_repository。仅当请求要求单个产物或已提供审计产物时,才使用更窄的工具。安装 CLI 或代理宿主仍负责模型选择、预算、权限、上下文加载与子智能体生命周期。

可用适配器

  • dart(实验性):Dart 与 Flutter pubspec 包、常规 package:test 和 flutter_test 入口、精确库导入证据、widget 测试建议,以及有界的 dart test / flutter test 命令。
  • csharp:一个静态 SDK 风格测试项目或一个唯一字面生产/测试项目边,包括有界的原生 xUnit MTP-v2 与 MSTest.Sdk v4 所有权、精确字面或一跳根别名目标成员、一个仓库内直接 *.cs 编译包含、有限的项目本地目标条件包谓词,以及在不相关项目中选出一对,配以有界最近文件 Directory.Build.props 元数据和静态 Directory.Packages.props 版本,支持 xUnit、NUnit 或 MSTest 特性测试、精确项目文件命令、可运行主体拥有的直接类型调用、有界具体本地或不可变测试字段接收者、一跳稳定直接调用、接收者调用或内联 out var 结果断言、有界异常断言,以及一个同类私有静态测试辅助跳。
  • elixir:一个常规 Mix 应用,具有字面 app 与精确 MixProject/Mixfile 所有权、常规/app 前缀模块与协议、精确 Mix 任务、有界缩写、终端复数、重复声明与编译本地 ExUnit 包装器所有权、静态启动选项、测试主体作用域的直接完全限定或精确别名调用、保守文件名证据,以及无阻塞的 mix test 命令。
  • javascript:JavaScript/TypeScript 仓库,支持 Node 测试运行器(包括 TypeScript 执行脚本)、Bun test、AVA、Mocha/CommonJS、Vitest、Jest、Playwright、Cypress、Express/Supertest、React Testing Library 检测,以及有界字面浏览器请求到路由证据。
  • go:常规 go.mod 项目与仓库内字面 go.work 成员,使用可运行的标准库 TestXxx、FuzzXxx 或 ExampleXxx 测试、包本地文件名、唯一顶层及解析器拥有的具体接收者方法符号(通过显式类型、精确简单构造器结果或精确静态类型测试辅助结果)、有界标准库与 Testify 断言用法、解析器作用域本地遮蔽检查、同包或精确外部包导入(包括点导入)、泛型顶层函数,以及有界可调用主体拥有的同包或模块本地源码跳、模块本地命令和可选显式 GOOS / GOARCH / 自定义标签选择。
  • kotlin:常规 Gradle/Maven JVM 模块根、设置拥有的 Gradle 聚合、根声明的 Maven 反应堆,具有 Kotlin 和/或 Java 标准源集、依赖限定的直接/导出传递模块证据、JUnit 4/5、kotlin.test、有界 Gradle/JUnit Platform Kotest 通用规格、常规 Gradle/Spock 特性,以及通过直接 Maven 依赖或 Gradle useTestNG() 的方法级 TestNG。
  • php:一个根 Composer 项目,具有字面字符串值的 PSR-4 源/测试所有权、有界字面自动加载函数文件、静态声明的 PHPUnit、精确有界命令或显式安全命令保留、常规可运行测试类(包括一个唯一源或测试拥有的 PHPUnit 基类边)、直接导入或精确同命名空间类调用,以及保守基名回退。
  • python:有界的 Python 包、FastAPI、Django 与 Flask 布局,具有声明式多包/命名空间所有权、配置的 pytest 发现、精确绝对/相对导入、一跳源码依赖证据、静态框架测试客户端路由证据、pytest/unittest、异步与属性基扩展、夹具可达性、pip/setuptools、uv、Poetry、Hatch、tox、nox 以及覆盖率配置。
  • rust:常规 Cargo 包与仓库内字面工作区成员,使用内置 #[test] 测试框架、内联 #[cfg(test)] 模块、精确排除外部仅测试模块图、来自 tests/ 的精确 crate 模块导入,以及精确无条件 crate 根符号重导出。
  • ruby:一个常规 Bundler 项目,具有 lib/ 源、一个根 gemspec 或完整的精确命名根 gemspec 集、可运行的 Minitest::Test test_* 方法或 RSpec 示例、精确有界命令、根 .rspec 与精确逐文件 spec_helper 加载、三边字面 require/唯一常量证据、精确单例调用、精确常量拥有的 RSpec described_class、直接不可变构造器本地、单行 RSpec let / subject、精确源工厂与同组 RSpec 辅助接收者,以及精确同文件字面共享示例包含、有界断言用法、保守基名回退,并显式标记 Minitest-spec/Rails/混合运行器阻塞项。
  • swift:Swift Package Manager、Xcode 风格与 Bazel/rules_swift 布局、Swift Testing、XCTest、Quick/Nimble、SnapshotTesting、VaporTesting/XCTVapor、响应式框架,以及带驱动特定限定符的通用 Fluent 数据库边界。

适用场景与限制 该工具适合希望从仓库原生事实出发、系统化梳理测试策略的开发者与团队,用于审计现有测试结构、识别高价值测试候选、生成测试计划与执行提示。它不自动修改仓库,审阅其发现应作为基于证据的审查输入,而不是自动更改仓库的指令。

原生测试生成被有意推迟:generate_selected_test 会返回结构化推迟产物,直到存在适配器特定的生成策略与修复循环夹具。Dart/Flutter 仍为实验性,原生测试生成仍为推迟状态。维护按时间允许进行,不保证响应时间或功能排期。1.0.0 版本在 npm 上为 latest,并已在官方 MCP Registry 中提供,对文档化 CLI、MCP 工具、配置与版本化产物契约提供稳定支持。若缺少某个技术栈,可提交适配器请求,附上语言或生态、构建系统、测试框架以及(如可能)代表性公共仓库。