• Stars
    star
    440
  • Rank 98,636 (Top 2 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 5 years ago
  • Updated 12 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Paste is a design system for designing and building consistent experiences at Twilio.

Paste

Paste is a design system used to build accessible, consistent, and high quality customer experiences at Twilio. Paste is open source and contributions are welcome.

Code of Conduct PRs Welcome


Usage

For usage guidelines, please see our documentation website.

Developing on Paste

Getting started

Clone the repo then run the following commands from within the repo's folder:

yarn # bootstraps the repo and downloads packages
yarn build # builds all of Paste

Then you can run a local storybook instance with:

yarn start:storybook

For more commands, please reference the package.json file.

Contributing

Before contributing, please make sure that you read our Contributing Guidelines and agree with our Code of Conduct.

Changesets

Each change to a package must come with a changeset. You should have an individual changeset for each package you have touched.

To create a changeset you can run:

yarn changeset

Follow the prompts shown to you in your terminal.

Instructions on how to use the cli tool can be found here, but all you should need to do is generate a changeset and commit it with your Pull Request.

Hosted Storybook

Storybook

We use Chromatic to host the Storybook instance.

Dependencies

Paste is a monorepo and has some specific requirements in how it handles dependencies.

Dev Deps

Each package can have dev dep requirements, such as typescript. As this is a monorepo using yarn workspaces there is no requirement to list these as package dev deps. All dev deps are hoisted to the monorepo root. Declare them at the root package.json file.

Peer Deps

A special note about peer deps: Peer dependencies should be hoisted up the dependency tree. If package-a lists package-b as a peer dep, and package-b lists package-c as a peer dep, package-c must also be listed as a peer dep for package-a. All the way down the tree.

A real example might be a Button. Button may only have a peer dependency on Box, but Box has a peer dependency on Theme, Design-Tokens, and Style-Props. These child peer deps need to be hoisted to the Button package. As such Button deps should look like:

{
  "name": "button",
  "peerDependencies": {
    "@twilio-paste/box": "^0.0.1",
    "@twilio-paste/theme": "^0.0.1",
    "@twilio-paste/design-tokens": "^0.0.1",
    "@twilio-paste/style-props": "^0.0.1"
  }
}

Internal Deps

When a package has a peer dependency on another internal package in the mono repo, it must also be listed as a dev dependency for compilation.

Example:

{
  "name": "button",
  "peerDependencies": {
    "react": "^16.8.6",
    "react-dom": "^16.8.6"
    "@twilio-paste/box": "^0.0.1",
    "@twilio-paste/theme": "^0.0.1",
    "@twilio-paste/design-tokens": "^0.0.1",
    "@twilio-paste/style-props": "^0.0.1"
  },
  "devDependencies": {
    "@twilio-paste/box": "^0.0.1",
    "@twilio-paste/theme": "^0.0.1",
    "@twilio-paste/design-tokens": "^0.0.1",
    "@twilio-paste/style-props": "^0.0.1"
  }
}

Checking and fixing peer deps

To ensure peer dependencies are listed correctly, a check is run on the monorepo on every build.

yarn packages:check

If missing deps are detected you will be informed of which packages are missing what deps.

To fix missing peer deps, run the fix command.

yarn packages:fix

Releasing

Releasing Paste happens via CI/CD using Changesets.

License

MIT

More Repositories

1

open-pixel-art

A collaborative pixel art project to teach people how to contribute to open-source
JavaScript
587
star
2

function-templates

Twilio Function templates for different Voice, SMS, Video, Chat, Sync, etc use cases
JavaScript
340
star
3

call-gpt

Generative AI phone call toolkit using Twilio Media Streams.
JavaScript
257
star
4

deadshot

Deadshot is a Github pull request scanner to identify sensitive data being committed to a repository
Python
190
star
5

svg-to-react

Converts SVG assets into accessible React components with smart default props
TypeScript
155
star
6

actions-sms

Send an SMS through GitHub Actions
JavaScript
148
star
7

socless

The SOCless automation framework
Python
132
star
8

serverless-toolkit

CLI tool to develop, debug and deploy Twilio Functions
TypeScript
114
star
9

twilio-barista

β˜•οΈ Twilio-powered app for easy coffee ordering at events
JavaScript
95
star
10

dev-phone

A developer tool for testing SMS and Voice applications
JavaScript
74
star
11

twilio-aspnet

Integrate Twilio Programmable Messaging and Voice with ASP.NET Respond to webhooks with TwiML in seconds
C#
58
star
12

NgrokExtensions

Visual Studio integration with ngrok
C#
48
star
13

plugin-rtc

Twilio CLI plugin which supports developing and deploying real-time communication apps
JavaScript
38
star
14

plugin-signal2020

SIGNAL 2020 Developer Mode
TypeScript
36
star
15

plugin-flex-outbound-dialpad

Sample Twilio Flex plugin for a dialpad solution that allows for conferencing and supervisor monitor and external transfer
JavaScript
33
star
16

receptionist-bot-rs

Slack bot for self-servicing automation of common or predictable tasks.
Rust
32
star
17

code-exchange

Code guidelines, feature requests and bug reports for the Twilio CodeExchange
26
star
18

vscode-twilio

VS Code extension to work with the Twilio CLI
JavaScript
24
star
19

snyk-watcher

Python
21
star
20

plugin-serverless

Twilio CLI plugin to work with Serverless
JavaScript
21
star
21

plugin-flex-realtime-stats-dashboard

Sample Twilio Flex plugin for a real time stats solution
JavaScript
21
star
22

sample-autopilot-voice-ivr

Voice-Powered IVR Chatbot with Autopilot
JavaScript
20
star
23

gordon

Gordon is status check Github app to enforce and validate about.yaml file specifications in a repository during pull requests to drive code ownership at scale within an organization
Python
19
star
24

sample-template-nodejs

A template repository serving as the base for new Twilio sample apps
JavaScript
18
star
25

sample-conversations-masked-numbers

Masked Phone Numbers over SMS with Conversations
JavaScript
17
star
26

sample-appointment-reminders-node

Send automatic reminders about scheduled events using Node.js and Twilio SMS
JavaScript
17
star
27

masked-communications-app

TypeScript
16
star
28

twilio-firebase-extensions

A collection of Firebase Extensions for Twilio functionality.
TypeScript
16
star
29

plugin-agent-autoresponse

This Twilio Flex Plugin enables your agents to send canned responses when chatting with a customer.
JavaScript
15
star
30

serverless-api

Node.js library to manage deploy Serverless Functions
14
star
31

ml-training-api

A service template for asynchronous machine learning model training
Python
14
star
32

sketch-twilio-ipsum

A realistic fake data populator for Sketch.
JavaScript
13
star
33

create-twilio-function

A CLI tool to generate a new Twilio Functions project that can be run locally with twilio-run.
JavaScript
13
star
34

plugin-message-media

Send and receive message media in Twilio Flex
JavaScript
13
star
35

twilio-style

Twilio's shareable ESLint config
JavaScript
12
star
36

sample-flows-github-actions

Example of deploying Twilio Studio flows via GitHub Actions
JavaScript
12
star
37

plugin-queued-callbacks-and-voicemail

JavaScript
11
star
38

match

Match is a design system used to build accessible, consistent, and high quality public-facing experiences at Twilio.
TypeScript
11
star
39

ai-assistants-samples

HTML
11
star
40

plugin-webhook

Twilio CLI plugin to emulate webhook requests from Twilio
JavaScript
10
star
41

plugin-agent-notes

This Twilio Flex Plugin enables your agents to take notes when they are on-call or chatting with a customer. This is an introductory plugin where the notes are stored locally for your agents.
JavaScript
10
star
42

plugin-watch

Access and stream your Twilio debugger logs along with your calls and messages.
JavaScript
10
star
43

serverless-toolkit-moved

Twilio Serverless Toolkit allows you to locally develop, debug and deploy to Twilio Serverless
10
star
44

sample-autopilot-support-bot

This sample application shows how to build an automated SMS chatbot using Twilio's autopilot
JavaScript
9
star
45

netlify-okta-auth

Use Okta as your identity provider with Netlify's Role-based access control with JWT
TypeScript
9
star
46

socless-slack

SOCless Slack Integrations
Python
9
star
47

twilio-flex-sample-backend

Sample backend for a suite of Twilio Flex Plugin solutions
JavaScript
8
star
48

plugin-flex

Twilio CLI plugin to interact with the Flex Plugin Builder
JavaScript
8
star
49

vestlus

A conversational app.
TypeScript
8
star
50

twilio-anchore

Python library that you can use to develop applications and automate tasks using the Anchore API
Python
8
star
51

sample-pay-service

Payment over the phone
JavaScript
7
star
52

paste-prototype-kit

The Paste Prototyping Kit is a quick way to get up and running building a functional prototype using Paste components.
JavaScript
7
star
53

configure-env

Configures your project's environment by creating a .env file.
TypeScript
6
star
54

docusaurus-plugin-segment

Send page views in Docusaurus sites to Segment.
TypeScript
6
star
55

ai-assistants-js

TypeScript
6
star
56

languagetool-cli

LanguageTool CLI tool
TypeScript
5
star
57

sms-keyword-router

Redirect inbound SMS to multiple webhooks based on an initial keyword.
JavaScript
5
star
58

plugin-token

Twilio CLI plugin for generating access tokens for Twilio Chat, Video, etc.
JavaScript
5
star
59

frontline-hubspot-serverless-quickstart

Sample Frontline integration with Hubspot CRM using Twilio Functions to host integration service
JavaScript
5
star
60

socless_python

Python library for the SOCless Automation Framework
Python
4
star
61

plugin-emoji-picker-2.x

Add emojis to messages in Flex UI 2.x
TypeScript
4
star
62

about

Open-Source Projects by Twilions & the Community
4
star
63

frontline-salesforce-serverless-quickstart

A code example of integrating salesforce for Frontline callbacks
JavaScript
4
star
64

sample-sendgrid-email-events-nodejs

Showcases how email events and webhook security
JavaScript
4
star
65

twilio-tap-zendesk

Singer.io tap for Zendesk API
Python
3
star
66

runtime-helpers

A set of common utility code for use in Twilio Functions.
TypeScript
3
star
67

serverless-runtime-types

TypeScript definitions to define globals for the Twilio Serverless runtime
JavaScript
3
star
68

sample-preference-center

Preference Center using Sinatra
HTML
3
star
69

flex-plugins-utils

General utility methods used by various Flex Plugins repos
TypeScript
3
star
70

serverless-framework-integration

Serverless Framework plugin for Twilio Runtime
JavaScript
3
star
71

twilio-style-cli

Twilio Style CLI
TypeScript
2
star
72

CloudCityCakeCo-dotnet-mvc

C#
2
star
73

plugin-signal2021

Welcome to SIGNAL Developer Mode 2021
TypeScript
2
star
74

frontline-airtable-serverless-quickstart

JavaScript
2
star
75

plugin-verify

Twilio Flex plugin to authenticate users with the Verify API
JavaScript
2
star
76

twiml-i18n

A lightweight middleware designed to facilitate the internationalization (i18n) of Twilio Markup Language (TwiML) responses.
TypeScript
2
star
77

docusaurus-plugin-refresh-session

Docusaurus plugin to automatically refresh an authenticated session when a login token expires.
TypeScript
1
star
78

plugin-signal2022

TypeScript
1
star
79

socless-sumologic

SOCless Sumo Logic Integrations
Python
1
star
80

docusaurus-plugin-for-datadog-rum

Datadog RUM plugin for Docusaurus
TypeScript
1
star
81

socless-template

Template for creating SOCless Integrations
Python
1
star
82

formik-paste

simple declarative bindings for Formik and Twilio React Paste components
TypeScript
1
star
83

socless_repo_parser

Take a list of socless repo names and query the github api for their raw lambda .py files and serverless.yml, parsing key elements into a single json output to build a catalog of all available lambda functions in the ecosystem.
Python
1
star
84

omnioculus

See the danger, even when it cannot see you.
JavaScript
1
star