velloo 0.4.1 → 0.6.0
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 +29 -7
- package/canvas/assets/index-CnyI3aig.js +29 -0
- package/canvas/assets/index-GNLd0pCG.css +2 -0
- package/canvas/assets/lucide-all-CH8LmVh0.js +1 -0
- package/canvas/index.html +2 -2
- package/{chunk-91pajfnm.js → chunk-08mjtg1e.js} +1 -1
- package/{chunk-m1wp8cpt.js → chunk-1gkeepkm.js} +1 -1
- package/{chunk-2dm4x17z.js → chunk-1td6z6ey.js} +1 -1
- package/{chunk-ykdx12na.js → chunk-2ba6edh8.js} +1 -1
- package/chunk-2q561dec.js +2 -0
- package/chunk-2web93qz.js +2 -0
- package/{chunk-py6sjyzk.js → chunk-3trkmgfr.js} +1 -1
- package/chunk-52m26hh4.js +3 -0
- package/{chunk-7xffbj5h.js → chunk-56vfy0db.js} +1 -1
- package/{chunk-8t5phg0s.js → chunk-56z5xd5b.js} +1 -1
- package/{chunk-xbhxzdat.js → chunk-63y5gdzw.js} +1 -1
- package/{chunk-t9ygewjx.js → chunk-6813v926.js} +257 -3
- package/{chunk-cejmmx3r.js → chunk-69qb8p8s.js} +2 -2
- package/chunk-6k05kqnc.js +3 -0
- package/chunk-74yxy75r.js +3 -0
- package/{chunk-7a45tn73.js → chunk-8cj4swpr.js} +5 -5
- package/chunk-8grzf8q1.js +2 -0
- package/chunk-8vam2893.js +3 -0
- package/{chunk-dj1pp4e3.js → chunk-8vgpffn7.js} +1 -1
- package/{chunk-j5axqyan.js → chunk-96qhpth5.js} +1 -1
- package/chunk-ab8fga32.js +22 -0
- package/chunk-azeqkms7.js +6 -0
- package/{chunk-2y9nnzpr.js → chunk-bc7pkjcn.js} +1 -1
- package/{chunk-7gtvstne.js → chunk-c4spp880.js} +1 -1
- package/{chunk-a9mgvspm.js → chunk-chtv0yj6.js} +211 -110
- package/{chunk-r9ekd92e.js → chunk-dar6wbf2.js} +1 -1
- package/{chunk-aa3str7g.js → chunk-e2btp1wd.js} +1 -1
- package/{chunk-hsrg23gd.js → chunk-eqjtq673.js} +1 -1
- package/chunk-esb7n55g.js +244 -0
- package/chunk-ey65err5.js +5 -0
- package/{chunk-r03aywsb.js → chunk-ff0jfn0v.js} +1 -1
- package/chunk-ff2vt7cz.js +12 -0
- package/chunk-g185gx8a.js +2 -0
- package/{chunk-km3z2czq.js → chunk-h85hv05d.js} +1 -1
- package/{chunk-db7mf114.js → chunk-hf4adxe0.js} +9 -7
- package/{chunk-6zr596r2.js → chunk-hjc5eg5c.js} +1 -1
- package/{chunk-b4jy4hcd.js → chunk-hsfpbjpc.js} +1 -1
- package/{chunk-ph94nrc8.js → chunk-jsvkqae2.js} +1 -1
- package/{chunk-rfrbnw8r.js → chunk-k423dkjz.js} +1 -1
- package/chunk-mfch0b0t.js +3 -0
- package/chunk-nbbnb5e9.js +3 -0
- package/{chunk-tr49kraa.js → chunk-nx09zqgs.js} +1 -1
- package/chunk-p93x4pn2.js +3 -0
- package/{chunk-k3dpwjx4.js → chunk-pxaxgkaq.js} +1 -1
- package/chunk-qwccndcd.js +5 -0
- package/{chunk-vjrn10xr.js → chunk-rjjc9vam.js} +2 -2
- package/{chunk-npsg7btt.js → chunk-rk238m15.js} +1 -1
- package/chunk-t2x3mztc.js +2 -0
- package/chunk-t6qr2ay9.js +3 -0
- package/chunk-ta84ehgg.js +2 -0
- package/chunk-tac2wvc7.js +2 -0
- package/chunk-tbd6wn3q.js +6 -0
- package/chunk-v6c3h9ft.js +3 -0
- package/chunk-w2naqxqt.js +2 -0
- package/chunk-wfhv9jg4.js +2 -0
- package/chunk-wnj432fw.js +3 -0
- package/chunk-x02z2ccm.js +2 -0
- package/{chunk-b58pnj20.js → chunk-xtwx2p9g.js} +1 -1
- package/chunk-yfvc8d2g.js +716 -0
- package/chunk-z73q4dq9.js +2 -0
- package/{chunk-yfttm20w.js → chunk-ztsckexy.js} +2 -2
- package/cli.js +1 -1
- package/package.json +3 -1
- package/pkgs/helpers/src/descriptors.ts +1 -0
- package/pkgs/helpers/src/index.ts +7 -4
- package/pkgs/helpers/src/lowering.ts +0 -24
- package/pkgs/helpers/src/primitive-classes.tsx +43 -0
- package/pkgs/provider-antd/src/intro.ts +3 -3
- package/pkgs/provider-antd/src/manifest.ts +478 -57
- package/pkgs/provider-antd/src/registry.ts +8 -5
- package/pkgs/provider-antd/src/render-pass.ts +10 -4
- package/pkgs/provider-antd/src/reset-css.d.ts +5 -0
- package/pkgs/provider-antd/src/theme.ts +54 -11
- package/pkgs/provider-chakra/src/manifest.ts +5 -1
- package/pkgs/provider-html/src/index.ts +68 -0
- package/pkgs/provider-html/src/registry.ts +121 -0
- package/pkgs/provider-html/src/version.ts +1 -0
- package/pkgs/provider-mui/src/index.ts +4 -2
- package/pkgs/provider-mui/src/manifest.ts +10 -1
- package/pkgs/provider-mui/src/render-pass.ts +15 -1
- package/pkgs/provider-mui/src/theme.ts +10 -4
- package/pkgs/provider-none/src/components-inline.tsx +12 -3
- package/pkgs/provider-none/src/components.tsx +26 -53
- package/pkgs/provider-none/src/manifest.ts +2 -0
- package/pkgs/schema/src/annotation.ts +6 -3
- package/pkgs/schema/src/comment.ts +10 -1
- package/pkgs/schema/src/config.ts +33 -1
- package/pkgs/schema/src/css-declarations.ts +41 -0
- package/pkgs/schema/src/index.ts +16 -1
- package/pkgs/schema/src/node-identity.ts +92 -0
- package/pkgs/schema/src/node.ts +13 -4
- package/pkgs/schema/src/theme.ts +46 -1
- package/pkgs/schema/src/typeset.ts +24 -17
- package/pkgs/shadcn-snapshot/dist/manifest.json +1 -0
- package/pkgs/shadcn-snapshot/src/components/ui/alert.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/aspect-ratio.tsx +2 -3
- package/pkgs/shadcn-snapshot/src/components/ui/attachment.tsx +3 -4
- package/pkgs/shadcn-snapshot/src/components/ui/avatar.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/badge.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/breadcrumb.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/bubble.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/button-group.tsx +3 -4
- package/pkgs/shadcn-snapshot/src/components/ui/button.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/card.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/carousel.tsx +3 -4
- package/pkgs/shadcn-snapshot/src/components/ui/chart.tsx +1 -1
- package/pkgs/shadcn-snapshot/src/components/ui/direction.tsx +2 -3
- package/pkgs/shadcn-snapshot/src/components/ui/empty.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/field.tsx +3 -4
- package/pkgs/shadcn-snapshot/src/components/ui/input-group.tsx +3 -4
- package/pkgs/shadcn-snapshot/src/components/ui/item.tsx +3 -4
- package/pkgs/shadcn-snapshot/src/components/ui/kbd.tsx +2 -3
- package/pkgs/shadcn-snapshot/src/components/ui/label.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/marker.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/message.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/native-select.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/navigation-menu.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/pagination.tsx +3 -4
- package/pkgs/shadcn-snapshot/src/components/ui/progress.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/radio-group.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/scroll-area.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/separator.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/skeleton.tsx +2 -3
- package/pkgs/shadcn-snapshot/src/components/ui/spinner.tsx +2 -3
- package/pkgs/shadcn-snapshot/src/components/ui/table.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/tabs.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/components/ui/toggle.tsx +2 -4
- package/pkgs/shadcn-snapshot/src/shadcn-tailwind.css +1 -1
- package/pkgs/shadcn-snapshot/src/tailwind-entry.css +1 -1
- package/plugins/claude/velloo/agents/velloo-design-reviewer.md +56 -13
- package/plugins/claude/velloo/agents/velloo-designer.md +4 -1
- package/skills/velloo-setup/SKILL.md +19 -55
- package/canvas/assets/index-B1OD0Yz5.css +0 -2
- package/canvas/assets/index-BWYFx2Rr.js +0 -29
- package/canvas/assets/lucide-all-Bcm80WFX.js +0 -1
- package/chunk-00t0bz7x.js +0 -244
- package/chunk-0446t32z.js +0 -2
- package/chunk-0zen7bzb.js +0 -3
- package/chunk-2h24va0j.js +0 -2
- package/chunk-2jbhv7vh.js +0 -3
- package/chunk-5ywkk7d6.js +0 -2
- package/chunk-b7famda5.js +0 -3
- package/chunk-cvn689d5.js +0 -3
- package/chunk-e6nhc3ay.js +0 -6
- package/chunk-f5g45xed.js +0 -2
- package/chunk-fjbzk4sw.js +0 -3
- package/chunk-hv52a6hf.js +0 -2
- package/chunk-jep31ffe.js +0 -2
- package/chunk-jwzhhhzn.js +0 -3
- package/chunk-mcymwefw.js +0 -5
- package/chunk-n0kx20s2.js +0 -2
- package/chunk-nwf2kn41.js +0 -26
- package/chunk-phz993p3.js +0 -2
- package/chunk-qan5dnjt.js +0 -688
- package/chunk-r5d0jsnd.js +0 -5
- package/chunk-shac6bat.js +0 -6
- package/chunk-t4zvcece.js +0 -10
- package/chunk-tarws372.js +0 -2
- package/chunk-yghypth2.js +0 -2
- package/chunk-zqtz23xk.js +0 -3
package/README.md
CHANGED
|
@@ -128,7 +128,7 @@ required to design, export, or implement a screen.
|
|
|
128
128
|
|
|
129
129
|
## Features
|
|
130
130
|
|
|
131
|
-
- **Existing-screen redesign.** Start from a React route or a captured
|
|
131
|
+
- **Existing-screen redesign.** Start from a React or HTML route, or a captured
|
|
132
132
|
authenticated page, recreate a faithful baseline, explore alternatives, and
|
|
133
133
|
compare against the running product at the same viewport.
|
|
134
134
|
- **Real components, not approximations.** Components come from a
|
|
@@ -136,8 +136,9 @@ required to design, export, or implement a screen.
|
|
|
136
136
|
client-safe files from your app mount directly in the canvas; portal- and
|
|
137
137
|
state-heavy families are explicitly adapted; compile failures fall back per
|
|
138
138
|
component with diagnostics.
|
|
139
|
-
- **
|
|
140
|
-
UI, and no-library React
|
|
139
|
+
- **React and HTML/htmx adapters.** shadcn + Tailwind, Material UI, Ant Design,
|
|
140
|
+
Chakra UI, and no-library React render through their own adapters. The HTML
|
|
141
|
+
adapter previews live server fragments and emits native HTML.
|
|
141
142
|
- **Visual verification.** The agent inspects rendered nodes, takes screenshots,
|
|
142
143
|
diffs against a live URL, and fixes what it sees instead of guessing from code.
|
|
143
144
|
- **Board → Screen → Frame.** One design folder holds many boards; frames that
|
|
@@ -153,7 +154,7 @@ required to design, export, or implement a screen.
|
|
|
153
154
|
| | |
|
|
154
155
|
|---|---|
|
|
155
156
|
| **OS** | macOS (arm64, x64), Linux (arm64, x64; glibc and musl), and Windows (x64, arm64) through npm. The standalone installer is macOS and Linux only. |
|
|
156
|
-
| **Your app** | React
|
|
157
|
+
| **Your app** | React (shadcn + Tailwind, MUI, Ant Design, Chakra, or no-library) or a server-rendered HTML/htmx app. |
|
|
157
158
|
| **Screenshots** | Optional headless Chromium, one command away (below). |
|
|
158
159
|
|
|
159
160
|
### Screenshots — the one optional extra
|
|
@@ -184,7 +185,7 @@ the design as `--design`.
|
|
|
184
185
|
| `velloo init` | Create a design folder and wire up your agent |
|
|
185
186
|
| `velloo run [design]` | Start the canvas + MCP daemon (`--port` to pick the canvas port) |
|
|
186
187
|
| `velloo design list\|add\|remove\|move\|rename\|upgrade` | Manage the repo's designs |
|
|
187
|
-
| `velloo emit` / `velloo render` | Implementation IR for
|
|
188
|
+
| `velloo emit` / `velloo render` | Implementation IR (native HTML for an HTML screen) / a PNG of a screen |
|
|
188
189
|
| `velloo publish [design]` | Publish a board for review (`publish list\|remove` manage what you've published) |
|
|
189
190
|
| `velloo upgrade` | Update the install *and* migrate the design format (`--check` to preview) |
|
|
190
191
|
|
|
@@ -204,6 +205,27 @@ and pays for a native schema only when it needs one. Clients that do better with
|
|
|
204
205
|
conventional function schemas can use `velloo mcp --surface full`. Both surfaces
|
|
205
206
|
carry the whole operation catalogue. See [docs/mcp.md](./docs/mcp.md).
|
|
206
207
|
|
|
208
|
+
### HTML and htmx apps
|
|
209
|
+
|
|
210
|
+
Run `velloo init --library html --initial-content scan` from a server-rendered
|
|
211
|
+
app (Flask, FastAPI, Django, Rails, Laravel, …), or choose **HTML + htmx** in the
|
|
212
|
+
wizard; `init` picks it on its own for an app with templates and no React.
|
|
213
|
+
Velloo scans its routes into placeholder screens and copies the stylesheets its
|
|
214
|
+
templates link (`hostApp.stylesheets`) from the app's source into the design's
|
|
215
|
+
`assets/host/`. A design never contacts the running app: it is a fixed picture
|
|
216
|
+
that looks the same to everyone who opens it, with or without the app. To
|
|
217
|
+
reproduce a page, capture it from the running app with a capture session (you
|
|
218
|
+
sign in in a separate browser if it needs it) and have the agent rebuild it
|
|
219
|
+
from the capture. CSS that only exists once the app is built comes from the
|
|
220
|
+
capture too (`store_host_files`).
|
|
221
|
+
|
|
222
|
+
Use `Html` nodes with semantic `as` tags, native attributes, and `hx-*` props.
|
|
223
|
+
The canvas never fires the `hx-*` attributes; `emit_code` keeps them and
|
|
224
|
+
returns HTML with the classes and routes it relies on, `velloo emit <screen> --to
|
|
225
|
+
page.html` writes native markup for a template, and `emit_theme` writes the CSS
|
|
226
|
+
custom properties that inline styles reference. Integrate the markup with your
|
|
227
|
+
server's template language and handlers; Velloo does not generate server routes.
|
|
228
|
+
|
|
207
229
|
## Local-first by default
|
|
208
230
|
|
|
209
231
|
The local tool is free, complete, account-free, and telemetry-free.
|
|
@@ -237,7 +259,7 @@ You choose when — and whether — to use any of them.
|
|
|
237
259
|
|
|
238
260
|
Contributions are welcome — bug reports, adapters, docs, and design feedback
|
|
239
261
|
alike. [`CONTRIBUTING.md`](./CONTRIBUTING.md) covers setup and the checks we
|
|
240
|
-
expect to be green; [`
|
|
262
|
+
expect to be green; [`AGENTS.md`](./AGENTS.md) explains the repo's architecture
|
|
241
263
|
invariants before you change anything load-bearing.
|
|
242
264
|
|
|
243
265
|
The short version:
|
|
@@ -262,7 +284,7 @@ Velloo is a Bun-workspaces monorepo with one-way dependencies:
|
|
|
262
284
|
| `packages/schema` | Zod schemas + TS types for the on-disk design-folder format |
|
|
263
285
|
| `packages/protocol` | The wire contract: mutation arguments, typed errors, watch events |
|
|
264
286
|
| `packages/provider` | The `ComponentProvider` / `FrameworkAdapter` interface |
|
|
265
|
-
| `packages/provider-*` | shadcn, MUI, Ant Design, Chakra,
|
|
287
|
+
| `packages/provider-*` | shadcn, MUI, Ant Design, Chakra, no-library, and HTML/htmx adapters |
|
|
266
288
|
| `packages/shadcn-snapshot` | Pinned canvas-safe shadcn fallback, embedded in the binary |
|
|
267
289
|
| `packages/renderer` | Design JSON → HTML (and PNG via Playwright) |
|
|
268
290
|
| `packages/codegen` | Agent-consumed IR + theme emitters |
|