CLI Reference

Command Grammar

The three shapes every uxd command takes, how a bare invocation defaults, and where each verb is documented.

Every uxd invocation is one of three shapes.

uxd <project> <ref> [verb] [flags] [-- passthrough]
uxd <project> [list|clean] [flags]
uxd <top-level-verb> [args]

The grammar

PositionMeaning
<project>A file ~/.uxd/<project>.toml. uxd projects lists them.
<ref>A branch, PR number, sha, path, or -. See Refs.
[verb]What to do with the workspace. Defaults to checkout.
-- passthroughEverything after -- is handed to the underlying command.
uxd my-project 42 run test -- --watch

--watch reaches the test runner, not uxd.

Defaults

Omitting the verb runs checkout, which materializes the workspace and prints its path on stdout:

cd "$(uxd my-project 42)"

Omitting the ref runs list:

uxd my-project
Interactively, a bare uxd <project> lists the workspaces and prompts you to pick one, then prints that workspace's path — so cd "$(uxd my-project)" works. Without a TTY, or with --json, it falls back to a plain list. An empty answer cancels.

Verb index

Workspace verbs

checkout · code · run · exec · shell · sync · diff · info · rm

Project verbs

list · clean

Top-level verbs

setup · projects · doctor · config · completions · help · version

Global flags

Flags every command accepts, including --json and --dry-run.

Built-in help

uxd help

prints the same grammar, the full verb list, the global flags, and the config directory resolution order — useful when you are offline.