Author CONTRIBUTING.md files that lower the barrier to first contribution with development setup instructions, workflow guidance, coding standards, testing requirements, and PR process documentation. Adapts to project toolchain and language ecosystem. Use when writing contributor guidelines, improving onboarding, or defining PR workflows. Triggered by: CONTRIBUTING, contributing guide, contributor guidelines, development setup, PR process, how to contribute.
Author CONTRIBUTING.md files that transform interested observers into active contributors. The primary goal is reducing the time from "I want to help" to "my first PR is merged" by providing clear, tested setup instructions and unambiguous process documentation.
Follow these steps when authoring or updating a contributing guide:
Read existing file or stub
CONTRIBUTING.md at the repository rootscaffolding-repo-documentation skill firstDetect project toolchain
package.json, pyproject.toml, go.mod, Cargo.toml, Gemfile).github/workflows/, .gitlab-ci.yml, Jenkinsfile)Dockerfile, docker-compose.yml, .devcontainer/)Author sections following the framework
./references/contributing-framework.mdDefine the contribution ladder
| Level | Who | Expectations | Access |
|---|---|---|---|
| First-timer | Anyone | Follow the setup guide, submit a PR | Fork access |
| Occasional | Has merged 1+ PR | Follow coding standards, respond to review feedback | Fork access |
| Regular | Has merged 5+ PRs | Review others' PRs, help triage issues | Triage role |
| Maintainer | Nominated by existing maintainer | Merge PRs, make releases, mentor others | Write access |
Cross-reference related docs
CODE_OF_CONDUCT.md in the Welcome section.github/pull_request_template.md) in the PR Process sectionSECURITY.md for vulnerability reporting if it existsWrite the file
| Section | Quality Test |
|---|---|
| Welcome | Names specific contribution types? Welcoming tone without being patronizing? |
| Prerequisites | Lists exact tool versions? Includes install links? |
| Development Setup | Every command copy-pasteable? Includes verification step? |
| Workflow | Branch naming convention clear? Commit message format specified? |
| Coding Standards | References automated tooling (linter, formatter)? Not just "follow best practices"? |
| Testing | Explains how to run tests? States coverage expectations? |
| PR Process | Defines merge criteria? Sets review timeline expectations? |
Adapt the Development Setup section to the project's ecosystem:
node -v and npm test verification steps.python --version and pytest verification steps.go install for tooling, go test ./... for testing, golangci-lint for linting. Include go version and go test ./... verification steps.cargo test for testing, clippy for linting, rustfmt for formatting. Include rustc --version and cargo test verification steps.