{
  "name": "libtmux for Elixir",
  "url": "https://libtmux.org/en/elixir/latest/",
  "description": "Guides, examples and API reference for libtmux.",
  "sourceRepository": "https://github.com/libtmux/libtmux-elixir",
  "agentEntrypoints": {
    "manifest": "/en/elixir/latest/docs.json",
    "llms": "/en/elixir/latest/llms.txt",
    "llmsFull": "/en/elixir/latest/llms-full.txt",
    "inventory": "/en/objects.inv"
  },
  "ports": [
    {
      "slug": "elixir",
      "name": "Elixir",
      "language": "Elixir",
      "referenceKind": "model",
      "package": "libtmux",
      "reference": "/en/elixir/latest/reference/",
      "products": [
        {
          "slug": "workspace",
          "name": "Workspace Manager",
          "availability": "unpublished",
          "inDevelopment": false,
          "cli": null,
          "cliAvailability": null,
          "url": "/en/elixir/latest/workspace/",
          "reference": null
        },
        {
          "slug": "mcp",
          "name": "MCP",
          "availability": "unpublished",
          "inDevelopment": false,
          "url": "/en/elixir/latest/mcp/",
          "reference": null,
          "protocol": null
        }
      ],
      "extracted": {
        "symbols": 275,
        "extractor": "@libtmux/api-model@0.0.1 (Elixir EEP-48 documentation chunks and Code.Typespec v1)",
        "inventory": "/en/elixir/latest/reference/objects.inv"
      },
      "documentation": [
        {
          "id": "core",
          "name": "Core library",
          "kind": "core",
          "availability": "available",
          "url": "/en/elixir/latest/"
        },
        {
          "id": "mcp",
          "name": "MCP",
          "kind": "unavailable",
          "availability": "unpublished",
          "url": "/en/elixir/latest/mcp/"
        },
        {
          "id": "workspace",
          "name": "Workspace Manager",
          "kind": "unavailable",
          "availability": "unpublished",
          "url": "/en/elixir/latest/workspace/"
        }
      ]
    }
  ],
  "pages": [
    {
      "title": "Concepts",
      "description": "Concepts for libtmux.",
      "section": "Concepts",
      "url": "https://libtmux.org/en/elixir/latest/concepts/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/concepts/index.md",
      "headings": []
    },
    {
      "title": "Read values, execute explicitly",
      "description": "Hold one captured graph for several decisions and run a command when you need another.",
      "section": "Concepts",
      "url": "https://libtmux.org/en/elixir/latest/concepts/mental-model/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/concepts/mental-model/index.md",
      "headings": [
        {
          "id": "the-values-you-hold",
          "level": 2,
          "text": "The values you hold"
        },
        {
          "id": "coverage-tells-you-which-questions-the-graph-can-answer",
          "level": 2,
          "text": "Coverage tells you which questions the graph can answer"
        },
        {
          "id": "server-identity-and-connection-epochs-have-different-lifetimes",
          "level": 2,
          "text": "Server identity and connection epochs have different lifetimes"
        },
        {
          "id": "waiting-command-outcomes-and-retirement-are-separate",
          "level": 2,
          "text": "Waiting, command outcomes and retirement are separate"
        }
      ]
    },
    {
      "title": "Captured tmux state",
      "description": "Capture an immutable snapshot of an existing server and read it without further commands.",
      "section": "Concepts",
      "url": "https://libtmux.org/en/elixir/latest/concepts/observations/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/concepts/observations/index.md",
      "headings": [
        {
          "id": "read-one-captured-graph",
          "level": 2,
          "text": "Read one captured graph"
        },
        {
          "id": "coverage-and-construction",
          "level": 2,
          "text": "Coverage and construction"
        },
        {
          "id": "capture-consistency-and-bounds",
          "level": 2,
          "text": "Capture consistency and bounds"
        }
      ]
    },
    {
      "title": "Examples",
      "description": "Examples for libtmux.",
      "section": "Examples",
      "url": "https://libtmux.org/en/elixir/latest/examples/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/examples/index.md",
      "headings": []
    },
    {
      "title": "Capture a pane and read it",
      "description": "Capture a graph, select a pane and read it through one-shot and control commands.",
      "section": "Examples",
      "url": "https://libtmux.org/en/elixir/latest/examples/capture-and-read/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/examples/capture-and-read/index.md",
      "headings": []
    },
    {
      "title": "Guides",
      "description": "Guides for libtmux.",
      "section": "Guides",
      "url": "https://libtmux.org/en/elixir/latest/guides/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/guides/index.md",
      "headings": []
    },
    {
      "title": "Filter captured values",
      "description": "Select observed values with portable keyword and operator filters.",
      "section": "Guides",
      "url": "https://libtmux.org/en/elixir/latest/guides/filtering/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/guides/filtering/index.md",
      "headings": [
        {
          "id": "predicate-grammar",
          "level": 2,
          "text": "Predicate grammar"
        },
        {
          "id": "external-filters",
          "level": 2,
          "text": "External filters"
        }
      ]
    },
    {
      "title": "Getting started",
      "description": "Add the Hex package, check the Elixir, OTP and tmux requirements, and run an example.",
      "section": "Guides",
      "url": "https://libtmux.org/en/elixir/latest/guides/overview/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/guides/overview/index.md",
      "headings": [
        {
          "id": "status-and-requirements",
          "level": 2,
          "text": "Status and requirements"
        },
        {
          "id": "installation",
          "level": 2,
          "text": "Installation"
        },
        {
          "id": "run-the-examples",
          "level": 2,
          "text": "Run the examples"
        },
        {
          "id": "capture-and-query",
          "level": 2,
          "text": "Capture and query"
        },
        {
          "id": "rename-a-window",
          "level": 2,
          "text": "Rename a window"
        },
        {
          "id": "split-a-pane-and-send-input",
          "level": 2,
          "text": "Split a pane and send input"
        },
        {
          "id": "errors-and-recovery",
          "level": 2,
          "text": "Errors and recovery"
        },
        {
          "id": "concepts-and-reference",
          "level": 2,
          "text": "Concepts and reference"
        },
        {
          "id": "contributing",
          "level": 2,
          "text": "Contributing"
        }
      ]
    },
    {
      "title": "Topics",
      "description": "Topics for libtmux.",
      "section": "Topics",
      "url": "https://libtmux.org/en/elixir/latest/topics/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/topics/index.md",
      "headings": []
    },
    {
      "title": "Command and field encoding",
      "description": "Render commands and decode fields without a shell or a raw newline.",
      "section": "Topics",
      "url": "https://libtmux.org/en/elixir/latest/topics/encoding/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/topics/encoding/index.md",
      "headings": [
        {
          "id": "separate-parsers",
          "level": 2,
          "text": "Separate parsers"
        },
        {
          "id": "one-field-per-response",
          "level": 2,
          "text": "One field per response"
        },
        {
          "id": "capture-rows",
          "level": 2,
          "text": "Capture rows"
        },
        {
          "id": "bounded-framing",
          "level": 2,
          "text": "Bounded framing"
        }
      ]
    },
    {
      "title": "Execution ownership",
      "description": "Run an executable without a shell, with exit status kept apart from output.",
      "section": "Topics",
      "url": "https://libtmux.org/en/elixir/latest/topics/ownership/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/topics/ownership/index.md",
      "headings": [
        {
          "id": "limits-and-results",
          "level": 2,
          "text": "Limits and results"
        },
        {
          "id": "accounting-and-scope",
          "level": 2,
          "text": "Accounting and scope"
        },
        {
          "id": "building-and-distribution",
          "level": 2,
          "text": "Building and distribution"
        },
        {
          "id": "persistent-connection-components",
          "level": 2,
          "text": "Persistent connection components"
        },
        {
          "id": "managed-execution",
          "level": 3,
          "text": "Managed execution"
        }
      ]
    },
    {
      "title": "Observation and filter schema",
      "description": "Fields, wire names, value categories and operators of each observed entity.",
      "section": "Topics",
      "url": "https://libtmux.org/en/elixir/latest/topics/schema/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/topics/schema/index.md",
      "headings": [
        {
          "id": "session",
          "level": 2,
          "text": "session"
        },
        {
          "id": "window",
          "level": 2,
          "text": "window"
        },
        {
          "id": "window_link",
          "level": 2,
          "text": "window_link"
        },
        {
          "id": "pane",
          "level": 2,
          "text": "pane"
        },
        {
          "id": "client",
          "level": 2,
          "text": "client"
        }
      ]
    },
    {
      "title": "Third-party notices",
      "description": "Thanks to tmux's creator and contributors, with licences and attribution for the software behind libtmux.org.",
      "section": "Documentation",
      "url": "https://libtmux.org/en/elixir/latest/meta/third-party-notices/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/meta/third-party-notices.md",
      "headings": [
        {
          "id": "tmux",
          "level": 2,
          "text": "tmux"
        },
        {
          "id": "tmux-artwork",
          "level": 3,
          "text": "tmux artwork"
        },
        {
          "id": "programming-language-artwork",
          "level": 2,
          "text": "Programming-language artwork"
        },
        {
          "id": "terminal-artwork",
          "level": 2,
          "text": "Terminal artwork"
        },
        {
          "id": "documentation-toolchain",
          "level": 2,
          "text": "Documentation toolchain"
        },
        {
          "id": "a-note-on-doxygen",
          "level": 3,
          "text": "A note on Doxygen"
        },
        {
          "id": "reference-hosting",
          "level": 2,
          "text": "Reference hosting"
        },
        {
          "id": "libtmux-itself",
          "level": 2,
          "text": "libtmux itself"
        }
      ]
    },
    {
      "title": "Attaching to tmux",
      "description": "Connect to an existing tmux server and find a session with Elixir.",
      "section": "Guides",
      "url": "https://libtmux.org/en/elixir/latest/guides/attaching-to-tmux/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/guides/attaching-to-tmux.md",
      "headings": [
        {
          "id": "connect-to-an-existing-server",
          "level": 2,
          "text": "Connect to an existing server"
        },
        {
          "id": "setup-and-run",
          "level": 2,
          "text": "Setup and run"
        },
        {
          "id": "find-or-create-a-session",
          "level": 2,
          "text": "Find or create a session"
        }
      ]
    },
    {
      "title": "tmux MCP for Elixir is not published",
      "description": "The Elixir repository contains an MCP package scaffold, not a usable or published server.",
      "section": "Documentation",
      "url": "https://libtmux.org/en/elixir/latest/mcp/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/mcp/index.md",
      "headings": []
    },
    {
      "title": "tmux workspace manager for Elixir is not published",
      "description": "The Elixir repository contains a workspace package scaffold, not a loader or supported builder API.",
      "section": "Documentation",
      "url": "https://libtmux.org/en/elixir/latest/workspace/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/workspace/index.md",
      "headings": []
    },
    {
      "title": "API glossary",
      "description": "Kinds, modifiers and package labels in the Elixir API reference.",
      "section": "API reference",
      "url": "https://libtmux.org/en/elixir/latest/reference/glossary/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/reference/glossary.md",
      "jsonUrl": "https://libtmux.org/en/elixir/latest/reference/glossary.json",
      "headings": [
        {
          "id": "symbol-kinds",
          "level": 2,
          "text": "Symbol kinds"
        },
        {
          "id": "module",
          "level": 3,
          "text": "module"
        },
        {
          "id": "interface",
          "level": 3,
          "text": "interface"
        },
        {
          "id": "struct",
          "level": 3,
          "text": "struct"
        },
        {
          "id": "function",
          "level": 3,
          "text": "function"
        },
        {
          "id": "method",
          "level": 3,
          "text": "method"
        },
        {
          "id": "property",
          "level": 3,
          "text": "property"
        },
        {
          "id": "typealias",
          "level": 3,
          "text": "typealias"
        },
        {
          "id": "exception",
          "level": 3,
          "text": "exception"
        },
        {
          "id": "modifiers",
          "level": 2,
          "text": "Modifiers"
        },
        {
          "id": "opaque",
          "level": 3,
          "text": "opaque"
        },
        {
          "id": "macro",
          "level": 3,
          "text": "macro"
        },
        {
          "id": "abstract",
          "level": 3,
          "text": "abstract"
        },
        {
          "id": "deprecated",
          "level": 3,
          "text": "deprecated"
        },
        {
          "id": "overload",
          "level": 3,
          "text": "overload"
        },
        {
          "id": "package-context",
          "level": 2,
          "text": "Package context"
        },
        {
          "id": "package",
          "level": 3,
          "text": "package"
        }
      ]
    },
    {
      "title": "API reference",
      "description": "27 declarations in the Elixir reference index. The symbol index also includes their members.",
      "section": "API reference",
      "url": "https://libtmux.org/en/elixir/latest/reference/",
      "markdownUrl": "https://libtmux.org/en/elixir/latest/reference/index.md",
      "symbolIndexUrl": "https://libtmux.org/en/elixir/latest/reference/tree.json",
      "headings": [
        {
          "id": "section-server",
          "level": 2,
          "text": "Server"
        },
        {
          "id": "section-session",
          "level": 2,
          "text": "Session"
        },
        {
          "id": "section-window",
          "level": 2,
          "text": "Window"
        },
        {
          "id": "section-pane",
          "level": 2,
          "text": "Pane"
        },
        {
          "id": "section-client",
          "level": 2,
          "text": "Client"
        },
        {
          "id": "section-commands",
          "level": 2,
          "text": "Commands"
        },
        {
          "id": "section-control",
          "level": 2,
          "text": "Control mode"
        },
        {
          "id": "section-formats",
          "level": 2,
          "text": "Formats"
        },
        {
          "id": "section-queries",
          "level": 2,
          "text": "Queries"
        },
        {
          "id": "section-snapshots",
          "level": 2,
          "text": "Snapshots"
        },
        {
          "id": "section-requests",
          "level": 2,
          "text": "Requests"
        },
        {
          "id": "section-errors",
          "level": 2,
          "text": "Errors"
        },
        {
          "id": "section-constants",
          "level": 2,
          "text": "Constants and enums"
        }
      ],
      "symbols": [
        {
          "id": "LibTmux.Server",
          "name": "Server",
          "kind": "struct",
          "qualifiedName": "LibTmux.Server",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-server/"
        },
        {
          "id": "LibTmux.Session",
          "name": "Session",
          "kind": "struct",
          "qualifiedName": "LibTmux.Session",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-session/"
        },
        {
          "id": "LibTmux.Window",
          "name": "Window",
          "kind": "struct",
          "qualifiedName": "LibTmux.Window",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-window/"
        },
        {
          "id": "LibTmux.WindowLink",
          "name": "WindowLink",
          "kind": "struct",
          "qualifiedName": "LibTmux.WindowLink",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-windowlink/"
        },
        {
          "id": "LibTmux.Pane",
          "name": "Pane",
          "kind": "struct",
          "qualifiedName": "LibTmux.Pane",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-pane/"
        },
        {
          "id": "LibTmux.Client",
          "name": "Client",
          "kind": "struct",
          "qualifiedName": "LibTmux.Client",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-client/"
        },
        {
          "id": "LibTmux.Command",
          "name": "Command",
          "kind": "struct",
          "qualifiedName": "LibTmux.Command",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-command/"
        },
        {
          "id": "LibTmux.Deadline",
          "name": "Deadline",
          "kind": "struct",
          "qualifiedName": "LibTmux.Deadline",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-deadline/"
        },
        {
          "id": "LibTmux.Operation",
          "name": "Operation",
          "kind": "struct",
          "qualifiedName": "LibTmux.Operation",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-operation/"
        },
        {
          "id": "LibTmux.Transport.OneShot",
          "name": "OneShot",
          "kind": "module",
          "qualifiedName": "LibTmux.Transport.OneShot",
          "namespace": "LibTmux.Transport",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-transport-oneshot/"
        },
        {
          "id": "LibTmux.Control",
          "name": "Control",
          "kind": "struct",
          "qualifiedName": "LibTmux.Control",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-control/"
        },
        {
          "id": "LibTmux.Protocol",
          "name": "Protocol",
          "kind": "struct",
          "qualifiedName": "LibTmux.Protocol",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-protocol/"
        },
        {
          "id": "LibTmux.Codec",
          "name": "Codec",
          "kind": "module",
          "qualifiedName": "LibTmux.Codec",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-codec/"
        },
        {
          "id": "LibTmux.Format",
          "name": "Format",
          "kind": "module",
          "qualifiedName": "LibTmux.Format",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-format/"
        },
        {
          "id": "LibTmux.Filter",
          "name": "Filter",
          "kind": "struct",
          "qualifiedName": "LibTmux.Filter",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-filter/"
        },
        {
          "id": "LibTmux.Schema",
          "name": "Schema",
          "kind": "module",
          "qualifiedName": "LibTmux.Schema",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-schema/"
        },
        {
          "id": "LibTmux.Selection",
          "name": "Selection",
          "kind": "struct",
          "qualifiedName": "LibTmux.Selection",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-selection/"
        },
        {
          "id": "LibTmux.Wire",
          "name": "Wire",
          "kind": "module",
          "qualifiedName": "LibTmux.Wire",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-wire/"
        },
        {
          "id": "LibTmux.Capture",
          "name": "Capture",
          "kind": "module",
          "qualifiedName": "LibTmux.Capture",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-capture/"
        },
        {
          "id": "LibTmux.Ref",
          "name": "Ref",
          "kind": "struct",
          "qualifiedName": "LibTmux.Ref",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-ref/"
        },
        {
          "id": "LibTmux.Snapshot",
          "name": "Snapshot",
          "kind": "struct",
          "qualifiedName": "LibTmux.Snapshot",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-snapshot/"
        },
        {
          "id": "LibTmux.Control.Request",
          "name": "Request",
          "kind": "struct",
          "qualifiedName": "LibTmux.Control.Request",
          "namespace": "LibTmux.Control",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-control-request/"
        },
        {
          "id": "LibTmux.Action.CompletionError",
          "name": "CompletionError",
          "kind": "exception",
          "qualifiedName": "LibTmux.Action.CompletionError",
          "namespace": "LibTmux.Action",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-action-completionerror/"
        },
        {
          "id": "LibTmux.Control.ExecutionError",
          "name": "ExecutionError",
          "kind": "exception",
          "qualifiedName": "LibTmux.Control.ExecutionError",
          "namespace": "LibTmux.Control",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-control-executionerror/"
        },
        {
          "id": "LibTmux.Control.ScopeFailure",
          "name": "ScopeFailure",
          "kind": "exception",
          "qualifiedName": "LibTmux.Control.ScopeFailure",
          "namespace": "LibTmux.Control",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-control-scopefailure/"
        },
        {
          "id": "LibTmux.Error",
          "name": "Error",
          "kind": "exception",
          "qualifiedName": "LibTmux.Error",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-error/"
        },
        {
          "id": "LibTmux.Action",
          "name": "Action",
          "kind": "module",
          "qualifiedName": "LibTmux.Action",
          "namespace": "LibTmux",
          "url": "https://libtmux.org/en/elixir/latest/reference/libtmux-action/"
        }
      ]
    }
  ]
}
