cargo-ensure-no-cyclic-deps

Crates.iocargo-ensure-no-cyclic-deps
lib.rscargo-ensure-no-cyclic-deps
version0.2.0
created_at2025-11-28 20:41:50.806149+00
updated_at2025-12-03 15:10:57.585185+00
descriptionA cargo subcommand to detect cyclic dependencies in workspace crates
homepagehttps://github.com/martin-kolinek/cargo-ensure-no-cyclic-deps
repositoryhttps://github.com/martin-kolinek/cargo-ensure-no-cyclic-deps
max_upload_size
id1956011
size34,968
(martin-kolinek)

documentation

README

cargo-ensure-no-cyclic-deps

A cargo subcommand that detects cyclic dependencies between crates in a workspace. This is useful if you want to prevent dev-dependencies from creating dependency cycles as that can cause issues, e.g. for cargo-release.

Usage

Run this command in a cargo workspace:

cargo ensure-no-cyclic-deps

The command will:

  • Analyze all workspace crates
  • Check for cyclic dependencies (including dev-dependencies)
  • Report any cycles found
  • Exit with code 1 if cycles are detected, 0 otherwise

Installation

cargo install --path .

Or from within the workspace:

cargo install cargo-ensure-no-cyclic-deps

Example Output

When cycles are detected:

Error: Cyclic dependencies detected!

Cycle 1:
  crate_a -> crate_b -> crate_c -> crate_a

Cycle 2:
  crate_x -> crate_y -> crate_x

When no cycles are found:

No cyclic dependencies found.

License

MIT

Commit count: 0

cargo fmt