Contributors-Readme-Action is a simple GitHub action to automate contributors list in README file. Not only contributors, collborators, bots or any user.
As it uses a GitHub action it's secure and very easy to integrate into your projects. Once added it will automatically add all the repository contributors to your readme in a well-formatted table, including future contributors 😄. Now why would you need a contributors list? Come on man, show some love to the ones who contribute to your project.😉
The contributors list is fetched from GitHub API.
If you're new to actions, add these to your .github/workflows/main.yml
file. If this file does not exist, create one.
on: [push, pull_request]
jobs:
contrib-readme-job:
runs-on: ubuntu-latest
name: A job to automate contrib in readme
steps:
- name: Contribute List
uses: akhilmhdh/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
That's it!
To add it to your to your existing workflow, append this to your current .yml
workflow script.
- uses: akhilmhdh/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Currently GITHUB_TOKEN doesn't have permission to directly commit on a protected branch. To solve this you may need to replace the github action token with an admin acc token as mentioned in this post by phips28. Hopefully in the future GitHub can give an exception to actions in workflow.
- Add a
README.md
file - Add the below comment inside your
README.md
where you want it to appear.
<!-- readme: contributors -start -->
<!-- readme: contributors -end -->
- Save it, wait for the action to complete and tadaa 😄
- What if you wanted to add direct collaborators of a project, no worries
## Collaborators
<!-- readme: collaborators -start -->
<!-- readme: collaborators -end -->
## Contributors
<!-- readme: contributors -start -->
<!-- readme: contributors -end -->
- Now you decided that you want to join this into one list, no issue
## Contributors
<!-- readme: collaborators,contributors -start -->
<!-- readme: collaborators,contributors -end -->
- Then you decided to add some github users who are important figure in this project
## Contributors
<!-- readme: <username1>,collaborators,<username2>,contributors -start -->
<!-- readme: <username1>,collaborators,<username3>,contributors -end -->
The order of the list will be given priority. So username1 will appear first collaborators then username2 likewise.(No brackets for usernames)
The subject inside start and end must be same.
keywords | Definition |
---|---|
contributors | contributors of the repo |
collaborators | contributors of the repo |
sponsors | sponsors of the repo's user/organization |
bots | bots of the repo |
username | any username that you want to add on to the list |
You can add these optional parameters in your action script to modify the appearance of the resulting list.
- name: Contribute List
uses: akhilmhdh/[email protected]
with:
image_size: 100
Option | Default Value | Description | Required |
---|---|---|---|
image_size | 100(px) | Size of square images in the stack | false |
readme_path | README.md | Path of the readme file you want to update | false |
columns_per_row | 6 | Number of columns in a row | false |
collaborators | direct | Type of collaborators options: all/direct/outside | false |
commit_message | contrib-readme-action has updated readme | Commit message of the github action | false |
committer_username | contrib-readme-bot | Username on commit | false |
committer_email | email id of committer | [email protected] | false |
This project is licensed under the MIT License - see the LICENSE file for details.
- all-contributors-bot: Inspiration for this project
- image-shield: For the cool badges