Semantic history for agent-driven development. Records what you did and why.
Project description
English | 简体中文
Intent
Git records code changes. Intent records why.
The Problem
Agent-driven development produces code fast, but reasoning disappears between sessions. Every new session starts from zero — the agent doesn't know what problem was being solved, what was tried, or why a path was chosen.
What's Missing
Git records what changed. Commit messages and comments add some context. But three things consistently fall through:
Goal continuity. Commits are isolated snapshots. There's no structure connecting five commits to one task, or saying "this is what we're trying to accomplish."
Decision rationale. Why JWT over cookies? Why 15-minute expiry? This rarely makes it into commit messages — and when it does, it's unstructured text that agents must parse and guess from.
Work state. git status can be clean while a task is half-done. The next session has no signal that work was interrupted or what comes next.
The Solution
Intent adds a .intent/ directory to your repository — structured, machine-readable metadata that captures semantic history alongside code history.
.git/ ← how code changed
.intent/ ← what you were doing and why
Two objects: intent (the goal) and snap (a step taken, with rationale). All JSON. Any agent platform can read it.
What changes
Without .intent/ — new agent session opens. It reads git log and source code. Understands what the code does now, but doesn't know the JWT migration was for compliance (might revert it), doesn't know the refresh token is intentionally incomplete, can't tell there's unfinished work. Asks: "What would you like me to do?"
With .intent/ — new agent session opens. Runs itt inspect. Sees an active intent ("Migrate auth to JWT"), last snap ("Add refresh token — incomplete"), and rationale ("token rotation not done, security priority"). Says: "I'll implement the token rotation next."
The difference: 10 seconds of reading structured metadata vs. minutes of re-explaining context.
Core Loop
start → snap → done
start— open an intent (what problem you're solving)snap— record a snap (what you did and why)done— close when complete
Example
itt init
itt start "Fix login timeout"
itt snap "Increase timeout to 30s" -m "5s too short for slow networks"
git add . && git commit -m "fix timeout"
itt done
Where This Is Going
.intent/ is a protocol, not just a tool.
- Agent memory — agents read
.intent/on startup, recover last session's context in seconds - Context exchange —
.intent/becomes the standard way to hand off work between agent platforms - Network effects — when enough repos contain
.intent/, new tooling emerges: intent-aware review, decision archaeology, semantic dashboards
Install
pip install git-intent
Or from source:
git clone https://github.com/dozybot001/Intent.git && cd Intent
pip install -e .
Commands
| Command | Purpose |
|---|---|
itt init |
Initialize .intent/ in a Git repo |
itt start <title> |
Open an intent |
itt snap <title> [-m why] |
Record a snap |
itt done |
Close the active intent |
itt inspect |
Machine-readable workspace snapshot |
itt list <intent|snap> |
List objects |
itt show <id> |
Show a single object |
itt suspend |
Suspend the active intent |
itt resume [id] |
Resume a suspended intent |
itt adopt [id] |
Adopt a candidate snap |
itt revert |
Revert the latest snap |
Documentation
- CLI spec — objects, commands, JSON output contract
- Agent integration — copy-paste snippets for Claude Code, Cursor, AGENTS.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file git_intent-0.3.2.tar.gz.
File metadata
- Download URL: git_intent-0.3.2.tar.gz
- Upload date:
- Size: 12.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abe0aadfa7ad4f3ed45255bedc3dfdbca96ad361097c2e07f57e6046017fb4d0
|
|
| MD5 |
f751b07761b2eca7b8952d6cfd7d0118
|
|
| BLAKE2b-256 |
c1b6fe764728c3fb9b5dd3fab67f9b4ad3f305c93d60d737984110060b2a457d
|
File details
Details for the file git_intent-0.3.2-py3-none-any.whl.
File metadata
- Download URL: git_intent-0.3.2-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3a46e769432c8f619e8f21fca93dbe47a4af8c705c9832c4b686b9905e8ad6e
|
|
| MD5 |
0f6b291532a5df2334d657d7f1a58583
|
|
| BLAKE2b-256 |
bb358efd0ed1c38e297554f0f8016da65e68856bf8295da7ec1f763ed4ad73cb
|