This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Micronaut utility libraries.
- Java: 21+
- Micronaut: 4.x
- Build: Gradle with Kotlin DSL
./gradlew build # Full build (compile, test, check, assemble)
./gradlew test # Run all tests
./gradlew check # Run all quality checks
./gradlew spotlessApply # Auto-fix code formattingKotlin static analysis (detekt):
- Public APIs must be documented (KDoc)
- No
FIXMEorSTOPSHIPcomments
Test assertions:
- Kotlin tests: Use assertk (JUnit assertions are forbidden by detekt)
- Java tests: Use JUnit assertions
Documentation:
- Always document nullable/optional parameters — explain what
nullmeans - Use backticks for literals in KDoc:
`null`,`0`
- Null-safety: Java uses jspecify
@NullMarkedpackage annotation - Kotlin tests: Use assertk (JUnit assertions forbidden by detekt)
- Java tests: Use JUnit assertions
java-conventions: Java 21 toolchain, JUnit parallel tests, reproducible buildskotlin-conventions: Extends java-conventions, adds Spotless/Detektpublish-conventions: Maven Central publishing with signing