Repository navigation
Contributing
Contributions are welcome. This page covers the essentials. The full policy is in CONTRIBUTING.md.
- Search the existing issues to avoid duplicate work.
- For a substantial change, open an issue first so the maintainers can confirm the direction.
- Keep each pull request focused on one change.
git clone https://github.com/vindeckyy/OpenBoxGL.git
cd OpenBoxGL
python3 web_app.pyUse Python 3.10 or newer. On Windows, run python web_app.py. On macOS, install a current Python, for example with brew install python@3.12.
To build the native window on Linux, run make native-host, then ./openbox-native.sh. On Windows, run scripts\build_native_host_windows.ps1. It needs the MSVC build tools and cmake on the PATH. On macOS, run scripts/build_native_host_macos.sh.
| Command | Use it for |
|---|---|
./run_all_tests.sh |
The test suite, without coverage |
make test-one TEST=tests/test_catalog.py |
One test module |
make check |
The full gate, on Linux: lint, contract checks, the suite under coverage, and token hygiene |
python scripts\run_windows_tests.py |
The test suite on Windows |
Coverage floors only go up. A change must keep the changed-line coverage gate green.
- New HTTP handlers go in
handlers/, one module per domain. Shared helpers go inhandlers/_shared.py. - Platform-specific behavior goes in
pkg/platform_compat.py, the only platform seam. - Parity code goes in
pkg/parity/. - A new runtime module goes in
runtime_modules.txt, with a matchingtest_*.pyfile. - Colors, spacing, and type come from tokens in
static/app.css:root. Themes override tokens only. - A change to
web_app.pyneeds a test that exercises the route it touches.
The full placement rules are in AGENTS.md.
- The runtime uses only the Python standard library. Avoid new dependencies, and get approval in the pull request before adding one.
- The project adds no telemetry.
- Do not commit ROMs, BIOS images, API tokens, or personal library data.
- Sign off every commit with
git commit -s. The project uses the Developer Certificate of Origin.
- Fork the repository, then create a feature branch from
master. - Make clear commits. Run
make check. If coverage tooling is missing, run./run_all_tests.sh. - Open the pull request with the template. Describe the problem, the solution, and the test plan.
Write concise messages in the imperative mood. Recent history uses conventional prefixes with a module scope, such as fix(tests): and docs(1.19.1):.
Engineering documents live in docs/. User documentation lives in the OpenBoxGL Pages repository, so changes to the documentation site go there.
OpenBox Game Launcher is open source under the GNU Affero General Public License v3.0.
It is an independent project, not affiliated with LaunchBox, Unbroken Software, LLC, or the Openbox window manager.
Issues ·
Discussions ·
Security policy ·
Buy me a coffee
Start
Help
Community
Contribute
Project