How to Add Contribution Guidelines to an Awesome List: Step-by-Step Implementation
Create a CONTRIBUTING.md file at your repository root, link to it from your README.md, and include a CODE_OF_CONDUCT.md and pull request template to standardize contributions, following the exact structure maintained in the sindresorhus/awesome repository.
The sindresorhus/awesome project defines the standard for curated technical resource lists. Adding comprehensive contribution guidelines helps potential contributors understand submission workflows, formatting requirements, and community standards before they open a pull request. By mirroring the file organization and content patterns of the original Awesome repository, you create a consistent experience that aligns with established open-source conventions.
Create a CONTRIBUTING.md File
Start by creating a CONTRIBUTING.md file in the root directory of your repository. This file serves as the central hub for contribution instructions, explaining the code of conduct, pull request processes, and list creation guidelines.
The official Awesome repository provides a ready-made template you can adapt. According to the source code at contributing.md, your file should begin with a reference to the Code of Conduct and outline specific steps for different contribution types.
# Contribution Guidelines
Please note that this project is released with a
[Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating you agree
to its terms.
## Adding an awesome list
Make sure your pull request follows the [list of guidelines](
pull_request_template.md).
## Creating your own awesome list
To start a new list, see [CREATE‑LIST.md](CREATE-LIST.md).
## Adding something to an existing list
1. Fork the repository.
2. Edit the appropriate `README.md` section.
3. Submit a pull request following the template.
Link to Guidelines from Your README
Visitors must be able to discover your contribution guidelines easily. Add a prominent link in your README.md (or awesome.md) that points to the CONTRIBUTING.md file.
As implemented in lines 63-66 of readme.md, place the link near the top of your documentation using clear formatting:
<p align="center">
<a href="awesome.md">What is an awesome list?</a>
<a href="CONTRIBUTING.md">Contribution guide</a>
<a href="CREATE-LIST.md">Creating a list</a>
</p>
Include a Code of Conduct
Contributor Covenant standards require explicit documentation of expected community behavior. The Awesome project maintains a separate CODE_OF_CONDUCT.md file and references it prominently in the contribution guidelines.
As shown in line 3 of contributing.md, include this notice at the top of your CONTRIBUTING.md:
Please note that this project is released with a
[Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating you agree
to its terms.
This establishes clear behavioral expectations and protects community members by referencing an enforceable standard.
Add a Pull Request Template
Standardize submissions by creating a .github/PULL_REQUEST_TEMPLATE.md file. This template ensures contributors provide necessary information consistently, reducing review friction.
Copy the structure from the upstream pull_request_template.md:
## Checklist
- [ ] The entry follows the formatting guidelines
- [ ] The repository link is correct
- [ ] Description is clear and concise
- [ ] No duplicate entries
## What does this PR do?
<!-- Explain the purpose of the change -->
Store this file in the .github/ directory so GitHub automatically populates new pull requests with this content.
Document New List Creation (Optional)
If your repository allows contributors to create entirely new awesome lists under your organization, provide explicit instructions. Reference the CREATE-LIST.md file within your CONTRIBUTING.md to guide users through the list creation process.
Add this section to your contribution guidelines:
## Creating your own awesome list
Follow the instructions in [CREATE‑LIST.md](CREATE-LIST.md) to add a new list.
This directs potential list maintainers to standardized creation workflows, ensuring consistency across all lists in your ecosystem.
Summary
- Create
CONTRIBUTING.mdat the repository root with clear sections for different contribution types and a link to your Code of Conduct. - Reference the guidelines in your
README.md(lines 63-66 of the upstream readme demonstrate the exact placement). - Include a Code of Conduct by adding the standard notice from line 3 of the upstream contributing.md.
- Add a
.github/PULL_REQUEST_TEMPLATE.mdto standardize submissions and ensure contributors follow formatting rules. - Point to
CREATE-LIST.mdif you support the creation of new awesome lists within your organization.
Frequently Asked Questions
Where should I place the CONTRIBUTING.md file in my awesome list repository?
Place the CONTRIBUTING.md file in the root directory of your repository. This location ensures GitHub automatically surfaces the file when users open issues or pull requests, and it matches the structure used in the sindresorhus/awesome source code.
Do I need to copy the exact content from the original Awesome repository?
You should adapt the content to your specific needs while maintaining the core structure. The upstream contributing.md provides a proven template, but you must customize the specific guidelines, links, and requirements to match your list's unique formatting standards and community norms.
How do I enforce the Code of Conduct for my awesome list?
Include the standard reference at the top of your CONTRIBUTING.md file as shown in line 3 of the upstream version: "Please note that this project is released with a Contributor Code of Conduct." You must also create an actual CODE_OF_CONDUCT.md file (typically using the Contributor Covenant template) and reference it in all community interactions to establish enforceable behavioral standards.
What is the purpose of the PULL_REQUEST_TEMPLATE.md file?
The .github/PULL_REQUEST_TEMPLATE.md file automatically populates the description field when contributors open new pull requests. According to the pull_request_template.md in the source repository, this ensures every submission includes a checklist of requirements (formatting verification, link correctness, description clarity) and an explanation of the proposed changes, streamlining the review process.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →