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.18.tar.gz (44.1 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.18-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ai_baton_tool-0.0.18.tar.gz
  • Upload date:
  • Size: 44.1 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.18.tar.gz
Algorithm Hash digest
SHA256 80b65efe7bb4b329c2cdc485a1d7a8931a4fc672b88f89ad80ab81c0570c1627
MD5 45459ec391d379e61fbe0397829ea105
BLAKE2b-256 4a5ea0b282230f8633a1e78bd6dbcaa5af26fc6189e2553eba0bd2b052c84efc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ai_baton_tool-0.0.18-py3-none-any.whl
  • Upload date:
  • Size: 23.8 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.18-py3-none-any.whl
Algorithm Hash digest
SHA256 80262f21b34d1141457fb02a8954ad8f2628a1098473cb15a78880e87f9bad16
MD5 f2cc6622d96a8fdb42bd9b34a08f143f
BLAKE2b-256 55e51f4931a582b827717ba0b485bfa9a4e61b6f17e3f00357a570fd82532a28

See more details on using hashes here.

Provenance

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