Products
A file in products/ defines one Product, what a customer gets and its promise, as an App, API, Agent, Dataset or Service.
A file in products/ defines one Product: what a Customer gets, and its promise. It implements the abstract products under Products.
products/pro.mdxLeaseline Pro: an App and an API over Lease
Reference
MDX. Frontmatter is the Product; the body is its promise, shown wherever it is sold.
| Key | Type | Holds |
|---|---|---|
$type | list | One or more of App, API, Agent, Dataset, Service |
nouns | Noun names | The Nouns it exposes; they stay in nouns/ so Products share them |
verbs | Verb ids | The Verbs a Customer may call |
interfaces | list | The Interfaces it ships on; every kind by default |
role | Role path | For an Agent: the Role in agents/ its agent fills |
A Site is a folder of its own in sites/.
Examples
Minimal
---
$type: [App]
nouns: [Lease]
---Leaseline
Leaseline declares a Lease Noun.
---
$type: [App, API]
nouns: [Lease]
verbs: [Lease.renew, Lease.notify]
---
No renewal slips past its date.What it builds
The SoftwareBuilder builds App, API, Agent and Dataset Products. The ServiceBuilder builds a Service.
- a
Productwith its promise - for an API: its paths, OpenAPI, SDK, CLI operations and MCP tools
- for an App: the screens of every exposed Noun
- for an Agent: its Tools and agent card; for a Service: the work lifecycle from ordered to accepted
Routing
An API serves at /api on the Startup's Domain and at api.sb/. An App mounts at /app. Routing has every rule.
Good to know
- A Product has no price. An Offer sells it, from an offer file.
- Two
$typevalues on one file ship one promise on two Interfaces.