Export and parse Claude Code conversations - code is cheap, show me the talk
npm install ccshow> Code is cheap, show me the talk - Export and share your Claude Code conversation experiences!
https://github.com/user-attachments/assets/ca717e8e-acaa-45de-9f69-910930b3f1c7
A TypeScript library and CLI tool for parsing, analyzing, and exporting Claude Code conversations. Built with Domain-Driven Design principles and SOLID architecture.
- š„ļø Interactive Terminal UI: Modern terminal interface with Ink + React
- š Real-time Filtering: Live search and filter conversations by project, keywords, date
- ā” Multiple Export Formats: JSON, Markdown, Simple, and Enhanced HTML with Time Machine
- š¤ Smart Conversation Analysis: Auto-categorize by debugging, architecture, learning, etc.
- š Project-based Organization: Group and navigate conversations by project context
- š Rich Metrics & Analytics: Comprehensive conversation statistics and insights
- āØļø Keyboard Navigation: Professional terminal experience optimized for developers
- šØ Enhanced HTML Export: Interactive conversations with syntax highlighting and timeline
- š Advanced Parsing: Extract meaningful dialogues from Claude Code JSONL files
- š ļø TypeScript: Full type safety with modern development experience
bash
Simple package name
npm install -g ccshowOr use the full name (preserves the "code is cheap, show me the talk" slogan)
npm install -g @code-is-cheap/show-me-the-talk
`$3
`bash
npm install ccshow
or: npm install @code-is-cheap/show-me-the-talk
`$3
`bash
npx ccshow --help
`šÆ Quick Start
$3
`bash
Launch interactive TUI - multiple command options available:
ccshow # Shortest command
show-me-the-talk # Full command name
smtt # Quick alias
cctalk # Claude Code TalkAll commands are equivalent and launch the same TUI
`$3
`bash
Export all conversations as JSON (use any command: ccshow, show-me-the-talk, smtt, or cctalk)
ccshow -f json -o my-conversations.jsonExport with metadata and analytics
ccshow -f json -o detailed.json -mExport specific project conversations
ccshow -f markdown -o project.md -p "/path/to/project"Export single conversation session
ccshow -f html -o session.html -s "session-id-here"
`š ļø Usage
$3
`bash
Usage: ccshow [options]
or: show-me-the-talk [options]
or: smtt [options]
or: cctalk [options]Options:
-f, --format Export format: json, markdown, simple, html (default: interactive TUI)
-o, --output Output file path (default: conversations.md)
-d, --claude-dir Claude directory path (default: ~/.claude)
-s, --session Export specific session ID
-p, --project Export conversations for specific project
-m, --metadata Include conversation metrics
-t, --tui Launch interactive Terminal UI (default behavior)
-v, --version Show version number
-h, --help Show this help message
`$3
#### 1. JSON - Machine-readable structured data
`bash
ccshow -f json -o data.json
`#### 2. Markdown - Human-readable documentation
`bash
ccshow -f markdown -o conversations.md
`#### 3. Simple - Clean, minimal format
`bash
show-me-the-talk -f simple -o clean.md
`#### 4. HTML - Enhanced web format with Time Machine
`bash
show-me-the-talk -f html -o interactive.html
`š Library Usage
$3
`typescript
import { ShowMeTheTalk } from '@code-is-cheap/show-me-the-talk';const tool = new ShowMeTheTalk('~/.claude');
const conversations = await tool.getConversations();
// Export conversations
await tool.export('json', 'output.json', {
includeMetadata: true,
projectPath: '/path/to/project'
});
`$3
`typescript
import {
ShowMeTheTalk,
ExportConfiguration,
ConversationFilter
} from '@code-is-cheap/show-me-the-talk';const tool = new ShowMeTheTalk('~/.claude');
// Custom export configuration
const config = ExportConfiguration.create()
.withFormat('html')
.withMetadata(true)
.withTimeMachine(true)
.build();
// Apply filters
const filter = new ConversationFilter()
.byProject('/my/project')
.byCategory('debugging')
.afterDate(new Date('2024-01-01'));
const conversations = await tool.getConversations(filter);
await tool.exportWithConfig(conversations, 'output.html', config);
`šļø Architecture
Built with Domain-Driven Design and Clean Architecture principles:
`
src/
āāā domain/ # Core business logic
ā āāā models/ # Entities and value objects
ā āāā services/ # Domain services
ā āāā repositories/ # Repository interfaces
āāā application/ # Application orchestration
ā āāā dto/ # Data transfer objects
ā āāā services/ # Application services
āāā infrastructure/ # External concerns
ā āāā persistence/ # Data access implementations
ā āāā filesystem/ # File operations
ā āāā container/ # Dependency injection
āāā presentation/ # User interfaces
āāā cli/ # Command-line interface
āāā tui/ # Terminal user interface
`š§ Development
$3
- Node.js 18+
- TypeScript 5+$3
`bash
git clone https://github.com/code-is-cheap/show-me-the-talk.git
cd show-me-the-talk
npm install
npm run build
`$3
`bash
npm run dev # Development mode with tsx
npm run build # Build TypeScript to JavaScript
npm run watch # Build in watch mode
npm run test # Run all tests
npm run lint # Run ESLint
npm run format # Format with Prettier
`$3
`bash
npm test # Run all tests
npm run test:unit # Run unit tests only
npm run test:integration # Run integration tests only
npm run test:watch # Run tests in watch mode
npm run test:coverage # Generate coverage report
``MIT License - see LICENSE file for details.
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and development process.
See CHANGELOG.md for a list of changes and version history.
- š Documentation
- š Issue Tracker
- š¬ Discussions
---
Show Me The Talk - Making Claude Code conversations shareable and accessible! š