What's included
Everything a production app needs
01
Modular by design
Each domain is an isolated module with its own ORM instance, service, and Awilix DI container. Swap or extend any piece.
02
File-based routes
Drop a route.ts under src/api/ and it auto-registers. Export named GET, POST, PUT, DELETE handlers — zero Express wiring.
03
Workflow engine
DAG-based saga runner with LIFO compensation. Every mutation goes through a typed workflow with automatic rollback.
04
Pluggable event bus
Local EventEmitter in dev, Redis/BullMQ in prod. One line in meridian.config.ts. Subscribers auto-load from src/subscribers/.
05
Admin dashboard
React 18 + Vite + Tailwind SPA. Kanban board with custom statuses, sprint management, RBAC, workspace settings.
06
NPX scaffolding
npx create-meridian-app spins up a full project in seconds. meridian dev, build, and db:migrate handle the rest.
Quick start
One config.
Everything wired.
All 12 core modules — auth, projects, issues, sprints, notifications — are loaded automatically by the default plugin. You only declare infrastructure.
import { defineConfig } from '@meridianjs/framework';
export default defineConfig({
projectConfig: {
databaseUrl: process.env.DATABASE_URL,
jwtSecret: process.env.JWT_SECRET,
},
modules: [
// swap for event-bus-redis in prod
{ resolve: '@meridianjs/event-bus-local' },
{ resolve: '@meridianjs/job-queue-local' },
],
plugins: [
// loads all 12 core modules automatically
{ resolve: '@meridianjs/meridian' },
],
});
Start building
Your project management app starts here.
Production-ready in minutes. Fully extensible with custom modules, plugins, and workflows.