2.1 KiB
How to contribute
Our software is open source so you can solve your own problems without needing help from others. And if you solve a problem and are so kind, you can upstream it for the rest of the world to use. Check out our post about externalization.
Most open source development activity is coordinated through our GitHub Discussions and Discord. A lot of documentation is available at https://docs.comma.ai and on our blog.
Getting Started
- Setup your development environment
- Join our Discord
- Make sure you have a GitHub account
- Fork our repositories on GitHub
First contribution
Try out some of these first pull requests ideas to dive into the codebase:
- Increase our mypy coverage
- Write some documentation
- Tackle an open good first issue
Pull Requests
Pull requests should be against the master branch. Welcomed contributions include bug reports, car ports, and any open issue. If you're unsure about a contribution, feel free to open a discussion, issue, or draft PR to discuss the problem you're trying to solve.
A good pull request has all of the following:
- a clearly stated purpose
- every line changed directly contributes to the stated purpose
- verification, i.e. how did you test your PR?
- justification
- if you've optimized something, post benchmarks to prove it's better
- if you've improved your car's tuning, post before and after plots
- passes the CI tests
Car Ports
We've released a Model Port guide for porting to Toyota/Lexus models.
If you port openpilot to a substantially new car brand, see this more generic Brand Port guide.