Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Redux
  3. redux-action-tree

redux-action-tree

MITJavaScript

A Redux middleware implementing Cerebral-inspired signals for declarative, behavior-tree-like action flows.

GitHubGitHub
228 stars7 forks0 contributors

What is redux-action-tree?

redux-action-tree is a Redux middleware that implements Cerebral-inspired signals, allowing developers to define application logic as declarative behavior trees. It replaces imperative action creators with event-driven signals, enabling complex action flows with sequences, parallel execution, and conditional branching. This approach helps manage intricate state changes in a more structured and maintainable way.

Target Audience

Redux developers building complex applications with intricate async flows and state management needs, particularly those familiar with or interested in the Cerebral framework's patterns.

Value Proposition

Developers choose redux-action-tree for its declarative, behavior-tree-like flows that simplify managing complex asynchronous operations and conditional logic in Redux. It offers a structured alternative to traditional thunks or sagas, making application flows more visual and easier to debug.

Overview

The Cerebral signals running with Redux

Use Cases

Best For

  • Managing complex asynchronous workflows with parallel and sequential steps
  • Implementing conditional branching in Redux action logic
  • Decoupling UI components from business logic with event-driven signals
  • Structuring Redux applications with declarative behavior trees
  • Handling intricate state changes with payload propagation between actions
  • Adopting Cerebral patterns in a Redux-based project

Not Ideal For

  • Teams already using Cerebral 2 or function-tree, as redux-action-tree is based on the older Cerebral 1.x pattern and may be redundant.
  • Simple Redux applications with minimal async logic, where the overhead of behavior trees adds unnecessary complexity.
  • Projects requiring stable, production-ready libraries, given its beta status and potential for breaking changes.
  • Developers who prefer imperative Redux thunks or sagas and aren't interested in adopting a new declarative paradigm.

Pros & Cons

Pros

Declarative Behavior Trees

Enables defining application logic as sequences and parallel branches, making complex flows visual and manageable, as shown in signal examples with nested paths for async handling.

Built-in Async Control

Supports asynchronous actions with parallel and sequential execution, including error handling via output paths, simplifying intricate async workflows without extra middleware.

Event-Driven Decoupling

UI components emit events rather than commands, keeping them dumb and separating business logic, aligning with the signal philosophy explained in the README analogy.

Payload Propagation

Actions can modify and pass payloads through the signal chain, facilitating data transformation between steps, as demonstrated with output() in action functions.

Cons

Beta Stability Risks

The project is explicitly marked as BETA, meaning it may have bugs, incomplete features, or breaking changes, as noted in the README and its reference to Cerebral 2 evolution.

Steep Learning Curve

Requires understanding Cerebral's signal concept and behavior trees, a paradigm shift from traditional Redux patterns that can be challenging for teams not familiar with it.

Limited Ecosystem

As a niche library inspired by Cerebral 1.x, it has a smaller community and fewer resources compared to mainstream Redux middleware, potentially hindering support and integration.

Frequently Asked Questions

Quick Stats

Stars228
Forks7
Contributors0
Open Issues0
Last commit9 years ago
CreatedSince 2016

Tags

#declarative-programming#event-driven#redux-middleware#javascript#react#behavior-tree#state-management#async-actions

Built With

R
Redux
J
JavaScript
E
ES2015

Included in

Redux391
Auto-fetched 1 day ago

Related Projects

redux-elmredux-elm

React / Redux action composition made simple http://salsita.github.io/prism/

Stars493
Forks20
Last commit9 years ago
redux-tcombredux-tcomb

Immutable and type-checked state and actions for Redux

Stars211
Forks7
Last commit9 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub