-
Notifications
You must be signed in to change notification settings - Fork 2k
feat(eng): add repo-specific contributor types #507
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(eng): add repo-specific contributor types #507
Conversation
- Add eng/README.md documenting maintainer utilities - Add eng/contributor-report.mjs for generating contributor reports - Add eng/add-missing-contributors.mjs for automating contributor additions - Add eng/utils/graceful-shutdown.mjs for script lifecycle management - Update eng/update-readme.mjs with minor fixes - Update package.json with new contributor scripts Generated-by: GitHub Copilot <copilot@github.com> Signed-off-by: Ashley Childress <6563688+anchildress1@users.noreply.github.com>
- Modify generateMarkdownReport to include per-user sections with PR details - Remove total PR count and simplify PR link format Commit-generated-by: GitHub Copilot <copilot@github.com> Signed-off-by: Ashley Childress <6563688+anchildress1@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR enhances the contributor recognition system by adding custom contribution types specific to this repository (instructions, prompts, agents, collections) and implements automated contributor detection and reporting tooling.
Key changes:
- Custom contributor types configured in
.all-contributorsrcto better reflect repo-specific contributions - New contributor reporting scripts that analyze merged PRs and detect missing contributors
- Updated CI workflow to automatically check and report missing contributors weekly
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
.all-contributorsrc |
Adds custom contribution types (instructions, prompts, agents, collections), ignore list, and migrates existing contributors to new types |
package.json |
Adds contributors:report script and updates keywords |
eng/contributor-report.mjs |
New script to generate markdown reports of missing contributors by analyzing merged PRs |
eng/add-missing-contributors.mjs |
New script to automatically add missing contributors with inferred contribution types |
eng/utils/graceful-shutdown.mjs |
Utility for graceful shutdown handling in Node scripts |
eng/README.md |
Documentation for the new contributor tooling |
.github/workflows/contributors.yml |
Updates workflow to check/report missing contributors and adds timeout |
CONTRIBUTING.md |
Documents the new contributor recognition process and custom types |
README.md |
Auto-generated changes reflecting new contributor types and badge updates |
.gitignore |
Excludes reports directory from version control |
aaronpowell
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ooo nifty, I didn't know you could do something like this.
There are some comments from Copilot on the regexes and stuff, can you review to see if any are actually valid
- eng/contributor-report.mjs: condensed per-user layout; emit per-PR fenced plaintext snippets; removed normalizeOneLine() Generated-by: GitHub Copilot <copilot@github.com> Signed-off-by: Ashley Childress <6563688+anchildress1@users.noreply.github.com>
…ssues - Improve contributor-report.mjs based on Copilot comments and sonar - Use fileURLToPath for Windows-safe main checks in contributor scripts - Fix README badge URLs by removing duplicate style parameters - Update graceful-shutdown.mjs to throw on process.exit failure for better error visibility Generated-by: GitHub Copilot <copilot@github.com> Signed-off-by: Ashley Childress <6563688+anchildress1@users.noreply.github.com>
- Improve errors in contributor-report.mjs - Add missing `skills` to custom contribution types list and docs - Refresh existing contributors Assisted-by: GitHub Copilot <copilot@github.com> Signed-off-by: Ashley Childress <6563688+anchildress1@users.noreply.github.com>
|
@aaronpowell I've got some basic changes made, but let me do some more validation testing before this gets merged. I'll post back with test results. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 8 out of 10 changed files in this pull request and generated 4 comments.
- Replace brittle grep check with exit code-based branching - Use continue-on-error and conditional report generation Generated-by: GitHub Copilot <copilot@github.com> Signed-off-by: Ashley Childress <6563688+anchildress1@users.noreply.github.com>
|
@aaronpowell It's good now 😄 Output is the same as before. I went ahead and added the missing Let's let it run for awhile and lmk if you want to try to automate any more out of it. I left the one |
|
@all-contributors please add @anchildress1 for infra, doc, code |
|
I've put up a pull request to add @anchildress1! 🎉 |
Pull Request Checklist
npm startand verified thatREADME.mdis up to date.Description
@aaronpowell
I realize I probably should have started a discussion first, but I started out just playing with the contributors library and got a little carried away 😆 Tbh, I'm not incredibly attached—I just hate wasting code when it could be useful. Let me know if you want changes or something taken back out!
Type of Contribution
Additional Notes
I had to stop myself from adding a bot that does all this for you automatically! I figure less is safer, so I kept everything to the report-friendly version and an auto-add script strictly for local use. That last one I wasn't going to include at all, but then decided it could be used for automation later if one were so inclined.
This is what that report looks like with markdown formatted in workflow output summary:
By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.