# Robot > Robot (npm: robot3) is a 1.3 kB library for building finite state machines > in JavaScript out of plain functions: createMachine, state, transition, > guard, reduce, action, invoke, immediate and interpret. Every page below is plain markdown. ## Start here - [Core concepts](https://regularhuman.dev/docs/core-concepts.md) ## Concepts - [State](https://regularhuman.dev/docs/concepts-state.md) - [Transitions](https://regularhuman.dev/docs/concepts-transitions.md) - [Events](https://regularhuman.dev/docs/concepts-events.md) - [Guards](https://regularhuman.dev/docs/concepts-guards.md) - [Actions](https://regularhuman.dev/docs/concepts-actions.md) ## Guides - [Composition](https://regularhuman.dev/docs/composition.md) - [Nested states](https://regularhuman.dev/docs/nested-states.md) - [Awaiting async execution](https://regularhuman.dev/docs/awaiting-asynchronous-execution.md) - [Comparison with XState](https://regularhuman.dev/docs/comparison-with-xstate.md) ## API - [createMachine](https://regularhuman.dev/docs/createmachine.md) - [state](https://regularhuman.dev/docs/state.md) - [transition](https://regularhuman.dev/docs/transition.md) - [guard](https://regularhuman.dev/docs/guard.md) - [action](https://regularhuman.dev/docs/action.md) - [reduce](https://regularhuman.dev/docs/reduce.md) - [invoke](https://regularhuman.dev/docs/invoke.md) - [interpret](https://regularhuman.dev/docs/interpret.md) - [immediate](https://regularhuman.dev/docs/immediate.md) ## Integrations - [react-robot](https://regularhuman.dev/docs/react-robot.md) - [preact-robot](https://regularhuman.dev/docs/preact-robot.md) - [svelte-robot-factory](https://regularhuman.dev/docs/svelte-robot-factory.md) - [lit-robot](https://regularhuman.dev/docs/lit-robot.md) - [haunted-robot](https://regularhuman.dev/docs/haunted-robot.md) - [robot-hooks](https://regularhuman.dev/docs/robot-hooks.md)