@linzumi/cli 0.0.9-beta → 0.0.10-beta
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/README.md +71 -47
- package/package.json +2 -2
- package/src/index.ts +2 -2
package/README.md
CHANGED
|
@@ -1,64 +1,86 @@
|
|
|
1
1
|
# Linzumi CLI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Run an AI coding session on the code that is already on your computer, then
|
|
4
|
+
open the editor and app preview from a shared browser workspace.
|
|
4
5
|
|
|
5
|
-
Linzumi
|
|
6
|
-
keep the code, shells, editors, and preview servers local. Kandan gives you the
|
|
7
|
-
web UI, sharing controls, HTTPS editor access, forwarded previews, and Codex
|
|
8
|
-
session orchestration.
|
|
6
|
+
Linzumi is for the common team workflow that is still too painful:
|
|
9
7
|
|
|
10
|
-
|
|
8
|
+
- your branch is only on your laptop
|
|
9
|
+
- your app only runs with your local setup, secrets, database, or devices
|
|
10
|
+
- you want an AI agent to read, edit, run, and explain that code
|
|
11
|
+
- you want a teammate to see the editor or preview without cloning the repo
|
|
12
|
+
- you do not want to move the project into a cloud VM just to collaborate
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
The CLI connects your machine to Kandan, Linzumi's shared browser workspace.
|
|
15
|
+
Your code, terminal commands, dev servers, and editor runtime stay local. Kandan
|
|
16
|
+
handles sign-in, sharing, HTTPS browser access, and permission checks.
|
|
17
|
+
|
|
18
|
+
## Try It
|
|
19
|
+
|
|
20
|
+
Use Chrome, Edge, Arc, Brave, or another Chromium-based browser.
|
|
13
21
|
|
|
14
22
|
```bash
|
|
15
|
-
npm install -g @linzumi/cli@beta
|
|
23
|
+
npm install -g @linzumi/cli@beta
|
|
24
|
+
linzumi start ~/code/my-app
|
|
16
25
|
```
|
|
17
26
|
|
|
18
|
-
|
|
27
|
+
Then in the browser:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
Explain this project, open the editor, and tell me how to run it.
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
If the project has a dev server, start it locally:
|
|
19
34
|
|
|
20
35
|
```bash
|
|
21
|
-
npm
|
|
36
|
+
npm run dev
|
|
22
37
|
```
|
|
23
38
|
|
|
24
|
-
|
|
39
|
+
Open the forwarded preview from Kandan. You should get a normal HTTPS URL that
|
|
40
|
+
you can share with an approved teammate, without exposing a raw `localhost`
|
|
41
|
+
address.
|
|
42
|
+
|
|
43
|
+
To pin this exact beta:
|
|
25
44
|
|
|
26
45
|
```bash
|
|
27
|
-
npm install -g @linzumi/cli@beta
|
|
46
|
+
npm install -g @linzumi/cli@0.0.10-beta
|
|
47
|
+
linzumi start ~/code/my-app
|
|
28
48
|
```
|
|
29
49
|
|
|
30
|
-
|
|
31
|
-
computer, and lets Kandan start Codex against the folder you chose.
|
|
50
|
+
## What You Get
|
|
32
51
|
|
|
33
|
-
|
|
52
|
+
Linzumi turns your local project into a shared coding workspace:
|
|
34
53
|
|
|
35
|
-
|
|
54
|
+
1. Codex can inspect and edit the folder you allowed.
|
|
55
|
+
2. You can open a browser editor for that local folder.
|
|
56
|
+
3. Local app previews are reachable through Kandan HTTPS URLs.
|
|
57
|
+
4. Approved teammates can join the editor or preview.
|
|
58
|
+
5. Kandan enforces auth, sharing grants, and allowed-port policy.
|
|
36
59
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
3. Open the local editor from Kandan.
|
|
40
|
-
4. Start a dev server locally, then open its forwarded preview from Kandan.
|
|
41
|
-
5. Share editor or preview access with another user.
|
|
60
|
+
The important part: your project does not have to leave your computer for this
|
|
61
|
+
to work.
|
|
42
62
|
|
|
43
|
-
|
|
44
|
-
`localhost` URLs to the browser.
|
|
63
|
+
## What Runs Where
|
|
45
64
|
|
|
46
|
-
|
|
65
|
+
On your computer, the CLI starts a runner. The runner can:
|
|
47
66
|
|
|
48
|
-
|
|
67
|
+
- launch or connect to Codex
|
|
68
|
+
- download the Kandan-approved editor runtime
|
|
69
|
+
- start code-server for the folder you chose
|
|
70
|
+
- connect to explicitly approved local ports
|
|
71
|
+
- stream editor and preview traffic through Kandan
|
|
49
72
|
|
|
50
|
-
|
|
51
|
-
- downloads the Kandan-approved editor runtime when needed
|
|
52
|
-
- starts code-server for the allowed folder
|
|
53
|
-
- exposes only explicitly approved local ports through Kandan
|
|
54
|
-
- keeps Kandan auth cookies and bearer tokens away from local services
|
|
73
|
+
In the browser, Kandan provides:
|
|
55
74
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
75
|
+
- sign-in and workspace UI
|
|
76
|
+
- local-runner status
|
|
77
|
+
- editor and preview links
|
|
78
|
+
- sharing controls
|
|
79
|
+
- HTTPS termination
|
|
80
|
+
- access checks before traffic reaches your machine
|
|
59
81
|
|
|
60
|
-
|
|
61
|
-
server.
|
|
82
|
+
When docs mention `127.0.0.1` or `localhost` on the local-service hop, that
|
|
83
|
+
means your computer, not the Kandan server.
|
|
62
84
|
|
|
63
85
|
## Requirements
|
|
64
86
|
|
|
@@ -85,7 +107,7 @@ collaboration behavior.
|
|
|
85
107
|
## First Run
|
|
86
108
|
|
|
87
109
|
```bash
|
|
88
|
-
linzumi start ~/code
|
|
110
|
+
linzumi start ~/code/my-app
|
|
89
111
|
```
|
|
90
112
|
|
|
91
113
|
What happens:
|
|
@@ -110,33 +132,35 @@ readiness after that runtime is verified locally.
|
|
|
110
132
|
|
|
111
133
|
## Good Things To Try
|
|
112
134
|
|
|
113
|
-
|
|
135
|
+
Ask Codex to map the project:
|
|
114
136
|
|
|
115
|
-
```
|
|
116
|
-
|
|
137
|
+
```text
|
|
138
|
+
What does this app do? Where should I start reading?
|
|
117
139
|
```
|
|
118
140
|
|
|
119
|
-
|
|
141
|
+
Ask Codex to make a small change:
|
|
120
142
|
|
|
121
143
|
```text
|
|
122
|
-
|
|
144
|
+
Find the main settings page and add a clear empty state.
|
|
123
145
|
```
|
|
124
146
|
|
|
125
|
-
|
|
147
|
+
Open the editor from Kandan and inspect the changed files.
|
|
148
|
+
|
|
149
|
+
Start a local dev server:
|
|
126
150
|
|
|
127
151
|
```bash
|
|
128
152
|
npm run dev
|
|
129
153
|
```
|
|
130
154
|
|
|
131
|
-
|
|
132
|
-
restart with an explicit approved port:
|
|
155
|
+
If a port is not auto-detected, restart with an explicit approved port:
|
|
133
156
|
|
|
134
157
|
```bash
|
|
135
158
|
linzumi start ~/code/my-app --forward-port 3000
|
|
136
159
|
```
|
|
137
160
|
|
|
138
|
-
For a
|
|
139
|
-
|
|
161
|
+
For a collaboration test, invite another user, open the same file in the local
|
|
162
|
+
editor, and type in Chromium. Remote cursor labels and selections should be
|
|
163
|
+
visible.
|
|
140
164
|
|
|
141
165
|
## Hosted Kandan
|
|
142
166
|
|
|
@@ -223,7 +247,7 @@ linzumi --version
|
|
|
223
247
|
Expected:
|
|
224
248
|
|
|
225
249
|
```text
|
|
226
|
-
linzumi 0.0.
|
|
250
|
+
linzumi 0.0.10-beta
|
|
227
251
|
```
|
|
228
252
|
|
|
229
253
|
If `linzumi` is not found, your global npm bin directory is not on `PATH`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@linzumi/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10-beta",
|
|
4
4
|
"description": "Connect your computer to Kandan for local Codex sessions, editors, and forwarded previews",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"node": ">=20",
|
|
30
30
|
"bun": ">=1.2.0"
|
|
31
31
|
},
|
|
32
|
-
"readme": "# Linzumi CLI\n\
|
|
32
|
+
"readme": "# Linzumi CLI\n\nRun an AI coding session on the code that is already on your computer, then\nopen the editor and app preview from a shared browser workspace.\n\nLinzumi is for the common team workflow that is still too painful:\n\n- your branch is only on your laptop\n- your app only runs with your local setup, secrets, database, or devices\n- you want an AI agent to read, edit, run, and explain that code\n- you want a teammate to see the editor or preview without cloning the repo\n- you do not want to move the project into a cloud VM just to collaborate\n\nThe CLI connects your machine to Kandan, Linzumi's shared browser workspace.\nYour code, terminal commands, dev servers, and editor runtime stay local. Kandan\nhandles sign-in, sharing, HTTPS browser access, and permission checks.\n\n## Try It\n\nUse Chrome, Edge, Arc, Brave, or another Chromium-based browser.\n\n```bash\nnpm install -g @linzumi/cli@beta\nlinzumi start ~/code/my-app\n```\n\nThen in the browser:\n\n```text\nExplain this project, open the editor, and tell me how to run it.\n```\n\nIf the project has a dev server, start it locally:\n\n```bash\nnpm run dev\n```\n\nOpen the forwarded preview from Kandan. You should get a normal HTTPS URL that\nyou can share with an approved teammate, without exposing a raw `localhost`\naddress.\n\nTo pin this exact beta:\n\n```bash\nnpm install -g @linzumi/cli@0.0.10-beta\nlinzumi start ~/code/my-app\n```\n\n## What You Get\n\nLinzumi turns your local project into a shared coding workspace:\n\n1. Codex can inspect and edit the folder you allowed.\n2. You can open a browser editor for that local folder.\n3. Local app previews are reachable through Kandan HTTPS URLs.\n4. Approved teammates can join the editor or preview.\n5. Kandan enforces auth, sharing grants, and allowed-port policy.\n\nThe important part: your project does not have to leave your computer for this\nto work.\n\n## What Runs Where\n\nOn your computer, the CLI starts a runner. The runner can:\n\n- launch or connect to Codex\n- download the Kandan-approved editor runtime\n- start code-server for the folder you chose\n- connect to explicitly approved local ports\n- stream editor and preview traffic through Kandan\n\nIn the browser, Kandan provides:\n\n- sign-in and workspace UI\n- local-runner status\n- editor and preview links\n- sharing controls\n- HTTPS termination\n- access checks before traffic reaches your machine\n\nWhen docs mention `127.0.0.1` or `localhost` on the local-service hop, that\nmeans your computer, not the Kandan server.\n\n## Requirements\n\nInstall these before running the beta:\n\n```bash\nnode --version\nnpm --version\nbun --version\ncodex --version\n```\n\nExpected:\n\n- Node.js 20 or newer\n- npm\n- Bun 1.2 or newer\n- Codex CLI\n- Chrome, Edge, Arc, Brave, or another Chromium-based browser\n\nSafari is semi-supported for now. Use Chromium for the best editor and\ncollaboration behavior.\n\n## First Run\n\n```bash\nlinzumi start ~/code/my-app\n```\n\nWhat happens:\n\n1. The CLI opens Kandan.\n2. You sign up or sign in.\n3. Kandan asks permission to connect this computer.\n4. The CLI stores a scoped local-runner token.\n5. The CLI checks Bun, Codex, and the Kandan editor runtime.\n6. Kandan shows the computer as connected.\n\nThe first editor launch can download a Kandan-approved runtime archive. Later\nruns reuse the verified runtime from:\n\n```text\n~/.linzumi/editor-runtimes\n```\n\nThe production path does not use a random local `code-server` install. Kandan\npublishes a checksummed runtime manifest, and the CLI only advertises editor\nreadiness after that runtime is verified locally.\n\n## Good Things To Try\n\nAsk Codex to map the project:\n\n```text\nWhat does this app do? Where should I start reading?\n```\n\nAsk Codex to make a small change:\n\n```text\nFind the main settings page and add a clear empty state.\n```\n\nOpen the editor from Kandan and inspect the changed files.\n\nStart a local dev server:\n\n```bash\nnpm run dev\n```\n\nIf a port is not auto-detected, restart with an explicit approved port:\n\n```bash\nlinzumi start ~/code/my-app --forward-port 3000\n```\n\nFor a collaboration test, invite another user, open the same file in the local\neditor, and type in Chromium. Remote cursor labels and selections should be\nvisible.\n\n## Hosted Kandan\n\nFor a hosted Kandan deployment, point the CLI at the hosted websocket URL:\n\n```bash\nlinzumi start ~/code/my-app --kandan-url wss://<your-kandan-host>\n```\n\nFor Render-hosted Kandan, public TLS should work without local certificate\nflags. The CLI derives the HTTPS API origin from the websocket URL for OAuth,\nruntime manifest download, and runtime archive download.\n\nFor local development with a private CA:\n\n```bash\nKANDAN_TLS_CA_FILE=/path/to/ca.crt linzumi start ~/code/my-app \\\n --kandan-url wss://linzumi.io:4140\n```\n\n## Tailscale Development\n\nIf your browser needs to reach a local Kandan server through Tailscale:\n\n```bash\nlinzumi start ~/code/my-app \\\n --kandan-url ws://100.71.192.98:4162 \\\n --oauth-callback-host 100.71.192.98\n```\n\nUse your own Tailscale IP.\n\n## Commands\n\n```bash\nlinzumi\nlinzumi --help\nlinzumi --version\nlinzumi start <folder>\nlinzumi connect --help\nlinzumi connect [runner options]\nlinzumi auth [auth options]\n```\n\nMost people should use `linzumi start`.\n\n`linzumi connect` is the lower-level command for connecting to an explicit\nworkspace and channel:\n\n```bash\nlinzumi connect \\\n --kandan-url wss://serve.kandanai.com \\\n --workspace default \\\n --channel general \\\n --cwd ~/code/my-app\n```\n\n## Useful Options\n\n```bash\n--kandan-url <ws-url> Kandan websocket URL\n--oauth-callback-host <ip> Callback host reachable by your browser\n--runner-id <id> Stable id for this computer\n--codex-bin <path> Codex executable, default codex\n--model <name> Codex model metadata shown in Kandan\n--reasoning-effort <value> Codex reasoning metadata shown in Kandan\n--fast Mark this runner as low-latency\n--forward-port <ports> Comma-separated local ports Kandan may expose\n--allowed-cwd <paths> Comma-separated roots Kandan may use\n--log-file <path> JSONL runner event log\n```\n\n`--code-server-bin` exists only as a development override. It is not the\nsupported production editor path.\n\n## Troubleshooting\n\nCheck the CLI version:\n\n```bash\nlinzumi --version\n```\n\nExpected:\n\n```text\nlinzumi 0.0.10-beta\n```\n\nIf `linzumi` is not found, your global npm bin directory is not on `PATH`.\n\nIf `bun` is not found, install Bun and rerun `linzumi start`.\n\nIf `codex` is not found, install or configure the Codex CLI, or pass\n`--codex-bin`.\n\nIf OAuth opens but does not return to the CLI, pass an\n`--oauth-callback-host` that your browser can reach.\n\nIf the editor does not become ready, do not install a local code-server package\nas a workaround. The server-managed runtime must download and verify cleanly.\nRerun the CLI and check the runner log.\n\nIf collaboration behaves oddly in Safari, retry in Chromium. Safari is currently\nsemi-supported.\n\n## For Kandan Release Engineers\n\nThe production contract is:\n\n1. Build the server-approved editor runtime archive.\n2. Publish the manifest and archive from Kandan.\n3. Publish the CLI beta.\n4. The CLI downloads only the approved runtime archive.\n5. The CLI verifies the archive SHA before advertising editor readiness.\n\nFor local package verification:\n\n```bash\nbun test\nnpm pack --dry-run\n```\n\nThe npm package must include this README, `bin/linzumi.js`, and the `src`\nruntime files."
|
|
33
33
|
}
|
package/src/index.ts
CHANGED
|
@@ -101,7 +101,7 @@ async function main(args: readonly string[]): Promise<void> {
|
|
|
101
101
|
process.stdout.write(connectGuideText());
|
|
102
102
|
return;
|
|
103
103
|
case "version":
|
|
104
|
-
process.stdout.write("linzumi 0.0.
|
|
104
|
+
process.stdout.write("linzumi 0.0.10-beta\n");
|
|
105
105
|
return;
|
|
106
106
|
case "auth":
|
|
107
107
|
await runAuthCommand(parsed.args);
|
|
@@ -347,7 +347,7 @@ export async function parseRunnerArgs(
|
|
|
347
347
|
}
|
|
348
348
|
|
|
349
349
|
if (values.get("version") === true) {
|
|
350
|
-
process.stdout.write("linzumi 0.0.
|
|
350
|
+
process.stdout.write("linzumi 0.0.10-beta\n");
|
|
351
351
|
process.exit(0);
|
|
352
352
|
}
|
|
353
353
|
|