Support/Developer Platform/BuildWithHQ CLI

Developer Platform

BuildWithHQ CLI

Use the shipped .NET 10 CLI for profiles, app delivery, templates, services, API clients, workers, AI, logs, and contract locks.

Runtime
.NET 10
Principle
Reviewed API client
Automation
Stable JSON + exit codes

bwhq is a thin, scriptable client for reviewed BuildWithHQ HTTP contracts. It uses the same authenticated API surface as other supported developer integrations.

Representative shipped commands

bwhq api info --json
bwhq auth profile add --name production ...
bwhq doctor --json
bwhq app list
bwhq deploy managed --name my-app
bwhq template validate --template-key crm
bwhq service validate --release-file ./release.json
bwhq api-key create --name ci --scope records.read
bwhq worker health
bwhq ai search --query "open work orders"
bwhq logs correlation --log-correlation-id <guid>
bwhq db contracts verify --file ./bwhq-contract.lock.json

Profiles and credentials

A profile stores the exact API origin, SaaS app ID, and an environment-variable or protected absolute-file reference. It never stores the bearer credential and there is deliberately no raw --credential option. Selection precedence is explicit --profile, then BWHQ_PROFILE, then the current profile.

Human and automation output

Interactive commands produce stable text; --json produces one compact object on stdout for success or stderr for failure. Correlation IDs and stable exit codes make CI handling deterministic without screen scraping. Shell completion is available for Bash, Zsh, Fish, and PowerShell.

Account and app credentials are distinct

App-bound Developer API commands use the profile's external API credential. Account-scoped app/deployment commands use the existing Builder control-plane identity supplied through a separate external token reference. The CLI does not silently substitute one for the other.

Note

There are two different CLI concerns: this public developer CLI, and an internal coding-agent/build manifest used to implement the platform itself. The internal build contract is intentionally kept out of the public documentation tree.