Vibe coding loses intent.
A great session in Cursor or Claude Code produces working code, but six weeks later, nobody remembers why a particular trade-off was made.
Our open-source CLI, intent-cli, puts this into practice with the coding agents you already use — Claude Code, Codex, Cursor, Copilot, OpenCode. Your intent stays in git, the workflow sends every change to a reviewer that didn't write it, and you keep the decisions.
A great session in Cursor or Claude Code produces working code, but six weeks later, nobody remembers why a particular trade-off was made.
A spec written before implementation drifts the moment the first PR lands. Two weeks later, the spec describes a system that no longer exists.
Run an autonomous agent for an hour and it solves the problem in front of it. Run it for a week and it solves a different problem.
intent-cli doesn't replace your coding agent. Your agent asks it what to do next; it answers with concrete steps and records what happened in git and GitHub.
Intent is kept as small files in git, and each GitHub issue is published from it. A new session — or a new teammate — starts from the recorded intent, not from someone's chat history.
Working alone, every review goes to a fresh subagent. In a team, the review seat checks the PR against intent. You can also require a second runtime — say, Codex reviewing what Claude wrote — before approval.
Tell your agent to ask intent-cli. It never launches an agent; it answers with the next step, validates the result, and makes only bounded, explicit changes to GitHub and its own metadata.
Run one conversation — in the Claude desktop app, Claude Code, or an Orca Run — and it starts its own reviewer subagents. Add seats only when you need several units in flight at once.
We build intent-cli with intent-cli: as of 2026-09-22, 643 of the 891 merged pull requests in its repository are units it cut and tracked, and each PR keeps its review records in public. See an example →
IDD moves the source of truth one layer above code. The why and what to achieve live as durable artifacts that humans curate; the how is handled downstream by humans, agents, or AI as fits the slice.
In modern AI-assisted coding, writing a great issue is the single highest-leverage skill — and that is exactly what a structured intent tree makes possible. Each issue inherits the relevant slice of intent (architecture, contracts, UI patterns) so implementation is straightforward and review compares the PR to intent, not to taste.
It also doesn't assume a finished product in one pass. What gets built is checked against the preserved intent — by the design thread and by a human actually running it — and anything off comes back as a fix packet. Because the original intent of the product owner, designer, and engineer is kept as intent, "did we build what we meant?" stays an answerable question.
intent(why & what)spec(how to build)code(the last mile)IDD and SDD are not competing — they stack.
Last year, the right metaphor for AI coding was the harness — restrain output. With Opus 5-class models, the right metaphor is the Intent Compass: give direction, don't restrict movement.
Read →02 · BranchingGit-Flow optimized for human-paced releases. GitHub-Flow for continuous human review. Git-AI-Flow introduces a buffer between AI velocity and human oversight.
Read →Intent-System is our concrete implementation of Tree-Structured Operational IDD. Where the spec-as-source camp puts spec at the center, we put intent there. We call it Intent-as-source.
If you're writing one-off scripts or throwaway prototypes, Intent-System is overkill. If the code has to live on, even a single developer gets something from it.