Master — The most powerful full-stack framework in the universe.
Now in v2 · ESM · Node 20+
The most powerful full-stack<br>framework in the universe.<br>One command scaffolds a Next.js frontend, a MasterController API, and a MasterRecord ORM — wired together and ready to run. Rails-grade productivity, the Node.js you already know.<br>Get Started Star on GitHub<br>$npm install -g master
Three masters, one framework<br>The power of a full stack, unified<br>Master orchestrates three battle-tested pieces that also stand on their own. Use the whole stack, or wield each one independently.
Master CLIThe command center. Scaffold a full-stack monorepo, generate models, controllers and pages, run dev/build/start — all from one CLI.<br>master new<br>generators<br>dev / build / start<br>Explore docs
MasterControllerThe backend fortress. A fast ESM MVC framework: routing, controllers, a middleware pipeline, WebSockets, CORS and enterprise security.<br>routing & controllers<br>middleware pipeline<br>CSRF · rate-limit · HSTS<br>Explore docs
MasterRecordThe data vault. A code-first ORM with an expressive query language, migrations, relationships and transformers across SQLite, MySQL & Postgres.<br>code-first models<br>migrations<br>SQLite · MySQL · Postgres<br>Explore docs
From nothing to running<br>One command. A whole app.<br>No glue code, no boilerplate marathon. Scaffold, migrate, and launch a real full-stack application in under a minute.
terminal<br>$ master new my-app<br>$ cd my-app<br>$ master db migrate<br>$ master dev
That boots your API on :3001 and the Next.js app on :3000 — together, with hot reload.<br>Read the guide
server.js<br>// backend/server.js — boots the whole API<br>import master from 'mastercontroller';
master.root = import.meta.dirname;<br>const server = master.setupServer('http');
await master.startMVC('app'); // routes + controllers<br>await master.start(server);<br>server.listen(3001);
Post.js<br>// backend/app/models/Post.js — a MasterRecord entity<br>export default class Post {<br>id(db) { db.integer().primary().auto(); }<br>title(db) { db.string().notNullable(); }<br>body(db) { db.text(); }<br>views(db) { db.bigint(); }<br>created_at(db) { db.datetime(); }
One stack, working as one<br>Next.js on top. Power underneath.<br>Master pairs a real Next.js front end with a true backend and ORM — connected by one clean, typed boundary.
01Next.js frontend<br>Server & Client Components render your UI and fetch from the API.
02MasterController API<br>Routes, controllers, security — returns clean JSON.
03MasterRecord ORM<br>Code-first models & queries across SQLite, MySQL, Postgres.
See the architecture
Loaded with power<br>Everything you need to build
Zero to full-stack<br>master new app gives you a Next.js frontend + API backend + ORM, wired and running in one command.
Rails-style generators<br>Scaffold a complete resource — model, REST controller, routes and a Next.js page — instantly.
Three databases<br>MasterRecord speaks SQLite, MySQL and PostgreSQL with the same code-first models and migrations.
Secure by default<br>CSRF tokens, rate limiting, secure headers, HSTS and prototype-pollution protection out of the box.
Pure ESM, Node 20+<br>Modern JavaScript end to end — no transpiler required for the backend.
Decoupled by design<br>Frontend and backend are separate, scalable services that talk over a typed API.
Mountable components<br>Compose apps from self-contained MasterController components with their own routes and controllers.
Real migrations<br>Code-first schema diffing, up/down migrations and a friendly master db workflow.
Command to start
Databases
Generators
100%<br>ESM
Ready to claim the power?<br>See how Master stacks up against Rails, Express, NestJS and ASP.NET — then build something legendary.<br>Get StartedCompare frameworks