Most CMSes I've used grow in one direction: bigger. Every feature anyone ever wanted is in the box, on by default, dragging its dependencies along whether your project uses them or not. You install it for a blog and somehow you're also carrying an e-commerce cart and a forum.
barakoCMS is built the other way. The core is small and knows nothing about accounting, or email, or file storage, or analytics. Those are modules. You add the ones your project needs and skip the rest.
A module is a class that implements one interface. It can register its own services, add its own database documents, contribute its own endpoints, and seed its own baseline data. The core doesn't know the accounting module exists. The accounting module doesn't know the analytics module exists. They meet at the interface and nowhere else.
Concretely, wiring up an app looks like listing the modules you want. Accounting, because this is a club treasury app. Email, because it sends statements. Analytics, because I like knowing what pages people read. That's it. If a project doesn't touch money, the accounting module and everything it drags in never enter the build. Someone consuming just the core gets exactly the core.
This bought me a couple of things I didn't fully appreciate until later. Each module is its own NuGet package, so its dependencies stay out of everyone else's build. When I added S3 file storage, the AWS SDK went into the S3 module and nowhere near a project that stores files in Postgres. And because the boundary is a real interface and not a convention, I can build a module the same way anyone else would. There's no secret internal API the built-in modules get to use. The email module and a module you write have the same powers.
The naming got a little silly, which I don't regret. The full image with every module is "Barako," after the strong Philippine coffee. The lean core is "Decaf." Modules are the shots you add, the admin UI is the milk. It's a coffee menu. It also happens to describe the architecture accurately: you're choosing what goes in your cup.