# reactivejs.org > Reactive is a small reactive framework. Runtime primitives live under `Reactive`; library modules like `Content`, `Layout` and `Maths` are their own top-level globals. State, calculations and reverse bindings drive a plain DOM driver — tags, attributes and text — so you can plug reactive components into any element with one script tag per module. Reactive keeps only a reactive core and a simplified DOM driver: no user-interface library, no widgets, no build step. Runtime primitives (`State`, `Set`, `Mount`, `If`, `Reverse`, and so on) live under the `Reactive` global; library modules are declared with `Reactive.Module` and then called as their own top-level names, such as `Content.Title(...)` or `Maths.Add(...)`. The runtime is generated from declarative modules through a code-generation system that targets several languages; this site is the JavaScript build. ## Docs - [Home](https://reactivejs.org/): Overview, a counter example, and how it works. - [Usage](https://reactivejs.org/usage/): What Reactive is, where it comes from, and its principles. - [Examples](https://reactivejs.org/examples/): Small self-contained programs — counter, derived value, two-way input, reactive list. - [Modules](https://reactivejs.org/modules/): The focused modules (Reactive, Dom, Collection, Logic, Context, …), each its own top-level global. - [Download](https://reactivejs.org/download/): Coming soon — a single-file build of the `Reactive` object.