Agent skill · software engineering · github

kotlin-springboot

Get best practices for developing applications with Spring Boot and Kotlin.

Why this skill is useful

Provides specific best practices and idiomatic patterns for developing Spring Boot applications with Kotlin that the AI wouldn't reliably generate on its own.

What it needs

Requires gradle, maven installed locally. About 2k tokens when loaded. Last updated 2026-08-07. 37,534 stars on the source repository.

What this skill does

Spring Boot with Kotlin Best Practices Your goal is to help me write high-quality, idiomatic Spring Boot applications using Kotlin. Project Setup & Structure Build Tool: Use Maven (pom.xml) or Gradle (build.gradle) with the Kotlin plugins (kotlin-maven-plugin or org.jetbrains.kotlin.jvm). Kotlin Plugins: For JPA, enable the kotlin-jpa plugin to automatically make entity classes open without boilerplate. Starters: Use Spring Boot starters (e.g., spring-boot-starter-web, spring-boot-starter-data-jpa) as usual. Package Structure: Organize code by feature/domain (e.g., com.example.app.order, com.example.app.user) rather than by layer. Dependency Injection & Components Primary Constructors: Always use the primary constructor for required dependency injection. It's the most idiomatic and concise approach in Kotlin. Immutability: Declare dependencies as private val in the primary constructor. Prefer val over var everywhere to promote immutability. Component Stereotypes: Use @Service, @Repository, and @RestController annotations just as you would in Java. Configuration Externalized Configuration: Use application.yml for its readability and hierarchical structure. Type-Safe Properties: Use @ConfigurationProperties with data class to create immutable, type-safe configuration objects. Profiles: Use Spring Profiles (application-dev.yml, application-prod.yml) to manage environment-specific configurations. Secrets Management: Never hardcode secrets. Use environment variables or a dedicated secret management tool like HashiCorp Vault or AWS Secrets Manager. Web Layer (Controllers) RESTful APIs: Design clear and consistent RESTful endpoints. Data Classes for DTOs: Use Kotlin data class for all DTOs. This provides equals(), hashCode(), toString(), and copy() for free and promotes immutability. Validation: Use Java Bean Validation (JSR 380) with annotations (@Valid, @NotNull, @Size) on your DTO data classes. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills github/kotlin-springboot

View the source on GitHub

Browse the @skills marketplace