diff --git a/cli/index.md b/cli/index.md
index 24d87067b..4afbe8477 100644
--- a/cli/index.md
+++ b/cli/index.md
@@ -1,11 +1,11 @@
# Command line
-Coder provides an [open-source CLI](https://github.com/coder/coder-cli) that
-allows you to interact with your workspaces using your local machine.
+Coder provides a CLI that allows you to interact with your workspaces using your
+local machine.
## Full CLI reference
For a full list of the Coder CLI commands available, see the
-[reference pages](https://github.com/coder/coder-cli/blob/master/docs/coder.md).
+[reference pages](./reference/coder).
diff --git a/cli/installation.md b/cli/installation.md
index 1ae882ec1..95a0bd029 100644
--- a/cli/installation.md
+++ b/cli/installation.md
@@ -22,7 +22,7 @@ brew install cdr/coder/coder-cli
### Download (Linux, Mac)
-Download releases [from GitHub](https://github.com/coder/coder-cli/releases):
+Download releases [from GitHub](https://github.com/coder/coder-v1-cli/releases):
1. Click a release and download the tar file for your operating system (ex:
`coder-cli-linux-amd64.tar.gz`)
diff --git a/cli/reference/coder.md b/cli/reference/coder.md
new file mode 100644
index 000000000..10ef2566e
--- /dev/null
+++ b/cli/reference/coder.md
@@ -0,0 +1,34 @@
+
+
+# coder
+
+coder provides a CLI for working with an existing Coder installation
+
+### Options
+
+```text
+ -h, --help help for coder
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder completion](coder_completion.md) - Generate completion script
+- [coder config-ssh](coder_config-ssh.md) - Configure SSH to access Coder
+ workspaces
+- [coder images](coder_images.md) - Manage Coder images
+- [coder login](coder_login.md) - Authenticate this client for future operations
+- [coder logout](coder_logout.md) - Remove local authentication credentials if
+ any exist
+- [coder satellites](coder_satellites.md) - Interact with Coder satellite
+ deployments
+- [coder ssh](coder_ssh.md) - Enter a shell of execute a command over SSH into a
+ Coder workspace
+- [coder sync](coder_sync.md) - Establish a one way directory sync to a Coder
+ workspace
+- [coder tokens](coder_tokens.md) - manage Coder API tokens for the active user
+- [coder tunnel](coder_tunnel.md) - proxies a port on the workspace to localhost
+- [coder update](coder_update.md) - Update coder binary
+- [coder urls](coder_urls.md) - Interact with workspace DevURLs
+- [coder users](coder_users.md) - Interact with Coder user accounts
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/cli/reference/coder_completion.md b/cli/reference/coder_completion.md
new file mode 100644
index 000000000..859b9dff0
--- /dev/null
+++ b/cli/reference/coder_completion.md
@@ -0,0 +1,75 @@
+# coder completion
+
+Generate completion script
+
+### Synopsis
+
+To load completions:
+
+Bash:
+
+```bash
+source <(coder completion bash)
+```
+
+To load completions for each session, execute once: Linux:
+
+```bash
+coder completion bash > /etc/bash_completion.d/coder
+```
+
+MacOS:
+
+```bash
+coder completion bash > /usr/local/etc/bash_completion.d/coder`
+```
+
+Zsh:
+
+If shell completion is not already enabled in your workspace you will need to
+enable it. You can execute the following once:
+
+```zsh
+echo "autoload -U compinit; compinit" >> ~/.zshrc
+```
+
+To load completions for each session, execute once:
+
+```zsh
+coder completion zsh > "${fpath[1]}/_coder"
+```
+
+You will need to start a new shell for this setup to take effect.
+
+Fish:
+
+```fish
+coder completion fish | source
+```
+
+To load completions for each session, execute once:
+
+```fish
+coder completion fish > ~/.config/fish/completions/coder.fish
+```
+
+```fish
+coder completion [bash|zsh|fish|powershell]
+```
+
+### Options
+
+```text
+ -h, --help help for completion
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
diff --git a/cli/reference/coder_config-ssh.md b/cli/reference/coder_config-ssh.md
new file mode 100644
index 000000000..a7d580c8d
--- /dev/null
+++ b/cli/reference/coder_config-ssh.md
@@ -0,0 +1,31 @@
+# coder config-ssh
+
+Configure SSH to access Coder workspaces
+
+### Synopsis
+
+Inject the proper OpenSSH configuration into your local SSH config file.
+
+```text
+coder config-ssh [flags]
+```
+
+### Options
+
+```text
+ --filepath string override the default path of your ssh config file (default "~/.ssh/config")
+ -h, --help help for config-ssh
+ -o, --option strings additional options injected in the ssh config (ex. disable caching with "-o ControlPath=none")
+ --remove remove the auto-generated Coder ssh config
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
diff --git a/cli/reference/coder_images.md b/cli/reference/coder_images.md
new file mode 100644
index 000000000..9955fd27a
--- /dev/null
+++ b/cli/reference/coder_images.md
@@ -0,0 +1,27 @@
+# coder images
+
+Manage Coder images
+
+### Synopsis
+
+Manage existing images and/or import new ones.
+
+### Options
+
+```text
+ -h, --help help for images
+ --user string Specifies the user by email (default "me")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
+- [coder images ls](coder_images_ls.md) - list all images available to the
+ active user
diff --git a/cli/reference/coder_images_ls.md b/cli/reference/coder_images_ls.md
new file mode 100644
index 000000000..8a066337c
--- /dev/null
+++ b/cli/reference/coder_images_ls.md
@@ -0,0 +1,30 @@
+# coder images ls
+
+list all images available to the active user
+
+### Synopsis
+
+List all Coder images available to the active user.
+
+```text
+coder images ls [flags]
+```
+
+### Options
+
+```text
+ -h, --help help for ls
+ --org string organization name
+ --output string human | json (default "human")
+```
+
+### Options inherited from parent commands
+
+```text
+ --user string Specifies the user by email (default "me")
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder images](coder_images.md) - Manage Coder images
diff --git a/cli/reference/coder_login.md b/cli/reference/coder_login.md
new file mode 100644
index 000000000..dcb639c2d
--- /dev/null
+++ b/cli/reference/coder_login.md
@@ -0,0 +1,24 @@
+# coder login
+
+Authenticate this client for future operations
+
+```text
+coder login [Coder URL eg. https://my.coder.domain/] [flags]
+```
+
+### Options
+
+```text
+ -h, --help help for login
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
diff --git a/cli/reference/coder_logout.md b/cli/reference/coder_logout.md
new file mode 100644
index 000000000..2c6fa9bef
--- /dev/null
+++ b/cli/reference/coder_logout.md
@@ -0,0 +1,24 @@
+# coder logout
+
+Remove local authentication credentials if any exist
+
+```text
+coder logout [flags]
+```
+
+### Options
+
+```text
+ -h, --help help for logout
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
diff --git a/cli/reference/coder_satellites.md b/cli/reference/coder_satellites.md
new file mode 100644
index 000000000..d6f4ab8a7
--- /dev/null
+++ b/cli/reference/coder_satellites.md
@@ -0,0 +1,28 @@
+# coder satellites
+
+Interact with Coder satellite deployments
+
+### Synopsis
+
+Perform operations on the Coder satellites for the platform.
+
+### Options
+
+```text
+ -h, --help help for satellites
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
+- [coder satellites create](coder_satellites_create.md) - create a new
+ satellite.
+- [coder satellites ls](coder_satellites_ls.md) - list satellites.
+- [coder satellites rm](coder_satellites_rm.md) - remove a satellite.
diff --git a/cli/reference/coder_satellites_create.md b/cli/reference/coder_satellites_create.md
new file mode 100644
index 000000000..383893337
--- /dev/null
+++ b/cli/reference/coder_satellites_create.md
@@ -0,0 +1,36 @@
+# coder satellites create
+
+create a new satellite.
+
+### Synopsis
+
+Create a new Coder satellite.
+
+```text
+coder satellites create [name] [satellite_access_url] [flags]
+```
+
+### Examples
+
+```text
+# create a new satellite
+
+coder satellites create eu-west https://eu-west.coder.com
+```
+
+### Options
+
+```text
+ -h, --help help for create
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder satellites](coder_satellites.md) - Interact with Coder satellite
+ deployments
diff --git a/cli/reference/coder_satellites_ls.md b/cli/reference/coder_satellites_ls.md
new file mode 100644
index 000000000..f0328ab0d
--- /dev/null
+++ b/cli/reference/coder_satellites_ls.md
@@ -0,0 +1,35 @@
+# coder satellites ls
+
+list satellites.
+
+### Synopsis
+
+List all Coder workspace satellites.
+
+```text
+coder satellites ls [flags]
+```
+
+### Examples
+
+```text
+# list satellites
+coder satellites ls
+```
+
+### Options
+
+```text
+ -h, --help help for ls
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder satellites](coder_satellites.md) - Interact with Coder satellite
+ deployments
diff --git a/cli/reference/coder_satellites_rm.md b/cli/reference/coder_satellites_rm.md
new file mode 100644
index 000000000..de8bf4096
--- /dev/null
+++ b/cli/reference/coder_satellites_rm.md
@@ -0,0 +1,35 @@
+# coder satellites rm
+
+remove a satellite.
+
+### Synopsis
+
+Remove an existing Coder satellite by name.
+
+```text
+coder satellites rm [satellite_name] [flags]
+```
+
+### Examples
+
+```text
+# remove an existing satellite by name
+coder satellites rm my-satellite
+```
+
+### Options
+
+```text
+ -h, --help help for rm
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder satellites](coder_satellites.md) - Interact with Coder satellite
+ deployments
diff --git a/cli/reference/coder_ssh.md b/cli/reference/coder_ssh.md
new file mode 100644
index 000000000..766264dbb
--- /dev/null
+++ b/cli/reference/coder_ssh.md
@@ -0,0 +1,31 @@
+# coder ssh
+
+Enter a shell of execute a command over SSH into a Coder workspace
+
+```text
+coder ssh [workspace_name] []
+```
+
+### Examples
+
+```text
+coder ssh my-dev
+coder ssh my-dev pwd
+```
+
+### Options
+
+```text
+ -h, --help help for ssh
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
diff --git a/cli/reference/coder_sync.md b/cli/reference/coder_sync.md
new file mode 100644
index 000000000..67b6994f3
--- /dev/null
+++ b/cli/reference/coder_sync.md
@@ -0,0 +1,25 @@
+# coder sync
+
+Establish a one way directory sync to a Coder workspace
+
+```text
+coder sync [local directory] [:] [flags]
+```
+
+### Options
+
+```text
+ -h, --help help for sync
+ --init do initial transfer and exit
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
diff --git a/cli/reference/coder_tokens.md b/cli/reference/coder_tokens.md
new file mode 100644
index 000000000..888de4719
--- /dev/null
+++ b/cli/reference/coder_tokens.md
@@ -0,0 +1,32 @@
+# coder tokens
+
+manage Coder API tokens for the active user
+
+### Synopsis
+
+Create and manage API Tokens for authenticating the CLI. Statically authenticate
+using the token value with the `CODER_TOKEN` and `CODER_URL` workspace
+variables.
+
+### Options
+
+```text
+ -h, --help help for tokens
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
+- [coder tokens create](coder_tokens_create.md) - create generates a new API
+ token and prints it to stdout
+- [coder tokens ls](coder_tokens_ls.md) - show the user's active API tokens
+- [coder tokens regen](coder_tokens_regen.md) - regenerate an API token by its
+ unique ID and print the new token to stdout
+- [coder tokens rm](coder_tokens_rm.md) - remove an API token by its unique ID
diff --git a/cli/reference/coder_tokens_create.md b/cli/reference/coder_tokens_create.md
new file mode 100644
index 000000000..4052ccce0
--- /dev/null
+++ b/cli/reference/coder_tokens_create.md
@@ -0,0 +1,23 @@
+# coder tokens create
+
+create generates a new API token and prints it to stdout
+
+```text
+coder tokens create [token_name] [flags]
+```
+
+### Options
+
+```text
+ -h, --help help for create
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder tokens](coder_tokens.md) - manage Coder API tokens for the active user
diff --git a/cli/reference/coder_tokens_ls.md b/cli/reference/coder_tokens_ls.md
new file mode 100644
index 000000000..c8a2ba9ae
--- /dev/null
+++ b/cli/reference/coder_tokens_ls.md
@@ -0,0 +1,24 @@
+# coder tokens ls
+
+show the user's active API tokens
+
+```text
+coder tokens ls [flags]
+```
+
+### Options
+
+```text
+ -h, --help help for ls
+ -o, --output string human | json (default "human")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder tokens](coder_tokens.md) - manage Coder API tokens for the active user
diff --git a/cli/reference/coder_tokens_regen.md b/cli/reference/coder_tokens_regen.md
new file mode 100644
index 000000000..ff81f73b8
--- /dev/null
+++ b/cli/reference/coder_tokens_regen.md
@@ -0,0 +1,23 @@
+# coder tokens regen
+
+regenerate an API token by its unique ID and print the new token to stdout
+
+```text
+coder tokens regen [token_id] [flags]
+```
+
+### Options
+
+```text
+ -h, --help help for regen
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder tokens](coder_tokens.md) - manage Coder API tokens for the active user
diff --git a/cli/reference/coder_tokens_rm.md b/cli/reference/coder_tokens_rm.md
new file mode 100644
index 000000000..11e2b331e
--- /dev/null
+++ b/cli/reference/coder_tokens_rm.md
@@ -0,0 +1,23 @@
+# coder tokens rm
+
+remove an API token by its unique ID
+
+```text
+coder tokens rm [token_id] [flags]
+```
+
+### Options
+
+```text
+ -h, --help help for rm
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder tokens](coder_tokens.md) - manage Coder API tokens for the active user
diff --git a/cli/reference/coder_tunnel.md b/cli/reference/coder_tunnel.md
new file mode 100644
index 000000000..d9b414fa0
--- /dev/null
+++ b/cli/reference/coder_tunnel.md
@@ -0,0 +1,31 @@
+# coder tunnel
+
+proxies a port on the workspace to localhost
+
+### Synopsis
+
+Start a tunnel between this computer and a remove workspace, using a localhost
+port.
+
+### Options
+
+```text
+ --address string local address to bind to (default "127.0.0.1")
+ -h, --help help for tunnel
+ --max-retry-duration duration maximum amount of time to sleep between retry attempts (default 1m0s)
+ --retry int number of attempts to retry if the tunnel fails to establish or disconnect (-1 for infinite retries)
+ --udp tunnel over UDP instead of TCP
+```
+
+### Options inherited from parent commands
+
+```text
+ --coder-token string API authentication token.
+ --coder-url string access url of the Coder deployment. (default "https://stable.cdr.dev")
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
diff --git a/cli/reference/coder_update.md b/cli/reference/coder_update.md
new file mode 100644
index 000000000..61b066f7b
--- /dev/null
+++ b/cli/reference/coder_update.md
@@ -0,0 +1,31 @@
+# coder update
+
+Update coder binary
+
+### Synopsis
+
+Update coder to the version matching a given coder instance.
+
+```text
+coder update [flags]
+```
+
+### Options
+
+```text
+ --coder string query this coder instance for the matching version
+ --force do not prompt for confirmation
+ -h, --help help for update
+ --version string explicitly specify which version to fetch and install
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
diff --git a/cli/reference/coder_urls.md b/cli/reference/coder_urls.md
new file mode 100644
index 000000000..1a792444b
--- /dev/null
+++ b/cli/reference/coder_urls.md
@@ -0,0 +1,26 @@
+
+
+# coder urls
+
+Interact with workspace DevURLs
+
+### Options
+
+```text
+ -h, --help help for urls
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
+- [coder urls create](coder_urls_create.md) - Create a new dev URL for a
+ workspace
+- [coder urls ls](coder_urls_ls.md) - List all DevURLs for a workspace
+- [coder urls rm](coder_urls_rm.md) - Remove a DevURL
diff --git a/cli/reference/coder_urls_create.md b/cli/reference/coder_urls_create.md
new file mode 100644
index 000000000..5dbce0921
--- /dev/null
+++ b/cli/reference/coder_urls_create.md
@@ -0,0 +1,34 @@
+
+
+# coder urls create
+
+Create a new dev URL for a workspace
+
+```text
+coder urls create [workspace_name] [port] [flags]
+```
+
+### Examples
+
+```text
+coder urls create my-workspace 8080 --name my-dev-url
+```
+
+### Options
+
+```text
+ --access string Set DevURL access to [private | org | authed | public] (default "private")
+ -h, --help help for create
+ --name string DevURL name
+ --scheme string Server scheme (http|https) (default "http")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder urls](coder_urls.md) - Interact with workspace DevURLs
diff --git a/cli/reference/coder_urls_ls.md b/cli/reference/coder_urls_ls.md
new file mode 100644
index 000000000..e10146517
--- /dev/null
+++ b/cli/reference/coder_urls_ls.md
@@ -0,0 +1,26 @@
+
+
+# coder urls ls
+
+List all DevURLs for a workspace
+
+```text
+coder urls ls [workspace_name] [flags]
+```
+
+### Options
+
+```text
+ -h, --help help for ls
+ -o, --output string human|json (default "human")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder urls](coder_urls.md) - Interact with workspace DevURLs
diff --git a/cli/reference/coder_urls_rm.md b/cli/reference/coder_urls_rm.md
new file mode 100644
index 000000000..5a8d0d351
--- /dev/null
+++ b/cli/reference/coder_urls_rm.md
@@ -0,0 +1,25 @@
+
+
+# coder urls rm
+
+Remove a dev url
+
+```text
+coder urls rm [workspace_name] [port] [flags]
+```
+
+### Options
+
+```text
+ -h, --help help for rm
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder urls](coder_urls.md) - Interact with workspace DevURLs
diff --git a/cli/reference/coder_users.md b/cli/reference/coder_users.md
new file mode 100644
index 000000000..9e1fa1efd
--- /dev/null
+++ b/cli/reference/coder_users.md
@@ -0,0 +1,21 @@
+# coder users
+
+Interact with Coder user accounts
+
+### Options
+
+```text
+ -h, --help help for users
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
+- [coder users ls](coder_users_ls.md) - list all user accounts
diff --git a/cli/reference/coder_users_ls.md b/cli/reference/coder_users_ls.md
new file mode 100644
index 000000000..30a433d31
--- /dev/null
+++ b/cli/reference/coder_users_ls.md
@@ -0,0 +1,31 @@
+# coder users ls
+
+list all user accounts
+
+```text
+coder users ls [flags]
+```
+
+### Examples
+
+```text
+coder users ls -o json
+coder users ls -o json | jq .[] | jq -r .email
+```
+
+### Options
+
+```text
+ -h, --help help for ls
+ -o, --output string human | json (default "human")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder users](coder_users.md) - Interact with Coder user accounts
diff --git a/cli/reference/coder_workspaces.md b/cli/reference/coder_workspaces.md
new file mode 100644
index 000000000..98651c8cb
--- /dev/null
+++ b/cli/reference/coder_workspaces.md
@@ -0,0 +1,46 @@
+# coder workspaces
+
+Interact with Coder workspaces
+
+### Synopsis
+
+Perform operations on the Coder workspaces owned by the active user.
+
+### Options
+
+```text
+ -h, --help help for workspaces
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder](coder.md) - coder provides a CLI for working with an existing Coder
+ installation
+- [coder workspaces create](coder_workspaces_create.md) - create a new
+ workspace.
+- [coder workspaces create-from-config](coder_workspaces_create-from-config.md)
+ \- create a new workspace from a template
+- [coder workspaces edit](coder_workspaces_edit.md) - edit an existing workspace
+ and initiate a rebuild.
+- [coder workspaces edit-from-config](coder_workspaces_edit-from-config.md) -
+ change the template a workspace is tracking
+- [coder workspaces ls](coder_workspaces_ls.md) - list all workspaces owned by
+ the active user
+- [coder workspaces ping](coder_workspaces_ping.md) - ping Coder workspaces by
+ name
+- [coder workspaces policy-template](coder_workspaces_policy-template.md) - Set
+ workspace policy template
+- [coder workspaces rebuild](coder_workspaces_rebuild.md) - rebuild a Coder
+ workspace
+- [coder workspaces rm](coder_workspaces_rm.md) - remove Coder workspaces by
+ name
+- [coder workspaces stop](coder_workspaces_stop.md) - stop Coder workspaces by
+ name
+- [coder workspaces watch-build](coder_workspaces_watch-build.md) - trail the
+ build log of a Coder workspace
diff --git a/cli/reference/coder_workspaces_create-from-config.md b/cli/reference/coder_workspaces_create-from-config.md
new file mode 100644
index 000000000..1e3b2203e
--- /dev/null
+++ b/cli/reference/coder_workspaces_create-from-config.md
@@ -0,0 +1,42 @@
+# coder workspaces create-from-config
+
+create a new workspace from a template
+
+### Synopsis
+
+Create a new Coder workspace using a workspace template.
+
+```text
+coder workspaces create-from-config [flags]
+```
+
+### Examples
+
+```text
+# create a new workspace from git repository
+coder workspaces create-from-config --name="dev-env" --repo-url https://github.com/cdr/m --ref my-branch
+coder workspaces create-from-config --name="dev-env" --filepath coder.yaml
+```
+
+### Options
+
+```text
+ -f, --filepath string path to local template file.
+ --follow follow buildlog after initiating rebuild
+ -h, --help help for create-from-config
+ --name string name of the workspace to be created
+ -o, --org string name of the organization the workspace should be created under.
+ --provider string name of Workspace Provider with which to create the workspace
+ --ref string git reference to pull template from. May be a branch, tag, or commit hash. (default "master")
+ -r, --repo-url string URL of the git repository to pull the config from. Config file must live in '.coder/coder.yaml'.
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/cli/reference/coder_workspaces_create.md b/cli/reference/coder_workspaces_create.md
new file mode 100644
index 000000000..4b9fbc032
--- /dev/null
+++ b/cli/reference/coder_workspaces_create.md
@@ -0,0 +1,47 @@
+# coder workspaces create
+
+create a new workspace.
+
+### Synopsis
+
+Create a new Coder workspace.
+
+```text
+coder workspaces create [workspace_name] [flags]
+```
+
+### Examples
+
+```text
+# create a new workspace using default resource amounts
+coder workspaces create my-new-workspace --image ubuntu
+coder workspaces create my-new-powerful-workspace --cpu 12 --disk 100 --memory 16 --image ubuntu
+```
+
+### Options
+
+```text
+ --container-based-vm deploy the workspace as a Container-based VM
+ -c, --cpu float32 number of cpu cores the workspace should be provisioned with.
+ -d, --disk int GB of disk storage a workspace should be provisioned with.
+ --enable-autostart automatically start this workspace at your preferred time.
+ --follow follow buildlog after initiating rebuild
+ -g, --gpus int number GPUs a workspace should be provisioned with.
+ -h, --help help for create
+ -i, --image string name of the image to base the workspace off of.
+ -m, --memory float32 GB of RAM a workspace should be provisioned with.
+ -o, --org string name of the organization the workspace should be created under.
+ --provider string name of Workspace Provider with which to create the workspace
+ -t, --tag string tag of the image the workspace will be based off of. (default "latest")
+ --user string Specify the user whose resources to target. This flag can only be used by admins and managers. Input an email or user id. (default "me")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/cli/reference/coder_workspaces_edit-from-config.md b/cli/reference/coder_workspaces_edit-from-config.md
new file mode 100644
index 000000000..b997da7c1
--- /dev/null
+++ b/cli/reference/coder_workspaces_edit-from-config.md
@@ -0,0 +1,37 @@
+# coder workspaces edit-from-config
+
+change the template a workspace is tracking
+
+### Synopsis
+
+Edit an existing Coder workspace using a workspace template.
+
+```text
+coder workspaces edit-from-config [flags]
+```
+
+### Examples
+
+```text
+# edit a new workspace from git repository
+coder workspaces edit-from-config dev-env --repo-url https://github.com/cdr/m --ref my-branch
+coder workspaces edit-from-config dev-env --filepath coder.yaml
+```
+
+### Options
+
+```text
+ -f, --filepath string path to local template file.
+ --follow follow buildlog after initiating rebuild
+ -h, --help help for edit-from-config
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/cli/reference/coder_workspaces_edit.md b/cli/reference/coder_workspaces_edit.md
new file mode 100644
index 000000000..b4406ef9a
--- /dev/null
+++ b/cli/reference/coder_workspaces_edit.md
@@ -0,0 +1,45 @@
+# coder workspaces edit
+
+edit an existing workspace and initiate a rebuild.
+
+### Synopsis
+
+Edit an existing workspace and initate a rebuild.
+
+```text
+coder workspaces edit [flags]
+```
+
+### Examples
+
+```text
+coder workspaces edit back-end-workspace --cpu 4
+
+coder workspaces edit back-end-workspace --disk 20
+```
+
+### Options
+
+```text
+ -c, --cpu float32 The number of cpu cores the workspace should be provisioned with.
+ -d, --disk int The amount of disk storage a workspace should be provisioned with.
+ --follow follow buildlog after initiating rebuild
+ --force force rebuild without showing a confirmation prompt
+ -g, --gpu int The amount of disk storage to provision the workspace with.
+ -h, --help help for edit
+ -i, --image string name of the image you want the workspace to be based off of.
+ -m, --memory float32 The amount of RAM a workspace should be provisioned with.
+ -o, --org string name of the organization the workspace should be created under.
+ -t, --tag string image tag of the image you want to base the workspace off of. (default "latest")
+ --user string Specify the user whose resources to target (default "me")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/cli/reference/coder_workspaces_ls.md b/cli/reference/coder_workspaces_ls.md
new file mode 100644
index 000000000..1b2772872
--- /dev/null
+++ b/cli/reference/coder_workspaces_ls.md
@@ -0,0 +1,31 @@
+# coder workspaces ls
+
+list all workspaces owned by the active user
+
+### Synopsis
+
+List all Coder workspaces owned by the active user.
+
+```text
+coder workspaces ls [flags]
+```
+
+### Options
+
+```text
+ --all Get workspaces for all users (admin only)
+ -h, --help help for ls
+ -o, --output string human | json (default "human")
+ -p, --provider string Filter workspaces by a particular workspace provider name.
+ --user string Specify the user whose resources to target (default "me")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/cli/reference/coder_workspaces_ping.md b/cli/reference/coder_workspaces_ping.md
new file mode 100644
index 000000000..96301766c
--- /dev/null
+++ b/cli/reference/coder_workspaces_ping.md
@@ -0,0 +1,35 @@
+# coder workspaces ping
+
+ping Coder workspaces by name
+
+### Synopsis
+
+ping Coder workspaces by name
+
+```text
+coder workspaces ping [flags]
+```
+
+### Examples
+
+```text
+coder workspaces ping front-end-workspace
+```
+
+### Options
+
+```text
+ -c, --count int stop after replies
+ -h, --help help for ping
+ -s, --scheme strings customize schemes to filter ice servers (default [stun,stuns,turn,turns])
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/cli/reference/coder_workspaces_policy-template.md b/cli/reference/coder_workspaces_policy-template.md
new file mode 100644
index 000000000..674cfbff0
--- /dev/null
+++ b/cli/reference/coder_workspaces_policy-template.md
@@ -0,0 +1,32 @@
+# coder workspaces policy-template
+
+Set workspace policy template
+
+### Synopsis
+
+Set workspace policy template or restore to default configuration. This feature
+is for site admins only.
+
+```text
+coder workspaces policy-template [flags]
+```
+
+### Options
+
+```text
+ --default Restore policy template to default configuration
+ --dry-run skip setting policy template, but view errors/warnings about how this policy template would impact existing workspaces
+ -f, --filepath string full path to local policy template file.
+ -h, --help help for policy-template
+ --scope string scope of impact for the policy template. Supported values: site (default "site")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/cli/reference/coder_workspaces_rebuild.md b/cli/reference/coder_workspaces_rebuild.md
new file mode 100644
index 000000000..ce2fe7a62
--- /dev/null
+++ b/cli/reference/coder_workspaces_rebuild.md
@@ -0,0 +1,33 @@
+# coder workspaces rebuild
+
+rebuild a Coder workspace
+
+```text
+coder workspaces rebuild [workspace_name] [flags]
+```
+
+### Examples
+
+```text
+coder workspaces rebuild front-end-workspace --follow
+coder workspaces rebuild backend-workspace --force
+```
+
+### Options
+
+```text
+ --follow follow build log after initiating rebuild
+ --force force rebuild without showing a confirmation prompt
+ -h, --help help for rebuild
+ --user string Specify the user whose resources to target (default "me")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/cli/reference/coder_workspaces_rm.md b/cli/reference/coder_workspaces_rm.md
new file mode 100644
index 000000000..87f1d6c6d
--- /dev/null
+++ b/cli/reference/coder_workspaces_rm.md
@@ -0,0 +1,25 @@
+# coder workspaces rm
+
+remove Coder workspaces by name
+
+```text
+coder workspaces rm [...workspace_names] [flags]
+```
+
+### Options
+
+```text
+ -f, --force force remove the specified workspaces without prompting first
+ -h, --help help for rm
+ --user string Specify the user whose resources to target (default "me")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/cli/reference/coder_workspaces_stop.md b/cli/reference/coder_workspaces_stop.md
new file mode 100644
index 000000000..f7085c076
--- /dev/null
+++ b/cli/reference/coder_workspaces_stop.md
@@ -0,0 +1,43 @@
+# coder workspaces stop
+
+stop Coder workspaces by name
+
+### Synopsis
+
+Stop Coder workspaces by name
+
+```text
+coder workspaces stop [...workspace_names] [flags]
+```
+
+### Examples
+
+```text
+coder workspaces stop front-end-workspace
+coder workspaces stop front-end-workspace backend-workspace
+
+# stop all of your workspaces
+coder workspaces ls -o json | jq -c '.[].name' | xargs coder workspaces stop
+
+# stop all workspaces for a given user
+coder workspaces --user charlie@coder.com ls -o json \
+ | jq -c '.[].name' \
+ | xargs coder workspaces --user charlie@coder.com stop
+```
+
+### Options
+
+```text
+ -h, --help help for stop
+ --user string Specify the user whose resources to target (default "me")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/cli/reference/coder_workspaces_watch-build.md b/cli/reference/coder_workspaces_watch-build.md
new file mode 100644
index 000000000..5a3d7ece6
--- /dev/null
+++ b/cli/reference/coder_workspaces_watch-build.md
@@ -0,0 +1,30 @@
+# coder workspaces watch-build
+
+trail the build log of a Coder workspace
+
+```text
+coder workspaces watch-build [workspace_name] [flags]
+```
+
+### Examples
+
+```text
+coder workspaces watch-build front-end-workspace
+```
+
+### Options
+
+```text
+ -h, --help help for watch-build
+ --user string Specify the user whose resources to target (default "me")
+```
+
+### Options inherited from parent commands
+
+```text
+ -v, --verbose show verbose output
+```
+
+### SEE ALSO
+
+- [coder workspaces](coder_workspaces.md) - Interact with Coder workspaces
diff --git a/guides/customization/vnc.md b/guides/customization/vnc.md
index 69ae90563..1ae64250a 100644
--- a/guides/customization/vnc.md
+++ b/guides/customization/vnc.md
@@ -100,8 +100,8 @@ If your Coder deployment has
[ssh](https://coder.com/docs/admin/workspace-management/ssh-access) enabled, you
can also connect to Coder using a local client with SSH port forwarding.
-You will need to install [coder-cli](https://github.com/coder/coder-cli) and a
-VNC client on your local machine.
+You will need to install [coder-cli](../../cli) and a VNC client on your local
+machine.
Run the following commands on your local machine to connect to the VNC server.
Replace `[vnc-port]` with the port on which the server is running and
diff --git a/guides/moving-to-oss.md b/guides/moving-to-oss.md
index 6cb0f71a7..5c66cd697 100644
--- a/guides/moving-to-oss.md
+++ b/guides/moving-to-oss.md
@@ -190,7 +190,7 @@ Coder v2. Refer to this table:
| **Code via web terminal** | ✅ | ✅ |
| **Code via code-server (Code Web)** | ✅ Hardcoded version | ✅ Any version [via the template](https://coder.com/docs/coder-oss/latest/ides/web-ides#code-server) |
| **Code via JetBrains Projector (web)** | ✅ Hardcoded version | ✅ Any version [via the template](https://coder.com/docs/coder-oss/latest/ides/web-ides#jetbrains-projector) |
-| **Code with local IDE via SSH (VS Code Remote, JetBrains Gateway)** | ✅ With [coder-cli](https://github.com/coder/coder-cli) installed | ✅ With [coder](https://coder.com/docs/coder-oss/latest/install) installed |
+| **Code with local IDE via SSH (VS Code Remote, JetBrains Gateway)** | ✅ With [coder-cli](../cli) installed | ✅ With [coder](https://coder.com/docs/coder-oss/latest/install) installed |
| **Custom workspace applications** | ✅ | ✅ Defined in [templates](https://coder.com/docs/coder-oss/latest/templates#coder-apps) |
| **Access ports (SSH/tunnel)** | ✅ | ✅ |
| **Access ports (web UI)** | ✅ [Dev URLs](https://coder.com/docs/coder/latest/workspaces/devurls) | ✅ |
diff --git a/images/configure.md b/images/configure.md
index d408bf95c..09ca20903 100644
--- a/images/configure.md
+++ b/images/configure.md
@@ -8,7 +8,7 @@ You can use the configure script to:
- Run scripts to install and configure dependencies for your workspace
- Install VS Code extensions
-- Run [Coder CLI](https://github.com/coder/coder-cli) commands
+- Run [Coder CLI](../cli) commands
- Check for and clone a GitHub repo if it isn't present
- Run scripts using
[CODER\_\* environment variables](../workspaces/variables.md)
diff --git a/manifest.json b/manifest.json
index 7b71d9642..b676f57b5 100644
--- a/manifest.json
+++ b/manifest.json
@@ -240,6 +240,173 @@
"path": "./cli/managing-workspaces.md",
"title": "Workspace management",
"description": "See example usages of the CLI for personal workspace management."
+ },
+ {
+ "path": "./cli/reference/coder.md",
+ "title": "Reference",
+ "description": "CLI reference",
+ "children": [
+ {
+ "path": "./cli/reference/coder_completion.md",
+ "title": "coder completion"
+ },
+ {
+ "path": "./cli/reference/coder_config-ssh.md",
+ "title": "coder config-ssh"
+ },
+ {
+ "path": "./cli/reference/coder_images.md",
+ "title": "coder images",
+ "children": [
+ {
+ "path": "./cli/reference/coder_images_ls.md",
+ "title": "coder images ls"
+ }
+ ]
+ },
+ {
+ "path": "./cli/reference/coder_login.md",
+ "title": "coder login"
+ },
+ {
+ "path": "./cli/reference/coder_logout.md",
+ "title": "coder logout"
+ },
+ {
+ "path": "./cli/reference/coder_satellites.md",
+ "title": "coder satellites",
+ "children": [
+ {
+ "path": "./cli/reference/coder_satellites_create.md",
+ "title": "coder satellites create"
+ },
+ {
+ "path": "./cli/reference/coder_satellites_ls.md",
+ "title": "coder satellites ls"
+ },
+ {
+ "path": "./cli/reference/coder_satellites_rm.md",
+ "title": "coder satellites rm"
+ }
+ ]
+ },
+ {
+ "path": "./cli/reference/coder_ssh.md",
+ "title": "coder ssh"
+ },
+ {
+ "path": "./cli/reference/coder_sync.md",
+ "title": "coder sync"
+ },
+ {
+ "path": "./cli/reference/coder_tokens.md",
+ "title": "coder tokens",
+ "children": [
+ {
+ "path": "./cli/reference/coder_tokens_create.md",
+ "title": "coder tokens create"
+ },
+ {
+ "path": "./cli/reference/coder_tokens_ls.md",
+ "title": "coder tokens ls"
+ },
+ {
+ "path": "./cli/reference/coder_tokens_regen.md",
+ "title": "coder tokens regen"
+ },
+ {
+ "path": "./cli/reference/coder_tokens_rm.md",
+ "title": "coder tokens rm"
+ }
+ ]
+ },
+ {
+ "path": "./cli/reference/coder_tunnel.md",
+ "title": "coder tunnel"
+ },
+ {
+ "path": "./cli/reference/coder_update.md",
+ "title": "coder update"
+ },
+ {
+ "path": "./cli/reference/coder_urls.md",
+ "title": "coder urls",
+ "children": [
+ {
+ "path": "./cli/reference/coder_urls_create.md",
+ "title": "coder urls create"
+ },
+ {
+ "path": "./cli/reference/coder_urls_ls.md",
+ "title": "coder urls ls"
+ },
+ {
+ "path": "./cli/reference/coder_urls_rm.md",
+ "title": "coder urls rm"
+ }
+ ]
+ },
+ {
+ "path": "./cli/reference/coder_users.md",
+ "title": "coder users",
+ "children": [
+ {
+ "path": "./cli/reference/coder_users_ls.md",
+ "title": "coder users ls"
+ }
+ ]
+ },
+ {
+ "path": "./cli/reference/coder_workspaces.md",
+ "title": "coder workspaces",
+ "children": [
+ {
+ "path": "./cli/reference/coder_workspaces_create-from-config.md",
+ "title": "coder workspaces create-from-config"
+ },
+ {
+ "path": "./cli/reference/coder_workspaces_create.md",
+ "title": "coder workspaces create"
+ },
+ {
+ "path": "./cli/reference/coder_workspaces_edit-from-config.md",
+ "title": "coder workspaces edit-from-config"
+ },
+ {
+ "path": "./cli/reference/coder_workspaces_edit.md",
+ "title": "coder workspaces edit"
+ },
+ {
+ "path": "./cli/reference/coder_workspaces_ls.md",
+ "title": "coder workspaces ls"
+ },
+ {
+ "path": "./cli/reference/coder_workspaces_ping.md",
+ "title": "coder workspaces ping"
+ },
+ {
+ "path": "./cli/reference/coder_workspaces_policy-template.md",
+ "title": "coder workspaces policy-template"
+ },
+ {
+ "path": "./cli/reference/coder_workspaces_rebuild.md",
+ "title": "coder workspaces rebuild"
+ },
+ {
+ "path": "./cli/reference/coder_workspaces_rm.md",
+ "title": "coder workspaces rm"
+ },
+ {
+ "path": "./cli/reference/coder_workspaces_stop.md",
+ "title": "coder workspaces stop"
+ },
+ {
+ "path": "./cli/reference/coder_workspaces_watch-build.md",
+ "title": "coder workspaces watch-build"
+ }
+ ]
+ }
+ ]
}
],
"title": "Command line"