overmux 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +2 -2
  3. package/dist/auth/.vite/manifest.json +2 -2
  4. package/dist/auth/assets/{index-Bx8JhwVi.css → index-BM9gETvx.css} +1 -1
  5. package/dist/auth/assets/{index-CHIE7qYj.js → index-DabAfcs1.js} +1 -1
  6. package/dist/auth/index.html +2 -2
  7. package/dist/bin.js +219 -126
  8. package/dist/bin.js.map +1 -1
  9. package/dist/docs/000-index.md +2 -4
  10. package/dist/docs/100-introduction/200-how-overmux-works.md +126 -2
  11. package/{docs/100-introduction/300-why-overmux.md → dist/docs/100-introduction/300-why-i-built-overmux.md} +1 -1
  12. package/dist/docs/200-getting-started/100-install-and-run-overmux.md +2 -2
  13. package/dist/docs/200-getting-started/400-secure-with-https/200-tailscale-serve.md +3 -3
  14. package/dist/docs/200-getting-started/400-secure-with-https/300-cloudflare-tunnel.md +2 -2
  15. package/dist/docs/200-getting-started/400-secure-with-https/400-self-hosted-reverse-proxy.md +2 -2
  16. package/dist/docs/400-reference/100-project-structure.md +83 -0
  17. package/dist/docs/400-reference/200-configuration.md +257 -0
  18. package/dist/docs/400-reference/300-storage-locations.md +46 -0
  19. package/dist/docs/400-reference/400-authentication-and-security.md +37 -0
  20. package/dist/docs/400-reference/500-server/000-index.md +13 -0
  21. package/dist/docs/400-reference/500-server/100-resources.md +191 -0
  22. package/dist/docs/400-reference/500-server/200-operations.md +111 -0
  23. package/dist/docs/400-reference/500-server/300-streams.md +140 -0
  24. package/dist/docs/400-reference/500-server/400-notifications.md +32 -0
  25. package/dist/docs/400-reference/500-server/500-api.md +118 -0
  26. package/dist/docs/400-reference/600-client/000-index.md +9 -0
  27. package/dist/docs/400-reference/600-client/100-api.md +370 -0
  28. package/dist/docs/400-reference/600-client/200-theming.md +94 -0
  29. package/dist/docs/400-reference/600-client/300-tech-stack-recommendations.md +12 -0
  30. package/{docs/400-reference/400-cli → dist/docs/400-reference/700-cli}/050-init.md +2 -4
  31. package/dist/docs/400-reference/{400-cli → 700-cli}/100-serve.md +9 -4
  32. package/{docs/400-reference/400-cli → dist/docs/400-reference/700-cli}/200-auth.md +1 -4
  33. package/{docs/400-reference/400-cli → dist/docs/400-reference/700-cli}/300-call.md +1 -4
  34. package/dist/docs/400-reference/700-cli/350-instance.md +21 -0
  35. package/dist/docs/400-reference/700-cli/600-docs.md +128 -0
  36. package/{docs/400-reference/400-cli → dist/docs/400-reference/700-cli}/700-desktop.md +1 -3
  37. package/dist/docs/500-hosted-pages.md +0 -1
  38. package/dist/exports/client.d.ts +19 -15
  39. package/dist/exports/client.d.ts.map +1 -1
  40. package/dist/exports/client.js +240 -58
  41. package/dist/exports/client.js.map +1 -1
  42. package/dist/exports/{index-D3_Dpy_T.d.ts → index-Cz3xkCa4.d.ts} +62 -36
  43. package/dist/exports/index-Cz3xkCa4.d.ts.map +1 -0
  44. package/dist/exports/index.d.ts +2 -2
  45. package/dist/exports/index.js +19 -5
  46. package/dist/exports/index.js.map +1 -1
  47. package/dist/exports/{notifications-kDp16bU_.js → notifications-BFAD3QQl.js} +34 -4
  48. package/dist/exports/notifications-BFAD3QQl.js.map +1 -0
  49. package/dist/exports/server.d.ts +1 -44
  50. package/dist/exports/server.d.ts.map +1 -1
  51. package/dist/exports/server.js +8 -1018
  52. package/dist/exports/server.js.map +1 -1
  53. package/dist/internal/server/coordinator/server-child.js +153 -85
  54. package/dist/internal/server/coordinator/server-child.js.map +1 -1
  55. package/docs/000-index.md +2 -4
  56. package/docs/100-introduction/200-how-overmux-works.md +126 -2
  57. package/{dist/docs/100-introduction/300-why-overmux.md → docs/100-introduction/300-why-i-built-overmux.md} +1 -1
  58. package/docs/200-getting-started/100-install-and-run-overmux.md +2 -2
  59. package/docs/200-getting-started/400-secure-with-https/200-tailscale-serve.md +3 -3
  60. package/docs/200-getting-started/400-secure-with-https/300-cloudflare-tunnel.md +2 -2
  61. package/docs/200-getting-started/400-secure-with-https/400-self-hosted-reverse-proxy.md +2 -2
  62. package/docs/400-reference/100-project-structure.md +83 -0
  63. package/docs/400-reference/200-configuration.md +257 -0
  64. package/docs/400-reference/300-storage-locations.md +46 -0
  65. package/docs/400-reference/400-authentication-and-security.md +37 -0
  66. package/docs/400-reference/500-server/000-index.md +13 -0
  67. package/docs/400-reference/500-server/100-resources.md +191 -0
  68. package/docs/400-reference/500-server/200-operations.md +111 -0
  69. package/docs/400-reference/500-server/300-streams.md +140 -0
  70. package/docs/400-reference/500-server/400-notifications.md +32 -0
  71. package/docs/400-reference/500-server/500-api.md +118 -0
  72. package/docs/400-reference/600-client/000-index.md +9 -0
  73. package/docs/400-reference/600-client/100-api.md +370 -0
  74. package/docs/400-reference/600-client/200-theming.md +94 -0
  75. package/docs/400-reference/600-client/300-tech-stack-recommendations.md +12 -0
  76. package/{dist/docs/400-reference/400-cli → docs/400-reference/700-cli}/050-init.md +2 -4
  77. package/docs/400-reference/{400-cli → 700-cli}/100-serve.md +9 -4
  78. package/{dist/docs/400-reference/400-cli → docs/400-reference/700-cli}/200-auth.md +1 -4
  79. package/{dist/docs/400-reference/400-cli → docs/400-reference/700-cli}/300-call.md +1 -4
  80. package/docs/400-reference/700-cli/350-instance.md +21 -0
  81. package/docs/400-reference/700-cli/600-docs.md +128 -0
  82. package/{dist/docs/400-reference/400-cli → docs/400-reference/700-cli}/700-desktop.md +1 -3
  83. package/docs/500-hosted-pages.md +0 -1
  84. package/package.json +3 -2
  85. package/src/internal/cli/app.ts +5 -5
  86. package/src/internal/cli/commands/docs-ai-context.ts +33 -0
  87. package/src/internal/cli/commands/docs.ts +19 -2
  88. package/src/internal/cli/commands/init-template.ts +1 -1
  89. package/src/internal/cli/commands/instance.ts +58 -0
  90. package/src/internal/cli/commands/serve.ts +3 -0
  91. package/src/internal/cli/login.ts +9 -9
  92. package/src/internal/cli/parse-port.ts +2 -1
  93. package/src/internal/client/auth/auth-shell.css +17 -1
  94. package/src/internal/client/auth/auth-shell.tsx +2 -11
  95. package/src/internal/client/auth/login-code-input.tsx +140 -0
  96. package/src/internal/client/browser-api.ts +17 -3
  97. package/src/internal/client/client-definition.ts +6 -8
  98. package/src/internal/client/host/deep-link-navigation.ts +75 -0
  99. package/src/internal/client/host/desktop-host.ts +3 -0
  100. package/src/internal/client/host/environment.ts +67 -0
  101. package/src/internal/client/host/instance-forwarding.ts +21 -0
  102. package/src/internal/client/host/overmux-host.tsx +17 -0
  103. package/src/internal/client/index.ts +0 -6
  104. package/src/internal/client/overmux-react.ts +95 -42
  105. package/src/internal/client/websocket.ts +32 -12
  106. package/src/internal/server/auth/auth-service.ts +2 -2
  107. package/src/internal/server/auth/instance-control.ts +89 -17
  108. package/src/internal/server/coordinator/ipc-protocol.ts +0 -1
  109. package/src/internal/server/runtime/create-runtime.ts +15 -2
  110. package/src/internal/server/runtime/runtime-instance.ts +47 -0
  111. package/src/internal/server/runtime/runtime-operations.ts +9 -3
  112. package/src/internal/server/runtime/runtime-resources.ts +15 -32
  113. package/src/internal/server/runtime/runtime-streams.ts +5 -6
  114. package/src/internal/server/server-logger.ts +5 -10
  115. package/src/internal/server/server-startup-options.ts +14 -14
  116. package/src/internal/server/start-application-server.ts +24 -19
  117. package/src/internal/server/websocket-server.ts +7 -0
  118. package/src/internal/shared/index.ts +2 -0
  119. package/src/internal/shared/protocol.ts +10 -1
  120. package/src/public/ai-context.ts +7 -29
  121. package/src/public/client.ts +1 -6
  122. package/src/public/config.ts +163 -31
  123. package/src/public/index.ts +2 -0
  124. package/src/public/server.ts +1 -16
  125. package/dist/docs/100-introduction/100-what-is-overmux.md +0 -7
  126. package/dist/docs/300-fundamentals/100-project-structure.md +0 -23
  127. package/dist/docs/300-fundamentals/200-configuration.md +0 -3
  128. package/dist/docs/300-fundamentals/300-theming.md +0 -3
  129. package/dist/docs/300-fundamentals/400-server.md +0 -3
  130. package/dist/docs/300-fundamentals/500-client.md +0 -3
  131. package/dist/docs/300-fundamentals/600-operations.md +0 -3
  132. package/dist/docs/300-fundamentals/700-resources.md +0 -3
  133. package/dist/docs/300-fundamentals/800-streams.md +0 -3
  134. package/dist/docs/300-fundamentals/900-authentication-and-security.md +0 -3
  135. package/dist/docs/400-reference/100-configuration.md +0 -3
  136. package/dist/docs/400-reference/200-server-api.md +0 -3
  137. package/dist/docs/400-reference/300-client-api.md +0 -20
  138. package/dist/docs/400-reference/400-cli/400-check.md +0 -20
  139. package/dist/docs/400-reference/400-cli/500-ai-context.md +0 -102
  140. package/dist/docs/400-reference/400-cli/600-docs.md +0 -23
  141. package/dist/exports/index-D3_Dpy_T.d.ts.map +0 -1
  142. package/dist/exports/notifications-kDp16bU_.js.map +0 -1
  143. package/docs/100-introduction/100-what-is-overmux.md +0 -7
  144. package/docs/300-fundamentals/100-project-structure.md +0 -23
  145. package/docs/300-fundamentals/200-configuration.md +0 -3
  146. package/docs/300-fundamentals/300-theming.md +0 -3
  147. package/docs/300-fundamentals/400-server.md +0 -3
  148. package/docs/300-fundamentals/500-client.md +0 -3
  149. package/docs/300-fundamentals/600-operations.md +0 -3
  150. package/docs/300-fundamentals/700-resources.md +0 -3
  151. package/docs/300-fundamentals/800-streams.md +0 -3
  152. package/docs/300-fundamentals/900-authentication-and-security.md +0 -3
  153. package/docs/400-reference/100-configuration.md +0 -3
  154. package/docs/400-reference/200-server-api.md +0 -3
  155. package/docs/400-reference/300-client-api.md +0 -20
  156. package/docs/400-reference/400-cli/400-check.md +0 -20
  157. package/docs/400-reference/400-cli/500-ai-context.md +0 -102
  158. package/docs/400-reference/400-cli/600-docs.md +0 -23
  159. package/src/internal/cli/commands/ai.ts +0 -44
