CODEOWNERS editor and validation tool
<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.--> ### Proposal Via @dskim_gitlab > It'd be great if we had a script that checks and verifies the format of codeowner file. It'd be great to be able to see the parsed rules before pushing it out. See epic: https://gitlab.com/groups/gitlab-org/-/epics/4498 ### Requirements - This page would include advanced validations including possibly showing which line was causing an error. - Validations - Handle errors as listed in syntax errors ([docs](https://docs.gitlab.com/ee/user/project/codeowners/reference.html#error-handling-in-code-owners)) 1. Entries with spaces 1. Unparsable sections 1. Malformed owners 1. Inaccessible owners 1. Zero owners 1. Less than 1 required approvals - Notify when a conflicting rule has been created - Notify when rules are created for files/paths that don't exist - Possible tests: * Marking approvers that are users of GitLab but not eligible for approving because they are not members of the project * Marking entries that are valid usernames or emails but not found on the GitLab instance * Mark what part of a line is used as the path pattern, and what is ignored. ### Design [Figma](https://www.figma.com/file/eq2nf3B8MhB9xKrC0VzbPf/branch/Cprvwmckud34Ax9yPhS7Yl/Repository?type=design&node-id=393%3A10339&t=BivEfyOzqokHE3aw-1) | Valid state | Validating state | Has errors state | Errors expanded | | ------ | ------ | ------ | ------ | | ![image](/uploads/99840fdd790b7ffbeb7892ba2d304ac7/image.png) | ![image](/uploads/c86ddbc08f7f93341adc4d0659180b16/image.png) | ![image](/uploads/5be416dfa70c052ac1e1cdcc66c514c6/image.png) | ![image](/uploads/7f6348339cf19b626226f2909a08da15/image.png) | Leverages the work that was completed with https://gitlab.com/gitlab-org/gitlab/-/issues/216066+ #### Questions 1. Should the validation be handled when the content is changed or with a button?
epic