Skip to content

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.

KeyTypeHolds
$typelistOne or more of App, API, Agent, Dataset, Service
nounsNoun namesThe Nouns it exposes; they stay in nouns/ so Products share them
verbsVerb idsThe Verbs a Customer may call
interfaceslistThe Interfaces it ships on; every kind by default
roleRole pathFor an Agent: the Role in agents/ its agent fills

A Site is a folder of its own in sites/.

Examples

Minimal

products/pro.mdx
---
$type: [App]
nouns: [Lease]
---

Leaseline

Leaseline declares a Lease Noun.

products/pro.mdx
---
$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 Product with 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/leaseline.app. 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 $type values on one file ship one promise on two Interfaces.