Reflex is a deterministic reactive runtime for building systems with explicit dataflow, scheduling, and ownership.
It is not a UI framework first. The runtime can power UI, simulation, orchestration, server workflows, and other reactive systems where control over execution matters.
Low-level reactive primitives and graph/ownership mechanics.
- ownership model
- reactive graph operations
- scheduling-independent core logic
Runtime layer built on top of @reflex/core.
- connected runtime behavior
- reactive execution helpers
- scheduler-oriented runtime APIs
Public application-facing facade.
signalcomputedmemoeffectcreateModelownisModelcreateRuntimemap/filter/mergescan/hold/subscribeOnce- model contract:
docs/models.md
For application code, start with @volynets/reflex.
import {
createModel,
createRuntime,
effect,
signal,
} from "@volynets/reflex";
const rt = createRuntime();
const [count, setCount] = signal(0);
const createCounterModel = createModel((ctx) => ({
count,
inc: ctx.action(() => setCount((value) => value + 1)),
}));
const counter = createCounterModel();
effect(() => {
console.log(counter.count());
});
counter.inc();
rt.flush();The repository is currently organized around three active layers:
@reflex/core@reflex/runtime@volynets/reflex
There is also a DOM adapter in the repository as reflex-dom.
reflex-dom is the deterministic DOM renderer built on top of the Reflex
runtime. Its architecture, render pipeline, ownership model, and lifecycle are
documented here:
packages/reflex-dom/README.mdpackages/reflex-dom/docs/ONBOARDING.ru.md
- explicit runtime behavior over hidden scheduling
- deterministic execution over convenience magic
- clear layering between core logic and application-facing API
MIT