# all·markdown

CONTRIBUTING.md template for a repository

Fill it in and copy it Open in the editor Opens as CONTRIBUTING.md, ready to edit. Nothing is uploaded.

The shape of it — edit here, or open the full template

Result

Runs entirely in this tab. Open the full editor to work on a real document.

Fill it in and take it

The whole file is below. Type into the boxes to replace the placeholders, then copy it or save it — nothing here is sent anywhere, and there is nothing to sign up for.

   

CONTRIBUTING.md is the file GitHub links from the new-issue and new-pull-request pages, and shows as a banner to anyone opening their first pull request. It goes in the repository root, .github/ or docs/.

Its job is narrow: answer the questions a first-time contributor would otherwise have to ask in public.

The four that matter

How do I run this? Clone, install, test — the exact commands, on a clean checkout. If the test suite does not pass from a fresh clone, say so, because otherwise the contributor assumes they broke it.

Should I ask first? Say where the line is. Typos and obvious bugs go straight in; anything large gets an issue first. Without that sentence, someone spends a weekend on a pull request you were always going to turn down.

What do you accept? Two short lists — what usually goes in, what usually does not. Reformatting unrelated files and new dependencies are the two worth naming explicitly, because both feel helpful and neither is.

How long will this take? The most useful sentence in the file. An unanswered pull request is the commonest reason a first-time contributor never comes back. Naming a window, even a slow one, turns silence into something expected.

Keep the process rules where they are checked

Conventional commits, changelog entries, sign-offs — anything a reviewer will send a change back over belongs in this file rather than in a maintainer’s head. Better still, in a lint rule, with this file explaining it.

Two files, not one

CONTRIBUTING is about the work; a code of conduct is about behaviour. Link each from the other and let them stay short. Security reporting is a third thing again — give it an email address here, and a SECURITY.md if the project is large enough to need one.

Common questions

Where does CONTRIBUTING.md go?
The repository root, `.github/` or `docs/`. GitHub finds it in any of the three and links it automatically from the new-issue and new-pull-request pages, and shows a banner to first-time contributors.
What should it actually say?
The things a newcomer cannot work out from the code: how to get it running, whether to open an issue before a large change, what you will and will not accept, and how long a review takes. Everything else is optional.
How is it different from a README?
The README is for people using the project; CONTRIBUTING is for people changing it. Setup instructions appear in both because the audiences overlap, but the README stops at "how do I run this" and CONTRIBUTING carries on into "and what happens when I send a patch".
Should I say how long reviews take?
Yes, and it is the most useful sentence in the file. An unanswered pull request is the commonest reason a first-time contributor never returns. Naming a window — even a slow one — turns silence into something expected rather than a rejection.
Do I need a code of conduct too?
They are separate files with separate jobs: CONTRIBUTING is about the work, a code of conduct is about behaviour. Link one from the other. GitHub surfaces both in the same places.