(sec-cli-ref)=
# CLI Reference

Every command accepts `--backend-storage` and `--storage-option` to read
VCZ data from a remote URL (S3, GCS, Azure, HTTP); for example:

```bash
vcztools view --backend-storage fsspec s3://bucket/sample.vcz
```

See {ref}`sec-storage-backends` for the available backends and their
connection options.

% A note on cross references... There's a long-standing problem with
% cross referencing program values in Sphinx, which means that we can't use
% the built-in labels generated by sphinx-click. We make our own explicit
% targets instead, prefixed with ``cmd-`` to avoid conflicting with what
% sphinx-click generates.
% Based on: https://github.com/skypilot-org/skypilot/pull/2834

```{eval-rst}
.. _cmd-vcztools-view:
.. click:: vcztools.cli:view
   :prog: vcztools view
   :nested: full

.. _cmd-vcztools-query:
.. click:: vcztools.cli:query
   :prog: vcztools query
   :nested: full

.. _cmd-vcztools-index:
.. click:: vcztools.cli:index
   :prog: vcztools index
   :nested: full

.. _cmd-vcztools-view-plink:
.. click:: vcztools.cli:view_plink
   :prog: vcztools view-plink
   :nested: full

.. _cmd-vcztools-view-bgen:
.. click:: vcztools.cli:view_bgen
   :prog: vcztools view-bgen
   :nested: full
```
