Litria
Download
ideathe thesiscapabilities16 capabilitiesreleasesv1.1.1downloadwin · mac · linuxinstallunsigned builds
100%

Drag to pan · click a node to open it · click a pill to expand the group

Your code, on a canvas.

A visual desktop IDE for people who think in systems — files are pieces, folders are groups, imports are wires drawn from the code itself.

The map above is this website: every node is a page, and every wire is a real link between two of them, read out of the pages when the site is built. Nobody drew them. Litria reads your imports the same way.

1.1.1Public betaMITWindows · macOS · Linux

The idea

Code is not just text. It is structure, behavior, and relationships. Litria exists to make that reality usable.

Most IDEs are file-and-tab tools with optional diagrams. Litria starts from relationships and composition first, then connects directly to source code. It is not a no-code tool or a diagram maker — the code inside each piece is genuine, exportable, editable code.

It is built for people who want to think in systems: relationships, flows, dependencies, and intent. The goal is not to replace code text, but to make code meaning visible.

Three things that are true

The canvas is not a picture of your project. It is your project.

Structural mirror

Every folder is a group. Every group is a folder.

Empty folders included. Creating a group creates a real directory on disk; deleting one deletes it, with confirmation. Nesting derives from folder containment, so dragging a group carries its whole subtree.

Import discovery

Wires are read from your imports.

On open, existing imports become wires automatically. Draw a wire between two files and Litria writes the real import statement. Imports stay authoritative — the picture cannot drift from the code.

Persistence

Your layout survives the session.

Positions, viewport, groups, connections, tabs, and split panes persist per project in SQLite. Reopen a project and it is where you left it, down to the scroll position of a pane.

What happens to your files

A plain drag moves the canvas. Edit mode moves files.

The canvas writes back to your project, so it should be obvious which actions do. Dragging a node only changes where it sits. Files and folders change when you ask: in edit mode (press E), or by naming, renaming, deleting, wiring, or saving.

Writes to your project
  • Drag a node into another group in edit mode. The file moves into that folder.
  • Name a new group. A real folder is created. Delete a group and its folder goes too, after you confirm.
  • Rename a node or group. The file or folder is renamed on disk. If the file is open, the imports that point at it follow.
  • Draw a wire and pick symbols. Litria writes the import statement.
  • Save. What is in the editor goes to disk. If the write fails, the tab stays unsaved and says why.
Only moves the canvas
  • Open a project. Folders become groups and imports become wires. Reading your imports never writes to them.
  • Drag a node. It lands on the grid. The file stays where it is.
  • Pan, zoom, or collapse a group. Nothing in your source changes.
  • Open tabs and split panes. They are saved with the layout and come back when you reopen the project.

The layout lives in a .litria folder inside the project, not in your source files.

Not yet

Unsaved edits do not survive a crash. Save before you walk away.

On the canvas

Wires route around your code. Groups fold like folders.

  • Nodes land on a grid saved with the project. Flex docks against neighbors; Strict lands only on major intersections. Smart guides show alignment while you drag.
  • Wires route orthogonally around obstacles instead of passing under nodes — one canvas-wide pass, so wires can be spaced against each other.
  • Where several wires share a corridor they separate into lanes; terminals distribute along a face so converging wires never stack on a point.
  • Wires re-anchor to a collapsed group's pill instead of vanishing, and quiet wires hop over loud ones at crossings.
  • Collapsing a group hides its whole subtree; dragging one carries every descendant, and status LEDs aggregate from every descendant including the collapsed ones.
  • Group creation is name-first: a preview box appears, you name it, and parentage is decided by where the box sits.

Themes, live

These are the real presets. Switch one and this page changes with it.

Four built-in themes across two materials, with a Live/Calm energy axis. The switcher in the top bar drives this whole site from Litria's own token values — colour is orthogonal to material, and energy is a render-time lens.

Glassglass · the default
Obsidianglass · smoked
Parchmentmatte · warm light
Terminalmatte · flat green
Notice

Parchment and Terminal drop the blur, the glint, and the glow — that is the matte material dispatch, not a different stylesheet. Terminal also promotes the monospace face to body text. Calm softens rims, dims LEDs, and removes every glow, and it turns on automatically if your system asks for reduced motion.

Built like this

Guards are the enforcement of record.

Litria is one developer's project in public beta. Rather than ask you to take that on trust, here is what is checkable in the repo.

MetricCurrentWhere
Domain modules16contract-checked (registry: docs/Orchestration.md §2)
Architecture guards7imports, app shell, protected zones, domain contract, settings keys, editor engine, db chokepoint
JS tests1497across 139 suites (test/domains/)
Rust tests559plus 11 ignored
ADRs33ADR-031 lives in docs/plans/agent-integration/
Tauri commands84in release builds, 89 in debug builds (registry of record: src-tauri/src/lib.rs)
Workspace DB schemav43 migrations
Theme tokens47v3
Bundled runtimesNode 24.14.0, pyright 1.1.414, ts-ls 6.0.0, ts 6.0.3

Seven build guards enforce import boundaries, the app shell, protected UI zones, domain contracts, settings-key discipline, the seal around the editor engine, and the database chokepoint. When a document and a guard disagree, the guard wins and the document gets fixed — including this table, which is read out of that document rather than retyped here.

Download

Litria 1.1.1 — public beta

New in 1.1.1: Yarn + Angular fix. The release notes say what changed and what is still known to be broken.

  • Windows x64 — the build that gets used daily.
  • macOS (Apple Silicon & Intel) — launched and run by a tester on one machine; broader testing is still needed.
  • Linux x86_64 — the source build passed the parity checklist on Fedora 44; packaged AppImage, deb, and rpm builds have not yet been launched by a human.
  • Known, unfixed: project templates in New Project were tested on Windows only, so on macOS and Linux each one is listed but disabled until it has been tested there. The macOS Dock icon still renders as a black square.

shippednew in 1.1.1known caveatplanned

Before you click

Every artifact is unsigned, so your OS will object the first time. That is expected, it is explained in one page, and there is nothing to work around beyond one dialog.