
Stream CLI
Stream's Command Line Interface (CLI) makes it easy to create and manage your Stream apps directly from the terminal. Currently, only Chat is supported; however, the ability to manage Feeds will be coming soon.

π Issues
If you're experiencing problems directly related to the CLI, please add an issue on GitHub.
For other issues, submit a support ticket.
π Changelog
As with any project, things are always changing. If you're interested in seeing what's changed in the Stream CLI, the changelog for this project can be found here.
π Installation
The Stream CLI is easy to install and available via npm. The CLI requires Node v10.x or above.
$ yarn global add getstream-cli
OR
$ npm install -g getstream-cli
π Getting Started
In order to initialize the CLI, it's as simple as:

Note: Your API key and secret can be found on the Stream Dashboard and is specific to your organization.
π¨ Syntax
Basic commands use the following syntax:
$ stream command:COMMAND --arg1 "foo" --arg2 "bar"
Whereas commands for specific products use subcommands:
$ stream command:COMMAND:SUBCOMMAND --arg1 "foo" --arg2 "bar"
π© Fun Facts
Interested in using the calling the CLI from a script? Or maybe you simply want raw response data? You can do that! Many of the commands accept a json
argument as a boolean
. Just pass the following along to the CLI and you'll get back a full representation of the response (in a raw data format):
$ stream command:COMMAND --arg1 "foo" --arg2 "bar" --json
Need to copy the output to your clipboard? Not a problem. Just pipe the information to pbcopy
(on macOS) along with the --json
flag:
$ stream debug:token --token "foo.bar.baz" --json | pbcopy
Want to call the Stream CLI using a bash command? No problem! Make sense of output using jq, a lightweight and flexible command-line JSON processor.
#! /bin/bash
run=$(stream config:get --json)
name=$(jq --raw-output '.name' <<< "${run}")
email=$(jq --raw-output '.email' <<< "${run}")
apiKey=$(jq --raw-output '.apiKey' <<< "${run}")
apiSecret=$(jq --raw-output '.apiSecret' <<< "${run}")
echo $name
echo $email
echo $apiKey
echo $apiSecret
OR
#! /bin/bash
stream chat:channel:create --channel=$(openssl rand -hex 12) --type="messaging" --name="CLI" --json | jq '.'
Note: See here for additional examples!
π₯³β Usage
$ npm install -g getstream-cli
$ stream COMMAND
running command...
$ stream (-v|--version|version)
getstream-cli/0.0.6 darwin-x64 node-v12.3.1
$ stream --help [COMMAND]
USAGE
$ stream COMMAND
...
π» Commands
Command Topics
π£ Feedback
If you have any suggestions or just want to let us know what you think of the Stream CLI, please send us a message at support@getstream.io or create a GitHub Issue.