Skip to main content

Specs Export Tool for AI Assistants

Project description

AnySpecs CLI is a unified command-line tool for exporting chat history from multiple AI assistants. It currently supports Cursor AI, Claude Code, and Kiro Records, with support for various export formats including Markdown, HTML, and JSON.

Features

  • Multi-Source Support: Export from Cursor AI, Claude Code, and Kiro Records(More to come)
  • Multiple Export Formats: Markdown, HTML, and JSON
  • Project-Based and Workspace Filtering: Export sessions by project or current directory
  • Flexible Session Management: List, filter, and export specific sessions
  • Default Export Directory: All exports save to .anyspecs/ by default for organized storage
  • Terminal history and files diff history: Export terminal history and files diff history(WIP)
  • AI Summary: Summarize chat history into a single file (WIP)
  • Server Upload and Share: Upload exported files to remote servers (WIP)

Installation

From Source

# Clone the repository
git clone https://github.com/anyspecs/anyspecs-cli.git
cd anyspecs-cli

# Install in development mode
pip install -e .

# Or install normally
pip install .

Using pip

pip install anyspecs

Quick Start

List All Chat Sessions in this workspace

# List all chat sessions in this workspace from all sources
anyspecs list

# List only Cursor/Claude/Kiro sessions in this workspace
anyspecs list --source cursor/claude/kiro

# Show detailed information
anyspecs list --verbose

Export Chat Sessions

# Export current project's sessions to Markdown (default to .anyspecs/)
anyspecs export

# Export all sessions to HTML (default to .anyspecs/)
anyspecs export --all-projects --format html

# Export specific session
anyspecs export --session-id abc123 --format json

# Export Claude sessions only
anyspecs export --source claude --format markdown

# Export Kiro records only
anyspecs export --source kiro --format html

# Export with custom output path
anyspecs export --output ./exports --format html

# Export and upload to server(WIP)
anyspecs export --format json --upload --server https://myserver.com --username user --password pass

Supported Sources

Cursor AI

Extracts chat history from Cursor's local SQLite databases, including:

  • Workspace-specific conversations
  • Global chat storage
  • Composer data and bubble conversations
  • Project context and metadata

Claude Code

Extracts chat history from Claude Code's JSONL history files, including:

  • User messages and AI responses
  • Tool calls and results
  • Session metadata
  • Project context

Kiro Records

Extracts and combines markdown documents from .kiro directory, including:

  • File metadata (name, modification time)
  • Automatic project summary detection

Package Structure

anyspecs-cli/
├── anyspecs/
│   ├── __init__.py          # Main package
│   ├── cli.py               # CLI interface
│   ├── config.py           # Configuration management
│   ├── core/               # Core functionality
│   │   ├── extractors.py   # Base extractor classes
│   │   └── formatters.py   # Export formatters
│   ├── exporters/          # Source-specific extractors
│   │   ├── cursor.py       # Cursor AI extractor
│   │   └── claude.py       # Claude Code extractor
│   │   └── kiro.py         # Kiro Records extractor
│   └── utils/              # Utility modules
│       ├── logging.py      # Logging configuration
│       ├── paths.py        # Path utilities
│       └── upload.py       # Upload functionality
├── setup.py               # Package setup
├── requirements.txt       # Dependencies
└── README.md             # This file

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development Setup

# Clone the repository
git clone https://github.com/anyspecs/anyspecs-cli.git
cd anyspecs-cli

# Install in development mode with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black anyspecs/

# Type checking
mypy anyspecs/

License

This project is licensed under the MIT License - see the LICENSE file for details.

Changelog

v0.0.2

  • Kiro Records support: Extract and export files from .kiro directory
  • Default export directory: All exports now save to .anyspecs/ by default
  • Workspace filtering: Cursor sessions now show only current workspace sessions in list command

v0.0.1

  • Initial release
  • Support for Cursor AI and Claude Code
  • Multiple export formats (Markdown, HTML, JSON)
  • Upload functionality
  • Project-based filtering
  • Organized package structure

Support

If you encounter any issues or have questions, please:

  1. Check the documentation
  2. Search existing issues
  3. Create a new issue

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anyspecs-0.0.3.tar.gz (53.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anyspecs-0.0.3-py3-none-any.whl (60.7 kB view details)

Uploaded Python 3

File details

Details for the file anyspecs-0.0.3.tar.gz.

File metadata

  • Download URL: anyspecs-0.0.3.tar.gz
  • Upload date:
  • Size: 53.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for anyspecs-0.0.3.tar.gz
Algorithm Hash digest
SHA256 9ea930dde12b46f5ce66e1d1560a2c3b09245dcda89a23ce6570bd075369508e
MD5 506f8b256915766e8c57f60412e4f852
BLAKE2b-256 b21684e432b6dd12f03c24c3eb0bbef1996816e2efd50b18b9f4e404516a1e13

See more details on using hashes here.

File details

Details for the file anyspecs-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: anyspecs-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 60.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for anyspecs-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 caf058b33ba7a745f47ab68f4cf0319c39a6320687b60ca9009a220482e47510
MD5 ff0da88c896b48a4b0a3c6e93ebe66f0
BLAKE2b-256 37119600ca18593d020611d27e50e9ccf42d1d88a9bf7afef504233673a6838f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page