ccx - Session viewer for Claude Code. Browse, inspect, search, and export conversations.
- [X] Core CLI commands (projects, sessions, view, export)
- [X] JSONL parser with tree-aware message structure
- [X] Web UI with modern design
- [X] Export formats (HTML, MD, Org, JSON)
- [X] Realtime watch mode via SSE
- [X] SQLite star/favorite system
- [X] Global search across projects/sessions
- [X] Dark/light theme toggle
- [X] In-session search with filter chips (User, Response, Tools, Agents, Thinking)
- [X] Tool rendering (Task, Skill, WebSearch, WebFetch, AskUserQuestion, LSP, TaskOutput, KillShell)
- [X] Security hardening (URL sanitization, tabnabbing prevention)
- [ ] Agent/skill discovery from CLAUDE_CODE_HOME
- [ ] Session diff/compare view
- [ ] Statistics dashboard
- [ ] Custom tagging system
- [ ] Keyboard shortcuts help overlay
- [ ] Session replay mode
- [ ] API integration hooks
- [ ] MCP server mode
See docs/devlog/ for daily entries:
- 2025-12-28 Initial implementation
- 2025-12-29 UI/JS lessons learned
- 2025-12-30 Strategic direction
- 2025-12-30 UI polish session
- 2025-12-31 CGO → Pure Go, CI/CD infrastructure
- 2026-01-04 Web UI polish - Tool rendering & session search
- 2026-01-06 Progressive loading, accent colors, token stats
ccx/
cmd/ccx/main.go Entry point
internal/
cmd/ Cobra commands
parser/ JSONL parsing + tree building
render/ Output formats
web/ HTTP server + templates
db/ SQLite persistence
config/ Configuration paths
Key insight: Claude Code sessions are trees, not flat lists. Uses parentUuid, isCompactSummary, isSidechain for structure.
- GitHub CLI patterns
- Atlas CLI patterns