mcpField
A
archunitnet

archunitnet

github.com/managedcode测试与质量49636 次安装今天更新
代码仓库

关于 archunitnet

面向使用 ArchUnitNET 测试 .NET 架构的开发技能,支持比简单依赖检查更丰富的类型与领域建模,并指导配置、边界规则、测试集成、CI 接入和验证。

主要功能

  1. 01在每个测试程序集内加载一次架构模型
  2. 02定义稳定的架构边界规则
  3. 03集成受支持的测试框架
  4. 04将架构测试接入测试命令和 CI
  5. 05验证规则稳定性与套件加载成本

适用场景

  1. 01在 .NET 测试项目中配置 ArchUnitNET
  2. 02测试 Agent、工具与领域模型之间的边界
  3. 03将架构规则检查加入 CI

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/managedcode/dotnet-skills --skill archunitnet

安装后在 Claude Code 中输入/archunitnet确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

manifest.json
references/
archunitnet.md
examples.md
patterns.md

详细介绍

面向 .NET 的 ArchUnitNET

适用场景

  • 仓库使用或计划使用 ArchUnitNET
  • 架构测试需要比简单依赖检查更丰富的建模能力

价值

  • 产出具体的项目变更:代码、文档、配置、测试、CI 或审查成果
  • 通过明确的规划、验证和最终检查,减少歧义
  • 留下可复用的项目上下文,让后续任务更快速、更安全

不适用场景

  • 只需要最简单的架构规则检查

输入

  • 最近的 AGENTS.md
  • 目标程序集
  • 架构边界和命名约定

快速开始

  1. 阅读最近的 AGENTS.md,确认范围和约束。
  2. 通过 Ralph Loop 运行此技能的 Workflow,直到结果符合要求。
  3. 按照 Required Result Format 返回具体成果和验证证据。

工作流

  1. 尽可能在每个测试程序集内只加载一次架构。
  2. 首先编写少量持久且高价值的架构规则。
  3. 使用与仓库匹配的测试框架专用集成包。
  4. 按照使用 .NET 构建 AI Agent中的详细说明,在 Agent 循环、工具和领域模型之间建立清晰的架构边界。

尚未配置时的初始化

如果尚未配置 ArchUnitNET:

  1. 检查现有设置:
    • rg -n "TngTech\\.ArchUnitNET" -g '*.csproj' .
  2. 将程序包添加到架构测试项目:
    • dotnet add TEST_PROJECT.csproj package TngTech.ArchUnitNET
    • 添加一个框架桥接包:TngTech.ArchUnitNET.xUnit、TngTech.ArchUnitNET.xUnitV3、TngTech.ArchUnitNET.MSTestV2 或 TngTech.ArchUnitNET.TUnit
  3. 至少添加一项持久的边界规则测试。
  4. 将架构测试接入 AGENTS.md 中的标准 test 命令和 CI。
  5. 运行 dotnet test TEST_PROJECT.csproj,并返回 status: configured 或 status: improved。
  6. 如果 NetArchTest 已覆盖相同的边界策略,且不存在缺口,则返回 status: not_applicable。

交付内容

  • 具有更丰富领域和类型建模能力的架构测试
  • 接入仓库测试流程的架构规则命令及 CI 要求

验证

  • 架构加载成本对测试套件而言是合理的
  • 规则稳定,并且与实际边界相关

Ralph Loop

所有任务都使用 Ralph Loop,包括文档、架构、测试和工具相关工作。

  1. 先制定计划(必须):
    • 分析当前状态
    • 明确目标结果、约束和风险
    • 编写详细的执行计划
    • 列出最后要运行的验证技能,并注明执行顺序和原因
  2. 执行一个计划步骤,并产出具体变更。
  3. 审查结果,记录发现的问题及可执行的后续修复措施。
  4. 分批应用修复,并重新运行相关检查或审查步骤。
  5. 每轮迭代后更新计划。
  6. 重复上述过程,直至结果符合要求,或仅剩明确列出的例外。
  7. 如果缺少依赖,则初始化该依赖;否则返回 status: not_applicable,并明确说明原因和备用方案。
必需的结果格式
  • status:complete | clean | improved | configured | not_applicable | blocked
  • plan:简要说明计划和当前迭代步骤
  • actions_taken:已进行的具体更改
  • validation_skills:最后运行的技能;如跳过,则说明原因
  • verification:命令、检查或审查证据摘要
  • remaining:最重要的未解决事项,或 none

对于未执行操作、仅要求配置的请求,返回 status: configured 和准确的后续命令。

加载参考资料

示例请求

-“使用 ArchUnitNET 进行分层架构测试。” -“使用 xUnit 或 MSTest 配置 ArchUnitNET。”

评论

支持 Markdown