# Contribution Guidelines

Please ensure your pull request adheres to the following guidelines:

### 1. Before submitting

- Search previous suggestions before making a new one, as yours may be a duplicate.
- If you just created something, wait at least a couple of weeks before submitting.
- Review the [content policy](POLICY.md) to ensure your submission meets the requirements.

### 2. Creating a submission

- Make an individual pull request for each suggestion.
- New categories, or improvements to the existing categorization are welcome.
- Keep descriptions short and simple, but descriptive.
- Don't mention `IPFS` in the description as it's implied.
- Start the description with a capital and end with a full stop/period.
- Check your spelling and grammar.
- Add the idea to the corresponding file in [`data`](./data) and make sure it matches the format.
- You can add a picture to describe your idea in [`./src/static/images`](./src/static/images).

### 3. Submitting it through a PR

- Make sure to run `npm ci && npm run build:readme` before submitting the Pull Request.
- The pull request should have a useful title and include a link to the package and why it should be included.
- Submit products when they are useable, or at a state which has something to show which is awesome in itself. This cuts down on half-finished implementations.

Thank you for your suggestions!



-----

**NOTE**: If you want to edit the README file directly (not the items/links) you need to modify the [`scripts/readme-template.md`](https://github.com/ipfs/awesome-ipfs/blob/master/scripts/readme-template.md) instead and run `make build` again. Thank you!
