cargo-release

Automates Rust workspace crate releases with single-commit tagging and optional publishing to crates.io.

42|10|Updated Mar 7, 2018
One-click install
npx skills add https://github.com/Larusso/unity-version-manager --skill cargo-release
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cargo-release
Source: https://github.com/Larusso/unity-version-manager/tree/main/.cursor/skills/cargo-release
Command: npx skills add https://github.com/Larusso/unity-version-manager --skill cargo-release

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires cargo-edit, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill streamlines the complex process of releasing multiple Rust crates within a workspace, ensuring consistency and reducing manual errors.

Core Features & Use Cases

  • Automated Version Bumping: Intelligently suggests version bumps based on code changes and dependency impact.
  • Single-Commit Tagging: Creates a single, atomic commit for all released crates with appropriate tags.
  • Dependency Management: Handles internal dependency updates and topological sorting for release order.
  • Optional Publishing: Integrates with crates.io for validation and publishing.
  • Use Case: Releasing a new feature that touches several interdependent crates in your Rust project. This skill will analyze changes, propose versions, update Cargo.toml files, commit, tag, and optionally publish all in one go.

Quick Start

Use the cargo-release skill to automate the release of changed crates in the current workspace.

Frequently Asked Questions about cargo-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate Rust workspace releases for multiple crates?

Automating Rust workspace releases involves analyzing code changes, suggesting version bumps based on dependency impact, updating Cargo.toml files, and creating a single atomic commit with multiple tags. This process optionally publishes to crates.io while managing internal dependency order.

What is the best way to handle version bumping in a Rust cargo workspace?

The best way to handle version bumping in a Rust cargo workspace is using heuristics that analyze code changes and dependency impact. This approach intelligently suggests appropriate version increments and automatically updates internal dependencies across the workspace.

Do I need cargo-edit to release multiple Rust crates in a single commit?

Yes, you need cargo-edit installed to use this release workflow. It serves as a required dependency for managing and updating Cargo.toml files during the automated version bumping and tagging process.

Can I publish multiple interdependent crates to crates.io automatically?

Yes, you can automatically publish multiple interdependent crates to crates.io. The workflow handles topological sorting for release order, validates against the registry, and executes publishing with robust error handling for a safe release.

Why does multi-crate Rust publishing require topological sorting?

Multi-crate Rust publishing requires topological sorting to manage internal dependency updates and determine the correct release order. This ensures that prerequisite crates are published before their dependents, preventing failed registry submissions.