create-zenbu-app 0.0.35 → 0.0.37

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-zenbu-app",
3
- "version": "0.0.35",
3
+ "version": "0.0.37",
4
4
  "description": "Scaffold a new Zenbu app",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -45,7 +45,7 @@
45
45
  "scripts": {
46
46
  "test:desktop": "bash scripts/test-desktop.sh",
47
47
  "build": "pnpm run build:agents && tsdown",
48
- "build:agents": "sh -c 'for d in vanilla tailwind plugin; do { printf \"# Zenbu.js docs\\n\\n\"; curl -fsSL https://zenbulabs.mintlify.app/llms-full.txt; printf \"\\n\\n# General rules\\n\\n- never use any, every api in the app is fully type safe\\n- use zen link after making changes to sync types if it did not happen automatically\\n- always use <pm> run db:generate after making a schema change otherwise it will not take affect\\n- always prefer to make db updates via the replica so that updates are instant. if you used rpc to update a replica it would serve 0 purpose and just add an extra round trip\\n- prefer one component per file\\n\"; } > templates/$d/AGENTS.md; done'",
48
+ "build:agents": "sh -c 'for d in vanilla tailwind plugin; do { printf \"# Zenbu.js docs\\n\\n\"; if [ \"$d\" = plugin ]; then printf \"# Plugin rules\\n\\n- do not add this plugin to the host config (the plugins array in zenbu.config.ts, a zenbu.local.ts overlay, or any zenbu.plugins*.jsonc manifest). build it in its own folder and leave it there. the user enables or installs it themselves when they are ready, or will ask you to. do not edit their config files on your own.\\n\\n\"; fi; curl -fsSL https://zenbulabs.mintlify.app/llms-full.txt; printf \"\\n\\n# General rules\\n\\n- never use any, every api in the app is fully type safe\\n- use zen link after making changes to sync types if it did not happen automatically\\n- always use <pm> run db:generate after making a schema change otherwise it will not take affect\\n- always prefer to make db updates via the replica so that updates are instant. if you used rpc to update a replica it would serve 0 purpose and just add an extra round trip\\n- prefer one component per file\\n\"; } > templates/$d/AGENTS.md; done'",
49
49
  "typecheck": "tsc --noEmit -p tsconfig.json"
50
50
  }
51
51
  }
@@ -1,5 +1,9 @@
1
1
  # Zenbu.js docs
2
2
 
3
+ # Plugin rules
4
+
5
+ - do not add this plugin to the host config (the plugins array in zenbu.config.ts, a zenbu.local.ts overlay, or any zenbu.plugins*.jsonc manifest). build it in its own folder and leave it there. the user enables or installs it themselves when they are ready, or will ask you to. do not edit their config files on your own.
6
+
3
7
  # Overview
4
8
  Source: https://zenbulabs.mintlify.app/api-reference/overview
5
9
 
