Develop with RiveScript

Here lies information and resources to get started in developing with RiveScript. This information is aimed at software developers who wish to use RiveScript in their own projects, as well as developers who wish to help me work on the core RiveScript language itself.

Using the RiveScript Library

If you fall into the first camp and want to use RiveScript in your own application, check out the RiveScript Interpreters page and find a library that will work for your project.

There are first-party RiveScript modules currently available for Go, Java, JavaScript, Perl and Python. Third party support for RiveScript includes PHP and C#.

Write a New Library

No RiveScript library is available for your favorite programming language? Why not write one! Check out the source codes of the existing implementations and begin porting it to a new language. If you'd prefer more of a "clean room" approach where you don't look at the existing implementations, read on for information about the Working Draft.

If you're writing a new library and want to refer to existing code, the recommended implementations to look at are the JavaScript or Go versions, as these were the most recently developed and have a better code organizational style (e.g. separating the syntax parser library into its own separate module).

Get Text Editor Plugins

Make writing RiveScript code easier by installing a syntax highlighting plugin for your text editor!

There are syntax highlighting plugins for popular text editors including Atom, SublimeText and Vim.

RiveScript Working Draft

The RiveScript Working Draft (WD) is a document that defines the standards for how RiveScript should work, from an implementation-agnostic point of view. When developing a RiveScript interpreter, the Working Draft should be followed as closely as possible. If any of the current implementations don't do what the Working Draft says they should, this is considered to be a bug and you can file a bug report or send a pull request.

The current version of the Working Draft is at and older versions are archived at

Contribute to the RiveScript Language Itself

Feel free to get in touch with me about changes and features for the core RiveScript language itself. First, review the Contributor Guidelines and make sure you understand the goals and scope of the RiveScript language; RiveScript is designed to be small and do one thing really well, which leaves a lot of nice-to-have features well outside of the scope of the core language (oftentimes these features would be something for a chatbot application to implement, not the core RiveScript interpreters).
Web design and content copyright © 2017 Noah Petherbridge.