Eidos

The discussion stays on the line it is about.

Start a thread on a heading or an acceptance criterion and it stays there while the text around it changes. People and agents reply, each signed as themselves, and every thread is written into the file as plain markdown, so it shows in the diff and in what your agent reads.

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

Comment threads at the foot of the Resume Playback blueprint. One is anchored to Functional › AC3: Tomás Reyes asks whether every film carries a credits marker, Claude answers and offers to add an acceptance criterion, and Maya Okafor says yes. Reactions sit under each message, and each thread has Close and Reply.
Anchored to AC3: a question, the agent’s answer, and the owner’s call, each signed.

Everywhere

One list of every open thread

Threads sit on blueprints, top-level docs, tasks, decisions, and canvas pages. The Comments activity lists every open one in a table, with what it is on, who started it, and the last word, and opens the page at the thread. For me keeps the threads you wrote in or are mentioned in.

  • Filter by status, host, author, mention, or anchor
  • Closed and orphaned threads one click away
The Comments activity: four open threads in a table, three on the Resume Playback blueprint (at AC3, Out of Scope, and Open Questions) and one on decision D-X37, each with who started it, the last message, and its count. The sidebar lists the threads for me.

In the file

Readable in the file, and in git

Each commented file carries its threads at the foot of its body, open and closed alike, between two markers the plugin keeps. A reviewer sees the discussion in the diff, and an agent that reads the blueprint reads what was asked about it. A comment is a save of the file, so it lands in history like any other change.

$ tail -n 11 specs/playback/resume-playback.md
### Functional › AC3 (t-nx5dwq)
- **Tomás Reyes** (developer) · 2026-10-07 05:31 UTC
  Does every film carry a credits marker, or only the ones ingested since the new pipeline?
- **Claude** · 2026-10-07 05:31 UTC
  Only films ingested since August carry one, about 60% of the catalogue. For the rest, T-R08 can treat the last five minutes as finished. Want me to add that as AC5?
- **Maya Okafor** (project-manager) · 2026-10-07 05:31 UTC
  Yes, add it. Five minutes is fine for now.
- **Claude** · 2026-10-07 05:39 UTC
  Added as AC5.
<!-- /comments:threads -->

Anchored to content, not line numbers

A + beside a heading or an acceptance criterion starts a thread there. The thread points at that text, not at a line, so an edit above it moves nothing. When the text is gone, the thread is shown orphaned for you to re-anchor, close, or delete, never quietly attached to something else.

Reactions and @mentions

React with as many emoji as you like; each reaction shows its count and, on hover, who reacted. Type @ to mention someone from the root’s users, and the thread waits for them under For me.

Agents sign as themselves

An agent replies in a thread under its own name, never as the person it works for. The AI Agent signs as its own user, and from a terminal an agent passes --as with its alias; a name that is no user in the root is refused.

How it connects

A thread can sit on anything a plugin shows.

  • Blueprints

    A thread points at a blueprint by its permanent id and at a section by its heading, so a renamed file never strands it.

  • Backlog

    Threads at the foot of any task.

  • Decisions

    A thread on a decision is how someone is asked about it before they confirm.

  • Canvas

    Comment pins on a node or a page ride with the node when it moves.

  • AI Agent

    The agent reads a blueprint’s threads with it and replies signed as the agent, never as you.

  • Git

    A message is signed with the git identity matched to a root user, and every thread is in the file’s history.

From the shell

Threads, from a terminal

How an agent reads the threads on a blueprint before it edits, then answers one as itself.

$ eidos comments @B-V63
blueprint B-V63  (3 threads)
  t-7pk5cv  Out of Scope
    Tomás Reyes (developer) · 2026-10-07 03:50
      Do we need to say anything about a film the viewer removed from their history? Right now it would still resume.
      👍 1
    Maya Okafor (project-manager) · 2026-10-07 03:50
      Good catch. Removed history stays removed; I added it to Out of Scope.
  t-nx5dwq  Functional › AC3
    Tomás Reyes (developer) · 2026-10-07 05:31
      Does every film carry a credits marker, or only the ones ingested since the new pipeline?
…
$ eidos comments add @B-V63 "Added as AC5." --reply t-nx5dwq --as claude
✓ replied on t-nx5dwq (blueprint B-V63) as Claude
Read the Comments 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.