Skip to main content

Semantic history for agent-driven development. Records what you did and why.

Project description

Intent CLI

中文 | English

Semantic history for agent-driven development. Records what you did and why.

Intent CLI gives AI agents a structured way to track goals, interactions, and decisions across sessions. Instead of losing context when a conversation ends, agents persist their understanding into three simple objects stored alongside your code.

Why

Git records how code changes. But it doesn't record why you're on this path, what you decided along the way, or where you left off.

Today that context lives in chat logs, PR threads, and your head. It works — until the session ends, the agent forgets, or a teammate picks up your work blind.

Intent treats these as a missing layer: semantic history. Not more docs, not better commit messages — a small set of formal objects that capture goals, interactions, and decisions so they survive context loss.

The shift is simple: development is moving from writing code to guiding agents and distilling decisions. The history layer should reflect that.

Three objects, one graph

Object What it captures
Intent A goal the agent identified from your query
Snap One agent interaction — query, summary, feedback
Decision A long-lived decision that spans multiple intents

Objects link automatically: creating an intent attaches all active decisions; creating a decision attaches all active intents. Relationships are always bidirectional and append-only.

How decisions are created

Decisions require human involvement. Two paths:

  • Explicit: include decision-[text] (or 决定-[text]) in your query and the agent creates it directly. E.g. "decision-all API responses use envelope format"
  • Agent-proposed: the agent spots a potential long-term constraint in conversation and asks you to confirm before recording it

Install

# Clone the repository
git clone https://github.com/dozybot001/Intent.git

# Install the CLI (pipx recommended)
pipx install intent-cli-python

# Or using pip
pip install intent-cli-python

Requires Python 3.9+ and Git.

Install the skills.sh skill

npx skills add dozybot001/Intent -g

This installs the intent-cli skill into your global skills library for supported agents such as Codex and Claude Code.

Tip: itt is a new tool — current models have never seen it in training data. Your agent may forget to call it mid-conversation. A short nudge like "use itt to record this" is usually enough to bring it back on track.

This isn't busywork — every record is a semantic asset. An upcoming platform, IntHub, will turn these assets into searchable, shareable project intelligence.

Quick start

# Initialize in any git repo
itt init

# Agent identifies a new intent from user query
itt intent create "Fix the login timeout bug" \
  --query "why does login timeout after 5s?"

# Record what the agent did
itt snap create "Raise timeout to 30s" \
  --intent intent-001 \
  --query "login timeout still fails on slow networks" \
  --summary "Updated timeout config and ran the login test"

# Capture a long-lived decision
itt decision create "Timeout must stay configurable" \
  --rationale "Different deployments have different latency envelopes"

# See the full object graph
itt inspect

Commands

Global

Command Description
itt version Print version
itt init Initialize .intent/ in current git repo
itt inspect Show the live object graph snapshot
itt doctor Validate the object graph for broken references and invalid states

Intent

Command Description
itt intent create TITLE --query Q Create a new intent
itt intent list [--status S] [--decision ID] List intents
itt intent show ID Show intent details
itt intent activate ID Resume a suspended intent
itt intent suspend ID Suspend an active intent
itt intent done ID Mark intent as completed

Snap

Command Description
itt snap create TITLE --intent ID Record an interaction snapshot
itt snap list [--intent ID] [--status S] List snaps
itt snap show ID Show snap details
itt snap feedback ID TEXT Set or overwrite feedback
itt snap revert ID Mark a snap as reverted

Decision

Command Description
itt decision create TITLE --rationale R Create a long-lived decision
itt decision list [--status S] [--intent ID] List decisions
itt decision show ID Show decision details
itt decision deprecate ID Deprecate a decision
itt decision attach ID --intent ID Manually link a decision to an intent

Design principles

  • Agent-first: designed to be called by AI agents, not typed by hand
  • Append-only history: content fields are immutable after creation; correct mistakes in new snaps, don't rewrite old ones
  • Relationships only grow: no detach — deprecate a decision instead
  • All output is JSON: machine-readable by default
  • Zero dependencies: pure Python, stdlib only

Storage

All data lives in .intent/ at your git repo root:

.intent/
  config.json
  intents/
    intent-001.json
  snaps/
    snap-001.json
  decisions/
    decision-001.json

.intent/ is local semantic-workspace metadata. It should stay out of Git history and should remain ignored by .gitignore.

Docs

  • Vision — why semantic history matters. If this project interests you, start here.
  • CLI Design — object model, commands, JSON contract
  • Roadmap — phase plan
  • IntHub MVP — first remote collaboration-layer scope
  • IntHub Sync Contract — first sync, identity, and API contract

License

MIT

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

intent_cli_python-1.2.0.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

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

intent_cli_python-1.2.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file intent_cli_python-1.2.0.tar.gz.

File metadata

  • Download URL: intent_cli_python-1.2.0.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for intent_cli_python-1.2.0.tar.gz
Algorithm Hash digest
SHA256 b5731a7e2e66c7068970ec77c32929334531abaa939798ecf5d6e9e686bce0d5
MD5 a22e294eb2ffb8238d0da6f2941f3142
BLAKE2b-256 d69e01a5df06d7db831a164670fe41991637c22770be17dd76b5e8082f5d1c85

See more details on using hashes here.

File details

Details for the file intent_cli_python-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for intent_cli_python-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 87182b3a63357520024f1b7020db96573005342799d2d5c2a5a3b1accb36c08e
MD5 ca8a2986eb3f7477a6e4a14651f4a538
BLAKE2b-256 81ce70abe68a9f5a29afa2f3ea1d8d296a5b137bfbfa6d6b97080c2a9e7f10bd

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