Contributing
Contribution Guide#
Welcome to our contribution guide! This document provides essential information for external contributors looking to submit their first pull request (PR). We appreciate your interest in contributing and want to ensure a smooth process for everyone involved.
Contribution Guidelines#
Before you start contributing, please discuss your proposed changes in a GitHub issue if your changes exceed 50 lines of code (LOC). We are a small team and want to avoid any wasted effort on changes that may not be accepted.
Branching#
Please fork the repository and create a branch named <your-handle>/<short-description>. We follow a rebase strategy and do not merge branches.
Commit Style#
Use conventional commits for your commit messages, such as feat(scope): ... or fix(mesh): .... The body of your commit should explain the why of the change, not just the what.
Testing Procedures#
Every PR must add or update tests for any changed functionality. We enforce continuous integration (CI) checks and will block PRs that decrease test coverage.
Contributor License Agreement (CLA)#
We require a Contributor License Agreement. The CLA-bot will comment on your PR with a link to the agreement. This is a one-time requirement per contributor.
Review Timeline#
Expect a first response within 2 business days. Most PRs are merged within a week if they are scoped reasonably.
Code Style#
We enforce code style guidelines using ruff format for Python, prettier for TypeScript/TSX, and gofmt for Go.
Sign Your Commits#
Please sign your commits using git commit -s to comply with the Developer Certificate of Origin (DCO).
Pull Request Template#
Make sure to fill out the PR template, including what the change is, why it is needed, a test plan, and any relevant screenshots if the change affects the UI.
Topics We Won't Accept#
We appreciate drive-by typo fixes, but please bundle them with other changes. We also do not accept untested features, breaking changes without prior discussion, or unnecessary dependencies.
Contact Information#
If you have any questions or need assistance, please reach out to the maintainers through the project's GitHub page.
Important Notes
Important NotesThis guide is critical for contributors sending their first PR. Please ensure you follow the guidelines closely to facilitate a smooth contribution process.