Skip to content

Hello, world: initial code drop for the Bandwidth CLI#1

Merged
kshahbw merged 1 commit intomainfrom
feature/rebrand-to-cli
Apr 17, 2026
Merged

Hello, world: initial code drop for the Bandwidth CLI#1
kshahbw merged 1 commit intomainfrom
feature/rebrand-to-cli

Conversation

@kshahbw
Copy link
Copy Markdown
Contributor

@kshahbw kshahbw commented Apr 17, 2026

Summary

This is the full initial drop of the Bandwidth CLI — the band binary and everything that makes it work — landing in its canonical home at github.com/Bandwidth/cli.

band is a single command-line tool for Bandwidth's Voice, Messaging, and Numbers APIs. In this PR:

Command surface

  • Provisioning: account register, auth, site, location, app, vcp
  • Voice: call, recording, transcription, bxml
  • Messaging: message (+ media), tendlc, tfv, shortcode, tnoption
  • Numbers: number (search / order / list / release)
  • Workflow: quickstart, --plain for scripts and agents, credential profiles, env-var-driven auth, --format json|table, prod/test environment switching

What a release produces

  • Cross-platform binaries (macOS / Linux / Windows, amd64 / arm64) via GoReleaser
  • Docker images on GHCR
  • Homebrew formula at Bandwidth/homebrew-tap (via a review PR)

Test plan

  • go build ./... clean
  • go test ./... all packages pass
  • make lint clean (verify locally or via CI)
  • band --help lists the full command surface
  • First tagged release produces GitHub Release assets + GHCR image + homebrew formula PR

First real commit of the Bandwidth CLI's code into its canonical home
at github.com/Bandwidth/cli.

What's inside:

- The full `band` command surface: auth, account/site/location/app,
  VCP, calls, messaging (with media), numbers, recordings,
  transcriptions, BXML, 10DLC, toll-free verification, short codes,
  TN options, and the quickstart flow.
- GoReleaser publishes the homebrew formula via a pull request now,
  so tap updates get reviewed before shipping.
- Release workflow runs on GitHub-hosted runners and uses a repo
  secret `HOMEBREW_TAP_TOKEN` — a fine-grained PAT scoped to
  Bandwidth/homebrew-tap (Contents: Write, Pull requests: Write) —
  to push and open the tap PR. No self-hosted runner or Vault
  dependency, so the flow works when the repo goes public.
- Preserves the repo's baseline .bandwidth/{catalog-info,component}.yaml
  and .github/CODEOWNERS from the initial provisioning commit.

Onward.
@kshahbw kshahbw requested review from a team as code owners April 17, 2026 18:28
@kshahbw kshahbw merged commit f2150c0 into main Apr 17, 2026
6 of 7 checks passed
@kshahbw kshahbw deleted the feature/rebrand-to-cli branch April 17, 2026 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants