simple-kotlin-spring

Scaffold a Kotlin Spring Boot multi-module backend with a simplified domain layer.

Updated Mar 28, 2026
One-click install
npx skills add https://github.com/diegolirio/ai-showcase-skills --skill simple-kotlin-spring
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simple-kotlin-spring
Source: https://github.com/diegolirio/ai-showcase-skills/tree/main/skills/simple-setup-kotlin-spring/claude/skills/simple-kotlin-spring
Command: npx skills add https://github.com/diegolirio/ai-showcase-skills --skill simple-kotlin-spring

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Scaffolds a Kotlin + Spring Boot multi-module backend using a simplified domain layer that does not expose a domain repository interface or RepositoryImpl. Handlers inject the Spring Data XJpaRepository directly and the domain-to-persistence mapping lives inside the JPA entity via toDomain and fromDomain. This approach speeds up MVPs and prototypes while preserving a clean architectural structure with buildingBlocks, core, presenter-api, presenter-consumer, and presenter-job.

Core Features & Use Cases

  • Simplified multi-module scaffold: buildingBlocks, core, presenter-api, presenter-consumer, presenter-job.
  • No domain repository interface or RepositoryImpl; direct injection of XJpaRepository into application handlers.
  • JPA entity handles domain mapping with toDomain and fromDomain, preserving a clear persistence boundary.
  • Trade-offs: faster MVPs at the cost of tighter coupling between core and infrastructure; best for prototyping and small teams.

Quick Start

Run the scaffold to generate a new Kotlin Spring project with the simplified multi-module structure.

Frequently Asked Questions about simple-kotlin-spring

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scaffold a Kotlin Spring Boot MVP without domain repositories?

A lean Kotlin Spring Boot architecture skips domain repository interfaces by injecting Spring Data XJpaRepository directly into handlers, keeping JPA entities responsible for domain mapping through toDomain and fromDomain methods.

How do I structure a Spring Boot multimodule project for an MVP?

Structure a Spring Boot multimodule MVP using buildingBlocks, core, presenter-api, presenter-consumer, and presenter-job modules to enforce a clean layout while keeping the domain layer simplified for rapid prototyping.

When should I use a repository-less DDD-lite architecture in Spring Boot?

Use a repository-less DDD-lite approach in Spring Boot for MVPs and small team prototypes where faster delivery matters more than strict decoupling, accepting tighter core-to-infrastructure coupling in exchange for removing domain repository artifacts.

Can I keep JPA entity mapping without a domain repository interface in Kotlin?

Yes, JPA entity mapping persists without a domain repository interface by implementing toDomain and fromDomain conversion methods directly on the JPA entity, preserving the persistence boundary while removing RepositoryImpl artifacts.

What are the trade-offs of injecting XJpaRepository directly into handlers?

Injecting XJpaRepository directly into handlers accelerates MVP prototyping by removing repository boilerplate, but creates tighter coupling between core and infrastructure layers, making it unsuitable for complex, large-scale applications.