What a CODEOWNERS File Is For
A CODEOWNERS file routes a pull request to the people who know that path. A file that assigns the whole repo to one team does not.
A CODEOWNERS file tells GitHub who to request review from when a pull request touches a path. The useful version is specific. The billing job goes to the people who know the billing job. The version that lists the whole engineering team on every path is a way of saying the review is optional.
A file that is specific enough
Put it at .github/CODEOWNERS. Later rules override earlier ones, so the broad fallback goes first and the paths you actually care about go after it. Prefer a GitHub team to a list of people who will leave.
# Fallback. Not the review policy.
* @acme/engineering
/app/Jobs/ @acme/billing
/docs/adr/ @acme/engineering If most of the file is the fallback, you do not have owners. You have a default that requests the same people for a copy change and a payment change. Required review then means "someone on this large team", which is the same as no one.
What the file cannot know
The file knows paths. It does not know that the nightly job must not run on two servers, or that the lock is there because of a double charge in March. GitHub will request the billing team. Someone on that team still has to know whether this change is safe. That fact is not in the file, and a tidy CODEOWNERS entry does not create it.
Update the file when a team splits or a directory moves. An entry for a team that was renamed is a required review nobody can give, and the pull request sits until someone notices.
Give the requested reviewer the reason
Prodigent puts the team's knowledge beside the line the change touches, so the person CODEOWNERS requested can see why that path is the way it is.
Try Prodigent free