Skip to content

Configurable product management analysis tool for analyzing the health of git repositories and their contributors.

License

Notifications You must be signed in to change notification settings

bmartinson/repo-hero

Repository files navigation

repo-hero

A configurable product management analysis toolkit for analyzing the health of git repositories and their contributors.

Application Configuration

A CLI-based configuration wizard will be included as part of the package in the future to help you build your application config. This configuration is stored at the same directory level as gather-and-rank.js and is named config.json. Here is an example of a usable application configuration:

All top level properties are required, except for aliases, ignoreUsers, commitsPerPullRequest

{
  "tokens": {
    "github": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxx" // use a personal access token for GitHub API access
  },
  "directory": "/Users/bmartinson/Development", // where to look for .git projects
  "startDate": "2023-09-01", // the starting range for analysis
  "endDate": "2024-09-01", // the ending range for analysis
  "commitsPerPullRequest": 12.5, // if your projects don't use pull requests and rely mostly on commits, use this to synthesize deliverables (pseudo-PRs)
  "projects": [
    "@bmartinson/repo-hero" // these are all of the project including owner name owner/repo - @ handles should be included
  ],
  "aliases": {
    "User A": [ // the resulting name for a user we care about
      "user-a", // a known alias that we want to turn into "User A"
      "usera"
    ],
    "Brian Martinson": [
      "bmartinson",
      "bmartinson13",
    ]
  },
  "ignoreUsers": [
    "DevOps" // user names that we will remove from the results output
  ]
}

Running The Application

These tools are a work in progress. You can expect a more single run e2e tool that will generate webpages and utilize chart.js, etc. in order to visualize your data gathering. For now, use these various steps to aggregate data.

#
# Gather data based on your config.json file. Continually adjust your config
# for new date ranges to gather all of the information you need.
#
npm start # repeat for each config.json mod

# now, combine all of your .results_history output
npm run combine

# once combined, generate useful csv files so you may plot and graph
npm run chart

About

Configurable product management analysis tool for analyzing the health of git repositories and their contributors.

Topics

Resources

License

Stars

Watchers

Forks