Skip to main content

AI development session recorder — save and sync sessions to GitHub

Project description

session-zoo

English | 中文

Save and sync your AI development sessions to GitHub.

session-zoo automatically discovers sessions from AI coding tools (Claude Code, Codex, etc.), generates AI summaries, and syncs everything to a GitHub repo — raw data preserved for cross-device migration, plus readable Markdown for review.

session-zoo demo

Features

  • Auto-discover sessions from ~/.claude/ (Claude Code adapter built-in)
  • AI Summarize using existing Claude/Codex CLI (no API key needed) or Anthropic API
  • Git Sync raw JSONL + metadata + Markdown summaries to GitHub
  • Cross-device restore — clone on a new machine, restore sessions to ~/.claude/ for /resume
  • Tag & Search sessions by project, tool, date, or custom tags
  • Extensible adapter pattern — easy to add support for new AI tools

Quick Start

Install

pip install session-zoo

Or install from source:

git clone https://github.com/AndsGo/session-zoo.git
cd session-zoo
pip install -e .

Setup

# Initialize
zoo init

# Set your GitHub repo for syncing (create an empty repo first)
zoo config set repo git@github.com:yourname/my-sessions.git

Basic Workflow

# Import sessions from Claude Code
zoo import

# List all sessions
zoo list

# View session details
zoo show <session-id>
zoo show <session-id> --markdown

# Generate AI summary (uses installed claude/codex CLI automatically)
zoo summarize <session-id>

# Tag sessions for organization
zoo tag <session-id> bugfix security

# Sync everything to GitHub
zoo sync

Cross-Device Restore

On a new machine:

zoo init
zoo config set repo git@github.com:yourname/my-sessions.git
zoo clone      # Clone the session repo
zoo reindex    # Rebuild local index from repo
zoo restore    # Restore .jsonl files to ~/.claude/ for /resume

Commands

Command Description
zoo init Initialize configuration
zoo config show/set View or set config (repo, ai-key, ai-model)
zoo import Import new sessions from AI tools
zoo list List sessions (filter by --project, --tool, --tag, --since)
zoo show <id> Show session details (--raw, --markdown)
zoo search <query> Search sessions by summary content
zoo tag <id> [tags...] Add/remove tags
zoo tags List all tags with counts
zoo delete <id> Delete a session from index
zoo summarize [id] Generate AI summaries (--provider auto/claude-code/codex/api)
zoo sync Sync sessions to GitHub (--dry-run)
zoo clone Clone session repo to local
zoo reindex Rebuild SQLite index from repo
zoo restore Restore session files to tool directories

Summarization Providers

zoo summarize supports multiple providers, auto-detected by priority:

  1. claude-code — Uses installed claude -p CLI (no API key needed)
  2. codex — Uses installed codex -q CLI (no API key needed)
  3. api — Uses Anthropic API directly (requires zoo config set ai-key <key>)
# Auto-detect (uses whatever is available)
zoo summarize <id>

# Force a specific provider
zoo summarize --provider claude-code <id>
zoo summarize --provider api <id>

GitHub Repo Structure

your-sessions-repo/
├── raw/claude-code/my-project/
│   ├── <session-id>.jsonl          # Raw session data (preserved as-is)
│   └── <session-id>.meta.json     # Metadata (tags, summary, cwd)
└── sessions/my-project/2026-03-10/claude-code/
    └── <session-id>.md            # Readable Markdown summary

Adding Adapters

session-zoo uses an adapter pattern to support different AI tools. Currently supported:

  • Claude Code (~/.claude/projects/)

To add a new adapter, implement discover(), parse(), and get_restore_path(). See CONTRIBUTING.md for details.

Requirements

  • Python 3.12+
  • Git
  • (Optional) claude or codex CLI for summarization without API key

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

session_zoo-0.1.1.tar.gz (183.1 kB view details)

Uploaded Source

Built Distribution

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

session_zoo-0.1.1-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file session_zoo-0.1.1.tar.gz.

File metadata

  • Download URL: session_zoo-0.1.1.tar.gz
  • Upload date:
  • Size: 183.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for session_zoo-0.1.1.tar.gz
Algorithm Hash digest
SHA256 766173adcd4109c0c6a2b6d16bdb86e0b345714f1e33077776d1ea729e9abd19
MD5 904137a5d4c275a6dc4bafe477623cc4
BLAKE2b-256 0c9570916d1828605864a3dc21b8b74450a3af9b5a6e82bc3c1b63298937c3f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for session_zoo-0.1.1.tar.gz:

Publisher: publish.yml on AndsGo/session-zoo

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

File details

Details for the file session_zoo-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: session_zoo-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 25.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for session_zoo-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 526b8659cca6f5f7a8b47a0599a8b285d17541581fb9b580ddf34c9b90886a1f
MD5 50365d293a851ca70c011cd1b849cb21
BLAKE2b-256 ef37cb5627c4eed0cd22d2ffd8c3dec6662b3935018305a880e4765384c8081c

See more details on using hashes here.

Provenance

The following attestation bundles were made for session_zoo-0.1.1-py3-none-any.whl:

Publisher: publish.yml on AndsGo/session-zoo

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