Stop breaking packages you didn't know existed. diffray tracks cross-package dependencies and catches issues before they cascade.
The bigger it gets, the harder it gets
Change one file, break 5 packages. No way to know which packages depend on shared code until something breaks.
Each package evolves differently. Different linting rules, different patterns, different quality levels.
PRs touch multiple packages. Reviewers need expertise in all areas, or issues slip through.
Internal package versions drift. Breaking changes propagate silently. Integration issues surface late.
diffray analyzes your workspace structure and provides context-aware reviews
When you change shared code, diffray maps every package that depends on it and flags potential breaking changes.
"This change affects @app/ui, @app/forms, and @app/dashboard. Consider the impact on form validation."
Define which packages can import from which. Prevent coupling creep and maintain clean architecture.
"@app/core should not import from @app/web. This creates a circular dependency risk."
Apply team conventions across all packages. Same quality bar everywhere, regardless of package age.
"This package uses default exports, but team standard is named exports. See @app/components for examples."
Know which packages need testing based on changes. Don't waste CI time testing unaffected code.
"Changes to @shared/utils affect 12 packages. Recommend running tests for: @app/auth, @app/payments."
Get cross-package intelligence on every PR. No more surprise breakages.
Start Free Trial