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 listPrints 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~3Include reverse dependents — crates that depend on an affected package:
rusty workspace affected main --reverseThis is the set you typically want for integration tests when a shared library changes.
Dependents
rusty workspace dependents serdeLists every workspace crate that depends on serde (by package name).
Version drift
rusty workspace unifyReports 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 mainExample output:
rusty test --affected main
# equivalent:
rusty test -p api -p worker -p cliCopy the -p form into CI matrices or local pre-push hooks.
Requirements
- Run inside a git repository with a valid Cargo workspace root.
affectedandtest-planneed a resolvable base ref (main,origin/main,HEAD~1, etc.).
See Monorepo workflows for CI integration patterns.