Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
State machines, statecharts, and actors for complex logic
| Date | Stars |
|---|---|
| 2026-07-24 | 29923 |
| 2026-07-25 | 29925 |
| 2026-07-28 | 29936 |
| 2026-07-30 | 29941 |
| 2026-08-06 | 29941 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
35.0
growth rate 0.00%/day
<p align="center">
<br />
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/statelyai/public-assets/main/logos/xstate-logo-white-nobg.svg">
<img alt="XState logotype" src="https://raw.githubusercontent.com/statelyai/public-assets/main/logos/xstate-logo-black-nobg.svg" width="200">
</picture>
<br />
<strong>Actor-based state management & orchestration for complex app logic.</strong> <a href="https://stately.ai/docs">→ Documentation</a>
<br />
<br />
</p>
XState is a state management and orchestration solution for JavaScript and TypeScript apps. It has _zero_ dependencies, and is useful for frontend and backend application logic.
It uses event-driven programming, state machines, statecharts, and the actor model to handle complex logic in predictable, robust, and visual ways. XState provides a powerful and flexible way to manage application and workflow state by allowing developers to model logic as actors and state machines.
### ✨ Create state machines visually in Stately Studio → [state.new](https://state.new)
---
📖 [Read the documentation](https://stately.ai/docs)
➡️ [Create state machines with the Stately Editor](https://stately.ai/editor)
🖥 [Download our VS Code extension](https://marketplace.visualstudio.com/items?itemName=statelyai.stately-vscode)
📑 Inspired by the [SCXML specification](https://www.w3.org/TR/scxml/)
💬 Chat on the [Stately Discord Community](https://discord.gg/xstate)
✍️ Browse through the many [XState examples](https://github.com/statelyai/xstate/tree/main/examples)
## Which package should I use?
Pick based on what you need:
- **[`@xstate/store`](#xstate-store)**: simple event-based state management. <1kb, great TypeScript inference, similar in spirit to Redux/Zustand. Start here if you just need a store.
- **[`xstate`](#super-quick-start)**: state machines, statecharts, actors, effects, and orchestration for complex app logic.
They work great together, but you don't need one to use the other.
## Sponsors
Special thanks to the sponsors who support this open-source project:
<img src="https://opencollective.com/xstate/tiers/backer/badge.svg?label=sponsors&color=brightgreen" />
## Templates
Get started by forking one of these templates on CodeSandbox:
<table>
<thead>
<tr><th>Template</th><th></th></tr>
</thead>
<tbody>
<tr>
<td>
[🤖 XState Template (CodeSandbox)](https://codesandbox.io/p/devbox/github/statelyai/xstate/tree/main/templates/vanilla-ts)
[](https://stackblitz.com/github/statelyai/xstate/tree/main/templates/vanilla-ts?file=%2Fsrc%2FfeedbackMachine.ts)
</td>
<td>
- XState v5
- TypeScript
- _No framework_
</td>
</tr>
<tr>
<td>
[⚛️ XState + React Template (CodeSandbox)](https://codesandbox.io/p/devbox/github/statelyai/xstate/tree/main/templates/react-ts)
[](https://stackblitz.com/github/statelyai/xstate/tree/main/templates/react-ts?file=%2Fsrc%2FfeedbackMachine.ts)
</td>
<td>
- [React](https://react.dev/)
- XState v5
- TypeScript
</td>
</tr>
<tr>
<td>
[💚 XState + Vue Template (CodeSandbox)](https://codesandbox.io/p/devbox/github/statelyai/xstate/tree/main/templates/vue-ts)
[](https://stackblitz.com/github/statelyai/xstate/tree/main/templates/vue-ts?file=%2Fsrc%2FfeedbackMachine.ts)
</td>
<td>
- [Vue](https://vuejs.org/)
- XState v5
- TypeScript
</td>
</tr>
<tr>
<td>
[🧡 XState + Svelte Template (CodeSandbox)](https://codesandbox.io/p/devbox/github/statelyai/xstate/tree/main/templates/svelte-ts)
[](https://stackblitz.com/github/statelyai/xstate/tree/main/templates/svelte-ts?file=%2Fsrc%2FfeedbackMachine.ts)
</td>
<td>
- [Svelte](https://svelte.dev/)
- XState v5
- TypeScExcerpt of 17,918 characters
Read on GitHubDavid Khourshid · @statelyai
4.5k
Mateusz Burzyński · @replayio · Poland
937
305
Matt Pocock · Total TypeScript
200
Laura Kalbag · @small-tech @statelyai · Ireland
88
Santi · Domestic Data Streamers · Spain
57
Heliton Nordt · Brazil
39
Erik Mogensen · Stibo DX
22
Anna Bansaghi
21
Alexander von Studnitz · @clickbar
19
Wouter Termont · imec · Belgium
18
with-heart · United States
18
Farzad Yousefzadeh · LottieFiles · Finland
17
15
Eric Skogen · Mongolia
14
Ivan Tanev · Bulgaria
13
James Opstad · Cloudflare · United Kingdom
13
Sam Chen
13
Edward Silverton · @mnemoscene
12
Mikey Stengel · Italy
10
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:492845ce51ee622e, topic:workflow, topic:orchestration