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,
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
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
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,
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
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
Web design and content copyright © 2020 Noah Petherbridge.