Documentation

CLI command reference

Seven commands cover the whole workflow. Flags go before the argument.

Summary

vtx login [--api URL] [--auth URL]   sign in through the browser
vtx link  [--name NAME]               create or reuse a project for this directory
vtx deploy [--prod] [DIR]             upload the source in DIR (default .), build it remotely, print the URL
vtx deploy --prebuilt [--prod] DIR    upload DIR as-is (already-built static output)
vtx logs [--runtime] ID               stream the build log (or what the app prints)
vtx promote ID                        point production at a ready deployment
vtx ls                                recent deployments of the linked project
vtx version                           print the version of this CLI

Wherever a command takes a deployment ID, you can use the short ID shown by vtx ls and in the dashboard.

vtx login

Signs in through your browser using a device code, then stores an access token on this computer.

FlagDefaultMeaning
--api URLhttps://api.vantrex.cloudThe API to talk to. Also read from VTX_API_URL.
--auth URLhttps://app.vantrex.cloudThe dashboard that approves the sign-in. Also read from VTX_AUTH_URL.
$ vtx login
Open https://app.vantrex.cloud/device
and confirm the code: ABCD-EFGH

Waiting for approval...
Logged in.

Connects the current directory to a project, creating one if needed, and writes .vantrex/project.json. If the directory is already linked it says so and changes nothing.

FlagDefaultMeaning
--name NAMEThe directory nameName for the new project.
$ vtx link --name "Acme Landing"
Linked to new project acme-landing.

vtx deploy

Uploads your source, builds it on Vantrex, streams the build log and prints the address when it is ready. The directory must be linked first.

FlagDefaultMeaning
--prodoffDeploy to production instead of making a preview.
--prebuiltoffUpload DIR exactly as it is, without building. For output you already built.
DIR.The directory to upload.
# preview of the current folder
$ vtx deploy

# production
$ vtx deploy --prod

# a folder of already-built files
$ vtx deploy --prebuilt --prod ./dist

What is uploaded is described in Configuration. The command exits with a non-zero code if the deployment ends in anything but ready, so it is safe to use in scripts.

vtx ls

Lists the recent deployments of the linked project.

$ vtx ls
ID      TARGET      STATUS  URL
a1b2c3  production  ready   https://acme-landing.vtrex.app
d4e5f6  preview     ready   https://acme-landing-d4e5f6.vtrex.app
9a8b7c  preview     error   https://acme-landing-9a8b7c.vtrex.app

vtx logs

Streams a deployment's build log, and returns when the build ends. With --runtime it shows what the running application prints instead.

FlagDefaultMeaning
--runtimeoffShow runtime output (server apps) instead of the build log.
--tail N100With --runtime: how many recent lines to start with.
$ vtx logs a1b2c3
$ vtx logs --runtime --tail 300 a1b2c3

vtx promote

Points production at a ready deployment. No rebuild happens, so it takes effect at once and doubles as a rollback.

$ vtx promote a1b2c3
Production now points at a1b2c3

vtx version

Prints the CLI version. vtx -v and vtx --version do the same.

$ vtx version
vtx 1.2.0 (cdd68861, built 2026-11-09T10:00:00Z)

Exit codes

CodeMeaning
0Success.
1The command failed. The reason is printed after error:, for example a failed build or not being signed in.
2Wrong usage: no command, or an unknown one. The usage text is printed.

Recipes

Preview, then promote exactly what you tested

$ vtx deploy
...
preview deployment ready: https://acme-landing-d4e5f6.vtrex.app
$ vtx promote d4e5f6

Roll back

$ vtx ls
$ vtx promote a1b2c3

Deploy from CI

Link the project once on your computer and commit .vantrex/project.json, so the job knows which project to use. Create an access token in the dashboard and store it as a secret in your CI system. vtx login needs a browser, so the job writes the token file itself before deploying:

CI step (Linux)
mkdir -p ~/.config/vantrex
cat > ~/.config/vantrex/auth.json <<EOF
{ "api_url": "https://api.vantrex.cloud",
  "auth_url": "https://app.vantrex.cloud",
  "key": "$VTX_TOKEN" }
EOF
vtx deploy --prod