Hand it to your agent. Live in an hour.

A SaaS starter with auth, payments, credits and an admin console already wired — plus the rules, skills and tests that keep Claude Code, Codex and Cursor on the rails.

Built on

  • TanStack Start
  • React
  • TypeScript
  • Tailwind CSS
  • shadcn/ui
  • Vite
  • Bun
  • Cloudflare
  • Node.js
  • Drizzle
  • better-auth
  • Stripe
  • Creem
  • Resend

With your agent

Say what you want. It does the rest.

  • Claude Code
  • Codex
  • Cursor
  • GitHub Copilot
  • Windsurf
  • opencode
  • Zed
  • Amp
  1. An open laptop with a small rocket lifting off it

    Step 1

    Running in one command

    Type /setup and the agent handles the first-run chores: it installs dependencies, writes your local secrets, creates the database, starts the site and makes your account the admin. It only asks you for what it cannot fetch itself, like your Google sign-in keys.

    What the agent ran
    /setup
    bun install
    bun run db:migrate:local
    bun run dev
    http://localhost:3000/
  2. A card on a receipt stamped with a check mark

    Step 2

    Payments wired by the agent

    Type /stripe. The agent creates your products and prices, writes their ids into the plan config and forwards webhooks to your machine, so a test checkout works end to end before you deploy.

    What the agent ran
    /stripe
    stripe prices create …
    Wrote ids to plans.ts
    stripe listen
    checkout → 200
  3. An inspection gate stopping one crooked box on a conveyor belt

    Step 3

    Rules it cannot quietly break

    Ask for a feature in plain words. The agent builds it the way the project is laid out. If it skips a rule, such as a permission check on an admin page, the tests fail and name the rule, and the agent fixes it before handing the work back.

    What the agent ran
    Add invoices
    /add-feature invoices
    ✗ no permission check
    Added requirePermission
    ✓ all tests pass

This is the whole app.

  • The app

    A guarded shell: home, account settings, plan and credits.

  • Billing

    Checkout, prorated upgrades, downgrades at period end, receipts.

  • Admin console

    Revenue and growth at a glance, then users, orders, roles, audit and email logs.

  • Marketing site

    Prerendered landing, pricing, docs, blog and legal — in two languages.

The signed-in home page: sidebar, current plan, credit balance and a getting-started checklist.
The plan and billing page: the active Pro plan with its renewal date, and the payment history below.
The admin console overview: revenue, subscriptions, users and sign-ups, a revenue chart, and what needs attention.
The public marketing site: header, headline, calls to action and the technology stack.

In the box

The parts you would have written anyway.

  • A wallet with cards fanned out of it

    Payments

    Subscriptions and one-time purchases through Stripe or Creem, both already wired in.

    • Upgrades apply now, downgrades at period end
    • A full refund undoes the upgrade it paid for
    • Switch provider with one environment variable
  • A door with no keyhole and an envelope beside it

    Passwordless sign-in

    Google, GitHub or a code sent by email. No passwords to store, leak or reset.

    • Google One Tap
    • Sessions kept in your own database
    • Users can export or delete their account
  • A stack of tokens beside a gauge

    Usage-based credits

    Give each plan a monthly allowance, sell top-up packs, and charge per request without ever charging twice.

    • A monthly grant for every plan
    • Top-up packs that never expire
    • A ledger of every change
  • A monitor showing a dashboard of charts

    Admin console

    Revenue, users and orders in one place, so you do not build an internal tool before your product.

    • Metrics and trends
    • Roles and permissions for your team
    • Audit and email logs
  • An open book with two speech bubbles above it

    Blog, docs and two languages

    Write in MDX. Pages are prerendered for search engines, in English and Chinese from day one.

    • A table of contents from your headings
    • Sitemap and language alternates
    • The language lives in the URL
  • A ticked checklist on a clipboard with a shield

    Checks before every deploy

    Type checks, lint, unit and end-to-end tests run in CI, and a deploy stops if a database migration has not been applied.

    • Vitest unit tests
    • Playwright end-to-end tests
    • Proof that every module can still be removed

Also included: R2 file storage · Transactional email · In-app notifications · In-app feedback · Waitlist gate · Affiliate programme · Analytics · API keys

Pricing

One price. Every update after it.

ShipKit license

$99USD · one-time

Launch priceRegular price $199 USD after launch

Sign in with GitHub and the repository invite goes out the moment you pay. Digital goods, delivered instantly — all sales are final. Refunds

What's included

  • The full source, in a private GitHub repository
  • Every future update — pull it like any other remote
  • Unlimited projects of your own
  • Rules, skills and tests for Claude Code, Codex and Cursor
  • Setup, payments and deploy guides

shipkit.sh runs on ShipKit: the sign-in, the checkout and the delivery of this license all come from the template. About ShipKit

Questions

Things people ask before they clone it.

Couldn't my agent just write this?

It could write something that looks like it. Sign-in, webhooks, prorated upgrades and refunds are where generated code breaks quietly, and where a mistake costs money. An agent also copies whatever patterns a codebase already has, the wrong ones included. ShipKit gives it working ones, with the rules written down in CLAUDE.md and AGENTS.md and checked by tests, so your agent's time goes into your product instead.

How do I get the code?

You are invited to a private GitHub repository. Sign in with GitHub and the invite goes out as soon as the payment clears; signed in another way, you connect your GitHub account from the dashboard with one click. Future releases land in the same repository — add it as a remote and pull.

Stripe or Creem?

Either, and both at once. The webhook routes only verify, deduplicate and translate a payload into one internal event; features never import a provider client. PAYMENT_PROVIDER picks who takes new checkouts, and existing subscriptions keep renewing wherever they started.

Why Cloudflare Workers and not a Node host?

Because D1 and R2 are bindings, not services with credentials: no connection string, no pool, no S3 keys, and local dev runs the same runtime as production. The trade is that workerd forbids some Node patterns — the template already works around the ones that matter, like runtime-eval MDX.

What does "every feature is deletable" actually mean?

Each optional feature is a directory plus a handful of one-line registrations — a schema barrel line, a handler import, a nav row. The /delete-feature skill knows the recipe for each, and a CI job runs every recipe on every pull request and fails if one has rotted.

What does it cost to run?

On a small app, close to nothing: Workers, D1 and R2 all have free tiers that cover early traffic, and the only always-on cost is your domain. Email and payments bill per use.

Your first deploy is an afternoon away.