Flux based data container, with a strong focus on minimalist integration and implementation.

Project maintained by capsule-js-org Hosted on GitHub Pages — Theme by mattgraham

Capsule - a Flux like State Container

Why Capsule?

Flux, Redux, Microcosm, why another?

This article talks on some good points.

When evaluating state frameworks, one key thing I noticed was that their touch points to React was very deep.

The application needed to be architectured around the system. The system could not just be added in to an already developed (or an app too far into development to make any large architectural changes). Redux was close to what I was looking for, but was pretty overwhelming.

Flux itself was light, but feels more like an example rather than a strong foundation. String identifiers are prone to less subtle developer error (typos?).

I wasn’t looking for an application architecture. I was looking for a tool that provides reliable state management, with minimal implementation touch points.

Project Design Goals

This project is just starting, so this is subject to change, but my design goals are:


No package is deployed yet. As this project is in early infancy.

capsule will be the core, non browser/react specific code

capsule-react will be for the react bindings.

Planned Project Support

The core of the project is going to be designed generic, and can be used in server side code too.

Front end wise, React will be the initial support, with potential bindings for other platforms if they fit well with this style.

Dev Requirements

To compile this project, may work on older versions but unsupported:


capsule (c) Daniel Ennis (Aikar) 2017-present.

capsule is licensed MIT. See LICENSE