skills/ddd-skills/ddd4j-project-creator/SKILL.md
A comprehensive skill for creating new ddd4j (Domain-Driven Design for Java) projects based on ddd4j-boot framework. Use ONLY when the user explicitly mentions creating a ddd4j project, initializing ddd4j project, or setting up ddd4j-boot project. Supports three project types: single-module monolith, multi-module monolith, and microservices.
npx skillsauth add teachingai/agent-skills ddd4j-project-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
CRITICAL: This skill should ONLY be triggered when the user explicitly mentions creating a ddd4j project, initializing ddd4j project, or setting up ddd4j-boot project.
ALWAYS use this skill when the user mentions:
Trigger phrases include:
DO NOT trigger this skill for:
DDD4j Boot is a Java microservice development scaffold based on Domain-Driven Design (DDD) principles. It is built with Spring Boot 3.5.x and uses lightweight ddd-4-java and cqrs-4-java libraries to implement Domain-Driven Design, Command Query Responsibility Segregation (CQRS), and Event Sourcing.
适用场景: 中小型应用,单个业务领域,团队规模 5-15 人
特点:
适用场景: 中大型应用,多个业务域,团队规模 15-50 人
特点:
适用场景: 大型电商平台,多个业务域,团队规模 50+ 人
特点:
CRITICAL: This skill should ONLY be triggered when the user explicitly mentions creating a ddd4j project. Do NOT trigger for generic DDD project creation requests without ddd4j context.
Identify the project type from user requirements:
single-modulemulti-modulemicroservicesLoad the appropriate example from the examples/ directory:
examples/single-module.md - Single-module monolith structureexamples/multi-module.md - Multi-module monolith structureexamples/microservices.md - Microservices structureexamples/architecture-patterns.md - DDD, Hexagonal, Clean, COLA V5 patternsCollect project information:
groupId: Maven group ID (e.g., com.github.hiwepy or io.ddd4j.base)artifactId: Maven artifact ID (e.g., ddd4j-douyin or my-ddd4j-service)version: Project version (e.g., 1.0.0-SNAPSHOT)parentVersion: Parent POM version (e.g., 2023.0.x.20251205-SNAPSHOT or reference to ddd4j-boot-parent)packageBase: Base package name (e.g., io.ddd4j.douyin or com.example.service)modules: List of business modules (for multi-module/microservices)architecture: Architecture pattern (DDD Classic, Hexagonal, Clean, COLA V5)ddd4jBootVersion: DDD4j Boot version (if using ddd4j-boot-bom)Generate project structure:
pom.xml files (parent and modules)package-info.java files for each module.gitignore, LICENSE, mvnw, mvnw.cmdsrc/main/java and src/test/javaSave to project directory:
Analyze project structure:
Identify project type:
pom.xml at root, all layers in one modulepom.xml with multiple modules, each module has complete layersValidate against standards:
{basePackage}.{module}.{layer})src/main/java, src/test/java)package-info.java files existGenerate validation report:
When generating a project structure, follow this response structure:
Save the files first: Create the project structure directly in the command execution directory
Inform the user: Tell them where the files were saved
Display the structure: Show the generated directory structure in a code block
Example Response Structure:
./{artifactId}/ in the current directory."text + newlineCritical Requirements:
For multi-module projects:
{basePackage}.{moduleName}.{layerName}
Examples:
io.ddd4j.douyin.api.domain - API module, domain layerio.ddd4j.douyin.api.application - API module, application layerio.ddd4j.douyin.api.interfaces - API module, interfaces layerio.ddd4j.douyin.api.infrastructure - API module, infrastructure layerEvery module must have:
pom.xml - Maven configurationsrc/main/java/{package}/package-info.java - Package documentationsrc/test/java/ - Test directory structure.gitignore - Git ignore rules (at root)LICENSE - License file (at root)mvnw, mvnw.cmd - Maven wrapper (at root)Correct dependency direction:
interfaces → application → domain ← infrastructure
Rules:
The skill supports four architecture patterns:
DDD Classic Layered Architecture (DDD 经典分层架构)
docs/1、DDD 经典分层架构目录结构.md and examples/architecture-patterns.md#ddd-classicHexagonal Architecture (六边形架构)
docs/2、六边形架构详细目录结构参考.md and examples/architecture-patterns.md#hexagonalClean Architecture (整洁架构)
docs/3、整洁架构详细目录结构参考.md and examples/architecture-patterns.md#cleanCOLA V5 (菱形架构)
docs/4、COLA V5 架构详细目录结构参考.md and examples/architecture-patterns.md#cola-v5When checking existing projects, validate:
Structure Compliance:
Dependency Rules:
File Organization:
package-info.java files presentNaming Conventions:
See the examples/ directory for:
single-module.md - Complete single-module monolith examplemulti-module.md - Complete multi-module monolith example (based on ddd4j-douyin structure)microservices.md - Complete microservices examplearchitecture-patterns.md - All four architecture patterns with detailed structuresEnglish keywords: ddd4j, ddd4j-boot, ddd4j project, create ddd4j project, initialize ddd4j project, ddd4j project creator, ddd4j project scaffolding, ddd4j-boot project, ddd4j project structure, ddd4j-boot initialization, ddd4j microservice, ddd4j monolith
Chinese keywords (中文关键词): ddd4j, ddd4j-boot, ddd4j 项目, 创建 ddd4j 项目, 初始化 ddd4j 项目, ddd4j 项目创建, ddd4j 项目脚手架, ddd4j-boot 项目, ddd4j 项目结构, ddd4j-boot 初始化, ddd4j 微服务, ddd4j 单体应用
IMPORTANT: All keywords must include "ddd4j" to avoid false triggers. Generic terms like "DDD 项目" (DDD project) or "创建项目" (create project) without "ddd4j" should NOT trigger this skill.
development
Guidance for Next.js using the official docs at nextjs.org/docs. Use when the user needs Next.js concepts, configuration, routing, data fetching, or API reference details.
tools
Provides comprehensive guidance for Flask framework including routing, templates, forms, database integration, extensions, and deployment. Use when the user asks about Flask, needs to create web applications, implement routes, or build Python web services.
development
Provides comprehensive guidance for FastAPI framework including routing, request validation, dependency injection, async operations, OpenAPI documentation, and database integration. Use when the user asks about FastAPI, needs to create REST APIs, or build high-performance Python web services.
development
Provides comprehensive guidance for Django framework including models, views, templates, forms, admin, REST framework, and deployment. Use when the user asks about Django, needs to create web applications, implement models and views, or build Django REST APIs.