Skip to main content
Build a price card, see it render in studio, and publish it to your universe. You need studio running. Studio covers the install.

Make a project

Your work lives in an org. The folder you run in becomes its name, and that name travels with everything the org publishes.
Choose Studio at the prompt. You get three folders, and your org sits inside design/:
acme
design
acme your org
components one piece of interface
apps whole surfaces
styles colour, type, spacing
prompts skills and prompt blocks
nodes your own integrations
A worked example lands in each, so no folder starts empty.

Write the definition

Create design/acme/components/pricecard/pricecard.yaml. The file name is the component’s name, and the lint enforces the match.
Reading it top to bottom:

Add the manifest

A manifest.yaml beside the definition is how an Agent finds the component. A flat file you only place yourself can skip it; anything an Agent should find carries one:
The definition says what the component is. The manifest says when to reach for it, and that split never blurs: discovery meta lives here and nowhere else.

Catch mistakes as you type

The schema at design/_schema/unoverse.schema.json marks an unknown primitive, a missing whenToUse or an illegal condition while you are still in the file. Wire it once through the YAML extension in .vscode/settings.json:
The schema file stays JSON because it is the schema, not a definition.

See it

Open Components and find pricecard. It renders from the prop defaults with no backend involved, which is why the defaults matter. Open the code view and the definition sits beside the live preview: edit, save, and the preview follows. A component with a state tree gets one pill per public state, taken straight from the tree. This card has none, so it shows none.

Ship it

Lint runs first and blocks on any error, so nothing broken reaches a universe. Once it lands, your card is a node any workflow can use: open it in studio, click Copy for Canvas, and paste it onto a workflow with Cmd+V. Edits to a component that already shipped apply live. Publishing a brand new component adds it to the set the platform loads at boot.

Next steps

Components

States, layouts, and everything a component can show.

Primitives

Every element a definition composes from.