ddd4j-project-creator について
このスキルは、ddd4jの作成または検証をAIエージェントに案内します。依頼でddd4jが明示された場合のみ使用し、モノリスやマイクロサービスの構成、複数のアーキテクチャパターン、規約チェックを扱います。
主な機能
- 01単一・複数モジュールの作成
- 02マイクロサービス構成の生成
- 034種類のアーキテクチャパターン
- 04レイヤー、依存関係、命名の検証
- 05Mavenプロジェクトファイルの生成
活用シーン
- 01明示的に依頼されたddd4jプロジェクトの初期化
- 02ddd4jのモノリスやマイクロサービス構成の選択
- 03既存ddd4jプロジェクトの規約チェック
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ partme-ai/ full-stack-skills --skill ddd4j-project-creatorインストール後、Claude Code で/ddd4j-project-creatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtdocs/1、DDD 经典分层架构目录结构.md2、六边形架构详细目录结构参考.md3、整洁架构详细目录结构参考.md4、COLA V5 架构详细目录结构参考.mdexamples/architecture-patterns.mdmicroservices.mdmulti-module.mdsingle-module.mdscripts/__init__.pycheck_project.pyinit_project.py詳細
DDD4j プロジェクト作成ツール
このスキルを使用するタイミング
重要:このスキルは、ユーザーが ddd4j プロジェクトの作成、ddd4j プロジェクトの初期化、または ddd4j-boot プロジェクトのセットアップを明示的に言及した場合にのみ起動してください。
ユーザーが次の内容に言及した場合は、必ずこのスキルを使用してください:
- ddd4j プロジェクトの作成(「ddd4j」と明示的に言及)
- ddd4j-boot プロジェクトの初期化
- ddd4j プロジェクト構造のセットアップ
- ddd4j プロジェクトのスキャフォールディング作成
- 创建 ddd4j 项目(「ddd4j」と明示的に言及)
- 初始化 ddd4j 项目(ddd4j プロジェクトの初期化)
- ddd4j-boot 项目创建(ddd4j-boot プロジェクトの作成)
トリガーとなるフレーズには、次のものが含まれます:
- 「创建 ddd4j 项目」(ddd4j プロジェクトを作成)— 「ddd4j」を含める必要があります
- 「初始化 ddd4j 项目」(ddd4j プロジェクトを初期化)— 「ddd4j」を含める必要があります
- 「创建 ddd4j-boot 项目」(ddd4j-boot プロジェクトを作成)— 「ddd4j」を含める必要があります
- 「使用 ddd4j 创建项目」(ddd4j を使用してプロジェクトを作成)
- 「ddd4j 项目脚手架」(ddd4j プロジェクトのスキャフォールディング)
次の場合、このスキルを起動しないでください:
- ddd4j に言及していない一般的な DDD プロジェクト
- JPA/Hibernate プロジェクト
- その他の ORM フレームワーク
- ddd4j の文脈を伴わない一般的なプロジェクトの初期化
- 「创建 DDD 项目」(「ddd4j」を含まない DDD プロジェクトの作成。範囲が広すぎます)
- 「初始化项目」(「ddd4j」を含まないプロジェクトの初期化。範囲が広すぎます)
DDD4j Boot について
DDD4j Boot は、**ドメイン駆動設計(DDD)**の原則に基づく Java マイクロサービス開発用スキャフォールドです。Spring Boot 3.5.x で構築され、軽量な ddd-4-java および cqrs-4-java ライブラリを使用して、ドメイン駆動設計、コマンドクエリ責務分離(CQRS)、イベントソーシングを実現します。
中核となる設計原則
- ドメイン駆動設計(DDD):境界づけられたコンテキストによる戦略的設計と、エンティティ、値オブジェクト、集約、ドメインサービス、リポジトリ、ドメインイベントによる戦術的設計
- コマンドクエリ責務分離(CQRS):読み取りモデルと書き込みモデルを分離し、それぞれを独立して最適化
- イベントソーシング:状態の変更をイベントシーケンスとして記録し、完全な履歴の保持と状態の再構築をサポート
- ダイヤモンドアーキテクチャ(COLA):Adapter → Application → Domain ← Infrastructure の 4 層アーキテクチャ
主な機能
- COLA V5 パターンをサポートする、完全な DDD レイヤードアーキテクチャ
- ddd-4-java および cqrs-4-java に基づく軽量な DDD 実装
- 技術スタックの統合:Spring Boot 3.5.x、MyBatis Plus、Jackson、Guava、Swagger、SaToken
- 2 種類のスタックをサポート:WebMVC(従来型 Servlet)および WebFlux(リアクティブ)
- ドメインモデルの基本機能:BaseEntity、BaseRepository、BaseService
- 組み込みのイベント発行メカニズムによるドメインイベントのサポート
- 外部サービス統合のための腐敗防止層(ACL)
- 統一された例外処理メカニズム
サポートされるプロジェクトの種類
1. 単一モジュールのモノリス(单体单模块)
適用シナリオ:中小規模のアプリケーション、単一のビジネス領域、チーム規模 5~15 人
特徴:
- 単一の Maven モジュール
- すべての層(interfaces、application、domain、infrastructure)が同じモジュール内にあります
- 迅速な開発とデプロイに適しています
2. マルチモジュールのモノリス(单体多模块)
適用シナリオ:中規模から大規模のアプリケーション、複数のビジネス領域、チーム規模 15~50 人
特徴:
- ビジネス領域ごとに分割された複数の Maven モジュール
- 各ビジネス領域に DDD の 4 層アーキテクチャ一式を含みます
- common モジュールを共有します
- BOM と依存関係を一元管理します
3. マイクロサービス(单体微服务)
適用シナリオ:大規模な EC プラットフォーム、複数のビジネス領域、チーム規模 50 人以上
特徴:
- 各サービスを個別にデプロイします
- サービス間の通信には RPC とメッセージキューを使用します
- 各サービス内部を DDD の 4 層アーキテクチャに従って構成します
- データベースと設定を個別に管理します
このスキルの使用方法
重要:このスキルは、ユーザーが ddd4j プロジェクトの作成を明示的に言及した場合にのみ起動してください。ddd4j の文脈を伴わない一般的な DDD プロジェクト作成の依頼では起動しないでください。
新しい DDD4j プロジェクトの作成
-
ユーザー要件からプロジェクトの種類を特定します:
- 単一モジュールのモノリス →
single-module - マルチモジュールのモノリス →
multi-module - マイクロサービス →
microservices
- 単一モジュールのモノリス →
-
examples/ディレクトリから適切な例を読み込みます:examples/single-module.md- 単一モジュールのモノリス構成examples/multi-module.md- マルチモジュールのモノリス構成examples/microservices.md- マイクロサービス構成examples/architecture-patterns.md- DDD、ヘキサゴナル、クリーン、COLA V5 のパターン
-
プロジェクト情報を収集します:
groupId:Maven のグループ ID(例:com.github.hiwepyまたはio.ddd4j.base)artifactId:Maven のアーティファクト ID(例:ddd4j-douyinまたはmy-ddd4j-service)version:プロジェクトのバージョン(例:1.0.0-SNAPSHOT)parentVersion:親 POM のバージョン(例:2023.0.x.20251205-SNAPSHOTまたはddd4j-boot-parentへの参照)packageBase:ベースパッケージ名(例:io.ddd4j.douyinまたはcom.example.service)modules:ビジネスモジュールの一覧(マルチモジュール/マイクロサービスの場合)architecture:アーキテクチャパターン(DDD クラシック、ヘキサゴナル、クリーン、COLA V5)ddd4jBootVersion:DDD4j Boot のバージョン(ddd4j-boot-bom を使用する場合)
-
プロジェクト構成を生成します:
- 選択した種類に基づいてディレクトリ構成を作成します
pom.xmlファイル(親および各モジュール)を生成します- 各モジュールの
package-info.javaファイルを作成します .gitignore、LICENSE、mvnw、mvnw.cmdを生成しますsrc/main/javaとsrc/test/javaを含む基本的なディレクトリ構成を作成します
-
プロジェクトディレクトリに保存します:
- デフォルトの場所:コマンド実行ディレクトリ(コマンドと同じ階層)に直接保存します
- ディレクトリの作成:存在しない場合は、プロジェクトのディレクトリ構成を自動的に作成します
- ファイル名:プロジェクトの種類とモジュール名に基づいた、内容がわかりやすい名前を使用します
既存プロジェクトの検証
-
プロジェクト構成を分析します:
- プロジェクトディレクトリをスキャンして Maven モジュールを確認します
- レイヤー構成(interfaces、application、domain、infrastructure)を特定します
- パッケージの命名規則を確認します
- ディレクトリ構成を検証します
-
プロジェクトの種類を特定します:
- 単一モジュール:ルートに
pom.xmlが 1 つあり、すべてのレイヤーが 1 つのモジュールにあります - マルチモジュール:複数のモジュールを持つ親
pom.xmlがあり、各モジュールにすべてのレイヤーがあります - マイクロサービス:それぞれが独立した構成を持つ複数のサービスがあります
- 単一モジュール:ルートに
-
標準への準拠を検証します:
- DDD レイヤーへの準拠を確認します
- 依存関係の方向を検証します(interfaces → application → domain ← infrastructure)
- パッケージの命名規則(
{basePackage}.{module}.{layer})を検証します - 必須ディレクトリ(
src/main/java、src/test/java)を確認します package-info.javaファイルが存在することを確認します
-
検証レポートを生成します:
- 特定した問題を一覧表示します
- 推奨事項を提示します
- 標準に準拠していない構成への修正案を提案します
出力形式とファイルの保存
プロジェクト構造を生成するときは、次の応答形式に従ってください。
-
最初にファイルを保存する:コマンド実行ディレクトリにプロジェクト構造を直接作成します
- プロジェクトは、コマンドを実行した場所と同じ階層に作成されます
- 必要なファイルとディレクトリをすべて生成します(pom.xml、src/ など)
- プロジェクトのルートディレクトリ名には artifactId を使用します
-
ユーザーに伝える:ファイルの保存場所を伝えます
-
構造を表示する:生成されたディレクトリ構造をコードブロック内に表示します
応答形式の例:
- 1行目:「DDD プロジェクト構造を作成し、現在のディレクトリの
./{artifactId}/に保存しました。」 - 次に、構造をコードブロックで囲んで表示します:
- 先頭に、3つのバッククォート +
text+ 改行を配置します - 続けてディレクトリ構造を記載します
- 最後に、3つのバッククォート + 改行を配置します
- 先頭に、3つのバッククォート +
重要な要件:
- プロジェクトファイルは必ずコマンド実行ディレクトリ(同じ階層)に直接保存します
- プロジェクトのルートディレクトリ名には artifactId を使用します
- ディレクトリ構造が存在しない場合は、自動的に作成します
- 必要なファイルをすべて含む完全なプロジェクト構造を生成します
- Maven と DDD の規約に厳密に従います
プロジェクト構造の標準
パッケージ命名規則
マルチモジュールプロジェクトの場合:
{basePackage}.{moduleName}.{layerName}
例:
io.ddd4j.douyin.api.domain- API モジュールのドメイン層io.ddd4j.douyin.api.application- API モジュールのアプリケーション層io.ddd4j.douyin.api.interfaces- API モジュールのインターフェース層io.ddd4j.douyin.api.infrastructure- API モジュールのインフラストラクチャ層
必須ファイル
すべてのモジュールに、次のものが必要です。
pom.xml- Maven 設定src/main/java/{package}/package-info.java- パッケージのドキュメントsrc/test/java/- テスト用ディレクトリ構造.gitignore- Git の除外ルール(ルートに配置)LICENSE- ライセンスファイル(ルートに配置)mvnw、mvnw.cmd- Maven ラッパー(ルートに配置)
レイヤー間の依存関係
正しい依存関係の方向:
interfaces → application → domain ← infrastructure
ルール:
- ドメイン層は、ほかのどの層にも依存してはなりません
- インフラストラクチャ層は、ドメイン層のインターフェースを実装します
- アプリケーション層は、ドメイン層に依存します
- インターフェース層は、アプリケーション層に依存します
アーキテクチャパターン
このスキルは、次の4つのアーキテクチャパターンに対応しています。
-
DDD クラシックレイヤードアーキテクチャ
- レイヤー:interfaces、application、domain、infrastructure
- 参考資料:
docs/1、DDD 经典分层架构目录结构.mdおよびexamples/architecture-patterns.md#ddd-classic
-
ヘキサゴナルアーキテクチャ
- ポートとアダプターのパターン
- 参考資料:
docs/2、六边形架构详细目录结构参考.mdおよびexamples/architecture-patterns.md#hexagonal
-
クリーンアーキテクチャ
- エンティティ、ユースケース、インターフェースアダプター
- 参考資料:
docs/3、整洁架构详细目录结构参考.mdおよびexamples/architecture-patterns.md#clean
-
COLA V5(ダイヤモンドアーキテクチャ)
- Adapter → App → Domain ← Infrastructure
- 参考資料:
docs/4、COLA V5 架构详细目录结构参考.mdおよびexamples/architecture-patterns.md#cola-v5
検証ルール
既存のプロジェクトを確認するときは、次の項目を検証してください。
-
構造の準拠状況:
- ✓ レイヤー構成が正しい
- ✓ モジュールが適切に分離されている
- ✓ パッケージ命名規則に従っている
-
依存関係のルール:
- ✓ ドメイン層に外部依存関係がない
- ✓ インフラストラクチャ層がドメインインターフェースを実装している
- ✓ 依存関係の方向が正しい
-
ファイル構成:
- ✓ 必須ディレクトリが存在する
- ✓
package-info.javaファイルがある - ✓ Maven 設定が正しい
-
命名規則:
- ✓ パッケージ名が規約に従っている
- ✓ モジュール名が内容を適切に表している
- ✓ レイヤー名が標準に沿っている
例
examples/ ディレクトリには、次の例があります。
single-module.md- 単一モジュールのモノリスの完全な例multi-module.md- マルチモジュールのモノリスの完全な例(ddd4j-douyin の構造に基づく)microservices.md- マイクロサービスの完全な例architecture-patterns.md- 4つのアーキテクチャパターンすべての詳細な構造
キーワード
英語のキーワード: ddd4j, ddd4j-boot, ddd4j プロジェクト, ddd4j プロジェクトの作成, ddd4j プロジェクトの初期化, ddd4j プロジェクトクリエーター, ddd4j プロジェクトのスキャフォールディング, ddd4j-boot プロジェクト, ddd4j プロジェクト構造, ddd4j-boot の初期化, ddd4j マイクロサービス, ddd4j モノリス
中国語のキーワード(中文关键词): ddd4j, ddd4j-boot, ddd4j 项目, 创建 ddd4j 项目, 初始化 ddd4j 项目, ddd4j 项目创建, ddd4j 项目脚手架, ddd4j-boot 项目, ddd4j 项目结构, ddd4j-boot 初始化, ddd4j 微服务, ddd4j 单体应用
重要:誤検出を防ぐため、すべてのキーワードに「ddd4j」を含める必要があります。「DDD プロジェクト」や「プロジェクトの作成」など、「ddd4j」を含まない一般的な用語では、このスキルが起動しないようにしてください。