Your First Fireside Session
This guide creates a minimal but complete branching session.
What You Will Build
A three-node document that includes:
- Intro node
- Branch question node
- Two branch outcomes
It also demonstrates a container block and an extension fallback pattern.
Step 1: Start a Document
Create my-session.fireside.json:
{ "$schema": "https://fireside.dev/schemas/0.1.0/Graph.json", "title": "My First Fireside Session", "nodes": [ { "id": "intro", "content": [ { "kind": "heading", "level": 1, "text": "Welcome" }, { "kind": "text", "body": "Fireside sessions are branching graphs." } ], "traversal": { "next": "decision" } }, { "id": "decision", "content": [ { "kind": "container", "layout": "stack", "children": [ { "kind": "heading", "level": 2, "text": "Pick a path" }, { "kind": "text", "body": "Choose technical depth or business summary." } ] } ], "traversal": { "branch-point": { "prompt": "Where do we go next?", "options": [ { "label": "Technical", "target": "technical", "key": "t" }, { "label": "Business", "target": "business", "key": "b" } ] } } }, { "id": "technical", "content": [{ "kind": "code", "language": "rust", "source": "println!(\"hello\");" }] }, { "id": "business", "content": [ { "kind": "extension", "type": "acme.metric-card", "value": "42%", "label": "Adoption uplift", "fallback": { "kind": "text", "body": "Adoption uplift: 42%" } } ] } ]}Step 2: Run It
Use the reference engine:
cargo run -- present my-session.fireside.jsonStep 3: Navigate
Try these operations:
NextChoose(branch options)BackGoto(by node ID)
Next Steps
- Add
layouthints likefocus-codeorcompare. - Add images and lists to enrich branch outcomes.
- Add more extension types with robust fallback blocks.