Thank you for your interest in contributing!
This guide will help you get started with contributing to the Temper project.
By participating in this project, you agree to abide by our Code of Conduct.
- Node.js >= 20.11.0
- npm or yarn
- Git
- GitHub account
# Fork the repository
git clone https://github.com/your-username/temper.git
cd temper
# Install dependencies
npm install
# Set up environment
cp .env.example .env
# Edit .env with your GitHub App credentials- Check existing issues - Search to see if the bug has already been reported
- Create a new issue - Use the bug report template
- Provide details:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Screenshots (if applicable)
- Environment details
- Check existing issues - Search to see if the feature has been requested
- Create a new issue - Use the feature request template
- Provide details:
- Use case description
- Example scenarios
- Potential implementation ideas
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes
- Write tests (if applicable)
- Update documentation
- Commit your changes:
git commit -m "feat: add your feature description" - Push to your fork:
git push origin feature/your-feature-name
- Open a pull request
- Indentation: 2 spaces (no tabs)
- Line length: 80-100 characters
- Naming: camelCase for variables, PascalCase for classes
- Comments: Use JSDoc for functions
- Error handling: Always handle errors gracefully
Follow Conventional Commits:
feat: add new feature
fix: fix a bug
docs: update documentation
style: formatting changes
refactor: code refactoring
perf: performance improvements
test: add tests
chore: maintenance tasks
feature/your-feature
fix/your-bug-fix
docs/your-docs-update
refactor/your-refactoring
# Create a test repository
gh repo create pulseengine/test-repo --private
# Verify configuration
gh api repos/pulseengine/test-repo --jq '.allow_merge_commit, .allow_squash_merge, .allow_rebase_merge, .delete_branch_on_merge'
# Clean up
gh repo delete pulseengine/test-repo --confirmnpm test runs 453 tests. See DEVELOPMENT.md for test structure details.
- Keep README.md up to date
- Update relevant guides
- Add examples where helpful
- Use clear, concise language
- Use Markdown formatting
- Keep sentences short
- Use bullet points for lists
- Add code examples
- Include screenshots where helpful
- Open an issue - Discuss the feature first
- Get approval - Wait for maintainer feedback
- Implement - Write the code
- Test - Verify it works
- Document - Update documentation
- Submit PR - Open a pull request
- Code implemented
- Tests added (if applicable)
- Documentation updated
- Examples provided
- Error handling included
- Performance considered
We use Semantic Versioning:
- MAJOR: Breaking changes
- MINOR: New features (backward compatible)
- PATCH: Bug fixes (backward compatible)
- Update CHANGELOG.md
- Update version in package.json
- Create GitHub release
- Publish to npm (if applicable)
- Announce release
- Check for tests - Are tests included?
- Review code quality - Does it follow guidelines?
- Test the changes - Does it work as expected?
- Check documentation - Is it updated?
- Provide feedback - Be constructive and helpful
- Wait for CI - All checks must pass
- Get approvals - At least one maintainer approval
- Squash and merge - Keep history clean
- Delete branch - After merging
- Thank contributor - Show appreciation
Contributors will be recognized in:
- CHANGELOG.md
- CONTRIBUTORS.md
- GitHub contributors list
- Release notes