Repo
REE-poh
A repository: the central location where a project's source code and version history are stored.
A repo (repository) is where all the source code for a project lives, along with its complete version history. Every change ever made is tracked. Every version is recoverable. It is the single source of truth for a codebase.
Most teams use Git as their version control system and host repos on GitHub, GitLab, or Bitbucket. A repo contains not just code but also configuration files, documentation, CI/CD pipelines, and issue tracking. When someone says "check the repo," they mean go look at the code and its history.
Public repos are open source and visible to anyone. Private repos are restricted to team members. The decision about which to use has real business implications for developer tools companies.
Examples
A new engineer joins the team.
On day one, the engineer clones the main repo to their laptop. The entire codebase and its history download in minutes. They can read every line of code, see every past change, and understand who wrote what and why.
A developer tool company decides on open source strategy.
The company makes its core SDK repo public on GitHub. Within six months, the repo has 2,000 stars, 150 forks, and 30 external contributors. The public repo becomes both the product distribution channel and the primary developer marketing asset.
A team audits their repo structure.
The team discovers they have 47 repos across three GitHub organizations, with inconsistent naming and no clear ownership. They consolidate to 12 well-organized repos with clear CODEOWNERS files and standardized CI/CD pipelines.
In practice
Read more on the blog
Frequently asked questions
What is the difference between a repo and a branch?
A repo is the entire project. A branch is a parallel version of the code within that repo. Think of the repo as the tree and branches as, well, branches. The main branch is the trunk. Feature branches diverge from it and merge back when the work is done.
Should a company use a monorepo or multiple repos?
Monorepos keep all code in one repo, which simplifies cross-project changes and dependency management. Multiple repos give teams autonomy and clearer boundaries. Google and Meta use monorepos. Most startups use multiple repos. Neither is universally better.
Related terms
A parallel version of the code that lets developers work on changes without affecting the main codebase.
A proposal to merge code changes from one branch into another, with review.
A single repository that contains multiple projects, packages, or services managed together.
Software whose source code is publicly available for anyone to view, use, modify, and distribute.

Want the complete playbook?
Picks and Shovels is the definitive guide to developer marketing. Amazon #1 bestseller with practical strategies from 30 years of marketing to developers.