Issy Long 0355c60787
dev-cmd/contributions: Retrieve a user's repo contributions over time
- Before each AGM it's currently a manual process for a PLC member to
  search commit logs and GitHub to figure out who contributed to
  Homebrew, so who should remain a member.
- I noticed that [looking at commits for a
  user](https://github.com/Homebrew/homebrew-core/commits?author=issyl0&since=2022-01-01&until=2023-01-01)
  would not count `Co-Authored-By`, which happens a lot now there's an
  autosquash action on PRs in `Homebrew/homebrew-core`, say if someone
  fixed a formula's build or tests or whatever and then the PR got
  auto-merged.
- Here's `brew contributions` that uses `git log` to be able to go back
  through all time or a specific time period (`--from`, `--to`). It's up
  to individual PLC discretion for "activity", but it does at least go
  some way to automating the data retrieval.
- Example (I can use my username as `--email` because my username is in
  all of the email addresses that I use for committing to Homebrew):

```
$ brew contributions --email=issyl0 --repos=brew,core
Person issyl0 directly authored 732 commits and co-authored 31 commits to brew, core in all time.
```
2022-08-03 16:53:37 +01:00
..
2022-06-15 16:35:49 -04:00
2022-05-30 14:59:14 +01:00
2022-05-10 00:12:06 +00:00
2022-06-29 11:47:57 -04:00
2022-07-21 18:14:48 +00:00
2022-07-28 18:07:46 +00:00
2022-02-22 15:27:43 +00:00
2022-06-14 16:06:05 -04:00
2022-06-14 16:06:05 -04:00
2022-04-28 10:40:16 -04:00
2022-04-30 22:05:35 +02:00
2022-06-30 08:56:21 +01:00
2022-06-30 08:56:21 +01:00
2022-06-14 16:06:05 -04:00
2022-07-25 18:31:35 +02:00
2022-06-29 11:34:49 -04:00
2022-06-30 03:39:29 +01:00
2022-07-04 10:13:01 -04:00
2022-06-29 11:34:49 -04:00
2022-06-29 11:47:57 -04:00
2022-06-10 19:32:32 +01:00
2022-07-03 16:24:05 +02:00
2022-06-17 19:47:57 +01:00
2022-06-02 03:25:55 +01:00

Homebrew Ruby API

This is the API for Homebrew.

The main class you should look at is the {Formula} class (and classes linked from there). That's the class that's used to create Homebrew formulae (i.e. package descriptions). Assume anything else you stumble upon is private.

You may also find the Formula Cookbook and Ruby Style Guide helpful in creating formulae.

Good luck!