← ClaudeAtlas

kora-jsonlisted

Compile-time JSON in Kora — @Json generates JsonReader/JsonWriter for records/data classes; sealed discriminators, @JsonField/@JsonSkip, JsonNullable, custom factories, Jackson swap. Use for HTTP DTOs or polymorphic JSON.
kora-projects/kora-skills · ★ 1 · Data & Documents · score 72
Install: claude install-skill kora-projects/kora-skills
# Kora JSON — compile-time JSON processing > **Kora sub-skill — obey the [kora-v1 meta rules](../../SKILL.md) on every task:** **R0** ensure `.kora-agent/` docs+examples are cloned · **R1** read this sub-skill before writing code · **R2** Kora APIs only — no Spring/Micronaut/Quarkus, no invented annotations or config keys · **R3** journal any incorrect Kora usage. Add comments/Javadoc only if asked. Kora generates `JsonReader<T>` / `JsonWriter<T>` at compile time from `@Json`-annotated records (Java) or data classes (Kotlin). No reflection, no runtime mapper discovery: an unsupported shape fails the build instead of throwing at runtime. Put `@Json` on the DTO type itself, not only on the controller parameter — that lets the mapper be generated during normal annotation processing and reused across HTTP bodies, cache values, and Kafka payloads. ## Quick Start `build.gradle` (all Kora artifacts inherit their version from the `kora-parent` BOM — never pin individual `ru.tinkoff.kora:*` versions): ```groovy dependencies { koraBom platform("ru.tinkoff.kora:kora-parent:1.2.19") annotationProcessor "ru.tinkoff.kora:annotation-processors" // mandatory: generates readers/writers implementation "ru.tinkoff.kora:json-module" } ``` Kotlin uses KSP instead: `ksp "ru.tinkoff.kora:symbol-processors"`. Wire the module into the application graph: ```java @KoraApp public interface Application extends JsonModule { static void main(String[] args) { KoraApplication