#workspace #automation #crates #cli #rust

workspacer-cli

A versatile command-line interface for Rust workspace management, providing comprehensive controls for crate analysis, import formatting, cleanup, dependency checks, and more

1 unstable release

Uses new Rust 2024

new 0.1.1 Apr 1, 2025

#33 in #crate

41 downloads per month
Used in workspacer

MIT license

130KB
2.5K SLoC

workspacer-cli

workspacer-cli is a sophisticated Rust-based command-line interface designed for comprehensive workspace management and automation. This crate empowers users to efficiently organize, analyze, and manipulate Rust workspaces and their component crates with numerous subcommands.

Key Features

  • Coverage Management: Evaluate coverage for individual crates or the entire workspace using CoverageSubcommand.
  • Formatting Imports: Standardize import formatting across crates to maintain code consistency.
  • Version Upgrades: Seamlessly upgrade functions, tests, and suites with UpgradeSubcommand capabilities.
  • Workspace Cleanup: Remove unnecessary files and structures using CleanupSubcommand.
  • Dependency Management: Add, modify, and analyze internal dependencies effectively.
  • Documentation & Metadata: Document crates and retrieve essential metadata and readiness for publishing.
  • Cycle Detection: Identify and resolve circular dependencies in crates.

Usage

To execute various commands, construct your Workspace CLI tasks typically as follows:

  • Run a specific subcommand for a single crate or the entire workspace using detailed command structures.
  • Customize command execution paths, manage Git cleanliness, and define workspace directories.

Here's how you might utilize a subcommand:

ws cleanup crate --crate my_crate_name

This command focuses on cleaning specific crates by removing transient files.

Advanced Concepts

  • High-Ranked Trait Bounds: Enables operations that borrow workspaces and crates effectively to avoid common Rust lifetime issues.
  • Asynchronous Operations: Enhance performance by executing tasks concurrently where applicable.

This README.md file was generated by an AI model. It may not be 100% accurate but it should be pretty good.

Dependencies

~40–75MB
~1.5M SLoC