# mobxjs/mobx-state-tree

Full-featured reactive state management without the boilerplate

Repository: https://github.com/mobxjs/mobx-state-tree
Canonical: https://ross.abutalabs.com/products/mobx-state-tree
Homepage: https://mobx-state-tree.js.org/
Language: TypeScript
License: MIT
License Family: permissive
Topics: mobx-state-tree, mst, mobx, state-tree, redux, observable, snapshot, state-management, hacktoberfest
Last push: 2026-08-23T14:55:10+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 87, longevity 100
- inputs: {"age_days": 3650, "days_push": 10, "days_rel": 10, "gap_med": 32.0, "n_releases_24m": 9}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7053, forks 638 (observed 2026-08-28T04:09:55.522042+00:00)

## What it is
mobx-state-tree (MST) is a state container library built on MobX that adds structure, models, snapshots, and tooling to reactive state management. It is a TypeScript-first alternative to Redux with far less boilerplate, designed to scale from small apps to large teams.

## Use cases
- manage application state in a React app without Redux boilerplate
- model complex domain state with typed models and references
- enable targeted re-renders for performance-sensitive React or React Native UIs
- support multiple stores with async actions and side effects
- serialize and restore app state via snapshots
- share structured state management patterns across a large team

## When to choose
- you want reactive state management with minimal boilerplate
- your app is TypeScript-first and needs typed models
- you expect your state layer to scale with a growing team or codebase
- you use React or React Native and want highly targeted re-renders

## When to avoid
- your app has very simple state that local component state or Context suffices for
- your team is already deeply invested in Redux ecosystem tooling
- you need a framework-agnostic store with no MobX dependency
- you prefer unidirectional data flow with strict immutability conventions

## Facets
- artifact type: library
- maturity: stable
- function: state-management, serialization
- domain: frontend, web-development, developer-tools
- platform: cross-platform
- tags: mobx, reactive-state, typescript, react, react-native, redux-alternative, observable-state, snapshots, nodejs, web-server

## Member repositories
- mobxjs/mobx-state-tree (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:55.522042+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:40:31.077109+00:00, confidence not recorded.
  - readme: https://github.com/mobxjs/mobx-state-tree (fetched 2026-08-28T04:09:55.522042+00:00, sha 53b45d8436c6)
  - homepage: https://mobx-state-tree.js.org/ (fetched 2026-08-29T08:36:34.519312+00:00, sha a7dd0cee2842)
- Data as of 2026-08-30T08:39:29.467469+00:00.
