{
  "markdown": "# ccrider\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Release](https://img.shields.io/github/v/release/neilberkman/ccrider)](https://github.com/neilberkman/ccrider/releases)\n[![Homebrew](https://img.shields.io/badge/homebrew-neilberkman%2Ftap-orange)](https://github.com/neilberkman/homebrew-tap)\n[![Show HN](https://img.shields.io/badge/Show%20HN-black?logo=ycombinator)](https://news.ycombinator.com/item?id=46512501)\n\nSearch, browse, and resume your Claude Code, Codex CLI, GitHub Copilot CLI, OpenCode, Pi, Antigravity CLI, and Amp sessions, plus MCP server to remember past context.\n\nWhen your coding agent forgets, tell it: _[see what you have done](#the-king)_.\n\n## Why ccrider?\n\nYou've got months of coding agent sessions sitting in `~/.claude/projects/`, `~/.codex/sessions/`, `~/.copilot/`, `~/.local/share/opencode/`, `~/.pi/agent/sessions/`, `~/.gemini/antigravity-cli/brain/`, and your Amp account. Finding that conversation where you fixed the authentication bug? Good luck grepping through nested JSON files and separate tools.\n\nccrider indexes Claude Code, Codex CLI, GitHub Copilot CLI, OpenCode, Pi, Antigravity CLI, and Amp sessions into a single searchable database, with a TUI browser, CLI search, and an MCP server so your agent can search past sessions too.\n\n```bash\n# Import sessions from every detected local provider (and Amp when explicitly enabled)\nccrider sync\n\n# Launch the TUI - browse, search, resume\nccrider tui\n\n# Or search from command line\nccrider search \"authentication bug\"\n```\n\nStay in your terminal. Find any conversation. Resume where you left off. Sessions are tagged with their provider in the TUI for easy identification.\n\n**Installation:**\n\n```bash\n# Homebrew (recommended)\nbrew install neilberkman/tap/ccrider\n\n# Or from source\ngit clone https://github.com/neilberkman/ccrider.git\ncd ccrider\ngo build -o ccrider cmd/ccrider/main.go\nsudo mv ccrider /usr/local/bin/\n\n# Optional: install the MCP server in Claude Code\nclaude mcp add --scope user ccrider $(which ccrider) serve-mcp\n```\n\n<a id=\"the-king\"></a>\n_\"Vibe code like ~a king~ The King!\"_\n\nhttps://github.com/user-attachments/assets/5b008290-076e-4323-a775-f27f704b1ff2\n\n## Core Features\n\n### 1. Interactive TUI Browser\n\n```bash\nccrider tui\n```\n\nBrowse your sessions with a polished terminal UI:\n\n- **Arrow keys** to navigate\n- **Enter** to view full conversation\n- **o** to open session in new terminal tab (auto-detects Ghostty, iTerm, Terminal.app)\n- **/** to search across all messages\n- **p** to toggle project filter (show only current directory)\n- **?** for help\n\nSessions matching your current directory are highlighted in light green - instantly see which sessions are relevant to your current work.\n\n### 2. Full-Text Search\n\n```bash\nccrider search \"postgres migration\"\nccrider search \"error handling\" --project ~/code/myapp\nccrider search \"authentication\" --after 2024-01-01\n```\n\nPowered by SQLite FTS5 - search message content, filter by project or date, get results instantly.\n\n### 3. Resume Sessions\n\nPress **r** in the TUI to launch the provider's resume command in the right directory with the right session. Use **c** to copy that command or **o** to open it in a new terminal. Pi resumes with `pi --session <id>` and forks with `pi --fork <id>`; Antigravity resumes with `agy --conversation <id>` and forks interactively with `/fork`; Amp resumes with `amp threads continue <id>`.\n\n### 4. Incremental Sync\n\n```bash\nccrider sync         # Import new sessions from all providers\nccrider sync --force # Re-import everything\n```\n\nAutomatically discovers Claude Code (`~/.claude/projects/`), Codex CLI (`~/.codex/sessions/`), GitHub Copilot CLI (`~/.copilot/session-state/`), OpenCode (`~/.local/share/opencode/opencode*.db`), Pi (`~/.pi/agent/sessions/`), and Antigravity CLI (`~/.gemini/antigravity-cli/brain/`) sessions. Antigravity imports each canonical `transcript.jsonl`, excluding its diagnostic transcript. To import Amp, set `amp_enabled = true` in `~/.config/ccrider/config.toml` and install/authenticate the `amp` CLI. ccrider then lists archived and active threads and exports only new or changed threads.\n\nAmp threads are cloud-backed. The integration is disabled by default because enabling it downloads searchable text into ccrider's local SQLite database. MCP requests never contact Amp; they search cached Amp data from an earlier CLI/TUI sync.\n\n---\n\n## MCP Server\n\nccrider includes a built-in MCP (Model Context Protocol) server that gives your coding agent access to your session history.\n\nAsk your agent to search past conversations while working on new problems:\n\n- \"Find sessions where I worked on authentication\"\n- \"Show me my most recent Elixir sessions\"\n- \"What was I working on last week in the billing project?\"\n- \"Search my Codex sessions for database migrations\"\n\n### Setup\n\nConfigure your MCP-capable client to run `ccrider serve-mcp`. Examples:\n\n**Claude Code:**\n\n```bash\n# Install for all your projects (recommended)\nclaude mcp add --scope user ccrider $(which ccrider) serve-mcp\n\n# Or for current project only\nclaude mcp add ccrider $(which ccrider) serve-mcp\n```\n\n**Claude Desktop:**\n\nAdd to your config (`~/Library/Application Support/Claude/claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"ccrider\": {\n      \"command\": \"ccrider\",\n      \"args\": [\"serve-mcp\"]\n    }\n  }\n}\n```\n\n**Other MCP clients:**\n\nUse command `ccrider` with args `[\"serve-mcp\"]`.\n\n### Available Tools\n\n- **search_sessions** - Full-text search across all session content with date/project/provider filters\n- **list_recent_sessions** - Get recent sessions, optionally filtered by project or provider\n- **get_session_messages** - Get messages from a session (supports tail mode, context around search matches)\n- **generate_session_anchor** - Generate a unique phrase to tag your session for later retrieval\n\nAll tools support a `provider` parameter to filter by `claude`, `codex`, `copilot`, `opencode`, `pi`, `antigravity`, or `amp`. The MCP server provides read-only access to your local session database. Local providers are read from disk; Amp threads are fetched from your authenticated Amp account during sync and then stored locally.\n\n---\n\n## Configuration\n\n> **Note:** Claude Code auto-deletes session JSON files after 30 days by default. ccrider preserves all session content in its own database, but if you want the original files kept (for resume, etc.), add `\"cleanupPeriodDays\": 99999` to your `~/.claude/settings.json`.\n\nccrider looks for config in `~/.config/ccrider/`:\n\n```toml\n# config.toml - pass additional flags to each provider's resume command\nclaude_flags = [\"--dangerously-skip-permissions\"]\n# codex_flags = [\"--dangerously-bypass-approvals-and-sandbox\"]\n# copilot_flags = []\n# opencode_flags = []\n# pi_flags = []\n```\n\n```txt\n# terminal_command.txt - custom command for 'o' key\n# Available placeholders: {cwd}, {command}\nwezterm cli spawn --cwd {cwd} -- {command}\n```\n\n```txt\n# resume_prompt.txt - customize the prompt sent when resuming sessions\n```\n\nSee [CONFIGURATION.md](docs/CONFIGURATION.md) for full details.\n\n---\n\n## Architecture\n\nBuilt with strict core/interface separation following [Saša Jurić's principles](https://www.theerlangelist.com/article/phoenix_is_modular):\n\n- **Core** (`pkg/`, `internal/core/`): Pure business logic - parsing, database, search, multi-provider import\n- **Interface** (`internal/interface/`, `cmd/`): Thin wrappers - CLI, TUI, MCP server\n\nUses proven technologies:\n\n- **Go** for performance and single-binary distribution\n- **SQLite with FTS5** for fast full-text search\n- **Bubbletea** for polished terminal UI\n- **MCP** for coding agent integration\n\n### Why This Matters\n\nOther coding agent session tools are broken:\n\n- Incomplete schema support (can't parse all message types)\n- Broken builds and abandoned dependencies\n- No real search (just grep)\n- Can't actually resume sessions\n- Single-provider only\n\nccrider fixes this with:\n\n- 100% schema coverage - parses all message types correctly\n- Multi-provider - Claude Code, Codex CLI, GitHub Copilot CLI, OpenCode, Pi, Antigravity CLI, and Amp in one database\n- SQLite FTS5 search - fast, powerful full-text search\n- Single binary - no npm, no pip, no dependencies\n- Native resume - one keystroke to resume sessions\n- Incremental sync - detects new messages in ongoing sessions\n\n---\n\n## Development\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.\n\n### Project Structure\n\n```\ncmd/ccrider/          # CLI entry point + MCP server\ninternal/\n  core/               # Business logic (no UI concerns)\n    db/               # Database operations\n    importer/         # Session import/sync and Amp CLI client\n    search/           # Full-text search\n    session/          # Session launch logic\n  interface/          # Thin UI wrappers\n    cli/              # Command handlers\n    tui/              # Terminal UI (bubbletea)\npkg/\n  ccsessions/         # Claude Code session parser (public API)\n  codexsessions/      # Codex CLI session parser (public API)\n  copilotsessions/    # GitHub Copilot CLI session parser (public API)\n  opencodesessions/   # OpenCode session parser (public API)\n  pisessions/         # Pi session parser (public API)\n  antigravitysessions/ # Antigravity CLI session parser (public API)\n  ampsessions/        # Pure Amp export parser (public API)\n```\n\n### Quick Build\n\n```bash\ngo build -o ccrider cmd/ccrider/main.go\n./ccrider sync\n./ccrider tui\n```\n\n---\n\n## Documentation\n\n- [Configuration Guide](docs/CONFIGURATION.md)\n- [Resume Prompts](docs/RESUME_PROMPT.md)\n- [Design Document](docs/plans/2025-11-08-ccrider-design.md)\n- [Schema Documentation](research/schema.md)\n- [Requirements](research/requirements.md)\n\n## License\n\nMIT\n",
  "bytes": 9788,
  "sha": "3927ed32c4ad1646f3a95062e7f71d2331fb6cfe45032f9dac2593add265b12f",
  "repo_slug": "neilberkman/ccrider",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_neilberkman_ccrider_cec98d91/readme"
}