$ ErwinMVC

View on GitHub →

A lightweight, full-featured MVC framework for Node.js 20+ built with TypeScript. ErwinMVC gets you from zero to a working web application in seconds, with sensible defaults and optional features you can add as needed.

quick start

npx @erwininteractive/mvc init myapp

### features

  • - Express — Fast, minimal web framework under the hood
  • - EJS + Alpine.js — Server-side templating with reactive client-side components
  • - Optional Database — Add Prisma + PostgreSQL when you need it
  • - Optional Redis Sessions — Scalable session management
  • - JWT Authentication — Secure token-based auth with bcrypt
  • - CLI Tools — Scaffold apps and generate models/controllers
  • - CI/CD Ready — Built-in GitHub Actions workflow generation for automated testing and deployment

### philosophy

I built ErwinMVC because I wanted something between "figure it out yourself" and "here's 100 dependencies you don't need." It's opinionated where it matters and flexible where it doesn't.

Start simple — just routes and views. Add a database when you need persistence. Add authentication when you need users. The framework grows with your project instead of front-loading complexity.

### cli commands

npx @erwininteractive/mvc init <dir> — Create a new app
npx erwinmvc generate resource <name> — Generate model + controller + views
npx erwinmvc generate controller <name> — Generate a CRUD controller
npx erwinmvc generate model <name> — Generate a database model

### learn more

Full documentation, examples, and detailed instructions are available in the README.