Kotlin Spring Boot Code One Task
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
Carry out a single kotlin-springboot task from an implementation_plan.md-style list — the implementation, its unit
tests, and its checkbox update — on Maven or Gradle (Kotlin DSL or Groovy), in either a DDD/hexagonal multi-module
reactor or a plain layered/feature-packaged service, detected at runtime. It is the narrowest execution unit for a
Kotlin Spring Boot task in the iru-code pipeline and the Kotlin counterpart to iru-java-springboot-code-one-task.
Purpose
iru-kotlin-springboot-code-one-task differs from a generic "write some Kotlin" pass in three ways. First, the build
is checked before any code is written: Kotlin classes are final by default, so without the kotlin-spring,
kotlin-jpa and all-open plugins a @Transactional method silently runs without a transaction and a LAZY
association silently loads eagerly. It verifies what the task depends on (all-open for Spring beans, -Xjsr305=strict,
kotlin-reflect, no-arg plus all-open for JPA entities, jackson-module-kotlin, Maven mixed Java/Kotlin compile
order) and adds whatever is missing, reporting the change. Second, the architecture is detected, not assumed:
hexagonal module rules apply only when the repository really is a hexagonal reactor. Third, it runs unit tests only,
scoped to the touched module (mvn -pl <module> -am test -Dtest=… or ./gradlew :<module>:test --tests …) —
never verify, Failsafe, integrationTest, check, build, any *IT, or anything that starts Docker.
It loads only the relevant guidance from its own reference/ directory (build plugins, hexagonal architecture,
mandatory rules, code style, testing, JPA, coroutines/WebFlux, DDD, SOLID, distributed patterns), applying rules such
as JUnit 5 with MockK (never Mockito or a newly added AssertJ), runTest for coroutines, no !!, KDoc on public API,
and data classes for DTOs but never JPA entities. It does not capture a quality baseline, add license headers, run
coverage or quality checks, or run the full suite — those belong to
Kotlin Spring Boot Code One Task Group.
Plugin
Shipped by the iru-springboot plugin of the ai-catalog marketplace (install with /plugin install iru-springboot@ai-catalog; see Plugins).
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
Task description |
Yes |
The task’s own text, including its exact |
None — always invoked with a specific task by |
Outputs
-
Source and test files created or modified for the task, placed per the detected architecture (hexagonal reactor module rules, or the existing layered/feature packaging), with KDoc on public declarations and a migration when the project uses Flyway/Liquibase and a mapping changed.
-
Minimal build changes when the task needed Kotlin/Spring plumbing that was missing (plugin, option or dependency, with versions left to the Spring Boot BOM), recorded in the report.
-
Unit tests written and run green, scoped to the touched module; integration tests are never run.
-
implementation_plan.mdwith this task’s checkbox (and covered sub-tasks) checked and a short note naming the module(s) and files touched plus "group validation pending". On a blocker, the checkbox is left untouched. -
A short summary: modules/packages touched and whether the repository was treated as hexagonal or layered, build changes, ports and migrations added, unit-test results, anything left to the group’s integration pass, blockers, deliberate deviations from
reference/, and pre-existing rule violations noticed but left alone.
Execution flow
Dependencies
Invokes
None — iru-kotlin-springboot-code-one-task is a leaf skill; it reads its own reference/ files and runs Maven or
Gradle unit-test commands, it does not call any other skill in this catalog.
Invoked by
-
Kotlin Spring Boot Code One Task Group — Step 2, implements each task and its unit tests, via the
iru-isolated-skill-executoragent.
Source
SKILL.md on GitHub — the file this page was generated from.