Documentation menu
Early Regression Guard

Map project relationships

Tell Early which projects call which, so it can catch a change in one service that breaks another. This isn't a one-time setup step — come back and add relationships as your team connects more projects.

Why this matters

Most regressions aren’t caused by the change itself — they show up in whatever depends on it. A change in a backend service can break a frontend that calls it, even though the frontend’s own code never changed. Early can only catch that kind of regression if it knows the two projects are connected — mapping dependencies is what makes cross-service regression detection possible at all.

What this does

Every dependency has two sides: a project’s consumers are what call it, and its providers are what it calls.

Early's dependency graph showing web-frontend and admin-dashboard depending on api-gateway, which depends on backend, which depends on auth-service and notification-worker, all of which depend on shared-utils

Once configured, this graph is always available at Setup → Projects → Dependencies. Each project is colored by its role: a Consumer only depends on others, a Service both depends on others and is depended on, a Library is only depended on, and an Isolated project has no dependencies mapped yet.

Prerequisites

At least two projects (set one up here if you only have one so far) — there has to be a second project to point at.

Steps

  1. Open Setup, then the Configuration tab, then Projects.

  2. Expand the project you want to configure.

    Early's project configuration expanded for backend, showing its consumers and providers lists at the bottom

  3. At the bottom, add the project’s consumers (projects that depend on it) or its providers (projects it depends on). Both lists only offer projects you’ve already set up — whether a dependency is an API consumer or a library consumer doesn’t matter, Early treats them the same way.

When to use this

Like inviting teammates, this step has no finish line — relationships grow as your system does. Come back and add new ones whenever your team connects another project, not just during initial setup.

Add a release candidate — the relationships you map here shape what a release candidate’s analysis actually covers.