init
Scaffold a Next.js project for DataQueue with a single command.
Scaffolds your Next.js project with everything needed to start using DataQueue — API routes, a job queue singleton, a cron script, and all required dependencies.
npx dataqueue-cli initWhat It Does
The init command auto-detects your project structure (App Router vs Pages Router, src/ directory vs root) and creates the following:
Files Created
| File | Purpose |
|---|---|
app/api/dataqueue/manage/[[...task]]/route.ts | API route for queue management (App Router) |
pages/api/dataqueue/manage/[[...task]].ts | API route for queue management (Pages Router) |
lib/dataqueue/queue.ts | Job queue singleton with a sample send_email handler |
cron.sh | Shell script for local development cron jobs |
Only the API route matching your detected router is created. Existing files are never overwritten.
Dependencies Added
Production:
@nicnocquee/dataqueue@nicnocquee/dataqueue-dashboard@nicnocquee/dataqueue-react
Development:
dotenv-clits-nodenode-pg-migrate
Scripts Added
| Script | Command |
|---|---|
cron | bash cron.sh |
migrate-dataqueue | dotenv -e .env.local -- dataqueue-cli migrate |
After Running
- Install the newly added dependencies:
npm install- Set up your environment variables in
.env.local:
PG_DATAQUEUE_DATABASE=postgresql://user:password@localhost:5432/mydb
CRON_SECRET=your-secret-here- Run database migrations:
npm run migrate-dataqueue- Start your Next.js dev server and the cron script:
npm run dev
npm run cronRequirements
- Must be run in a Next.js project directory (looks for
nextinpackage.jsondependencies) - Must have either an
app/orpages/directory