Unitflow
Unitflow brings Effect’s architectural strengths to frontend code: self-contained models, typed boundaries, renderer-independent behavior, and a shape agents can follow.
Instead of scattering behavior across components, hooks, atoms, and project conventions, build UI behavior as Effect-powered models that own their state, actions, async work, dependencies, and cleanup.
Unitflow is inspired by Effector: explicit stores, events, and UI logic outside the component tree, rebuilt around Effect services, layers, scopes, and dependency injection.
Why Unitflow
Section titled “Why Unitflow”Use Unitflow when frontend code needs the same architectural weight as the rest of your Effect application.
Bring Effect’s Backend Power to the Frontend
Section titled “Bring Effect’s Backend Power to the Frontend”Dependency injection, full type safety, Scope, Stream, Schema, fibers,
and the rest of the Effect ecosystem are no longer reserved for server code.
Unitflow brings that power into your frontend architecture.
Keep Frontend Architecture Scalable
Section titled “Keep Frontend Architecture Scalable”Each model owns one part of the UI: its state, actions, async work, dependencies, and cleanup. Models communicate through typed boundaries, so the app grows as a hierarchy of explicit units instead of a web of shared state.
Build Behavior Once, Bind Any View
Section titled “Build Behavior Once, Bind Any View”Unitflow keeps behavior outside the component tree. A model can be driven by React, Vue, tests, tooling, or anything else through a renderer-independent boundary.
Agent-Friendly By Design
Section titled “Agent-Friendly By Design”Effect is already a strong substrate for agents: typed services, layers, errors, and composable programs. Unitflow adds clear frontend boundaries and simple primitives, so agents can follow the architecture instead of inventing it on every change.
Install
Section titled “Install”For React apps, install the React package with its peers:
pnpm add @unitflow/react @unitflow/core effect@4.0.0-beta.88 reactnpm install @unitflow/react @unitflow/core effect@4.0.0-beta.88 reactyarn add @unitflow/react @unitflow/core effect@4.0.0-beta.88 reactFor non-React runtimes, install the core package:
pnpm add @unitflow/core effect@4.0.0-beta.88Packages: