The Serverless Toolkit is CLI tooling to help you develop locally and deploy to the Twilio Functions & Assets.
There are two ways you can use the toolkit. If you are already using the Twilio CLI, you can install it via a plugin. Alternatively, you can use the toolkit as a standalone using twilio-run via npm or another Node.js package manager.
Throughout the docs, you can switch in the code snippets between Twilio-CLI and Bash Session to get the commands for both versions.
Everything in this toolkit is released under Twilio Labs and fully open-source. If you find any problems with this, please file an issue or even create a pull request to work together with us on the toolkit. We would love to hear your ideas and feedback!
This project is a monorepo, meaning it contains multiple packages in one repository. It consists out of the following packages:
twilio-run
- The underlying CLI toolplugin-serverless
- Exposes thetwilio-run
CLI into the Twilio CLIcreate-twilio-function
- Handles templating and bootstrapping of new projects and Functionsserverless-api
- The module used to interact with the actual Twilio Functions and Assets APIruntime-handler
- A version of the Twilio Functions Runtime Handler to be used in local developmentplugin-assets
- A plugin for the Twilio CLI to easily upload assets to a Twilio Assets serviceserverless-runtime-types
- TypeScript definitions to define globals for the Twilio Serverless runtime
Also part of the Serverless toolkit, but in another repository:
function-templates
- The templates used by the toolkit to create new Functions
To understand more about the structure and the design of the Toolkit check out the design documentation.
This project uses npm
workspaces as a tool to manage the monorepo. If you are unfamiliar with the tool, start by checking out the the npm
docs and make sure you use at least npm version 8 or newer (npm install -g npm@8
).
git clone git@github.com:twilio-labs/serverless-toolkit.git
cd serverless-toolkit
npm install
npm run build
MIT
Unofficial logo. Not a Twilio logo.