launch-quickly

What this is

An opinionated SaaS starter whose conventions are executable, not documented.

Most starters hand you a working app and a README describing how to extend it. The README is where the value leaks out: the conventions live in prose, and prose is advisory. Six weeks in, half your codebase follows it and half does not, and nothing ever told you which half.

This one takes a different position.

Every convention exists three times: as a generator that writes it, a check that fails when you break it, and a skill that explains it. Nothing important lives only in a document.

That matters most when an agent is writing the code. An agent given a prose convention follows it for a while and then drifts, and the drift is invisible until review. An agent given a check that fails inside its own edit loop cannot drift — it gets told, immediately, in the same turn.

What you actually get

A Next.js 16 application with authentication, multi-tenancy, billing, email, background jobs, file storage and rate limiting already wired together — and, more to the point, wired together one specific way, with the tooling to keep it that way.

The parts worth knowing about before you look at anything else:

  • lq generate feature writes a complete vertical slice: schema, migration with its row-level security policy, queries, mutations, typed actions, forms, routes and tests. Nineteen files that have to agree with each other.
  • lq check is the only validation verb. Types, conventions, formatting, migrations, structure — one command, and it is the same one CI runs.
  • Tenancy is enforced by Postgres, not by remembering to write a where clause. A query that forgets to scope returns nothing, because the database says no.
  • Server Actions cannot be published by accident. The action builder's types make .mutation() unreachable until you have declared a schema and chosen .authed() or .public().
  • Upgrades can reach code you already generated, because the project records which files are still the ones we shipped. See Upgrades.
  • It looks like a product on day one, and like your product by day two — three component layers, five structural themes, and a generator that emits the designed version rather than a flat one. See Components and Themes.

Where to go next

On this page