Everything else is optional. Add section components only when the page needs them.
minimal.yaml
version: 1
page:
name: Northstar
title: Northstar — Ship with confidence
description: Release software without release-day surprises.
hero:
heading: Know what breaks before you ship.
text: A focused explanation of the product and its value.
actions:
- label: Start free
href: "#start"
sections:
- type: cta
id: start
heading: Ship your next release calmly.
action:
label: Contact us
href: mailto:[email protected]
— Grammar before styling
Composition rules
01
Use YAML 1.2 with one document and two-space indentation.
02
Start every file with version: 1. Unknown keys are errors.
03
Quote same-page fragments such as "#pricing"; an unquoted # starts a comment.
04
Section order in the sections array is the rendered page order.
05
Section ids must be unique lowercase slugs and make fragment links possible.
06
Aliases, merge keys, custom tags, raw HTML, CSS, Markdown, and scripts are rejected.
— From draft to project website
Keep the source. Publish the page.
01
Use Save YAML to keep the source beside your project code. Import it whenever you want to update the page.
02
Check desktop and mobile previews, then download index.html. Open that file to check its links and images before publishing.
The page promise: one heading, supporting copy, actions, and optional image.
eyebrow
string
Short context label. Maximum 80 characters.
headingrequired
string
The page’s single h1. Maximum 160 characters.
text
string
Supporting prose. Maximum 2,000 characters.
actions
action[]
Up to 2 hero action objects.
image
image
One HTTPS raster image with meaningful alt text.
hero.yaml
hero:
eyebrow: Release intelligence
heading: Know what breaks before you ship.
text: A focused explanation of the product and its value.
actions:
- label: Start free
href: "#start"
style: primary
01.05
footer
optional
Closing text and a short list of policy or contact links.
Place up to 12 typed components inside sections. Array order is page order.
02.01
features
repeatable
A heading and up to 6 icon-supported product benefits.
typerequired
features
Selects this component.
id
slug
Unique fragment target.
heading
string
Section heading. Maximum 160 characters.
text
string
Section introduction. Maximum 2,000 characters.
itemsrequired
feature[]
Up to 6 items with title, text, and optional icon.
features.yaml
- type: features
id: features
heading: Built for calm releases
text: Everything needed between merge and production.
items:
- icon: shield
title: Risk detection
text: Find dangerous changes before deployment.
02.02
stats
repeatable
A compact proof band containing up to 6 value-and-label pairs.
Additive optional fields may remain in v1. Renaming, removing, or changing meaning requires v2. New section types ship with schema, renderer, documentation, accessibility review, and security fixtures together.