simulacrum-cli
v1.0.3
Published
Generate production-ready Next.js applications for any use case. 7 templates: E-commerce, SaaS, Blog, Portfolio, Docs, Corporate, Landing Page. 4 database adapters, RBAC, i18n, admin dashboards.
Maintainers
Readme
Simulacrum CLI
Generate production-ready Next.js applications from one command.
Simulacrum is a CLI that scaffolds complete Next.js applications from built-in template types. Each generated project includes TypeScript, Tailwind CSS, shadcn/ui components, authentication via better-auth, your choice of several database adapters, payment processing, admin dashboards, role-based access control, internationalization, and end-to-end tests. You own the output. No runtime dependency on Simulacrum.
Website: https://simulacrum.alpha-redux.com
Quick start
npx simulacrum-cli ecommerce my-storeThis generates a full e-commerce application at ./my-store with a product catalog, cart, checkout, order management, and an admin dashboard. Run npm install && npm run dev to start.
Installation
Install globally to use the simulate command directly:
npm install -g simulacrum-cliOr run without installing via npx:
npx simulacrum-cli <template> <project-name>Requires Node.js 22.12.0 or higher.
Templates
Seven template types cover the most common application categories. Each generates a distinct set of pages, components, API routes, database schemas, and admin views.
| Template | Command | Description |
|----------|---------|-------------|
| E-commerce | simulate ecommerce <name> | Storefront with product catalog, cart, checkout, wishlist, order history, and store admin |
| SaaS | simulate saas <name> | Multi-tenant dashboard with billing, team management, settings, and onboarding flow |
| Blog | simulate blog <name> | MDX-powered publication with categories, tags, RSS feed, newsletter, and author profiles |
| Portfolio | simulate portfolio <name> | Project showcase with contact form, resume, and industry-specific variants |
| Documentation | simulate docs <name> | Technical documentation with sidebar navigation, search, code blocks, and versioning |
| Corporate | simulate corporate <name> | Business site with team profiles, services, careers, client testimonials, and contact |
| Landing Page | simulate landing <name> | Conversion-focused page with hero, features, pricing table, FAQ, and waitlist form |
Portfolio templates include five industry variants selected during setup: tech/developer, photography, design/creative, music/audio, and writing/journalism.
Usage
simulate <template> <project-name> [options]Template commands
simulate ecommerce <name> generate an e-commerce application
simulate saas <name> generate a SaaS application
simulate blog <name> generate a blog or publication
simulate portfolio <name> generate a portfolio site
simulate docs <name> generate a documentation site
simulate corporate <name> generate a corporate website
simulate landing <name> generate a landing pageLicense and account commands
simulate activate <key> activate a license key on this machine
simulate deactivate remove the license from this machine
simulate status display current license tier and email
simulate templates list templates available for your tier
simulate login interactive license key entry
simulate logout alias for deactivateOther commands
simulate plugins <directory> add integrations to an existing projectOptions
| Flag | Description |
|------|-------------|
| --minimal | Skip all interactive prompts and use opinionated defaults |
| --db <adapter> | Set database adapter: drizzle, prisma, supabase, postgres |
| --auth <providers> | Comma-separated auth providers: google, github, credentials, magic-link |
| --payments <provider> | Payment provider: stripe, none |
| --skip-install | Do not run npm install after scaffolding |
| --skip-git | Do not initialize a git repository |
| --use-npm | Force npm as the package manager |
| --use-yarn | Force yarn as the package manager |
| --use-pnpm | Force pnpm as the package manager |
| --use-bun | Force bun as the package manager |
| --license <key> | Provide a license key inline instead of activating first |
| --no-i18n | Disable internationalization |
| --no-dashboard | Disable the admin dashboard |
Examples
Generate an e-commerce store with Stripe payments and Drizzle ORM:
simulate ecommerce my-store --db drizzle --payments stripeGenerate a SaaS app with Prisma, Google and GitHub auth, skipping prompts:
simulate saas my-app --db prisma --auth google,github --minimalGenerate a portfolio with no interactive prompts using all defaults:
simulate portfolio my-site --minimalGenerated project structure
Every generated project follows the same conventions:
my-project/
src/
app/ Next.js App Router pages and layouts
components/ React components (ui/, layout/, template-specific/)
lib/ Utilities, database adapters, auth config, i18n
config/ Site configuration and feature flags
stores/ Client-side state (Zustand, where applicable)
public/ Static assets
drizzle.config.ts Database config (Drizzle projects)
tailwind.config.ts Tailwind CSS configuration
package.json Dependencies and scriptsAvailable scripts in generated projects
npm run dev # start development server
npm run build # production build
npm run start # start production server
npm run lint # run ESLint
npm run format # format with Prettier
npm run test # run unit tests with Vitest
npm run e2e # run end-to-end tests with Playwright
npm run db:push # push schema to database
npm run db:studio # open database GUI
npm run typecheck # run TypeScript type checkingStack
Generated projects use the following technologies:
| Category | Technology | |----------|-----------| | Framework | Next.js 14 with App Router | | Language | TypeScript | | Styling | Tailwind CSS 3.4, shadcn/ui, CSS variables | | Authentication | better-auth (Google, GitHub, Magic Link, Credentials, 2FA) | | Database | Drizzle ORM, Prisma, Supabase, or raw PostgreSQL | | Payments | Stripe (optional) | | Email | Resend with React Email templates | | Internationalization | next-intl (8 languages, RTL support) | | Admin dashboards | Recharts, TanStack Table, template-specific metrics | | Forms | React Hook Form with Zod validation | | State management | Zustand | | Testing | Vitest (unit), Playwright (E2E) | | SEO | Dynamic JSON-LD, sitemap generation, Open Graph images | | Analytics | Plausible or Google Analytics |
License
Commercial use requires a valid license. Plans, features, and purchase options are published on the Simulacrum website.
Activate a license
After purchasing, activate your license key:
simulate activate YOUR-LICENSE-KEYThe key is cached locally at ~/.config/simulacrum/auth.json. You can check your current status at any time:
simulate statusFAQ
What exactly is generated?
A complete, working Next.js project in a new directory. It includes all pages, components, API routes, database schemas, configuration files, and dependencies. Run npm run dev and you have a functional application.
Can I use this for client projects? Yes, within the limits of your license. What is included depends on your plan; see the website for current details.
Where are license and payment terms? On the website.
Can I customize the generated code? The generated code is yours. There is no runtime dependency on Simulacrum. You're free to modify anything and everything.
What if I pick the wrong database adapter? Generate a new project with a different adapter. The CLI is designed for rapid iteration.
Requirements
- Node.js 22.14.0 or higher
- npm, yarn, pnpm, or bun
Support
- Website: simulacrum.alpha-redux.com
- Documentation: simulacrum.alpha-redux.com/docs
- Email: [email protected]
License
License: Proprietary -- Victor Doyle
