Thank you for helping improve Isvik.cpp. This guide explains how to prepare, build, test, and submit a change.
- Search open issues and pull requests for related work.
- Open an issue for a large change so maintainers can discuss its scope.
- Keep each pull request focused on one user-visible change or one maintenance task.
Install CMake 3.21 or later, Git, and a C++20 compiler. Follow the build guide to configure a supported preset.
- Create a branch for your change.
- Make the smallest complete change that solves the issue.
- Add or update tests for behavior changes.
- Update user-facing documentation when commands, options, APIs, or model support change.
- Run the relevant build and tests.
- Review the diff for unrelated files, local paths, generated output, and secrets.
- Follow the Google C++ Style Guide and
.clang-formatfor C++. - Follow the documentation style guide for Markdown.
- Use clear names and explain non-obvious design decisions in comments.
- Document the license and build requirements for each new runtime dependency.
Run the test preset for the configuration you changed:
cmake --preset windows-msvc-release
cmake --build --preset windows-msvc-release --parallel
ctest --preset windows-msvc-releasecmake --preset linux-gcc-release
cmake --build --preset linux-gcc-release --parallel
ctest --preset linux-gcc-releaseIf a backend requires hardware or an SDK that you do not have, state that limitation in the pull request. Do not report an unrun check as passing.
Use a descriptive title and explain what changed, why the change is needed, how you validated it, and any known limitations.
Link related issues when available. Include screenshots for visible UI changes and sanitized logs for runtime changes. Do not include model files, credentials, personal paths, or generated build output.
By submitting a contribution, you agree that your contribution is licensed under the Apache License, Version 2.0, unless you and the project maintainers agree otherwise in writing.