The create-vorsteh-queue
CLI tool provides the fastest way to get started with Vorsteh Queue by creating new projects from pre-built templates.
Installation #
No installation required - use with npx
:
npx create-vorsteh-queue
Usage #
Interactive Mode #
# Full interactive experience
npx create-vorsteh-queue
The CLI will prompt you for:
- Project name
- Template selection
- Package manager preference
- Dependency installation
Direct Mode #
# With project name
npx create-vorsteh-queue my-queue-app
# With template selection
npx create-vorsteh-queue my-app --template=drizzle-postgres
# With package manager
npx create-vorsteh-queue my-app --package-manager=pnpm
# Fully automated
npx create-vorsteh-queue my-app \
--template=drizzle-postgres \
--package-manager=pnpm \
--quiet
CLI Options #
Option | Short | Description | Example |
---|---|---|---|
--template=<name> | -t=<name> | Choose template | -t=drizzle-postgres |
--package-manager=<pm> | -pm=<pm> | Package manager | -pm=pnpm |
--no-install | - | Skip dependency install | --no-install |
--quiet | -q | Minimal output | --quiet |
Available Templates #
Templates are dynamically discovered from the repository:
- drizzle-pg - Basic Drizzle ORM with node-postgres
- drizzle-pglite - Zero-setup with embedded PostgreSQL
- drizzle-postgres - Advanced with recurring jobs
- event-system - Comprehensive event monitoring
- progress-tracking - Real-time progress updates
- pm2-workers - Multi-process workers with PM2
-
prisma-client
- Example with the new
prisma-client
-
prisma-client-js
- Example with the old
prisma-client-js
Package Managers #
Supported package managers:
- npm - Default Node.js package manager
- pnpm - Fast, disk space efficient
- yarn - Popular alternative
- bun - Ultra-fast (experimental)
Template Structure #
Each template includes:
- Complete source code - Ready-to-run example
- Database schema - Pre-configured tables
-
Environment setup
- Example
.env
files - Documentation - README with setup instructions
- TypeScript configuration - Optimized settings
Examples #
Quick Start #
npx create-vorsteh-queue my-app --template=drizzle-pglite
cd my-app
npm run dev
Production Setup #
npx create-vorsteh-queue worker-service \
--template=drizzle-postgres \
--package-manager=pnpm
cd worker-service
pnpm db:push
pnpm dev
CI/CD Friendly #
npx create-vorsteh-queue my-app \
--template=event-system \
--package-manager=pnpm \
--no-install \
--quiet
Template Development #
Templates are automatically discovered from the examples/
directory in the repository. To add a new template:
-
Create a new example in
examples/
-
Include a
package.json
with proper metadata -
Add a
README.md
with setup instructions - The template becomes available automatically