<commit_before># Overview
The bst (aka Bespoke Tools aka the BEAST :-)) makes it easy to develop for Alexa/Echo.  
AND we plan to support other voice-first products (like Google Home) as they become available.

The current version provides two commands - **proxy** and **proxy-lambda**.  
These proxies makes it super-easy to develop and debug your Alexa skill on your local machine.  
Just point the bst at the local service running on your machine, and your code changes will be instantaneously available via Alexa.

Keep an eye out as we add more features and commands in the future. Current plans:  
-Deploy: automatically deploy Alexa lambdas to the cloud with a single command  
-Test: run phrases through and get the exact input sent to your Skill service

# Getting Started
Install NPM (if not already):  
http://blog.npmjs.org/post/85484771375/how-to-install-npm

Install bespoke-tools:  
`npm install bespoke-tools -g`

# Available Commands
## Proxy
**Running Proxy**  
Proxy allows you to make changes to code on your machine and immediately test it with an Alexa device.

To use, it simply type in the following command:
`bst proxy <NODE_ID> <PORT>`

For example:
`bst proxy JPK 9999`

The node ID value, "JPK", is the name for your machine. It uniquely identifies it to our server.
We use this so we know which calls from Alexa to forward to your machine.

The second parameter, port, represents the port that your local Alexa service is listening on.

Set this to whatever port your local server is running on. All traffic coming from Alexa will be forwarded to it.

**Configuring Your Skill**  
Your skill must be setup to point at our server. For example, if the URL for your skill is normally:
https://myskill.example.com/skillA

It should instead be configured to point at our server, like so:
https://bst.xappmedia.com/skillA?node-id=JPK

_Also note that that node ID set with the proxy command must be passed in the query string__
Here is it set as ?node-id=JPK

The rest of the URL path and query string should be unchanged.

You can enter the command for help transforming your URL:
`bst proxy-url <NODE_ID> <URL>`

This value should be entered as the endpoint on the Configuration section for your Alexa skill.

## Proxy Lambda (Experimental)
**Overview**  
The proxy-lambda command allows you to run a lambda as a local service your machine.

The command currently only supports Node Lambdas.

**Usage**  
To use it, invoke it with the full path to the Lambda file to run, along with your machine's node-id.

The Lambda will automatically be passed the incoming request.

Syntax:  
`bst proxy-lambda <NODE_ID> <FULL_PATH_TO_LAMBDA>`

Example:  
`bst proxy-lambda JPK /Users/jpk/dev/samples/src/index.js`

# Contact
Email <EMAIL> with any questions or comments. We love to hear feedback.<commit_msg>More fomratting<commit_after># Overview
The bst (aka Bespoke Tools aka the BEAST :-)) makes it easy to develop for Alexa/Echo.  
AND we plan to support other voice-first products (like Google Home) as they become available.

The current version provides two commands - **proxy** and **proxy-lambda**.  
These proxies makes it super-easy to develop and debug your Alexa skill on your local machine.  
Just point the bst at the local service running on your machine, and your code changes will be instantaneously available via Alexa.

Keep an eye out as we add more features and commands in the future. Current plans:  
-Deploy: automatically deploy Alexa lambdas to the cloud with a single command  
-Test: run phrases through and get the exact input sent to your Skill service

# Getting Started
Install NPM (if not already):  
http://blog.npmjs.org/post/85484771375/how-to-install-npm

Install bespoke-tools:  
`npm install bespoke-tools -g`

# Available Commands
## Proxy
**Running Proxy**  
Proxy allows you to make changes to code on your machine and immediately test it with an Alexa device.

To use, it simply type in the following command:  
`bst proxy <NODE_ID> <PORT>`

For example:  
`bst proxy JPK 9999`

The node ID value, "JPK", is the name for your machine. It uniquely identifies it to our server.
We use this so we know which calls from Alexa to forward to your machine.

The second parameter, port, represents the port that your local Alexa service is listening on.

Set this to whatever port your local server is running on. All traffic coming from Alexa will be forwarded to it.

**Configuring Your Skill**  
Your skill must be setup to point at our server. For example, if the URL for your skill is normally:  
https://myskill.example.com/skillA

It should instead be configured to point at our server, like so:  
https://bst.xappmedia.com/skillA?node-id=JPK

_Also note that that node ID set with the proxy command must be passed in the query string__
Here is it set as ?node-id=JPK

The rest of the URL path and query string should be unchanged.

You can enter the command for help transforming your URL:  
`bst proxy-url <NODE_ID> <URL>`

This value should be entered as the endpoint on the Configuration section for your Alexa skill.

## Proxy Lambda (Experimental)
**Overview**  
The proxy-lambda command allows you to run a lambda as a local service your machine.

The command currently only supports Node Lambdas.

**Usage**  
To use it, invoke it with the full path to the Lambda file to run, along with your machine's node-id.

The Lambda will automatically be passed the incoming request.

Syntax:  
`bst proxy-lambda <NODE_ID> <FULL_PATH_TO_LAMBDA>`

Example:  
`bst proxy-lambda JPK /Users/jpk/dev/samples/src/index.js`

# Contact
Email <EMAIL> with any questions or comments. We love to hear feedback.
{'fraction_non_alphanumeric': 0.060113154172560114, 'fraction_numerical': 0.005304101838755304, 'mean_word_length': 4.078096947935368, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1808488', 'n_tokens_mistral': 1611, 'n_tokens_neox': 1532, 'n_words': 858}