mcpField
A
archunitnet

archunitnet

github.com/managedcodeテスト・品質49636 回インストール1 日前に更新
リポジトリ

archunitnet について

ArchUnitNET を使って .NET アーキテクチャを検証するための開発スキルです。基本的な依存関係チェックより豊かな型・ドメインモデリングを扱い、セットアップ、境界ルール、テスト連携、CI 組み込み、検証を案内します。

主な機能

  1. 01テストアセンブリごとに一度アーキテクチャを読み込む
  2. 02継続的に使えるアーキテクチャ境界ルールの定義
  3. 03対応テストフレームワークとの連携
  4. 04テストコマンドと CI へのアーキテクチャテスト追加
  5. 05ルールの安定性とテストスイートの読み込みコスト検証

活用シーン

  1. 01.NET テストプロジェクトへの ArchUnitNET 導入
  2. 02エージェント、ツール、ドメインモデル間の境界テスト
  3. 03CI へのアーキテクチャルールチェック追加

インストール

コマンドをコピーしてターミナルで実行します。

$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. 成果が許容できるものになるまで、このスキルの Workflow を Ralph Loop で実行します。
  3. 具体的な成果物と検証エビデンスを含めて、Required Result Format を返します。

ワークフロー

  1. 可能であれば、テストアセンブリごとにアーキテクチャを一度だけ読み込みます。
  2. まず、永続性があり価値の高いアーキテクチャルールを少数設定します。
  3. リポジトリに適合する、テストフレームワーク固有の統合パッケージを使用します。
  4. building AI agents with .NETで詳述されているように、エージェントループ、ツール、ドメインモデルの間に明確なアーキテクチャ境界を設けます。

未設定の場合の初期設定

ArchUnitNET がまだ設定されていない場合:

  1. 既存の設定を検出します:
    • rg -n "TngTech\\.ArchUnitNET" -g '*.csproj' .
  2. アーキテクチャテストプロジェクトにパッケージを追加します:
    • dotnet add TEST_PROJECT.csproj package TngTech.ArchUnitNET
    • フレームワークブリッジパッケージを1つ追加します:TngTech.ArchUnitNET.xUnit、TngTech.ArchUnitNET.xUnitV3、TngTech.ArchUnitNET.MSTestV2、または TngTech.ArchUnitNET.TUnit
  3. 永続性のある境界ルールテストを少なくとも1つ追加します。
  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. 計画したステップを1つ実行し、具体的な差分を作成します。
  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 をセットアップしてください。」

コメント