Thank you for your interest in contributing to Pull-Merge Bot! This document provides guidelines and information for contributors.
- Check existing issues - Search for similar issues before creating a new one
- Use the bug report template - Provide detailed information about the bug
- Include environment details - OS, Node.js version, configuration
- Describe the expected behavior - What should happen vs what actually happens
- Check existing feature requests - Search for similar suggestions
- Use the feature request template - Provide detailed description
- Explain the use case - How would this feature help users?
- Consider implementation - Is this feasible and valuable?
- Fork the repository - Create your own fork
- Create a feature branch - Use descriptive branch names
- Make your changes - Follow the coding standards
- Test your changes - Ensure everything works correctly
- Submit a pull request - Use the PR template
- Node.js >= 14.0.0
- Git
- GitHub account with repository access
# Clone your fork
git clone https://github.com/huzgrx/pull-merge-bot.git
cd pull-merge-bot
# Install dependencies
npm install
# Create environment file
cp env_default .env
# Configure your environment variables
# Edit .env with your GitHub tokens and settings
# Run the bot
npm start# Start development with nodemon
npm run dev
# Run tests (when implemented)
npm test
# Start production
npm start- Use ES6+ features where appropriate
- Follow consistent indentation (2 spaces)
- Use descriptive variable names
- Add comments for complex logic
- Handle errors properly
// Good example
async function performCodeReview(prNumber) {
try {
console.log(`🔍 Performing code review on PR #${prNumber}...`);
// Implementation here
return true;
} catch (error) {
console.error("❌ Error performing code review:", error.message);
return false;
}
}- Update README.md for new features
- Add comments to complex functions
- Update CONFIGURATION.md for new environment variables
- Include examples for new features
- Test with different configurations - Try various environment variable combinations
- Test error scenarios - Invalid tokens, missing permissions, etc.
- Test edge cases - Empty repositories, large files, etc.
- Test with different repositories - Public, private, different sizes
# Run unit tests
npm test
# Run integration tests
npm run test:integration
# Run all tests with coverage
npm run test:coverage- Test your changes - Ensure everything works correctly
- Update documentation - Add/update relevant documentation
- Follow coding standards - Use consistent style and formatting
- Add tests - Include tests for new features (when test framework is added)
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Configuration change
## Testing
- [ ] Tested locally
- [ ] Updated documentation
- [ ] No breaking changes
## Checklist
- [ ] Code follows project style
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] No console errorsbug- Something isn't workinghigh-priority- Critical issue affecting functionalitylow-priority- Minor issue or enhancement
enhancement- New feature or improvementgood first issue- Good for new contributorshelp wanted- Looking for contributors
documentation- Documentation improvementsquestion- Questions about usage or implementation
- Error Handling: Improve error messages and recovery
- Documentation: Enhance guides and examples
- Configuration: Add more environment variable options
- Testing: Implement automated test suite
- Performance: Optimize API calls and processing
- Features: Add new automation capabilities
- UI: Create web dashboard (if desired)
- Analytics: Add activity reporting and metrics
- Refactoring: Improve code structure and organization
- Examples: Add more configuration examples
- Templates: Create issue and PR templates
- CI/CD: Add GitHub Actions workflows
- Be kind to other contributors
- Provide constructive feedback
- Help newcomers get started
- Respect different opinions
- Use clear language in issues and PRs
- Provide context for suggestions
- Ask questions when unsure
- Share knowledge with the community
- Contributors will be credited in the README
- Significant contributions will be highlighted
- All contributors are appreciated and valued
- Check the documentation - README.md and CONFIGURATION.md
- Search existing issues - Your question might already be answered
- Try the troubleshooting guide - Common solutions are documented
- Provide context - What are you trying to accomplish?
- Include details - Environment, configuration, error messages
- Be specific - What exactly isn't working?
- Show effort - What have you already tried?
Contributors will be recognized in the project README and documentation.
- Code Contributors - Direct code contributions
- Documentation Contributors - Documentation improvements
- Bug Reporters - Helpful bug reports
- Feature Suggesters - Valuable feature ideas
- Community Helpers - Supporting other users
Thank you for contributing to Pull-Merge Bot! Your contributions help make this project better for everyone. 🌟