brb-cli-1.1.0-beta has been yanked.
brb
Tired of babysitting commands for hours? brb is a wrapper for commands, it
waits for a given command to complete, then sends a completion event to your
configured channels.
Best used for long builds, test suites, data jobs, and deploy commands.
Setup
Install from cargo:
Then setup like so:
# create global config
# check where config is stored
# run something and notify default channels
# override channels for one run
Usage
brb [--channel <channel-id> ...] <command> [args...]
brb init
brb channels list
brb channels validate
brb channels test <channel-id>
brb config
brb config path
brb --help
brb --version
If your wrapped command begins with flags, separate with --:
Cookbook
| Goal | Command |
|---|---|
| Run with defaults | brb cargo test |
| Use one specific channel | brb --channel desktop cargo test |
| Use multiple channels | brb --channel mobile --channel ci-webhook pnpm test |
| Validate config | brb channels validate |
| Send test notification | brb channels test desktop |
| Print config path | brb config path |
Config
A fully commented example is included at assets/examples/config.yml.
Channel Types
| Type | Purpose | Required Fields | Optional Fields |
|---|---|---|---|
desktop |
Local desktop notification | type |
none |
webhook |
HTTP JSON event delivery | type, url |
method (default POST), headers |
custom |
Execute your own notifier process | type, exec |
args, env |
Custom
custom channels are an executable that receive one JSON event on stdin.
exec supports:
- Relative path: resolved from the working directory where
brbis launched. - Absolute path: used directly.
The JSON the executable will receive is shaped like so: