Code Submission
This section contains topics about contributing code, including coding style, testing and the format of pull requests.
INFO
QGroundControl (QGC) is dual-licensed as Apache 2.0 and GPLv3. All contributions have to be made under both licenses.
Contribution Workflow
Fork the QGC repository, clone your fork, and create a branch for your change.
Set up your development environment and build QGC as described in Getting Started.
Make your change following the coding style, and add or update unit tests.
Run the checks that CI runs:
shjust lint # pre-commit checks: formatting, linters and QGC-specific code checks just test # unit and integration testsjust checkruns both, plus the Python tooling tests.Write commit messages that follow Conventional Commits (for example
fix(Vehicle): guard null activeVehicle in telemetry handler); the commit type drives the release automation.Open a pull request against the
masterbranch.
See CONTRIBUTING.md for the full contribution guidelines, including the core architecture patterns all code must follow.
Documentation
This guide is built with VitePress from the Markdown files in the docs directory. Only edit the English pages in docs/en: the other languages are translated on Crowdin.
- Preview your changes by running
npm ciand thennpm run docs:devin thedocsdirectory (use the Node.js version indocs/.nvmrc). - Lint the pages with the docs hooks CI runs with
just lint-docs(add--changedto check only the pages changed on your branch).