Development¶
Requirements¶
- uv
- CMake 3.26 or newer
- A C++20 compiler
- Normal platform development tools
Python package¶
uv sync --locked
uv run python -m unittest discover -s python/tests -v
uv run rubikoslav doctor --strict
uv build
Native library¶
cmake -S . -B build/native \
-DRUBIKOSLAV_BUILD_PYTHON=OFF \
-DRUBIKOSLAV_WARNINGS_AS_ERRORS=ON
cmake --build build/native --parallel
ctest --test-dir build/native --output-on-failure
Browser movement data¶
After changing native face-turn logic:
cmake --build build/native --target generate-web-data
ctest --test-dir build/native --output-on-failure
WebDataGeneratorovichIsCurrent compares the committed browser data with fresh output from the C++ engine.
Documentation¶
Open http://127.0.0.1:8000. A strict production build uses:
Production deployment¶
Pushes to main run the test suite and deploy the application through .github/workflows/deploy.yml. The repository needs the VERCEL_TOKEN Actions secret.
For a manual deployment:
Vercel stores generated search tables under /tmp for each warm function instance. A cold instance initializes them again.
Documentation changes run .github/workflows/docs.yml and publish docs/ to GitHub Pages.