# How to Add Contribution Guidelines to an Awesome List: Step-by-Step Implementation

> Easily add contribution guidelines to your awesome list. Learn how to create a CONTRIBUTING.md file, link it in your README, and set up a Code of Conduct for clear community standards.

- Repository: [Sindre Sorhus/awesome](https://github.com/sindresorhus/awesome)
- Tags: how-to-guide
- Published: 2026-07-07

---

**Create a [`CONTRIBUTING.md`](https://github.com/sindresorhus/awesome/blob/main/CONTRIBUTING.md) file at your repository root, link to it from your [`README.md`](https://github.com/sindresorhus/awesome/blob/main/README.md), and include a [`CODE_OF_CONDUCT.md`](https://github.com/sindresorhus/awesome/blob/main/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`](https://github.com/sindresorhus/awesome/blob/main/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](https://github.com/sindresorhus/awesome/blob/main/contributing.md), your file should begin with a reference to the Code of Conduct and outline specific steps for different contribution types.

```markdown

# 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`](https://github.com/sindresorhus/awesome/blob/main/README.md) (or [`awesome.md`](https://github.com/sindresorhus/awesome/blob/main/awesome.md)) that points to the [`CONTRIBUTING.md`](https://github.com/sindresorhus/awesome/blob/main/CONTRIBUTING.md) file.

As implemented in lines 63-66 of [readme.md](https://github.com/sindresorhus/awesome/blob/main/readme.md), place the link near the top of your documentation using clear formatting:

```markdown
<p align="center">
  <a href="awesome.md">What is an awesome list?</a>&nbsp;&nbsp;&nbsp;
  <a href="CONTRIBUTING.md">Contribution guide</a>&nbsp;&nbsp;&nbsp;
  <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`](https://github.com/sindresorhus/awesome/blob/main/CODE_OF_CONDUCT.md) file and references it prominently in the contribution guidelines.

As shown in line 3 of [contributing.md](https://github.com/sindresorhus/awesome/blob/main/contributing.md), include this notice at the top of your [`CONTRIBUTING.md`](https://github.com/sindresorhus/awesome/blob/main/CONTRIBUTING.md):

```markdown
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`](https://github.com/sindresorhus/awesome/blob/main/.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](https://github.com/sindresorhus/awesome/blob/main/pull_request_template.md):

```markdown

## 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`](https://github.com/sindresorhus/awesome/blob/main/CREATE-LIST.md) file within your [`CONTRIBUTING.md`](https://github.com/sindresorhus/awesome/blob/main/CONTRIBUTING.md) to guide users through the list creation process.

Add this section to your contribution guidelines:

```markdown

## 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.md`](https://github.com/sindresorhus/awesome/blob/main/CONTRIBUTING.md)** at 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`](https://github.com/sindresorhus/awesome/blob/main/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.md`](https://github.com/sindresorhus/awesome/blob/main/.github/PULL_REQUEST_TEMPLATE.md)** to standardize submissions and ensure contributors follow formatting rules.
- **Point to [`CREATE-LIST.md`](https://github.com/sindresorhus/awesome/blob/main/CREATE-LIST.md)** if 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`](https://github.com/sindresorhus/awesome/blob/main/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](https://github.com/sindresorhus/awesome/blob/main/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`](https://github.com/sindresorhus/awesome/blob/main/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](CODE_OF_CONDUCT.md)." You must also create an actual [`CODE_OF_CONDUCT.md`](https://github.com/sindresorhus/awesome/blob/main/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`](https://github.com/sindresorhus/awesome/blob/main/.github/PULL_REQUEST_TEMPLATE.md) file automatically populates the description field when contributors open new pull requests. According to the [pull_request_template.md](https://github.com/sindresorhus/awesome/blob/main/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.