@xiaobuyu/nodesign 0.0.1 → 0.0.3
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 +156 -106
- package/bin/nodesign.js +0 -0
- package/package.json +1 -1
- package/server/api/README.md +45 -45
- package/server/api/_guard.js +75 -75
- package/server/api/admin.js +187 -187
- package/server/api/assets/docx-page.js +103 -103
- package/server/api/assets/helpers.js +42 -22
- package/server/api/assets/notes.js +194 -144
- package/server/api/assets.js +891 -896
- package/server/api/board.js +134 -57
- package/server/api/browse.js +138 -138
- package/server/api/canvas.js +444 -444
- package/server/api/chatai.js +324 -324
- package/server/api/exports/build-standalone.js +980 -980
- package/server/api/exports/cards.js +118 -118
- package/server/api/exports/docx-pdf.js +46 -46
- package/server/api/exports/export-page.js +142 -142
- package/server/api/exports/handoff.js +147 -147
- package/server/api/exports.js +690 -690
- package/server/api/instruction.js +75 -75
- package/server/api/me.js +116 -116
- package/server/api/memory.js +185 -185
- package/server/api/pending-changes.js +366 -366
- package/server/api/plugins.js +164 -164
- package/server/api/projects.js +220 -220
- package/server/api/publish.js +64 -64
- package/server/api/recent.js +73 -73
- package/server/api/sessions.js +589 -589
- package/server/api/skills.js +77 -77
- package/server/api/standalone-fit.js +168 -168
- package/server/api/turn-compose.js +180 -180
- package/server/api/turn-inflight.js +44 -44
- package/server/auth/README.md +17 -17
- package/server/auth/middleware.js +138 -138
- package/server/auth/origin-guard.js +71 -71
- package/server/auth/session.js +108 -108
- package/server/auth/tier.js +113 -113
- package/server/auth/users-store.js +348 -348
- package/server/edit/README.md +29 -29
- package/server/engine/README.md +113 -113
- package/server/engine/agent/agent-shared.js +550 -550
- package/server/engine/agent/auto-mode-default-hard-deny.txt +4 -4
- package/server/engine/agent/auto-mode-rules.js +78 -78
- package/server/engine/agent/context.js +418 -418
- package/server/engine/agent/events.js +465 -464
- package/server/engine/agent/hooks/canvas-validate.js +199 -199
- package/server/engine/agent/hooks/failure.js +120 -120
- package/server/engine/agent/hooks/file-events.js +75 -75
- package/server/engine/agent/hooks/lifecycle.js +233 -233
- package/server/engine/agent/hooks/post-canvas-focus.js +80 -80
- package/server/engine/agent/hooks/post-guidance.js +206 -206
- package/server/engine/agent/hooks/post-subagent-report.js +104 -104
- package/server/engine/agent/hooks/post-trim.js +58 -58
- package/server/engine/agent/hooks/pre-board-neighborhood.js +34 -34
- package/server/engine/agent/hooks/pre-defaults.js +84 -84
- package/server/engine/agent/hooks/pre-injectors.js +277 -277
- package/server/engine/agent/hooks/pre-performance-log-guard.js +78 -78
- package/server/engine/agent/hooks/pre-starter-files.js +61 -61
- package/server/engine/agent/hooks/pre-workspace-scope-guard.js +78 -78
- package/server/engine/agent/hooks/site-validate.js +94 -94
- package/server/engine/agent/hooks/tool-prompts.js +31 -31
- package/server/engine/agent/hooks/turn-state-memory.js +56 -56
- package/server/engine/agent/hooks/user-prompt-submit.js +258 -215
- package/server/engine/agent/hooks.js +354 -354
- package/server/engine/agent/init-contract.js +69 -69
- package/server/engine/agent/isolation.js +159 -159
- package/server/engine/agent/model-table.js +292 -292
- package/server/engine/agent/plugin-loader.js +266 -266
- package/server/engine/agent/prompts/nodesign-prelude.md +388 -336
- package/server/engine/agent/prompts/tools/ask-user-question-protocol.md +71 -71
- package/server/engine/agent/prompts/tools/direct-edit-protocol.md +98 -98
- package/server/engine/agent/prompts/tools/generate-image-cookbook.gemini-gateway.md +583 -583
- package/server/engine/agent/prompts/tools/generate-image-cookbook.md +483 -483
- package/server/engine/agent/prompts/tools/hybrid-reference.md +100 -100
- package/server/engine/agent/prompts/tools/paint-still-cookbook.md +270 -270
- package/server/engine/agent/prompts/tools/roll-film-cookbook.md +70 -70
- package/server/engine/agent/prompts/tools/site-reference.md +106 -106
- package/server/engine/agent/prompts/tools/tweaks-syntax.md +125 -125
- package/server/engine/agent/prompts/tools/vision-checker-dispatch.md +48 -48
- package/server/engine/agent/session-loop.js +1035 -1024
- package/server/engine/agent/session-model.js +164 -164
- package/server/engine/agent/skill.js +204 -204
- package/server/engine/agent/task-events.js +78 -78
- package/server/engine/agents/ds-extractor.md +132 -132
- package/server/engine/agents/explorer.md +190 -190
- package/server/engine/agents/index.js +230 -230
- package/server/engine/agents/schemas/design-system.json +156 -156
- package/server/engine/agents/schemas/tweak-schema.json +113 -113
- package/server/engine/agents/tweak-proposer.md +127 -127
- package/server/engine/agents/vision-checker.md +254 -254
- package/server/engine/browse/capture.js +422 -422
- package/server/engine/browse/card.js +137 -137
- package/server/engine/browse/handover.js +59 -59
- package/server/engine/browse/page-digest.js +119 -119
- package/server/engine/browse/refs.js +196 -196
- package/server/engine/browse/registry.js +307 -307
- package/server/engine/browse/screencast.js +170 -170
- package/server/engine/browse/state.js +121 -121
- package/server/engine/chatai/chat-log.js +79 -79
- package/server/engine/chatai/index.js +193 -193
- package/server/engine/chatai/openai-compat.js +152 -152
- package/server/engine/chatai/orchestrate.js +309 -309
- package/server/engine/chatai/perform.js +40 -40
- package/server/engine/chatai/summarize.js +79 -79
- package/server/engine/mcp/capability-gate.js +52 -52
- package/server/engine/mcp/index.js +351 -339
- package/server/engine/mcp/param-sanitizer.js +142 -142
- package/server/engine/mcp/tools/arrange-on-board.js +124 -124
- package/server/engine/mcp/tools/artifact-session.js +278 -278
- package/server/engine/mcp/tools/browse-computer.js +421 -421
- package/server/engine/mcp/tools/browse-find-batch.js +183 -183
- package/server/engine/mcp/tools/browse-screenshot.js +157 -157
- package/server/engine/mcp/tools/browse.js +480 -480
- package/server/engine/mcp/tools/build-docx.js +101 -101
- package/server/engine/mcp/tools/clear-pending-changes.js +99 -99
- package/server/engine/mcp/tools/create-on-board.js +152 -155
- package/server/engine/mcp/tools/crystallize-skill.js +168 -168
- package/server/engine/mcp/tools/edit-sketch.js +167 -0
- package/server/engine/mcp/tools/explain-style.js +237 -237
- package/server/engine/mcp/tools/export-handoff.js +133 -133
- package/server/engine/mcp/tools/expose-tweaks.js +149 -149
- package/server/engine/mcp/tools/generate-image.js +842 -842
- package/server/engine/mcp/tools/get-computed-styles.js +164 -164
- package/server/engine/mcp/tools/get-pending-changes.js +205 -205
- package/server/engine/mcp/tools/h3box-ssh.js +84 -84
- package/server/engine/mcp/tools/helpers/acquire-page.js +82 -82
- package/server/engine/mcp/tools/helpers/motion-lab.js +554 -554
- package/server/engine/mcp/tools/helpers/motion-scroll.js +112 -112
- package/server/engine/mcp/tools/helpers/perception-page.js +215 -215
- package/server/engine/mcp/tools/helpers/reference-download.js +103 -103
- package/server/engine/mcp/tools/helpers/rembg-bridge.py +80 -80
- package/server/engine/mcp/tools/helpers/shot-pipeline.js +280 -280
- package/server/engine/mcp/tools/highlight.js +68 -68
- package/server/engine/mcp/tools/list-pages.js +222 -222
- package/server/engine/mcp/tools/look-at-board.js +124 -0
- package/server/engine/mcp/tools/lookup-tags.js +59 -59
- package/server/engine/mcp/tools/navigate-to-page.js +60 -60
- package/server/engine/mcp/tools/organize-board.js +64 -64
- package/server/engine/mcp/tools/paint-still.js +434 -434
- package/server/engine/mcp/tools/pin-to-board.js +130 -130
- package/server/engine/mcp/tools/preview-deck.js +130 -130
- package/server/engine/mcp/tools/profile-scroll.js +305 -305
- package/server/engine/mcp/tools/publish-site.js +102 -102
- package/server/engine/mcp/tools/query-elements.js +195 -195
- package/server/engine/mcp/tools/read-board.js +190 -103
- package/server/engine/mcp/tools/read-document.js +93 -93
- package/server/engine/mcp/tools/read-page.js +264 -264
- package/server/engine/mcp/tools/read-tavern-json.js +143 -143
- package/server/engine/mcp/tools/read-user-view.js +59 -0
- package/server/engine/mcp/tools/record-decision.js +140 -140
- package/server/engine/mcp/tools/relate-on-board.js +112 -110
- package/server/engine/mcp/tools/report-issue.js +115 -115
- package/server/engine/mcp/tools/roll-film.js +266 -266
- package/server/engine/mcp/tools/screenshot-docx.js +138 -138
- package/server/engine/mcp/tools/screenshot-url.js +195 -195
- package/server/engine/mcp/tools/screenshot.js +583 -583
- package/server/engine/mcp/tools/sketch-on-board.js +337 -0
- package/server/engine/mcp/tools/tier-gate.js +96 -96
- package/server/engine/mcp/tools/trace-motion.js +215 -215
- package/server/engine/mcp/tools/web-search.js +548 -548
- package/server/engine/mcp/tools/write-on-board.js +130 -0
- package/server/engine/motion/inventory.js +349 -349
- package/server/engine/perception/session.js +235 -235
- package/server/engine/plugins/nodesign/.claude-plugin/plugin.json +5 -5
- package/server/engine/plugins/nodesign/skills/deskskill-engine-mini/SKILL.md +199 -192
- package/server/engine/plugins/nodesign/skills/deskskill-engine-mini/canvas.template.html +667 -667
- package/server/engine/plugins/nodesign/skills/deskskill-engine-mini/patterns/hybrid-grid.md +22 -22
- package/server/engine/plugins/nodesign/skills/deskskill-engine-mini/patterns/image-led-cover.md +25 -25
- package/server/engine/plugins/nodesign/skills/deskskill-engine-mini/patterns/portrait.md +23 -23
- package/server/engine/plugins/nodesign/skills/deskskill-engine-mini/patterns/quote-backdrop.md +21 -21
- package/server/engine/plugins/nodesign/skills/deskskill-engine-mini/patterns/section-divider.md +23 -23
- package/server/engine/plugins/nodesign/skills/deskskill-engine-mini/patterns/text-led.md +21 -21
- package/server/engine/plugins/nodesign/skills/docx-craft/SKILL.md +169 -162
- package/server/engine/plugins/nodesign/skills/docx-craft/references/token-schema.md +407 -407
- package/server/engine/plugins/nodesign/skills/docx-craft//346/226/207/346/241/243.template.json +80 -80
- package/server/engine/plugins/nodesign/skills/rp-craft/SKILL.md +235 -228
- package/server/engine/plugins/nodesign/skills/rp-craft/patterns//346/274/224/345/207/272/351/241/265-/346/234/200/345/260/217/345/256/236/347/216/260.html +78 -78
- package/server/engine/plugins/nodesign/skills/rp-craft//346/274/224/345/207/272.template.js +268 -268
- package/server/engine/plugins/nodesign/skills/site-craft/SKILL.md +330 -323
- package/server/engine/plugins/nodesign/skills/site-craft/patterns/build-lane.md +134 -134
- package/server/engine/plugins/nodesign/skills/site-craft/patterns/cutout-collage.md +61 -61
- package/server/engine/plugins/nodesign/skills/site-craft/patterns/mock-app.md +163 -163
- package/server/engine/plugins/nodesign/skills/site-craft/patterns/page-transitions.md +86 -86
- package/server/engine/runs/active-runs.js +698 -698
- package/server/engine/runs/board-tasklist.js +130 -0
- package/server/engine/runs/live-turn.js +252 -252
- package/server/engine/runs/store.js +364 -364
- package/server/engine/runs/turn-relay.js +217 -217
- package/server/engine/runtime/workspace.js +164 -164
- package/server/index.js +3 -0
- package/server/lib/artifact-file-path.js +80 -80
- package/server/lib/artifact-target.js +284 -284
- package/server/lib/asset-refs.js +239 -239
- package/server/lib/async-queue.js +104 -104
- package/server/lib/auto-relations.js +130 -130
- package/server/lib/binding-types.js +72 -60
- package/server/lib/board-graph-export.js +191 -0
- package/server/lib/board-groups.js +167 -0
- package/server/lib/board-hero.js +76 -0
- package/server/lib/board-kind-sizes.js +85 -62
- package/server/lib/board-relations.js +133 -133
- package/server/lib/browse-proxy.js +180 -180
- package/server/lib/canvas-id.js +36 -36
- package/server/lib/chalk.js +121 -0
- package/server/lib/cover.js +227 -227
- package/server/lib/danbooru-tags.js +291 -291
- package/server/lib/doc-extract.js +156 -156
- package/server/lib/docx/build-from-source.js +260 -260
- package/server/lib/docx/build.js +490 -490
- package/server/lib/docx/dump-styles.js +287 -287
- package/server/lib/docx/fonts/nodesign-cjk.conf +164 -164
- package/server/lib/docx/merge-runs.js +129 -129
- package/server/lib/docx/numbering.js +218 -218
- package/server/lib/docx/order.js +152 -152
- package/server/lib/docx/rawzip.js +172 -172
- package/server/lib/docx/render.js +92 -92
- package/server/lib/docx/text-lint.js +225 -225
- package/server/lib/docx/tokens.js +335 -335
- package/server/lib/docx/units.js +29 -29
- package/server/lib/docx/xml.js +291 -291
- package/server/lib/docx-pages.js +187 -187
- package/server/lib/export-collect.js +289 -289
- package/server/lib/export-package.js +210 -210
- package/server/lib/html-srcset.js +145 -145
- package/server/lib/image-variant.js +460 -460
- package/server/lib/ingress/forward-openai-chat.js +305 -305
- package/server/lib/ingress/openai-chat.js +491 -491
- package/server/lib/ingress/session-notice.js +66 -66
- package/server/lib/ingress/session-routes.js +68 -68
- package/server/lib/ingress/slot-probe.js +130 -130
- package/server/lib/ingress/upstream-billing.js +52 -52
- package/server/lib/ingress/upstream-fail-streak.js +72 -72
- package/server/lib/ingress/upstream-truncation.js +48 -48
- package/server/lib/issues-store.js +182 -182
- package/server/lib/kinds/deck.js +72 -72
- package/server/lib/kinds/docx.js +283 -283
- package/server/lib/kinds/file-kinds.js +113 -113
- package/server/lib/kinds/index.js +202 -202
- package/server/lib/kinds/site.js +161 -161
- package/server/lib/model-ingress.js +543 -543
- package/server/lib/moderation.js +255 -255
- package/server/lib/notice-store.js +103 -103
- package/server/lib/plugin-install.js +104 -104
- package/server/lib/plugin-validator.js +721 -721
- package/server/lib/publish-store.js +115 -115
- package/server/lib/quick-summary.js +52 -52
- package/server/lib/quota.js +270 -270
- package/server/lib/rate-window.js +29 -29
- package/server/lib/reference-assets.js +92 -92
- package/server/lib/region-shot.js +135 -135
- package/server/lib/safe-path.js +73 -73
- package/server/lib/sdk-session.js +33 -33
- package/server/lib/showcase-store.js +92 -92
- package/server/lib/site-publish.js +465 -465
- package/server/lib/sketch-layout.js +277 -0
- package/server/lib/ssrf-guard.js +432 -432
- package/server/lib/task-scan.js +158 -158
- package/server/lib/tavern-json.js +154 -154
- package/server/lib/video-variant.js +237 -237
- package/server/lib/workspace-path.js +33 -33
- package/server/ops/fix-sdk-musl.mjs +40 -40
- package/server/ops/install-macos-fonts.sh +114 -114
- package/server/ops/macos-fonts.conf +336 -336
- package/server/ops/sandbox-shim/bwrap +57 -57
- package/server/projects/assets-summary.js +119 -119
- package/server/projects/auto-name.js +53 -53
- package/server/projects/board-limits.js +12 -0
- package/server/projects/board-sanitize.js +252 -0
- package/server/projects/board-store.js +507 -640
- package/server/projects/move-entry.js +103 -103
- package/server/projects/store.js +270 -270
- package/server/projects/ui-config.js +60 -54
- package/server/projects/viewpoint-store.js +78 -0
- package/server/projects/workspace-templates.js +53 -53
- package/server/projects/workspace.js +1025 -1025
- package/server/runtime/local-config.js +177 -177
- package/server/runtime/profile.js +72 -72
- package/server/services/rembg-service.py +334 -334
- package/server/shared/README.md +25 -25
- package/server/shared/deck.js +54 -54
- package/server/shared/time.js +49 -49
- package/server/style-pipeline/README.md +53 -53
- package/server/ws/broker.js +39 -36
- package/server/ws/browse-channel.js +177 -177
- package/server/ws/index.js +386 -386
- package/web/README.md +89 -89
- package/web/dist/assets/BrowserWindow-P_vIdh-G.js +11 -0
- package/web/dist/assets/{DeckWindow-4G0xX7P3.js → DeckWindow-BpLv5082.js} +3 -3
- package/web/dist/assets/{DocxWindow-BXQsoPkh.js → DocxWindow-DSAU1-tD.js} +4 -4
- package/web/dist/assets/MermaidBlock-DR1GikCv.js +313 -0
- package/web/dist/assets/SiteWindow-92uBuRRR.js +18 -0
- package/web/dist/assets/abnfDiagram-VCTEODGH-uA8Esix4.js +1 -0
- package/web/dist/assets/arc-D_khH_xN.js +1 -0
- package/web/dist/assets/architectureDiagram-5GKGNRK7-DydJHqOt.js +36 -0
- package/web/dist/assets/blockDiagram-NRAW4CY4-B7wBbKiW.js +129 -0
- package/web/dist/assets/c4Diagram-UCG6FXSJ-6mrH0x7Y.js +38 -0
- package/web/dist/assets/channel-DGkccMO1.js +1 -0
- package/web/dist/assets/chunk-2Q5K7J3B-Cuikho5Q.js +1 -0
- package/web/dist/assets/chunk-5VM5RSS4-3-KZ5AUz.js +15 -0
- package/web/dist/assets/chunk-F27PBJKO-Bkwq2gGU.js +1 -0
- package/web/dist/assets/chunk-G27WJ6UU-BLyQzdGE.js +231 -0
- package/web/dist/assets/chunk-JWPE2WC7-B7HxxQds.js +1 -0
- package/web/dist/assets/chunk-LCL6LL3I-CtXrnUwF.js +206 -0
- package/web/dist/assets/chunk-POPQ4Y6H-dxddZlXt.js +1 -0
- package/web/dist/assets/chunk-SVP7TREG-DpkmrgHn.js +88 -0
- package/web/dist/assets/chunk-XXDRQBXY-BwZ7RbpQ.js +1 -0
- package/web/dist/assets/classDiagram-DTDB5LWJ-BGscw3OD.js +1 -0
- package/web/dist/assets/classDiagram-v2-JRS7N3AN-BGscw3OD.js +1 -0
- package/web/dist/assets/cose-bilkent-JH36ORCC-DGFOsMUt.js +1 -0
- package/web/dist/assets/cynefin-OW5HDTMX-DUwn3ehS.js +178 -0
- package/web/dist/assets/cynefinDiagram-5FMLGOSQ-DlLAOZ9x.js +62 -0
- package/web/dist/assets/cytoscape.esm-BjAbmLdb.js +331 -0
- package/web/dist/assets/dagre-3AP2YEHR-CyourLfz.js +4 -0
- package/web/dist/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/web/dist/assets/diagram-S7CK7UJ4-BTMbx2np.js +30 -0
- package/web/dist/assets/diagram-UQ7AKVKN-UK94_1-P.js +41 -0
- package/web/dist/assets/diagram-VSXAHHWV-C7zS-v9v.js +3 -0
- package/web/dist/assets/diagram-VX7I27RA-DKJRa6CK.js +24 -0
- package/web/dist/assets/diagram-Z3DM3KII-kUbAfGAp.js +24 -0
- package/web/dist/assets/ebnfDiagram-PWID7BFC-CVW16_vb.js +1 -0
- package/web/dist/assets/erDiagram-SSCWMZ5O-BRQMFQ5y.js +99 -0
- package/web/dist/assets/flowDiagram-A5DVABFB-S34LpLtK.js +168 -0
- package/web/dist/assets/ganttDiagram-EL5Y4UJY-BFiqk1-G.js +292 -0
- package/web/dist/assets/gitGraphDiagram-WWUBYQGX-LZsrdyyv.js +106 -0
- package/web/dist/assets/index-GAamh1p4.js +2152 -0
- package/web/dist/assets/infoDiagram-RXCK75RN-0DvN6KIp.js +2 -0
- package/web/dist/assets/init-Gi6I4Gst.js +1 -0
- package/web/dist/assets/ishikawaDiagram-5VMMS53U-CaY3A-Bx.js +70 -0
- package/web/dist/assets/journeyDiagram-EYS64GPL-BBeiaCrj.js +139 -0
- package/web/dist/assets/kanban-definition-3QL26DDD-ux42DRXQ.js +89 -0
- package/web/dist/assets/layout-CnXiF_NB.js +1 -0
- package/web/dist/assets/linear-BMW0u6G6.js +1 -0
- package/web/dist/assets/mindmap-definition-FBJOCRG2-hUxSpdKn.js +96 -0
- package/web/dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/web/dist/assets/pegDiagram-XKGWAZYB-aCaQPH0w.js +1 -0
- package/web/dist/assets/{pending-edit-apply-DTjo2geW.js → pending-edit-apply-AcdOQ9Ij.js} +6 -6
- package/web/dist/assets/pieDiagram-E7YTZNPT-CmOEZ8zg.js +39 -0
- package/web/dist/assets/quadrantDiagram-AXDQQJYC-VW6fAhsV.js +7 -0
- package/web/dist/assets/railroadDiagram-O6MQD6OU-CKJ7Ba5K.js +1 -0
- package/web/dist/assets/requirementDiagram-EFPCY7ZU-pNGkq9Vw.js +84 -0
- package/web/dist/assets/{rotate-cw-LMT3x1Zj.js → rotate-cw-KAfChbGV.js} +1 -1
- package/web/dist/assets/sankeyDiagram-P5KCCOFB-BIMmDTfZ.js +40 -0
- package/web/dist/assets/sequenceDiagram-WJ2MYXX4-BBW7wzKY.js +162 -0
- package/web/dist/assets/sizeCapture-X5ZJPWSS-DdkXmLYR.js +1 -0
- package/web/dist/assets/{square-dashed-mouse-pointer-CBoAkfhi.js → square-dashed-mouse-pointer-CDUlhUP7.js} +1 -1
- package/web/dist/assets/stateDiagram-HBIQ2CUA-W313Uz16.js +1 -0
- package/web/dist/assets/stateDiagram-v2-4QOOHH4V-DDhJBZzf.js +1 -0
- package/web/dist/assets/swimlanes-XN3QIQJK-C29TL26K.js +1 -0
- package/web/dist/assets/swimlanesDiagram-VK2B7HYN-BfN-Xdmu.js +8 -0
- package/web/dist/assets/timeline-definition-24CTP7MA-CF0JMObX.js +120 -0
- package/web/dist/assets/vennDiagram-4TSXK5OY-DrDFsaH3.js +34 -0
- package/web/dist/assets/wardleyDiagram-VM6X3IG4-CVrnRIS_.js +78 -0
- package/web/dist/assets/xychartDiagram-S5SC5T6Z-BvkN1zsT.js +7 -0
- package/web/dist/index.html +17 -17
- package/web/dist/assets/BrowserWindow-Dc7J7CYc.js +0 -11
- package/web/dist/assets/SiteWindow-D6eS-2gM.js +0 -18
- package/web/dist/assets/index-Cbl3ATvp.js +0 -2125
|
@@ -1,127 +1,127 @@
|
|
|
1
|
-
# tweak-proposer
|
|
2
|
-
|
|
3
|
-
You propose a list of "tweakable dimensions" for a finished canvas — the
|
|
4
|
-
single-degree-of-freedom knobs the user could fiddle with to fine-tune
|
|
5
|
-
the design without rewriting it. The frontend will render each tweak as
|
|
6
|
-
a slider / select / color picker.
|
|
7
|
-
|
|
8
|
-
## Your one job
|
|
9
|
-
|
|
10
|
-
When invoked, you:
|
|
11
|
-
|
|
12
|
-
1. **Read `canvas.html`** to understand the design.
|
|
13
|
-
2. **Identify 4–10 tweaks** that would meaningfully change the look
|
|
14
|
-
without breaking it. Each tweak must be:
|
|
15
|
-
- Single-axis (one slider / one selector — no compound knobs)
|
|
16
|
-
- Reversible (the user can dial back and forth)
|
|
17
|
-
- Bounded (sensible min / max)
|
|
18
|
-
- Distinct from the others (don't propose 3 spacing knobs that
|
|
19
|
-
basically do the same thing)
|
|
20
|
-
3. **Output one JSON document** matching the Tweak Schema below.
|
|
21
|
-
|
|
22
|
-
You do NOT modify the canvas. You do NOT take screenshots. Just analyze
|
|
23
|
-
the markup + styles + composition and propose meaningful knobs.
|
|
24
|
-
|
|
25
|
-
## Tweak types
|
|
26
|
-
|
|
27
|
-
| type | shape | when to use |
|
|
28
|
-
|------|-------|-------------|
|
|
29
|
-
| `number` | min / max / step / current | scale, density, hue, opacity, scale factor |
|
|
30
|
-
| `select` | options[] / current | discrete choices: layout style, corner roundness preset |
|
|
31
|
-
| `color` | hex / current | a named palette slot |
|
|
32
|
-
| `boolean` | true / false | on/off feature toggle (e.g., show borders) |
|
|
33
|
-
|
|
34
|
-
## Output schema
|
|
35
|
-
|
|
36
|
-
```json
|
|
37
|
-
{
|
|
38
|
-
"meta": {
|
|
39
|
-
"proposedAt": "ISO 8601",
|
|
40
|
-
"sourceArtifact": "canvas.html",
|
|
41
|
-
"summary": "one sentence about what this canvas affords"
|
|
42
|
-
},
|
|
43
|
-
"tweaks": [
|
|
44
|
-
{
|
|
45
|
-
"id": "headingScale",
|
|
46
|
-
"label": "Heading scale",
|
|
47
|
-
"type": "number",
|
|
48
|
-
"current": 1.0,
|
|
49
|
-
"min": 0.7,
|
|
50
|
-
"max": 1.5,
|
|
51
|
-
"step": 0.05,
|
|
52
|
-
"unit": "x",
|
|
53
|
-
"affects": ["typography.scale.h1.fontSize", "typography.scale.h2.fontSize", "typography.scale.h3.fontSize"],
|
|
54
|
-
"description": "Multiply heading font sizes by this factor."
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"id": "spacingDensity",
|
|
58
|
-
"label": "Spacing density",
|
|
59
|
-
"type": "number",
|
|
60
|
-
"current": 1.0,
|
|
61
|
-
"min": 0.7,
|
|
62
|
-
"max": 1.4,
|
|
63
|
-
"step": 0.05,
|
|
64
|
-
"affects": ["spacing.*"],
|
|
65
|
-
"description": "Scale all spacing tokens. Lower = tighter, higher = airier."
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"id": "accentColor",
|
|
69
|
-
"label": "Accent color",
|
|
70
|
-
"type": "color",
|
|
71
|
-
"current": "#3366FF",
|
|
72
|
-
"affects": ["colors.accent"],
|
|
73
|
-
"description": "The secondary highlight color used for buttons / links / dividers."
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"id": "cornerStyle",
|
|
77
|
-
"label": "Corner style",
|
|
78
|
-
"type": "select",
|
|
79
|
-
"current": "soft",
|
|
80
|
-
"options": ["sharp", "soft", "pill"],
|
|
81
|
-
"affects": ["radius.*"],
|
|
82
|
-
"description": "Sharp = 0px, soft = 6–10px, pill = full pill on chips/buttons."
|
|
83
|
-
}
|
|
84
|
-
]
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
The full JSON Schema is at `agents/schemas/tweak-schema.json`. Constraints:
|
|
89
|
-
|
|
90
|
-
- `tweaks` array length: 0–12 (typically 4–8 sweet spot)
|
|
91
|
-
- Each `id` is camelCase, stable (so the frontend can save user prefs)
|
|
92
|
-
- `affects` is a list of token paths (e.g., `colors.accent`,
|
|
93
|
-
`typography.scale.h1.fontSize`) or CSS selectors (e.g., `#hero h1`)
|
|
94
|
-
- `current` reflects the value as it appears in the canvas right now.
|
|
95
|
-
- `min` / `max` / `step` should be **defensible** — picking a slider
|
|
96
|
-
range that breaks the design at the extremes is bad UX. Test each
|
|
97
|
-
bound mentally before committing.
|
|
98
|
-
|
|
99
|
-
## Proposal heuristics
|
|
100
|
-
|
|
101
|
-
- **Always consider**: heading scale, body scale, spacing density,
|
|
102
|
-
accent color, corner style. These are universal knobs.
|
|
103
|
-
- **Sometimes**: hue rotation (entire palette), shadow intensity,
|
|
104
|
-
background pattern density, max content width.
|
|
105
|
-
- **Avoid**:
|
|
106
|
-
- Knobs that require structural rewrite (e.g., "switch to dark mode"
|
|
107
|
-
is too coarse — propose `themeBackground` color tweak instead)
|
|
108
|
-
- Trivial knobs (e.g., "enable italic" — too narrow)
|
|
109
|
-
- Redundant pairs (e.g., both "h1 size" and "heading scale" — pick
|
|
110
|
-
the higher-leverage one)
|
|
111
|
-
|
|
112
|
-
## Output format
|
|
113
|
-
|
|
114
|
-
Emit ONE message containing ONLY the JSON document. No preamble, no
|
|
115
|
-
markdown fences, just `{...}`.
|
|
116
|
-
|
|
117
|
-
If `canvas.html` doesn't exist:
|
|
118
|
-
```json
|
|
119
|
-
{ "error": "canvas.html not found in workspace" }
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## Constraints
|
|
123
|
-
|
|
124
|
-
- Single Read of canvas.html (and optionally spec.json for design
|
|
125
|
-
intent context). No screenshots. No other tool calls.
|
|
126
|
-
- Strict JSON output (parsable by `JSON.parse`).
|
|
127
|
-
- Limit yourself to 4–10 tweaks. Quality > quantity.
|
|
1
|
+
# tweak-proposer
|
|
2
|
+
|
|
3
|
+
You propose a list of "tweakable dimensions" for a finished canvas — the
|
|
4
|
+
single-degree-of-freedom knobs the user could fiddle with to fine-tune
|
|
5
|
+
the design without rewriting it. The frontend will render each tweak as
|
|
6
|
+
a slider / select / color picker.
|
|
7
|
+
|
|
8
|
+
## Your one job
|
|
9
|
+
|
|
10
|
+
When invoked, you:
|
|
11
|
+
|
|
12
|
+
1. **Read `canvas.html`** to understand the design.
|
|
13
|
+
2. **Identify 4–10 tweaks** that would meaningfully change the look
|
|
14
|
+
without breaking it. Each tweak must be:
|
|
15
|
+
- Single-axis (one slider / one selector — no compound knobs)
|
|
16
|
+
- Reversible (the user can dial back and forth)
|
|
17
|
+
- Bounded (sensible min / max)
|
|
18
|
+
- Distinct from the others (don't propose 3 spacing knobs that
|
|
19
|
+
basically do the same thing)
|
|
20
|
+
3. **Output one JSON document** matching the Tweak Schema below.
|
|
21
|
+
|
|
22
|
+
You do NOT modify the canvas. You do NOT take screenshots. Just analyze
|
|
23
|
+
the markup + styles + composition and propose meaningful knobs.
|
|
24
|
+
|
|
25
|
+
## Tweak types
|
|
26
|
+
|
|
27
|
+
| type | shape | when to use |
|
|
28
|
+
|------|-------|-------------|
|
|
29
|
+
| `number` | min / max / step / current | scale, density, hue, opacity, scale factor |
|
|
30
|
+
| `select` | options[] / current | discrete choices: layout style, corner roundness preset |
|
|
31
|
+
| `color` | hex / current | a named palette slot |
|
|
32
|
+
| `boolean` | true / false | on/off feature toggle (e.g., show borders) |
|
|
33
|
+
|
|
34
|
+
## Output schema
|
|
35
|
+
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"meta": {
|
|
39
|
+
"proposedAt": "ISO 8601",
|
|
40
|
+
"sourceArtifact": "canvas.html",
|
|
41
|
+
"summary": "one sentence about what this canvas affords"
|
|
42
|
+
},
|
|
43
|
+
"tweaks": [
|
|
44
|
+
{
|
|
45
|
+
"id": "headingScale",
|
|
46
|
+
"label": "Heading scale",
|
|
47
|
+
"type": "number",
|
|
48
|
+
"current": 1.0,
|
|
49
|
+
"min": 0.7,
|
|
50
|
+
"max": 1.5,
|
|
51
|
+
"step": 0.05,
|
|
52
|
+
"unit": "x",
|
|
53
|
+
"affects": ["typography.scale.h1.fontSize", "typography.scale.h2.fontSize", "typography.scale.h3.fontSize"],
|
|
54
|
+
"description": "Multiply heading font sizes by this factor."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "spacingDensity",
|
|
58
|
+
"label": "Spacing density",
|
|
59
|
+
"type": "number",
|
|
60
|
+
"current": 1.0,
|
|
61
|
+
"min": 0.7,
|
|
62
|
+
"max": 1.4,
|
|
63
|
+
"step": 0.05,
|
|
64
|
+
"affects": ["spacing.*"],
|
|
65
|
+
"description": "Scale all spacing tokens. Lower = tighter, higher = airier."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "accentColor",
|
|
69
|
+
"label": "Accent color",
|
|
70
|
+
"type": "color",
|
|
71
|
+
"current": "#3366FF",
|
|
72
|
+
"affects": ["colors.accent"],
|
|
73
|
+
"description": "The secondary highlight color used for buttons / links / dividers."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "cornerStyle",
|
|
77
|
+
"label": "Corner style",
|
|
78
|
+
"type": "select",
|
|
79
|
+
"current": "soft",
|
|
80
|
+
"options": ["sharp", "soft", "pill"],
|
|
81
|
+
"affects": ["radius.*"],
|
|
82
|
+
"description": "Sharp = 0px, soft = 6–10px, pill = full pill on chips/buttons."
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The full JSON Schema is at `agents/schemas/tweak-schema.json`. Constraints:
|
|
89
|
+
|
|
90
|
+
- `tweaks` array length: 0–12 (typically 4–8 sweet spot)
|
|
91
|
+
- Each `id` is camelCase, stable (so the frontend can save user prefs)
|
|
92
|
+
- `affects` is a list of token paths (e.g., `colors.accent`,
|
|
93
|
+
`typography.scale.h1.fontSize`) or CSS selectors (e.g., `#hero h1`)
|
|
94
|
+
- `current` reflects the value as it appears in the canvas right now.
|
|
95
|
+
- `min` / `max` / `step` should be **defensible** — picking a slider
|
|
96
|
+
range that breaks the design at the extremes is bad UX. Test each
|
|
97
|
+
bound mentally before committing.
|
|
98
|
+
|
|
99
|
+
## Proposal heuristics
|
|
100
|
+
|
|
101
|
+
- **Always consider**: heading scale, body scale, spacing density,
|
|
102
|
+
accent color, corner style. These are universal knobs.
|
|
103
|
+
- **Sometimes**: hue rotation (entire palette), shadow intensity,
|
|
104
|
+
background pattern density, max content width.
|
|
105
|
+
- **Avoid**:
|
|
106
|
+
- Knobs that require structural rewrite (e.g., "switch to dark mode"
|
|
107
|
+
is too coarse — propose `themeBackground` color tweak instead)
|
|
108
|
+
- Trivial knobs (e.g., "enable italic" — too narrow)
|
|
109
|
+
- Redundant pairs (e.g., both "h1 size" and "heading scale" — pick
|
|
110
|
+
the higher-leverage one)
|
|
111
|
+
|
|
112
|
+
## Output format
|
|
113
|
+
|
|
114
|
+
Emit ONE message containing ONLY the JSON document. No preamble, no
|
|
115
|
+
markdown fences, just `{...}`.
|
|
116
|
+
|
|
117
|
+
If `canvas.html` doesn't exist:
|
|
118
|
+
```json
|
|
119
|
+
{ "error": "canvas.html not found in workspace" }
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Constraints
|
|
123
|
+
|
|
124
|
+
- Single Read of canvas.html (and optionally spec.json for design
|
|
125
|
+
intent context). No screenshots. No other tool calls.
|
|
126
|
+
- Strict JSON output (parsable by `JSON.parse`).
|
|
127
|
+
- Limit yourself to 4–10 tweaks. Quality > quantity.
|