kaizenai 0.1.3 → 0.1.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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/kaizenai.svg?style=flat&colorA=18181b&colorB=f472b6)](https://www.npmjs.com/package/kaizenai)
4
4
 
5
- Local web UI for Claude Code, Codex, Gemini, and Cursor.
5
+ Local first, browser based PDE (Product Development Environment) useClaude Code, Codex, Gemini, and Cursor on any browser. Pair this with Tailscale to have your development machine in any browser in the world.
6
6
 
7
7
  ## Quickstart
8
8
 
package/bin/kaizen CHANGED
@@ -1,15 +1,40 @@
1
- #!/usr/bin/env sh
1
+ #!/usr/bin/env node
2
2
 
3
- if ! command -v bun >/dev/null 2>&1; then
4
- echo "Kaizen requires Bun 1.3.5+ to run." >&2
5
- echo "Install Bun from https://bun.sh and then retry." >&2
6
- exit 1
7
- fi
3
+ import { realpathSync } from "node:fs"
4
+ import path from "node:path"
5
+ import process from "node:process"
6
+ import { spawn } from "node:child_process"
7
+ import { fileURLToPath } from "node:url"
8
8
 
9
- SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
9
+ function failBunMissing() {
10
+ console.error("Kaizen requires Bun 1.3.5+ to run.")
11
+ console.error("Install Bun from https://bun.sh and then retry.")
12
+ process.exit(1)
13
+ }
10
14
 
11
- if [ "${KAIZEN_CLI_MODE:-}" = "child" ]; then
12
- exec bun "$SCRIPT_DIR/src/server/cli.ts" "$@"
13
- else
14
- exec bun "$SCRIPT_DIR/src/server/cli-supervisor.ts" "$@"
15
- fi
15
+ const binPath = realpathSync(fileURLToPath(import.meta.url))
16
+ const packageRoot = path.dirname(path.dirname(binPath))
17
+ const entrypoint = process.env.KAIZEN_CLI_MODE === "child"
18
+ ? path.join(packageRoot, "src/server/cli.ts")
19
+ : path.join(packageRoot, "src/server/cli-supervisor.ts")
20
+
21
+ const child = spawn("bun", [entrypoint, ...process.argv.slice(2)], {
22
+ stdio: "inherit",
23
+ env: process.env,
24
+ })
25
+
26
+ child.on("error", (error) => {
27
+ if (error && typeof error === "object" && "code" in error && error.code === "ENOENT") {
28
+ failBunMissing()
29
+ return
30
+ }
31
+ throw error
32
+ })
33
+
34
+ child.on("exit", (code, signal) => {
35
+ if (signal) {
36
+ process.kill(process.pid, signal)
37
+ return
38
+ }
39
+ process.exit(code ?? 1)
40
+ })
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="131" zoomAndPan="magnify" viewBox="0 0 98.25 110.999996" height="148" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><clipPath id="a6434bcabb"><path d="M 4.949219 2.914062 L 23.035156 2.914062 L 23.035156 66.925781 L 4.949219 66.925781 Z M 4.949219 2.914062 " clip-rule="nonzero"/></clipPath><clipPath id="f38a174fbe"><path d="M 6.4375 2.914062 L 21.546875 2.914062 C 22.371094 2.914062 23.035156 3.582031 23.035156 4.402344 L 23.035156 65.378906 C 23.035156 66.199219 22.371094 66.867188 21.546875 66.867188 L 6.4375 66.867188 C 5.617188 66.867188 4.949219 66.199219 4.949219 65.378906 L 4.949219 4.402344 C 4.949219 3.582031 5.617188 2.914062 6.4375 2.914062 Z M 6.4375 2.914062 " clip-rule="nonzero"/></clipPath><clipPath id="2f9a762088"><path d="M 0.949219 0.914062 L 19.035156 0.914062 L 19.035156 64.875 L 0.949219 64.875 Z M 0.949219 0.914062 " clip-rule="nonzero"/></clipPath><clipPath id="57da176352"><path d="M 2.4375 0.914062 L 17.546875 0.914062 C 18.371094 0.914062 19.035156 1.582031 19.035156 2.402344 L 19.035156 63.378906 C 19.035156 64.199219 18.371094 64.867188 17.546875 64.867188 L 2.4375 64.867188 C 1.617188 64.867188 0.949219 64.199219 0.949219 63.378906 L 0.949219 2.402344 C 0.949219 1.582031 1.617188 0.914062 2.4375 0.914062 Z M 2.4375 0.914062 " clip-rule="nonzero"/></clipPath><clipPath id="5f618c6616"><rect x="0" width="20" y="0" height="65"/></clipPath><clipPath id="b8b1a1fe42"><path d="M 26.238281 46.367188 L 52.355469 46.367188 L 52.355469 64.632812 L 26.238281 64.632812 Z M 26.238281 46.367188 " clip-rule="nonzero"/></clipPath><clipPath id="9c7d06bbac"><path d="M 27.726562 46.367188 L 50.835938 46.367188 C 51.660156 46.367188 52.324219 47.03125 52.324219 47.855469 L 52.324219 63.144531 C 52.324219 63.96875 51.660156 64.632812 50.835938 64.632812 L 27.726562 64.632812 C 26.902344 64.632812 26.238281 63.96875 26.238281 63.144531 L 26.238281 47.855469 C 26.238281 47.03125 26.902344 46.367188 27.726562 46.367188 Z M 27.726562 46.367188 " clip-rule="nonzero"/></clipPath><clipPath id="dd3273c87e"><path d="M 0.238281 0.367188 L 26.355469 0.367188 L 26.355469 18.632812 L 0.238281 18.632812 Z M 0.238281 0.367188 " clip-rule="nonzero"/></clipPath><clipPath id="d7d6943e7d"><path d="M 1.726562 0.367188 L 24.835938 0.367188 C 25.660156 0.367188 26.324219 1.03125 26.324219 1.855469 L 26.324219 17.144531 C 26.324219 17.96875 25.660156 18.632812 24.835938 18.632812 L 1.726562 18.632812 C 0.902344 18.632812 0.238281 17.96875 0.238281 17.144531 L 0.238281 1.855469 C 0.238281 1.03125 0.902344 0.367188 1.726562 0.367188 Z M 1.726562 0.367188 " clip-rule="nonzero"/></clipPath><clipPath id="dccb05b803"><rect x="0" width="27" y="0" height="19"/></clipPath><clipPath id="4a6dfd1cfa"><path d="M 44.101562 66.867188 L 70.21875 66.867188 L 70.21875 85.136719 L 44.101562 85.136719 Z M 44.101562 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="d68c17fb59"><path d="M 48.566406 66.867188 L 65.722656 66.867188 C 68.191406 66.867188 70.1875 68.867188 70.1875 71.332031 L 70.1875 80.671875 C 70.1875 83.136719 68.191406 85.136719 65.722656 85.136719 L 48.566406 85.136719 C 46.101562 85.136719 44.101562 83.136719 44.101562 80.671875 L 44.101562 71.332031 C 44.101562 68.867188 46.101562 66.867188 48.566406 66.867188 Z M 48.566406 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="d91aa65f6f"><path d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="7874e4c1c8"><path d="M 4.566406 0.867188 L 21.722656 0.867188 C 24.191406 0.867188 26.1875 2.867188 26.1875 5.332031 L 26.1875 14.671875 C 26.1875 17.136719 24.191406 19.136719 21.722656 19.136719 L 4.566406 19.136719 C 2.101562 19.136719 0.101562 17.136719 0.101562 14.671875 L 0.101562 5.332031 C 0.101562 2.867188 2.101562 0.867188 4.566406 0.867188 Z M 4.566406 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="9ce9990e41"><rect x="0" width="27" y="0" height="20"/></clipPath><clipPath id="5053d98786"><path d="M 44.101562 66.867188 L 70.21875 66.867188 L 70.21875 85.136719 L 44.101562 85.136719 Z M 44.101562 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="d39cc34eab"><path d="M 45.589844 66.867188 L 68.699219 66.867188 C 69.523438 66.867188 70.1875 67.535156 70.1875 68.355469 L 70.1875 83.648438 C 70.1875 84.46875 69.523438 85.136719 68.699219 85.136719 L 45.589844 85.136719 C 44.765625 85.136719 44.101562 84.46875 44.101562 83.648438 L 44.101562 68.355469 C 44.101562 67.535156 44.765625 66.867188 45.589844 66.867188 Z M 45.589844 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="7548939ec4"><path d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="e6d65400ef"><path d="M 1.589844 0.867188 L 24.699219 0.867188 C 25.523438 0.867188 26.1875 1.535156 26.1875 2.355469 L 26.1875 17.648438 C 26.1875 18.46875 25.523438 19.136719 24.699219 19.136719 L 1.589844 19.136719 C 0.765625 19.136719 0.101562 18.46875 0.101562 17.648438 L 0.101562 2.355469 C 0.101562 1.535156 0.765625 0.867188 1.589844 0.867188 Z M 1.589844 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="b8a14b9041"><rect x="0" width="27" y="0" height="20"/></clipPath><clipPath id="0e9cc5dcf0"><path d="M 61.667969 87.371094 L 87.785156 87.371094 L 87.785156 105.640625 L 61.667969 105.640625 Z M 61.667969 87.371094 " clip-rule="nonzero"/></clipPath><clipPath id="9aadc974f5"><path d="M 63.15625 87.371094 L 86.265625 87.371094 C 87.089844 87.371094 87.753906 88.035156 87.753906 88.859375 L 87.753906 104.152344 C 87.753906 104.972656 87.089844 105.640625 86.265625 105.640625 L 63.15625 105.640625 C 62.332031 105.640625 61.667969 104.972656 61.667969 104.152344 L 61.667969 88.859375 C 61.667969 88.035156 62.332031 87.371094 63.15625 87.371094 Z M 63.15625 87.371094 " clip-rule="nonzero"/></clipPath><clipPath id="08901b7c70"><path d="M 0.667969 0.371094 L 26.785156 0.371094 L 26.785156 18.640625 L 0.667969 18.640625 Z M 0.667969 0.371094 " clip-rule="nonzero"/></clipPath><clipPath id="17b30e43d9"><path d="M 2.15625 0.371094 L 25.265625 0.371094 C 26.089844 0.371094 26.753906 1.035156 26.753906 1.859375 L 26.753906 17.152344 C 26.753906 17.972656 26.089844 18.640625 25.265625 18.640625 L 2.15625 18.640625 C 1.332031 18.640625 0.667969 17.972656 0.667969 17.152344 L 0.667969 1.859375 C 0.667969 1.035156 1.332031 0.371094 2.15625 0.371094 Z M 2.15625 0.371094 " clip-rule="nonzero"/></clipPath><clipPath id="191fb42ae4"><rect x="0" width="27" y="0" height="19"/></clipPath><clipPath id="30d9207845"><path d="M 4.949219 60.460938 L 23.035156 60.460938 L 23.035156 100.828125 L 4.949219 100.828125 Z M 4.949219 60.460938 " clip-rule="nonzero"/></clipPath><clipPath id="52d8b1d0c8"><path d="M 0.949219 0.460938 L 19.035156 0.460938 L 19.035156 40.828125 L 0.949219 40.828125 Z M 0.949219 0.460938 " clip-rule="nonzero"/></clipPath><clipPath id="82dec45cec"><rect x="0" width="20" y="0" height="41"/></clipPath><clipPath id="9b56f823bb"><path d="M 4.949219 66.867188 L 23.035156 66.867188 L 23.035156 107.28125 L 4.949219 107.28125 Z M 4.949219 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="64a8e0ecf4"><path d="M 6.4375 66.867188 L 21.546875 66.867188 C 22.371094 66.867188 23.035156 67.535156 23.035156 68.355469 L 23.035156 105.75 C 23.035156 106.570312 22.371094 107.238281 21.546875 107.238281 L 6.4375 107.238281 C 5.617188 107.238281 4.949219 106.570312 4.949219 105.75 L 4.949219 68.355469 C 4.949219 67.535156 5.617188 66.867188 6.4375 66.867188 Z M 6.4375 66.867188 " clip-rule="nonzero"/></clipPath><clipPath id="e46f782b3b"><path d="M 0.949219 0.867188 L 19.035156 0.867188 L 19.035156 41.28125 L 0.949219 41.28125 Z M 0.949219 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="2d24d09008"><path d="M 2.4375 0.867188 L 17.546875 0.867188 C 18.371094 0.867188 19.035156 1.535156 19.035156 2.355469 L 19.035156 39.75 C 19.035156 40.570312 18.371094 41.238281 17.546875 41.238281 L 2.4375 41.238281 C 1.617188 41.238281 0.949219 40.570312 0.949219 39.75 L 0.949219 2.355469 C 0.949219 1.535156 1.617188 0.867188 2.4375 0.867188 Z M 2.4375 0.867188 " clip-rule="nonzero"/></clipPath><clipPath id="c16e5f8d8b"><rect x="0" width="20" y="0" height="42"/></clipPath><clipPath id="67ec189edb"><path d="M 44.101562 25.863281 L 70.21875 25.863281 L 70.21875 44.132812 L 44.101562 44.132812 Z M 44.101562 25.863281 " clip-rule="nonzero"/></clipPath><clipPath id="9e2c9eb0c8"><path d="M 45.589844 25.863281 L 68.699219 25.863281 C 69.523438 25.863281 70.1875 26.53125 70.1875 27.351562 L 70.1875 42.644531 C 70.1875 43.464844 69.523438 44.132812 68.699219 44.132812 L 45.589844 44.132812 C 44.765625 44.132812 44.101562 43.464844 44.101562 42.644531 L 44.101562 27.351562 C 44.101562 26.53125 44.765625 25.863281 45.589844 25.863281 Z M 45.589844 25.863281 " clip-rule="nonzero"/></clipPath><clipPath id="cfc84f52c9"><path d="M 0.101562 0.863281 L 26.21875 0.863281 L 26.21875 19.132812 L 0.101562 19.132812 Z M 0.101562 0.863281 " clip-rule="nonzero"/></clipPath><clipPath id="fc947c88aa"><path d="M 1.589844 0.863281 L 24.699219 0.863281 C 25.523438 0.863281 26.1875 1.53125 26.1875 2.351562 L 26.1875 17.644531 C 26.1875 18.464844 25.523438 19.132812 24.699219 19.132812 L 1.589844 19.132812 C 0.765625 19.132812 0.101562 18.464844 0.101562 17.644531 L 0.101562 2.351562 C 0.101562 1.53125 0.765625 0.863281 1.589844 0.863281 Z M 1.589844 0.863281 " clip-rule="nonzero"/></clipPath><clipPath id="18b158d824"><rect x="0" width="27" y="0" height="20"/></clipPath><clipPath id="8b52c897d1"><path d="M 61.667969 5.359375 L 87.785156 5.359375 L 87.785156 23.628906 L 61.667969 23.628906 Z M 61.667969 5.359375 " clip-rule="nonzero"/></clipPath><clipPath id="a669865345"><path d="M 63.15625 5.359375 L 86.265625 5.359375 C 87.089844 5.359375 87.753906 6.027344 87.753906 6.847656 L 87.753906 22.140625 C 87.753906 22.964844 87.089844 23.628906 86.265625 23.628906 L 63.15625 23.628906 C 62.332031 23.628906 61.667969 22.964844 61.667969 22.140625 L 61.667969 6.847656 C 61.667969 6.027344 62.332031 5.359375 63.15625 5.359375 Z M 63.15625 5.359375 " clip-rule="nonzero"/></clipPath><clipPath id="20a0ea2a1b"><path d="M 0.667969 0.359375 L 26.785156 0.359375 L 26.785156 18.628906 L 0.667969 18.628906 Z M 0.667969 0.359375 " clip-rule="nonzero"/></clipPath><clipPath id="ffec020ed9"><path d="M 2.15625 0.359375 L 25.265625 0.359375 C 26.089844 0.359375 26.753906 1.027344 26.753906 1.847656 L 26.753906 17.140625 C 26.753906 17.964844 26.089844 18.628906 25.265625 18.628906 L 2.15625 18.628906 C 1.332031 18.628906 0.667969 17.964844 0.667969 17.140625 L 0.667969 1.847656 C 0.667969 1.027344 1.332031 0.359375 2.15625 0.359375 Z M 2.15625 0.359375 " clip-rule="nonzero"/></clipPath><clipPath id="926de771c0"><rect x="0" width="27" y="0" height="19"/></clipPath></defs><g clip-path="url(#a6434bcabb)"><g clip-path="url(#f38a174fbe)"><g transform="matrix(1, 0, 0, 1, 4, 2)"><g clip-path="url(#5f618c6616)"><g clip-path="url(#2f9a762088)"><g clip-path="url(#57da176352)"><path fill="#84bcb8" d="M 0.949219 0.914062 L 19.035156 0.914062 L 19.035156 64.855469 L 0.949219 64.855469 Z M 0.949219 0.914062 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#b8b1a1fe42)"><g clip-path="url(#9c7d06bbac)"><g transform="matrix(1, 0, 0, 1, 26, 46)"><g clip-path="url(#dccb05b803)"><g clip-path="url(#dd3273c87e)"><g clip-path="url(#d7d6943e7d)"><path fill="#84bcb8" d="M 0.238281 0.367188 L 26.355469 0.367188 L 26.355469 18.632812 L 0.238281 18.632812 Z M 0.238281 0.367188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#4a6dfd1cfa)"><g clip-path="url(#d68c17fb59)"><g transform="matrix(1, 0, 0, 1, 44, 66)"><g clip-path="url(#9ce9990e41)"><g clip-path="url(#d91aa65f6f)"><g clip-path="url(#7874e4c1c8)"><path fill="#84bcb8" d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#5053d98786)"><g clip-path="url(#d39cc34eab)"><g transform="matrix(1, 0, 0, 1, 44, 66)"><g clip-path="url(#b8a14b9041)"><g clip-path="url(#7548939ec4)"><g clip-path="url(#e6d65400ef)"><path fill="#4a7870" d="M 0.101562 0.867188 L 26.21875 0.867188 L 26.21875 19.136719 L 0.101562 19.136719 Z M 0.101562 0.867188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#0e9cc5dcf0)"><g clip-path="url(#9aadc974f5)"><g transform="matrix(1, 0, 0, 1, 61, 87)"><g clip-path="url(#191fb42ae4)"><g clip-path="url(#08901b7c70)"><g clip-path="url(#17b30e43d9)"><path fill="#4a7870" d="M 0.667969 0.371094 L 26.785156 0.371094 L 26.785156 18.640625 L 0.667969 18.640625 Z M 0.667969 0.371094 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#30d9207845)"><g transform="matrix(1, 0, 0, 1, 4, 60)"><g clip-path="url(#82dec45cec)"><g clip-path="url(#52d8b1d0c8)"><path fill="#4a7870" d="M 0.949219 0.460938 L 19.035156 0.460938 L 19.035156 40.800781 L 0.949219 40.800781 Z M 0.949219 0.460938 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g><g clip-path="url(#9b56f823bb)"><g clip-path="url(#64a8e0ecf4)"><g transform="matrix(1, 0, 0, 1, 4, 66)"><g clip-path="url(#c16e5f8d8b)"><g clip-path="url(#e46f782b3b)"><g clip-path="url(#2d24d09008)"><path fill="#4a7870" d="M 0.949219 0.867188 L 19.035156 0.867188 L 19.035156 41.210938 L 0.949219 41.210938 Z M 0.949219 0.867188 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#67ec189edb)"><g clip-path="url(#9e2c9eb0c8)"><g transform="matrix(1, 0, 0, 1, 44, 25)"><g clip-path="url(#18b158d824)"><g clip-path="url(#cfc84f52c9)"><g clip-path="url(#fc947c88aa)"><path fill="#84bcb8" d="M 0.101562 0.863281 L 26.21875 0.863281 L 26.21875 19.132812 L 0.101562 19.132812 Z M 0.101562 0.863281 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g><g clip-path="url(#8b52c897d1)"><g clip-path="url(#a669865345)"><g transform="matrix(1, 0, 0, 1, 61, 5)"><g clip-path="url(#926de771c0)"><g clip-path="url(#20a0ea2a1b)"><g clip-path="url(#ffec020ed9)"><path fill="#84bcb8" d="M 0.667969 0.359375 L 26.785156 0.359375 L 26.785156 18.628906 L 0.667969 18.628906 Z M 0.667969 0.359375 " fill-opacity="1" fill-rule="nonzero"/></g></g></g></g></g></g></svg>
Binary file