A terminal UI for DAVE, Kry's deployment orchestration platform. Browse projects, releases, deployments, and manage deployment mappings — all from the command line.
Upgrading from the old Python-based dave CLI? Uninstall it first to avoid conflicts:
pip3 uninstall dave
brew tap webbhalsa/tap
brew install daveTo upgrade to the latest version:
brew upgrade daveRunning dave with no arguments opens the interactive TUI. Passing any argument switches to CLI mode.
dave auth login # log in via browser (OAuth device flow)
dave auth status # show who you're logged in as
dave auth logout # remove the stored sessionAuthentication is implicit — any command that requires it will prompt you to log in if your session is missing or expired. You can also authenticate with an API key by setting DAVE_API_KEY.
dave projects list
dave projects get <project-id>
dave projects create <project-id> --repository <org/repo> --service-name <name>
dave projects delete <project-id> --yesdave environments list
dave environments get <env-id>
dave environments create <env-id> --type <type-id>
dave environments delete <env-id> --yes
dave environments types # list available environment typesdave environments attrs list <env-id>
dave environments attrs set <env-id> key=value [key=value ...]
dave environments attrs delete <env-id> <key> [key ...]dave releases list <project-id> [--branch <branch>] [--limit 20]
dave releases get <project-id> <release-id>dave deployments list <project-id> [--environment <env-id>] [--limit 20]
dave deployments get <project-id> <deployment-id>
dave deployments create <project-id> --environment <env-id> --release <release-id>
dave deployments wait <project-id> <deployment-id> [--interval 10] [--timeout 600]deployments wait polls until the deployment reaches a terminal state (success, failure, error, etc.) and exits 0 on success, 1 on failure. Useful for CI/CD pipelines and AI agents.
dave mappings list <project-id> [--interpolate]
dave mappings create <project-id> --environment <env-id> --branch <branch> [--auto-deploy]
dave mappings update <project-id> <mapping-id> --branch <branch> [--auto-deploy]
dave mappings delete <project-id> <mapping-id> --yesdave build dispatch <project-id> --ref <branch-or-sha>| Flag | Short | Description |
|---|---|---|
--json |
-j |
Output as JSON instead of a table |
--help |
-h |
Help for any command |
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Authentication error |
| 3 | Resource not found |
If a newer version is available, a banner is printed to stderr after the command output:
Update available: v1.2.3 → v1.3.0 Run: brew upgrade webbhalsa/tap/dave
- Make sure your changes are merged to
main. - Add a changelog entry to the top of
internal/changelog/entries.json:This is shown to users as a "What's new" splash screen on first launch after upgrading. The release will fail if the entry is missing.{ "version": "v1.2.3", "date": "YYYY-MM-DD", "changes": [ "Short description of what changed", "Another change" ] } - Commit and tag:
git add internal/changelog/entries.json git commit -m "release v1.2.3" git tag v1.2.3 git push origin main --tags - The Release workflow will automatically build binaries for macOS and Linux and publish a GitHub Release. The Homebrew formula in webbhalsa/homebrew-tap will be updated automatically.
Tags must follow semver and start with v (e.g. v1.2.3).