Contributing
Pull Requests
Guidelines for submitting pull requests to Bingsan
Pull Requests
This guide covers the process for submitting pull requests to Bingsan.
Before You Start
- Check existing issues - Look for related issues or discussions
- Open an issue first - For significant changes, discuss the approach before coding
- Fork the repository - Create your own fork to work on
Creating a Pull Request
1. Create a Branch
# Sync your fork
git fetch upstream
git checkout main
git merge upstream/main
# Create a feature branch
git checkout -b feature/your-feature-nameUse descriptive branch names:
feature/add-gcs-support- New featuresfix/namespace-deletion-bug- Bug fixesdocs/update-api-reference- Documentationrefactor/simplify-auth-flow- Code refactoring
2. Make Your Changes
- Follow the Code Style Guide
- Write tests for new functionality
- Update documentation as needed
3. Commit Your Changes
Write clear, descriptive commit messages:
# Good
git commit -m "Add GCS storage backend support"
git commit -m "Fix race condition in namespace deletion"
# Bad
git commit -m "fix bug"
git commit -m "update"4. Run Tests and Lints
Before submitting, ensure all checks pass:
# Run linter
make lint
# Run tests
make test
# Run integration tests (if applicable)
make test-integration5. Push and Create PR
git push origin feature/your-feature-nameThen open a pull request on GitHub.
Pull Request Guidelines
Title
Use a clear, descriptive title:
Add: GCS storage backend supportFix: Race condition in namespace deletionDocs: Update API reference for tables endpoint
Description
Include in your PR description:
- What - Brief summary of changes
- Why - Motivation and context
- How - Implementation approach (if complex)
- Testing - How you tested the changes
Checklist
Before requesting review:
- Code follows project style guidelines
- Tests pass locally (
make test) - Linter passes (
make lint) - Documentation updated (if applicable)
- Commit messages are clear and descriptive
Review Process
- Automated checks - CI runs tests and lints
- Code review - Maintainers review your code
- Address feedback - Make requested changes
- Merge - Once approved, a maintainer will merge
Responding to Feedback
- Be responsive to review comments
- Ask for clarification if feedback is unclear
- Push additional commits to address feedback (don't force-push)
After Merge
- Delete your feature branch
- Sync your fork with upstream
- Celebrate your contribution!
Getting Help
If you need help with your PR:
- Comment on the PR with questions
- Join discussions in GitHub Issues
- Check existing PRs for examples