{
  "name": "libtmux for Clojure",
  "url": "https://libtmux.org/en/clojure/latest/",
  "description": "Guides, examples and API reference for io.github.libtmux:libtmux-clojure.",
  "sourceRepository": "https://github.com/libtmux/libtmux-java",
  "agentEntrypoints": {
    "manifest": "/en/clojure/latest/docs.json",
    "llms": "/en/clojure/latest/llms.txt",
    "llmsFull": "/en/clojure/latest/llms-full.txt",
    "inventory": "/en/clojure/latest/objects.inv",
    "inventoryFull": "/en/objects-full.inv",
    "targets": "/en/clojure/latest/targets.json"
  },
  "ports": [
    {
      "slug": "clojure",
      "name": "Clojure",
      "language": "Clojure",
      "referenceKind": "model",
      "package": "io.github.libtmux:libtmux-clojure",
      "reference": "/en/clojure/latest/reference/",
      "parentLibrary": {
        "slug": "java",
        "runtime": "JVM"
      },
      "products": [],
      "extracted": {
        "symbols": 90,
        "extractor": "clojure-public-var-metadata/1",
        "inventory": "/en/clojure/latest/objects.inv"
      },
      "documentation": [
        {
          "id": "core",
          "name": "Library",
          "kind": "core",
          "availability": "available",
          "url": "/en/clojure/latest/core/"
        },
        {
          "id": "async",
          "name": "core.async adapter",
          "kind": "companion-package",
          "availability": "available",
          "url": "/en/clojure/latest/guides/core-async/",
          "package": "libtmux-clojure-core-async"
        }
      ]
    }
  ],
  "pages": [
    {
      "title": "Guides",
      "description": "Guides for io.github.libtmux:libtmux-clojure.",
      "section": "Guides",
      "url": "https://libtmux.org/en/clojure/latest/guides/",
      "markdownUrl": "https://libtmux.org/en/clojure/latest/guides/index.md",
      "headings": []
    },
    {
      "title": "Captured values",
      "description": "Captured values: io.github.libtmux:libtmux-clojure documentation.",
      "section": "Guides",
      "url": "https://libtmux.org/en/clojure/latest/guides/captured-values/",
      "markdownUrl": "https://libtmux.org/en/clojure/latest/guides/captured-values/index.md",
      "headings": [
        {
          "id": "shared-keys",
          "level": 2,
          "text": "Shared keys"
        },
        {
          "id": "root-and-sessions",
          "level": 2,
          "text": "Root and sessions"
        },
        {
          "id": "windows-and-panes",
          "level": 2,
          "text": "Windows and panes"
        },
        {
          "id": "clients",
          "level": 2,
          "text": "Clients"
        }
      ]
    },
    {
      "title": "Captures, effects and streams",
      "description": "Captures, effects and streams: io.github.libtmux:libtmux-clojure documentation.",
      "section": "Guides",
      "url": "https://libtmux.org/en/clojure/latest/guides/captures-and-effects/",
      "markdownUrl": "https://libtmux.org/en/clojure/latest/guides/captures-and-effects/index.md",
      "headings": [
        {
          "id": "values-links-and-projection",
          "level": 2,
          "text": "Values, links and projection"
        },
        {
          "id": "resource-scopes-and-laziness",
          "level": 2,
          "text": "Resource scopes and laziness"
        },
        {
          "id": "native-filtering-and-java-expressions",
          "level": 2,
          "text": "Native filtering and Java expressions"
        },
        {
          "id": "effects-errors-and-execution-modes",
          "level": 2,
          "text": "Effects, errors and execution modes"
        },
        {
          "id": "bounded-capture-work-and-cancellation",
          "level": 3,
          "text": "Bounded capture work and cancellation"
        },
        {
          "id": "layouts-and-literal-input",
          "level": 3,
          "text": "Layouts and literal input"
        },
        {
          "id": "contextual-targeting",
          "level": 3,
          "text": "Contextual targeting"
        },
        {
          "id": "lifecycle-streaming-and-optional-adapters",
          "level": 2,
          "text": "Lifecycle, streaming and optional adapters"
        },
        {
          "id": "manifold-completionstage-recipe",
          "level": 3,
          "text": "Manifold CompletionStage recipe"
        },
        {
          "id": "compatibility-and-java-interop",
          "level": 2,
          "text": "Compatibility and Java interop"
        },
        {
          "id": "mcp-boundary-and-measurement",
          "level": 2,
          "text": "MCP boundary and measurement"
        }
      ]
    },
    {
      "title": "core.async adapter",
      "description": "core.async adapter: io.github.libtmux:libtmux-clojure documentation.",
      "section": "Guides",
      "url": "https://libtmux.org/en/clojure/latest/guides/core-async/",
      "markdownUrl": "https://libtmux.org/en/clojure/latest/guides/core-async/index.md",
      "headings": [
        {
          "id": "install",
          "level": 2,
          "text": "Install"
        },
        {
          "id": "ownership-and-backpressure",
          "level": 2,
          "text": "Ownership and backpressure"
        }
      ]
    },
    {
      "title": "Getting started",
      "description": "Getting started: io.github.libtmux:libtmux-clojure documentation.",
      "section": "Guides",
      "url": "https://libtmux.org/en/clojure/latest/guides/getting-started/",
      "markdownUrl": "https://libtmux.org/en/clojure/latest/guides/getting-started/index.md",
      "headings": [
        {
          "id": "install",
          "level": 2,
          "text": "Install"
        },
        {
          "id": "quick-start",
          "level": 2,
          "text": "Quick start"
        },
        {
          "id": "namespaces",
          "level": 2,
          "text": "Namespaces"
        },
        {
          "id": "run-complete-programs",
          "level": 2,
          "text": "Run complete programs"
        },
        {
          "id": "what-it-leaves-out",
          "level": 2,
          "text": "What it leaves out"
        },
        {
          "id": "support-and-status",
          "level": 2,
          "text": "Support and status"
        },
        {
          "id": "documentation",
          "level": 2,
          "text": "Documentation"
        }
      ]
    },
    {
      "title": "Concepts",
      "description": "Understand Clojure captures, explicit references and resource ownership.",
      "section": "Concepts",
      "url": "https://libtmux.org/en/clojure/latest/concepts/",
      "markdownUrl": "https://libtmux.org/en/clojure/latest/concepts/index.md",
      "headings": []
    },
    {
      "title": "Server, session, window, pane",
      "description": "Traverse one captured graph and keep effects explicit through Java references.",
      "section": "Concepts",
      "url": "https://libtmux.org/en/clojure/latest/concepts/server-session-window-pane/",
      "markdownUrl": "https://libtmux.org/en/clojure/latest/concepts/server-session-window-pane.md",
      "headings": []
    },
    {
      "title": "tmux client library for Clojure",
      "description": "tmux client library for Clojure. Control tmux, connect to and create servers, navigate sessions, windows, and panes, send keys, watch for changes via control mode, capture pane contents",
      "section": "Documentation",
      "url": "https://libtmux.org/en/clojure/latest/core/",
      "markdownUrl": "https://libtmux.org/en/clojure/latest/core/index.md",
      "headings": []
    },
    {
      "title": "Examples",
      "description": "Run complete Clojure programs against private tmux servers.",
      "section": "Examples",
      "url": "https://libtmux.org/en/clojure/latest/examples/",
      "markdownUrl": "https://libtmux.org/en/clojure/latest/examples.md",
      "headings": []
    },
    {
      "title": "API glossary",
      "description": "Kinds, modifiers and package labels in the Clojure API reference.",
      "section": "API reference",
      "url": "https://libtmux.org/en/clojure/latest/reference/glossary/",
      "markdownUrl": "https://libtmux.org/en/clojure/latest/reference/glossary.md",
      "jsonUrl": "https://libtmux.org/en/clojure/latest/reference/glossary.json",
      "headings": [
        {
          "id": "symbol-kinds",
          "level": 2,
          "text": "Symbol kinds"
        },
        {
          "id": "module",
          "level": 3,
          "text": "module"
        },
        {
          "id": "function",
          "level": 3,
          "text": "function"
        },
        {
          "id": "modifiers",
          "level": 2,
          "text": "Modifiers"
        },
        {
          "id": "overload",
          "level": 3,
          "text": "overload"
        },
        {
          "id": "package-context",
          "level": 2,
          "text": "Package context"
        },
        {
          "id": "package",
          "level": 3,
          "text": "package"
        }
      ]
    },
    {
      "title": "API reference",
      "description": "5 declarations in the Clojure reference index. The symbol index also includes their members.",
      "section": "API reference",
      "url": "https://libtmux.org/en/clojure/latest/reference/",
      "markdownUrl": "https://libtmux.org/en/clojure/latest/reference/index.md",
      "symbolIndexUrl": "https://libtmux.org/en/clojure/latest/reference/tree.json",
      "headings": [
        {
          "id": "section-server",
          "level": 2,
          "text": "Server"
        },
        {
          "id": "section-control",
          "level": 2,
          "text": "Control mode"
        },
        {
          "id": "section-snapshots",
          "level": 2,
          "text": "Snapshots"
        },
        {
          "id": "section-async",
          "level": 2,
          "text": "Async"
        }
      ],
      "symbols": [
        {
          "id": "libtmux.core",
          "name": "libtmux.core",
          "kind": "module",
          "qualifiedName": "libtmux.core",
          "namespace": "libtmux.core",
          "url": "https://libtmux.org/en/clojure/latest/reference/libtmux-core/"
        },
        {
          "id": "libtmux.control",
          "name": "libtmux.control",
          "kind": "module",
          "qualifiedName": "libtmux.control",
          "namespace": "libtmux.control",
          "url": "https://libtmux.org/en/clojure/latest/reference/libtmux-control/"
        },
        {
          "id": "libtmux.data",
          "name": "libtmux.data",
          "kind": "module",
          "qualifiedName": "libtmux.data",
          "namespace": "libtmux.data",
          "url": "https://libtmux.org/en/clojure/latest/reference/libtmux-data/"
        },
        {
          "id": "libtmux.async",
          "name": "libtmux.async",
          "kind": "module",
          "qualifiedName": "libtmux.async",
          "namespace": "libtmux.async",
          "url": "https://libtmux.org/en/clojure/latest/reference/libtmux-async/"
        },
        {
          "id": "libtmux.core-async",
          "name": "libtmux.core-async",
          "kind": "module",
          "qualifiedName": "libtmux.core-async",
          "namespace": "libtmux.core-async",
          "url": "https://libtmux.org/en/clojure/latest/reference/libtmux-core-async/"
        }
      ]
    }
  ]
}
