Contributing
Pull Request Process
Guidelines for creating and reviewing pull requests in Burning Ash Protocol.
Pull Request Process
This guide covers the PR workflow for BAP contributions.
Before Starting
Check Issues
- Look for existing issues
- Comment on issues you want to work on
- Avoid duplicating work
Discuss First
For significant changes:
- Open a discussion issue
- Describe your proposed solution
- Wait for feedback before major work
Creating a PR
Branch
# Create branch
git checkout -b feature/my-feature
# Or fix branch
git checkout -b fix/bug-descriptionWork on Changes
- Make changes
- Add tests
- Update documentation
- Format code
# Format code
go fmt ./...
npm run format
# Lint
go vet ./...
npm run lintCommit
# Stage changes
git add .
# Commit with message
git commit -m "feat(will): add will status endpoint"Push
# Push branch
git push origin feature/my-featureCreate PR
- Open GitHub
- Click "Compare & pull request"
- Fill template
PR Template
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
How was this tested?
## Checklist
- [ ] Code follows style guidelines
- [ ] Tests pass
- [ ] Documentation updated
- [ ] No new warningsReview Process
Code Review
Reviewers look for:
- Correctness
- Security
- Performance
- Readability
- Test coverage
Addressing Feedback
# Make changes
git add .
git commit -m "fix: address review comments"
git pushResponding
- Address each comment
- Explain reasoning if you disagree
- Request re-review when ready
Merge Process
Requirements
- Tests pass
- Code reviewed
- Documentation updated
- No merge conflicts
Squash Merge
We use squash merge:
- All commits squashed into one
- Clean history
- Descriptive commit message required
After Merge
# Update main
git checkout main
git pull origin main
# Delete branch
git branch -d feature/my-feature
git push origin --delete feature/my-featureTypes of PRs
Bug Fixes
- Describe the bug
- Include reproduction steps
- Show fix works
Features
- Explain feature
- Show UI/API changes
- Update docs
Breaking Changes
- Explain migration path
- Update examples
- Update docs
Documentation
- Be clear
- Include examples
- Check links
Common Issues
Merge Conflicts
# Rebase on main
git fetch origin
git rebase origin/main
# Fix conflicts
git push --forceFailed Tests
- Check test output
- Fix failing tests
- Re-run CI
Tips
- Keep PRs small
- Write good descriptions
- Respond to feedback quickly
- Be patient with review
Recognition
Contributors recognized in:
- PR merged message
- Release notes (for significant changes)
Next Steps
- Security Reporting — Vulnerability reporting
- Code Style — Conventions
- Development Setup — Local setup