Skip to main content

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.

  1. Agent memory — agents read .intent/ on startup, recover last session's context in seconds
  2. Context exchange.intent/ becomes the standard way to hand off work between agent platforms
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git_intent-0.3.2.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

git_intent-0.3.2-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

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

Hashes for git_intent-0.3.2.tar.gz
Algorithm Hash digest
SHA256 abe0aadfa7ad4f3ed45255bedc3dfdbca96ad361097c2e07f57e6046017fb4d0
MD5 f751b07761b2eca7b8952d6cfd7d0118
BLAKE2b-256 c1b6fe764728c3fb9b5dd3fab67f9b4ad3f305c93d60d737984110060b2a457d

See more details on using hashes here.

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

Hashes for git_intent-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f3a46e769432c8f619e8f21fca93dbe47a4af8c705c9832c4b686b9905e8ad6e
MD5 0f6b291532a5df2334d657d7f1a58583
BLAKE2b-256 bb358efd0ed1c38e297554f0f8016da65e68856bf8295da7ec1f763ed4ad73cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page