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.15.tar.gz (42.6 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.15-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ai_baton_tool-0.0.15.tar.gz
  • Upload date:
  • Size: 42.6 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.15.tar.gz
Algorithm Hash digest
SHA256 cc4fa8fbd1a883216827a703aa4bd2d7b6fe32e94be3d6f41e9a049e4cf62e62
MD5 9b58319b37fa7858332c5cf9d4a504e5
BLAKE2b-256 b78796225fb64009a39979bcb3fe082cc00328fb29c1d55de61c0a967f6623dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_baton_tool-0.0.15.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.15-py3-none-any.whl.

File metadata

  • Download URL: ai_baton_tool-0.0.15-py3-none-any.whl
  • Upload date:
  • Size: 23.1 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.15-py3-none-any.whl
Algorithm Hash digest
SHA256 3d0585555f9736ba8ca8d1306c5534dd880330bc2789b4a8b6928ecda23aa0b7
MD5 0198c508b01ddb65de9d6d432710beb2
BLAKE2b-256 e77d1c856769f615a7bd1519bb16a6f68d4642be3b73a77f0a9d79d46fe8da35

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_baton_tool-0.0.15-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