kotlin-exposed-patterns

Implement Kotlin database access patterns with JetBrains Exposed.

Updated Mar 27, 2026
One-click install
npx skills add https://github.com/emiled16/close-to-me --skill kotlin-exposed-patterns-emiled16
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: kotlin-exposed-patterns
Source: https://github.com/emiled16/close-to-me/tree/main/.codex/skills/kotlin-exposed-patterns
Command: npx skills add https://github.com/emiled16/close-to-me --skill kotlin-exposed-patterns-emiled16

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers design reliable database access in Kotlin without hand-crafting repetitive patterns for every query, transaction, or repository.

Core Features & Use Cases

  • DSL and DAO Patterns: Choose between expressive SQL-like DSL queries and entity-based DAO models depending on the task.
  • Production Database Setup: Configure HikariCP connection pooling, run Flyway migrations, and keep database access coroutine-safe with suspended transactions.
  • Repository Abstraction: Wrap Exposed logic behind repository interfaces for cleaner business code, easier testing, and simpler swapping of implementations.
  • Use Case: Build a backend module that handles user lookup, pagination, joins, JSON columns, and test database setup with a consistent Exposed architecture.

Quick Start

Use this Skill to design a Kotlin Exposed data layer for your application, including transactions, repositories, migrations, and testable database configuration.

Frequently Asked Questions about kotlin-exposed-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure Kotlin database access patterns with JetBrains Exposed?▼

Structure Kotlin database access by wrapping Exposed logic behind repository interfaces, choosing between SQL-like DSL queries and entity-based DAO models, and separating data access from business logic for cleaner code.

How do I run coroutine-safe suspended transactions in Kotlin Exposed?▼

Run coroutine-safe suspended transactions by wrapping database operations in suspended transaction blocks, ensuring non-blocking database access within Kotlin coroutine workflows without tying up threads.

What's the best way to configure HikariCP connection pooling with Kotlin Exposed?▼

Configure HikariCP connection pooling by setting up a production database configuration that manages connection limits and timeouts, providing efficient resource handling for high-throughput Kotlin backend workflows.

Does JetBrains Exposed support JSON column handling and pagination?▼

JetBrains Exposed supports JSON column handling and pagination by providing specific DSL query functions to serialize JSON data and apply offset limits for structured data retrieval.

How do I manage Flyway database migrations in a Kotlin backend?▼

Manage Flyway database migrations by integrating migration scripts into your application startup sequence, ensuring schema changes are versioned and applied automatically before executing Exposed transactions.

Can I test Kotlin Exposed repositories using an in-memory database?▼

Test Kotlin Exposed repositories using an in-memory database by swapping the production database configuration with an in-memory setup, allowing isolated and fast execution of repository logic and DSL queries.