# Ruby workspace guides

Source: https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/guides/

> Validate, inspect, and explicitly apply a Ruby workspace plan.

**Workspace Manager concept example** A working example of the core library. It can change without notice.

## Validate without tmux

Validation reads and bounds the configuration without starting or contacting a
tmux server.

```console
$ libtmux-workspace validate workspace.yaml
```

## Inspect an offline plan

An offline plan lists the ordered creation operations. JSON output includes
configured commands and paths, so treat it as application data rather than a
redacted diagnostic.

```console
$ libtmux-workspace plan \
    --json \
    workspace.yaml
```

## Load on an explicit socket

Start an application-owned server, then pass its socket path to [`load`](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/cli/load/).

```console
$ libtmux-workspace load \
    --socket "$TMUX_SOCKET" \
    --json \
    workspace.yaml
```

[`plan --live`](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/cli/plan/) requires the same selector. `--compensate` enables guarded
cleanup of positively identified created state after failure; it cannot undo
shell effects. Attach and client switching are explicit post-apply choices,
not defaults.

[Source-owned CLI guide](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/source-guide/#command-line-interface)
