Coding agents
Orbit is built so coding agents (Claude Code, Codex, Cursor, Copilot and others) can use it correctly on the first try: the whole format and API are in files the package ships, problems come with the fix, and maps can be checked without a browser.
Give your agent the docs
llms.txtis an index of the docs, andllms-full.txtis all of them in one file: the format, the API, recipes for each framework, theming and accessibility. Both ship in the package (node_modules/@restless-dreams/orbit/llms-full.txt, matching the installed version) and online for the latest release athttps://cdn.jsdelivr.net/npm/@restless-dreams/orbit/llms.txtandhttps://cdn.jsdelivr.net/npm/@restless-dreams/orbit/llms-full.txt.- Tell the agent about them in your project’s
AGENTS.mdorCLAUDE.md:
## Mind maps
This project draws mind maps with Orbit (@restless-dreams/orbit). Before
writing a map or code that uses it, read
node_modules/@restless-dreams/orbit/llms-full.txt. Check every map with
`npx @restless-dreams/orbit validate --json <file>` and fix every diagnostic
it lists.Install the skill
The package includes an agent skill in skills/orbit: a SKILL.md with instructions that Claude Code, Codex, Cursor and other agents load on their own when a task involves mind maps, with the format reference, recipes and theming guide next to it.
# With the skills CLI, for Claude Code, Codex, Cursor and more:
npx skills add restless-dreams/orbit
# The same, from the installed package:
npx skills add ./node_modules/@restless-dreams/orbit
# Claude Code, by hand:
cp -r node_modules/@restless-dreams/orbit/skills/orbit .claude/skills/What agents can rely on
- One way to do each thing.
createOrbitMap(element, markdown, options)for any page,<orbit-map>without a build step,OrbitMindMapfrom@restless-dreams/orbit/react,@restless-dreams/orbit/markedfor markdown pipelines andrenderToSVGStringwithout a browser. Every option has one name and is documented in the type declarations. - A starting point.
npx @restless-dreams/orbit example > map.mdwrites a map that uses every feature;--yamlwrites it as YAML. - Problems with the fix. Parsing is forgiving, and every problem is reported with its line and what to do about it:
Unknown frontmatter key "rings" (ignored). Did you mean "showRings"?,Unknown theme "dark". Themes: paper, night, … Did you mean "night"?,view must be "focus" or "all" (the overview), got "overview". - Checks without a browser.
npx @restless-dreams/orbit validate --json map.md{
"valid": false,
"flavor": "markdown",
"root": "Product roadmap",
"nodes": 22,
"depth": 3,
"diagnostics": [
{
"code": "unknown-attribute",
"message": "Unknown attribute \"colour\", kept as a custom attribute. Did you mean \"color\"?",
"line": 14,
"severity": "warning"
}
]
} The command exits with 1 until the map is valid. In code, parseOrbit(source).diagnostics holds the same list, and { strict: true } throws on the first problem.
- A picture of the result.
npx @restless-dreams/orbit render map.md --out map.svgdraws the map as a standalone SVG. Open it, or turn it into a PNG with any converter, to look at it. - Messages in the console for the usual setup mistakes: no element to draw in (
Orbit needs an element to draw the map in, but got null…), a container without a height (The map has no height, so nothing shows…), and an unknown theme name.
Asking for a map
Agents do well with the map’s content and where it goes. For example:
- “Turn the outline in NOTES.md into an orbit-md map in docs/roadmap.md and add it to the docs page with
<orbit-map>. Check it withorbit validate.” - “Show our product areas as an Orbit map on the dashboard, in the cosmos theme, with each team’s status.”
- “Generate a YAML map for Orbit from
teams.jsonat build time and render it to SVG for the README.”