next-cli
an interactive cli that scaffolds production-ready next.js apps in one command — pick your auth, database, orm, api layer, payments, email, and analytics, and it wires them together into a typed, ready-to-run project.
turns repeated next.js setup into a guided flow — every supported stack combination now scaffolds a project that builds and lints clean.
full stack
designer, developer, and cli author
duration
sep 2024 – present
mode
active
key stack
proof point
every option combination scaffolds a project that builds and lints cleanly.
product surface
an interactive cli that scaffolds production-ready next.js apps in one command — pick your auth, database, orm, api layer, payments, email, and analytics, and it wires them together into a typed, ready-to-run project.
system surface
the cli looked finished but almost nothing it generated actually built; the real work was making every prompt produce a working, type-safe project.
role
designer, developer, and cli author
challenge
the cli looked finished but almost nothing it generated actually built; the real work was making every prompt produce a working, type-safe project.
result
every option combination scaffolds a project that builds and lints cleanly.
architecture
how the pieces connect
interface
next.js, typescript, tailwind css
workflow
implemented the missing installers — next-auth, drizzle, graphql, payments, and email providers — and wired every prompt into the generator.
data and rules
treated the output build as the source of truth instead of the cli's own unit tests.
approach
how it was shaped
- implemented the missing installers — next-auth, drizzle, graphql, payments, and email providers — and wired every prompt into the generator.
- treated the generated project's build as the real test: scaffolded many stack combinations and ran a full next build on each.
- fixed the scaffolding bugs that broke first builds — missing dependencies, a hardcoded path alias, a no-op installer, and swapped file arguments.
outcome
what it proves
- every option combination scaffolds a project that builds and lints cleanly.
- a landing page with a live quickstart, integrations showcase, and faq.
- a tested foundation ready to publish to npm.
decisions
- treated the output build as the source of truth instead of the cli's own unit tests.
- kept generated code type-safe under strict mode rather than leaning on @ts-nocheck.
- made layout and stack choices first-class so generated projects stay consistent.
lessons
- a generator's tests are worthless if they never compile the output.
- compiling is not the same as working.
next steps
- publish the cli to npm.
- write the docs site.
- add more templates and presets.
stack