Contributing

Pull Request Guidelines

Learn how to contribute effectively to LaserEyes with our comprehensive pull request guidelines and best practices.

Before Submitting

Pre-submission Checklist

  • Check
    Review existing issues & PRs
  • Discuss
    Major changes need discussion
  • Document
    Update relevant documentation
  • Test
    Add tests & ensure all pass

Run Quality Checks

# Before submitting, run:
pnpm build
pnpm test
pnpm lint
pnpm format

Pull Request Process

Branch Naming

# Feature branches
git checkout -b feature/descriptive-name

# Bug fixes
git checkout -b fix/issue-description

# Documentation
git checkout -b docs/what-you-document

# Performance
git checkout -b perf/what-you-improve

Commit Messages

# Format
<type>(<scope>): <subject>

# Examples
feat(core): add taproot support
fix(react): resolve mobile connection
docs(api): update DataSource docs
test(core): add fee estimation tests

PR Guidelines

Keep PRs Focused

  • • One feature or fix per PR
  • • Clear scope and purpose
  • • Minimal scope creep
  • • Split large changes into smaller PRs

Good PR title examples:

  • "Add Taproot address support"
  • "Fix wallet timeout on slow networks"
  • "Update DataSourceManager docs"

Testing Requirements

  • • Unit tests for new features
  • • Integration tests for interactions
  • • Edge case coverage
  • • Maintain test coverage levels
PRs that decrease coverage may need additional tests

Review Process

Responding to Feedback

  • • Address all review comments
  • • Explain disagreements constructively
  • • Push additional commits as needed
  • • Keep the discussion focused
  • • Be patient and responsive

Merging Process

  • • Wait for CI checks to pass
  • • Get required approvals
  • • Rebase if requested
  • • Squash commits when merging

After merge:

git checkout main
git pull upstream main
git push origin main
git branch -d feature/your-feature

Need Help?

We're here to support your contribution journey

  • • Join our Discord community for real-time help
  • • Open a Discussion on GitHub for longer conversations
  • • Check our Contributing Guide for detailed information
  • • Review existing PRs for examples and patterns
Remember: No question is too small - we value all contributions!