runlog
Version:
CLI tool for uploading Claude Code conversations to runlog.io
155 lines (108 loc) • 3.79 kB
Markdown
# runlog CLI
[](https://www.npmjs.com/package/runlog)
[](https://opensource.org/licenses/MIT)
Share your Claude Code conversations with a single command. Upload and get a shareable link instantly.
## Features
- 📤 **One-command upload** - Share conversations instantly
- 🔍 **Interactive selection** - Browse and preview conversations before uploading
- 🎯 **Project-aware** - Automatically detects conversations from your current directory
- 🔒 **Privacy-focused** - Removes base64 images before upload
- ⚡ **Fast & lightweight** - Minimal dependencies, quick uploads
## Installation
```bash
npm install -g runlog
```
Or use without installing:
```bash
npx runlog
```
## Quick Start
```bash
# In your project directory
runlog
# Select a conversation and upload
# Get your shareable link: https://runlog.io/c/generated-uuid-here
```
## Usage
### Basic Usage
Run `runlog` in any directory containing Claude Code conversations:
```bash
runlog
```
The tool automatically detects conversations from your current project directory.
### Interactive Interface
Navigate conversations with an intuitive TUI:
#### List View
- **↑↓** - Navigate conversations
- **→** - Preview conversation
- **Enter** - Upload selected conversation
- **/** - Search conversations
- **s** - Change sort field
- **o** - Toggle sort order
- **Esc** - Exit
#### Preview Mode
- **↑↓** - Scroll through messages
- **←** - Return to list
- **Enter** - Upload conversation
- **Esc** - Exit
### Search and Sort
Search conversations by typing `/` in the list view. Sort by:
- Last message time (default)
- Message count
- Conversation ID
- Active duration
## How It Works
1. **Detects** Claude Code conversations in your current directory
2. **Lists** all conversations with metadata (time, messages, duration)
3. **Preview** conversations before uploading
4. **Sanitizes** data by removing base64 images
5. **Uploads** to runlog.io and returns a shareable link
## Requirements
- Node.js >= 16.0.0
- Claude Code conversations in `~/.claude/projects/`
## Configuration
### Environment Variables
- `CLAUDE_DIR` - Claude projects directory (default: `~/.claude/projects`)
## Troubleshooting
### "No conversations found"
Make sure you:
- Have Claude Code conversations in `~/.claude/projects/`
- Are running the command in a project directory
- Have `.jsonl` files in the conversations directory
### Upload Errors
The tool validates conversations before upload:
- **Max file size**: 10MB
- **Max messages**: 5000
- **Images**: Automatically removed (base64 data stripped)
### Connection Issues
- Check your internet connection
- Verify the API endpoint is accessible
- Try again later if the service is temporarily unavailable
## Privacy & Security
- **Local processing**: Conversations are processed locally before upload
- **Image removal**: Base64 images are automatically stripped
- **Project isolation**: Only shows conversations from current directory
- **Secure upload**: HTTPS encryption for all uploads
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
### Development Setup
```bash
# Clone the repository
git clone https://github.com/TensorPoet/runlog-cli.git
cd runlog-cli/tool
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Run in development
npm run dev
```
## Links
- [runlog.io](https://runlog.io) - View shared conversations
- [GitHub Repository](https://github.com/TensorPoet/runlog-cli)
- [npm Package](https://www.npmjs.com/package/runlog)
- [Report Issues](https://github.com/TensorPoet/runlog-cli/issues)
## License
MIT © [runlog](https://runlog.io)