Agent skill

kurrentdb

Provides KurrentDB (EventStoreDB) client code for event sourcing and CQRS. Generates correct package names, connection strings, and API patterns for Python, Node.js, .NET, F#, Go, Java, Rust. Triggers on "kurrentdb", "eventstore", "event sourcing", "append events", "read stream", "subscription", "aggregate", "CQRS".

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/kurrentdb

SKILL.md

KurrentDB Development Skill

Provides working code for KurrentDB (formerly EventStoreDB) - the event-native database.

When to Read Additional Files

Need Read
Full API reference for any language reference.md
Ready-to-run project templates templates/{language}/

Quick Reference

Docker Setup (Insecure Single Node)

bash
docker run --name kurrentdb-node -it -p 2113:2113 \
    docker.kurrent.io/kurrent-latest/kurrentdb:latest \
    --insecure --run-projections=All --enable-atom-pub-over-http

Or use docker-compose - see templates/docker-compose.yaml

Connection String: kurrentdb://localhost:2113?tls=false Web UI: http://localhost:2113

Client Installation Quick Reference

Language Install Command
.NET/C# dotnet add package KurrentDB.Client
F# dotnet add package KurrentDB.Client
Java Add com.eventstore:db-client-java:5.3.2 to pom.xml
Python pip install kurrentdbclient
Node.js npm install @kurrent/kurrentdb-client
Go go get github.com/kurrent-io/KurrentDB-Client-Go/kurrentdb
Rust Add kurrentdb = "1.0" to Cargo.toml

Key API Patterns

Optimistic Concurrency (CRITICAL)

ALWAYS use expected revision for aggregates:

  • NO_STREAM - Creating new aggregate (stream must not exist)
  • StreamExists - Appending to existing stream
  • Specific revision number - Prevent concurrent modifications

Subscriptions

  • Catch-up: Read history + live events. Use for projections.
  • Persistent: Server-managed with ACK/NACK. Use for reliable processing.

System Streams

  • $ce-{category} - All events from streams matching pattern (e.g., $ce-order for order-*)
  • $et-{eventType} - All events of a type (e.g., $et-OrderCreated)

Official Documentation

Didn't find tool you were looking for?

Be as detailed as possible for better results