I see things you want to encapsulate here, and that looks sane to me, but there's a couple usages that I find misleading.
From the README:
- Reducer : A function that describes how to evolve the current state of the app to the next state given an action. The reducer is also responsible for returning any effects that should be run, such as API requests.
- Store : The runtime that actually drives your feature. You send all user actions to the store so that the store can run the reducer and effects, and you can observe state changes in the store so that you can update UI.
Reducer, like the reduce function? Well, obviously not, if the effect is change the state. This doesn't seem like repeatedly applying a function to a collection of data to accumulate a single value.
Likewise, a store isn't typically a runtime. Most of the time it's where the data created or wanted by the user is stored, as distinct from the UI State.
I'd suggest these two concepts be called something like evolver and, well, controller.