Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.2.0] - 2025-11-01

### Added
- **TOON Output Format**: New token-efficient output format using the `rtoon` library
- Reduces token count by 2-5% for code repositories compared to JSON
- Up to 30-60% savings for structured data
- Use with `--format toon` option
- Comprehensive test suite with 34 tests covering CLI, config, scanning, formatting, and security
- Integration testing with real repositories (serde crate) validating TOON efficiency

### Changed
- Updated dependencies: Added `rtoon = "0.1.3"`
- Made formatter functions public for testing
- Enhanced CLI argument validation for output formats

### Fixed
- Improved scanner logic for include pattern matching when using subdirectories

## [0.1.0] - 2025-10-XX

### Added
- Initial release of Remix - Rust implementation of repomix
- Repository packing for AI tools
- Multiple output formats: Markdown, JSON, Text
- Remote repository support
- Intelligent file filtering with include/exclude patterns
- Multi-layered ignore system (.gitignore, .mixignore, custom patterns)
- Security checks for sensitive information
- Comment removal feature
- Flexible JSON configuration
- High-performance parallel processing
62 changes: 53 additions & 9 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "remix"
version = "0.1.0"
version = "0.2.0"
edition = "2021"
authors = ["Trenton Sousa tdsousa1993@gmail.com"]
description = "A Rust implementation of repomix - pack repositories for AI tools"
Expand Down Expand Up @@ -31,6 +31,7 @@ crossbeam = "0.8"
rayon = "1.8"
tree_magic_mini = "3.0"
glob-match = "0.2"
rtoon = "0.1.3"

[dev-dependencies]
tempfile = "3.9"
Expand Down
14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ flowchart TD
| 🎯 **Intelligent Filtering** | Include/exclude files using glob patterns |
| 🛡️ **Multi-layered Ignore System** | Uses `.gitignore`, `.mixignore`, and custom ignore patterns |
| 🔒 **Security Checks** | Automatically detect and warn about sensitive information |
| 📝 **Multiple Output Formats** | Markdown, JSON, and plain text support |
| 📝 **Multiple Output Formats** | Markdown, JSON, plain text, and TOON support |
| 🧹 **Comment Removal** | Optionally strip comments from source code to reduce token count |
| ⚙️ **Flexible Configuration** | JSON-based config files with CLI overrides |
| 🎨 **AI Tool Optimized** | Formatted output designed for LLM consumption |
Expand Down Expand Up @@ -211,8 +211,8 @@ remix --init
# Specify output path
remix --output ./my-repo.md

# Change output format (md, json, txt)
remix --format json
# Change output format (md, json, txt, toon)
remix --format toon

# Open output file after generation
remix --open
Expand Down Expand Up @@ -327,6 +327,14 @@ Structured JSON output containing:
- File information (path, size, type)
- Configuration used

### TOON

Token-efficient output using the TOON format:
- Compact representation optimized for LLM prompts
- 30-60% fewer tokens than JSON for structured data
- Human-readable with indentation-based structure
- Ideal for AI analysis workflows

### Text

Plain text output with:
Expand Down
Loading
Loading