# Ruby workspace guides

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

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

**Workspace Manager concept example** Maintained as a working example of core library usage and deployment. Example APIs, tools and configuration may change without a compatibility or product support commitment.

## 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.2/workspace/reference/libtmux-workspace-load/>).

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

`plan --live` 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.2/workspace/source-guide/#command-line-interface)
