Skip to content

velo CLI Reference

The velo CLI lets you interact with VeloGit from your terminal — manage pull requests, inspect pipeline runs, work with Ghost Workspace fragments, and run your ritual pipeline locally.

Download the latest release from velogit.com/velogit/velogit and place the velo binary somewhere on your PATH.


Before using any command that talks to the API, authenticate with a Personal Access Token. Generate one in Settings → Developer Settings on velogit.com.

Save your API URL and token to the local config.

Terminal window
velo auth login --url https://api.velogit.com --token velo_abc123
FlagDescription
--urlBase URL of the VeloGit API
--tokenPersonal Access Token (velo_...)

Show the currently configured API URL and token (masked).

Terminal window
velo auth status

List pull requests for a repository.

Terminal window
velo pr list --org myorg --repo myrepo
velo pr list --org myorg --repo myrepo --status open
FlagDescription
--orgOrganization name
--repoRepository name
--statusFilter: open, merged, closed

View a pull request’s details including status and reviewers.

Terminal window
velo pr view abc123 --org myorg --repo myrepo

Open a new pull request.

Terminal window
velo pr create --org myorg --repo myrepo \
--title "Fix login bug" \
--source fix/login \
--target main
FlagDescription
--titlePR title
--sourceSource branch
--targetTarget branch (default: main)
--bodyPR description
--draftCreate as draft

Merge an open pull request.

Terminal window
velo pr merge abc123 --org myorg --repo myrepo

Close a pull request without merging.

Terminal window
velo pr close abc123 --org myorg --repo myrepo

List pipeline runs for a repository.

Terminal window
velo pipeline list --org myorg --repo myrepo
velo pipeline list --org myorg --repo myrepo --status running
FlagDescription
--statusFilter: running, waiting_gate, passed, failed, rejected, canceled

View a run and its step statuses.

Terminal window
velo pipeline view abc123 --org myorg --repo myrepo

Print step logs for a run.

Terminal window
velo pipeline logs abc123 --org myorg --repo myrepo
velo pipeline logs abc123 --org myorg --repo myrepo --step test
FlagDescription
--stepShow logs for a single named step only

Approve a gate step so the pipeline continues.

Terminal window
velo pipeline approve abc123 --org myorg --repo myrepo --step approve-deploy
FlagDescription
--stepGate step name to approve (required)

Reject a gate step and stop the pipeline.

Terminal window
velo pipeline reject abc123 --org myorg --repo myrepo --step approve-deploy

List Shadow Fragments in the Ghost Workspace.

Terminal window
velo fragment list --org myorg --repo myrepo
velo fragment list --org myorg --repo myrepo --status pending
FlagDescription
--statusFilter: pending, melded, dismissed

View a fragment’s proposed diff. If the fragment was generated with a prompt (via velo fragment create or the Ghost Workspace “Request suggestion” button), the golden prompt and model are shown above the diff so reviewers can see the intent behind the change.

Terminal window
velo fragment view abc123 --org myorg --repo myrepo

Request a new fragment by prompting the agent. The prompt is stored as the “golden prompt” on the resulting fragment so reviewers can see the intent behind the diff.

Terminal window
velo fragment create --org myorg --repo myrepo \
--prompt "Refactor auth middleware to extract token validation"
# Give the agent specific files as context
velo fragment create --org myorg --repo myrepo \
--prompt "Add input validation" \
--file internal/server.go \
--file internal/auth.go
# Block until the agent finishes
velo fragment create --prompt "Add a unit test for this function" --wait
FlagDescription
--promptInstruction for the agent (required)
--fileFile path to include as context (repeatable)
--branchBranch to read file content from (default: main)
--waitBlock until the agent finishes generating the fragment

The command returns immediately with a fragment ID and generating status. The Ghost Workspace UI polls for completion, or use --wait to block in the terminal. Use velo fragment view <id> to check progress.

Accept a fragment and apply it to the repository.

Terminal window
velo fragment meld abc123 --org myorg --repo myrepo

Reject and dismiss a fragment without applying it.

Terminal window
velo fragment dismiss abc123 --org myorg --repo myrepo

velo run executes your .velo/rituals.yaml pipeline on your local machine using Docker or Podman — no push required. Useful for testing pipelines before committing, or debugging a failing step.

Docker or Podman must be installed and available on your PATH. Run docker info or podman info to verify.

Run all steps defined in .velo/rituals.yaml from the current directory.

Terminal window
velo run

The command:

  1. Reads .velo/rituals.yaml
  2. Pulls environment.base_image
  3. Starts a container with the repo bind-mounted to /workspace
  4. Executes each step in sequence, streaming output live
  5. Stops the container when complete or on Ctrl+C

Gate steps pause and prompt for confirmation. Press Enter to continue, Ctrl+C to abort.

─── approve-deploy
[approve-deploy] Gate reached. Press Enter to continue or Ctrl+C to abort...

Critical steps (critical: true in the yaml) abort the entire run on failure. Non-critical step failures are logged and the run continues.

FlagDescription
--listPrint the steps in .velo/rituals.yaml and exit (no container, nothing executed)
--step <name>Run only this named step
--from <name>Start from this step (inclusive), skip earlier ones
--skip-gatesAuto-approve all gate steps without prompting
--env-file <path>Load environment variables from a file
--runtime <docker|podman>Force a specific container runtime (default: auto-detect)

velo run --list prints the step plan without executing anything. Useful for checking the order, finding a step name for --step / --from, or piping the step list to other tools with --json.

Terminal window
velo run --list
# →
# # NAME TYPE ON CRITICAL
# 1 clone-oss command push yes
# 2 overlay-saas-files command push yes
# 3 build command push yes
# 4 test command push
# 5 approve-deploy gate push
# 6 deploy-setup command push yes
# ...
velo run --list --json

Secrets are passed as environment variables into the container. velo run loads them in this order:

  1. If .env.local exists in the current directory, it is loaded automatically
  2. --env-file <path> loads a specific file (overrides the auto-detect)

.env.local format — standard KEY=VALUE, quotes are stripped, # comments are ignored:

.env.local
OSS_CLONE_URL="https://git:mytoken@velogit.com/myorg/myrepo.git"
DATABASE_URL=postgres://user:pass@localhost/mydb
Terminal window
# Run the full pipeline
velo run
# Test only the build step
velo run --step build
# Resume from the test step (e.g. after fixing a build failure)
velo run --from test
# Run a deploy pipeline locally, skipping the approval gate
velo run --from deploy-setup --skip-gates
# Use Podman instead of Docker
velo run --runtime podman
# Load secrets from a custom file
velo run --env-file .env.staging

FlagDescription
--jsonOutput command results as JSON (supported on most commands)
--helpShow help for any command