Skip to main content

ai-baton

中文

Portable, auditable, file-first handoff protocol for AI assistants.

Lets you move between AI tools — Claude Code, Codex CLI, Cursor, or anything else that reads/writes files — on the same long-running project without re-explaining context every time. State lives in plain Markdown + YAML files in your own repo: a memory/ for durable facts and decisions, a status/CURRENT_STATUS.md for what's happening right now, an append-only evidence/ trail, handover/ snapshots, and archive/ for superseded plans. No server, no vector DB, no vendor plugin required — every change is just a git diff.

Requires local filesystem access — this works with tools that run on your machine or have been given access to a folder (Claude Code, Codex CLI, Cursor, Windsurf, Claude Desktop with a filesystem connector, etc.). Plain web ChatGPT or web Claude.ai chat, without file access, can't read PROTOCOL.md at all, regardless of Agent Skills support.

Not the first system aiming at cross-tool AI memory — Mem0, OpenMemory, and Letta solve overlapping problems with a vector store and/or an agent runtime. This makes the opposite trade-off: zero infrastructure and git-native auditability, at the cost of semantic search and automatic extraction. See docs/comparison.md.

Status

Pre-alpha. pip install ai-baton-tool (PyPI distribution name differs from the ai-baton command — an existing unrelated package blocked that name). Working: the spec (SPEC.md), the init / validate / status / list / workspace set / skill install CLI, a default workspace convention (~/ai-baton-workspace/<project-name>/, its root chosen once and remembered via ~/.ai-baton/config.json, discoverable across tools/sessions via ai-baton list), a full worked example (examples/demo-project/), and an Agent Skills skill — ai-baton skill install puts it where Claude Code and Codex CLI look for it, confirmed triggering live in both (a real user test in Codex CLI discovered and ran the skill correctly, though full compliance with every rule — e.g. the canary tag, guided-question UI — wasn't confirmed there). Not yet tested in Cursor. validate also flags well-known credential formats (AWS/GitHub/Slack keys, private key blocks) as a heuristic safety net, not a full secrets scanner, and warns (per-project configurable via .ai-baton.json) when memory/ gets large enough to be a real token cost every session. Bad paths now fail with a plain error message instead of a Python traceback. 40 tests pass locally. Not built: semantic search (by design) and any automated measurement of handoff effectiveness (methodology sketched in docs/metrics.md, nothing wired up).

Quick orientation

License

MIT — see LICENSE.

Download files

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

Source Distribution

ai_baton_tool-0.0.17.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

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

ai_baton_tool-0.0.17-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file ai_baton_tool-0.0.17.tar.gz.

File metadata

  • Download URL: ai_baton_tool-0.0.17.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ai_baton_tool-0.0.17.tar.gz
Algorithm Hash digest
SHA256 2946cbccc4949024991395db9d4cd3879fddb5146812d22011bebdfa18e63067
MD5 9824020010897e6f5bbf24a9d583eea4
BLAKE2b-256 aafae997f8a55cb5e15c97114a9958947e3c0c89383ef216a52fbd61996f5afd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_baton_tool-0.0.17.tar.gz:

Publisher: publish.yml on CilantroFanatic/ai-baton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ai_baton_tool-0.0.17-py3-none-any.whl.

File metadata

  • Download URL: ai_baton_tool-0.0.17-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ai_baton_tool-0.0.17-py3-none-any.whl
Algorithm Hash digest
SHA256 2e3244f3f57a2217ea8198c08f1a727637943ac87bde9c6b938bbe726ee66efb
MD5 70cb16268a3e4cba400b09845a80aa46
BLAKE2b-256 1f5212f441f97c29680531f9667645d95ad7cdff2837b0573ad7b0576d3cb56e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_baton_tool-0.0.17-py3-none-any.whl:

Publisher: publish.yml on CilantroFanatic/ai-baton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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