# More details on syntax here: https://help.github.com/articles/about-codeowners/
* @c-parsons @jin @aiuto
/distribution/ @aiuto @fwe
/rules/ @juliexxia
/gazelle/ @achew22 @jayconrod
