rtistree
v0.6.0
Published
Deterministic, agent-operable raster graphics engine
Maintainers
Readme
Rtistree
Programmable graphics for AI agents. Create reproducible artwork, inspect the result, refine individual parts, and export usable assets with built-in art-direction guidance.
Documentation · Examples · Contributing
Rtistree is a local Node.js graphics engine with a CLI, TypeScript SDK and MCP server. JSON/YAML scenes retain structure; seeded painting programs bake to replayable raster assets. Edits have history and undo. PNG, JPEG, TIFF, PDF, SVG, portable projects and deterministic sprite atlases with JSON metadata are outputs. Rendering uses native CPU Skia and requires no model API key, browser or GPU.
Public alpha · v0.6.0 · MIT. APIs may change before 1.0. Technical checks do not judge artistic quality.

Rtistree is agent-first: you direct the work, your agent operates the tools, and together you inspect and refine the result. Read the core concepts for the roles of the user, agent and engine.
Make your first image
Requires Node.js 22+ and npm. Linux and macOS are covered by CI.
npx rtistree@latest init my-art
cd my-art
npm install
npm run renderOpen hello.png. The starter includes an editable scene, a sample local edit,
an SDK example and npm scripts. init creates a new directory and refuses existing paths.
To brighten the disc and then undo the edit:
npx rtistree apply scene.json refine.json
npx rtistree render scene.json -o brighter.png
npx rtistree undo scene.jsonFollow the getting-started guide for a walkthrough of the files, image comparisons, undo, portable export and SDK usage.
For an existing Node project, use npm install rtistree. The primary executable is
rtistree; graphics remains a compatibility alias. npx rtistree --help lists commands.
Structured results are JSON (help is plain text). Verification/preflight failures and
non-identical recipe replay exit 2; input/runtime errors exit 1.
Use with an agent
Read the included guidance before creating artwork:
npx rtistree art-guide
npx rtistree serve /absolute/path/to/my-art/scene.jsonThe second command starts the MCP server over stdio. See agent setup for a client configuration and SDK integration.
MCP clients receive concise instructions during initialization and can read the full guide
through studioHelp or rtistree://guides/art-direction. CLI agents use rtistree art-guide;
SDK hosts can expose rtistreeAgentInstructions and artDirectionGuide.
The guide covers representative samples, silhouettes, connected anatomy, prop perspective, ground contact and separate technical, functional and visual acceptance. Availability does not guarantee that every client supplies the guidance or every model follows it.
Learn the engine
- Getting started and CLI reference
- Pixel art, sprites and spritesheets
- Agent setup and art-direction workflow
- Scene format and programmable studio
- Staged production and print/export
- Pixel sprite lab — strict 16 × 16 frames, deterministic atlas packing and a verifier
- Recorded asset trial
- Architecture and evidence, changelog, release process
The npm package includes a small runnable starter, documentation and schemas. Larger trials live in the GitHub repository; clone it to reproduce them.
Development
git clone https://github.com/Coly010/rtistree.git
cd rtistree
npm ci
npm run check
npm run demo
npm run package:checkFor website development and contribution guidance, see CONTRIBUTING.md.
Limits and trust
Byte-identical replay is tested on the same pinned runtime and platform; cross-platform Skia byte identity is not promised. The working renderer is 8-bit sRGB. Print exports do not claim PDF/X certification, spot colours or overprint.
Programs and recipes execute trusted JavaScript. The VM is not a security sandbox; normal rendering only reads baked assets. See SECURITY.md.
Rtistree includes neither an LLM nor an automatic visual critic. An agent or human must inspect the images and author honest reviews.
License
Copyright © 2026 Colum Ferry. MIT. Fonts and dependencies retain their own licenses; see third-party notices.
