claude-code-exporter

Export and aggregate Claude Code conversations with CLI and MCP server support

GitHubスター

10

ユーザー評価

未評価

フォーク

0

イシュー

0

閲覧数

2

お気に入り

0

README
Claude Code Exporter 🚀

npm version License: MIT Node.js Version

Export and aggregate Claude Code conversations with powerful filtering and organization features.

✨ Features
  • 📤 Multiple Export Modes - Prompts only, outputs only, or full conversations
  • 📁 Multiple Formats - Export to Markdown, JSON, or both
  • 🏠 Dual Directory Support - Works with ~/.claude and ~/.config/claude
  • 📊 Aggregate Mode - Combine prompts across all projects
  • 📅 Period Filtering - Filter by days, weeks, months, or years
  • 🗓️ Period Grouping - Group exports by time periods
  • 🎯 Smart Organization - Timestamp-based directories with clear naming
  • 💬 Interactive Mode - User-friendly prompts with defaults
  • 🔧 CLI & API - Use as command-line tool or Node.js library
  • 🤖 MCP Server - Model Context Protocol support for Claude Desktop (v2.0.1+)
🚀 Quick Start
# Install globally
npm install -g claude-code-exporter

# Export current project
claude-prompts

# Export with aggregation
claude-prompts --aggregate

# Export last 7 days
claude-prompts --aggregate --period=7d

# Export grouped by days
claude-prompts --aggregate --period=7d --periodGroup=d --nested
📦 Installation
Global (Recommended)
npm install -g claude-code-exporter
Local Project
npm install claude-code-exporter
Without Installation
npx claude-code-exporter /path/to/project
📖 Usage
Basic Commands
# Interactive mode
claude-prompts

# Export specific project
claude-prompts /path/to/project

# Export full conversations
claude-prompts --full /path/to/project

# Export to JSON
claude-prompts --json /path/to/project

# List available sessions
claude-prompts --list /path/to/project
Advanced Aggregation
# Aggregate all projects
claude-prompts --aggregate

# Aggregate with nested structure
claude-prompts --aggregate --nested

# Filter by time period
claude-prompts --aggregate --period=30d    # Last 30 days
claude-prompts --aggregate --period=2w     # Last 2 weeks
claude-prompts --aggregate --period=3m     # Last 3 months

# Group by time period
claude-prompts --aggregate --period=1m --periodGroup=w  # Group by weeks
claude-prompts --aggregate --period=1y --periodGroup=m  # Group by months
CLI Options
Option Short Description
--help -h Show help
--version -v Show version
--prompts -p Export user prompts only (default)
--outputs -o Export assistant outputs only
--full -f Export full conversations
--markdown -m Export as Markdown (default)
--json -j Export as JSON
--all-formats Export in both formats
--aggregate -a Aggregate prompts across projects
--nested Create nested folder structure
--period Filter by time period (e.g., 7d, 2w, 1m)
--periodGroup Group by period (d, w, m, y)
--both-dirs Process both Claude directories
--no-interactive Disable interactive prompts
--quiet -q Suppress output
--verbose -V Enable verbose logging
📊 Export Formats
Prompts Only (Default)

Exports only user messages, perfect for:

  • 📝 Creating prompt libraries
  • 🔍 Analyzing your questions
  • 📚 Building documentation
Outputs Only

Exports only assistant responses, ideal for:

  • 💻 Collecting code examples
  • 📖 Building knowledge bases
  • 🎯 Extracting solutions
Full Conversation

Exports complete dialogue, best for:

  • 📜 Complete documentation
  • 🎓 Learning from interactions
  • 🐛 Debugging conversations
📁 Output Structure
Standard Export
claude-prompts/
├── 2d002199-untitled-prompts.md
├── 33c13f1c-react-hooks-full.md
└── 73d2983f-api-design-outputs.json
Aggregated Export
aggregated-prompts/
├── aggregated-20250628-project1.md
├── aggregated-20250628-project2.json
└── aggregated-20250628-project3.txt
Nested Aggregate
aggregated-prompts/
├── project1/
│   └── session1/
│       ├── prompts.md
│       ├── outputs.txt
│       └── full.json
└── project2/
    └── session1/
        └── ...
