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.

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

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 ClaudeWrite 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.