Doko Agent indexes your symbols, call sites and config, plans the change against the code that actually exists, and lands it as a diff you can read. Your test command is the referee, not the model's confidence.
You get the branch, the plan it followed, the commands it ran and the one question it could not answer alone.
branch doko/upload-route
revert doko undo --session 8f21
open question: keep the legacy key?
band · ice · what you can audit
§ 02 · Reasoning
One plan, split into its claims.
Every step the agent takes is marked by where it came from: a file it read, a conclusion it reasoned, a convention it matched, or a gap it refused to fill.
Task · ~/acme · upload route
Move the upload route off the legacy S3 client without breaking the signed-URL tests.
I read the route and its tests. Uploads are signed in s3.client.ts and consumed in routes/upload.ts1, so the client swap is local to those two files. Because the signed-URL helper is re-exported, the tests only need the mock path changed2. I kept the existing retry wrapper and your logger rather than introducing a new one3. The old upload keys remain valid for 30 days, so nothing in the bucket needs deleting yet4 — I cannot confirm that from the repo, so it is a question for you.
plan · doko-2.441 files readplanned in 1.9 s1 claim held
Claims
5 found
Signing lives in s3.client.ts, used by the routeroutes/upload.ts · s3.client.ts0.99read
Tests only need their mock path changedreasoned from upload.test.ts0.84reasoned
Kept your retry wrapper and logger.eslintrc · lib/logger.ts0.93style
Old keys stay valid for 30 daysno source in repo · held for you0.08held
npm run check is the referee for this taskpackage.json · doko.toml0.97read
ReadReasonedStyleHeld
§ 03 · Method
Four steps, and none of them skip the reading.
01
Attach
Point it at a checkout. It indexes symbols, call sites and config on your machine; nothing is uploaded to plan a change.
2.1 s index
02
Plan
The task becomes numbered steps that name files and tests. You can edit, reorder or throw the plan away.
6 steps median
03
Write
Edits land as hunks on a branch, in your formatting, with the imports it added called out separately.
branch · hunks
04
Prove
It runs the commands you named and reports their exit codes. A failing check sends it back to step two.
97.4% clean
§ 04 · In the field
A repo carries its own paper trail.
Specs, team process notes, and write-ups older than the framework. The agent reads all of it before it argues for a change — scroll and each document comes forward.
01 · The specIntroduction to Software Engineering · Photo by Rplano on Wikimedia Commons (CC BY 1.0)02 · The processCollaborative approaches from software development · Photo by Birgit Müller (WMDE) on Wikimedia Commons (CC BY-SA 4.0)03 · The old referenceComputer Entertainer 6-8 · Photo by Computer Entertainer (Marylou Badeaux and Celeste Dolan) on Wikimedia Commons (CC BY 4.0)04 · The manualElectric Power Plant Design · Photo by USACE on Wikimedia Commons (Public domain)
before any edit
It reads the spec, not just the code
Requirements, ADRs and the README are indexed alongside the functions. When the spec and the code disagree, that is a question for you, not a guess.
the team's habits
It picks up how you work
Lint rules, commit messages and review notes become constraints. The diff it writes already looks like the ones your team merges.
why the legacy path exists
It reads the history too
Old write-ups and comments explain the odd branch in the upload route. It surfaces the reason before proposing to delete anything.
before it touches a system
It reads the manual for the whole system
Architecture notes and diagrams tell it what depends on the route being changed. A diff that looks local gets planned as the wider change it really is.
§ 04 · The gate
Nothing merges because the model sounded sure.
A session finishes when your own checks exit clean. Wire the agent into CI and a branch that fails them never reaches review.
$ doko run "migrate upload route" --gate
files read 41
steps 6
bands read 38 reasoned 11
style 4 held 1npm run check · 148 tests · exit 0ready for review
It is the first agent we let near a refactor on a Friday, because it showed us the plan before it wrote a line and reverted the whole session with one command.
RHRae HalloranStaff engineer, Northbeam Logistics
Two days after we attached it, it had read every ADR in the repo and stopped proposing the pattern we retired last year.
MOMateo OyelaranPlatform lead, Kestrel Labs
NorthbeamKestrel LabsMarlow & FinchHalden HealthOriel BankCadence Studio
§ 05 · Pricing
Start free. Upgrade when Doko is daily.
Every plan has Doko Auto, effort levels, projects, file attachments, and your full chat history. Higher plans add messages, stronger models, pictures in the chat, and Doko Video: two short videos a month included, then any length or quality from a balance you top up.