Ship intent, not code.
A practical paradigm for the age of vibe coding. Document your intent precisely — Why, What, Not — and delegate everything else to AI.
Intent Engineering is the discipline of capturing what to build and what not to build in a single markdown file (INTENT.md), then letting AI handle implementation, verification, and deployment.
It's not a framework. It's not a tool. It's a file and a discipline.
# INTENT — [Project Name]
> status: seed | exploring | clarified | dropped
## Why ← Why does this exist?
## What ← What are we building?
## Not ← What will we never do?Why defines the reason this project exists. In early stages it's a hypothesis; once validated, it's conviction.
What describes features and user flows concretely, without prescribing implementation.
Not sets hard boundaries AI must not cross — security, scope, quality bars.
Intent evolves by rewriting these three sections, not by appending a log. When an experiment teaches you something, change the line in Why, What, or Not that it contradicts, and put what you learned in the commit message. INTENT.md always states current intent; git log -p INTENT.md holds the path that led there.
Intent evolves through four states:
seed → exploring → clarified → build
│ │ │
└────────┴────────────┴──→ dropped
- seed: Just an idea. Write a hypothesis, start experimenting.
- exploring: Actively validating through prototypes, interviews, research.
- clarified: All sections filled with conviction. Ready to build.
- dropped: Evidence says stop. Say why in the commit — that knowledge is valuable.
- Create
INTENT.mdat your project root - Pick your starting state (seed / exploring / clarified)
- Fill in Why. Be honest about What and Not — mark unknowns with
(?) - Explore, then rewrite Why/What/Not with what you learned (reason goes in the commit). Or drop when evidence says so.
- Once clarified, hand off to AI.
Full guide: intent.roboco.io (or see docs/)
MIT