BAPBA Protocol
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-description

Work on Changes

  1. Make changes
  2. Add tests
  3. Update documentation
  4. Format code
# Format code
go fmt ./...
npm run format

# Lint
go vet ./...
npm run lint

Commit

# Stage changes
git add .

# Commit with message
git commit -m "feat(will): add will status endpoint"

Push

# Push branch
git push origin feature/my-feature

Create PR

  1. Open GitHub
  2. Click "Compare & pull request"
  3. 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 warnings

Review 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 push

Responding

  • 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-feature

Types of PRs

Bug Fixes

  1. Describe the bug
  2. Include reproduction steps
  3. Show fix works

Features

  1. Explain feature
  2. Show UI/API changes
  3. Update docs

Breaking Changes

  1. Explain migration path
  2. Update examples
  3. Update docs

Documentation

  1. Be clear
  2. Include examples
  3. Check links

Common Issues

Merge Conflicts

# Rebase on main
git fetch origin
git rebase origin/main
# Fix conflicts
git push --force

Failed 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

On this page