setup · workflow · commits · checklist

Generate a CONTRIBUTING.md

Walk new contributors through setup, tests, commit style, and PR expectations — drop the .md into your repo root.

CONTRIBUTING.md Generator
Markdown
883 B
43 lines
Sections
5
fixed
Commit style
conv.
conventional
Code of Conduct
linked
referenced
input · fields
output · CONTRIBUTING.md
# Contributing to My Project

Thanks for taking the time to contribute! ✨

Please read our [Code of Conduct](./CODE_OF_CONDUCT.md) before participating.

## Getting started

1. Fork the repo and clone your fork.
2. Install dependencies:
   ```bash
   npm install
   ```
3. Create a feature branch:
   ```bash
   git checkout -b feat/your-feature
   ```

## Running tests & lint

```bash
npm test
npm run lint
```

## Commit style

This project uses [Conventional Commits](https://www.conventionalcommits.org/). Examples:

- `feat: add markdown linter`
- `fix: handle empty input in csv parser`
- `docs: clarify badge generator usage`

## Pull request checklist

- [ ] Tests pass locally
- [ ] Lint passes
- [ ] Docs updated (README / inline comments where helpful)
- [ ] PR description explains the *why*

## Questions?

Open a discussion or ping us in an issue. We're happy to help.
Quick Start

How to generate CONTRIBUTING.md

Set commands, pick a commit style, copy the file into your repo.

  1. 01

    Project basics

    Name and the setup command newcomers run first.

    Parsing runs through marked with GFM extensions enabled — tables, task lists, strikethrough, and fenced code blocks all match GitHub’s rendering.

    fieldsGFMmarkedCommonMarklive
    input · markdownname · GFM
    npm install
    loaded · GFMGFM · ready
  2. 02

    Test and lint

    The commands you want contributors to run before opening a PR.

    Soft-break behaviour is configurable: by default a single newline becomes a space (CommonMark), toggle on for chat-style <br> insertion.

    commandssoft-breaksoptionsconfiglive
    scripts · optionsci · live
    npm test
    npm run lint
    options applied · livelive
  3. 03

    Commit style

    Conventional Commits or loose — affects the example block.

    The preview is scoped under a .mde class so its CSS doesn’t bleed into the rest of the page. Output HTML is whitespace-controlled for clean diffs.

    conventionpreviewscoped CSSrenderstable
    style · renderedconv · ready
    feat: add x
    fix: handle y
    rendered · liverendered
  4. 04

    Copy & commit

    Drop the .md into your repo root or .github folder.

    Export covers both raw Markdown and rendered HTML; downloads stream as text/markdown or text/html via Blob + object URL.

    exportclipboard.md.htmlblob
    ✓ · exportedready · done
    ✓ Copied CONTRIBUTING
    shipped · ready to shipsuccess
Pro tips

Author Markdown that renders everywhere

GFM is the safe default

GitHub-Flavored Markdown is the de-facto baseline (tables, task lists, strikethrough). CommonMark is stricter but ubiquitous as a fallback.

Soft-break behaviour varies

A single newline is a space in CommonMark, a <br> in GFM. Toggle soft breaks when source matters.

Escape inside code fences

Backticks inside fenced blocks need a longer fence — three becomes four. Use ~~~ if your content has many backticks.

Anchors are slugified

GitHub lowercases, strips punctuation, and joins with hyphens. Duplicate headings get -1, -2 suffixes.

Tables need a header row

The dash row sets alignment (:---, :-:, ---:). Use Table Aligner for diff-friendly columns.

Front matter is YAML

Triple-dash blocks at the top of files are parsed by static-site generators. Use the Front-Matter Validator to catch syntax errors.

Use Cases

When to add CONTRIBUTING.md

Open-source repos, internal libs, hackathons.

Open-source repo

Set expectations early so PRs arrive review-ready. Render path uses marked with GFM extensions enabled (tables, task lists, strikethrough, autolinks), so what you preview matches what GitHub publishes bit-for-bit. Soft-break behaviour is configurable for chat-style vs prose Markdown.

GFM-compliant

Internal libraries

Onboard new team members without a meeting. Pairs cleanly with the Markdown Cheatsheet for syntax you can't quite remember — callout blocks, footnotes, definition lists. Output stays diff-friendly so style-only changes don't drown out real edits in PRs.

GitHub-perfect

Hackathon kits

Show judges and contributors how to extend. Cross-platform safe: anchors, code fences, and tables behave identically on GitHub, GitLab, Bitbucket, and Gitea. Heading-anchor slugs follow GitHub's lowercase-and-hyphenate rules so deep links survive a docs migration.

diff-friendly

Template repos

Bake in a contributing flow for every new project. No server roundtrip — perfect for proprietary content you can't paste into a public tool. The full marked + GFM bundle ships with the page, so it works offline once loaded.

render-stable

Audit pass

Standardise contributing across many repos. Front matter (YAML / TOML / JSON) passes through unchanged so static-site pipelines (Jekyll, Hugo, Astro, Eleventy) read it correctly. Pair with the Front-Matter Validator to catch syntax errors before deploy.

cross-platform

Documentation

Show contributors the supported workflow. Output is reproducible: identical input always produces identical Markdown, so doc-generation scripts can rely on it for snapshot tests and embedded into release workflows.

SEO-friendly
FAQ

Frequently asked questions

Root of the repo or in /.github/. GitHub surfaces it when contributors open a PR or issue.
Conventional Commits enables automated changelogs and SemVer bumps. Loose works fine for small teams.
Yes — toggle Reference CoC off. We recommend keeping it linked for public repos.
Use a single test runner or chain with && in the Test command field.
No. The file is built locally and runs locally in your browser.
Suggest a tool

Something missing?

Tell us what you need. We ship the top requests every two weeks.

Sent straight to the maintainers · no account needed
47 in queue·8 shipped this month
Request queued. Thanks!