Comprehensive developer toolkit providing reusable skills for Java/Spring Boot, TypeScript/NestJS/React/Next.js, Python, PHP, AWS CloudFormation, AI/RAG, DevOps, and more.
82
82%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Risky
Do not use without reviewing
Deliver feature-aligned CRUD services that separate domain, application, presentation, and infrastructure layers while preserving Spring Boot 3.5+ conventions. This skill distills the essential workflow and defers detailed code listings to reference files for progressive disclosure.
Follow these steps to implement feature-aligned CRUD services:
Create feature/<name>/ directories with domain, application, presentation, and infrastructure subpackages to maintain architectural boundaries.
Create entity classes with invariants enforced through factory methods (create, update). Keep domain logic framework-free without Spring annotations.
Define domain repository interfaces in domain/repository that describe persistence contracts without implementation details.
Create JPA entities in infrastructure/persistence that map to domain models. Implement Spring Data repositories that delegate to domain interfaces.
Create @Service classes with @Transactional methods that orchestrate domain operations, repository access, and DTO mapping.
Use Java records or immutable classes for API contracts. Apply jakarta.validation annotations for input validation.
Create @RestController classes mapped to /api endpoints. Return ResponseEntity with appropriate status codes (201 for POST, 204 for DELETE).
Unit test domain logic in isolation. Use @DataJpaTest and Testcontainers for integration testing of persistence layer.
spring-boot-starter-web and spring-boot-starter-data-jpa.@RequiredArgsConstructor or explicit constructors).jakarta.validation) and error handling (ResponseStatusException).feature/<name>/ directories for domain, application, presentation, and infrastructure.create and update.domain/repository describing persistence contracts.infrastructure/persistence that map domain models to JPA entities and delegate to JpaRepository.application/service that orchestrate aggregates, repositories, and mapping logic.presentation/rest, expose endpoints with proper status codes, and wire validation annotations.Consult references/examples-product-feature.md for complete code listings that align with each step.
Product.create) to centralize invariants.Money, Stock) to enforce type safety and encapsulate validation.@Entity annotations in the domain package when using adapters.@Service classes using constructor injection and @Transactional.JpaRepository<ProductEntity, String>) and custom queries for pagination or batch updates.application.yml; see references/spring-official-docs.md.ProductController) and expose REST paths (/api/products).ResponseEntity with appropriate codes: 201 Created on POST, 200 OK on GET/PUT/PATCH, 204 No Content on DELETE.@Valid on request DTOs and handle errors with @ControllerAdvice or ResponseStatusException.references/examples-product-feature.md integration test snippets.@DataJpaTest and Testcontainers to validate persistence mapping, pagination, and batch operations.info for lifecycle events (create, update, delete) and use structured logging for audit trails.{
"name": "Wireless Keyboard",
"description": "Ergonomic wireless keyboard with backlight",
"price": 79.99,
"stock": 50
}{
"id": "prod-123",
"name": "Wireless Keyboard",
"description": "Ergonomic wireless keyboard with backlight",
"price": 79.99,
"stock": 50,
"createdAt": "2024-01-15T10:30:00Z",
"_links": {
"self": "/api/products/prod-123",
"update": "/api/products/prod-123",
"delete": "/api/products/prod-123"
}
}{
"price": 69.99,
"stock": 45
}{
"id": "prod-123",
"name": "Wireless Keyboard",
"description": "Ergonomic wireless keyboard with backlight",
"price": 69.99,
"stock": 45,
"updatedAt": "2024-01-15T11:45:00Z",
"_links": {
"self": "/api/products/prod-123"
}
}curl -X DELETE http://localhost:8080/api/products/prod-123HTTP/1.1 204 No Contentcurl "http://localhost:8080/api/products?page=0&size=10&sort=name,asc"{
"content": [
{
"id": "prod-123",
"name": "Wireless Keyboard",
"price": 69.99,
"stock": 45
},
{
"id": "prod-456",
"name": "Wireless Mouse",
"price": 29.99,
"stock": 100
}
],
"pageable": {
"page": 0,
"size": 10,
"total": 2,
"totalPages": 1
},
"_links": {
"self": "/api/products?page=0&size=10",
"next": null,
"last": "/api/products?page=0&size=10"
}
}python skills/spring-boot-crud-patterns/scripts/generate_crud_boilerplate.py --spec entity.json --package com.example.product --output ./generatedskills/spring-boot-crud-patterns/references/ or pass --templates-dir <path>; no fallback to built-ins. See references/README.md.skills/spring-boot-crud-patterns/assets/specs/product.jsonskills/spring-boot-crud-patterns/assets/specs/product_with_rel.jsonplugins
developer-kit-ai
skills
chunking-strategy
prompt-engineering
developer-kit-aws
skills
aws
aws-cli-beast
aws-cost-optimization
aws-drawio-architecture-diagrams
aws-sam-bootstrap
aws-cloudformation
aws-cloudformation-auto-scaling
references
aws-cloudformation-bedrock
references
aws-cloudformation-cloudfront
references
aws-cloudformation-cloudwatch
references
aws-cloudformation-dynamodb
references
aws-cloudformation-ec2
aws-cloudformation-ecs
references
aws-cloudformation-elasticache
aws-cloudformation-iam
references
aws-cloudformation-lambda
references
aws-cloudformation-rds
aws-cloudformation-s3
references
aws-cloudformation-security
references
aws-cloudformation-task-ecs-deploy-gh
aws-cloudformation-vpc
developer-kit-core
skills
developer-kit-java
skills
aws-lambda-java-integration
aws-rds-spring-boot-integration
aws-sdk-java-v2-bedrock
aws-sdk-java-v2-core
aws-sdk-java-v2-dynamodb
aws-sdk-java-v2-kms
aws-sdk-java-v2-lambda
aws-sdk-java-v2-messaging
aws-sdk-java-v2-rds
aws-sdk-java-v2-s3
aws-sdk-java-v2-secrets-manager
graalvm-native-image
langchain4j
langchain4j-mcp-server-patterns
langchain4j-ai-services-patterns
references
langchain4j-mcp-server-patterns
references
langchain4j-rag-implementation-patterns
references
langchain4j-spring-boot-integration
langchain4j-testing-strategies
langchain4j-tool-function-calling-patterns
langchain4j-vector-stores-configuration
references
qdrant
references
spring-ai-mcp-server-patterns
references
spring-boot-actuator
spring-boot-cache
spring-boot-crud-patterns
spring-boot-dependency-injection
spring-boot-event-driven-patterns
spring-boot-openapi-documentation
spring-boot-project-creator
spring-boot-resilience4j
spring-boot-rest-api-standards
spring-boot-saga-pattern
spring-boot-security-jwt
assets
references
scripts
spring-boot-test-patterns
spring-data-jpa
references
spring-data-neo4j
references
unit-test-application-events
unit-test-bean-validation
unit-test-boundary-conditions
unit-test-caching
unit-test-config-properties
unit-test-controller-layer
unit-test-exception-handler
unit-test-json-serialization
unit-test-mapper-converter
unit-test-parameterized
unit-test-scheduled-async
unit-test-service-layer
unit-test-utility-methods
unit-test-wiremock-rest-api
developer-kit-php
skills
aws-lambda-php-integration
developer-kit-python
skills
aws-lambda-python-integration
developer-kit-tools
developer-kit-typescript
skills
aws-lambda-typescript-integration
better-auth
drizzle-orm-patterns
dynamodb-toolbox-patterns
references
nestjs
nestjs-best-practices
nestjs-code-review
nestjs-drizzle-crud-generator
scripts
nextjs-app-router
nextjs-authentication
nextjs-code-review
nextjs-data-fetching
references
nextjs-deployment
nextjs-performance
nx-monorepo
react-code-review
react-patterns
references
shadcn-ui
tailwind-css-patterns
references
tailwind-design-system
references
turborepo-monorepo
typescript-docs
typescript-security-review
zod-validation-utilities