Skip to main content

Cross-engineer Claude Code context sharing — type /share, your teammate queries your context.

Project description

teammate-sync

Cross-engineer Claude Code context sharing. Your teammate types /share in their Claude Code session. From your own terminal, your Claude can ask theirs anything and gets back a cited answer in seconds.

No pasted transcripts. No GitHub pushes. No shared bucket setup.


The problem

You and your teammate are both using Claude Code on the same project. You need to know what they decided about the database schema, or which file they touched, or why they picked one library over another.

Today, two bad options:

  1. Ping them on Slack and wait. Forty-five minutes of context-switching.
  2. Get them to send their session transcript. Their .jsonl is 50k lines. You paste it into your Claude and immediately blow past the 200k token context window.

teammate-sync is the third option: their Claude becomes a queryable context server. Your Claude calls it, gets back a cited synthesis, your context window stays clean.

Install

pipx install teammate-sync
teammate-sync init
teammate-sync daemon

That's it. Full setup walkthrough: INSTALL.md.

(Don't have pipx? brew install pipx && pipx ensurepath, one-time. We recommend pipx over plain pip because it isolates the install in its own venv and puts the binary on your PATH — plain pip install fails on modern macOS Python with PEP 668.)

init opens GitHub OAuth (your workspace = your GitHub org, no separate account), installs the /share slash commands into ~/.claude/commands/, wires session lifecycle hooks into ~/.claude/settings.json, and registers the MCP server. daemon runs in the foreground in a terminal you leave open.

How sharing works

/share                              in any Claude Code session

Daemon log immediately prints share-mode ACTIVATED -> uploading. That session's .jsonl plus your CLAUDE.md start syncing to your team's backend in real time as you work.

/unshare                            same session

Daemon wipes that session's content from the backend immediately.

/shared                             any session

Lists which sessions are currently shared.

How teammates query you

From any Claude Code session in your org, your teammate types:

Use mcp__teammate-sync__query_teammate_context with teammate=<your-github-handle> and question="..."

The MCP server pulls your active-session state + your shared session transcripts, hands them to a Claude Sonnet synthesis call, and returns a cited answer. Citations point to specific session IDs and file names so they can verify.

Privacy model

Default: nothing is shared. The daemon is running but idle.

  • Sessions are opted in one at a time via /share. Unshared sessions never leave your machine, no matter how many you have running.
  • Your GitHub OAuth token sits in ~/.teammate-sync/auth.json (mode 0600) and is never in the synced tree.
  • Your org is the unit of trust. Only members of your GitHub org can query you. Discovery happens via the GitHub API, no manual invites.

What syncs where

Path What it holds Synced to cloud?
~/.teammate-sync/auth.json Your GitHub OAuth token NEVER (local only)
~/.teammate-sync/state/.shared-sessions.json List of currently-shared session IDs No (local gate)
~/.teammate-sync/state/.active-sessions.json Which sessions are active right now (cwd, last activity) Yes
~/.claude/projects/<encoded-cwd>/<sid>.jsonl Claude Code session transcripts Only /share'd ones

CLI

teammate-sync init First-run setup. Re-runnable to refresh hooks / slash commands.
teammate-sync daemon Run the sync daemon (foreground).
teammate-sync share / unshare / shared Same as the slash commands, from any shell.
teammate-sync whoami Show your identity + workspace.
teammate-sync teammates List members of your workspace org.
teammate-sync logout Delete ~/.teammate-sync/auth.json.

Requirements

  • Python 3.11+
  • Claude Code CLI
  • ANTHROPIC_API_KEY exported in your shell (used by the MCP server's synthesis calls)

Status

Public beta. Backend runs on Fly.io (Singapore region, single-region by design — synthesis latency is dominated by Anthropic API not by storage). Per-session opt-in (/share / /unshare) is the privacy model; there is no "everything sync" mode and there won't be.

License

MIT — see LICENSE if present, or pyproject.toml.

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

teammate_sync-0.1.2.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

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

teammate_sync-0.1.2-py3-none-any.whl (30.9 kB view details)

Uploaded Python 3

File details

Details for the file teammate_sync-0.1.2.tar.gz.

File metadata

  • Download URL: teammate_sync-0.1.2.tar.gz
  • Upload date:
  • Size: 28.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for teammate_sync-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4974e58c735e8416215d7a0fa1cb621096dd67cc8a7e36f1754f4268bb206689
MD5 1a8a9365615d9d6c8f7c43e785207409
BLAKE2b-256 961bc32af3caa9af4cf2653ff3991f2081cca3ac6dbde9c5fd786a94b22206ed

See more details on using hashes here.

File details

Details for the file teammate_sync-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: teammate_sync-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 30.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for teammate_sync-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2e0b5736b1bc5cfadc61b4b8d6b675ba06fc81d0c43a8c72f619c80a2c03f45c
MD5 29cc9c6b8b572181288f3317ee344b6c
BLAKE2b-256 0356d8e47ffe3041d53ed9cf00ce24d55106143ba6d51767a2380efa7f5c7a69

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