@linzumi/cli 0.0.9-beta → 0.0.11-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.
Files changed (3) hide show
  1. package/README.md +71 -47
  2. package/package.json +2 -2
  3. package/src/index.ts +2 -2
package/README.md CHANGED
@@ -1,64 +1,86 @@
1
1
  # Linzumi CLI
2
2
 
3
- Connect your computer to Kandan so you can run Codex locally from the browser.
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 gives Kandan a secure, authenticated bridge to your own machine. You
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
- ## Copy And Paste
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
- Use a Chromium-based browser such as Chrome, Edge, Arc, or Brave.
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 && linzumi start ~/code
23
+ npm install -g @linzumi/cli@beta
24
+ linzumi start ~/code/my-app
16
25
  ```
17
26
 
18
- To pin this exact beta:
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 install -g @linzumi/cli@0.0.9-beta && linzumi start ~/code
36
+ npm run dev
22
37
  ```
23
38
 
24
- Use a different folder if your projects live somewhere else:
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 && linzumi start ~/work/my-app
46
+ npm install -g @linzumi/cli@0.0.11-beta
47
+ linzumi start ~/code/my-app
28
48
  ```
29
49
 
30
- That command opens Kandan, walks you through signup or sign-in, connects this
31
- computer, and lets Kandan start Codex against the folder you chose.
50
+ ## What You Get
32
51
 
33
- ## What You Can Do
52
+ Linzumi turns your local project into a shared coding workspace:
34
53
 
35
- After `linzumi start` is connected, try this from Kandan:
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
- 1. Start a Codex session.
38
- 2. Ask Codex to inspect or edit a file in the folder you allowed.
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
- The editor and previews open on Kandan HTTPS URLs. They should not expose
44
- `localhost` URLs to the browser.
63
+ ## What Runs Where
45
64
 
46
- ## What Linzumi Runs Locally
65
+ On your computer, the CLI starts a runner. The runner can:
47
66
 
48
- The CLI starts a local runner process on your computer. That runner:
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
- - launches or connects to Codex locally
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
- Kandan remains the control plane. Browser traffic terminates at Kandan first,
57
- where auth, grants, and allowed-port policy are enforced before traffic is sent
58
- through the runner tunnel.
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
- In the local-service hop, `127.0.0.1` means your computer, not the Kandan
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
- Start from a real project:
135
+ Ask Codex to map the project:
114
136
 
115
- ```bash
116
- linzumi start ~/code/my-app
137
+ ```text
138
+ What does this app do? Where should I start reading?
117
139
  ```
118
140
 
119
- Then in Kandan:
141
+ Ask Codex to make a small change:
120
142
 
121
143
  ```text
122
- Summarize this repository and tell me how to run it locally.
144
+ Find the main settings page and add a clear empty state.
123
145
  ```
124
146
 
125
- If your app starts a dev server:
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
- Open the detected forwarded port from Kandan. If a port is not auto-detected,
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 shared editor test, invite another user, open the local editor, and edit
139
- the same file. Chromium should show remote cursor labels and selections.
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.9-beta
250
+ linzumi 0.0.11-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.9-beta",
3
+ "version": "0.0.11-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\nConnect your computer to Kandan so you can run Codex locally from the browser.\n\nLinzumi gives Kandan a secure, authenticated bridge to your own machine. You\nkeep the code, shells, editors, and preview servers local. Kandan gives you the\nweb UI, sharing controls, HTTPS editor access, forwarded previews, and Codex\nsession orchestration.\n\n## Copy And Paste\n\nUse a Chromium-based browser such as Chrome, Edge, Arc, or Brave.\n\n```bash\nnpm install -g @linzumi/cli@beta && linzumi start ~/code\n```\n\nTo pin this exact beta:\n\n```bash\nnpm install -g @linzumi/cli@0.0.9-beta && linzumi start ~/code\n```\n\nUse a different folder if your projects live somewhere else:\n\n```bash\nnpm install -g @linzumi/cli@beta && linzumi start ~/work/my-app\n```\n\nThat command opens Kandan, walks you through signup or sign-in, connects this\ncomputer, and lets Kandan start Codex against the folder you chose.\n\n## What You Can Do\n\nAfter `linzumi start` is connected, try this from Kandan:\n\n1. Start a Codex session.\n2. Ask Codex to inspect or edit a file in the folder you allowed.\n3. Open the local editor from Kandan.\n4. Start a dev server locally, then open its forwarded preview from Kandan.\n5. Share editor or preview access with another user.\n\nThe editor and previews open on Kandan HTTPS URLs. They should not expose\n`localhost` URLs to the browser.\n\n## What Linzumi Runs Locally\n\nThe CLI starts a local runner process on your computer. That runner:\n\n- launches or connects to Codex locally\n- downloads the Kandan-approved editor runtime when needed\n- starts code-server for the allowed folder\n- exposes only explicitly approved local ports through Kandan\n- keeps Kandan auth cookies and bearer tokens away from local services\n\nKandan remains the control plane. Browser traffic terminates at Kandan first,\nwhere auth, grants, and allowed-port policy are enforced before traffic is sent\nthrough the runner tunnel.\n\nIn the local-service hop, `127.0.0.1` means your computer, not the Kandan\nserver.\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\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\nStart from a real project:\n\n```bash\nlinzumi start ~/code/my-app\n```\n\nThen in Kandan:\n\n```text\nSummarize this repository and tell me how to run it locally.\n```\n\nIf your app starts a dev server:\n\n```bash\nnpm run dev\n```\n\nOpen the detected forwarded port from Kandan. If a port is not auto-detected,\nrestart with an explicit approved port:\n\n```bash\nlinzumi start ~/code/my-app --forward-port 3000\n```\n\nFor a shared editor test, invite another user, open the local editor, and edit\nthe same file. Chromium should show remote cursor labels and selections.\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.9-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."
32
+ "readmeFilename": "README.md"
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.9-beta\n");
104
+ process.stdout.write("linzumi 0.0.11-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.9-beta\n");
350
+ process.stdout.write("linzumi 0.0.11-beta\n");
351
351
  process.exit(0);
352
352
  }
353
353