cargoe 0.1.15

Advanced Cargo.toml management CLI tool
cargoe-0.1.15 is not a library.

cargoe

Crates.io Documentation License

cargoe is a powerful CLI tool for managing Cargo.toml files with features that cargo doesn't provide out of the box.

Features

  • 📝 Exclude/Include Management - Easily add, remove, and list exclude/include patterns
  • 🏷️ Keywords & Categories - Manage keywords and categories with crates.io validation
  • 🎖️ Badges - Add and manage repository badges
  • ⚙️ Metadata - Custom metadata management
  • 🔍 Validation - Validate against crates.io requirements
  • 📊 Info Display - Quick package information summary
  • 🚀 Init Wizard - Interactive setup for publishing
  • 🎨 Format - Format your Cargo.toml
  • 🔄 Dry Run - Preview changes before applying

Installation

cargo install cargoe

Or from source:

git clone https://github.com/cumulus13/cargoe

cd cargoe

cargo install --path .

Quick Start

# Add exclude patterns

cargoe exclude add "*.log" ".env" "tmp/"


# Add keywords

cargoe keywords add cli cargo toml


# Add categories

cargoe categories add command-line-utilities development-tools::cargo-plugins


# Set repository URL

cargoe set repository https://github.com/user/repo


# Validate for publishing

cargoe validate --strict


# Show package info

cargoe info


# Initialize for publishing (interactive)

cargoe init

Usage

Exclude Patterns

cargoe exclude add "target/" "*.log"      # Add patterns

cargoe exclude remove "*.log"             # Remove patterns

cargoe exclude list                        # List all patterns

cargoe exclude clear                       # Clear all patterns

Include Patterns

cargoe include add "src/" "Cargo.toml"

cargoe include list

Keywords

cargoe keywords add cli cargo toml        # Add keywords (max 5)

cargoe keywords remove cli                # Remove keyword

cargoe keywords list                       # List all keywords

Categories

cargoe categories add command-line-utilities

cargoe categories list

cargoe categories valid                    # Show valid crates.io categories

Badges

cargoe badges add maintenance status=actively-developed

cargoe badges add github-actions workflow=ci.yml

cargoe badges list

cargoe badges remove maintenance

Set Fields

cargoe set repository https://github.com/user/repo

cargoe set homepage https://example.com

cargoe set documentation https://docs.rs/crate

cargoe set license "MIT OR Apache-2.0"

Get Fields

cargoe get repository

cargoe get version

Validation

cargoe validate              # Basic validation

cargoe validate --strict     # Strict validation for publishing

Other Commands

cargoe info                  # Show package summary

cargoe fmt                   # Format Cargo.toml

cargoe fmt --check           # Check if formatted

cargoe init                  # Interactive initialization

cargoe init --yes            # Non-interactive initialization

Global Options

--manifest-path <PATH>       # Path to Cargo.toml

--dry-run                    # Preview changes without applying

--quiet                      # Suppress output except errors

Examples

Prepare for Publishing

# Validate current state

cargoe validate --strict


# Initialize missing fields interactively

cargoe init


# Add keywords and categories

cargoe keywords add cli parser rust

cargoe categories add command-line-utilities


# Add exclude patterns

cargoe exclude add "tests/" "benches/" ".github/"


# Final validation

cargoe validate --strict

Batch Operations

# Add multiple keywords at once

cargoe keywords add cli parser async tokio rust


# Add multiple exclude patterns

cargoe exclude add "*.log" "*.tmp" ".env" "tmp/" "cache/"

CI/CD Integration

# In your CI pipeline

cargoe validate --strict || exit 1

cargoe fmt --check || exit 1

Configuration

cargoe respects your Cargo.toml formatting and comments. It uses toml_edit to preserve the original structure.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

Licensed under either of:

at your option.

Author

Hadi Cahyadi

Buy Me a Coffee

Donate via Ko-fi

Support me on Patreon

Acknowledgments

Built with: