Installation
Prerequisites
- Node.js version 18 or later
- TypeScript is fully supported out of the box (types are bundled with every package)
Install the core package
npm install @synkro/corepnpm add @synkro/coreyarn add @synkro/coreChoose a transport
Synkro ships with two built-in transports. Your choice determines how events are delivered and where workflow state is stored.
| In-Memory | Redis | |
|---|---|---|
| Use case | Development and testing | Production |
| External deps | None | Running Redis instance |
| Multi-instance | No | Yes |
In-memory (default for dev)
No additional dependencies required. Just set transport: "in-memory" in your configuration.
Redis (recommended for production)
You need a running Redis instance and its connection URL:
const synkro = await Synkro.start({ transport: "redis", connectionUrl: "redis://localhost:6379", // ...});Integration packages
Install only the packages you need. Each integration uses peer dependencies so your application controls the version of @synkro/core.
# Dashboard UInpm install @synkro/ui
# NestJS integrationnpm install @synkro/nestjs
# Next.js integrationnpm install @synkro/next
# AI agent orchestrationnpm install @synkro/agents# Dashboard UIpnpm add @synkro/ui
# NestJS integrationpnpm add @synkro/nestjs
# Next.js integrationpnpm add @synkro/next
# AI agent orchestrationpnpm add @synkro/agents# Dashboard UIyarn add @synkro/ui
# NestJS integrationyarn add @synkro/nestjs
# Next.js integrationyarn add @synkro/next
# AI agent orchestrationyarn add @synkro/agentsVerify your installation
Create a quick smoke test to confirm everything is wired up:
import { Synkro } from "@synkro/core";
const synkro = await Synkro.start({ transport: "in-memory" });console.log("Synkro started successfully");await synkro.stop();Run it with npx tsx smoke.ts (or your preferred TypeScript runner). If you see the success message, you are ready to move on to the Quick Start.