all-contributors icon indicating copy to clipboard operation
all-contributors copied to clipboard

Add contributions on a per-subdirectory basis to better describe monorepo package maintainers

Open mattrosno opened this issue 3 years ago • 2 comments

Is your feature request related to a problem? Please describe.

The Carbon Design System primarily uses monorepos, where each repo includes multiple packages. We're looking to recognize contribution in general, but also specify maintainers on a per-package basis.

Describe the solution you'd like

When using the maintenance key (or any key for that matter), be able to specify if that key is specific to a subdirectory of the repo. For example, maybe something like this:

{
  "projectName": "carbon",
  "projectOwner": "carbon-design-system",
  "repoType": "github",
  "repoHost": "https://github.com",
  "contributors": [
    {
      "login": "username",
      "name": "User Name",
      "profile": "https://github.com/username",
      "contributions": [
        "code",
        "doc",
        "infra",
        "review",
        "maintenance"
      ]
    }
  ]
}

Could be more specific like:

{
  "projectName": "carbon",
  "projectOwner": "carbon-design-system",
  "repoType": "github",
  "repoHost": "https://github.com",
  "contributors": [
    {
      "login": "username",
      "name": "User Name",
      "profile": "https://github.com/username",
      "contributions": [
        "code",
        "doc",
        "infra",
        "review",
        {
          "key": "maintenance",
          "subDirectories": [
            "packages/react",
            "packages/styles"
          ]
        }
      ]
    }
  ]
}

Describe alternatives you've considered

  1. List GitHub teams / users in CODEOWNERS file and then write a custom solution to use GitHub APIs to fetch team members and user information to determine maintainers on a package basis.
  2. Manually list names of maintainers in READMEs in each package's folder.

mattrosno avatar May 25 '22 19:05 mattrosno

How would that look like on the (overall) table?

Berkmann18 avatar Aug 16 '22 11:08 Berkmann18

How would that look like on the (overall) table?

I would keep it simple and render the same way on the main table. You could get fancy, but there's probably no need.

flanakin avatar Sep 03 '23 07:09 flanakin