Ramonda

Why Ramonda

Most of what makes Ramonda feel the way it does comes from a few deliberate decisions. You don't need any of this to build with it — the rest of the docs are the how, and this section is the why, for when you're curious about a choice or weighing whether the framework fits how you think.

The through-line is one goal: the code should be readable, and its mistakes should be loud. A page you can picture from its source, and a framework that tells you when something is wrong instead of quietly doing the wrong thing.

  • One tag, one element — the single rule everything rests on, and why there are no fragments or function components.
  • Classes and decorators — why a component is a class, and why its lifecycle and state are decorators.
  • The reactivity model — why changing state re-renders the whole component, and where fine-grained tracking lives instead.
  • No global state — why there are no module-level stores, and what that buys on the server.

The diagnostics are the other half

Nearly every bug this framework has had produced a wrong result, not an error — state on the wrong row, a click doing nothing, a subtree rendering where no one can see it. None of them threw. So Ramonda ships development-time checks that name the mistake and say what to do instead; in production they compile away to nothing. That "make it loud" instinct shapes the framework as much as any single rule.