Contributing¶
Thank you for your interest in contributing to Switchboard!
Getting Started¶
1. Fork the Repository¶
Click the "Fork" button on GitHub to create your own copy.
2. Clone Your Fork¶
3. Add Upstream Remote¶
4. Install Dependencies¶
5. Create a Branch¶
Development Guidelines¶
Code Style¶
- Use TypeScript for all code
- Follow existing patterns in the codebase
- Run linting before committing
Commit Messages¶
Use conventional commits:
feat: add new chain support
fix: resolve connection timeout issue
docs: update SDK examples
refactor: simplify deployment logic
test: add integration tests for billing
Pull Request Process¶
- Update documentation if needed
- Add tests for new features
- Ensure all tests pass
- Update the changelog
- Request review from maintainers
Types of Contributions¶
Bug Reports¶
Open an issue with:
- Clear description
- Steps to reproduce
- Expected vs actual behavior
- Environment details
Feature Requests¶
Open an issue with:
- Use case description
- Proposed solution
- Alternatives considered
Code Contributions¶
- Check existing issues
- Discuss significant changes first
- Follow the development workflow
Documentation¶
- Fix typos and errors
- Add examples
- Improve clarity
Testing¶
Run Tests¶
# Unit tests
npm run test
# Integration tests
npm run test:integration
# Specific package
npm run test --workspace=packages/sdk
Write Tests¶
- Add unit tests for new functions
- Add integration tests for APIs
- Test edge cases
Code Review¶
For Contributors¶
- Respond to feedback promptly
- Keep PRs focused and small
- Be open to suggestions
For Reviewers¶
- Be constructive and respectful
- Explain the "why" behind suggestions
- Approve when ready
Community¶
Communication¶
- GitHub Issues for bugs/features
- GitHub Discussions for questions
- Discord for real-time chat
Code of Conduct¶
Be respectful and inclusive. See CODE_OF_CONDUCT.md.
Recognition¶
Contributors are:
- Listed in CONTRIBUTORS.md
- Mentioned in release notes
- Appreciated by the community!
Questions?¶
- Ask in GitHub Discussions
- Join Discord