@@ -73,6 +77,34 @@ pnpm run build:electron
73
77
  ```
74
78
 
75
79
 
80
+ # Changelog
81
+ Source: https://zenbulabs.mintlify.app/changelog/overview
82
+
83
+ New features, updates, and fixes for Zenbu.js.
84
+
85
+ <Update label="June 5, 2026">
86
+ ## Week of June 2 — desktop app v0.0.10 and `@zenbujs/core` 0.4.3
87
+
88
+ The Zenbu desktop app shipped five releases this week (v0.0.6 → v0.0.10, signed and notarized for macOS), along with `@zenbujs/core` 0.3.0 → 0.4.3, `create-zenbu-app` 0.0.36, and `create-desktop-app` 0.1.4.
89
+
90
+ ### New
91
+
92
+ * **Enable and disable plugins at runtime.** You can now turn plugins on and off without restarting the app. Injections hot-reload when a plugin's state changes, so views and patched behavior update in place. See [Plugins](/core/plugins) and [Injections](/core/injections).
93
+ * **`relaunch()` bridge on the installing screen.** Plugin installation can trigger a clean app relaunch from the install flow, so first-run setup completes without a manual restart.
94
+ * **`makeCollection` is now exported.** The collection helper is part of the public API surface for building typed groups of records on top of [state](/core/state).
95
+
96
+ ### Updates
97
+
98
+ * **Self-healing plugin clones.** If a plugin install is interrupted (network drop, force-quit, partial download), the next launch detects the broken state and finishes or re-clones the plugin automatically — no more stuck "installing" screens.
99
+ * **Plugin service internals reworked.** The data structure backing [services](/core/services) was simplified, paving the way for the enable/disable feature and reducing the work done on plugin load.
100
+
101
+ ### Fixes
102
+
103
+ * **Proxy memory leak resolved.** Long-running sessions no longer accumulate memory through the RPC proxy layer used by [RPC](/core/rpc) and [advice](/core/advice).
104
+ * **Garbage collection issues fixed.** Several plugin lifecycle objects were being retained after teardown; they are now released correctly, lowering steady-state memory use.
105
+ </Update>
106
+
107
+
76
108
  # Concepts
77
109
  Source: https://zenbulabs.mintlify.app/concepts
78
110
 
@@ -396,7 +428,7 @@ Source: https://zenbulabs.mintlify.app/core/injections
396
428
 
397
429
 
398
430
 
399
- An injection is a named value a plugin registers for other code to find. The value can be a React component, a function, or anything else. Other code looks up injections by name, or filters them by optional metadata.
431
+ An injection is a named value a plugin registers for other code to find. The value can be a React component or a function. Other code looks up injections by name, or filters them by optional metadata.
400
432
 
401
433
  ## Registering an injection
402
434
 
@@ -1387,15 +1419,15 @@ Source: https://zenbulabs.mintlify.app/introduction
1387
1419
 
1388
1420
 
1389
1421
 
1390
- Zenbu.js is a framework for building hackable desktop apps.
1422
+ Zenbu.js is the framework for building extensible applications that powers [Zenbu](https://zenbu.dev).
1391
1423
 
1392
- Apps built with Zenbu.js are designed to be modified after they ship. Users can edit the source code directly, or install plugins that extend the app with new functionality.
1424
+ Apps and plugins built with Zenbu.js are designed to be modified after they are installed. Users can edit the source code directly, or install plugins that extend the app with new functionality.
1393
1425
 
1394
- The framework also handles the hard parts of desktop development for you, like syncing state between processes, RPC, and hot-reloading everything as you make changes.
1426
+ The SDK also handles the hard parts of application development, like syncing state between processes, RPC, and hot-reloading everything as you make changes.
1395
1427
 
1396
- ### Why build a hackable app
1428
+ ### Why build with Zenbu.js
1397
1429
 
1398
- * Coding agents can generate and customize software on demand for a specific use case. A hackable app gives them full access to do that.
1430
+ * Coding agents can generate and customize software on demand for a specific use case. An app built on Zenbu.js gives them full access to do that.
1399
1431
  * Letting people modify your app means more directions get explored than you could reach on your own.
1400
1432
  * Extensible code tends to be more maintainable, because it's already written to be changed.
1401
1433
 
@@ -10,7 +10,8 @@
10
10
  "peerDependencies": {
11
11
  "@zenbujs/core": "*",
12
12
  "react": ">=18",
13
- "react-dom": ">=18"
13
+ "react-dom": ">=18",
14
+ "zod": ">=4"
14
15
  },
15
16
  "devDependencies": {
16
17
  "@zenbujs/core": "0.0.24",
@@ -19,6 +20,7 @@
19
20
  "@types/react-dom": "^19.0.0",
20
21
  "react": "^19.0.0",
21
22
  "react-dom": "^19.0.0",
22
- "typescript": "^5.4.5"
23
+ "typescript": "^5.4.5",
24
+ "zod": "^4.4.3"
23
25
  }
24
26
  }
@@ -73,6 +73,34 @@ pnpm run build:electron
73
73
  ```
74
74
 
75
75
 
76
+ # Changelog
77
+ Source: https://zenbulabs.mintlify.app/changelog/overview
78
+
79
+ New features, updates, and fixes for Zenbu.js.
80
+
81
+ <Update label="June 5, 2026">
82
+ ## Week of June 2 — desktop app v0.0.10 and `@zenbujs/core` 0.4.3
83
+
84
+ The Zenbu desktop app shipped five releases this week (v0.0.6 → v0.0.10, signed and notarized for macOS), along with `@zenbujs/core` 0.3.0 → 0.4.3, `create-zenbu-app` 0.0.36, and `create-desktop-app` 0.1.4.
85
+
86
+ ### New
87
+
88
+ * **Enable and disable plugins at runtime.** You can now turn plugins on and off without restarting the app. Injections hot-reload when a plugin's state changes, so views and patched behavior update in place. See [Plugins](/core/plugins) and [Injections](/core/injections).
89
+ * **`relaunch()` bridge on the installing screen.** Plugin installation can trigger a clean app relaunch from the install flow, so first-run setup completes without a manual restart.
90
+ * **`makeCollection` is now exported.** The collection helper is part of the public API surface for building typed groups of records on top of [state](/core/state).
91
+
92
+ ### Updates
93
+
94
+ * **Self-healing plugin clones.** If a plugin install is interrupted (network drop, force-quit, partial download), the next launch detects the broken state and finishes or re-clones the plugin automatically — no more stuck "installing" screens.
95
+ * **Plugin service internals reworked.** The data structure backing [services](/core/services) was simplified, paving the way for the enable/disable feature and reducing the work done on plugin load.
96
+
97
+ ### Fixes
98
+
99
+ * **Proxy memory leak resolved.** Long-running sessions no longer accumulate memory through the RPC proxy layer used by [RPC](/core/rpc) and [advice](/core/advice).
100
+ * **Garbage collection issues fixed.** Several plugin lifecycle objects were being retained after teardown; they are now released correctly, lowering steady-state memory use.
101
+ </Update>
102
+
103
+
76
104
  # Concepts
77
105
  Source: https://zenbulabs.mintlify.app/concepts
78
106
 
@@ -396,7 +424,7 @@ Source: https://zenbulabs.mintlify.app/core/injections
396
424
 
397
425
 
398
426
 
399
- An injection is a named value a plugin registers for other code to find. The value can be a React component, a function, or anything else. Other code looks up injections by name, or filters them by optional metadata.
427
+ An injection is a named value a plugin registers for other code to find. The value can be a React component or a function. Other code looks up injections by name, or filters them by optional metadata.
400
428
 
401
429
  ## Registering an injection
402
430
 
@@ -1387,15 +1415,15 @@ Source: https://zenbulabs.mintlify.app/introduction
1387
1415
 
1388
1416
 
1389
1417
 
1390
- Zenbu.js is a framework for building hackable desktop apps.
1418
+ Zenbu.js is the framework for building extensible applications that powers [Zenbu](https://zenbu.dev).
1391
1419
 
1392
- Apps built with Zenbu.js are designed to be modified after they ship. Users can edit the source code directly, or install plugins that extend the app with new functionality.
1420
+ Apps and plugins built with Zenbu.js are designed to be modified after they are installed. Users can edit the source code directly, or install plugins that extend the app with new functionality.
1393
1421
 
1394
- The framework also handles the hard parts of desktop development for you, like syncing state between processes, RPC, and hot-reloading everything as you make changes.
1422
+ The SDK also handles the hard parts of application development, like syncing state between processes, RPC, and hot-reloading everything as you make changes.
1395
1423
 
1396
- ### Why build a hackable app
1424
+ ### Why build with Zenbu.js
1397
1425
 
1398
- * Coding agents can generate and customize software on demand for a specific use case. A hackable app gives them full access to do that.
1426
+ * Coding agents can generate and customize software on demand for a specific use case. An app built on Zenbu.js gives them full access to do that.
1399
1427
  * Letting people modify your app means more directions get explored than you could reach on your own.
1400
1428
  * Extensible code tends to be more maintainable, because it's already written to be changed.
1401
1429
 
@@ -12,13 +12,14 @@
12
12
  "db:generate": "zen db generate"
13
13
  },
14
14
  "dependencies": {
15
- "@zenbujs/core": "0.0.24",
16
15
  "@tailwindcss/vite": "^4.2.0",
17
16
  "@vitejs/plugin-react": "^5.0.0",
17
+ "@zenbujs/core": "0.0.24",
18
18
  "react": "^19.0.0",
19
19
  "react-dom": "^19.0.0",
20
20
  "tailwindcss": "^4.2.0",
21
- "vite": "^6.0.0"
21
+ "vite": "^6.0.0",
22
+ "zod": "^4.4.3"
22
23
  },
