Reporting tool to calculate contributor reputation based on configurable algorithm for each provider. Currently supported providers: github
and gitlab
.
Note:
reputation
is a value between 0 (no/low reputation) to 1.0 (high reputation). The algorithms used in this repo currently consider only the provider information about each contributor so thereputation
is more a identity confidence score until additional/external data sources are introduced.
brew tap mchmarny/reputer
brew install mchmarny/reputer/reputer
reputer [flags]
Supported flags:
--commit
- Commit at which to end the report (optional, inclusive)--file
- Write output to file at this path (optional, stdout if not specified)--repo
- Repo URI (required, e.g. github.com/owner/repo)--stats
- Includes author commit stats (optional, false)--version
- Prints version only (optional, false)--debug
- Turns logging verbose (optional, false)
example:
```shell
reputer \
--repo github.com/mchmarny/reputer \
--commit 3c239456ef63b45322b7ccdceb7f835c01fba862
results in:
{
"repo": "github.com/mchmarny/reputer",
"generated_on": "2023-06-10T14:49:19.417079Z",
"total_commits": 338,
"total_contributors": 4,
"contributors": [
{
"username": "mchmarny",
"reputation": 0.95,
},
...
]
}
Same command with --stats
{
"repo": "github.com/mchmarny/reputer",
"generated_on": "2023-06-10T14:49:19.417079Z",
"total_commits": 338,
"total_contributors": 4,
"contributors": [
{
"username": "mchmarny",
"reputation": 0.95,
"context": {
"company": "@Company",
"created": "2010-01-04T00:19:57Z",
"name": "Mark Chmarny"
},
"stats": {
"verified_commits": true,
"strong_auth": true,
"age_days": 4906,
"commits": 282,
"unverified_commits": 0,
"public_repos": 149,
"private_repos": 26,
"followers": 231,
"following": 8
}
},
...
]
}
This is my personal project and it does not represent my employer. While I do my best to ensure that everything works, I take no responsibility for issues caused by this code.