Trigger.dev is built as a pnpm monorepo that combines a Remix dashboard, task orchestration services, provider runtimes, and published TypeScript packages in one repository. This page explains the repo layout, build system, dependencies, and deployment path behind the platform.
For Product Managers
This page answers "how does the engineering team ship Trigger.dev?" — the tools, processes, and infrastructure that turn source code into a running platform. Understanding this helps you grasp engineering timelines, deployment complexity, and maintenance costs.
Trigger.dev is a pnpm monorepo with Turborepo for build orchestration. Applications, published packages, and internal packages all live in a single Git repository.
Run orchestration — queue, retry, checkpoint, waitpoint
@internal/schedule-engine
Cron evaluation and distributed scheduling
@internal/redis
Redis client wrapper (ioredis)
@trigger.dev/redis-worker
Fair multi-tenant job worker (DRR queuing)
@internal/cache
Caching abstraction
@internal/clickhouse
ClickHouse query and schema management
@internal/tracing
OpenTelemetry setup and utilities
@internal/tsql
Custom query language for log search
@internal/replication
ElectricSQL real-time replication
@internal/otlp-importer
OTLP data ingestion pipeline
@internal/emails
Transactional email templates
@internal/zod-worker
Zod-validated background worker
@internal/testcontainers
Testcontainers setup for integration tests
Why a Monorepo?
The SDK, CLI, webapp, and worker all share types from @trigger.dev/core. When the team adds a new task option, the type definition in core is immediately available to the SDK, the CLI build system, and the webapp API validation — no publishing, no version drift. Turborepo ensures only affected packages rebuild.
# Prerequisites: Node 20.20.0, pnpm 10.23.0, Docker, protobuf# Clone and installgit clone https://github.com/triggerdotdev/trigger.dev && cd trigger.devpnpm install# Copy env and set encryption keycp .env.example .env# Start infrastructurepnpm run docker # PostgreSQL, Redis, ElectricSQL, ClickHouse# Run database migrationspnpm run db:migrate# Build required packagespnpm run build --filter webapppnpm run build --filter trigger.devpnpm run build --filter @trigger.dev/sdk# Start the webapppnpm run dev --filter webapp # Dashboard at http://localhost:3030
The references/ directory contains example projects for testing the SDK and CLI:
Reference
Purpose
hello-world
Basic SDK + CLI integration test
prisma-6 / prisma-7
Prisma build extension testing
nextjs-realtime
Next.js + React hooks integration
d3-chat
AI chat with streaming
effect
Effect TS integration
For PMs: Why Reference Projects?
Reference projects are real working examples that double as integration tests. When the team changes the SDK, they run these projects to verify nothing breaks. This is cheaper than maintaining a full E2E test suite for every use case, and the projects also serve as documentation for users.