Relay Workflow developer CLI
$ npm install -g @relaypro/cli
$ relay COMMAND
running command...
$ relay (--version|-v)
@relaypro/cli/1.9.0 darwin-arm64 node-v20.11.0
$ relay --help [COMMAND]
USAGE
$ relay COMMAND
...
relay analytics
- Display and filter analyticsrelay audio
- Create custom audiorelay devices
- list all device idsrelay env
- displays the configured environmentrelay group
- Lists all groups.relay help
- Display help for relay.relay login
- login with your Relay credentialsrelay logout
- logout and forget any tokensrelay positions
- list all positions by venuerelay subscriber
- show default subscriberrelay tag
- Manages configurations that can be associated with an NFC tagrelay token
- generate a token that can be used with the Relay SDKrelay update
- update the relay CLIrelay venues
- list all venuesrelay version
relay whoami
- display the current logged in userrelay workflow
- Manage workflow configurations
Relay CLI is largely built on top of Saleforce's oclif CLI framework, which provides many features common to the best CLIs, including commands, subcommands, flags, arguments, and environment variable overrides. All while producing user-facing help documentation to assist CLI users learn how to use the Relay CLI.
The best way to use the Relay CLI is to install via NPM as demonstrated in the Usage section. However, if you'd like to contribute or test a branch before it is made public, you'll need to run the Relay CLI from source. Here's how to get started:
$ git clone https://github.com/relaypro/relay-cli.git
$ cd relay-cli
You can run from the default main
branch. It contains the latest
public, and perhaps a little more, depending on the current development
lifecycle.
If you are contributing new code or seeking a fix, create a new branch:
$ git checkout -b feature/my-awesome-patch
$ npm install
When running the Relay CLI when installed from NPM, the relay
entry
point is set up and all commands are
There are two commands that are the "entry points" into the Relay CLI.
Each has a distinct purpose:
bin/dev
is slow, but accurate. Every time you execute, the entire project is rescannded and the source is compiled. On average, this command can take up to 5 seconds. This command is primarily used during development. If you are editing source code regularly and testing those changes, this is the command to use.bin/run
is fast, but inaccurate. Meaning,bin/run
utilizes metadata cached on the filesystem and pre-compiled code in order to be fast. This command, in fact, is what is used when you install via NPM and run usingrelay
. However, it is "inaccurate" in that you must remember to execute the caching and compiling commands before using it otherwise you will see errors or outdated, precompiled code will be used.
The following development-time invocation is slow, but accurate and will always compile code.
$ bin/dev COMMAND
The following development-time invocation is fast, but inaccurate... will use cached metadata and pre-compiled code.
$ bin/run COMMAND
Before you run bin/run
you will need to create the command metadata
cache and pre-compile the code. This can be done with the prepack
command as follows:
$ npm run prepack
It is safe to run this multiple times as you make changesas the command
will overwrite the metadata cache and compiled code. No need to manually
clean up the output of the prepack
command.