cargo-autodd 0.1.4

Automatically update dependencies in Cargo.toml
Documentation

๐Ÿ“ฆ cargo-autodd

A Cargo subcommand that automatically manages dependencies in your Rust projects.

๐Ÿ” Overview

cargo-autodd simplifies Rust dependency management by automatically adding required crates to your Cargo.toml based on use statements and extern crate declarations in your code.

cargo-autodd demo

โœจ Features

  • ๐Ÿ”Ž Scans Rust source files for imports
  • ๐Ÿค– Automatically detects required dependencies
  • โฌ†๏ธ Updates Cargo.toml with the latest stable versions
  • ๐Ÿ—‘๏ธ Removes unused dependencies
  • ๐Ÿ› ๏ธ Leverages rust-analyzer for better code analysis (when available)
  • ๐Ÿงน Removes unused dependencies
  • ๐Ÿ“Š Generates dependency usage reports
  • ๐Ÿ”’ Checks for security vulnerabilities
  • ๐Ÿ› Debug mode for detailed analysis

๐Ÿ“ฅ Installation

cargo install cargo-autodd

โš™๏ธ Requirements

  • ๐Ÿฆ€ Rust 1.56.0 or later
  • ๐Ÿ“ฆ Cargo
  • ๐Ÿ”ง rust-analyzer (optional, but recommended)

๐Ÿš€ Usage

Automatic Dependency Management

# Analyze and update dependencies in the current project
cargo autodd

# Run with debug mode for detailed analysis
cargo autodd --debug
# or
cargo autodd -d

Update Dependencies

# Check and update all dependencies to their latest versions
cargo autodd update

Generate Reports

# Generate a detailed dependency usage report
cargo autodd report

Security Check

# Check for known security vulnerabilities
cargo autodd security

Debug Mode

In debug mode, the following detailed information is displayed:

  • ๐Ÿ” Path of detected Rust files
  • ๐Ÿ“ Content of each line being processed
  • ๐Ÿ”Ž Detected use statements and base crate names
  • ๐Ÿ“ฆ Details of nested imports
  • ๐Ÿ”ง Detection of extern crate statements
  • ๐Ÿ“Š Analysis results of each file
  • ๐Ÿ“‹ Final list of crate references

๐Ÿ”„ How It Works

  1. ๐Ÿ“ Analyzes your Rust source files
  2. ๐Ÿ” Detects import statements and external crate declarations
  3. โšก Updates Cargo.toml with required dependencies
  4. โœ… Verifies changes with cargo check
  5. ๐Ÿ”’ Checks for security vulnerabilities using the RustSec Advisory Database
  6. ๐Ÿ“Š Generates detailed reports about dependency usage

๐Ÿ‘ฅ Contributing

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

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘ค Author

nwiizo (@nwiizo)

๐ŸŽ‰ Related Projects