mcpField
D
domain-driven-design

domain-driven-design

github.com/robsonrung開発258 回インストール2 日前に更新
リポジトリ

domain-driven-design について

ソフトウェア変更を対象とする Domain-Driven Design のレビュー用スキルです。戦略面と戦術面からドメイン境界やモデルを確認し、ファイル位置と修正案を添えて報告します。

主な機能

  1. 01境界づけられたコンテキストと統合の確認
  2. 02モデルと不変条件の検査
  3. 03変更に応じたレビュー方法の選択
  4. 04ファイルと行番号を付けた指摘

活用シーン

  1. 01コンテキスト横断やシステム統合の変更評価
  2. 02集約、値オブジェクト、ドメインイベントの確認
  3. 03既存の意思決定記録への判断の追加

インストール

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

$npx skills add https://github.com/robsonrung/rar-skills --skill domain-driven-design

インストール後、Claude Code で/domain-driven-designを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
context-patterns.md
decision-trees.md
strategic-review.md
tactical-review.md

詳細

ドメイン駆動設計

Learning Domain-Driven Design(Vlad Khononov、O'Reilly)の観点から、変更におけるドメインの形状をレビューします。DDDには、組み合わせて使う2つの視点があります。

  • 戦略的(第I部、第III〜IV部) — 境界がどこにあるか:境界づけられたコンテキスト、ユビキタス言語、コンテキストの統合方法。
  • 戦術的(第II〜III部) — 1つのコンテキストをどう構築するか:ビジネスロジックのパターン、そして集約/値オブジェクトが不変条件を保持し、安全にイベントを公開するかどうか。

これは、一般的なレイヤー構成/凝集度のチェックでも、トレードオフ/連接性の監査(architecture-lens を使用)でも、マクロなスタイル選定やサービス分割(macro-architecture を使用)でも、バグ探し(code-review を使用)でもありません。

レビューの選択

変更参照先
境界づけられたコンテキストを移動または横断する、ビジネス上の命名を変更する、あるいは別のシステムと統合するreferences/strategic-review.md
1つのコンテキスト内で、ビジネスロジック、集約、値オブジェクト、ドメインイベントを構成するreferences/tactical-review.md
両方に該当するまず戦略的レビューを行い、次に該当する戦術的ルールを適用します。境界が内部設計を制約します

該当する観点だけを適用します。指摘事項には、ファイルと行、ルール、修正案を記載します。問題のない観点について、無理に指摘を作り出す必要はありません。

コンテキストマップの導出: 物理的な境界づけられたコンテキストは通常、バックエンドのサービス/モジュールに対応し、それぞれがモデルとユビキタス言語の一部を所有します(例:トランザクション中核サービス、統合/同期サービス、イベントワーカー、ドメインエンティティの共有カーネル、フロントエンド独自のAPI層モデル)。レビューの前に、リポジトリのサービス/モジュール構成からこのマップを導出します。_サブドメイン_は問題領域(価格設定、配送、コンプライアンス)であり、_境界づけられたコンテキスト_は1つのモデル/言語が成立するソリューション境界です。両者は一致することが多いものの、常に一致するとは限りません。

根拠と出力

選択した手法には、単独で使用する場合の出力形式が記載されています。影響の最も大きい指摘から始め、根拠と未解決のドメイン上の判断を区別します。

design-gate のもとでは、読み取り専用のまま、呼び出し元が定めた標準のゲート結果を使用します。実際の不変条件と統合境界を維持してください。見た目に関する好みは助言にとどめます。

詳細なリファレンス

  • references/context-patterns.md:コンテキスト間の関係を分類する前、または指摘に完全な定義が必要な場合に読み込みます。
  • references/decision-trees.md:パターンの分類が微妙な場合や、集約、値オブジェクト、イベントの詳細なチェックを行う場合に読み込みます。

インタビューでは、判断、根拠、制約、参照元を既存の意思決定記録に追加します。この段階では、単独のレポートや実装の進め方は適用されません。

コメント