CrabStack / Vibe coding SaaS template

Vibe coding SaaS template: a codebase that holds its shape as your agent grows it

CrabStack is a SaaS template for people who build by describing what they want to an AI coding agent. It gives the agent a fixed pattern to copy, and it runs checks that fail when the agent skips a step you would not know to look for. This page explains what that means in practice, in plain terms.

Why start from a template

An agent writes each feature from what it can see in the repo. Where the rules are written down and a reference feature exists, it copies that pattern. CrabStack supplies both, and tests enforce the parts that break without a visible error. You're buying the architecture, not the code.

What the agent gets

  • A map. AGENTS.md lists common tasks, such as adding a feature, adding a field, adding a page or sending an email. For each, it names what to read, what to copy and what fails if it is done wrong.
  • One way to build a feature. Every feature follows the same four parts: a schema that checks the input, a data shape, a service that does the work, and a controller that exposes it. The new-module skill walks the agent through all of them, plus the database table and, if you want one, a page.
  • One command to check everything. ./verify.sh builds both halves, runs more than 1,000 test cases, and checks generated files. It either says green or tells you what broke.

What the checks catch for you

You do not need to read the code to benefit from these. They fail the build, and the agent sees the failure and fixes it.

  • An API route with no sign-in rule. Every backend route has to state who may call it. A new route that does not fails a test.
  • Personal data that survives account deletion. Every database table has to state what happens to it when a user deletes their account. A new table without that rule fails a test.
  • Frontend and backend out of step. The API description is generated from the backend code. If the agent changes the backend and forgets to regenerate it, CI fails.
  • Payment events arriving twice or out of order. The Stripe handler is tested for repeated, out-of-order and same-second events.

One check covers shipped code only. A test signs in as a member of one team and tries to read another team's items every way the app allows. Every attempt must be refused. That test covers the sample items feature. For each new feature, the skill tells the agent to add its routes to the same test. Nothing fails if the agent skips that, so check that the diff includes it.

What you still need to do

  • Run a few commands in a terminal. Setup is ./setup.sh and one docker compose command.
  • Install Docker. The app and its database run in containers, and the full test run needs it.
  • Read the diff before you commit. The checks catch skipped steps. They do not decide whether a feature is a good idea.
  • Bring your own Stripe account if you charge money, and a server to deploy to. A deploy kit with Docker Compose and Caddy is included.

What it is built on

NestJS for the backend, Next.js for the frontend, PostgreSQL for data. Sign-in with GitHub, Google or an email link. Stripe for payments. Teams with roles and invites. An email queue, a blog and an admin area. All of it runs on your own server.

You do not need to know these tools well to start. Your agent does, and the repo tells it how they fit together here.

Who it fits

  • You build mostly by prompting Claude Code, Cursor or Codex.
  • You plan to charge for your app and want sign-in, payments and teams done properly from the start.
  • You want every new feature built the same way as the first one.

Who it does not fit

  • You want a hosted no-code builder with no terminal at all.
  • You need a mobile app. The frontend is a web app.
  • Not included: file uploads, websockets, MFA, a third-party UI library, a database, schema or domain per tenant (workspaces share one database), or languages beyond English (i18n is set up, English ships).

Related

  • Claude Code SaaS boilerplate: the agent files in detail
  • NestJS SaaS boilerplate: the full feature list
  • NestJS Stripe boilerplate: how payments are handled
  • NestJS multi-tenant boilerplate: how teams are kept apart
  • Docs: Getting Started, Build your first feature with your agent, Deployment
  • Compare: vs ShipFast, vs Makerkit, vs supastarter, and the ranking of boilerplates for AI agents

FAQ

What is a vibe coding template? A starting codebase for building by prompting an AI agent. A good one gives the agent a pattern to copy and checks that catch its mistakes.

Do I need to know how to code? You need to run commands in a terminal, install Docker and read a diff. The agent writes most of the code. The tests tell both of you when something is wrong.

Which AI coding tools work with it? Claude Code reads its CLAUDE.md. Cursor, Codex and Copilot read AGENTS.md. The feature skill is a Markdown file any agent can follow.

Where does my app run? On a server you control. The deploy kit runs the app, the database and HTTPS with Docker Compose and Caddy on one machine.

What does it cost? $199 once for one developer, or $349 for a team of up to five, before tax. There is no subscription.

Get the repo

$199 once, before tax: the repo, the tests, lifetime updates. Stripe is the merchant of record: checkout adds VAT or sales tax where it applies, and a local-currency price carries Stripe's 2-4% conversion fee. The full docs are public at /docs.