A production-ready full-stack monorepo scaffolding tool.
Stack: Next.js · NestJS · Drizzle ORM · Nestia · Mastra · Agentica · Temporal · Kafka
npx create-a3-stackOr with pnpm:
pnpm dlx create-a3-stack| Prompt | Options |
|---|---|
| Frontend | Next.js 15 · React + Vite + TanStack Router |
| Database | PostgreSQL · MySQL · MariaDB |
| Queue | BullMQ (Redis) · Temporal · None |
| Agents | Mastra + Agentica · None |
| Kafka | Yes (2 microservices) · No (single API) |
| Auth | Better Auth · None |
| Package manager | pnpm · npm |
my-project/
├── apps/
│ ├── api/ # NestJS API runner
│ ├── web/ # Next.js or React+Vite frontend
│ └── worker/ # Kafka microservice (if enabled)
├── packages/
│ ├── api/ # NestJS business logic
│ ├── db/ # Drizzle schema + migrations
│ ├── i18n/ # Shared message catalogs
│ ├── sdk/ # Nestia-generated typed API client
│ └── worker/ # Kafka consumer logic (if enabled)
├── nestia.config.ts # Nestia SDK + OpenAPI config
├── docker-compose.yml
└── .env.example
cd my-project
cp .env.example .env
docker compose up -d
pnpm install
pnpm dev- API: http://localhost:3000/api
- Web: http://localhost:5173 (Vite) or http://localhost:3001 (Next.js)
- Kafka UI: http://localhost:8081 (if Kafka enabled)
- Temporal UI: http://localhost:8080 (if Temporal enabled)
After changing API routes:
pnpm openapi:exportGenerates typed SDK in packages/sdk/src and OpenAPI spec at apps/api/openapi/openapi.json.
pnpm db:generate # generate migrations
pnpm db:migrate # apply migrations
pnpm db:push # push schema (dev)
pnpm db:studio # Drizzle StudioWhen Kafka is selected, two NestJS apps are scaffolded:
apps/api— HTTP API (publishes events via Kafka)apps/worker— Kafka microservice consumer (Transport.KAFKA)
pnpm dev:api # start HTTP API
pnpm dev:worker # start Kafka worker| Layer | Technology |
|---|---|
| Frontend | Next.js 15 / React + Vite + TanStack Router |
| Backend | NestJS 11 |
| ORM | Drizzle ORM |
| Database | PostgreSQL / MySQL / MariaDB |
| Queue | BullMQ / Temporal |
| Agents | Mastra + Agentica |
| Messaging | Kafka (NestJS Microservices) |
| API Client | Nestia (typed SDK + OpenAPI) |
| Auth | Better Auth |