# tmux workspace manager for Ruby

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

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

**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.

`libtmux-workspace` parses bounded YAML or JSON into an immutable creation
plan. `validate` and offline [`plan`](<https://libtmux.org/en/ruby/v0.1.0.alpha.2/workspace/reference/libtmux-workspace-plan-1c5c/>) do not contact tmux. [`load`](<https://libtmux.org/en/ruby/v0.1.0.alpha.2/workspace/reference/libtmux-workspace-load/>) and
`plan --live` 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.2/workspace/guides/) covers `validate`, [`plan`](<https://libtmux.org/en/ruby/v0.1.0.alpha.2/workspace/reference/libtmux-workspace-plan-1c5c/>), and [`load`](<https://libtmux.org/en/ruby/v0.1.0.alpha.2/workspace/reference/libtmux-workspace-load/>).
- [Topics](https://libtmux.org/en/ruby/v0.1.0.alpha.2/workspace/topics/) explains the supported format and creation-only model.
- [Examples](https://libtmux.org/en/ruby/v0.1.0.alpha.2/workspace/examples/) provides a bounded YAML configuration.
- [CLI Manual](https://libtmux.org/en/ruby/v0.1.0.alpha.2/workspace/cli/) documents commands, flags, output and exit statuses.
- [Language API](https://libtmux.org/en/ruby/v0.1.0.alpha.2/workspace/reference/) documents the workspace gem.

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