23
24
  "devDependencies": {
24
25
  "@types/node": "^22.0.0",
@@ -73,6 +73,34 @@ pnpm run build:electron
73
73
  ```
74
74
 
75
75
 
76
+ # Changelog
77
+ Source: https://zenbulabs.mintlify.app/changelog/overview
78
+
79
+ New features, updates, and fixes for Zenbu.js.
80
+
81
+ <Update label="June 5, 2026">
82
+ ## Week of June 2 — desktop app v0.0.10 and `@zenbujs/core` 0.4.3
83
+
84
+ The Zenbu desktop app shipped five releases this week (v0.0.6 → v0.0.10, signed and notarized for macOS), along with `@zenbujs/core` 0.3.0 → 0.4.3, `create-zenbu-app` 0.0.36, and `create-desktop-app` 0.1.4.
85
+
86
+ ### New
87
+
88
+ * **Enable and disable plugins at runtime.** You can now turn plugins on and off without restarting the app. Injections hot-reload when a plugin's state changes, so views and patched behavior update in place. See [Plugins](/core/plugins) and [Injections](/core/injections).
89
+ * **`relaunch()` bridge on the installing screen.** Plugin installation can trigger a clean app relaunch from the install flow, so first-run setup completes without a manual restart.
90
+ * **`makeCollection` is now exported.** The collection helper is part of the public API surface for building typed groups of records on top of [state](/core/state).
91
+
92
+ ### Updates
93
+
94
+ * **Self-healing plugin clones.** If a plugin install is interrupted (network drop, force-quit, partial download), the next launch detects the broken state and finishes or re-clones the plugin automatically — no more stuck "installing" screens.
95
+ * **Plugin service internals reworked.** The data structure backing [services](/core/services) was simplified, paving the way for the enable/disable feature and reducing the work done on plugin load.
96
+
97
+ ### Fixes
98
+
99
+ * **Proxy memory leak resolved.** Long-running sessions no longer accumulate memory through the RPC proxy layer used by [RPC](/core/rpc) and [advice](/core/advice).
100
+ * **Garbage collection issues fixed.** Several plugin lifecycle objects were being retained after teardown; they are now released correctly, lowering steady-state memory use.
101
+ </Update>
102
+
103
+
76
104
  # Concepts
77
105
  Source: https://zenbulabs.mintlify.app/concepts
78
106
 
@@ -396,7 +424,7 @@ Source: https://zenbulabs.mintlify.app/core/injections
396
424
 
397
425
 
398
426
 
399
- An injection is a named value a plugin registers for other code to find. The value can be a React component, a function, or anything else. Other code looks up injections by name, or filters them by optional metadata.
427
+ An injection is a named value a plugin registers for other code to find. The value can be a React component or a function. Other code looks up injections by name, or filters them by optional metadata.
400
428
 
401
429
  ## Registering an injection
402
430
 
@@ -1387,15 +1415,15 @@ Source: https://zenbulabs.mintlify.app/introduction
1387
1415
 
1388
1416
 
1389
1417
 
1390
- Zenbu.js is a framework for building hackable desktop apps.
1418
+ Zenbu.js is the framework for building extensible applications that powers [Zenbu](https://zenbu.dev).
1391
1419
 
1392
- Apps built with Zenbu.js are designed to be modified after they ship. Users can edit the source code directly, or install plugins that extend the app with new functionality.
1420
+ Apps and plugins built with Zenbu.js are designed to be modified after they are installed. Users can edit the source code directly, or install plugins that extend the app with new functionality.
1393
1421
 
1394
- The framework also handles the hard parts of desktop development for you, like syncing state between processes, RPC, and hot-reloading everything as you make changes.
1422
+ The SDK also handles the hard parts of application development, like syncing state between processes, RPC, and hot-reloading everything as you make changes.
1395
1423
 
1396
- ### Why build a hackable app
1424
+ ### Why build with Zenbu.js
1397
1425
 
1398
- * Coding agents can generate and customize software on demand for a specific use case. A hackable app gives them full access to do that.
1426
+ * Coding agents can generate and customize software on demand for a specific use case. An app built on Zenbu.js gives them full access to do that.
1399
1427
  * Letting people modify your app means more directions get explored than you could reach on your own.
1400
1428
  * Extensible code tends to be more maintainable, because it's already written to be changed.
1401
1429
 
@@ -12,11 +12,12 @@
12
12
  "db:generate": "zen db generate"
13
13
  },
14
14
  "dependencies": {
15
- "@zenbujs/core": "0.0.24",
16
15
  "@vitejs/plugin-react": "^5.0.0",
16
+ "@zenbujs/core": "0.0.24",
17
17
  "react": "^19.0.0",
18
18
  "react-dom": "^19.0.0",
19
- "vite": "^6.0.0"
19
+ "vite": "^6.0.0",
20
+ "zod": "^4.4.3"
20
21
  },
21
22
  "devDependencies": {
22
23
  "@types/node": "^22.0.0",