Skip to content

Latest commit

 

History

129 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rhiza logo

rhiza-education

CodeFactor Coverage

Training for and with Rhiza — the living template system for software projects.

The companion website (rendered, searchable) is at https://jebel-quant.github.io/rhiza-education/.

Who this is for

Developers who are comfortable with Python, git, and basic CI/CD, and want to adopt Rhiza in a new or existing project.

The curriculum teaches Rhiza through Python, which is where the template is most complete. Since template v1.3.0 Rhiza is multi-language: core is language-neutral and a language layerpython-core, rust-core, or go-core — supplies the build and test targets on top of it. Everything about config, bundles, syncing, and the update lifecycle applies unchanged whichever layer you pick; only the toolchain behind the install and test tasks differs. Hosted CI has not shipped for Rust and Go yet, so those get local-first profiles.

The curriculum is current for rhiza v1.8.0 and rhiza-claude v0.14.0. Two changes land in this edition: a Python project may now derive its version from the git tag instead of writing it down (Lesson 3), and /rhiza:release opens its PR, waits for the merge and tags in a single run rather than asking you to invoke it twice (Lesson 11). rhiza-task also grew update and test-lowest, which put the template sync and the dependency-floor gate inside the task graph (Lessons 8 and 11). If you are coming from material written against v1.3.x, the change to read first is still v1.4.0, which retired the synced make layer in favour of the pinned rhiza-task CLI; Lessons 5, 10 and 11 cover it.

Curriculum

# Lesson What you'll learn
Preamble — The Repo Zoo Problem What goes wrong at scale, why template systems can't fix it, and when Rhiza was born
1 CI/CD Concepts Pipelines, jobs, triggers, GitHub Actions, matrix builds — the vocabulary the curriculum assumes
2 uv and uvx The package manager and tool runner that underpins the Rhiza ecosystem
3 Python Project Conventions src layout, PEP 621 pyproject.toml, and tests/ structure
4 Why Rhiza? The problem with one-shot scaffolding and how Rhiza solves it
5 Core Concepts The key abstractions: template repos, syncing, and the sync loop
6 Getting Started Install Rhiza, initialise a project, and run your first sync
7 Configuring Your Template Anatomy of template.yml, bundles, include/exclude patterns
8 The Sync Lifecycle How automated sync PRs work and how to review them
9 Renovate How Renovate keeps your ref: pin current and why it is essential at scale
10 Customising Safely local.mk, [tool.rhiza-task], local-setup.sh and exclude: — extend a project without fighting the sync
11 The Rhiza Ecosystem rhiza-claude, rhiza-task, pytest-rhiza, rhiza-hooks, and rhiza-brainbug
12 Further Reading Direct links to every doc file across the Rhiza repos, organised by topic

Work through the lessons in order — each one builds on the last.

Appendices

# Appendix What you'll learn
A1 GitLab Users What changes when your project lives on GitLab instead of GitHub
A2 Projects Using Rhiza Real repos using Rhiza — from Stanford's CVXGRP to Janus Henderson — with annotated template.yml files
A3 Contributors The people who built Rhiza and its ecosystem, with profiles and contribution counts

Work through the appendices that apply to your setup — each is self-contained.

About

Training for and with rhiza

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages