coq-community / manifesto

Documentation on goals of the coq-community organization, the shared contributing guide and code of conduct.
Other
68 stars 6 forks source link

List of participants to coq-community is not easy to find and not visible enough. #61

Open Zimmi48 opened 5 years ago

Zimmi48 commented 5 years ago

Meta-issue

To show to the outer world that coq-community is an active organization, it would be useful to be able to show the list of participants, in particular the list of principal maintainers. For now, people can easily browse the list of hosted projects. Some of these projects provide a meta.yml and README.md with the maintainer information but that is not the case for all, and even when it is the case, it requires opening every project.

A solution could be to put this list on the coq-community website once we have one.

Another solution would be to adopt the coding used in https://github.com/nix-community/ which includes [maintainer=@user] in the description of each project, so the list of maintainer can be aggregated from the page with the repositories.

erikmd commented 5 years ago

Hi @Zimmi48, I vote for the last solution you propose, as maintaining the list of maintainers (no pun intended) could be easier if the number of information sources to update manually is limited…

For example, one can retrieve the list of @user mentioned in the description of the nix-community organization repos by running (after installing curl and jq):

curl -fsS https://api.github.com/orgs/nix-community/repos | \
 jq 'map({url: .html_url, maintainer: .description | scan("maintainer=(@[a-zA-Z0-9-]+)")[0]})'

which yields:

[
  {
    "url": "https://github.com/nix-community/nixbox",
    "maintainer": "@zimbatm"
  },
…
]
Zimmi48 commented 5 years ago

Nice! What to do for repositories with several principal maintainers? Should we extend the syntax or select a single representative? What would be a good way of extending the syntax that remains compatible with such a jq-based parsing?

erikmd commented 5 years ago

@Zimmi48

What to do for repositories with several principal maintainers?

good question;

Should we extend the syntax or select a single representative?

The latter solution might be a bit unfair if there are several principal maintainers… so the former solution may seem preferable.

Regarding the syntax of GitHub usernames (cf. https://github.com/shinnn/github-username-regex) it amounts to (ASCII) alphanumeric characters and hyphens, so it is easy to extend the syntax to have no ambiguity => I propose:

What would be a good way of extending the syntax that remains compatible with such a jq-based parsing?

The following snippet should work (the bulk of the work is actually done by jq's support of regexps):

curl -fsS https://api.github.com/orgs/nix-community/repos \
  | jq 'map({url: .html_url, maintainers: .description | scan("maintainers?=[@a-zA-Z0-9, -]+") | [ scan("@[a-zA-Z0-9-]+")]})'
erikmd commented 5 years ago

If we select this idea, one may also want to write either:

Zimmi48 commented 5 years ago

I have implemented the suggested solution. I am fond of the idea of a script to generate a Markdown table. I would put it in a specific file in the repository, or in the wiki.