Thanks for your interest in contributing! Here's how to get started.
git clone https://github.com/copyleftdev/laconic.git
cd laconic
cargo build
cargo test -p laconic-coreRequires Rust 1.75+.
- Fork the repo and create a branch from
main - Write tests for any new functionality
- Run the test suite before submitting:
cargo test -p laconic-core - Keep commits focused — one logical change per commit
- Open a pull request with a clear description of what changed and why
- Bug fixes with regression tests
- New compression strategies (must be lossless on semantic content)
- Performance improvements with benchmarks
- Documentation improvements
- Integration examples (Python, Node, Go wrappers)
- Follow existing patterns — the codebase is intentionally minimal
- All regex patterns must be cached in
LazyLock<Regex>statics - New strategies go in
crates/laconic-core/src/strategies/ - Every strategy must pass the idempotency invariant:
compress(compress(x)) == compress(x) - Every strategy must pass the no-inflation invariant:
compressed_tokens <= original_tokens
Open an issue with:
- Input markdown that triggers the bug
- Expected output
- Actual output
- Laconic version (
laconic --version)
Open a discussion or issue. We're happy to help.