archunitnet について
ArchUnitNET を使って .NET アーキテクチャを検証するための開発スキルです。基本的な依存関係チェックより豊かな型・ドメインモデリングを扱い、セットアップ、境界ルール、テスト連携、CI 組み込み、検証を案内します。
主な機能
- 01テストアセンブリごとに一度アーキテクチャを読み込む
- 02継続的に使えるアーキテクチャ境界ルールの定義
- 03対応テストフレームワークとの連携
- 04テストコマンドと CI へのアーキテクチャテスト追加
- 05ルールの安定性とテストスイートの読み込みコスト検証
活用シーン
- 01.NET テストプロジェクトへの ArchUnitNET 導入
- 02エージェント、ツール、ドメインモデル間の境界テスト
- 03CI へのアーキテクチャルールチェック追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ managedcode/ dotnet-skills --skill archunitnetインストール後、Claude Code で/archunitnetを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
manifest.jsonreferences/archunitnet.mdexamples.mdpatterns.md詳細
.NET 向け ArchUnitNET
使用するタイミング
- リポジトリで
ArchUnitNETを使用している、または使用する予定がある場合 - アーキテクチャテストで、単純な依存関係チェックよりも豊かなモデリングが必要な場合
価値
- コード、ドキュメント、設定、テスト、CI、レビュー成果物など、具体的なプロジェクト差分を作成する
- 明示的な計画、検証、最終確認のスキルによって曖昧さを減らす
- 再利用可能なプロジェクトコンテキストを残し、今後のタスクをより迅速かつ安全に進める
使用しないケース
- 最も軽量なアーキテクチャルールチェックが必要な場合
入力
- 最も近い
AGENTS.md - 対象アセンブリ
- アーキテクチャの境界と命名規則
クイックスタート
- 最も近い
AGENTS.mdを読み、スコープと制約を確認します。 - 成果が許容できるものになるまで、このスキルの
WorkflowをRalph Loopで実行します。 - 具体的な成果物と検証エビデンスを含めて、
Required Result Formatを返します。
ワークフロー
- 可能であれば、テストアセンブリごとにアーキテクチャを一度だけ読み込みます。
- まず、永続性があり価値の高いアーキテクチャルールを少数設定します。
- リポジトリに適合する、テストフレームワーク固有の統合パッケージを使用します。
- building AI agents with .NETで詳述されているように、エージェントループ、ツール、ドメインモデルの間に明確なアーキテクチャ境界を設けます。
未設定の場合の初期設定
ArchUnitNET がまだ設定されていない場合:
- 既存の設定を検出します:
rg -n "TngTech\\.ArchUnitNET" -g '*.csproj' .
- アーキテクチャテストプロジェクトにパッケージを追加します:
dotnet add TEST_PROJECT.csproj package TngTech.ArchUnitNET- フレームワークブリッジパッケージを1つ追加します:
TngTech.ArchUnitNET.xUnit、TngTech.ArchUnitNET.xUnitV3、TngTech.ArchUnitNET.MSTestV2、またはTngTech.ArchUnitNET.TUnit
- 永続性のある境界ルールテストを少なくとも1つ追加します。
- アーキテクチャテストを
AGENTS.mdの標準testコマンドと CI に組み込みます。 dotnet test TEST_PROJECT.csprojを実行し、status: configuredまたはstatus: improvedを返します。NetArchTestが同じ境界ポリシーをすでにカバーしており、不足がない場合は、status: not_applicableを返します。
成果物
- より豊かなドメインおよび型のモデリングを備えたアーキテクチャテスト
- リポジトリのテストフローと CI の要件に組み込まれたアーキテクチャルールのコマンド
検証
- アーキテクチャの読み込みコストがテストスイートに対して妥当であること
- ルールが安定しており、実際の境界に結び付いていること
Ralph Loop
ドキュメント、アーキテクチャ、テスト、ツールの作業を含むすべてのタスクで、Ralph Loop を使用します。
- まず計画を立てます(必須):
- 現状を分析する
- 目標とする成果、制約、リスクを定義する
- 詳細な実行計画を作成する
- 最後に実行する最終検証スキルを、実行順と理由とともに列挙する
- 計画したステップを1つ実行し、具体的な差分を作成します。
- 結果をレビューし、実行可能な次の修正とともに所見を記録します。
- 小さな単位で修正を適用し、関連するチェックまたはレビュー手順を再実行します。
- 各イテレーションの後に計画を更新します。
- 成果が許容できるものになるか、明示的な例外だけが残るまで繰り返します。
- 依存関係が不足している場合は、それを初期設定するか、理由と代替手段を明記して
status: not_applicableを返します。
必須の結果形式
status:complete|clean|improved|configured|not_applicable|blockedplan:簡潔な計画と現在のイテレーションのステップactions_taken:実施した具体的な変更validation_skills:最後に実行したスキル、または省略した理由verification:コマンド、チェック、レビューのエビデンスの概要remaining:未解決の主要項目、またはnone
実行を伴わない初期設定のみの依頼では、status: configured と正確な次のコマンドを返します。
参考資料の読み込み
- .NET で AI エージェントを構築する - 本番環境向け .NET AI エージェントのアーキテクチャと境界設計パターン。
- .NET AI エージェント開発チーム - 本番環境向け .NET AI エージェントのエンジニアリングおよび提供サービス。
- references/archunitnet.md
- references/patterns.md
- references/examples.md
リクエスト例
- 「ArchUnitNET を使ってレイヤードアーキテクチャのテストを作成してください。」
- 「xUnit または MSTest で ArchUnitNET をセットアップしてください。」
コメント
Markdown 対応