Marketplace
spring-boot-package-structure-creator
Creates recommended package structure for Spring Boot projects.
$ 安裝
git clone https://github.com/sivaprasadreddy/sivalabs-marketplace /tmp/sivalabs-marketplace && cp -r /tmp/sivalabs-marketplace/plugins/spring-boot-dev/skills/spring-boot-package-structure-creator ~/.claude/skills/sivalabs-marketplace// tip: Run this command in your terminal to install the skill
SKILL.md
name: spring-boot-package-structure-creator description: Creates recommended package structure for Spring Boot projects.
Spring Boot Package Structure Creator
Instructions
Follow a domain-driven, modular architecture where packages are organized by business modules rather than technical layers.
Recommended Example Package Structure
dev.sivalabs.meetup4j/
├── Application # Main Spring Boot entrypoint class
├── shared/ # Cross-cutting concerns
│ ├── BaseEntity.java
│ ├── DomainException.java
│ ├── ResourceNotFoundException.java
│ └── SpringEventPublisher.java
│
├── events/ # Events module (bounded context)
│ ├── domain/ # Domain logic
│ │ ├── models/ # ViewModels for read operations
│ │ │ └── EventVM.java
│ │ ├── vo/ # Value Objects
│ │ │ ├── EventId.java
│ │ │ ├── EventCode.java
│ │ │ ├── EventDetails.java
│ │ │ ├── Schedule.java
│ │ │ ├── TicketPrice.java
│ │ │ ├── Capacity.java
│ │ │ └── EventLocation.java
│ │ ├── events/ # Domain events
│ │ │ ├── EventCreated.java
│ │ │ ├── EventPublished.java
│ │ │ └── EventCancelled.java
│ │ ├── EventEntity.java # Aggregate root
│ │ ├── EventRepository.java # Repository interface
│ │ ├── EventService.java # Write operations
│ │ ├── EventQueryService.java # Read operations
│ │ ├── EventMapper.java # Domain to ViewModel mapper
│ │ ├── CreateEventCmd.java # Command
│ │ ├── PublishEventCmd.java
│ │ └── InvalidEventCreationException.java
│ ├── rest/ # REST API layer
│ │ ├── converters/ # Type converters
│ │ │ └── StringToEventCodeConverter.java
│ │ ├── EventsController.java
│ │ ├── CreateEventRequest.java # HTTP Request DTO
│ │ └── CreateEventResponse.java # HTTP Response DTO
│ └── EventsAPI.java # Module's public API (facade)
│
├── registrations/ # Registrations module
│ ├── domain/
│ │ ├── vo/
│ │ │ ├── RegistrationId.java
│ │ │ ├── RegistrationCode.java
│ │ │ └── Email.java
│ │ ├── EventRegistrationEntity.java
│ │ ├── RegistrationRepository.java
│ │ ├── EventRegistrationService.java
│ │ ├── EventRegistrationQueryService.java
│ │ └── RegisterAttendeeCmd.java
│ └── rest/
│ ├── converters/
│ ├── EventRegistrationController.java
│ └── EventRegistrationRequest.java
│
└── config/
└── GlobalExceptionHandler.java
Naming Conventions
| Type | Convention | Example |
|---|---|---|
| Entities | *Entity | EventEntity, EventRegistrationEntity |
| Value Objects | Domain name (record) | Email, EventCode, EventId |
| Commands | *Cmd | CreateEventCmd, PublishEventCmd |
| Command Response | *Result | LoginResult, RegistrationResult |
| ViewModels | *VM | EventVM, RegistrationVM |
| HTTP Request | *Request | CreateEventRequest, EventRegistrationRequest |
| HTTP Response | *Response | CreateEventResponse, EventRegistrationResponse |
| Repositories | *Repository | EventRepository, RegistrationRepository |
| Services (Write) | *Service | EventService, EventRegistrationService |
| Services (Read) | *QueryService | EventQueryService, EventRegistrationQueryService |
| Domain Exceptions | *Exception | InvalidEventCreationException, EventCancellationException |
| Module API | *API | EventsAPI |
Repository

sivaprasadreddy
Author
sivaprasadreddy/sivalabs-marketplace/plugins/spring-boot-dev/skills/spring-boot-package-structure-creator
32
Stars
2
Forks
Updated6d ago
Added1w ago