DocumentationGithub

matt-init

A CLI tool for scaffolding Next.js projects the way Matt likes 'em.

$npx matt-init@latest

...another Next.js Scaffolding tool?

Yeah yeah, I know. Everyone has a Next.js starter these days. Tech stacks are like assholes: everyone's got one. But this one's mine.

Most tools chase trends like β€œtype safety” or β€œbleeding-edge tech,” but forget something more basic: working with other people suuuucks. Especially during a hackathon.

This setup just works. Linting, formatting, CI: it's all right there, out of the box. No weird merge conflicts, no inconsistent filenames. matt-init is opinionated on purpose.


β—†  What's your project name?
β”‚  my-app
β””
  

What's in the Box?

Here's the tech stack baked into every matt-init project. All chosen for the simple reason that I like to use them.

Next.js logo

Next.js

App router, server actions, and file-based routing. No legacy pages dir.

TypeScript logo

TypeScript

Type safety for your codebase, with semi-strict settings for a good balance of safety and usability.

Tailwind CSS logo

Tailwind CSS v4

Utility-first CSS framework for rapid UI development.

ESLint logo

ESLint w/ antfu Rules

Linting with a focus on simplicity and readability, using rules from Anthony Fu's ESLint config.

Zod logo

Zod + .env Validation

Type-safe schema validation for your data, with environment variable validation baked in.

VSCode logo

VSCode Settings

Preconfigured VSCode settings and recommended plugins for a consistent development experience.

Plus, plenty more additional options:

better-auth logo

better-auth

A wickedly comprehensive authentication solution, with great server side support.

Drizzle ORM logo

Drizzle ORM

Type-safe SQL ORM for Next.js, with support for SQLite, PostgreSQL, and MySQL.

Turso logo

Turso

A self-hostable, serverless database with a focus on simplicity and performance.

Nix logo

Nix

The greatest package manager ever made. Declaratively manage your environments with ease.