One command.
A finished Next.js app.
create-next-app hands you a blank page. This hands you a finished-looking site — portfolio, store, SaaS, blog, dashboard and more — already wired with SEO, security, sitemap and robots. Or add --fullstack for a whole app: the Next.js frontend plus a real Node · Express · MongoDB · Redis backend with JWT auth and CRUD. Stop configuring. Start building.
npm create lacspace-app@latest my-appSetup, in real time
Tap a template and watch the command run — and the app assemble itself right beside it.
▋
A finished app in 0.12s
We ran it on Node 22, calling the CLI directly — a complete 70-file app in about a tenth of a second, the same on all five runs.
$ time node create-lacspace-app my-app --template saas --no-install
✔ scaffolded 70 files
real 0.12s · run 2: 0.12s run 3: 0.12s run 4: 0.12s run 5: 0.12sScaffold-only, dependency install excluded from both. It builds on Next.js 15 — the win is skipping the boilerplate.
Pick a template, open it live
Every one a production-ready Next.js 15 + Tailwind app. Choose during setup, or with --template.
The libraries are already doing their job
Every generated app arrives with these Lacspace packages installed and wired — working from the first npm run dev.
@lacspace/seo
Metadata, canonical, Open Graph and JSON-LD from one defineSite() — plus a CI gate that fails below grade A.
@lacspace/og
A dynamic social card at /og — auto-fit titles, your gradient, no design tool.
@lacspace/headers
HSTS, CSP, X-Frame-Options and Referrer-Policy hardened in next.config.
@lacspace/robots
A robots.txt route from your config — block AI crawlers with a flag.
@lacspace/sitemap
A sitemap.xml from bare paths — no repeating your domain on every row.
@lacspace/theme
Dark / light / system, persisted, painted before first frame. No flash.
⌘K palette
A command palette wired in with @lacspace/hotkeys.
@lacspace/form
A real /contact form — typed, validated and spam-proof with @lacspace/validate.
Eighteen add-ons, one flag each
Request any of these with --with <key>, tick them in the interactive picker, or add <key> to an existing project. All keyless and free-first — and the full-stack ones contribute real Express routes and models to the generated backend, auto-upgrading a static project to full-stack.
ui
The 96-component @lacspace/components library, already wearing your template's accent and following its dark-mode toggle — plus a working settings page and a one-file theme bridge.
dataviz
A working /insights page: stat cards, an SVG line chart, a date-range filter and a sortable, searchable, CSV-exportable data table. No canvas, no D3, no grid licence.
ai-chat
A streaming AI chat route + UI on local Ollama — keyless.
rag
Chat with your docs: index Markdown, answer grounded questions with sources — keyless.
content
A Markdown content section at /updates for any template, plus an RSS feed and llms.txt.
search
Instant, keyless full-text search (BM25) over your Markdown — box + /search + API. No service.
auth-pages
FULL-STACKAccount management on the built-in login/register: edit profile, change password, TOTP 2FA with backup codes.
analytics
FULL-STACKPrivacy-first, cookieless web analytics: tracker + MongoDB collector + dashboard.
payments
FULL-STACKCheckout wired to eSewa & Khalti: orders and integer-safe money. The signed eSewa flow works end-to-end in TEST with no credentials; Khalti activates with a secret.
Transactional email: a ready mail service, beautiful templates and address validation. Logs to the console until you add SMTP, then delivers for real.
i18n
Multi-language UI: a tiny dependency-free t() translator + a language switcher, with English + Nepali locales and an i18n:check lint script.
quality
One-command quality gates from the Lacspace dev-tools — bundle-size budget, dependency audit and fake fixtures — plus a ready GitHub Actions CI workflow.
uploads
FULL-STACKAuthenticated file uploads stored in MongoDB, served via signed, expiring URLs — no S3 required.
push
FULL-STACKWeb push notifications with zero vendors — VAPID + RFC 8291 over pure Web Crypto, a subscribe endpoint and a service worker. No Firebase/FCM.
captcha
FULL-STACKA keyless, privacy-friendly proof-of-work CAPTCHA — stateless HMAC-signed challenges verified with one server secret. No Google, no Cloudflare, no tracking.
notify
Beautiful in-app toast notifications — a <Toaster/> and useToast wired in, with promise toasts, actions and positions. Accessible, zero-dependency.
realtime
FULL-STACKLive updates over Server-Sent Events — a channel/room hub, a Web-standard stream endpoint and a typed browser client with a useSSE hook. No WebSocket server, no vendor.
consent
GDPR-friendly cookie consent — a framework-agnostic store, a drop-in banner and a React <ConsentBanner/> + useConsent, cookie-persisted with whenConsent() script-gating.
npm create lacspace-app@latest my-app --with ai-chat,search,paymentsThree steps to shipped
Run one command
npm create lacspace-app@latest — no config files, no setup wizard.
Pick a template + add-ons
Nine templates. Choose static (frontend only) or --fullstack — frontend plus a real Node/Express/MongoDB/Redis backend. Then layer on any of 18 add-ons with --with ui,dataviz,ai-chat,rag,content,search,auth-pages,analytics,payments,email,i18n,quality,uploads,push,captcha,notify,realtime,consent — AI, content, search, auth, analytics, payments, email, i18n, quality gates, uploads, web push, keyless CAPTCHA, in-app toasts, live SSE updates and GDPR cookie consent, all keyless and free-first. The backend ones auto-upgrade a static project to full-stack.
Start building
cd in, npm run dev, and you’re live — SEO, headers and (optionally) a working AI already wired.
It doesn’t stop after day one
Unlike other create-* tools, this one keeps giving. Drop prewired, themed sections into any page — and it installs the UI kit automatically if it’s missing, so it works in any Next.js app.
# drop sections into any page
npx create-lacspace-app add pricing faq testimonials
# then, in app/page.tsx
import { PricingSection } from "@/components/sections/pricing";Questions
How is this different from create-next-app?
create-next-app gives you a blank starter. create-lacspace-app gives you a finished-looking app — a polished template already wired with SEO, security headers, a sitemap, robots.txt, a dynamic OG image and a working contact form — and then lets you layer on real features with one flag, including a streaming AI chat or chat-with-your-docs RAG that runs free and keyless on local Ollama.
Is it free?
Yes — free and open under the Lacspace Free Licence. The app you generate is entirely yours, including for commercial use.
Which stack does it use?
Next.js 15 with the App Router, Tailwind CSS v4 and TypeScript. Every generated app builds cleanly out of the box.
Can it scaffold a backend, not just a frontend?
Yes. Add --fullstack (alias --dynamic) and you get an npm-workspaces monorepo: a frontend/ Next.js app wired to the API with a typed client and /login, /register and a protected /account page; a backend/ Node · Express · MongoDB · Redis · TypeScript API that boots as a working app — JWT auth (register, login, me) and an example per-user CRUD resource, built on zero-dep @lacspace packages (password hashing, JWT, request validation, typed env, rate limiting); and a shared types/ package imported by both, so the API contract can't drift. One npm install, one npm run dev runs the API on :4000 and the frontend on :3000 together. The default stays static — a single frontend-only app, byte-for-byte unchanged.
Do I need Docker or Redis for the full-stack app?
No. Redis is optional — with no REDIS_URL the API falls back to an in-memory cache automatically, so it runs with zero infrastructure. MongoDB can be a local Docker container (a root docker-compose.yml with Mongo + Redis is included) or a free Atlas cluster. It's keyless and free-first, and every generated file carries plain "how this works" teaching comments.
Do the blog and docs templates really work?
Yes. The blog template turns content/posts/*.md into statically-generated pages with Article JSON-LD and sitemap entries (via @lacspace/markdown); the docs template is a full Markdown docs site with an auto-generated sidebar, on-this-page TOC and prev/next.
Can I add more later?
Yes — npx create-lacspace-app add pricing faq testimonials drops prewired, themed sections into any page, and add ai-chat or rag drops a whole feature (routes, UI and wiring) into an existing project. The UI kit installs automatically if it’s missing.
What add-ons are included?
Eighteen, each requested with --with <key>, in the interactive picker, or add <key> later: ui (the 96-component @lacspace/components library wired into your template — a working settings page, a <UIProvider>, and a theme bridge that maps your template’s accent, radius and font onto the kit so the components match your brand and follow the dark-mode toggle you already have), dataviz (a working /insights page built from @lacspace/charts, @lacspace/table and @lacspace/date — stat cards, an SVG line chart, a date-range filter and a sortable, searchable, CSV-exportable table), ai-chat (a streaming AI chat on local Ollama), rag (chat with your Markdown docs, grounded with sources), content (a /updates Markdown section + RSS + llms.txt), search (instant keyless BM25 full-text search over your Markdown — no key, no service), auth-pages (profile editing, password change and TOTP 2FA on the built-in login), analytics (privacy-first, cookieless web analytics with a MongoDB collector and dashboard), payments (checkout wired to eSewa & Khalti with integer-safe money), email (transactional email with ready templates that logs to the console until you add SMTP), i18n (a dependency-free t() translator and language switcher with English + Nepali locales), quality (one-command quality gates — bundle-size budget, dependency audit and fake fixtures — plus a GitHub Actions CI workflow), uploads (authenticated file uploads stored in MongoDB, served via signed, expiring URLs — no S3), push (web push notifications with zero vendors — VAPID + RFC 8291 over pure Web Crypto, a subscribe endpoint and a service worker, no Firebase/FCM), captcha (a keyless, privacy-friendly proof-of-work CAPTCHA — stateless HMAC-signed challenges verified with one server secret, no Google or Cloudflare), notify (beautiful in-app toast notifications — a <Toaster/> and useToast with promise toasts, actions and positions), realtime (live updates over Server-Sent Events — a channel/room hub, a Web-standard stream endpoint and a typed browser client with a useSSE hook, no WebSocket server or vendor) and consent (GDPR-friendly cookie consent — a framework-agnostic store, a drop-in banner and a React <ConsentBanner/> + useConsent, cookie-persisted with whenConsent() script-gating). Everything is keyless and free-first; the backend ones — auth-pages, analytics, payments, email, uploads, push, captcha and realtime — contribute real Express routes and models via a route manifest and auto-upgrade a static project to full-stack, while ui, dataviz, i18n, quality, notify and consent are frontend/tooling add-ons.
Can I scaffold a whole product at once?
Yes — a recipe bundles a template, full-stack mode and a set of add-ons into one command. npx create-lacspace-app my-app --recipe ai-saas gives you a SaaS with accounts, payments, a streaming AI chat and analytics; other recipes are store (e-commerce + eSewa/Khalti checkout + email + analytics), blog (content + search), docs-ai (RAG + search) and internal-tool (dashboard + auth + analytics + email). Explicit --template, --with and --fullstack flags still merge on top.
Does the AI cost anything?
No. The ai-chat and rag add-ons default to local Ollama — free, keyless and private (nothing leaves your machine). Install Ollama, pull a model, and it just works; or set LACSPACE_AI_* to point at any hosted OpenAI-compatible model instead. It’s built on the zero-dependency @lacspace AI packages, so the code is yours to read and own.
Your next app is one command away
Free, open-source, and yours to keep.
npm create lacspace-app@latest my-app