Serverless Alexa Skills Plugin

serverless Build Status

Description

Manage your Alexa Skills with Serverless Framework.

Requirements

Installation

serverless plugin install --name serverless-alexa-skills

or

npm install serverless-alexa-skills

Setup

See: the step-by-step guide

Configuration

serverless.yml

provider:
name: aws
runtime: nodejs6.10
plugins:
- serverless-alexa-skills
custom:
alexa:
skills:
- id: ${env:YOUR_ALEXA_SKILL_ID}
skillManifest:
publishingInformation:
locales:
en-US:
name: test2
apis:
custom: {}
manifestVersion: '1.0'
models:
en-US:
interactionModel:
languageModel:
invocationName: hello
intents:
- name: AMAZON.CancelIntent
samples: []
- name: AMAZON.HelpIntent
samples: []
- name: AMAZON.StopIntent
samples: []
- name: HelloWorldIntent
samples:
- hello
- say hello
- hello world

Commands

alexa auth

Authenticate with Amazon OAuth2.

  • This command creates a local web server to receive OAuth2 authentication redirects. The default port is 9090. If you want to change the port, please change custom.alexa.localServerPort setting.

Note: You must use the 9090 port if use the default security profile. If you want to use another port number, you have to create a custom security profile with "http://127.0.0.0:$YOUR_PORT_NUMBER/cb" as Allow Return URLs.

$ serverless alexa auth -h
Plugin: AlexaSkills
alexa auth .................... Authenticate with Amazon OAuth2

alexa create

Create an Alexa Skill.

$ serverless alexa create -h
Plugin: AlexaSkills
alexa create .................. Create an Alexa Skill
--name / -n (required) ............. Name of the skill
--locale / -l (required) ........... First locale of the skill (e.g. "ja-JP", "en-US")
--type / -t (required) ............. Type of the skill (e.g. "custom", "smartHome", "video")

alexa delete

Delete an Alexa Skill.

$ serverless alexa delete -h
Plugin: AlexaSkills
alexa delete .................. Delete an Alexa Skill
--id / -i (required) ............... Skill ID

alexa manifests

List your Alexa Skill Manifests.

$ serverless alexa manifests -h
Plugin: AlexaSkills
alexa manifests ............... List your Alexa Skill Manifests

alexa update

Update your Alexa Skill Manifests.

$ serverless alexa update -h
Plugin: AlexaSkills
alexa update .................. Update your Alexa Skill Manifests
--dryRun / -d ...................... Dry run (Only output the diff)

alexa models

List your Alexa Interaction Models.

$ serverless alexa models -h
Plugin: AlexaSkills
alexa models .................. List your Alexa Interaction Models

alexa build

Update and buid your Alexa Interaction Models.

$ serverless alexa build -h
Plugin: AlexaSkills
alexa build ................... Update and buid your Alexa Interaction Models
--dryRun / -d ...................... Dry run (Only output the diff)

How to use

See: the post of Serverless Blog

Development

Pull requests are very welcome! Make sure your patches are well tested. Ideally create a topic branch for every separate change you make. For example:

  1. Fork the repo
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Authors

Created and maintained by Masashi Terui (marcy9114@gmail.com)

License

MIT License (see LICENSE)