https://github.com/voxaai/voxa-starterkit
https://github.com/voxaai/voxa-starterkit
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/voxaai/voxa-starterkit
- Owner: VoxaAI
- License: mit
- Created: 2017-07-10T16:00:06.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-06T21:57:21.000Z (over 3 years ago)
- Last Synced: 2024-04-14T04:49:55.675Z (about 2 years ago)
- Language: JavaScript
- Size: 192 KB
- Stars: 1
- Watchers: 17
- Forks: 3
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
.. _starter-kit:
Starter Kit
=============
This project is designed to be a simple template for your new skills. With some well thought defaults that have proven useful when developing real life skills.
### Directory Structure
---------------------
It has the following directory structure
```
.
├── README.md
├── config
│ ├── env.js
│ ├── index.js
│ ├── local.json.example
│ ├── production.json
│ └── staging.json
├── gulpfile.js
├── package.json
├── serverless.yml
├── services
├── skill
│ ├── MainStateMachine.js
│ ├── index.js
│ ├── variables.js
│ └── views.js
├── speechAssets
│ ├── IntentSchema.json
│ ├── SampleUtterances.txt
│ └── customSlotTypes
├── test
├── server.js
```
### config
By default your skill will have the following environments:
- local
- staging
- production
What environment you're is determined in the ``config/env.js`` module.
### skill
This is where your code to handle alexa events goes, you will usually have a State Machine definition, this will include :ref:`states `, :ref:`middleware ` and a :ref:`Model `, :ref:`views-and-variables`
### speechAssets
This should be a version controlled copy of your intent schema, sample utterrances and custom slots.
### server.js
An http server for your skill configured to listen on port 3000, this should be used for development only.
### services
Just a common place to put models and libraries
### test
You write tests right?
### gulpfile
A gulp runner configured with a watch task that starts your express server and listens for changes to reload your application.
### serverless.yml
The serverless framework is a tool that helps you manage your lambda applications, assuming you have your AWS credentials setup properly this starter kit defines the very minimum needed so you can deploy your skill to lambda with the following command:
```
$ sls deploy
```
### Dependencies (install these first)
----------------------------------
1. If you are using node.js for the first time, install node:
* Install `nvm `_, ``curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash``,
* Install node 4.3, ``nvm install 4.3``
2. Install gulp globally, ``npm install -g gulp``
3. Install `ngrok `_, and `add it to your local bin `_
Running the project
---------------------
1. Clone the `voxa `_ repository
2. Create a new skill project using the ``samples/starterKit`` directory as a basis
3. Make sure you're running node 4.3, this is easiest with `nvm `_
4. In your skill directory, install node dependencies using ``npm install``
5. Create a ``config/local.json`` file using ``config/local.json.example`` as an example
6. Run the project with ``gulp watch``
7. At this point you should start ``ngrok http 3000`` and configure your skill in the Amazon Developer panel to use the ngrok https endpoint.