voxa

Voxa is a framework that uses state machines to create elegant cross platform conversational experiences.

View project on GitHub

Voxa

Voxa is a framework that provides a way to organize a conversational experience into a state machine. Even the most complex voice user interface (VUI) can be represented through the state machine and it provides the flexibility needed to both be rigid when needed in specific states and flexible to jump around states when needed.

Why Voxa vs other frameworks

Voxa provides a more robust framework for building Alexa skills, Cortana skills, or Google Assistant Actions. It provides a design pattern that wasn’t found in other frameworks. Critical to Voxa was providing a pluggable interface and supporting all of the latest platform features.

Platform Support

Alexa Assistant Cortana

Installation

Just install from npm

npm install --save voxa

Usage

const Voxa = require('voxa');

// Views are used by your controller to send responses to the user
const views = {
  LaunchIntent: { tell: 'Hello World!' },
}

// initialize the skill
const skill = new Voxa({ views })

// respond to a LaunchIntent
skill.onIntent('LaunchIntent', (event) => {
  return { reply: 'LaunchIntent' };
});

// lambda handler
exports.handler = function handler(event, context, callback) {
  return skill.execute(event, context)
    .then(result => callback(null, result))
    .catch(callback);
}

Tests

An extensive test suite with more than 99% code coverage

npm run test

Build Status Coverage Status Documentation npm

JS Code linting

npm run lint

Resources