Just
just is the project's task runner. It provides a consistent interface for building,
running and cleaning the project.
To see every available command at any time, run:
just help
Initialise the project
If you have already run just init before (like when following the Project Setup Guide),
you don't need to run it again.
There is no harm in re-running it, though.
Run this once after cloning the repository.
just init
This:
- Pulls the required Git submodules.
- Installs project dependencies.
- Builds the entire project.
Build the project
- Everything
- C++ and C
- JS / WASM
- Python
Build Everything (C++, C, JS, WASM, Python, React App, ...).
just build all
Build C++ Core and C Bindings.
This is CMake-based with GCC / MSVC.
build-c-cpp/CMake build folder.
just build cpp
Key files:
Build JavaScript / WASM Bindings.
This is CMake-based with Emscripten (to compile to WebAssembly).
build-wasm/CMake build folder.packages/js/build-wasm/copied folder (frombuild-wasm/).
just build js
Key Files:
Build Browser & Node.js npm packages.
This is pnpm-based, yet it requires the outputs from the
just build js command.
packages/js/distfolder.
just build packages-js
Key files:
just build js only produces the raw WASM/JS bindings. To build the publishable
img2num npm package — which targets both the browser and Node.js — run
just build packages-js. It compiles the WASM bindings first (so it works from a
clean checkout) and then bundles the browser and Node builds into
packages/js/dist/.
Build Python Bindings + Wheel
This uses uv and scikit-build-core to build the Pybind11 Python bindings
in bindings/py alongside the Python wrapper in packages/py.
distfolder.
just build py
Key files:
Documentation
- Build
- Server
Build the documentation:
just docs build
Start the documentation server:
just docs start
Example applications
Excluding the React.js example application, the respective projects must be built first before you can run them or see the latest changes you made.
- C++ console app
- C console app
- React.js web app
- Python console app
- Node.js console app
just console-cpp <path-to-image>
just console-c <path-to-image>
just react-js start
Next open http://localhost:5173/example-apps/react-js/ in your browser.
just console-py <path-to-image>
just console-js <path-to-image>
Cleaning
Remove generated build files:
- C++
- JS / WASM
- JS Packages
- Python Packages
just clean cpp
just clean js
just clean packages-js
just clean packages-py