Generate CONTRIBUTING.md files for your open source projects.
A well-written CONTRIBUTING.md file makes it easier for people to contribute to your project. It sets expectations, reduces friction, and helps maintain quality and consistency.
Establishes behavioral expectations and creates a welcoming environment. Should cover:
Help new contributors set up their development environment:
Guide contributors on submitting quality bug reports:
Set expectations for feature requests:
Clear steps for submitting contributions:
Define code quality expectations:
Provide a clear checklist for contributors:
## Pull Request Checklist
Before submitting your PR, please review and check the following:
- [ ] Code follows the project's style guidelines
- [ ] Self-review performed
- [ ] Comments added for complex/unclear code
- [ ] Documentation updated (if needed)
- [ ] No new warnings generated
- [ ] Tests added for new features
- [ ] All tests pass locally
- [ ] Dependent changes merged and published
- [ ] Changelog updated (if applicable)
Many projects follow conventional commit formats:
## Commit Message Format
type(scope): subject
body (optional)
footer (optional)
### Types:
- feat: New feature
- fix: Bug fix
- docs: Documentation changes
- style: Formatting, missing semicolons, etc.
- refactor: Code restructuring
- test: Adding tests
- chore: Maintenance tasks
### Example:
feat(auth): add OAuth2 login support
Implement OAuth2 authentication flow for Google and GitHub.
Users can now sign in using their existing accounts.
Closes #123
Learn from these projects:
Complement CONTRIBUTING.md with: