Typescript
Overmind is written in Typescript and it is written with a focus on you dedicating as little time as possible to help Typescript understand what your app is all about. Typescript will spend a lot more time helping you. If you are not a Typescript developer Overmind is a really great project to start learning it as you will get the most out of the little typing you have to do.
The only typing you need is the Context. This holds information about your state, actions and effects.
overmind/index.ts
import { IContext } from 'overmind'
export const config = {}
export type Context = IContext<typeof config>
You only have to set up these types once, where you bring your configuration together. That means if you use multiple namespaced configuration you still only create a single Context type.
The state you define in Overmind is just an object where you type that object.
overmind/state.ts
type State = {
foo: string
bar: boolean
baz: string[]
user: User
}