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.