# tmux workspace manager for Ruby

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

> Validate, plan, and load bounded YAML or JSON workspaces with libtmux-workspace.

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

`libtmux-workspace` parses bounded YAML or JSON into an immutable creation
plan. [`validate`](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/cli/validate/) and offline [`plan`](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/cli/plan/) do not contact tmux. [`load`](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/cli/load/) and
[`plan --live`](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/cli/plan/) borrow an existing server selected with `--socket`.

The manager creates a new session. It does not reconcile, replace, or delete a
preexisting workspace. Applying a plan authorizes declared shell commands;
their delivery does not prove that the pane programs completed.

## Start here

- [Guides](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/guides/) covers [`validate`](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/cli/validate/), [`plan`](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/cli/plan/), and [`load`](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/cli/load/).
- [Topics](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/topics/) explains the supported format and creation-only model.
- [Examples](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/examples/) provides a bounded YAML configuration.
- [CLI Manual](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/cli/) documents commands, flags, output and exit statuses.
- [Language API](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/reference/) documents the workspace gem.

The [source-owned workspace guide](https://libtmux.org/en/ruby/v0.1.0.alpha.3/workspace/source-guide/) is staged from the same
revision as the generated reference.
