code-spring-bootlisted
Install: claude install-skill tstapler/dotfiles
# Spring Boot Java Development Standards
Apply these standards when writing, reviewing, or designing Java/Spring Boot code.
---
> For structural refactors across this codebase, apply the `code-refactoring` skill.
## Project Structure (Package by Feature)
Organize by domain concept, not by technical layer. Each feature package is a self-contained vertical slice:
```
com.example.
├── order/
│ ├── domain/
│ │ ├── Order.java # Aggregate Root (Entity)
│ │ ├── OrderItem.java # Entity within aggregate
│ │ ├── Money.java # Value Object
│ │ ├── OrderRepository.java # Port (interface)
│ │ └── OrderDomainService.java # Domain Service
│ ├── application/
│ │ ├── OrderApplicationService.java # Use case orchestration
│ │ ├── CreateOrderCommand.java # Input DTO
│ │ └── OrderSummary.java # Output DTO
│ ├── infrastructure/
│ │ ├── JpaOrderRepository.java # Repository adapter
│ │ ├── OrderJpaEntity.java # ORM mapping entity
│ │ └── OrderMapper.java # Domain ↔ ORM mapping
│ └── api/
│ ├── OrderController.java # REST adapter
│ ├── OrderRequest.java # API input DTO
│ └── OrderResponse.java # API output DTO
├── payment/
│ └── ...
└── shared/
└── domain/ # Shared kernel: common VOs, exceptions
├── Money.java
└── DomainException.java
```
**Import rule**: Domain never imports Spring, JPA, or infra