Eidos

Every client project, built the same way. Every sign-off, a version.

Write your studio’s framework once and start every client from it. Scope lives in one spec per deliverable, with Out of Scope in every one; a change request is a decision the client’s approver confirms, and what they signed off is a named version you can open a year later.

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

A scope decision open in Eidos, “Gift subscriptions move to phase two”, confirmed by the client’s approver, Dana Whitfield, with her comment asking for a separate quote and the delivery lead’s reply recording the signed scope as version 1.1.0.
A change request on the record: what moved, why, and who on the client side confirmed it.

Sound familiar?

Scope is whatever someone remembers agreeing to.

The statement of work is signed and frozen. The real scope moves in calls, emails, and tickets.

  1. Scope creeps one reasonable yes at a time

    Every small extra made sense on the call. Together they ate the margin, and by the end nobody agrees on what was originally in scope.

  2. “What did we agree?” is buried

    Five people on the client side can ask for changes and nobody has final approval. The answer is in an email thread, or in the head of whoever was on the call.

  3. Every client starts from zero

    Each project copies last year’s template, which drifts a little every time. People moving between clients relearn the structure, and so does every new agent session.

How it fits

One framework for the studio, one root per client.

Start from the software framework and shape it into your studio’s own: the frames your brief asks for, the sections every spec must have, your roles. Then every new client project starts from it, in that client’s repository.

Frames
The brief: who it is for, the budget, scope, and timeline, the architecture, and the market.
Specs
One per deliverable, grouped by area, with Acceptance Criteria and Out of Scope in every one.
Scope decisions
Each change request, made for the specs it touches, confirmed by the approver you named.
Versions
A name for the commit a client signed off: the proposal, the phase, the change request.
Tasks
The delivery work on a board, each pointing at the spec it serves.
Framework Settings in Eidos, on the Templates page: the spec template’s sections as forms, Out of Scope among them, each with its intent and a Required switch.

What you will use most

The pieces that keep scope on the record.

  • Blueprints

    Your framework, published

    The collections, templates, properties, and roles your studio works in, installed into every new client project with one command or one click.

  • Git

    Sign-off is a version

    Record a version naming the commit the client approved, tagged in the repository. Open the root as it was at that moment, whenever the question comes back.

  • Decisions

    Change requests on the record

    A Scope decision for each change, assigned to the client’s approver. Confirming it stamps their name and the date on the decision and in the spec.

  • Comments

    Questions where they belong

    A question about a criterion is a thread on that criterion, not an email. Close it once it is answered; it stays in the file.

  • Backlog

    Delivery beside the scope

    Tasks on a board, each naming the spec it delivers, exported to CSV or Excel for the client report.

  • AI Agent

    Handovers that hold

    A developer joining the project, or their coding agent, reads the specs and the decisions instead of a month of email.

What the client signed off

A named version for every sign-off

When the client approves, record a version: a name for that commit, with a tag in the repository if you want one. The proposal, phase one, and each change request become rows you can point to, and the check tells you if a tag ever moves away from the commit it named.

  • Record a version from the app or with eidos version record
  • Tags are made in your repository and never pushed for you
  • A version names the commit; git already holds every file
The Versions page in Eidos: three versions of a client project, 0.1.0, 1.0.0, and 1.1.0, each with its commit, its date, and its tag.

Out of Scope, written down

Every spec says what it will not do

Out of Scope is a section of the template, not an afterthought, and the decisions made for a spec are listed in the spec itself. “I thought that was included” meets a line that says it is not, and the name of whoever agreed.

A feature spec in Eidos scrolled to its Out of Scope list and its decisions, two confirmed and one waiting to be confirmed.

One framework, every client

Publish it once, install it everywhere

Keep the framework in a repository of your own and install it from there into each client project, or start from the last client’s setup without any of its content. To share it, publish it to the Registry: a pull request to the Registry on GitHub, one manifest pointing at a tagged root, and anyone installs it as @your-studio/name.

$ eidos install your-studio/delivery@v3 --path framework
$ eidos install ../northwind/Blueprints --setup-only
$ eidos install @your-studio/delivery

Start here

Start from the software framework, then make it yours.

Frames for the brief and specs for the deliverables, with Out of Scope in every template. Shape it in Framework Settings until it reads like your studio, publish it, and every client after that starts from your own.

An app, a service, or a system

Software@BuildableWorks/software

Frames for architecture, audience, criteria, and market, and specs grouped by domain.

  • Frames
  • Specs
$ eidos install @BuildableWorks/software

In the app: New Root, then pick it from the list.

See it in the Registry

Start the next client from your own framework.

Download Eidos MD, shape the software framework into your studio’s, and record the first sign-off as a version.

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