Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

626 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Traces

A Symfony CLI application that turns a GitHub organization's activity into the static JSON files a contributors website can consume.

Originally based on PrestaShop/traces.

Installation

composer install
cp .env.example .env   # then set GH_TOKEN
cp config.dist.yml config.yml

Every call is a read on public data, so a fine-grained token scoped to Public repositories (read-only), without any additional permission, is enough.

It is read from GH_TOKEN, either exported in the environment or set in .env.

Usage

Every command accepts --config (default config.dist.yml). make generate runs them in order. Generated files land in output/.

# 1- Fetch the organization repositories
$ php bin/console traces:fetch:repositories
## output/gh_repositories.json

# 2- Fetch contributors and their commits (-r limits it to one repository)
$ php bin/console traces:fetch:contributors -r <repository>
## output/contributors.json

# 3- Fetch merged pull requests
$ php bin/console traces:fetch:pullrequests:merged
## output/gh_pullrequests.json

# 4- Fetch every pull request and its reviews
$ php bin/console traces:fetch:pullrequests:all
## output/gh_pullrequests_all.json

# 5- Fetch issues (pull requests excluded)
$ php bin/console traces:fetch:issues
## output/gh_issues.json

# 6- Fetch published security advisories and their credits
$ php bin/console traces:fetch:security-advisories
## output/gh_security_advisories.json

# 7- Generate contributor statistics
$ php bin/console traces:generate:contributors
## output/contributors_prs.json

# 8- Generate the newcomers list
$ php bin/console traces:generate:newcontributors --limitNew=10
## output/newcontributors.json

# 9- Generate the reviewers/issues/pull-requests leaderboards
$ php bin/console traces:generate:topstats
## output/top_reviewers.json, output/top_issues.json, output/top_pullrequests.json
## and output/contributors_prs.json is enriched with reviews / issuesOpened / pullRequestsOpened

# 10- Generate the security contributors leaderboard
$ php bin/console traces:generate:topsecurity
## output/top_security.json

Configuration

See config.dist.yml.

Option Description
organization GitHub organization to read from. Required.
exclusions Logins to leave out (bots, service accounts).
keepExcludedUsers Flag excluded contributors instead of filtering them out.
fieldsWhitelist Fields kept from the API result. Leave blank to keep them all.
keptRepositories Archived repositories to keep anyway.
mirroredRepositories Read-only splits: their commits are skipped, their pull requests kept.
repositoryCategories Repositories grouped by category. Anything unlisted falls into others.

Development

make hooks    # run the quality suite before every commit
make qa       # cs + stan + psalm + coverage
make cs-fix   # apply the coding standard

The project follows the Sylius coding standard, is analysed with PHPStan and tested with PHPUnit.

License

MIT, see LICENSE.md. Copyright (c) Since 2007 PrestaShop, (c) 2026 Guiziweb.

About

Micro CLI application to get all GitHub contributors for a specified repository

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages