> ## Documentation Index
> Fetch the complete documentation index at: https://rive.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Protocols

Protocols are the structured categories of scripts that tell the Editor what you’re trying to make.

Rive currently ships with the following protocols, with more to come:

* [Node](/scripting/protocols/node-scripts)
* [Layout](/scripting/protocols/layout-scripts)
* [Converter](/scripting/protocols/converter-scripts)
* [Path Effect](/scripting/protocols/path-effect-scripts) - Create custom path effects.
* [Transition Conditions](/scripting/protocols/transition-condition-scripts) - Create custom state machine transition conditions.
* [Listener Actions](/scripting/protocols/listener-action-scripts) - React to state machine listeners.
* [Test](/scripting/protocols/test-scripts) - Unit test your functions.

Each protocol represents a different kind of script the Editor can generate: a converter that shapes data, a custom drawing function, a layout helper, a testing harness, a path effect you can attach to strokes, and so on.

Selecting a protocol generates a typed scaffold that defines the surface area you’re allowed to operate on. From there, you work with Rive-native concepts — paths, shapes, view models, artboards, state machines, timelines — but always through the lens of the protocol you picked. It keeps scripts specific and prevents “do anything anywhere” chaos.
