Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 2.6 KB

File metadata and controls

75 lines (53 loc) · 2.6 KB

Contributing to Quilt Workspace

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)

Project-Specific Contributing Guides

For detailed contributing information, see the project-specific guides:

Development Workflows

This project uses just as a task runner for common development tasks.

cargo install just

just -l

All 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]

Release Process Overview

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-cli or cargo install quilt-cli
  • QuiltSync: Desktop app releases with cross-platform builds via GitHub Actions

Version Management

  • 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 for cargo binstall discovery
  • QuiltSync (quilt-sync): Uses workspace version for Tauri app releases

Pre-release Versioning

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.

File Integrity Verification

See docs/verification.md for SHA256-chunked, CRC64/NVMe, and manifest verification recipes.