The rickub CLI
rickub is a command-line client for rickub — create repositories, open merge requests, watch CI, and script anything the API can do.
Install
One command — it detects your OS and architecture, verifies the download's checksum, and drops rickub onto your PATH:
curl -sSL https://rickub.com/install.sh | sh
The CLI is currently a release candidate (v0.1.0-rc.x): the installer tracks the latest prerelease until the first stable build ships.
Prefer not to pipe into a shell? Read the script first at rickub.com/install.sh, or install manually below.
Manual install
Download the archive for your platform, unpack it, and move the rickub binary onto your PATH:
| OS | Architecture | uname -m |
Asset |
|---|---|---|---|
| Linux | x86-64 | x86_64 |
rickub_<version>_linux_amd64.tar.gz |
| Linux | ARM64 | aarch64 |
rickub_<version>_linux_arm64.tar.gz |
| macOS | Apple Silicon | arm64 |
rickub_<version>_darwin_arm64.tar.gz |
| macOS | Intel | x86_64 |
rickub_<version>_darwin_amd64.tar.gz |
Every release publishes a SHA256SUMS file next to the archives; the assets live on the CLI releases page. For a specific version v0.1.0-rc.11, the stable download URL is https://rickub.com/rickub/cli/releases/download/v0.1.0-rc.11/rickub_0.1.0-rc.11_linux_amd64.tar.gz.
tar -xzf rickub_<version>_<os>_<arch>.tar.gz
sudo mv rickub /usr/local/bin/
rickub version
Verify, upgrade & uninstall
rickub version # confirm the install and see the version
curl -sSL https://rickub.com/install.sh | sh # upgrade: just re-run it
sudo rm /usr/local/bin/rickub # uninstall
Pin a version
Set RICKUB_CLI_VERSION to a release tag to install exactly that build; set RICKUB_INSTALL_DIR to choose where it lands.
RICKUB_CLI_VERSION=v0.1.0-rc.11 curl -sSL https://rickub.com/install.sh | sh
RICKUB_INSTALL_DIR="$HOME/.local/bin" curl -sSL https://rickub.com/install.sh | sh
Build from source
The CLI is a single Go binary, and it lives in its own repository: rickub/cli.
git clone https://git.rickub.com/rickub/cli.git
cd cli
go build -o rickub .
sudo mv rickub /usr/local/bin/
Log in
Authenticate once with a personal access token. The host and token are stored in ~/.config/rickub/config.yaml.
rickub auth login --host https://rickub.com
# or non-interactively:
echo $RICKUB_TOKEN | rickub auth login --with-token --host https://rickub.com
rickub auth status # verify the stored token
Common commands
Commands are grouped by area, much like gh:
# Repositories
rickub repo create my-project --private
rickub repo view your-handle/my-project
rickub repo clone your-handle/my-project
# Merge requests
rickub pr create --title "Fix login" --base main
rickub pr list
rickub pr view 12
rickub pr merge 12
# CI runs
rickub run list
rickub run view 34
rickub run logs 34
rickub run rerun 34
rickub run cancel 34
# Review a merge request from the terminal
rickub pr line-comments 11
rickub pr comment 11 --file web/api.go --line 128 --intent request_change -b "guard the nil case"
rickub pr resolve 11 <comment-id>
# Organizations
rickub org view your-org
rickub org members your-org
rickub org teams your-org
# Search
rickub search repos "portal gun"
# Low-level API escape hatch
rickub api GET /api/v1/user
Run rickub <command> --help at any level to see subcommands and flags.
The CLI calls them pr for short; they're the same merge requests you see in the web UI and the API.