Simple Configuration
Define events and workflows via plain configuration objects. No complex setup, no boilerplate — just describe what you want and Synkro handles the rest.
Get started in under 10 lines of code:
import { Synkro } from "@synkro/core";
const synkro = await Synkro.start({ transport: "in-memory", events: [ { type: "UserSignedUp", handler: async (ctx) => { console.log("New user:", ctx.payload); }, }, ],});
await synkro.publish("UserSignedUp", { email: "user@example.com" });Simple Configuration
Define events and workflows via plain configuration objects. No complex setup, no boilerplate — just describe what you want and Synkro handles the rest.
Production Ready
Redis-backed transport with distributed locking, deduplication, retry with backoff, dead letter queues, and graceful shutdown. Battle-tested for real workloads.
Framework Agnostic
First-class integrations for NestJS, Next.js, and raw Node.js HTTP. Or bring your own framework — Synkro’s core has zero framework dependencies.
AI Agent Ready
Build LLM-powered agents with tools, memory, and multi-agent patterns. Bridge agents into Synkro’s event system for distributed orchestration with full guarantees.