Bootstrap a developer environment
Table of Contents
This page documents a runbook — a named, repeatable composition of recipes and skills for a complete multi-step procedure. Each step references a recipe or skill by id-link.
Goal
Set up a fresh ORE Studio development environment from zero using the genesis environment model:
clone into the conventional ores_dev_prime_origin path, configure the environment with compass,
build, run tests, and verify. Additional worktrees for feature work are provisioned from this
genesis environment via compass env provision.
Preconditions
- Git, CMake, Ninja, and a supported C++23 compiler are installed.
- PostgreSQL is available (local or container).
- Emacs is installed — the build's literate-doc targets (site, manual, skills, codegen templates, ores-shell script tangling) run it in batch mode and assume it is present.
- Python 3 is available (compass runs on it).
Steps
In execution order:
Clone into the genesis path. Clone the repository into the conventional genesis directory:
mkdir -p ~/Development/OreStudio git clone git@github.com:OreStudio/OreStudio.git \ ~/Development/OreStudio/ores_dev_prime_origin cd ~/Development/OreStudio/ores_dev_prime_origin(Use
https://github.com/OreStudio/OreStudio.gitif SSH is not set up yet.) Runningcompass bearingsimmediately after clone will confirm this is the genesis env and show the next step.- Install dependencies. Follow How do I set up a development environment? for vcpkg bootstrap and system packages.
Configure the environment. Generate the
.envfile with credentials and port assignments:compass env configure --preset linux-clang-debug-ninja
This is a one-time step per checkout; re-running it is safe and preserves existing secrets.
- Configure CMake. Follow How do I configure the project?:
cmake --preset linux-clang-debug-ninja. - Build. Follow How do I build the system?:
cmake --build --preset linux-clang-debug-ninja. - Run tests. Follow How do I run the tests?:
cmake --build ... --target rat. - Verify. Run
ores.cli --helpor launch the Qt desktop client to confirm a working end-to-end setup.
Provisioning additional worktrees
Once the genesis environment is set up, create named worktrees for feature work with:
compass env provision <adjective-noun>
This creates a sibling directory ores_dev_<name> with isolated ports and a pre-seeded .env,
then optionally runs compass env configure automatically when --preset is given.
Postconditions
~/Development/OreStudio/ores_dev_prime_originis the genesis checkout..envis generated and contains valid credentials.- All build targets compile.
- All tests pass.
- CLI and Qt binaries are functional.
See also
- CMake setup — preset reference.
- Runbooks catalogue — all runbooks.