metadata-models/docs/entities/repository.md
A Repository is a first-class representation of a source-code repository (GitHub, GitLab, an internal
SCM, etc.). It is the genesis node of the software-to-data lifecycle —
repo → service → api → app → dataset — and produces the Services, APIs, and
Applications cataloged elsewhere. A Repository is not a tabular asset: it has no
columns, queries, statistics, quality, or preview.
Repositories are identified by a single field:
<platform>.<org>/<name>
(e.g. github.acme/payments, gitlab.acme/data-platform); native or unknown-platform repos may
omit the platform prefix.An example URN is urn:li:repository:github.acme/payments. The key itself is platform-agnostic — the
platform is carried on the dataPlatformInstance aspect rather than in the key.
The repositoryProperties aspect holds the descriptive metadata:
main, master).Apache-2.0, MIT).The repositorySource aspect records where the repository lives and how it is identified in its
source system: the externalUrl (web or clone URL) and the externalId (e.g. a GitHub numeric repo
id or an org/name slug).
The repositoryLineage aspect records provenance between repositories — currently forkOf, the
repository this one is a git fork of (RepositoryForkOf).
Beyond fork lineage, a Repository is the upstream anchor of the software-to-data chain: the Services
and APIs it produces point back to it via their SourcedFrom edges, and Agent Skills
may name it as their source of truth. A Repository profile therefore surfaces "what it produces" as
incoming SourcedFrom relationships.
Repositories support the standard governance aspects — ownership, tags, glossary terms, domains,
structured properties, and institutional memory — plus browse paths (browsePathsV2) and the standard
subTypes aspect (e.g. GIT_REPOSITORY).