{"id":13553138,"url":"https://github.com/akhilmhdh/contributors-readme-action","last_synced_at":"2025-04-05T00:10:40.880Z","repository":{"id":38348260,"uuid":"257056648","full_name":"akhilmhdh/contributors-readme-action","owner":"akhilmhdh","description":"A github action to automate a contributors section in readme.","archived":false,"fork":false,"pushed_at":"2024-06-16T15:54:04.000Z","size":3777,"stargazers_count":170,"open_issues_count":10,"forks_count":47,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T23:09:27.352Z","etag":null,"topics":["automation","bots","bots-contribute","collaborators","collaborators-contribte","contributors","contributors-welcome","github-actions","hacktoberfest","keyword","productivity-tools","readme","readme-md","username","workflow"],"latest_commit_sha":null,"homepage":"https://nicedoc.io/akhilmhdh/contributors-readme-action","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/akhilmhdh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2020-04-19T17:08:59.000Z","updated_at":"2025-03-12T01:37:21.000Z","dependencies_parsed_at":"2024-01-13T16:25:10.839Z","dependency_job_id":"61d5f3c4-8a0f-49b7-9f1d-f52572999707","html_url":"https://github.com/akhilmhdh/contributors-readme-action","commit_stats":{"total_commits":323,"total_committers":15,"mean_commits":"21.533333333333335","dds":0.2786377708978328,"last_synced_commit":"d358c8bc3ebf36c533d5a44b3349b417bc36268d"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akhilmhdh%2Fcontributors-readme-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akhilmhdh%2Fcontributors-readme-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akhilmhdh%2Fcontributors-readme-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akhilmhdh%2Fcontributors-readme-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akhilmhdh","download_url":"https://codeload.github.com/akhilmhdh/contributors-readme-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266565,"owners_count":20910836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["automation","bots","bots-contribute","collaborators","collaborators-contribte","contributors","contributors-welcome","github-actions","hacktoberfest","keyword","productivity-tools","readme","readme-md","username","workflow"],"created_at":"2024-08-01T12:02:18.195Z","updated_at":"2025-04-05T00:10:40.862Z","avatar_url":"https://github.com/akhilmhdh.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]](LICENSE)\n\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ch2 align=\"center\"\u003eContributors-Readme-Action\u003c/h3\u003e\n\u003c/p\u003e\n\nContributors-Readme-Action is a simple GitHub action to automate contributors list in README file. Not only contributors, collborators, bots or any user.\n\nAs 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 :smile:. Now why would you need a contributors list? Come on man, show some love to the ones who contribute to your project.:wink:\n\nThe contributors list is fetched from [GitHub API](https://developer.github.com/v3/repos/statistics/).\n\n## Contributors Readme Action Table\n\nBelow image shows the contributors table generated by this action.\n\n![contributors readme](./assets/contributors-table.png)\n\n\u003e You can take it even furthur by mixing it up with bots, custom users and more. Check out the [example](./contributors.md) provided.\n\n## Getting Started\n\n### First Step\n\nIf you're new to actions, add these to your `.github/workflows/main.yml` file. If this file does not exist, create one.\n\n```yml\non:\n    push:\n        branches:\n            - main\n\njobs:\n    contrib-readme-job:\n        runs-on: ubuntu-latest\n        name: A job to automate contrib in readme\n        permissions:\n          contents: write\n          pull-requests: write\n        steps:\n            - name: Contribute List\n              uses: akhilmhdh/contributors-readme-action@v2.3.10\n              env:\n                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n\nThat's it!\n\nTo add it to your existing workflow, **append** this to your current `.yml` workflow script.\n\n```yml\n# add required write permission\n- uses: akhilmhdh/contributors-readme-action@v2.3.10\n  env:\n      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n\n### Second Step\n\n1. Add a `README.md` file\n2. Add the below comment inside your `README.md` where you want it to **appear**.\n\n```md\n\u003c!-- readme: contributors -start --\u003e\n\u003c!-- readme: contributors -end --\u003e\n```\n\n3. Save it, wait for the action to complete and tadaa :smile:\n\n### But wait!!!\n\n-   What if you wanted to **add direct collaborators** of a project, no worries\n\n```md\n## Collaborators\n\n\u003c!-- readme: collaborators -start --\u003e\n\u003c!-- readme: collaborators -end --\u003e\n\n## Contributors\n\n\u003c!-- readme: contributors -start --\u003e\n\u003c!-- readme: contributors -end --\u003e\n```\n\n-   Now you decided that you want to **join** this into one list, no issue\n\n```md\n## Contributors\n\n\u003c!-- readme: collaborators,contributors -start --\u003e\n\u003c!-- readme: collaborators,contributors -end --\u003e\n```\n\n-   Then you decided to **add some github users** who are important figure in this project and want's to [**remove**](#operators) some users or bots, no worries\n\n```md\n## Contributors\n\n\u003c!-- readme: \u003cusername1\u003e,collaborators,\u003cusername2\u003e,contributors,\u003cusername3\u003e/- -start --\u003e\n\u003c!-- readme: \u003cusername1\u003e,collaborators,\u003cusername3\u003e,contributors,\u003cusername3\u003e/- -end --\u003e\n```\n\n\u003e The order of the list will be given priority. So username1 will appear first collaborators then username2 likewise.(No brackets for usernames)\n\n\u003e The subject inside start and end must be same.\n\n### Keywords\n\n| keywords      | Definition                                       |\n| ------------- | ------------------------------------------------ |\n| contributors  | contributors of the repo                         |\n| collaborators | collaborators of the repo                        |\n| sponsors      | sponsors of the repo's user/organization         |\n| bots          | bots of the repo                                 |\n| username      | any username that you want to add on to the list |\n\n-   [An example of this action can be found here](./contributors.md)\n\n### Operators\n\nOperators are in a nutshell simple modifiers that can be applied to a list like removing a person from a list. They can be applied accordingly to a keyword like `akhilmhdh/-` with a / as seperator.\n\n| operator | Definition                    | Example     |\n| -------- | ----------------------------- | ----------- |\n| /-       | remove the username from list | akhilmhdh/- |\n\n### Optional parameters\n\nYou can add these optional parameters in your action script to modify the appearance of the resulting list.\n\n```yml\n- name: Contribute List\n# add required write permission\n  uses: akhilmhdh/contributors-readme-action@v2.3.10\n  with:\n      image_size: 100\n```\n\n| Option                        | Default Value                                               | Description                                                     | Required |\n| ----------------------------- | ----------------------------------------------------------- | --------------------------------------------------------------- | -------- |\n| image_size                    | 100(px)                                                     | Size of square images in the stack                              | false    |\n| readme_path                   | README.md                                                   | Path of the readme file you want to update                      | false    |\n| use_username                  | false                                                       | To use username instead of full name                            | false    |\n| columns_per_row               | 6                                                           | Number of columns in a row                                      | false    |\n| collaborators                 | direct                                                      | Type of collaborators options: all/direct/outside               | false    |\n| commit_message                | docs(contributor): contrib-readme-action has updated readme | Commit message of the github action                             | false    |\n| committer_username            | \"\"                                                          | Username on commit                                              | false    |\n| committer_email               | \"\"                                                          | Email id of committer                                           | false    |\n| pr_title_on_protected         | docs(contributor): contributors readme action update        | Title of the PR that will be created if the branch is protected | false    |\n| auto_detect_branch_protection | true                                                        | To override auto protected branch detection                     | false    |\n\n\u003e committer_username and committer_email both must be provided to use as a replacement to GH action committer\n\n\u003e The action will update Readme as PR when the branch is protected, else it will directly commit it.\n\u003e But if your branch is protected and you passed personal access token to avoid PR mode by trusting the action, you could set auto_detect_branch_protection to false\n\n### Outputs\n\nFollowing outputs are generated on the execution of this action.\n\n| Output | Value  | Description                                                  |\n| ------ | ------ | ------------------------------------------------------------ |\n| pr_id  | string | Id of the generated PR when the branch is in protected mode. |\n\n## Contributing\n\nPlease see [CONTRIBUTING.md](/CONTRIBUTING.md) for getting started with the contribution.\n\nMake sure that you follow [CODE_OF_CONDUCT.md](/CODE_OF_CONDUCT.md) while contributing and engaging in the discussions.\n\n**When contributing, please first discuss the change you wish to make via an issue on this repository before making the actual change**.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n-   [all-contributors-bot](https://github.com/all-contributors/all-contributors): Inspiration for this project\n-   [image-shield](https://shields.io/): For the cool badges\n\n[contributors-shield]: https://img.shields.io/github/contributors/akhilmhdh/contributors-readme-action.svg?style=for-the-badge\n[contributors-url]: https://github.com/akhilmhdh/contributors-readme-action/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/akhilmhdh/contributors-readme-action.svg?style=for-the-badge\n[forks-url]: https://github.com/akhilmhdh/contributors-readme-action/network/members\n[stars-shield]: https://img.shields.io/github/stars/akhilmhdh/contributors-readme-action?style=for-the-badge\n[stars-url]: https://github.com/akhilmhdh/contributors-readme-action/stargazers\n[issues-shield]: https://img.shields.io/github/issues/akhilmhdh/contributors-readme-action.svg?style=for-the-badge\n[issues-url]: https://github.com/akhilmhdh/contributors-readme-action/issues\n[license-shield]: https://img.shields.io/github/license/akhilmhdh/contributors-readme-action.svg?style=for-the-badge\n[license-url]: https://github.com/akhilmhdh/contributors-readme-action/blob/master/LICENSE.txt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakhilmhdh%2Fcontributors-readme-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakhilmhdh%2Fcontributors-readme-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakhilmhdh%2Fcontributors-readme-action/lists"}