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.2.tar.gz (183.4 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.2-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: session_zoo-0.1.2.tar.gz
  • Upload date:
  • Size: 183.4 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.2.tar.gz
Algorithm Hash digest
SHA256 ef310e013866a4ba31d1eed02c0f1ab856a20c4e0bbf21d863e46123285d188b
MD5 973e0566ba0c6623c6b7620311f79839
BLAKE2b-256 59a6aa2d1fbaf2a9335593312806337e5f7f7f1e64476d87cc1fd9364063a225

See more details on using hashes here.

Provenance

The following attestation bundles were made for session_zoo-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: session_zoo-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 25.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7f836e9abe3d8450b897897f77cad5107b969cae3b8ab046495bfcd201311376
MD5 e34419cf20dc4db5e9b6b2a332f2bf19
BLAKE2b-256 34f102aef23cfac1b3798a30e9210cb6b5c656ed6ad81c681bdc5d25708f0727

See more details on using hashes here.

Provenance

The following attestation bundles were made for session_zoo-0.1.2-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