{"id":41975487,"url":"https://github.com/bmartinson/repo-hero","last_synced_at":"2026-01-25T23:29:52.929Z","repository":{"id":253729116,"uuid":"844345457","full_name":"bmartinson/repo-hero","owner":"bmartinson","description":"Configurable product management analysis tool for analyzing the health of git repositories and their contributors.","archived":false,"fork":false,"pushed_at":"2026-01-16T01:33:52.000Z","size":219,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-16T12:23:18.081Z","etag":null,"topics":["cli","git","github","jira","kpi","nodejs","ranker"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bmartinson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-19T04:08:31.000Z","updated_at":"2026-01-16T01:33:55.000Z","dependencies_parsed_at":"2024-08-19T05:26:18.143Z","dependency_job_id":"a2520ffb-ff65-491d-8da3-71ec1c4fa12c","html_url":"https://github.com/bmartinson/repo-hero","commit_stats":null,"previous_names":["bmartinson/repo-hero"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bmartinson/repo-hero","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmartinson%2Frepo-hero","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmartinson%2Frepo-hero/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmartinson%2Frepo-hero/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmartinson%2Frepo-hero/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bmartinson","download_url":"https://codeload.github.com/bmartinson/repo-hero/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmartinson%2Frepo-hero/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28761814,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T23:06:19.311Z","status":"ssl_error","status_checked_at":"2026-01-25T23:03:50.555Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","git","github","jira","kpi","nodejs","ranker"],"created_at":"2026-01-25T23:29:52.194Z","updated_at":"2026-01-25T23:29:52.921Z","avatar_url":"https://github.com/bmartinson.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# repo-hero\n\nA configurable product management analysis toolkit for analyzing the health of git repositories and their contributors. You may consider this project in an **alpha** state. It is actively being developed in accordance with real world needs. Contributions are welcome.\n\n## Application Configuration\n\nA 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:\n\n_All top level properties are required, except for `aliases`, `ignoreUsers`, `commitsPerPullRequest`, `resultsName`_\n\n```javascript\n{\n  \"tokens\": {\n    \"github\": \"ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxx\" // use a personal access token for GitHub API access\n  },\n  \"directory\": \"/Users/bmartinson/Development\", // where to look for .git projects\n  \"startDate\": \"2023-09-01\", // the starting range for analysis\n  \"endDate\": \"2024-09-01\", // the ending range for analysis\n  \"resultsName\": \"2024-09\", // the name of the results json file, this is optional\n  \"commitsPerPullRequest\": 12.5, // if your projects don't use pull requests and rely mostly on commits, use this to synthesize deliverables (pseudo-PRs)\n  \"projects\": [\n    \"@bmartinson/repo-hero\" // these are all of the project including owner name owner/repo - @ handles should be included\n  ],\n  \"aliases\": {\n    \"User A\": [ // the resulting name for a user we care about\n      \"user-a\", // a known alias that we want to turn into \"User A\"\n      \"usera\"\n    ],\n    \"Brian Martinson\": [\n      \"bmartinson\",\n      \"bmartinson13\",\n    ]\n  },\n  \"ignoreUsers\": [\n    \"DevOps\" // user names that we will remove from the results output\n  ]\n}\n```\n\n## Running The Application\n\nThese 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.\n\n```sh\n### EDIT config.json ###\n\n# Quickly re-configure your config.json to focus on a year\nnpm run config 2024\n\n# Or quickly do the same to focus on a given YYYY-MM.\nnpm run config 2024-12\n\n\n### DISCRETE-STEP OPERATION ###\n\n#\n# Gather data based on your config.json file. Continually adjust your config\n# for new date ranges to gather all of the information you need.\n# See\n#\nnpm run gather # repeat for each config.json mod\n\n# now, combine all of your .results_history output\nnpm run combine\n\n# once combined, generate useful csv files so you may plot and graph\nnpm run chart\n\n### ALTERNATIVE OPERATION ###\n\n#\n# Want to skip the three step process of gather, combine, chart? Just use start\n# to clear your workspace of any combined results and chart data and re-generate\n# it all with this.\n#\nnpm start\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmartinson%2Frepo-hero","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbmartinson%2Frepo-hero","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmartinson%2Frepo-hero/lists"}