Skip to content

Community onboarding

Welcome. The fastest path for a first contribution is one small, reviewable change with one clear user value. This 15-minute first contribution path helps you choose a lane, find an appropriately sized issue, and run a focused check before opening a pull request.

Route the conversation

Good starting searches are good first issue and help wanted.

Three contribution lanes

Pick one lane and keep the first change narrow. In every lane, finish with git diff --check and describe the exact check in the pull request.

Docs-only

Edit the smallest page or example, then build the site strictly:

python3 -m mkdocs build --strict --site-dir /tmp/libgnsspp-site

Install the pinned docs requirements from requirements-docs.txt first if MkDocs is not available locally.

Python tool or test

Keep the change focused on one CLI surface, helper, or pure-Python regression and run the small CLI UX suite:

python3 tests/test_cli_ux.py

For a new pure-Python contract, add a stdlib-only test under tests/ and run that file directly as well.

C++

For a library, parser, or native CLI change, configure a Release test build and run the consolidated test target:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DGNSSPP_BUILD_PYTHON_BINDINGS=OFF
cmake --build build --target gnss_run_tests --parallel 2
ctest --test-dir build -R '^run_tests$' --output-on-failure

Use a focused existing test or fixture when the full target is not needed, and state any dataset or credential requirement explicitly.

Before opening the pull request

Keep the branch based on current develop, explain the user-visible value, name non-goals, and include the smallest passing command. The longer contributor guide covers PR boundaries and the broader CI lanes.