@@ -1,102 +0,0 @@
1
- ---
2
- title: "overmux ai context"
3
- description: "Set up your coding agent and configure its Overmux context"
4
- ---
5
-
6
- # `overmux ai context`
7
-
8
- Print version-aware Overmux guidance for coding agents as Markdown.
9
-
10
- ## Usage
11
-
12
- ```text
13
- overmux ai context [--config path]
14
- ```
15
-
16
- ## Set up your coding agent
17
-
18
- Add a short instruction that tells your agent how to load the context when it needs Overmux guidance:
19
-
20
- <CodeBlockTabs defaultValue="agents">
21
- <CodeBlockTabsList>
22
- <CodeBlockTabsTrigger value="agents">AGENTS.md</CodeBlockTabsTrigger>
23
- <CodeBlockTabsTrigger value="claude">CLAUDE.md</CodeBlockTabsTrigger>
24
- </CodeBlockTabsList>
25
- <CodeBlockTab value="agents">
26
-
27
- ```bash
28
- echo 'Run `overmux ai context` for help configuring Overmux.' >> AGENTS.md
29
- ```
30
-
31
- </CodeBlockTab>
32
- <CodeBlockTab value="claude">
33
-
34
- ```bash
35
- echo 'Run `overmux ai context` for help configuring Overmux.' >> CLAUDE.md
36
- ```
37
-
38
- </CodeBlockTab>
39
- </CodeBlockTabs>
40
-
41
- ## Configure context snippets
42
-
43
- Set `aiContextSnippets` in `$XDG_CONFIG_HOME/overmux/overmux.config.ts` to choose the guidance included in the command output:
44
-
45
- ```ts
46
- import {
47
- coreAiContextSnippets,
48
- defineOvermuxConfig,
49
- } from "overmux";
50
-
51
- export default defineOvermuxConfig({
52
- aiContextSnippets: coreAiContextSnippets,
53
- // ...
54
- });
55
- ```
56
-
57
- When `aiContextSnippets` is omitted, Overmux uses `defaultAiContextSnippets`. Set it to an empty array to emit no context.
58
-
59
- ## Options
60
-
61
- | Flag | Description | Default |
62
- | --- | --- | --- |
63
- | `--config <path>, -c <path>` | Configuration file | `$XDG_CONFIG_HOME/overmux/overmux.config.ts` |
64
-
65
- ## Preset groups
66
-
67
- | Export | Included snippets |
68
- | --- | --- |
69
- | `defaultAiContextSnippets` | `package-source`, `tech-stack-recommendations` |
70
- | `coreAiContextSnippets` | `package-source` |
71
-
72
- ## Snippet reference
73
-
74
- ### `package-source`
75
-
76
- Export: `packageSourceSnippet`
77
-
78
- Included in the core and default presets. Tells agents to inspect the documentation and TypeScript source shipped in installed Overmux packages so their guidance matches the versions used by the application.
79
-
80
- ### `tech-stack-recommendations`
81
-
82
- Export: `techStackRecommendationsSnippet`
83
-
84
- Included in the default preset. Recommends pnpm, TanStack Router, shadcn/ui, and Zod while deferring to the application's established stack.
85
-
86
- You can compose an explicit selection from the individual exports:
87
-
88
- ```ts
89
- import {
90
- defineOvermuxConfig,
91
- packageSourceSnippet,
92
- techStackRecommendationsSnippet,
93
- } from "overmux";
94
-
95
- export default defineOvermuxConfig({
96
- aiContextSnippets: [
97
- packageSourceSnippet,
98
- techStackRecommendationsSnippet,
99
- ],
100
- // ...
101
- });
102
- ```
@@ -1,23 +0,0 @@
1
- ---
2
- title: "overmux docs"
3
- description: "Print the installed documentation directory"
4
- ---
5
-
6
- # `overmux docs`
7
-
8
- Print the installed documentation directory.
9
-
10
- ## Usage
11
-
12
- ```text
13
- overmux docs
14
- ```
15
-
16
- ## Example
17
-
18
- ```console
19
- $ overmux docs
20
- /path/to/project/node_modules/overmux/docs
21
- ```
22
-
23
- The command prints the absolute path to the documentation shipped with the installed `overmux` package.
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-D3_Dpy_T.d.ts","names":[],"sources":["../../../shared/dist/index.d.ts","../../src/public/ai-context.ts","../../src/public/notifications.ts","../../src/public/contracts.ts","../../src/public/config.ts"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifications-kDp16bU_.js","names":[],"sources":["../../../shared/dist/index.js"],"sourcesContent":["import { z } from \"zod\";\n//#region src/ai-context.ts\nconst packageSourceSnippet = \"package-source\";\nconst techStackRecommendationsSnippet = \"tech-stack-recommendations\";\nconst aiContextSnippets = [packageSourceSnippet, techStackRecommendationsSnippet];\n//#endregion\n//#region src/hosted-routes.ts\nconst overmuxSettingsPath = \"/_overmux/settings\";\nconst overmuxLogoutPath = \"/_overmux/logout\";\nconst reservedPathPrefixes = [\n\t\"/_overmux\",\n\t\"/api\",\n\t\"/login\"\n];\nconst returnToBase = \"https://overmux.invalid\";\nconst isReservedPath = (pathname) => reservedPathPrefixes.some((prefix) => pathname === prefix || pathname.startsWith(`${prefix}/`));\nconst resolveOvermuxReturnTo = (candidate) => {\n\tif (!candidate?.startsWith(\"/\") || candidate.startsWith(\"//\")) return \"/\";\n\ttry {\n\t\tconst url = new URL(candidate, returnToBase);\n\t\tconst decodedPathname = decodeURIComponent(url.pathname);\n\t\tif (url.origin !== returnToBase || isReservedPath(decodedPathname)) return \"/\";\n\t\treturn `${url.pathname}${url.search}${url.hash}`;\n\t} catch {\n\t\treturn \"/\";\n\t}\n};\nconst createOvermuxSettingsPath = (returnTo) => {\n\tconst safeReturnTo = resolveOvermuxReturnTo(returnTo);\n\tif (safeReturnTo === \"/\") return overmuxSettingsPath;\n\tconst search = new URLSearchParams({ returnTo: safeReturnTo });\n\treturn `${overmuxSettingsPath}?${search.toString()}`;\n};\n//#endregion\n//#region src/notifications.ts\nconst safeRelativeNotificationLink = (link) => {\n\tlet decoded;\n\ttry {\n\t\tdecoded = decodeURIComponent(link);\n\t} catch {\n\t\treturn false;\n\t}\n\treturn !decoded.startsWith(\"//\") && !decoded.includes(\"\\\\\") && ![...decoded].some((character) => {\n\t\tconst codePoint = character.codePointAt(0) ?? 0;\n\t\treturn codePoint < 32 || codePoint === 127;\n\t});\n};\nconst notificationLinkSchema = z.union([z.string().max(4096).startsWith(\"/\").refine(safeRelativeNotificationLink), z.string().max(4096).url().refine((link) => {\n\tif (!URL.canParse(link)) return false;\n\tconst url = new URL(link);\n\treturn [\"http:\", \"https:\"].includes(url.protocol) && !url.username && !url.password;\n})]);\nconst notificationSchema = z.object({\n\tbody: z.string().max(4096).optional(),\n\topen: z.object({ link: notificationLinkSchema }).strict().optional(),\n\ttitle: z.string().min(1).max(4096)\n}).strict();\n//#endregion\nexport { aiContextSnippets, createOvermuxSettingsPath, notificationLinkSchema, notificationSchema, overmuxLogoutPath, overmuxSettingsPath, packageSourceSnippet, resolveOvermuxReturnTo, techStackRecommendationsSnippet };\n\n//# sourceMappingURL=index.js.map"],"mappings":";;AAEA,MAAM,uBAAuB;AAC7B,MAAM,kCAAkC;AAIxC,MAAM,sBAAsB;AAC5B,MAAM,oBAAoB;AAC1B,MAAM,uBAAuB;CAC5B;CACA;CACA;AACD;AACA,MAAM,eAAe;AACrB,MAAM,kBAAkB,aAAa,qBAAqB,MAAM,WAAW,aAAa,UAAU,SAAS,WAAW,GAAG,OAAO,EAAE,CAAC;AACnI,MAAM,0BAA0B,cAAc;CAC7C,IAAI,CAAC,WAAW,WAAW,GAAG,KAAK,UAAU,WAAW,IAAI,GAAG,OAAO;CACtE,IAAI;EACH,MAAM,MAAM,IAAI,IAAI,WAAW,YAAY;EAC3C,MAAM,kBAAkB,mBAAmB,IAAI,QAAQ;EACvD,IAAI,IAAI,WAAW,gBAAgB,eAAe,eAAe,GAAG,OAAO;EAC3E,OAAO,GAAG,IAAI,WAAW,IAAI,SAAS,IAAI;CAC3C,QAAQ;EACP,OAAO;CACR;AACD;AACA,MAAM,6BAA6B,aAAa;CAC/C,MAAM,eAAe,uBAAuB,QAAQ;CACpD,IAAI,iBAAiB,KAAK,OAAO;CACjC,MAAM,SAAS,IAAI,gBAAgB,EAAE,UAAU,aAAa,CAAC;CAC7D,OAAO,GAAG,oBAAoB,GAAG,OAAO,SAAS;AAClD;AAGA,MAAM,gCAAgC,SAAS;CAC9C,IAAI;CACJ,IAAI;EACH,UAAU,mBAAmB,IAAI;CAClC,QAAQ;EACP,OAAO;CACR;CACA,OAAO,CAAC,QAAQ,WAAW,IAAI,KAAK,CAAC,QAAQ,SAAS,IAAI,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,cAAc;EAChG,MAAM,YAAY,UAAU,YAAY,CAAC,KAAK;EAC9C,OAAO,YAAY,MAAM,cAAc;CACxC,CAAC;AACF;AACA,MAAM,yBAAyB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,4BAA4B,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,SAAS;CAC9J,IAAI,CAAC,IAAI,SAAS,IAAI,GAAG,OAAO;CAChC,MAAM,MAAM,IAAI,IAAI,IAAI;CACxB,OAAO,CAAC,SAAS,QAAQ,CAAC,CAAC,SAAS,IAAI,QAAQ,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI;AAC5E,CAAC,CAAC,CAAC;AACH,MAAM,qBAAqB,EAAE,OAAO;CACnC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS;CACpC,MAAM,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS;CACnE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI;AAClC,CAAC,CAAC,CAAC,OAAO"}
@@ -1,7 +0,0 @@
1
- ---
2
- title: What is Overmux?
3
- ---
4
-
5
- Overmux is a web-based, customizable dev environment. Designed for coding using Agents.
6
-
7
-
@@ -1,23 +0,0 @@
1
- ---
2
- title: Project Structure
3
- ---
4
-
5
- `overmux init` creates this minimal userland application:
6
-
7
- ```text
8
- .gitignore
9
- mise.toml Mise installations only
10
- package.json
11
- pnpm-lock.yaml
12
- overmux.config.ts authentication, server, Vite, and production settings
13
- src/server/index.ts trusted resources, streams, and operations
14
- src/ui/app.tsx browser application definition
15
- src/ui/index.html browser document
16
- src/ui/main.tsx React and Overmux host entry point
17
- src/ui/styles.css application styles
18
- vite.config.ts browser development and production build configuration
19
- ```
20
-
21
- The server and UI are separate trust boundaries. `src/server/index.ts` runs as trusted Node.js code. Files under `src/ui` run in the browser and communicate with the server through Overmux's public APIs.
22
-
23
- The generated application has no shared directory. Add browser-safe shared schemas only when both sides need them.
@@ -1,3 +0,0 @@
1
- ---
2
- title: Configuration
3
- ---
@@ -1,3 +0,0 @@
1
- ---
2
- title: Theming
3
- ---
@@ -1,3 +0,0 @@
1
- ---
2
- title: Server
3
- ---
@@ -1,3 +0,0 @@
1
- ---
2
- title: Client
3
- ---
@@ -1,3 +0,0 @@
1
- ---
2
- title: Operations
3
- ---
@@ -1,3 +0,0 @@
1
- ---
2
- title: Resources
3
- ---
@@ -1,3 +0,0 @@
1
- ---
2
- title: Streams
3
- ---
@@ -1,3 +0,0 @@
1
- ---
2
- title: Authentication and Security
3
- ---
@@ -1,3 +0,0 @@
1
- ---
2
- title: Configuration
3
- ---
@@ -1,3 +0,0 @@
1
- ---
2
- title: Server API
3
- ---
@@ -1,20 +0,0 @@
1
- ---
2
- title: Client API
3
- ---
4
-
5
- ## Clipboard
6
-
7
- ```ts
8
- import { readClipboardText, writeClipboardText } from "overmux/client";
9
-
10
- await writeClipboardText("Text to copy");
11
- const text = await readClipboardText();
12
- ```
13
-
14
- `readClipboardText(): Promise<string>` reads the system clipboard through `navigator.clipboard.readText()`. It never reads through the desktop bridge.
15
-
16
- `writeClipboardText(text: string): Promise<void>` uses Overmux's version-1 desktop write bridge when present, otherwise `navigator.clipboard.writeText()`. Desktop writes are fire-and-forget: resolution confirms dispatch, not completion or acceptance by the host. Existing host origin and active-frame checks still apply.
17
-
18
- Both reject on unavailable browser APIs, browser permission failures, or synchronous desktop dispatch failures. Browser secure-context, focus, permissions, and user-activation restrictions still apply. These APIs target the system clipboard, not the X11 primary selection. Only read clipboard data you need and trust the source of text you write.
19
-
20
- For terminal-program access via OSC 52, use the opt-in factories from `@overmux/xterm/client` rather than wiring platform bridges in application code.
@@ -1,20 +0,0 @@
1
- ---
2
- title: "overmux check"
3
- description: "Validate an Overmux configuration"
4
- ---
5
-
6
- # `overmux check`
7
-
8
- Validate an Overmux configuration.
9
-
10
- ## Usage
11
-
12
- ```text
13
- overmux check [--config path]
14
- ```
15
-
16
- ## Options
17
-
18
- | Flag | Description | Default |
19
- | --- | --- | --- |
20
- | `--config <path>, -c <path>` | Configuration file | `$XDG_CONFIG_HOME/overmux/overmux.config.ts` |
@@ -1,102 +0,0 @@
1
- ---
2
- title: "overmux ai context"
3
- description: "Set up your coding agent and configure its Overmux context"
4
- ---
5
-
6
- # `overmux ai context`
7
-
8
- Print version-aware Overmux guidance for coding agents as Markdown.
9
-
10
- ## Usage
11
-
12
- ```text
13
- overmux ai context [--config path]
14
- ```
15
-
16
- ## Set up your coding agent
17
-
18
- Add a short instruction that tells your agent how to load the context when it needs Overmux guidance:
19
-
20
- <CodeBlockTabs defaultValue="agents">
21
- <CodeBlockTabsList>
22
- <CodeBlockTabsTrigger value="agents">AGENTS.md</CodeBlockTabsTrigger>
23
- <CodeBlockTabsTrigger value="claude">CLAUDE.md</CodeBlockTabsTrigger>
24
- </CodeBlockTabsList>
25
- <CodeBlockTab value="agents">
26
-
27
- ```bash
28
- echo 'Run `overmux ai context` for help configuring Overmux.' >> AGENTS.md
29
- ```
30
-
31
- </CodeBlockTab>
32
- <CodeBlockTab value="claude">
33
-
34
- ```bash
35
- echo 'Run `overmux ai context` for help configuring Overmux.' >> CLAUDE.md
36
- ```
37
-
38
- </CodeBlockTab>
39
- </CodeBlockTabs>
40
-
41
- ## Configure context snippets
42
-
43
- Set `aiContextSnippets` in `$XDG_CONFIG_HOME/overmux/overmux.config.ts` to choose the guidance included in the command output:
44
-
45
- ```ts
46
- import {
47
- coreAiContextSnippets,
48
- defineOvermuxConfig,
49
- } from "overmux";
50
-
51
- export default defineOvermuxConfig({
52
- aiContextSnippets: coreAiContextSnippets,
53
- // ...
54
- });
55
- ```
56
-
57
- When `aiContextSnippets` is omitted, Overmux uses `defaultAiContextSnippets`. Set it to an empty array to emit no context.
58
-
59
- ## Options
60
-
61
- | Flag | Description | Default |
62
- | --- | --- | --- |
63
- | `--config <path>, -c <path>` | Configuration file | `$XDG_CONFIG_HOME/overmux/overmux.config.ts` |
64
-
65
- ## Preset groups
66
-
67
- | Export | Included snippets |
68
- | --- | --- |
69
- | `defaultAiContextSnippets` | `package-source`, `tech-stack-recommendations` |
70
- | `coreAiContextSnippets` | `package-source` |
71
-
72
- ## Snippet reference
73
-
74
- ### `package-source`
75
-
76
- Export: `packageSourceSnippet`
77
-
78
- Included in the core and default presets. Tells agents to inspect the documentation and TypeScript source shipped in installed Overmux packages so their guidance matches the versions used by the application.
79
-
80
- ### `tech-stack-recommendations`
81
-
82
- Export: `techStackRecommendationsSnippet`
83
-
84
- Included in the default preset. Recommends pnpm, TanStack Router, shadcn/ui, and Zod while deferring to the application's established stack.
85
-
86
- You can compose an explicit selection from the individual exports:
87
-
88
- ```ts
89
- import {
90
- defineOvermuxConfig,
91
- packageSourceSnippet,
92
- techStackRecommendationsSnippet,
93
- } from "overmux";
94
-
95
- export default defineOvermuxConfig({
96
- aiContextSnippets: [
97
- packageSourceSnippet,
98
- techStackRecommendationsSnippet,
99
- ],
100
- // ...
101
- });
102
- ```
@@ -1,23 +0,0 @@
1
- ---
2
- title: "overmux docs"
3
- description: "Print the installed documentation directory"
4
- ---
5
-
6
- # `overmux docs`
7
-
8
- Print the installed documentation directory.
9
-
10
- ## Usage
11
-
12
- ```text
13
- overmux docs
14
- ```
15
-
16
- ## Example
17
-
18
- ```console
19
- $ overmux docs
20
- /path/to/project/node_modules/overmux/docs
21
- ```
22
-
23
- The command prints the absolute path to the documentation shipped with the installed `overmux` package.
@@ -1,44 +0,0 @@
1
- import { loadOvermuxConfig } from "@overmux/shared/node";
2
- import { buildCommand, buildRouteMap } from "@stricli/core";
3
-
4
- import {
5
- composeAiContext,
6
- defaultAiContextSnippets,
7
- } from "../../../public/ai-context";
8
- import { getDefaultConfigPath } from "../../server/paths";
9
-
10
- type AiContextFlags = { config: string };
11
-
12
- const printAiContext = async (
13
- flags: AiContextFlags,
14
- process: NodeJS.Process,
15
- ) => {
16
- const { config } = await loadOvermuxConfig({ configPath: flags.config });
17
- process.stdout.write(
18
- composeAiContext(config.aiContextSnippets ?? defaultAiContextSnippets),
19
- );
20
- };
21
-
22
- const createAiContextCommand = (process: NodeJS.Process) =>
23
- buildCommand({
24
- func: (flags: AiContextFlags) => printAiContext(flags, process),
25
- parameters: {
26
- aliases: { c: "config" },
27
- flags: {
28
- config: {
29
- brief: "Configuration file",
30
- default: getDefaultConfigPath(),
31
- kind: "parsed",
32
- parse: String,
33
- placeholder: "path",
34
- },
35
- },
36
- },
37
- docs: { brief: "Print the configured Overmux AI context" },
38
- });
39
-
40
- export const createAiRoute = (process: NodeJS.Process) =>
41
- buildRouteMap({
42
- docs: { brief: "Print Overmux AI context" },
43
- routes: { context: createAiContextCommand(process) },
44
- });