Lists & blocks
The SetFork data model — list types, blocks, steps, runs, links and export.
Element order
- Ordered sequence — steps have meaningful order (1..N): deploy runbooks, recipes, itineraries, learning roadmaps, rankings.
- Set — order doesn't matter: packing lists, review checklists, curated collections.
You pick the order at creation and can change it in the list settings.
This is not the same as the list type (steps, things to get, checklist, criteria, options, recipe) — the type says what an element is, and shape and validation follow from it. See The list standard.
Addressing
Every list lives under its owner, GitHub-style:
https://setfork.com/{owner}/{slug}Slugs are unique per owner. Lists can be public (visible to everyone) or private (owner only); switching visibility is in the danger zone of list settings.
Blocks
A list is built from blocks. The step is the main one, but not the only one: the radial "+" button in the editor adds any of eight types.
| Block | For |
|---|---|
| 👣 Step | The core unit: an action with a command, sub-tasks and rationale |
| 📝 Text | Free markdown — an intro, a note or an aside between steps |
| 🖼️ Image | An illustration or hero image |
| 📊 Poll | A reader vote with options and an optional deadline |
| 🎬 Video | A clip by link (YouTube/Vimeo) or as a file |
| 🎓 Quiz | A checked question: choice, text, number, blanks, pairs, ordering, code |
| 📎 File | An attachment (PDF, doc, archive — up to 25 MB) |
| 🛒 Products | A tiered set of options — for shopping and comparison lists |
The step in detail
A step is more than a line of text:
- Title — imperative and short ("Back up the database").
- Description — the useful details: amounts, temperatures, flags.
- Command — one terminal command, rendered with a copy button.
- Sub-tasks — checkable sub-items; in runs each can be ticked individually.
- Level —
required(default),recommendedoroptional, like MUST / SHOULD / MAY in RFCs. - Why — rationale for non-obvious steps.
- Section — a group heading that visually splits long lists ("Day 1", "Dough", "Week 3").
- References — labeled links to docs or sources.
Runs
A run is an executable instance of a list pinned to a specific version. Start a run and you get a live checklist: step states (todo / current / done / blocked), per-step notes and sub-task ticks. Runs survive new versions of the list — they stay on the version they started from. How often a list is run and whether people finish it shows on the Insights page.
Tags
Every public list carries up to eight tags — search and discovery run on them, and each tag has its own page. More on search, tags and collections is in Search & discovery.
Links between lists
In a description or step you can reference another list with a wiki-link
[[handle/slug]] — it renders as a live link. The referenced list automatically
grows a "Referenced by" block (backlinks), so the connection is visible from
both sides. Forks, meanwhile, keep their own lineage ("forked from").
Export
Any list can be downloaded as Markdown or HTML, or printed to PDF (steps never break across pages).