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.
- package/CHANGELOG.md +44 -0
- package/README.md +2 -2
- package/dist/auth/.vite/manifest.json +2 -2
- package/dist/auth/assets/{index-Bx8JhwVi.css → index-BM9gETvx.css} +1 -1
- package/dist/auth/assets/{index-CHIE7qYj.js → index-DabAfcs1.js} +1 -1
- package/dist/auth/index.html +2 -2
- package/dist/bin.js +219 -126
- package/dist/bin.js.map +1 -1
- package/dist/docs/000-index.md +2 -4
- package/dist/docs/100-introduction/200-how-overmux-works.md +126 -2
- package/{docs/100-introduction/300-why-overmux.md → dist/docs/100-introduction/300-why-i-built-overmux.md} +1 -1
- package/dist/docs/200-getting-started/100-install-and-run-overmux.md +2 -2
- package/dist/docs/200-getting-started/400-secure-with-https/200-tailscale-serve.md +3 -3
- package/dist/docs/200-getting-started/400-secure-with-https/300-cloudflare-tunnel.md +2 -2
- package/dist/docs/200-getting-started/400-secure-with-https/400-self-hosted-reverse-proxy.md +2 -2
- package/dist/docs/400-reference/100-project-structure.md +83 -0
- package/dist/docs/400-reference/200-configuration.md +257 -0
- package/dist/docs/400-reference/300-storage-locations.md +46 -0
- package/dist/docs/400-reference/400-authentication-and-security.md +37 -0
- package/dist/docs/400-reference/500-server/000-index.md +13 -0
- package/dist/docs/400-reference/500-server/100-resources.md +191 -0
- package/dist/docs/400-reference/500-server/200-operations.md +111 -0
- package/dist/docs/400-reference/500-server/300-streams.md +140 -0
- package/dist/docs/400-reference/500-server/400-notifications.md +32 -0
- package/dist/docs/400-reference/500-server/500-api.md +118 -0
- package/dist/docs/400-reference/600-client/000-index.md +9 -0
- package/dist/docs/400-reference/600-client/100-api.md +370 -0
- package/dist/docs/400-reference/600-client/200-theming.md +94 -0
- package/dist/docs/400-reference/600-client/300-tech-stack-recommendations.md +12 -0
- package/{docs/400-reference/400-cli → dist/docs/400-reference/700-cli}/050-init.md +2 -4
- package/dist/docs/400-reference/{400-cli → 700-cli}/100-serve.md +9 -4
- package/{docs/400-reference/400-cli → dist/docs/400-reference/700-cli}/200-auth.md +1 -4
- package/{docs/400-reference/400-cli → dist/docs/400-reference/700-cli}/300-call.md +1 -4
- package/dist/docs/400-reference/700-cli/350-instance.md +21 -0
- package/dist/docs/400-reference/700-cli/600-docs.md +128 -0
- package/{docs/400-reference/400-cli → dist/docs/400-reference/700-cli}/700-desktop.md +1 -3
- package/dist/docs/500-hosted-pages.md +0 -1
- package/dist/exports/client.d.ts +19 -15
- package/dist/exports/client.d.ts.map +1 -1
- package/dist/exports/client.js +240 -58
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/{index-D3_Dpy_T.d.ts → index-Cz3xkCa4.d.ts} +62 -36
- package/dist/exports/index-Cz3xkCa4.d.ts.map +1 -0
- package/dist/exports/index.d.ts +2 -2
- package/dist/exports/index.js +19 -5
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/{notifications-kDp16bU_.js → notifications-BFAD3QQl.js} +34 -4
- package/dist/exports/notifications-BFAD3QQl.js.map +1 -0
- package/dist/exports/server.d.ts +1 -44
- package/dist/exports/server.d.ts.map +1 -1
- package/dist/exports/server.js +8 -1018
- package/dist/exports/server.js.map +1 -1
- package/dist/internal/server/coordinator/server-child.js +153 -85
- package/dist/internal/server/coordinator/server-child.js.map +1 -1
- package/docs/000-index.md +2 -4
- package/docs/100-introduction/200-how-overmux-works.md +126 -2
- package/{dist/docs/100-introduction/300-why-overmux.md → docs/100-introduction/300-why-i-built-overmux.md} +1 -1
- package/docs/200-getting-started/100-install-and-run-overmux.md +2 -2
- package/docs/200-getting-started/400-secure-with-https/200-tailscale-serve.md +3 -3
- package/docs/200-getting-started/400-secure-with-https/300-cloudflare-tunnel.md +2 -2
- package/docs/200-getting-started/400-secure-with-https/400-self-hosted-reverse-proxy.md +2 -2
- package/docs/400-reference/100-project-structure.md +83 -0
- package/docs/400-reference/200-configuration.md +257 -0
- package/docs/400-reference/300-storage-locations.md +46 -0
- package/docs/400-reference/400-authentication-and-security.md +37 -0
- package/docs/400-reference/500-server/000-index.md +13 -0
- package/docs/400-reference/500-server/100-resources.md +191 -0
- package/docs/400-reference/500-server/200-operations.md +111 -0
- package/docs/400-reference/500-server/300-streams.md +140 -0
- package/docs/400-reference/500-server/400-notifications.md +32 -0
- package/docs/400-reference/500-server/500-api.md +118 -0
- package/docs/400-reference/600-client/000-index.md +9 -0
- package/docs/400-reference/600-client/100-api.md +370 -0
- package/docs/400-reference/600-client/200-theming.md +94 -0
- package/docs/400-reference/600-client/300-tech-stack-recommendations.md +12 -0
- package/{dist/docs/400-reference/400-cli → docs/400-reference/700-cli}/050-init.md +2 -4
- package/docs/400-reference/{400-cli → 700-cli}/100-serve.md +9 -4
- package/{dist/docs/400-reference/400-cli → docs/400-reference/700-cli}/200-auth.md +1 -4
- package/{dist/docs/400-reference/400-cli → docs/400-reference/700-cli}/300-call.md +1 -4
- package/docs/400-reference/700-cli/350-instance.md +21 -0
- package/docs/400-reference/700-cli/600-docs.md +128 -0
- package/{dist/docs/400-reference/400-cli → docs/400-reference/700-cli}/700-desktop.md +1 -3
- package/docs/500-hosted-pages.md +0 -1
- package/package.json +3 -2
- package/src/internal/cli/app.ts +5 -5
- package/src/internal/cli/commands/docs-ai-context.ts +33 -0
- package/src/internal/cli/commands/docs.ts +19 -2
- package/src/internal/cli/commands/init-template.ts +1 -1
- package/src/internal/cli/commands/instance.ts +58 -0
- package/src/internal/cli/commands/serve.ts +3 -0
- package/src/internal/cli/login.ts +9 -9
- package/src/internal/cli/parse-port.ts +2 -1
- package/src/internal/client/auth/auth-shell.css +17 -1
- package/src/internal/client/auth/auth-shell.tsx +2 -11
- package/src/internal/client/auth/login-code-input.tsx +140 -0
- package/src/internal/client/browser-api.ts +17 -3
- package/src/internal/client/client-definition.ts +6 -8
- package/src/internal/client/host/deep-link-navigation.ts +75 -0
- package/src/internal/client/host/desktop-host.ts +3 -0
- package/src/internal/client/host/environment.ts +67 -0
- package/src/internal/client/host/instance-forwarding.ts +21 -0
- package/src/internal/client/host/overmux-host.tsx +17 -0
- package/src/internal/client/index.ts +0 -6
- package/src/internal/client/overmux-react.ts +95 -42
- package/src/internal/client/websocket.ts +32 -12
- package/src/internal/server/auth/auth-service.ts +2 -2
- package/src/internal/server/auth/instance-control.ts +89 -17
- package/src/internal/server/coordinator/ipc-protocol.ts +0 -1
- package/src/internal/server/runtime/create-runtime.ts +15 -2
- package/src/internal/server/runtime/runtime-instance.ts +47 -0
- package/src/internal/server/runtime/runtime-operations.ts +9 -3
- package/src/internal/server/runtime/runtime-resources.ts +15 -32
- package/src/internal/server/runtime/runtime-streams.ts +5 -6
- package/src/internal/server/server-logger.ts +5 -10
- package/src/internal/server/server-startup-options.ts +14 -14
- package/src/internal/server/start-application-server.ts +24 -19
- package/src/internal/server/websocket-server.ts +7 -0
- package/src/internal/shared/index.ts +2 -0
- package/src/internal/shared/protocol.ts +10 -1
- package/src/public/ai-context.ts +7 -29
- package/src/public/client.ts +1 -6
- package/src/public/config.ts +163 -31
- package/src/public/index.ts +2 -0
- package/src/public/server.ts +1 -16
- package/dist/docs/100-introduction/100-what-is-overmux.md +0 -7
- package/dist/docs/300-fundamentals/100-project-structure.md +0 -23
- package/dist/docs/300-fundamentals/200-configuration.md +0 -3
- package/dist/docs/300-fundamentals/300-theming.md +0 -3
- package/dist/docs/300-fundamentals/400-server.md +0 -3
- package/dist/docs/300-fundamentals/500-client.md +0 -3
- package/dist/docs/300-fundamentals/600-operations.md +0 -3
- package/dist/docs/300-fundamentals/700-resources.md +0 -3
- package/dist/docs/300-fundamentals/800-streams.md +0 -3
- package/dist/docs/300-fundamentals/900-authentication-and-security.md +0 -3
- package/dist/docs/400-reference/100-configuration.md +0 -3
- package/dist/docs/400-reference/200-server-api.md +0 -3
- package/dist/docs/400-reference/300-client-api.md +0 -20
- package/dist/docs/400-reference/400-cli/400-check.md +0 -20
- package/dist/docs/400-reference/400-cli/500-ai-context.md +0 -102
- package/dist/docs/400-reference/400-cli/600-docs.md +0 -23
- package/dist/exports/index-D3_Dpy_T.d.ts.map +0 -1
- package/dist/exports/notifications-kDp16bU_.js.map +0 -1
- package/docs/100-introduction/100-what-is-overmux.md +0 -7
- package/docs/300-fundamentals/100-project-structure.md +0 -23
- package/docs/300-fundamentals/200-configuration.md +0 -3
- package/docs/300-fundamentals/300-theming.md +0 -3
- package/docs/300-fundamentals/400-server.md +0 -3
- package/docs/300-fundamentals/500-client.md +0 -3
- package/docs/300-fundamentals/600-operations.md +0 -3
- package/docs/300-fundamentals/700-resources.md +0 -3
- package/docs/300-fundamentals/800-streams.md +0 -3
- package/docs/300-fundamentals/900-authentication-and-security.md +0 -3
- package/docs/400-reference/100-configuration.md +0 -3
- package/docs/400-reference/200-server-api.md +0 -3
- package/docs/400-reference/300-client-api.md +0 -20
- package/docs/400-reference/400-cli/400-check.md +0 -20
- package/docs/400-reference/400-cli/500-ai-context.md +0 -102
- package/docs/400-reference/400-cli/600-docs.md +0 -23
- 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,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,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
|
-
});
|