CONTRIBUTING.md generator — a contribution guide for your project

Enter how to set up the project, which checks must pass and how branches and commits are named, and the tool writes a CONTRIBUTING.md that takes a newcomer from cloning the repository to opening a pull request.

Live demo · real result from this tool
Commit style

CONTRIBUTING.md

# Contributing to invoice-parser Thank you for taking the time to contribute. This guide explains how to propose a change. By taking part you agree to follow our [Code of Conduct](CODE_OF_CONDUCT.md). ## Reporting bugs and requesting features Search the [existing issues](https://github.com/asharao/invoice-parser/issues) first. If nothing matches, open a new issue with steps to reproduce, what you expected and what happened. For larger changes, open an issue to discuss the approach before writing code. ## Development setup ```bashgit clone https://github.com/asharao/invoice-parser.gitcd invoice-parsernpm install``` Before you open a pull request, make sure these pass: ```bash
npm test
npm run lint
```

## Branches

Create a branch from `main` named `type/short-description` (for example `fix/login-redirect`).

## Commit messages

We use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/): `type(scope): description`, for example `fix(auth): handle expired tokens`. Common types: feat, fix, docs, refactor, test, chore.

## Pull requests

1. Keep each pull request focused on one change.
2. Add or update tests for the behaviour you changed.
3. Update the documentation if you changed how something is used.
4. Fill in the pull request template and link the related issue.
5. A maintainer will review it; please respond to feedback or let us know if you cannot continue.

## Licence

By contributing, you agree that your contributions will be licensed under the MIT licence that covers this project.

Processed on your device — nothing is uploaded.

How to use the CONTRIBUTING.md generator

  1. Enter the Project name and GitHub repository (owner/name). The repository adds clone and cd commands and a link to its issues.
  2. List Setup commands, one per line, such as npm install.
  3. Enter the Test command and Lint command. Clear a field to leave that check out.
  4. Describe Branch naming, for example type/short-description, and choose a Commit style.
  5. Tick Link a code of conduct and Issue reporting section as needed, set the Licence, and save the file as CONTRIBUTING.md.

What it does and when to use it

First-time contributors often give up on the practical questions: how do I run this, which tests matter, what should my branch be called? A CONTRIBUTING.md answers them once, so maintainers do not repeat the same review comments. Write one when a project starts receiving outside pull requests, or before you ask for help on an issue.

The guide refers to other files that you can generate here. Its pull request steps ask contributors to fill in the template from the pull request template generator. If you choose Conventional Commits, enforce them with the commitlint config generator. The licence named at the end should match the file from the license generator.

How it works

The guide is built in a fixed order: a thank-you line, the optional code of conduct sentence, the optional issues section, development setup, required checks, branches, commit messages, five pull request steps, and the optional licence section.

Setup and check commands go into bash code blocks. The branch section turns your pattern into an example by swapping type for fix and short-description for login-redirect, so type/short-description becomes fix/login-redirect. Conventional Commits links to the specification and shows fix(auth): handle expired tokens.

Worked examples

Defaults. The setup block starts with git clone https://github.com/asharao/invoice-parser.git and cd invoice-parser, then npm install; npm test and npm run lint appear as required checks. The branch and licence sections read:

## Branches

Create a branch from `main` named `type/short-description` (for example `fix/login-redirect`).

and “By contributing, you agree that your contributions will be licensed under the MIT licence that covers this project.”

Plain commits, no code of conduct. Commit style set to plain summary lines: the guide asks for a summary under 72 characters “in the imperative mood”, such as “Add retry to uploader”, followed by a blank line and details.

Limits and tips

  • Placeholders in angle brackets or braces are filled with sample values, so feature/<ticket>-<name> gets the example feature/123-login-redirect. Check the example reads well for your own pattern.
  • The pull request steps are generic. Add project rules such as signed commits or changelog entries yourself.
  • Run every command in the guide on a fresh clone before you publish it.

Frequently asked questions

Where does GitHub look for CONTRIBUTING.md?
In the repository root, the docs folder or the .github folder. GitHub then links it when someone opens an issue or a pull request, and lists it on the repository page.
The guide links a Code of Conduct. Do I need that file?
Yes, if you keep Link a code of conduct ticked, because the link points to CODE_OF_CONDUCT.md in the repository. Add that file, or untick the option so the link is not broken.
Which commit style should I pick?
Conventional Commits suits projects that build changelogs or version numbers from commit messages. Plain summary lines are simpler for small projects. The guide explains whichever you choose with an example.
My default branch is not main. What should I change?
The Branches section always says to branch from main. Edit that word in the generated file if your project uses develop, master or another name.
Does the licence line make contributions legally binding?
It states the project's inbound licence in plain words, which many projects rely on. If your organisation needs signed agreements (a CLA or DCO sign-off), add that requirement yourself and get it reviewed.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close