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

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
/setupbun installbun run db:migrate:localbun run devhttp://localhost:3000/
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
/stripestripe prices create …Wrote ids to plans.tsstripe listencheckout → 200
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 checkAdded 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.








In the box
The parts you would have written anyway.

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

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

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

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

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

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
Built with ShipKit
Shipped on it.
Live products running on this template: same auth, payments, console and deploy you get.

AI tools directory
LaunchFill
A weekly launch board for AI tools: AI-assisted submissions, weekly rankings, paid priority launches and sponsor slots, a Monday email digest and a review console.
launchfill.com

Studio site
Mikoo
The home of Mikoo, the studio behind ShipKit: products, blog and company details, bilingual and prerendered.
mikoo.app

SaaS starter
ShipKit
This site. License sales, checkout, sign-in, docs and the buyer's download all run on the template it sells.
shipkit.sh
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.