Eidos

Every part of your product, one file you can check.

A blueprint is a plain markdown file: typed properties on top, a body shaped by a template, and a permanent id that tasks and canvas nodes point at. You declare the framework it follows, and eidos check shows where a file has drifted.

Free for macOS, Windows, and Linux. No account, no subscription.

The Resume Playback blueprint open in Eidos: its id B-V63 and its path, a one-line summary, typed properties (variant, status, dates, domain, type, and a Depends On link to Profiles), then the body under the template’s headings, Intent, Assumptions, and Open Questions, with the sections listed down the right.
A blueprint as its file: properties on top, the template’s sections below.

Your framework

A structure you declare yourself

The framework lives in your project. It names the collections you keep (specs, chapters, characters, whatever your work is made of), a template for each variant with its required sections, and a Properties table with types and options. Edit it as forms under Framework settings, or with eidos configure.

  • Collections and variants, named in your words
  • Required sections and typed properties with options
  • Vocabulary and roles, so people and agents use the same words
Framework settings at Templates: the frames and specs variants listed on the left, and the full spec template open in the builder, its sections in order, each with a type and a Required switch, and the intent that tells a writer what belongs there.

The health check

A health check you can act on

eidos check reads every blueprint against your framework. It finds a value outside a property’s options, an empty required property, a work-tracking field, a stale index, or a broken link. The Health Check lists each finding under its file. Fix all supported issues runs every fix the app knows, and asks before renaming a file or changing an id.

  • Errors for what’s wrong, warnings for gaps
  • Whether warnings fail is a project setting, kept in git
  • The same findings in the app, a terminal, and CI
The Health Check with 0 errors and 10 warnings and a Fix all supported issues (5) button. Findings are grouped by file: the framework a version behind the standard, a stale index with Rebuild the index, an undeclared AGENTS.md, and a task file to rename, with Gift Cards’ missing summary, odd status, and linter drifts below.

The Registry

Start from someone else’s framework

The Registry holds frameworks people have published: software, a book, research, a fictional world, a channel, a wedding, and more. Open one in the app to see each piece marked as missing, the same, or different. Include in this project brings in all of it or one collection, and asks before replacing anything that differs.

  • In the app, or eidos install @owner/name
  • Keep current or Accept incoming, conflict by conflict
  • Publish your own with a pull request
The research framework open from the Registry inside Eidos: its Frames and Investigations collections, each variant and role marked Not in this project with an Include button beside it, the README marked as different from the project’s, and Include in this project at the top.

Collections

Every collection is a table

Each collection opens as a table you can sort, filter, and search by any property. Filters live in the address, so a link opens the same view. Save as view keeps one for you or shares it with the project.

The specs collection as a table, grouped by domain, with each blueprint’s summary, status, and type.

Flagged, never refused

Properties are the agreement and sections are guidance. A missing property is flagged and a missing section is offered, but a file is never refused: a check that refuses files gets worked around. A missing section shows greyed where it belongs, with a + to add it.

A permanent id, wherever the file goes

Each blueprint keeps an id such as B-V63. Move it or give it a new id, and every task, comment, canvas node, and link follows. Find anything by id or title from Quick Open.

Set up with your agent

When you make a new project in the desktop app, Set up with AI Agent can have your agent read the folder first, then recommend a framework from the Registry or propose its own. Nothing is written until you review it and press Create project.

How it connects

Everything else points at a blueprint.

No plugin copies what a blueprint says. Each refers to it by its permanent id, and most write what they know back into it.

  • Backlog

    A task serves blueprints by id, and each blueprint lists its tasks under Attached tasks and in a Tasks section.

  • Canvas

    A node is a blueprint drawn live from its file. A sketch becomes one through the same template.

  • Comments

    A thread anchors to a section or an acceptance criterion and is saved at the foot of the file.

  • AI Agent

    The open blueprint goes with each message, and /check runs the health check in the chat.

  • Linter

    One markdown style on every save, with drift reported in the health check.

  • Git

    Every blueprint has its history and a diff, committed with the code it describes.

From the shell

The check, from a terminal

The same findings as the page, with an exit code for CI and --json for an agent. Set a property from the shell, and it’s converted to its declared type and checked as it’s written.

$ eidos check specs/billing/gift-cards.md
Blueprints  (Eidos 5.5.0 · kebab-case)  1 blueprint

specs/billing/gift-cards.md
  ⚠ summary-missing      no `summary`; the collection index will flag it
  ⚠ work-tracking-field  `estimate` is a work-tracking field; a blueprint captures state and intent, not work (link to a tracker instead)
  ⚠ property-option      `status: WIP` is not one of its options (Draft, Intake, In Progress, Done, Archived, Deprecated)
  ⚠ linter/list-marker   one marker for every unordered list; the file drifted (eidos linter --fix)

⚠ 0 errors, 4 warnings
$ eidos property set @B-G24 status Draft
✓ specs/billing/gift-cards.md  status: Draft
  ⚠ summary-missing  no `summary`; the collection index will flag it
  ⚠ work-tracking-field  `estimate` is a work-tracking field; a blueprint captures state and intent, not work (link to a tracker instead)
Read about frameworks and blueprints

Write down what you’re making.

Download Eidos MD, open a folder, and start from the framework closest to your work. You can reshape it all later.

Free for macOS, Windows, and Linux. Your files stay plain text in a folder you own.