Getting Started¶
This guide is written for someone who has never run Umboni before.
If you follow the steps in order, you will:
- check your prerequisites
- install the project dependencies
- generate forecast data
- start the Angular dashboard
- confirm that the main tests work
Step 1: Open a terminal in the repository root¶
Every command in this guide assumes your current directory is the repository root.
You should be able to see files such as:
README.mdpackage.jsonpyproject.tomlCMakeLists.txt
Step 2: Check your prerequisites¶
Run:
python scripts/umboni.py doctor
What this command does:
- checks whether Python is available
- checks whether Node.js and npm are available
- checks whether CMake, CTest, Ninja, and GNU Fortran are available
- checks whether Doxygen is available for documentation builds
- tells you exactly what is missing and how to install it
What good looks like:
- every required tool is shown as
[OK] - the command ends by telling you to run
python scripts/umboni.py bootstrap
If a tool is missing, go to Prerequisites, install it, and
run doctor again.
Step 3: Install the repository dependencies¶
Run:
python scripts/umboni.py bootstrap
What this command does:
- creates the common artifact and log directories
- installs the Python package plus its development and documentation tools
- installs the root repository Node dependencies
- installs the frontend Node dependencies
What good looks like:
- the command ends by telling you that bootstrap finished successfully
- you can now run the fetch, pipeline, test, and documentation commands
Step 4: Generate a forecast¶
Run:
python scripts/umboni.py pipeline
What this command does:
- fetches provider data from the New England catalog
- writes
artifacts/generated/provider-observations.csv - configures and builds the Fortran simulator
- runs the simulator against the fetched CSV
- writes
artifacts/generated/new-england-forecast.json - copies the latest forecast into
frontend/public/data/new-england-forecast-sample.json
What good looks like:
- the command ends with
Pipeline finished successfully. - the Angular app now has fresh sample forecast data to display
Step 5: Start the dashboard¶
Run:
python scripts/umboni.py run-frontend
Then open:
http://127.0.0.1:4200
What good looks like:
- the Angular development server starts without errors
- the dashboard shows a regional forecast instead of an empty page
Step 6: Run the tests¶
If you want the full suite, run:
python scripts/umboni.py test all
That full test flow includes:
- repository validation
- Python unit tests
- Fortran tests
- frontend linting
- frontend unit tests
- frontend coverage tests
- frontend build
- Playwright browser smoke tests
- documentation build checks
If you want a lighter first pass that skips the browser tests, run:
python scripts/umboni.py test all --skip-end-to-end-tests
Step 7: Build the documentation¶
Run:
python scripts/umboni.py build-docs
This creates the static documentation site in the site/ directory.
If you want to browse the docs locally instead, run:
python scripts/umboni.py serve-docs
Then open:
http://127.0.0.1:8000
Common follow-up commands¶
Use these if you want one smaller task instead of the full pipeline:
python scripts/umboni.py fetch
python scripts/umboni.py build-fortran
python scripts/umboni.py simulate
The fetch command only creates the normalized provider CSV.
The build-fortran command only configures and compiles the simulator.
The simulate command expects a CSV that already exists and turns it into the
forecast JSON used by the Angular app.
If something goes wrong¶
Go to Troubleshooting.