Period Grouped
aggregated-prompts/
├── 20250628-Dd/  # Daily groups
│   └── sessions...
├── 2025-W26/     # Weekly groups
│   └── sessions...
└── 2025-06M/     # Monthly groups
    └── sessions...
🤖 MCP Server Integration (v2.0.1+)
Setup for Claude Desktop
  1. Install the package globally:
npm install -g claude-code-exporter
  1. Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
  "mcpServers": {
    "claude-code-exporter": {
      "command": "npx",
      "args": ["claude-code-exporter", "mcp"]
    }
  }
}
  1. Restart Claude Desktop and use the available tools:
Available MCP Tools
📤 export_conversation

Export Claude Code conversations with advanced filtering:

  • projectPath (required): Project directory path
  • outputDir: Output directory (default: ./claude-prompts)
  • exportMode: "prompts", "full", or "outputs"
  • exportFormat: "markdown", "json", or "both"
  • period: Time filter (e.g., "7d", "2w", "3m", "1y")
  • periodGroup: Group by "d", "w", "m", or "y"
  • nested: Create nested directory structure
  • verbose: Enable detailed logging

Example: "Export my project at /path/to/project with period 7d and nested structure"

📊 aggregate_sessions

Aggregate sessions across multiple projects:

  • claudeHome: Claude home directory (auto-detected)
  • outputDir: Output directory (default: ./aggregated-prompts)
  • includeStats: Include detailed statistics
  • groupBy: "project", "date", or "none"
  • bothDirs: Process both Claude directories
  • period: Time filter (e.g., "7d", "2w", "3m")
  • verbose: Enable detailed logging

Example: "Aggregate all my Claude sessions from the last 2 weeks with bothDirs enabled"

📋 list_sessions

List available Claude sessions with metadata:

  • projectPath: Specific project (optional, lists all if omitted)
  • claudeHome: Claude home directory (auto-detected)
  • bothDirs: List from both Claude directories
  • period: Time filter (e.g., "7d", "2w", "3m")
  • verbose: Include detailed session information

Example: "List all my Claude sessions from the last 7 days with verbose details"

🔧 Programmatic API
const ClaudePromptExporter = require('claude-code-exporter');

// Basic usage
const exporter = new ClaudePromptExporter('/path/to/project');
const result = await exporter.export('./output');

// With options
const exporter = new ClaudePromptExporter('/path/to/project', {
  exportMode: ClaudePromptExporter.ExportMode.FULL_CONVERSATION,
  exportFormat: ClaudePromptExporter.ExportFormat.BOTH,
  aggregate: true,
  period: '7d',
  periodGroup: 'd'
});

// Aggregate multiple projects
const result = await exporter.aggregate('./aggregated-output');
⚙️ Configuration
Requirements
  • Node.js: v20.0.0 or higher (required for MCP server)
  • Claude Code: Installed with sessions in standard directories
Environment
  • CLAUDE_HOME - Override Claude home directory
  • AGGREGATE_NESTED=true - Default to nested structure
  • AGGREGATE_BOTH=true - Process both directories by default
🐛 Troubleshooting
Common Issues
  • "No Claude sessions found" → Check project path matches Claude usage
  • "No sessions with [type] found" → Try --full mode
  • Multiple directories detected → Use --claude-home to specify
  • Period validation error → Ensure period group ≤ period range
Debug Mode
claude-prompts --verbose /path/to/project
🤝 Contributing
  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing)
  3. Commit changes (git commit -m 'feat: add amazing feature')
  4. Push branch (git push origin feature/amazing)
  5. Open Pull Request
📝 License

MIT License - see LICENSE for details.

🔗 Links

Made with ❤️ for the Claude Code community

作者情報
Alex
Useai.proWarsaw

21

フォロワー

105

リポジトリ

6

Gist

18

貢献数

トップ貢献者

スレッド