Introduction
All Contributors defines a specification for recognizing project contributors beyond code commits. It provides a CLI tool and a GitHub bot that automate adding contributor profiles, contribution-type emoji badges, and summary tables to your README, covering roles like documentation, design, testing, mentoring, and more.
What All Contributors Does
- Defines a contribution type taxonomy covering code, docs, design, testing, talks, and 30+ roles
- Generates a formatted contributor table with avatars and role badges for your README
- Provides a CLI tool for adding contributors and regenerating the table locally
- Offers a GitHub bot that responds to comment commands to add contributors via pull requests
- Stores contributor data in a
.all-contributorsrcJSON file for version control
Architecture Overview
The system centers on a .all-contributorsrc configuration file that lists contributors and their contribution types. The CLI reads this file, fetches GitHub profile data (avatar, profile link), and regenerates a Markdown table between designated comment markers in your README. The GitHub bot listens for issue or PR comments matching @all-contributors please add @user for code, then opens a PR that updates both the config file and the README table.
Self-Hosting & Configuration
- Run
npx all-contributors initto create the.all-contributorsrcconfig file - Add comment markers
<!-- ALL-CONTRIBUTORS-LIST:START -->to your README - Configure the number of columns, image size, and contribution types in the rc file
- Install the GitHub App for bot-driven contributor additions via comments
- Use
npx all-contributors generateto rebuild the table after manual config edits
Key Features
- 30+ contribution types: code, docs, design, testing, ideas, mentoring, financial, and more
- GitHub bot: add contributors by commenting on issues or pull requests
- Badge count: displays a total contributor count badge at the top of the README
- Flexible layout: configure column count, image size, and link targets
- Emoji key: each contribution type maps to a recognizable emoji for quick scanning
Comparison with Similar Tools
- GitHub Contributors graph — Shows only code committers; All Contributors recognizes all contribution types
- CONTRIBUTORS.md — Manual plain-text list; All Contributors auto-generates with avatars and badges
- Sponsor sections — Financial only; All Contributors covers the full spectrum of contributions
- git shortlog — Commit-count ranking; All Contributors is role-based, not volume-based
FAQ
Q: Does it only work with GitHub? A: The CLI works with any Git host. The bot is GitHub-specific, but the spec and CLI are platform-agnostic.
Q: Can I add contributors who are not on GitHub? A: Yes. The CLI allows manually specifying names, links, and avatars in the config file.
Q: Does it create noise in my commit history? A: Each contributor addition is one small commit updating the config and README. The bot batches multiple additions into a single PR when possible.
Q: How do I customize which contribution types to show?
A: Edit the types field in .all-contributorsrc to include only the contribution categories relevant to your project.