/stream-cli

Configure & manage Stream applications from the command line. 🚀

Primary LanguageJavaScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Stream Cli

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.

Coverage Status Version Dependency Status devDependency Status License

🗒 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:

Stream

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.61 darwin-x64 node-v13.8.0
$ 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.