Slide 1

Slide 1 text

Better API DX with a CLI @philnash

Slide 2

Slide 2 text

Phil Nash @philnash https://philna.sh [email protected]

Slide 3

Slide 3 text

Better API DX with a CLI @philnash

Slide 4

Slide 4 text

Better API DX with a CLI Application Programming Interface Developer eXperience Command Line Interface @philnash

Slide 5

Slide 5 text

Developer experience @philnash

Slide 6

Slide 6 text

We built a CLI @philnash

Slide 7

Slide 7 text

$ twilio @philnash

Slide 8

Slide 8 text

We built a CLI Node.js oclif npm & brew @philnash

Slide 9

Slide 9 text

Know your audience Not everyone will want to use a CLI Hypothesis: developers prefer the command line to the console Hypothesis: developers would like to automate Twilio actions @philnash

Slide 10

Slide 10 text

Not all CLIs are created equal @philnash

Slide 11

Slide 11 text

Building a CLI for an API - 3 questions What's the minimum a CLI can do to be useful? What can you add to a CLI to make it a better experience? What can your users add to the CLI? @philnash

Slide 12

Slide 12 text

Minimum Viable CLI @philnash

Slide 13

Slide 13 text

Minimum Viable CLI Commands for your API endpoints Documentation You probably want to generate these commands @philnash

Slide 14

Slide 14 text

Minimum Viable CLI Commands for your API endpoints Documentation Secure credential storage @philnash

Slide 15

Slide 15 text

Better built in experience @philnash

Slide 16

Slide 16 text

Better built in experience $ twilio api $ twilio --help @philnash

Slide 17

Slide 17 text

Better built in experience Autocomplete Shortcuts Extra APIs Feedback Extra capabilities for specific APIs @philnash

Slide 18

Slide 18 text

Who else can contribute to the experience? @philnash

Slide 19

Slide 19 text

$ twilio plugins @philnash

Slide 20

Slide 20 text

Building a CLI for an API - 3 questions What's the minimum a CLI can do to be useful? What can you add to a CLI to make it a better experience? What can your users add to the CLI? @philnash

Slide 21

Slide 21 text

Links https://github.com/twilio/twilio-cli https://www.twilio.com/blog/five-twilio-cli-features-you-should-know-about @philnash

Slide 22

Slide 22 text

Build great CLIs! @philnash

Slide 23

Slide 23 text

Thanks! @philnash https://philna.sh [email protected]