Skip to main content
Install the Rive CLI, create a project, and open the live preview. By the end of this guide, you’ll have a .riv file you can load with the Rive Runtimes.
1

Install the CLI

The CLI runs on macOS with Apple Silicon, on Linux x86_64, and on Windows.
Add the CLI to your PATH so the rive command is available in every new shell, then reload your current shell to pick it up:
Run rive doctor to check your install.
2

Create a project

That writes a rive.yaml, an AGENTS.md and CLAUDE.md for coding agents, a .gitignore, and a scene.rml holding the same frame the Editor gives a new file: an artboard, a timeline, and a state machine that plays it on load. A shape you add and key starts animating without any further setup.Everything else you drop in the folder is picked up by extension: .luau scripts, .wgsl shaders, images and fonts. The generated rive.yaml sets name and turns the build logs on; everything else in rive.yaml is optional.
3

Open the preview window

This opens a window showing the scene and watches the directory. Save any file and it rebuilds and reloads, writing myproject/build/myproject.riv, the file you can load with a runtime.A new project has nothing drawn in it yet, so you get a dark rectangle. Keep this running in one terminal while you edit in another.
To build without opening a window, use rive myproject --publish, which creates a signed .riv. To check that the project compiles without writing anything, use the --verify flag instead.

Starting from a file in your Rive account

If the work already exists in your Rive account, download it into a project:
The CLI lists your projects and files to pick from, and rive ls prints the same ids non-interactively when you need them for a script. rive.yaml records the link, so rive push sends your edits back and rive pull brings down changes made in the Editor. This requires a logged in session with rive login.

Starting from an exported .rev

You can also convert a .rev exported from the Editor, which doesn’t require a logged in session:
The scene comes out as scene.rml, and every script, shader and asset is written as its own file, laid out the way the Editor’s Assets panel had them. You also get the usual rive.yaml, AGENTS.md and .gitignore, so it is an ordinary project from that point on. The project name has to be empty or new. Omit it and the .rev’s own name is used, so myfile.rev becomes myfile/.

Signing in

You don’t need to sign in to create, preview, or build projects locally. Sign in when you need to publish a file or export a .rev to open in the Rive Editor:
An account is required for --publish, which signs the file through Rive’s API, and --rev, which exports a .rev. Everything else runs locally and works signed out and offline.
A file containing scripts that is destined for the web must be built with --publish. Unsigned scripts are rejected by the CDN and the web runtimes. A file with no scripts is unaffected.
--publish may add a watermark to the graphic. A clean .riv needs two things: the project bound to a file in your Rive account, and that file in a workspace on the Cadet plan or higher. Bind the project with rive push.

Exporting your project

Once you’re ready to share or export your CLI project, there are a few ways you can proceed:

Pushing to the Rive editor

To open the project in the Editor, push it to a file in your Rive account:
The file shows up in the Editor’s file browser like any other, and rive.yaml records the link so later pushes update the same file. Bring changes made in the Editor back into the project with rive pull. See Pushing to a Rive file for how pushes, revisions and conflicts work. If you’d rather export a .rev:
Both rive push and exporting a --rev require a logged in session from the CLI.

Build a .riv for the runtimes

To load the project in your app, build a .riv and add it to your project like any other Rive file:
This writes to myproject/build/myproject.riv, or to the directory set by output.dir in rive.yaml. From there, follow the runtime guide for your platform to load it.
To share a playable link instead of a file, rive myproject --publish=web hosts the build as a public page. See Publishing CLI Projects.

More resources

  • RML - the markup that describes a scene
  • AI Agents - hand the project to Claude Code or Cursor
  • Examples - sample projects to start from, rendering without a window, and CI
  • Commands - every command and flag