breq — A terminal-native CLI for the BlueRequests change and release management platform. Manage SAP transport requests, change orders, and release workflows from the command line or an interactive TUI dashboard.
- Interactive TUI dashboard — Browse, filter, and act on change requests in a full-screen terminal UI
- Change request management — Create, update, stage, comment on, and archive change requests
- Release workflows — Drive approval and release pipelines for SAP transports
- Event streaming — Subscribe to real-time platform events
- Shell completions — bash, zsh, fish, PowerShell
- Multi-format output — Table, JSON, and quiet modes for scripting and automation
- gRPC-native — All operations go through the BlueRequests BFF service with TLS
- macOS + Linux — Native binaries for amd64 and arm64
brew tap bluefunda/tap
brew install --cask breqcurl -fsSL https://raw.githubusercontent.com/bluefunda/bluerequests/main/install.sh | shcurl -sL https://github.com/bluefunda/bluerequests/releases/latest/download/breq_linux_amd64.deb -o breq.deb
sudo dpkg -i breq.debsudo dnf install https://github.com/bluefunda/bluerequests/releases/latest/download/breq_linux_amd64.rpmgo install github.com/bluefunda/bluerequests/cmd/breq@latestDownload the latest binary for your platform from the Releases page.
# Authenticate with the bluerequests platform
breq login
# Open the interactive TUI dashboard
req
# List change requests
breq cr list
# Create a change request
breq cr create --project PROJ-1 --description "Hotfix for order processing"
# View a specific change request
breq cr get --id <id>
# Advance a change request to the next stage
breq cr stage --id <id>
# Check connection health
breq healthLaunch the interactive dashboard by running breq with no arguments:
req
Key bindings:
| Key | Action |
|---|---|
↑/↓ or j/k |
Navigate list |
Enter |
Open detail view |
Esc |
Go back |
q |
Quit |
/ |
Filter |
r |
Refresh |
breq [command] [flags]
Commands:
login Authenticate via OAuth device flow
cr Manage change requests (list, get, create, update, delete, stage, comment)
events Subscribe to or publish platform events
rpc Low-level gRPC request/reply (advanced)
completion Generate shell completions
user Show current user account info
health Check gRPC connection health
version Print version information
Global Flags:
--bff string BFF gRPC address (overrides config)
--domain string Domain override
-o, --output Output format: table, json, quiet
# List change requests
breq cr list
breq cr list --project PROJ-1
breq cr list --status pending --severity high
# Get a specific change request
breq cr get --id <id>
# Create a change request
breq cr create --project PROJ-1 --description "My change"
# Update fields
breq cr update --id <id> --description "Updated description"
# Advance workflow stage
breq cr stage --id <id>
# Archive (soft delete)
breq cr delete --id <id>
# Comment management
breq cr comment list --id <id>
breq cr comment add --id <id> --message "Approved for prod"
breq cr comment update --id <id> --comment-id <cid> --message "Revised"
breq cr comment delete --id <id> --comment-id <cid># bash
breq completion bash > /etc/bash_completion.d/req
# zsh
breq completion zsh > "${fpath[1]}/_req"
# fish
breq completion fish > ~/.config/fish/completions/req.fishStages represent the approval lifecycle of a change request — typically Draft → Review → Approved → Released. The breq cr stage command advances a change request to the next stage.
Events are emitted at each stage transition and can be subscribed to with breq events.
Projects group related change requests. Use --project to filter requests by project.
breq reads its configuration from ~/.breq/config.yaml:
endpoint: grpc.bluefunda.com:443 # BFF gRPC address
domain: your-tenant.bluefunda.com # Tenant domain
defaults:
output: table # Default output format| Variable | Description |
|---|---|
BREQ_INSTALL_DIR |
Custom install directory for install.sh |
BLUEFUNDA_TOKEN |
Bearer token (alternative to breq login) |
- Go 1.25+
protoc+protoc-gen-go+protoc-gen-go-grpc(for proto regeneration)- goreleaser (for releases)
make build # Build breq binary
make test # Run tests with race detector
make vet # Run go vet
make fmt # Format code
make snapshot # Build release snapshot with goreleaserbluerequests/
├── cmd/breq/ # Entry point
├── internal/
│ ├── auth/ # OAuth2 device flow (RFC 8628)
│ ├── cmd/ # Cobra command definitions
│ ├── config/ # Config loader (~/.breq/config.yaml)
│ ├── grpc/ # gRPC connection + interceptors
│ ├── tui/ # BubbleTea TUI dashboard
│ └── ui/ # Output formatting
├── api/proto/ # Protobuf definitions + generated code
└── scripts/ # Build utilities
make protomake test # All tests with race detector
make test-cover # Tests + coverage reportReleases are automated via Release Please and GoReleaser.
- Merge a
feat:orfix:commit tomainto trigger a release PR - Merging the release PR publishes binaries to GitHub Releases, Homebrew tap, and package repositories
See CHANGELOG.md for the full release history.
See CONTRIBUTING.md for development workflow, code style, and how to submit pull requests.
To report a security vulnerability, see SECURITY.md.
Apache 2.0 — see LICENSE.
Copyright 2025 BlueFunda, Inc.