Code
The startup-builder framework and platform, where a Startup is files compiled by five Builders into a business with an API, SDK, CLI and MCP server.
StartupBuilder builds a business as code. A startup.ts and a few folders compile into a running Startup, with an API, SDK, CLI and MCP server for every Verb.
Three ways in
| You have | Start with |
|---|---|
| Nothing yet | Getting started: npm create startups to a deployed Startup that takes a test payment |
| A Startup built on startups.new | Its repository. Repositories mirrors it to GitHub; clone the mirror and run npx startup-builder dev |
| A Startup and a key | Call it from your own code: API, SDK, CLI or MCP |
| A coding agent | Build with a coding agent |
One file, one business
import { Startup } from 'startup-builder'
export default Startup({
name: 'Leaseline',
domain: 'leaseline.app',
extends: 'solo-saas',
idea: 'Small property managers pay to never miss a lease renewal.',
offers: {
pro: {
price: { amount: 29, currency: 'USD' },
interval: 'month',
terms: 'Every renewal noticed at 60 days.',
},
},
})Each line is read by one Builder, and everything the file leaves out comes from the Startup Template:
| Line | Builder | Compiles to |
|---|---|---|
extends: | StartupBuilder | Teams, a role agent in every seat, Processes and Workflows, Settings |
domain | SiteBuilder | A Site at leaseline.app with pricing, terms and sign-in |
offers.pro | SalesBuilder | An Offer and its Price, the Stripe objects behind them, checkout, a billing portal |
| Every inherited Noun | SoftwareBuilder | api.sb/, typed $, CLI operations, MCP tools, an App |
Builders as compilers shows the six steps of one compile.
One call, every Interface
Every Interface reaches the same api.sb route: Order.place is one operation, with one input and one result.
Read as text
- Clients:
POST /{namespace}/orders/place,$.Order.place,do Order.place,do · Order.place. - API:
https://api.sb/{namespace}. - Verb: Order.place, which records one Action.
- Event:
Order.placed, also sent to webhooks. - Workflow: Deliver an outcome (Operations Team).
- APIHTTP routes on api.sb, one per Verb.
POST /offers/{offer}/ publish - SDKThe typed $ client in startup-builder.
await $.Offer.publish({ offer }) - CLIEvery Verb as one command.
npx startup-builder do Offer.publish - MCPOne do tool your agent calls.
do({ code: '$.Offer.publish(…)' })
The tab
| Part | Holds |
|---|---|
| Framework | The project structure, startup.ts, every file convention, the Builders and routing |
| Platform | Database, auth, storage, functions and realtime, and Stripe underneath every charge |
| Interfaces | API, SDK, CLI, MCP, UI components |
| Ship | Ship my changes, the CLI in CI, verification |
| For agents | docs for agents, /llms.txt, /asks.json, the agent files |
Guides
What a founder says to their agent, and the guide that does it.
| You say | Guide | Calls | Status |
|---|---|---|---|
Ship my changes | Ship my changes | Change.review, Change.merge, Version.deploy | live |