If you’re short on time:
brew install strmprivacy/cli/strm or grab a binary right away
At STRM Privacy, we aim to make building for privacy much easier.
But “easy” is a lot of work. Our CLI was orginally conceived as an internal tool to increase our own velocity. Given it was there and made our lives easier, we released early versions and got good feedback.
Over time, as we used it extensively internally, we developed more and more opinions about its limitations and felt a little rethinking wouldn’t hurt. Today we’re sharing the fruits of that process.
Verb oriented interface
Commands from well-known CLIs such as
kubectl have inspired us to make our CLI more verb oriented, which means that most of the subcommands start with verbs such as list, get, create, delete. This makes the CLI more predictable and easy to use.
strm get stream myst<tab> autocompletes to a stream called mystream (if you created that before)
Simulator and egress
The CLI now offers the option to send random events with a trivial serialization schema, using the
strm simulate random-events <stream-name> command. These events can be received using the
strm listen command. This way, you can create a stream, start sending random events and receive the events, all from the CLI in a matter of seconds. There’s a post to dive a bit deeper into
Whenever you omit property values that are required, the CLI has built-in sensible defaults. For example, when you omit a stream name for a derived stream, the CLI will combine the source stream name and the provided consent levels to create a default name for this derived stream.
Package manager support
Starting off with Homebrew for macOS, you can now install the STRM Privacy CLI using
brew install strmprivacy/cli/strm. More package managers will be added in the future.
With the introduction of the v1 CLI, we deprecate the old CLI (that is, versions < 1.0.0). Make sure to update to the new CLI, otherwise your CLI will fail to work.
PS We’re hiring!
Altough we’ve already released a new CLI, there’s plenty of cool work left. Did we mention we are hiring!?