| name | cargo-vendormod |
| description | A comprehensive tool for managing complex Rust workspaces, especially monorepos. It helps analyze dependency graphs, process crates in topological order, manage git submodules, and generate Nix flakes. |
Cargo-Vendormod
Purpose
cargo-vendormod is a suite of tools for managing complex Rust workspaces. It has binaries for dependency graph analysis (graph), git submodule management (vendoring), and crate processing (processing).
CLI / Script Entrypoints
cargo-vendormod --help
cargo-vendormod <subcommand> --help
cargo-vendormod run-workflow --workspace-path .
cargo-vendormod vendoring
cargo-vendormod sync
Rust Library Entrypoints
use cargo_vendormod::config::Config;
use cargo_vendormod::args::Args;
use cargo_vendormod::global_dep_graph::GlobalDependencyGraphBuilder;
use cargo_vendormod::layer_processor::LayerProcessor;
Key Outcomes
- Dependency graph analysis
- Layered crate processing
- Git submodule management
- Nix flake generation
Workflow
- Analyze a new workspace:
cargo-vendormod global-graph to build the dependency graph.
cargo-vendormod visualize-graph to visualize the graph.
- Process a workspace with Nix:
cargo-vendormod process-crates --generate-flakes to generate Nix flakes for each crate.
- Manage git submodules:
cargo-vendormod vendoring init to initialize submodules.
cargo-vendormod vendoring sync to sync submodules.