We welcome contributions from the community. This document describes how to get started.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/<your-user>/tango.git - Create a feature branch:
git checkout -b my-feature - Make your changes and ensure tests pass:
make build && make test - Test behavior:
make run-serverandmake run-client-get-graph REMOTE=org/repo BASE_SHA=abc123 REQUEST_URLS=https://github.com/uber/repo/pull/123(See README for more details) - Commit your changes with a descriptive message.
- Push to your fork and open a Pull Request against
main.
See the README for prerequisites and build instructions.
After making changes to Go files, run make gazelle to update BUILD.bazel
files.
- Keep PRs focused on a single change.
- Include tests for new functionality.
- Ensure all existing tests pass (
bazel test //...). - Follow the existing code style and patterns (see
CLAUDE.mdfor detailed conventions). - Fill out the PR template with a description, motivation, and test plan.
All submissions require review before merging. We use GitHub pull requests for this purpose. A maintainer will review your PR and may request changes.
Use GitHub Issues to report bugs or request features. Please check existing issues before creating a new one.
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
By contributing to Tango, you agree that your contributions will be licensed under the Apache License 2.0.