AI builds it.
You sign it off.
Your AI agent says the feature is done. DoneMark shows you whether it is, with four proofs on every line you asked for, read from your own tests. You judge without reading code.
Works with your GitHub, your agent and your own key. GitLab is next.
Your AI says “done”. Is it?
Six steps. Two of them are yours.
Say what done means
A few “done when” lines in plain words. DoneMark can draft them; you approve.
It builds
Your agent, your key, in your own GitHub Actions. It shows each check failing first.
Reads the proof
From your test runs, never from the agent's report. Four proofs per line.
Sign it off
Or say “Not quite”, and your words go back to the agent.
Watches it go live
Checks that the version running is the one you signed.
Keeps it true
Re-tests live features at night and tells you when one breaks.
A check that never failed tells you nothing.
Tests written by an AI can pass without testing anything. So every line you asked for is checked four ways. What DoneMark cannot measure is shown as a dashed square, never as green.
Failed before
We run the check on the code as it was before the change. It has to fail there. A check that passes on the old code too was never testing the new feature.
Catches: a test that asserts something always true, such as true === true.
Who said it matters.
The agent says
“Done, all tests pass.” Kept and labelled as its word. Never used as proof.
DoneMark sees
What your CI actually ran, read by DoneMark itself, line by line.
You decide
Signed with your name and your reason, dated, and sealed. Nobody can edit it afterwards.
Everyone sees what they need first.
A solo dev wears every hat and gets one Today list. In a team, each person picks their hats and lands on what is theirs.
What DoneMark is not.
Pay for the people who sign.
Readers are always free, so a client or a founder can open every record. You bring your own AI key and your own CI, and we never mark up tokens.
Billing opens soon. Until then every plan is free, and you will get 14 days' notice before anything is charged.
Open
For public repositories.
- Unlimited public projects
- 1 judge
- Public records anyone can read
- A “signed with DoneMark” badge coming
Solo
For one builder with private work.
- 3 private projects
- 1 judge, every hat
- Starter templates: web, phone, service
- Email when something waits for you
Team
For small teams and studios.
- Unlimited private projects
- Readers free, even without GitHub
- Costs, attempt by attempt
- Invite a client as judge
Company
For larger teams and audits.
- SSO and audit export
- Your own region
- Support agreement
- Everything in Team
When billing opens: a 14-day trial of Team for private work, no card. If you do not choose a plan, public work stays free, and your private records stay readable and signable; only starting new AI work pauses.
Asked before you sign up.
Do I need to read code?
No. You read plain lines and four proofs per line. If you do read code, nothing stops you.
Which AI agents work with DoneMark?
The agent runs in your own GitHub Actions with your own key. We build DoneMark with Claude Code every day.
Where does my code live?
In your GitHub repository. The GitHub app DoneMark asks for can read, not write, your code. DoneMark reads what your CI publishes and keeps the record of who decided what. Your AI key stays in your GitHub secrets; DoneMark never sees it.
Which stacks are supported?
Existing repositories in Node, Python, Elixir, Go and Ruby. Starter templates for a Next.js web app, an Expo phone app and an Elixir service. GitLab is next.
What happens when something cannot be measured?
DoneMark says so on the page, as a dashed square. You can still sign off, and the record keeps that the line was not measured.
Who pays for the AI and the CI?
You do, directly, with your own key and your own GitHub Actions minutes. DoneMark's price is only for DoneMark.
Sign off your first feature today.
Connect a repository, write one “done when” line, and let your agent build it. Setup takes about ten minutes of your attention; the rest is your CI working.