Skip to content

Customizing

Every part of a Startup starts derived from its definition, and four levels change it, each writing more and inheriting less.

Every part of a Startup starts derived from its definition. Four levels change it, and each one writes more and inherits less.

Four levels

LevelYou writeLeaseline's exampleWhat still updates by itself
DeriveNothingThe /app/leases screen, from nouns/Lease.mdxEverything
ConfigureA Setting, in startup.ts or settings.mdxtrial: { days: 14, card: true } on the pro planEverything but the value
OverrideA file at the derived thing's own pathapps/portal/leases/[lease]/view.mdxThe rest of the App, Site or System
ReplaceA program in code/, and a route to it with its reasonA route that serves a legacy webhookNothing on that route

Start at the top and stop at the first level that does the job. A part left derived picks up every fix its template and Builders ship.

By part

PartConfigureOverrideReplace
VerbIts Setting, such as a stakes thresholdA Verb functionA Function of another kind, see Function kinds
App screenThe App's personas and mountA viewA custom component inside the view
Site PageThe Site's navigation and domainsA page file or layoutA route to a program in code/
SystemIts SettingsA system fileA Mapping to an outside Source
DashboardIts window and RoleA dashboard fileA custom component
RoleIts Limits and approvalsThe Role fileA custom agent in the seat
BrandTheme tokensA Brand templateA custom component

How an override stays safe

An override is a file, so it goes through a Change like any other edit. .sb/resolved/ shows the merged result of the template and every override, so a value always traces to the file that set it. A route to code/ names the reason a Verb could not serve, and the parse check refuses one without it.

Leaving the platform

A Startup's records live in db.sb. Moving them to a store of your own is an ejection, which takes a recorded Change. The ejection Verb and its export have status planned; import and export covers the records that export.