Eidos

One markdown style for everyone, people and agents.

House rules for headings, lists, emphasis, and spacing, applied every time a file is saved, the same on every machine. Whoever wrote it, you, a teammate, or an agent, the file comes out in one shape, so a diff shows what changed in meaning and nothing else.

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

The Linter settings page: an on-save rule that sets Date Modified to today, one file listed under Drift with the rules it breaks and a Lint every file button, and the rules below, each with a switch.
The rules are the root’s, so every machine and every agent applies the same ones.

The rules

Form, never meaning

Fourteen rules cover what markdown lets people disagree about: one marker for every list, _emphasis_ or *emphasis*, one top heading and no skipped levels, blank lines around headings and code, no trailing spaces, and bare links wrapped so they work. Each one is a switch or a choice on the plugin’s page.

  • Frontmatter, code blocks, and the regions a plugin writes are left byte for byte
  • On in every new root, with defaults that match what the standard’s own starter frameworks write
  • Shared with the root, so nobody lints to their own taste

On save

Dates that keep themselves

An on-save rule names a date property and sets it to today, or to the time, whenever a blueprint is saved: from the page, from eidos property set, or by a plugin. date_modified stops being something people forget.

Drift

Caught when it comes from outside

A file written in your own editor, by git, or by an agent that skipped the CLI is not linted as it is written. The health check is what catches it: each broken rule is a warning on the file, with Lint beside it as the fix, and Lint every file settles the whole root at once.

The Health Check with a spec that drifted: trailing whitespace, a skipped heading level, a heading ending in a colon, the wrong list marker, a bare URL, and doubled blank lines, each with a Lint button beside it.
A spec edited outside the app, flagged rule by rule, each with its fix.

How it connects

The quiet part of keeping files trustworthy.

  • Blueprints

    Drift shows up in the health check as linter/<rule> warnings, beside the framework’s own findings.

  • AI Agent

    An agent that writes through eidos gets the house style for free; one that writes the file directly is caught by the check.

  • Git

    One form for every file keeps diffs to what changed, not to how someone’s editor spaces a list.

  • Comments

    The threads Comments writes into a blueprint pass through the same rules.

From the shell

The same rules, from a terminal

eidos linter lists what the rules would change, and --fix writes it and nothing else: no on-save rule runs, so a whitespace fix never bumps a date.

$ eidos linter configure:on-save set date_modified today
✓ date_modified set to today on save (.eidos/plugins/linter/settings.yaml)
$ eidos linter
✗ specs/discovery/watchlist.md  trailing-whitespace, heading-levels, heading-punctuation, list-marker, bare-urls, blank-lines, heading-blank-lines

1 file drifted; eidos linter --fix settles them
$ eidos linter --fix
✓ specs/discovery/watchlist.md  trailing-whitespace, heading-levels, heading-punctuation, list-marker, bare-urls, blank-lines, heading-blank-lines
$ eidos linter
clean: 14 files as the rules would write them
Read the Linter docs

Write down what you’re making.

Download Eidos MD, open a folder, and start from the framework closest to your work. Everything it gives you can be reshaped later.

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