Express handles routing, React renders the views, Inertia connects the two. That's it.
Interactive setup for app name, database, session secret, and migrations. Add --quick my-app for defaults.
Everything you need to ship a production app, wired up and ready to go.
Pages render on the server first, then hydrate into a full SPA. Fast initial loads, smooth navigation after.
Registration, login, forgot password, password reset, and email verification — wired and ready to extend.
Schema-first mappings with migrations. SQLite by default, Postgres when you need it.
Dispatch async work and run it in a separate process. No external queue service required.
Send transactional email out of the box. Log driver for dev, SMTP for production, pluggable for anything else.
Cron-style recurring jobs. Define them in code, run them with one command.
Type-safe in-process events. Decouple your features without adding infrastructure.
Simple key-value store. In-memory by default, pluggable for Redis or anything else.
Store and retrieve files with a clean API. Local, memory, and S3 drivers included.
Security headers, graceful shutdown, health probes, structured logs, body limits.
Page names checked at compile time. Props flow from controller to component with full type coverage.
Hot module replacement in dev, optimized bundles in production. No waiting around.
Opt-in per-route throttling. Off by default, env-configured, ready for production.
Page props are HTML-escaped end-to-end. Untrusted data is safe by default.
Opinionated structure means AI assistants follow conventions instead of guessing. Less correction, more shipping.
One command scaffolds a full project — database, auth, sessions, migrations, and dev server.
Write controllers, models, and React pages with the same patterns you already know. MVC with TypeScript end-to-end.
Your page is server-rendered, type-safe, and ready for production. Deploy anywhere Node runs.
No accounts. No telemetry. No signup. Install, develop, deploy.