brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
spring-boot-best-practicesApply core coding standards, dependency injection, and configuration for Spring Boot 3. Use for Spring Boot application structure and DI/configuration; defer Spring Security hardening and test-specific setup to their focused skills.
Independent GitHub snapshot · Automated classification · Original documentation governs
@RequiredArgsConstructor (Lombok) to reduce boilerplate. Mark all dependencies as final.@ConfigurationProperties with Records (Java 17+) instead of @Value. Use Spring profile-specific files (e.g., application-dev.yml, application-prod.yml) and set active profile via SPRING_PROFILES_ACTIVE. Never hardcode secret values in properties files.@Validated and Jakarta Bean Validation (@NotNull, @NotEmpty) to fail fast at startup. Use application.yaml for structured configuration.records as immutable DTOs to reduce boilerplate and ensure thread safety. Handle empty values with Optional to avoid NullPointerException.@ControllerAdvice and ProblemDetails (RFC 7807) for standardized error responses.SLF4J with @Slf4j. Implement Structured Logging by logging arguments (log.info("id: {}", id)).Spotless or Checkstyle for code formatting. Use sdkman to manage JDK 21+ versions.