Skip to content

Course Pass 0: Setup

Before any model, a repo that grades itself. You install the toolchain, learn the Python and numpy you need to count bytes fast and hand arrays to C, learn the shell, git, and make that every later build rests on, and set up your repo’s CI so every push lints its commit message, runs your native tests, and runs ol check --all --ci.

Part of: the course. About 1.5 weeks at 10 to 12 hours a week.

Gate: MS-P0, your first conventional commit green in CI.

Terminal window
practice/bin/ol doctor # what pass 0 needs: python, uv, cc, git, make
practice/bin/ol doctor --pass 1 # what pass 1 adds: cargo, go, docker, kubectl, kind, helm

On macOS: xcode-select --install, then brew install uv rustup go kubectl kind helm and Docker Desktop (tilt joins in Pass 7). On Linux use your package manager and the upstream installers. Then create your repo:

Terminal window
practice/bin/ol course init --name <system> # a git repo with contracts/ vendored and system.toml

The chapters write plain ol. Put openlearn’s practice/bin on your PATH once, so ol works from any directory:

Terminal window
export PATH="$PWD/practice/bin:$PATH" # run in your openlearn clone; add the line to ~/.zshrc or ~/.bashrc with the full path
which ol # prints .../practice/bin/ol

The stages, their chapters, and what “done” means for each are in path.tsv.

Terminal window
practice/bin/ol learn course-p00-setup # stages and progress
practice/bin/ol learn course-p00-setup next # read the next unfinished stage

Generated from path.tsv. Track progress locally with practice/bin/ol learn.

StageReadDone when
1Toolchain
Course Pass 0: Setup
ol doctor reports python, uv, cc, cargo, go, docker, kubectl, kind, helm, tilt present.
2Python and numpy
Python and numpy: arrays, dtypes, broadcasting, views vs copies, uv projects
You can predict a broadcast’s shape and vectorize a count.
3Shell, git, make, processes
Shell, git, make, processes: exit codes, signals, environment, pipes
Your script exits 143 on SIGTERM and make rebuilds only what changed.
4Your repo and CI gate
Your repo and CI gate (conventional commits enforced)
ol course init created your repo; CI lints commit messages, runs native tests, and runs ol check —all —ci.
5Milestone
MS-P0: Your Repo’s CI Is Green
Your first conventional commit is green in CI.