Announcing Orrery v0.1.0

  • 2 min read
  • Tags: 
  • release

Orrery v0.1.0 is out. It's a domain-specific language for creating software architecture diagrams from plain text.

What is Orrery?

Orrery is a text-based diagram language. You write .orr files describing your system architecture, and the CLI renders them to SVG. No GUI, no drag-and-drop — just text that lives in your repository alongside your code.

diagram component;

type Service = Rectangle [fill_color="#e6f3ff", rounded=5];
type Database = Rectangle [fill_color="#e0f0e0", rounded=10];

api as "API Gateway": Service;
auth as "Auth Service": Service;
db as "Users DB": Database;

api -> auth: "Verify";
auth -> db: "Query";
db -> auth: "Result";
auth -> api: "Token";

The name comes from orreries — mechanical models of the solar system that make invisible orbital relationships visible and tangible. Orrery the language does the same for software architecture.

What's in v0.1.0

This initial release includes:

  • Orrery DSL — a text-based language for describing diagrams
  • Component diagrams — nodes, relations, and nesting for system structure
  • Sequence diagrams — participants, messages, activation blocks, fragments, and notes for interaction flows
  • Type system — user-defined types with attribute inheritance and 8 built-in shape types (Rectangle, Oval, Actor, Boundary, Control, Entity, Interface, Component)
  • Layout engines — basic layout for both diagram types, plus Sugiyama hierarchical layout for component diagrams
  • SVG rendering — configurable styling with stroke, text, and color attributes
  • Full parsing pipeline — tokenizer, parser, desugaring, validation, and elaboration with structured error diagnostics (error codes, labeled spans, help text)
  • CLIorrery command-line tool for rendering .orr files
  • Configuration — layered TOML config via CLI flags, project-local files, and platform-specific directories

Install

cargo install orrery-cli

Then render a diagram:

orrery diagram.orr -o output.svg

What's next

The roadmap includes imports, class diagrams, an LSP, editor integrations, and more. Feedback and contributions are welcome.

Licensed under MIT or Apache-2.0, at your option.