#repo #enforce #codeowners #git #owner #path #github

app codeowners-enforcer

Enforce CODEOWNERS files on your repo

3 stable releases

1.0.3 Jun 28, 2019

#4 in #enforce

MIT license

9KB
156 lines

codeowners-enforcer

Enforce CODEOWNERS files on your repo

  • Ensure that every file in your repo is owned by someone.
  • Written in Rust for superb performance in even the largest repos.

Install

With npm:

npm install --global codeowners-enforcer

With Cargo:

cargo install codeowners-enforcer

Usage

codeowners-enforcer works by finding your CODEOWNERS file in a known location as defined by GitHub.

Then it walks through your file tree asserting that every file has a code owner.

If any files don't have a code owner, it will return their relative paths and exit with 1:

codeowners-enforcer
Oops! Found files without CODEOWNERS!

file.one
path/to/file.two
path/to/file.three

Fix: Please delete these files, move them, or add owners to them in /path/to/CODEOWNERS

If you want to return just the file paths, pass --quiet or -q:

codeowners-enforcer --quiet
one.txt
path/to/two.sh
path/to/three.py

If you want to ignore files, pass --ignore <pattern> or -i:

codeowners-enforcer --ignore "path/**/*.py"
one.txt
path/to/two.sh

You can also pass multiple ignores:

codeowners-enforcer -i "path/**/*.py" -i "path/**/*.sh"
one.txt

If you want to only check certain files, pass <patterns...>:

codeowners-enforcer "**/*.sh" "**/*.py"
path/to/two.sh
path/to/three.py

Dependencies

~6–15MB
~165K SLoC