matthewp/robot
matthewp/robot has 2,203 GitHub stars and 96 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 22:47 UTC. Last push 2026-10-31.
🤖 A functional, immutable Finite State Machine library
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalRobot
A small functional and immutable Finite State Machine library. Using state machines for your components brings the declarative programming approach to application state.
See regularhuman.dev for the main documentation.
import { createMachine, interpret, state, transition } from 'robot3';
let machine = createMachine({
off: state(
transition('toggle', 'on')
),
on: state(
transition('toggle', 'off')
)
});
const service = interpret(machine, () => {
render();
});
📚 Documentation
- Please star the repository on GitHub.
- File an issue if you find a bug. Or better yet...
- Submit a pull request to contribute.
Testing
Tests are located in the test/ folder. Load test/test.html in your browser of choice with any HTTP server you like (I use http-server). Tests are written in QUnit and are simple to understand.
Integrations
Robot works with a variety of UI libraries, and includes integrations for React, Preact, Haunted, and more. See the documentation to learn more.
Tools
- Visualization of robot state machines: robot3-viz
License
BSD-2-Clause
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,941 starspublic-apis/public-apis
A collective list of free APIs
497,204 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
442,648 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,182 stars