How a Boost child theme is put together
Why Boost is the parent
Boost is the default theme that Moodle develops and tests with every release. It is built on Bootstrap, and its navigation, drawers and course index are where new interface work appears first. A child theme names Boost as its parent in config.php and inherits its layouts, templates and styles. Whatever we do not override keeps coming from Moodle. Standalone themes copy all of that code, and from then on someone has to merge every upstream change by hand.
Variables first, overrides second
Moodle compiles SCSS on the server. A theme supplies three pieces through callbacks: variables injected before Bootstrap, the main preset, and extra rules appended after. We put brand decisions (primary color, fonts, border radius, spacing scale) in the first group, because changing a variable restyles every component consistently. Hand-written overrides come last and stay short. Sites that do it the other way round end up with thousands of lines of CSS fighting the framework, and every new Moodle component arrives unstyled.
Templates and renderers
Almost all Moodle markup comes from Mustache templates. To change one, the theme carries a copy under its templates folder with the same component path, and Moodle uses it in place of the original. When the data passed to a template is not enough, we override the renderer that prepares it. What matters most here is restraint. Each overridden template is a file we must compare against core at upgrade time, so we keep a list and override narrowly.
Branding by category, cohort or tenant
Moodle can apply a different theme per category, per course, per cohort or per user when the administrator allows it. For a handful of brands we usually ship one child theme with settings that switch logo and palette by category, which is easier to maintain than several themes. Where clients need fully separate identities and login pages, separate themes or separate sites may be the cleaner answer, and we will say which.
Accessibility and the app
Boost starts from a reasonable accessibility baseline, and a careless brand palette can undo it in an afternoon. We check color contrast, visible focus, heading order and keyboard access on the key learner paths: login, dashboard, course, quiz, assignment. One limit to know early is that a site theme does not style the Moodle mobile app, which has its own interface. Our Moodle mobile app development page covers branding there.