rustydocs
Concepts

Workspace

Monorepo discovery, affected analysis, dependents, and test planning.

rusty treats Cargo workspaces as first-class citizens. The rusty workspace family wraps cargo metadata and git history to answer questions large monorepos ask daily.

List members

rusty workspace list

Prints every workspace member with its directory path.

Affected packages

Find crates touched since a git ref (default HEAD~1):

rusty workspace affected main
rusty workspace affected HEAD~3

Include reverse dependents — crates that depend on an affected package:

rusty workspace affected main --reverse

This is the set you typically want for integration tests when a shared library changes.

Dependents

rusty workspace dependents serde

Lists every workspace crate that depends on serde (by package name).

Version drift

rusty workspace unify

Reports when different workspace crates pin different versions of the same dependency. Output suggests bumping lower versions to match the highest in use.

Test plans

Emit a ready-to-run test command for the affected set:

rusty workspace test-plan main

Example output:

rusty test --affected main
# equivalent:
rusty test -p api -p worker -p cli

Copy the -p form into CI matrices or local pre-push hooks.

Requirements

  • Run inside a git repository with a valid Cargo workspace root.
  • affected and test-plan need a resolvable base ref (main, origin/main, HEAD~1, etc.).

See Monorepo workflows for CI integration patterns.

On this page