kora-projects
OrganizationAgent Skills for Kora Framework — compile-time framework for Java/Kotlin backend development.
Categories
Indexed Skills (40)
kora-v1
Build and maintain Java/Kotlin services on the Kora Framework 1.x (ru.tinkoff.kora) — compile-time DI, zero reflection, annotation processors (Java) or KSP (Kotlin). Routes to 39 domain sub-skills. Use when the request mentions Kora, or uses Kora APIs: @KoraApp, @Component, @Module, @KoraSubmodule, @Root, @Tag, @HttpController, @HttpRoute, @HttpClient, @Repository, @Query, @EntityJdbc, @KafkaListener, @KafkaPublisher, gRPC, SOAP/WSDL, @S3.Client, MapStruct, @Json, @ConfigSource (HOCON/YAML), OpenAPI codegen, @KoraAppTest, Testcontainers, @Valid, @Validate, @Log, @Mdc, @Retry, @CircuitBreaker, @Timeout, @Fallback, @Schedule*, @Cacheable, @CachePut, @CacheInvalidate, Micrometer/Prometheus metrics, OpenTelemetry/OTLP tracing, Undertow, Hikari. Also use for Kora project setup, Gradle/BOM dependencies, DI graph errors, or explaining Kora concepts. Do not use for Spring Boot, Micronaut, or Quarkus work.
kora-v2
Build and maintain Java/Kotlin services on the Kora Framework 2.0 (io.koraframework) — compile-time DI, zero reflection, synchronous contracts on virtual threads, annotation processors (Java) or KSP (Kotlin). Routes to 39 domain sub-skills. Use when the request mentions Kora, or uses Kora APIs: @KoraApp, @Component, @Module, @KoraSubmodule, @Root, @Tag, @Conditional, @FactoryModule, @HttpController, @HttpRoute, @HttpClient, @Repository, @Query, @EntityJdbc, @KafkaListener, @KafkaPublisher, gRPC, SOAP/WSDL, @S3.Client, @S3.Head, MapStruct, Konvert, @Json, @ConfigSource, @ConfigMapper (HOCON/YAML), OpenAPI codegen, @KoraAppTest, Testcontainers, @Valid, @Validate, @Log, @Mdc, @Retryable, @CircuitBreakable, @Timeout, @RateLimited, @Fallback, @Schedule*, @Cacheable, @CachePut, @CacheInvalidate, @CacheInvalidateAll, Micrometer/Prometheus metrics, OpenTelemetry/OTLP tracing, Undertow, Hikari. Also use for Kora project setup, Gradle/BOM dependencies, DI graph errors, or explaining Kora concepts. Do not use for Spring
kora-aop-caching
Kora caching via compile-time AOP — @Cacheable/@CachePut/@CacheInvalidate over Caffeine (in-process) or Redis (distributed). Use when adding caching, choosing Caffeine vs Redis, or fixing "required keyPrefix" graph errors.
kora-aop-logging
Declarative method logging in Kora — @Log (+ @Log.in/out/result/off) and @Mdc via logging-common. Use when adding entry/exit logging, MDC context keys, or hiding sensitive arguments.
kora-aop-resilient
Kora resilience aspects — @CircuitBreaker, @Retry, @Timeout, @Fallback (resilient-kora). Use when adding fault tolerance to outbound calls or tuning resilient.* config keys.
kora-aop-scheduling-jdk
In-process scheduled jobs in Kora — @ScheduleAtFixedRate/@ScheduleWithFixedDelay/@ScheduleOnce (scheduling-jdk). Use for periodic/heartbeat/cleanup jobs; for cron or clustered jobs use kora-aop-scheduling-quartz.
kora-aop-scheduling-quartz
Quartz scheduling in Kora — @ScheduleWithCron, @ScheduleWithTrigger, @DisallowConcurrentExecution, @PersistJobDataAfterExecution (scheduling-quartz). Use for cron/custom-trigger/persistent jobs; for plain timers use kora-aop-scheduling-jdk.
kora-aop-validation
Kora declarative validation — @Valid/@Validate with Kora's own constraints (@NotBlank/@Pattern/@Range/@Size) and custom @ValidatedBy. Use when validating DTOs or service args. Kora validation is NOT Jakarta/JSR-380.
kora-config-hocon
HOCON typed config in Kora — @ConfigSource/@ConfigValueExtractor over application.conf via HoconConfigModule, with env substitution. Use when adding typed config or debugging "config value not found".
kora-config-yaml
YAML typed config in Kora — @ConfigSource/@ConfigValueExtractor over application.yaml via YamlConfigModule, with env substitution. Use when a service reads config from YAML instead of HOCON.
kora-database-cassandra
Kora Cassandra/ScyllaDB repositories — @Repository extends CassandraRepository, @Query CQL, @EntityCassandra, @UDT, @Batch, per-method @CassandraProfile. Use when adding a Cassandra repository or mapping rows/UDTs.
kora-database-jdbc
Kora JDBC repositories — @Repository extends JdbcRepository, @Query, @EntityJdbc, SQL macros, @Batch, transactions via inTx(), HikariCP under `db`. Use when adding a Postgres/MySQL/Oracle repository or debugging repository graph errors.
kora-database-migration
Kora startup schema migrations — Flyway (FlywayJdbcDatabaseModule) or Liquibase (LiquibaseJdbcDatabaseModule). Use when wiring migrations into @KoraApp, choosing Flyway vs Liquibase, or fixing checksum/race failures.
kora-di-compile
Compile-time DI in Kora — @KoraApp, @Component, @Module, @KoraSubmodule, @Root. Use when wiring the application graph or debugging "no factory found"/ambiguous/circular dependency errors. For runtime DI behavior see kora-di-runtime.
kora-di-runtime
Kora runtime DI behavior — @Root, Lifecycle init/release, @Tag disambiguation, All<T>, ValueOf<T>, @Nullable, GraphInterceptor. Use for lifecycle/collection/lazy/optional wiring. For compile-time @KoraApp/@Module wiring see kora-di-compile.
kora-grpc-client
Kora gRPC clients — GrpcClientModule with generated stubs injected as components, grpcClient.<Service> config, @Tag interceptors, streaming. Use when wiring an outbound gRPC call or adding gRPC metadata auth.
kora-grpc-server
Kora gRPC server handlers — GrpcServerModule, @Component extending the generated *GrpcImplBase, ServerInterceptor, grpcServer config, reflection. Use when serving gRPC RPCs (unary/streaming) from a Kora service.
kora-http-client-auth
Auth for outgoing Kora HTTP clients — Basic/ApiKey/Bearer interceptors, HttpClientTokenProvider, @InterceptWith, custom OAuth2/JWT schemes. Use when authorizing a @HttpClient or debugging 401s. For server-side auth see kora-http-server-auth.
kora-http-client
Declarative Kora HTTP clients — @HttpClient with @HttpRoute, @Path/@Query/@Header, @Json, interceptors, OkHttp/Async/JDK transports. Use for typed outbound calls. For OpenAPI clients see kora-openapi-generator-client; for the inbound server see kora-http-server.
kora-http-server-auth
HTTP server auth in Kora — HttpServerPrincipalExtractor, Principal/PrincipalWithScopes, SecurityException→403 via interceptor. Use when securing @HttpController endpoints or integrating an OpenAPI security scheme. For client-side auth see kora-http-client-auth.
kora-http-server
Kora HTTP server controllers on Undertow — @HttpController, @HttpRoute, @Path/@Query/@Header, @Json, HttpResponseEntity, HttpServerInterceptor. Use when building REST endpoints or wiring UndertowHttpServerModule.
kora-journal
Journal for incorrect Kora usage (kora_journal.py add/search/integrate). Global shared store at ~/.kora-journal/. Use when you or the user find a wrong Kora annotation, hallucinated API, or misapplied pattern. Not for project business logic.
kora-json
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-kafka-consumer
Kora Kafka consumers — @KafkaListener on a @Component method (KafkaModule), commit strategies, @Json deserialization, error handling, batch. Use when consuming Kafka messages or configuring kafka.consumer.
kora-kafka-producer
Kora Kafka producers — @KafkaPublisher interface (KafkaModule), typed .Topic contracts, send signatures, @Json serializers, transactional sends. Use when publishing domain events or configuring kafka.producer.
kora-mapstruct
MapStruct in Kora — an @Mapper interface is auto-discovered and its generated *MapperImpl registered in the graph (no @Component). Use for DTO↔entity mapping. Java uses the MapStruct processor; Kotlin needs kapt alongside KSP.
kora-openapi-generator-client
Generate Kora HTTP clients from an OpenAPI 3.x spec (org.openapi.generator, generatorName "kora") — typed *Api + sealed *ApiResponses. Use when scaffolding a contract-first client, choosing a client mode, or wiring auth interceptors.
kora-openapi-generator-server
Generate Kora HTTP server code from an OpenAPI 3.x spec (generatorName "kora") — *ApiController + *ApiDelegate implemented with @Component + sealed *ApiResponses. Use for a contract-first server; implement the delegate, don't hand-write a controller.
kora-project-dependencies
Kora Gradle artifacts + project generator — kora-parent BOM, annotation-processors/symbol-processors, koraBom, real module names, externally-versioned deps. Use when wiring build.gradle, choosing modules, or fixing "dependency not found"/version conflicts.
kora-project-setup-java
Scaffold a new Java Kora service (Gradle) — @KoraApp root, kora-parent BOM, annotation-processors, koraBom, wrapper. Use when starting a Java project or fixing "annotation processor did not run"/"ApplicationGraph not found". For Kotlin see kora-project-setup-kotlin.
kora-project-setup-kotlin
Scaffold a new Kotlin Kora service (Gradle Kotlin DSL) — KSP symbol-processors, kora-parent BOM, koraBom, @KoraApp, wrapper. Use when starting a Kotlin project or configuring KSP. For Java see kora-project-setup-java.
kora-s3
S3 object storage in Kora (AWS S3, MinIO) — declarative @S3.Client (@S3.Get/List/Put/Delete), imperative S3KoraClient, multipart uploads, key templates. Use when storing files, images, or binary data.
kora-soap-client
SOAP clients in Kora — compile-time generated from WSDL (wsdl2java) + JAX-WS @WebService, SoapClientModule. Use when consuming an external SOAP/WSDL web service.
kora-teacher
Teach Kora to beginners strictly from official docs/guides/examples under .kora-agent/, never inventing. Use when a user wants to learn Kora from scratch, asks for a tutorial, or needs a concept explained.
kora-telemetry-logging
Structured logging for Kora — SLF4J+Logback (LogbackModule), KoraAsyncAppender, StructuredArgument, Kora MDC, @Log/@Mdc. Use when wiring logback.xml, per-package log levels, or JSON logs for ELK/Datadog/Splunk.
kora-telemetry-metrics
Kora Micrometer metrics (micrometer-module) — PrometheusMeterRegistry + MeterRegistry, custom Counter/Gauge/Timer, /metrics scrape endpoint, SLO buckets. Use when adding business metrics or tuning latency buckets.
kora-telemetry-tracing
Kora OpenTelemetry tracing — OTLP gRPC/HTTP exporter modules, tracing.exporter config, Tracer injection, manual spans, context propagation. Use when exporting traces to Jaeger/Zipkin/Tempo or adding manual spans.
kora-testing-blackbox
Black-box E2E tests of a packaged Kora app via its HTTP API — AppContainer (Docker), Testcontainers on Network.SHARED, readiness gating, RestAssured/HttpClient. Use for real-artifact E2E. For in-process tests see kora-testing-junit-java.
kora-testing-junit-java
In-process JUnit 5 tests for Java Kora services — @KoraAppTest, @TestComponent, Mockito, config/graph modifiers, Testcontainers (test-junit5). Use when testing a Kora graph, mocking a component, or spinning up a DB/broker.
kora-testing-junit-kotlin
In-process JUnit 5 tests for Kotlin Kora services — @KoraAppTest, @TestComponent, MockK, config/graph modifiers, coroutine tests, Testcontainers. Use when testing a Kotlin Kora graph. For Java see kora-testing-junit-java.
Bio shown is the top-scored skill's repo description as a fallback — real GitHub bios land in a future update.