This repository contains multiple projects in a unified workspace:
- quilt-rs - Rust library for accessing Quilt data packages (built on aws-sdk-rust and Tokio)
- quilt-cli - Command-line interface for Quilt data packages (built with clap)
- quilt-sync - Cross-platform desktop GUI application built with Tauri and vanilla JavaScript (no frontend framework) (QuiltSync)
For detailed contributing information, see the project-specific guides:
- quilt-rs Contributing Guide - Rust library and CLI development
- QuiltSync Contributing Guide - Desktop application development
This project uses just as a task runner for common development tasks.
cargo install just
just -lAll cargo commands work on the entire workspace by default. Use the -p flag to
target specific packages:
# Testing
cargo test # All workspace packages
cargo test -p quilt-rs # Specific package only
# Building, formatting, linting follow the same pattern
cargo build [-p package-name]
cargo fmt [--check] [-p package-name]
cargo clippy [-- --deny warnings] [-p package-name]Each project has different release approaches:
- quilt-rs: Library published to crates.io via GitHub Actions
- quilt-cli: Published to crates.io and as prebuilt binaries on GitHub
Releases for macOS (x86_64, aarch64) and Linux (x86_64-gnu);
install via
cargo binstall quilt-cliorcargo install quilt-cli - QuiltSync: Desktop app releases with cross-platform builds via GitHub Actions
- Library (
quilt-rs): Versioned and published to crates.io - CLI (
quilt-cli): Versioned and published to crates.io; each release also attaches prebuilt binary archives (quilt-cli-<target>.tar.gz) to the corresponding GitHub Release forcargo binstalldiscovery - QuiltSync (
quilt-sync): Uses workspace version for Tauri app releases
For unreleased changes, use pre-release tags
in both Cargo.toml and CHANGELOG.md (e.g., 0.24.0-alpha.1).
See project-specific contributing guides for detailed release procedures.
See docs/verification.md for SHA256-chunked, CRC64/NVMe, and manifest verification recipes.