First off, thank you for considering contributing to [Project Name]! It's people like you that make [Project Name] such a great tool.
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [your.email@example.com].
Before creating bug reports, please check the existing issues as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Provide specific examples to demonstrate the steps
- Describe the behavior you observed and what you expected
- Include screenshots or animated GIFs if relevant
- Include your environment details (OS, browser, version, etc.)
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please include:
- Use a clear and descriptive title
- Provide a detailed description of the suggested enhancement
- Explain why this enhancement would be useful
- List examples of how it would be used
- Fork the repo and create your branch from
main - If you've added code that should be tested, add tests
- If you've changed APIs, update the documentation
- Ensure the test suite passes
- Make sure your code lints
- Issue that pull request!
# Fork and clone the repository
git clone https://github.com/YOUR-USERNAME/REPO-NAME.git
cd REPO-NAME
# Install dependencies
pnpm install # or npm install / yarn install
# Create a branch
git checkout -b feature/your-feature-name-
Write clear, concise commit messages
git commit -m "Add feature: brief description" -
Follow the coding style of the project
- Use consistent indentation
- Follow naming conventions
- Add comments for complex logic
-
Test your changes
pnpm test -
Run linter
pnpm lint
-
Push to your fork
git push origin feature/your-feature-name
-
Open a Pull Request
- Fill in the PR template
- Link any relevant issues
- Add screenshots for UI changes
- Request review from maintainers
- Use 2 spaces for indentation
- Use camelCase for variables and functions
- Use PascalCase for components and classes
- Write meaningful variable and function names
- Add JSDoc comments for functions
- Keep functions small and focused
/**
* Calculate the sum of two numbers
* @param {number} a - First number
* @param {number} b - Second number
* @returns {number} Sum of a and b
*/
function calculateSum(a, b) {
return a + b;
}- Write tests for new features
- Update tests when changing existing code
- Ensure all tests pass before submitting PR
# Run all tests
pnpm test
# Run tests in watch mode
pnpm test:watch
# Run tests with coverage
pnpm test:coverage- Update README.md if you change functionality
- Add JSDoc comments to new functions
- Update API documentation for API changes
- Include examples for new features
type(scope): subject
body
footer
- feat: New feature
- fix: Bug fix
- docs: Documentation changes
- style: Code style changes (formatting, etc.)
- refactor: Code refactoring
- test: Adding or updating tests
- chore: Maintenance tasks
feat(auth): add OAuth2 authentication
fix(api): resolve rate limiting issue
docs(readme): update installation instructions- Maintainers will review your PR
- Address any requested changes
- Once approved, maintainers will merge your PR
Before submitting your contribution, make sure:
- Code follows the project's style guidelines
- Self-review of code completed
- Comments added for complex code
- Documentation updated
- Tests added/updated and passing
- No new warnings generated
- Dependent changes merged/published
Feel free to:
- Open an issue for questions
- Join our [Discord/Slack community] (if applicable)
- Email maintainers at [your.email@example.com]
Contributors will be:
- Added to the README contributors section
- Mentioned in release notes
- Given credit in relevant commits