Dinah
These days a lot of my work gets done by AI agents, and I found that the hard part isn't getting an agent to write code. The hard part is the same thing that's hard with any team: making sure whoever picks up a task knows what's expected of it, without my having to explain it every single time. Dinah is the tool I built to solve that. I use it for software development, for personal productivity, and for life in general.
The name is a recursive acronym: Dinah Is Not A Harness. Dinah coordinates the work. Running the agents and calling the models is left to whatever tool you already use for that.
Plain files
A Dinah board, which I call a workbench, is just a folder of Markdown files. Each task is a card, and the columns are the stages a card moves through. There's no server, no database and no account to sign up for. You can read the files, edit them, search them, and commit them to git alongside the code they describe.
How the work flows
- Work is pulled by whoever is ready, rather than assigned by whoever is busy. A person or an agent claims a card, moves it along, and releases or blocks it, and those few verbs are the whole contract.
- Each column carries its own instructions, so a card in Review tells whoever claims it how reviewing is done here. The instructions come in layers, for you, for the workbench, and for the column.
- Every answer Dinah gives names the moves you're allowed to make next, so nobody has to guess.
- Checklists on a card, such as acceptance criteria, open questions and decisions, act as gates that hold it in a column until they're settled.
- Every move lands on a permanent record.
Ways in
Dinah is a command-line tool first. It also has a terminal interface, a VS Code extension with a board in the sidebar, and a built-in MCP server, so AI agents can use the same verbs as the humans. The interface is available in English, Hindi and German. I'm also starting on DinahVisor, a desktop app for it.
Details
- Written in Go, for Windows, macOS and Linux.
- Installs with a one-line script that checks each download's hash, or builds from source.
- Still early: the current builds are development releases.
- Licensed under Apache 2.0.
The code and the releases are on GitHub: github.com/paulmooreparks/dinah.