Durango Code CLI
Durango Code from your terminal.
Deploy applications, manage Durango Cloud, and work with Durango-hosted repositories and pull requests. Commands are designed for people at a terminal and agents consuming structured output.
Quickstart
Install, sign in, deploy
Install the durango-code package globally with Bun. The executable is named durango-code. Existing installs keep working: the orion-cli command remains available as an alias.
bun add --global durango-code
durango-code login
durango-code whoami
durango-code deployThe first deploy creates or links a Durango Code repository, pushes the committed revision, starts a build, waits for it to finish, and prints the live URL. Later deploys reuse the repository linked in local Git configuration.
To run without a global install, use bunx durango-code deploy. Run durango-code help or append --help to a command to inspect its current options.
Deploy
Deploy committed code
Durango Code deploys HEAD. Uncommitted work remains local, so commit the exact state you want to release first.
git add -A
git commit -m "Describe the release"
durango-code deploy --jsonMonorepos
Use --root, --build-command, and --start-command on deploy, or persist them with configure.
Existing projects
Use --project <id-or-name> to target a specific Cloud repository. Use list --json to discover accessible projects.
durango-code configure --root web --build-command "bun run build"
durango-code deploy --environment production --json
durango-code status --json
durango-code activity --jsondeploy exits with code 0 only after the app reaches the deployed state. A failed build returns a non-zero exit code and structured error details when --json is present.
Pull requests
Review and merge without leaving the terminal
durango-code pr list --json
durango-code pr view 5 --json
durango-code pr create --title "Add repository stars" --body "Ready for review" --json
durango-code pr merge 5 --merge --jsonResolve a conflicting PR
- 1.Inspect mergeability and exact conflict paths with
pr view. - 2.Check out the PR's pinned head commit with
pr checkout. - 3.Run
pr update-branchto merge the current base into the head. - 4.If Git reports conflicts, resolve them and commit the merge.
- 5.Push the exact head branch with
pr push, inspect again, then merge.
durango-code pr view 5 --json
durango-code pr checkout 5
durango-code pr update-branch 5
# Resolve files only if Git reports conflicts, then commit.
durango-code pr push 5 --json
durango-code pr view 5 --json
durango-code pr merge 5 --merge --jsonpr update-branch pushes automatically when the merge is clean. When conflicts exist, it deliberately leaves the Git merge in progress so you can resolve and verify it locally.
Cloud management
Manage the whole application
The CLI covers the same repositories, services, environments, variables, domains, buckets, and deployment activity shown on the Durango Cloud canvas.
durango-code service list --json
durango-code environment create Staging --slug staging --json
durango-code preview configure --enable --branch-previews --ttl 48 --json
durango-code domain add example.com --json
durango-code bucket create app-assets --json
durango-code resources list --jsonKeep secrets out of arguments
Write individual values through standard input or sync dotenv files.env list returns names, not values. Only useenv reveal when plaintext output is explicitly required.
printf '%s' "$API_KEY" | durango-code env set API_KEY --stdin --environment production
durango-code env push .env.production --environment production
durango-code env list --environment production --jsonAgent guide
A predictable automation contract
Use these rules when an agent operates Durango Code CLI. They are intentionally compact enough to place in an agent instruction file.
- • Run inside the linked Git clone, or pass an explicit
--project. - • Prefer
--json; parse stdout as one JSON object and use the process exit code. - • Inspect with
whoami,status,list, orpr viewbefore mutating state. - • Never print tokens or secret values. Provide secrets through
DURANGO_CODE_TOKEN,--stdin, or an environment file. - • Commit before deploy: the CLI deploys
HEAD, not the working tree. - • Use exact targets and
--yesonly after verifying destructive operations.
# Establish identity and context
durango-code whoami --json
durango-code status --json
# Inspect the latest command contract when needed
durango-code help
durango-code pr --help
# Mutate with structured output, then verify
durango-code deploy --json
durango-code status --jsonAuthentication can come from a saved login or DURANGO_CODE_TOKEN (ORION_TOKEN is still accepted). Headless systems can authenticate once with login --token <token>, but an environment variable avoids writing credentials to disk.
Command map
Find the right command
Source control
durango-code sourceInspect or move a repository to Durango Code source controldurango-code prCreate, inspect, resolve, and merge pull requestsdurango-code repoCreate, configure, list, or delete repositoriesdurango-code collaboratorManage repository access and rolesDeployments
durango-code deployPush HEAD, configure the app, and wait for deploymentdurango-code statusShow the linked app and its latest deploymentdurango-code activityList recent app or service deploymentsdurango-code logsRead build or deployment logsdurango-code openOpen the deployed app in a browserDurango Cloud
durango-code serviceManage services attached to an appdurango-code environmentCreate and remove Cloud environmentsdurango-code previewConfigure preview-environment policydurango-code configureSet build and monorepo configurationdurango-code envManage encrypted environment variablesdurango-code domainManage app and service domainsdurango-code bucketManage object-storage bucketsdurango-code resourcesList or sync Cloud canvas resourcesAuthentication commands
Use login, logout, and whoami to manage the local session. Login accepts Durango Code desktop session tokens and personal access tokens.