CodeDistill

Local-first · Open-core · Runs on your machine

The IDE for a world where agents write the code.

Developers keep notes beside the code, where they drift out of sync and die. As software gets written through LLMs, that lost intent gets expensive. CodeDistill captures intent, ties every change back to it, and keeps the two verified and traceable — instead of drifting apart.

codedistill — local
# drop a thought on the canvas...
"users stay logged in after password reset — session not invalidated"

→ classified  BUG  · project: auth-service
→ criteria   reset must revoke all active sessions
→ verify     go test ./internal/session  (at recorded commit)
→ status     traceable to the change that fixed it

Notes rot away from the code.

Scratch files, a doc folder, a running list of "things to fix." They live beside the code instead of in it — so they drift out of sync and lose their relevance over time.

The intent behind a change — why it was made, what it was meant to satisfy — is exactly what a model (and the next human) needs, and exactly what evaporates first. CodeDistill keeps it attached.

notes.md· last touched 4 months ago
TODO.txt· half of it already shipped
#random slack thread· gone
intent · tied to the commit that satisfied it

Intent in, verified change out.

You supply intent. An agent supplies code. CodeDistill distills the two together — and keeps the receipts.

01

Capture intent

Paste anything — a stack trace, an idea, a half-finished thought — onto a scratchpad canvas. A local model sorts it into todos, bugs, knowledge, and use cases, each anchored to the project it belongs to.

02

Set the bar

Attach acceptance criteria and the commands that prove a change works — your tests, lint, types, scanners. Intent stops being a vague note and becomes something checkable.

03

Agent implements

An agent does the work and records what it did against the intent that asked for it — so the 'why' lives with the code instead of evaporating into a side file.

04

Verified & traceable

Every change is checked against your criteria and test suite and tied back to the request. You see what was done, why, and whether it actually holds.

A scratchpad that sorts itself

Drop messy input on a canvas; a local LLM classifies it into structured, project-anchored work. No forms, no filing.

Runs entirely on your machine

Classification uses your own Ollama instance; storage is a single SQLite file. No cloud, no code leaving the building.

Acceptance criteria + verification

Define what 'done' means, then let it run your tests against the real commit. Green means done — not 'looks right.'

Code-aware, not just notes

Point a project at your repo. It reads git, runs checks at recorded commits, and keeps intent mapped to the code it changed.

Agents move fast. CodeDistill keeps the receipts.

Anyone can generate code. The hard part is knowing what you can trust — and proving it later.

Green is earned, not assumed

“Done” means your tests ran against the actual commit and passed. Not “the agent says it's done” — checked, at the recorded commit, in isolation.

Diagrams that can't lie

The architecture and data-model diagrams are drawn from the real repository — components with no matching code paint red, and every table shows which migration created it. What you see is what exists.

Know what your AI touched

Every agent change traces back to the request that asked for it — and to the exact version of any instruction it followed. When guidance turns out flawed, route everything it produced back for review in one click.

Keep intent with the code.

Start local and free with the Community Edition, or unlock the full toolkit for you and your team.

The store opens soon — leave an email and get exactly one message when it does.