kora-jsonlisted
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