# Workspace reference generation

Source: https://libtmux.org/en/csharp/latest/workspace/internals/documentation/

> Generate command references from the parser and verify task examples against the CLI.

The executable's parser owns its command names, arguments and options. Keep
reference generation tied to those definitions.

## Command metadata

System.CommandLine owns the command definitions. `--generate reference` exports metadata; `--generate man` writes the manual.

See [shell completion](https://libtmux.org/en/csharp/latest/workspace/cli/completion/) for end-user setup. A generated
parser reference describes syntax; task examples also need to exercise the
underlying services and their cleanup.

## Site integration

Record the CLI's own source revision independently from the core library
reference. Keep commands, configuration and examples specific to that source.
Use the same content selection for HTML, search, Markdown and machine exports.

Verify guides against a private tmux server, with cleanup limited to the objects
the test owns. Check failure cases as well as successful construction.

[CLI source](https://github.com/libtmux/libtmux-dotnet/blob/f77fe776ba67a04abb20ddbbc26cf4a000d63b74/src/LibTmux.Workspace.Cli/README.md).
