Skip to content

Settings

The settings file holds the Settings a Startup sets that its root file does not, inherited nearest-holder first.

settings.mdx holds the Settings a Startup sets that startup.ts does not. A Setting is inherited from its nearest holder, Studio to Startup to Product, unless a file sets its own.

  • leaseline/
  • startup.ts
  • settings.mdxSettings not set in startup.ts

Reference

MDX, frontmatter only. Each key is a Setting, and its value overrides the inherited one.

KeyTypeHolds
trialdurationHow long a trial runs before the first charge, such as 14d
signupemail | workEmail | magicLink | keyless | apiKey | oauth | agentIdentityHow a buyer signs up to the Startup's App
priceMovenumberThe largest Price change, as a share, an Agent makes without an Approval
delayWindowmapHow long each one-way Verb waits before it runs, by Verb
lockedlistSettings no Product below may change

Examples

Minimal

settings.mdx
---
trial: 30d
---

Leaseline

settings.mdx
---
trial: 30d
signup: magicLink
priceMove: 0.1
delayWindow: { refund: 1 business hour }
locked: [signup]
---

What it builds

The StartupBuilder compiles each key into one Setting value on the Startup.

  • a Setting per key, with locked where listed
  • a Change when a value moves, so every Setting has a history
  • an Approval when a later Action exceeds a Setting such as priceMove

Good to know

  • A key set in both startup.ts and settings.mdx fails the parse check, so every Setting has one home.
  • A Studio sets defaults for every Startup below it in studio.ts.
  • Policies are rulings on how numbers are computed, in the policies file. Settings are choices.