Cross-project refs treat public models as a stable API, not a package
Project dependencies
dbt Labs documentation on packages versus project dependencies that resolve public models through a metadata service.
Based on
Project dependencies | dbt Developer Hub
The docs distinguish packages from project dependencies. A package installs another project's full source into yours so you can call its macros and run its models. A project dependency instead uses a background metadata service to resolve refs to public models defined elsewhere; you do not parse or run those upstream models yourself.
For data teams at scale, packaging every shared transformation as source code is a poor fit for multi-team collaboration. Project dependencies let producers own quality and stability while consumers depend on a dataset interface. Setup requires Enterprise or Enterprise+, models marked access public, a production environment with a successful job that emits manifest.json, and unique project names in the account.
That split maps shared meaning to an explicit contract between projects: upstream meaning is published as public models, downstream systems bind by reference, and governance sits with the maintainer rather than with copied code.
Put this to work on CoreModels
Related connectors and recipes
Take the next step
Try CoreModels, talk with our team, or explore more resources.