{"id":15590170,"url":"https://github.com/bkeepers/owners","last_synced_at":"2025-06-17T11:09:45.318Z","repository":{"id":34218507,"uuid":"38076936","full_name":"bkeepers/OWNERS","owner":"bkeepers","description":"a human and machine readable format that specifies who is responsible for maintaining a project","archived":false,"fork":false,"pushed_at":"2017-09-27T14:32:28.000Z","size":24,"stargazers_count":67,"open_issues_count":2,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-30T09:55:09.535Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bkeepers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-25T22:05:55.000Z","updated_at":"2025-03-01T02:36:13.000Z","dependencies_parsed_at":"2022-08-29T18:32:05.446Z","dependency_job_id":null,"html_url":"https://github.com/bkeepers/OWNERS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bkeepers/OWNERS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkeepers%2FOWNERS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkeepers%2FOWNERS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkeepers%2FOWNERS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkeepers%2FOWNERS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bkeepers","download_url":"https://codeload.github.com/bkeepers/OWNERS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkeepers%2FOWNERS/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260346879,"owners_count":22995151,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T23:20:30.958Z","updated_at":"2025-06-17T11:09:40.300Z","avatar_url":"https://github.com/bkeepers.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `OWNERS` files\n\nKnowing who owns a project or piece of code is often tribal knowledge, which makes it difficult to know who to ask for help, feedback, or review. `OWNERS` files specify who is responsible for maintaining a project or specific files in a project, and may be used to notify maintainers of modifications or to enforce approval in reviews.\n\nFor example:\n\n```\n$ cat OWNERS\n# Specify owners by email address.\nuser@example.com\n\n# …or GitHub username\n@username\n\n# …or GitHub team\n@org/team\n\n# …and even limit to specific paths\n@org/js *.js\n@org/legal LICENSE*\n```\n\n## `OWNERS` file format\n\nThe syntax of the `OWNERS` file is, roughly:\n\n```\nlines      := (\\s* line? \\s* \"\\n\")*\n\nline       := directive | comment\n\ndirective  := \"set noparent\"\n              |  identifier (\\s* glob)*\n              |  \"*\"\n\nidentifier := email_address\n             | username\n             | team\n\nusername   := @[a-zA-Z0-9-]+\n\nteam       := @[a-zA-Z0-9-]+/[a-zA-Z0-9-]+\n\nglob       := [a-zA-Z0-9_-*?]+\n\ncomment    := \"#\" [^\"\\n\"]*\n```\n\nA `username` is a GitHub username (e.g. @bkeepers). Email addresses must follow the `foo@chromium.org` short form. The specified `user` is considered an \"OWNER\" for all files in the directory. A `*` (wildcard) indicates that all committers are owners.\n\nIf a glob is specified, the line only applies to files in that directory that match the filename glob. Filename globs follow the simple UNIX shell conventions (`*` and `?` are supported). Relative and absolute paths are not allowed (globs may only refer to the files in the current directory).\n\nIf the `set noparent` directive used, then only entries in this `OWNERS` file apply to files in this directory; if the `set noparent` directive is not used, then entries in `OWNERS` files in parent directories also apply (up until a `set noparent` is encountered).\n\n## Who should be in an `OWNERS` file?\n\nOnly the people who are actively investing energy in the improvement of a directory should be listed as `OWNERS`. `OWNERS` are responsible for ensuring the quality of code in their directory remains high and improves over time.\n\n## Attribution\n\nThis specification is inspired by [Chrome's OWNERS files](https://www.chromium.org/developers/owners-files).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkeepers%2Fowners","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbkeepers%2Fowners","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkeepers%2Fowners/lists"}