@aexol/spectral 0.9.270 → 0.9.272
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/dist/agent/index.d.ts +10 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +26 -10
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +29 -5
- package/dist/commands/update.d.ts +2 -2
- package/dist/commands/update.js +3 -3
- package/dist/designer/index.d.ts +13 -18
- package/dist/designer/index.d.ts.map +1 -1
- package/dist/designer/index.js +128 -201
- package/dist/extensions/aexol-mcp.d.ts.map +1 -1
- package/dist/extensions/aexol-mcp.js +23 -0
- package/dist/memory/debug-log.d.ts.map +1 -1
- package/dist/memory/debug-log.js +20 -2
- package/dist/memory/tools/compact-context.d.ts +1 -1
- package/dist/memory/tools/compact-context.d.ts.map +1 -1
- package/dist/memory/tools/compact-context.js +4 -1
- package/dist/memory/tools/recall-observation.d.ts +3 -3
- package/dist/memory/tools/recall-observation.d.ts.map +1 -1
- package/dist/memory/tools/recall-observation.js +4 -1
- package/dist/memory/tools/receive-agent-observations.d.ts +3 -3
- package/dist/memory/tools/receive-agent-observations.d.ts.map +1 -1
- package/dist/memory/tools/receive-agent-observations.js +4 -1
- package/dist/memory/tools/share-project-observation.d.ts +3 -3
- package/dist/memory/tools/share-project-observation.d.ts.map +1 -1
- package/dist/memory/tools/share-project-observation.js +4 -1
- package/dist/memory/tools/write-project-observation.d.ts +3 -3
- package/dist/memory/tools/write-project-observation.d.ts.map +1 -1
- package/dist/memory/tools/write-project-observation.js +4 -1
- package/dist/relay/client.d.ts.map +1 -1
- package/dist/relay/client.js +5 -2
- package/dist/sdk/ai/env-api-keys.js +1 -1
- package/dist/sdk/coding-agent/core/extensions/loader.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/extensions/loader.js +31 -3
- package/dist/sdk/coding-agent/core/theme.js +1 -1
- package/dist/server/handlers/agent-settings.d.ts.map +1 -1
- package/dist/server/handlers/agent-settings.js +4 -1
- package/dist/server/handlers/settings-lock.d.ts.map +1 -1
- package/dist/server/handlers/settings-lock.js +4 -1
- package/dist/server/storage.d.ts.map +1 -1
- package/dist/server/storage.js +13 -1
- package/dist/utils/serve-state.d.ts +17 -0
- package/dist/utils/serve-state.d.ts.map +1 -1
- package/dist/utils/serve-state.js +73 -0
- package/package.json +1 -1
- package/dist/designer/data/skills/blog-post.d.ts +0 -3
- package/dist/designer/data/skills/blog-post.d.ts.map +0 -1
- package/dist/designer/data/skills/blog-post.js +0 -84
- package/dist/designer/data/skills/blog-post.ts +0 -87
- package/dist/designer/data/skills/critique.d.ts +0 -3
- package/dist/designer/data/skills/critique.d.ts.map +0 -1
- package/dist/designer/data/skills/critique.js +0 -109
- package/dist/designer/data/skills/critique.ts +0 -112
- package/dist/designer/data/skills/dashboard.d.ts +0 -3
- package/dist/designer/data/skills/dashboard.d.ts.map +0 -1
- package/dist/designer/data/skills/dashboard.js +0 -165
- package/dist/designer/data/skills/dashboard.ts +0 -168
- package/dist/designer/data/skills/design-brief.d.ts +0 -3
- package/dist/designer/data/skills/design-brief.d.ts.map +0 -1
- package/dist/designer/data/skills/design-brief.js +0 -141
- package/dist/designer/data/skills/design-brief.ts +0 -144
- package/dist/designer/data/skills/design-skill.d.ts +0 -10
- package/dist/designer/data/skills/design-skill.d.ts.map +0 -1
- package/dist/designer/data/skills/design-skill.js +0 -1
- package/dist/designer/data/skills/design-skill.ts +0 -9
- package/dist/designer/data/skills/docs-page.d.ts +0 -3
- package/dist/designer/data/skills/docs-page.d.ts.map +0 -1
- package/dist/designer/data/skills/docs-page.js +0 -68
- package/dist/designer/data/skills/docs-page.ts +0 -71
- package/dist/designer/data/skills/index.d.ts +0 -3
- package/dist/designer/data/skills/index.d.ts.map +0 -1
- package/dist/designer/data/skills/index.js +0 -28
- package/dist/designer/data/skills/index.ts +0 -30
- package/dist/designer/data/skills/magazine-poster.d.ts +0 -3
- package/dist/designer/data/skills/magazine-poster.d.ts.map +0 -1
- package/dist/designer/data/skills/magazine-poster.js +0 -70
- package/dist/designer/data/skills/magazine-poster.ts +0 -73
- package/dist/designer/data/skills/mobile-app.d.ts +0 -3
- package/dist/designer/data/skills/mobile-app.d.ts.map +0 -1
- package/dist/designer/data/skills/mobile-app.js +0 -229
- package/dist/designer/data/skills/mobile-app.ts +0 -232
- package/dist/designer/data/skills/motion-frames.d.ts +0 -3
- package/dist/designer/data/skills/motion-frames.d.ts.map +0 -1
- package/dist/designer/data/skills/motion-frames.js +0 -121
- package/dist/designer/data/skills/motion-frames.ts +0 -124
- package/dist/designer/data/skills/pricing-page.d.ts +0 -3
- package/dist/designer/data/skills/pricing-page.d.ts.map +0 -1
- package/dist/designer/data/skills/pricing-page.js +0 -76
- package/dist/designer/data/skills/pricing-page.ts +0 -79
- package/dist/designer/data/skills/saas-landing.d.ts +0 -3
- package/dist/designer/data/skills/saas-landing.d.ts.map +0 -1
- package/dist/designer/data/skills/saas-landing.js +0 -71
- package/dist/designer/data/skills/saas-landing.ts +0 -74
- package/dist/designer/data/skills/slide-deck.d.ts +0 -3
- package/dist/designer/data/skills/slide-deck.d.ts.map +0 -1
- package/dist/designer/data/skills/slide-deck.js +0 -213
- package/dist/designer/data/skills/slide-deck.ts +0 -216
- package/dist/designer/data/skills/social-carousel.d.ts +0 -3
- package/dist/designer/data/skills/social-carousel.d.ts.map +0 -1
- package/dist/designer/data/skills/social-carousel.js +0 -135
- package/dist/designer/data/skills/social-carousel.ts +0 -138
- package/dist/designer/data/skills/web-prototype.d.ts +0 -3
- package/dist/designer/data/skills/web-prototype.d.ts.map +0 -1
- package/dist/designer/data/skills/web-prototype.js +0 -159
- package/dist/designer/data/skills/web-prototype.ts +0 -162
- package/dist/designer/data/systems/agentic/DESIGN.md +0 -71
- package/dist/designer/data/systems/agentic/components.html +0 -154
- package/dist/designer/data/systems/agentic/tokens.css +0 -63
- package/dist/designer/data/systems/airbnb/DESIGN.md +0 -393
- package/dist/designer/data/systems/airbnb/components.html +0 -1373
- package/dist/designer/data/systems/airbnb/tokens.css +0 -261
- package/dist/designer/data/systems/airtable/DESIGN.md +0 -92
- package/dist/designer/data/systems/airtable/components.html +0 -489
- package/dist/designer/data/systems/airtable/tokens.css +0 -261
- package/dist/designer/data/systems/ant/DESIGN.md +0 -71
- package/dist/designer/data/systems/ant/components.html +0 -154
- package/dist/designer/data/systems/ant/tokens.css +0 -63
- package/dist/designer/data/systems/apple/DESIGN.md +0 -250
- package/dist/designer/data/systems/apple/components.html +0 -749
- package/dist/designer/data/systems/apple/tokens.css +0 -286
- package/dist/designer/data/systems/application/DESIGN.md +0 -71
- package/dist/designer/data/systems/application/components.html +0 -154
- package/dist/designer/data/systems/application/tokens.css +0 -63
- package/dist/designer/data/systems/arc/DESIGN.md +0 -152
- package/dist/designer/data/systems/arc/components.html +0 -432
- package/dist/designer/data/systems/arc/tokens.css +0 -137
- package/dist/designer/data/systems/artistic/DESIGN.md +0 -71
- package/dist/designer/data/systems/artistic/components.html +0 -136
- package/dist/designer/data/systems/artistic/tokens.css +0 -63
- package/dist/designer/data/systems/atelier-zero/DESIGN.md +0 -316
- package/dist/designer/data/systems/atelier-zero/components.html +0 -136
- package/dist/designer/data/systems/atelier-zero/tokens.css +0 -63
- package/dist/designer/data/systems/bento/DESIGN.md +0 -71
- package/dist/designer/data/systems/bento/components.html +0 -136
- package/dist/designer/data/systems/bento/tokens.css +0 -63
- package/dist/designer/data/systems/binance/DESIGN.md +0 -348
- package/dist/designer/data/systems/binance/components.html +0 -550
- package/dist/designer/data/systems/binance/tokens.css +0 -255
- package/dist/designer/data/systems/bmw/DESIGN.md +0 -183
- package/dist/designer/data/systems/bmw/components.html +0 -551
- package/dist/designer/data/systems/bmw/tokens.css +0 -179
- package/dist/designer/data/systems/bmw-m/DESIGN.md +0 -246
- package/dist/designer/data/systems/bmw-m/components.html +0 -342
- package/dist/designer/data/systems/bmw-m/tokens.css +0 -64
- package/dist/designer/data/systems/bold/DESIGN.md +0 -71
- package/dist/designer/data/systems/bold/components.html +0 -136
- package/dist/designer/data/systems/bold/tokens.css +0 -63
- package/dist/designer/data/systems/brutalism/DESIGN.md +0 -71
- package/dist/designer/data/systems/brutalism/components.html +0 -154
- package/dist/designer/data/systems/brutalism/tokens.css +0 -63
- package/dist/designer/data/systems/bugatti/DESIGN.md +0 -271
- package/dist/designer/data/systems/bugatti/components.html +0 -342
- package/dist/designer/data/systems/bugatti/tokens.css +0 -64
- package/dist/designer/data/systems/cafe/DESIGN.md +0 -71
- package/dist/designer/data/systems/cafe/components.html +0 -136
- package/dist/designer/data/systems/cafe/tokens.css +0 -63
- package/dist/designer/data/systems/cal/DESIGN.md +0 -262
- package/dist/designer/data/systems/cal/components.html +0 -376
- package/dist/designer/data/systems/cal/tokens.css +0 -265
- package/dist/designer/data/systems/canva/DESIGN.md +0 -157
- package/dist/designer/data/systems/canva/components.html +0 -461
- package/dist/designer/data/systems/canva/tokens.css +0 -147
- package/dist/designer/data/systems/cisco/DESIGN.md +0 -201
- package/dist/designer/data/systems/cisco/components.html +0 -342
- package/dist/designer/data/systems/cisco/tokens.css +0 -64
- package/dist/designer/data/systems/claude/DESIGN.md +0 -315
- package/dist/designer/data/systems/claude/components.html +0 -483
- package/dist/designer/data/systems/claude/tokens.css +0 -130
- package/dist/designer/data/systems/clay/DESIGN.md +0 -307
- package/dist/designer/data/systems/clay/components.html +0 -136
- package/dist/designer/data/systems/clay/tokens.css +0 -63
- package/dist/designer/data/systems/claymorphism/DESIGN.md +0 -71
- package/dist/designer/data/systems/claymorphism/components.html +0 -136
- package/dist/designer/data/systems/claymorphism/tokens.css +0 -63
- package/dist/designer/data/systems/clean/DESIGN.md +0 -71
- package/dist/designer/data/systems/clean/components.html +0 -136
- package/dist/designer/data/systems/clean/tokens.css +0 -63
- package/dist/designer/data/systems/clickhouse/DESIGN.md +0 -284
- package/dist/designer/data/systems/clickhouse/components.html +0 -506
- package/dist/designer/data/systems/clickhouse/tokens.css +0 -135
- package/dist/designer/data/systems/cohere/DESIGN.md +0 -269
- package/dist/designer/data/systems/cohere/components.html +0 -353
- package/dist/designer/data/systems/cohere/tokens.css +0 -126
- package/dist/designer/data/systems/coinbase/DESIGN.md +0 -132
- package/dist/designer/data/systems/coinbase/components.html +0 -501
- package/dist/designer/data/systems/coinbase/tokens.css +0 -257
- package/dist/designer/data/systems/colorful/DESIGN.md +0 -71
- package/dist/designer/data/systems/colorful/components.html +0 -136
- package/dist/designer/data/systems/colorful/tokens.css +0 -63
- package/dist/designer/data/systems/composio/DESIGN.md +0 -310
- package/dist/designer/data/systems/composio/components.html +0 -342
- package/dist/designer/data/systems/composio/tokens.css +0 -64
- package/dist/designer/data/systems/contemporary/DESIGN.md +0 -71
- package/dist/designer/data/systems/contemporary/components.html +0 -136
- package/dist/designer/data/systems/contemporary/tokens.css +0 -63
- package/dist/designer/data/systems/corporate/DESIGN.md +0 -71
- package/dist/designer/data/systems/corporate/components.html +0 -136
- package/dist/designer/data/systems/corporate/tokens.css +0 -63
- package/dist/designer/data/systems/cosmic/DESIGN.md +0 -71
- package/dist/designer/data/systems/cosmic/components.html +0 -136
- package/dist/designer/data/systems/cosmic/tokens.css +0 -63
- package/dist/designer/data/systems/creative/DESIGN.md +0 -71
- package/dist/designer/data/systems/creative/components.html +0 -136
- package/dist/designer/data/systems/creative/tokens.css +0 -63
- package/dist/designer/data/systems/cursor/DESIGN.md +0 -312
- package/dist/designer/data/systems/cursor/components.html +0 -654
- package/dist/designer/data/systems/cursor/tokens.css +0 -218
- package/dist/designer/data/systems/dashboard/DESIGN.md +0 -71
- package/dist/designer/data/systems/dashboard/components.html +0 -154
- package/dist/designer/data/systems/dashboard/tokens.css +0 -63
- package/dist/designer/data/systems/default/DESIGN.md +0 -62
- package/dist/designer/data/systems/default/components.html +0 -523
- package/dist/designer/data/systems/default/tokens.css +0 -200
- package/dist/designer/data/systems/discord/DESIGN.md +0 -162
- package/dist/designer/data/systems/discord/components.html +0 -359
- package/dist/designer/data/systems/discord/tokens.css +0 -125
- package/dist/designer/data/systems/dithered/DESIGN.md +0 -71
- package/dist/designer/data/systems/dithered/components.html +0 -136
- package/dist/designer/data/systems/dithered/tokens.css +0 -63
- package/dist/designer/data/systems/doodle/DESIGN.md +0 -71
- package/dist/designer/data/systems/doodle/components.html +0 -136
- package/dist/designer/data/systems/doodle/tokens.css +0 -63
- package/dist/designer/data/systems/dramatic/DESIGN.md +0 -71
- package/dist/designer/data/systems/dramatic/components.html +0 -136
- package/dist/designer/data/systems/dramatic/tokens.css +0 -63
- package/dist/designer/data/systems/duolingo/DESIGN.md +0 -154
- package/dist/designer/data/systems/duolingo/components.html +0 -532
- package/dist/designer/data/systems/duolingo/tokens.css +0 -130
- package/dist/designer/data/systems/editorial/DESIGN.md +0 -71
- package/dist/designer/data/systems/editorial/components.html +0 -154
- package/dist/designer/data/systems/editorial/tokens.css +0 -63
- package/dist/designer/data/systems/elegant/DESIGN.md +0 -71
- package/dist/designer/data/systems/elegant/components.html +0 -136
- package/dist/designer/data/systems/elegant/tokens.css +0 -63
- package/dist/designer/data/systems/elevenlabs/DESIGN.md +0 -268
- package/dist/designer/data/systems/elevenlabs/components.html +0 -342
- package/dist/designer/data/systems/elevenlabs/tokens.css +0 -127
- package/dist/designer/data/systems/energetic/DESIGN.md +0 -72
- package/dist/designer/data/systems/energetic/components.html +0 -136
- package/dist/designer/data/systems/energetic/tokens.css +0 -63
- package/dist/designer/data/systems/enterprise/DESIGN.md +0 -71
- package/dist/designer/data/systems/enterprise/components.html +0 -154
- package/dist/designer/data/systems/enterprise/tokens.css +0 -63
- package/dist/designer/data/systems/expo/DESIGN.md +0 -284
- package/dist/designer/data/systems/expo/components.html +0 -342
- package/dist/designer/data/systems/expo/tokens.css +0 -64
- package/dist/designer/data/systems/expressive/DESIGN.md +0 -71
- package/dist/designer/data/systems/expressive/components.html +0 -136
- package/dist/designer/data/systems/expressive/tokens.css +0 -63
- package/dist/designer/data/systems/fantasy/DESIGN.md +0 -71
- package/dist/designer/data/systems/fantasy/components.html +0 -136
- package/dist/designer/data/systems/fantasy/tokens.css +0 -63
- package/dist/designer/data/systems/ferrari/DESIGN.md +0 -317
- package/dist/designer/data/systems/ferrari/components.html +0 -342
- package/dist/designer/data/systems/ferrari/tokens.css +0 -64
- package/dist/designer/data/systems/figma/DESIGN.md +0 -223
- package/dist/designer/data/systems/figma/components.html +0 -344
- package/dist/designer/data/systems/figma/tokens.css +0 -126
- package/dist/designer/data/systems/flat/DESIGN.md +0 -71
- package/dist/designer/data/systems/flat/components.html +0 -136
- package/dist/designer/data/systems/flat/tokens.css +0 -63
- package/dist/designer/data/systems/framer/DESIGN.md +0 -249
- package/dist/designer/data/systems/framer/components.html +0 -438
- package/dist/designer/data/systems/framer/tokens.css +0 -238
- package/dist/designer/data/systems/friendly/DESIGN.md +0 -71
- package/dist/designer/data/systems/friendly/components.html +0 -136
- package/dist/designer/data/systems/friendly/tokens.css +0 -63
- package/dist/designer/data/systems/futuristic/DESIGN.md +0 -71
- package/dist/designer/data/systems/futuristic/components.html +0 -136
- package/dist/designer/data/systems/futuristic/tokens.css +0 -63
- package/dist/designer/data/systems/github/DESIGN.md +0 -155
- package/dist/designer/data/systems/github/components.html +0 -383
- package/dist/designer/data/systems/github/tokens.css +0 -125
- package/dist/designer/data/systems/glassmorphism/DESIGN.md +0 -71
- package/dist/designer/data/systems/glassmorphism/components.html +0 -154
- package/dist/designer/data/systems/glassmorphism/tokens.css +0 -63
- package/dist/designer/data/systems/gradient/DESIGN.md +0 -71
- package/dist/designer/data/systems/gradient/components.html +0 -154
- package/dist/designer/data/systems/gradient/tokens.css +0 -63
- package/dist/designer/data/systems/hashicorp/DESIGN.md +0 -281
- package/dist/designer/data/systems/hashicorp/components.html +0 -502
- package/dist/designer/data/systems/hashicorp/tokens.css +0 -272
- package/dist/designer/data/systems/hud/DESIGN.md +0 -173
- package/dist/designer/data/systems/hud/components.html +0 -136
- package/dist/designer/data/systems/hud/tokens.css +0 -63
- package/dist/designer/data/systems/huggingface/DESIGN.md +0 -149
- package/dist/designer/data/systems/huggingface/components.html +0 -346
- package/dist/designer/data/systems/huggingface/tokens.css +0 -125
- package/dist/designer/data/systems/ibm/DESIGN.md +0 -335
- package/dist/designer/data/systems/ibm/components.html +0 -342
- package/dist/designer/data/systems/ibm/tokens.css +0 -64
- package/dist/designer/data/systems/intercom/DESIGN.md +0 -149
- package/dist/designer/data/systems/intercom/components.html +0 -557
- package/dist/designer/data/systems/intercom/tokens.css +0 -150
- package/dist/designer/data/systems/kami/DESIGN.md +0 -410
- package/dist/designer/data/systems/kami/components.html +0 -601
- package/dist/designer/data/systems/kami/tokens.css +0 -272
- package/dist/designer/data/systems/kraken/DESIGN.md +0 -128
- package/dist/designer/data/systems/kraken/components.html +0 -342
- package/dist/designer/data/systems/kraken/tokens.css +0 -64
- package/dist/designer/data/systems/lamborghini/DESIGN.md +0 -291
- package/dist/designer/data/systems/lamborghini/components.html +0 -342
- package/dist/designer/data/systems/lamborghini/tokens.css +0 -64
- package/dist/designer/data/systems/levels/DESIGN.md +0 -71
- package/dist/designer/data/systems/levels/components.html +0 -154
- package/dist/designer/data/systems/levels/tokens.css +0 -63
- package/dist/designer/data/systems/linear-app/DESIGN.md +0 -370
- package/dist/designer/data/systems/linear-app/components.html +0 -370
- package/dist/designer/data/systems/linear-app/tokens.css +0 -130
- package/dist/designer/data/systems/lingo/DESIGN.md +0 -71
- package/dist/designer/data/systems/lingo/components.html +0 -154
- package/dist/designer/data/systems/lingo/tokens.css +0 -63
- package/dist/designer/data/systems/loom/DESIGN.md +0 -201
- package/dist/designer/data/systems/loom/components.html +0 -446
- package/dist/designer/data/systems/loom/tokens.css +0 -138
- package/dist/designer/data/systems/lovable/DESIGN.md +0 -301
- package/dist/designer/data/systems/lovable/components.html +0 -441
- package/dist/designer/data/systems/lovable/tokens.css +0 -258
- package/dist/designer/data/systems/luxury/DESIGN.md +0 -71
- package/dist/designer/data/systems/luxury/components.html +0 -154
- package/dist/designer/data/systems/luxury/tokens.css +0 -63
- package/dist/designer/data/systems/mastercard/DESIGN.md +0 -368
- package/dist/designer/data/systems/mastercard/components.html +0 -342
- package/dist/designer/data/systems/mastercard/tokens.css +0 -64
- package/dist/designer/data/systems/material/DESIGN.md +0 -71
- package/dist/designer/data/systems/material/components.html +0 -154
- package/dist/designer/data/systems/material/tokens.css +0 -63
- package/dist/designer/data/systems/meta/DESIGN.md +0 -369
- package/dist/designer/data/systems/meta/components.html +0 -398
- package/dist/designer/data/systems/meta/tokens.css +0 -263
- package/dist/designer/data/systems/minimal/DESIGN.md +0 -71
- package/dist/designer/data/systems/minimal/components.html +0 -154
- package/dist/designer/data/systems/minimal/tokens.css +0 -63
- package/dist/designer/data/systems/minimax/DESIGN.md +0 -260
- package/dist/designer/data/systems/minimax/components.html +0 -590
- package/dist/designer/data/systems/minimax/tokens.css +0 -148
- package/dist/designer/data/systems/mintlify/DESIGN.md +0 -329
- package/dist/designer/data/systems/mintlify/components.html +0 -737
- package/dist/designer/data/systems/mintlify/tokens.css +0 -256
- package/dist/designer/data/systems/miro/DESIGN.md +0 -111
- package/dist/designer/data/systems/miro/components.html +0 -342
- package/dist/designer/data/systems/miro/tokens.css +0 -64
- package/dist/designer/data/systems/mission-control/DESIGN.md +0 -474
- package/dist/designer/data/systems/mission-control/components.html +0 -136
- package/dist/designer/data/systems/mission-control/tokens.css +0 -63
- package/dist/designer/data/systems/mistral-ai/DESIGN.md +0 -264
- package/dist/designer/data/systems/mistral-ai/components.html +0 -338
- package/dist/designer/data/systems/mistral-ai/tokens.css +0 -125
- package/dist/designer/data/systems/modern/DESIGN.md +0 -71
- package/dist/designer/data/systems/modern/components.html +0 -154
- package/dist/designer/data/systems/modern/tokens.css +0 -63
- package/dist/designer/data/systems/mongodb/DESIGN.md +0 -269
- package/dist/designer/data/systems/mongodb/components.html +0 -462
- package/dist/designer/data/systems/mongodb/tokens.css +0 -176
- package/dist/designer/data/systems/mono/DESIGN.md +0 -71
- package/dist/designer/data/systems/mono/components.html +0 -136
- package/dist/designer/data/systems/mono/tokens.css +0 -63
- package/dist/designer/data/systems/neobrutalism/DESIGN.md +0 -71
- package/dist/designer/data/systems/neobrutalism/components.html +0 -136
- package/dist/designer/data/systems/neobrutalism/tokens.css +0 -63
- package/dist/designer/data/systems/neon/DESIGN.md +0 -71
- package/dist/designer/data/systems/neon/components.html +0 -136
- package/dist/designer/data/systems/neon/tokens.css +0 -63
- package/dist/designer/data/systems/neumorphism/DESIGN.md +0 -71
- package/dist/designer/data/systems/neumorphism/components.html +0 -136
- package/dist/designer/data/systems/neumorphism/tokens.css +0 -63
- package/dist/designer/data/systems/nike/DESIGN.md +0 -366
- package/dist/designer/data/systems/nike/components.html +0 -512
- package/dist/designer/data/systems/nike/tokens.css +0 -304
- package/dist/designer/data/systems/notion/DESIGN.md +0 -312
- package/dist/designer/data/systems/notion/components.html +0 -413
- package/dist/designer/data/systems/notion/tokens.css +0 -130
- package/dist/designer/data/systems/nvidia/DESIGN.md +0 -296
- package/dist/designer/data/systems/nvidia/components.html +0 -414
- package/dist/designer/data/systems/nvidia/tokens.css +0 -133
- package/dist/designer/data/systems/ollama/DESIGN.md +0 -270
- package/dist/designer/data/systems/ollama/components.html +0 -700
- package/dist/designer/data/systems/ollama/tokens.css +0 -242
- package/dist/designer/data/systems/openai/DESIGN.md +0 -140
- package/dist/designer/data/systems/openai/components.html +0 -382
- package/dist/designer/data/systems/openai/tokens.css +0 -133
- package/dist/designer/data/systems/opencode-ai/DESIGN.md +0 -284
- package/dist/designer/data/systems/opencode-ai/components.html +0 -389
- package/dist/designer/data/systems/opencode-ai/tokens.css +0 -126
- package/dist/designer/data/systems/pacman/DESIGN.md +0 -71
- package/dist/designer/data/systems/pacman/components.html +0 -342
- package/dist/designer/data/systems/pacman/tokens.css +0 -64
- package/dist/designer/data/systems/paper/DESIGN.md +0 -71
- package/dist/designer/data/systems/paper/components.html +0 -136
- package/dist/designer/data/systems/paper/tokens.css +0 -63
- package/dist/designer/data/systems/perplexity/DESIGN.md +0 -286
- package/dist/designer/data/systems/perplexity/components.html +0 -455
- package/dist/designer/data/systems/perplexity/tokens.css +0 -151
- package/dist/designer/data/systems/perspective/DESIGN.md +0 -71
- package/dist/designer/data/systems/perspective/components.html +0 -136
- package/dist/designer/data/systems/perspective/tokens.css +0 -63
- package/dist/designer/data/systems/pinterest/DESIGN.md +0 -233
- package/dist/designer/data/systems/pinterest/components.html +0 -865
- package/dist/designer/data/systems/pinterest/tokens.css +0 -262
- package/dist/designer/data/systems/playstation/DESIGN.md +0 -367
- package/dist/designer/data/systems/playstation/components.html +0 -414
- package/dist/designer/data/systems/playstation/tokens.css +0 -150
- package/dist/designer/data/systems/posthog/DESIGN.md +0 -259
- package/dist/designer/data/systems/posthog/components.html +0 -827
- package/dist/designer/data/systems/posthog/tokens.css +0 -272
- package/dist/designer/data/systems/premium/DESIGN.md +0 -71
- package/dist/designer/data/systems/premium/components.html +0 -154
- package/dist/designer/data/systems/premium/tokens.css +0 -63
- package/dist/designer/data/systems/professional/DESIGN.md +0 -71
- package/dist/designer/data/systems/professional/components.html +0 -136
- package/dist/designer/data/systems/professional/tokens.css +0 -63
- package/dist/designer/data/systems/publication/DESIGN.md +0 -71
- package/dist/designer/data/systems/publication/components.html +0 -154
- package/dist/designer/data/systems/publication/tokens.css +0 -63
- package/dist/designer/data/systems/raycast/DESIGN.md +0 -271
- package/dist/designer/data/systems/raycast/components.html +0 -507
- package/dist/designer/data/systems/raycast/tokens.css +0 -143
- package/dist/designer/data/systems/refined/DESIGN.md +0 -71
- package/dist/designer/data/systems/refined/components.html +0 -136
- package/dist/designer/data/systems/refined/tokens.css +0 -63
- package/dist/designer/data/systems/renault/DESIGN.md +0 -314
- package/dist/designer/data/systems/renault/components.html +0 -154
- package/dist/designer/data/systems/renault/tokens.css +0 -63
- package/dist/designer/data/systems/replicate/DESIGN.md +0 -264
- package/dist/designer/data/systems/replicate/components.html +0 -340
- package/dist/designer/data/systems/replicate/tokens.css +0 -125
- package/dist/designer/data/systems/resend/DESIGN.md +0 -306
- package/dist/designer/data/systems/resend/components.html +0 -839
- package/dist/designer/data/systems/resend/tokens.css +0 -353
- package/dist/designer/data/systems/retro/DESIGN.md +0 -71
- package/dist/designer/data/systems/retro/components.html +0 -136
- package/dist/designer/data/systems/retro/tokens.css +0 -63
- package/dist/designer/data/systems/revolut/DESIGN.md +0 -188
- package/dist/designer/data/systems/revolut/components.html +0 -342
- package/dist/designer/data/systems/revolut/tokens.css +0 -64
- package/dist/designer/data/systems/runwayml/DESIGN.md +0 -247
- package/dist/designer/data/systems/runwayml/components.html +0 -638
- package/dist/designer/data/systems/runwayml/tokens.css +0 -204
- package/dist/designer/data/systems/sanity/DESIGN.md +0 -360
- package/dist/designer/data/systems/sanity/components.html +0 -342
- package/dist/designer/data/systems/sanity/tokens.css +0 -64
- package/dist/designer/data/systems/sentry/DESIGN.md +0 -265
- package/dist/designer/data/systems/sentry/components.html +0 -387
- package/dist/designer/data/systems/sentry/tokens.css +0 -219
- package/dist/designer/data/systems/shadcn/DESIGN.md +0 -71
- package/dist/designer/data/systems/shadcn/components.html +0 -732
- package/dist/designer/data/systems/shadcn/tokens.css +0 -255
- package/dist/designer/data/systems/shopify/DESIGN.md +0 -353
- package/dist/designer/data/systems/shopify/components.html +0 -342
- package/dist/designer/data/systems/shopify/tokens.css +0 -141
- package/dist/designer/data/systems/simple/DESIGN.md +0 -71
- package/dist/designer/data/systems/simple/components.html +0 -136
- package/dist/designer/data/systems/simple/tokens.css +0 -63
- package/dist/designer/data/systems/skeumorphism/DESIGN.md +0 -71
- package/dist/designer/data/systems/skeumorphism/components.html +0 -136
- package/dist/designer/data/systems/skeumorphism/tokens.css +0 -63
- package/dist/designer/data/systems/slack/DESIGN.md +0 -363
- package/dist/designer/data/systems/slack/components.html +0 -387
- package/dist/designer/data/systems/slack/tokens.css +0 -127
- package/dist/designer/data/systems/sleek/DESIGN.md +0 -71
- package/dist/designer/data/systems/sleek/components.html +0 -136
- package/dist/designer/data/systems/sleek/tokens.css +0 -63
- package/dist/designer/data/systems/spacex/DESIGN.md +0 -197
- package/dist/designer/data/systems/spacex/components.html +0 -496
- package/dist/designer/data/systems/spacex/tokens.css +0 -154
- package/dist/designer/data/systems/spacious/DESIGN.md +0 -71
- package/dist/designer/data/systems/spacious/components.html +0 -136
- package/dist/designer/data/systems/spacious/tokens.css +0 -63
- package/dist/designer/data/systems/spotify/DESIGN.md +0 -249
- package/dist/designer/data/systems/spotify/components.html +0 -365
- package/dist/designer/data/systems/spotify/tokens.css +0 -127
- package/dist/designer/data/systems/starbucks/DESIGN.md +0 -583
- package/dist/designer/data/systems/starbucks/components.html +0 -493
- package/dist/designer/data/systems/starbucks/tokens.css +0 -182
- package/dist/designer/data/systems/storytelling/DESIGN.md +0 -71
- package/dist/designer/data/systems/storytelling/components.html +0 -136
- package/dist/designer/data/systems/storytelling/tokens.css +0 -63
- package/dist/designer/data/systems/stripe/DESIGN.md +0 -325
- package/dist/designer/data/systems/stripe/components.html +0 -1018
- package/dist/designer/data/systems/stripe/tokens.css +0 -295
- package/dist/designer/data/systems/supabase/DESIGN.md +0 -258
- package/dist/designer/data/systems/supabase/components.html +0 -741
- package/dist/designer/data/systems/supabase/tokens.css +0 -294
- package/dist/designer/data/systems/superhuman/DESIGN.md +0 -255
- package/dist/designer/data/systems/superhuman/components.html +0 -537
- package/dist/designer/data/systems/superhuman/tokens.css +0 -160
- package/dist/designer/data/systems/tesla/DESIGN.md +0 -289
- package/dist/designer/data/systems/tesla/components.html +0 -724
- package/dist/designer/data/systems/tesla/tokens.css +0 -285
- package/dist/designer/data/systems/tetris/DESIGN.md +0 -71
- package/dist/designer/data/systems/tetris/components.html +0 -342
- package/dist/designer/data/systems/tetris/tokens.css +0 -64
- package/dist/designer/data/systems/theverge/DESIGN.md +0 -342
- package/dist/designer/data/systems/theverge/components.html +0 -342
- package/dist/designer/data/systems/theverge/tokens.css +0 -64
- package/dist/designer/data/systems/together-ai/DESIGN.md +0 -266
- package/dist/designer/data/systems/together-ai/components.html +0 -422
- package/dist/designer/data/systems/together-ai/tokens.css +0 -127
- package/dist/designer/data/systems/totality-festival/DESIGN.md +0 -206
- package/dist/designer/data/systems/totality-festival/components.html +0 -136
- package/dist/designer/data/systems/totality-festival/tokens.css +0 -63
- package/dist/designer/data/systems/trading-terminal/DESIGN.md +0 -178
- package/dist/designer/data/systems/trading-terminal/components.html +0 -154
- package/dist/designer/data/systems/trading-terminal/tokens.css +0 -63
- package/dist/designer/data/systems/uber/DESIGN.md +0 -298
- package/dist/designer/data/systems/uber/components.html +0 -347
- package/dist/designer/data/systems/uber/tokens.css +0 -131
- package/dist/designer/data/systems/urdu/DESIGN.md +0 -1002
- package/dist/designer/data/systems/urdu/components.html +0 -136
- package/dist/designer/data/systems/urdu/tokens.css +0 -63
- package/dist/designer/data/systems/vercel/DESIGN.md +0 -313
- package/dist/designer/data/systems/vercel/components.html +0 -839
- package/dist/designer/data/systems/vercel/tokens.css +0 -270
- package/dist/designer/data/systems/vibrant/DESIGN.md +0 -71
- package/dist/designer/data/systems/vibrant/components.html +0 -136
- package/dist/designer/data/systems/vibrant/tokens.css +0 -63
- package/dist/designer/data/systems/vintage/DESIGN.md +0 -71
- package/dist/designer/data/systems/vintage/components.html +0 -136
- package/dist/designer/data/systems/vintage/tokens.css +0 -63
- package/dist/designer/data/systems/vodafone/DESIGN.md +0 -426
- package/dist/designer/data/systems/vodafone/components.html +0 -342
- package/dist/designer/data/systems/vodafone/tokens.css +0 -64
- package/dist/designer/data/systems/voltagent/DESIGN.md +0 -326
- package/dist/designer/data/systems/voltagent/components.html +0 -154
- package/dist/designer/data/systems/voltagent/tokens.css +0 -63
- package/dist/designer/data/systems/warm-editorial/DESIGN.md +0 -65
- package/dist/designer/data/systems/warm-editorial/components.html +0 -136
- package/dist/designer/data/systems/warm-editorial/tokens.css +0 -63
- package/dist/designer/data/systems/warp/DESIGN.md +0 -256
- package/dist/designer/data/systems/warp/components.html +0 -411
- package/dist/designer/data/systems/warp/tokens.css +0 -156
- package/dist/designer/data/systems/webex/DESIGN.md +0 -207
- package/dist/designer/data/systems/webex/components.html +0 -342
- package/dist/designer/data/systems/webex/tokens.css +0 -64
- package/dist/designer/data/systems/webflow/DESIGN.md +0 -95
- package/dist/designer/data/systems/webflow/components.html +0 -413
- package/dist/designer/data/systems/webflow/tokens.css +0 -191
- package/dist/designer/data/systems/wechat/DESIGN.md +0 -302
- package/dist/designer/data/systems/wechat/components.html +0 -507
- package/dist/designer/data/systems/wechat/tokens.css +0 -176
- package/dist/designer/data/systems/wired/DESIGN.md +0 -281
- package/dist/designer/data/systems/wired/components.html +0 -342
- package/dist/designer/data/systems/wired/tokens.css +0 -64
- package/dist/designer/data/systems/wise/DESIGN.md +0 -176
- package/dist/designer/data/systems/wise/components.html +0 -365
- package/dist/designer/data/systems/wise/tokens.css +0 -141
- package/dist/designer/data/systems/x-ai/DESIGN.md +0 -260
- package/dist/designer/data/systems/x-ai/components.html +0 -460
- package/dist/designer/data/systems/x-ai/tokens.css +0 -268
- package/dist/designer/data/systems/xiaohongshu/DESIGN.md +0 -402
- package/dist/designer/data/systems/xiaohongshu/components.html +0 -865
- package/dist/designer/data/systems/xiaohongshu/tokens.css +0 -193
- package/dist/designer/data/systems/zapier/DESIGN.md +0 -331
- package/dist/designer/data/systems/zapier/components.html +0 -342
- package/dist/designer/data/systems/zapier/tokens.css +0 -64
- package/dist/designer/guidelines.d.ts +0 -23
- package/dist/designer/guidelines.d.ts.map +0 -1
- package/dist/designer/guidelines.js +0 -176
- package/dist/designer/philosophies.d.ts +0 -33
- package/dist/designer/philosophies.d.ts.map +0 -1
- package/dist/designer/philosophies.js +0 -668
- package/dist/designer/skills.d.ts +0 -21
- package/dist/designer/skills.d.ts.map +0 -1
- package/dist/designer/skills.js +0 -34
- package/dist/designer/systems.d.ts +0 -36
- package/dist/designer/systems.d.ts.map +0 -1
- package/dist/designer/systems.js +0 -221
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<title>Zapier - reference components</title>
|
|
7
|
-
<meta
|
|
8
|
-
name="description"
|
|
9
|
-
content="Reference fixture for design-systems/zapier: warm automation workspace with off-white canvas, orange connectors, and approachable cards."
|
|
10
|
-
/>
|
|
11
|
-
<style>
|
|
12
|
-
:root {
|
|
13
|
-
--bg: #fff7ed;
|
|
14
|
-
--surface: #ffffff;
|
|
15
|
-
--surface-warm: #ffedd5;
|
|
16
|
-
--fg: #2d2a26;
|
|
17
|
-
--fg-2: #574f45;
|
|
18
|
-
--muted: #7c6f64;
|
|
19
|
-
--meta: #ff4f00;
|
|
20
|
-
--border: #eadfd3;
|
|
21
|
-
--border-soft: #f4eadf;
|
|
22
|
-
--accent: #ff4f00;
|
|
23
|
-
--accent-on: #ffffff;
|
|
24
|
-
--accent-hover: color-mix(in oklab, var(--accent), black 8%);
|
|
25
|
-
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
26
|
-
--success: #15803d;
|
|
27
|
-
--warn: #d97706;
|
|
28
|
-
--danger: #dc2626;
|
|
29
|
-
--font-display: "Degular", Inter, system-ui, sans-serif;
|
|
30
|
-
--font-body: "Inter", system-ui, sans-serif;
|
|
31
|
-
--font-mono: "Roboto Mono", ui-monospace, Menlo, monospace;
|
|
32
|
-
--text-xs: 12px;
|
|
33
|
-
--text-sm: 14px;
|
|
34
|
-
--text-base: 16px;
|
|
35
|
-
--text-lg: 18px;
|
|
36
|
-
--text-xl: 24px;
|
|
37
|
-
--text-2xl: 36px;
|
|
38
|
-
--text-3xl: 52px;
|
|
39
|
-
--text-4xl: 72px;
|
|
40
|
-
--leading-body: 1.5;
|
|
41
|
-
--leading-tight: 1.02;
|
|
42
|
-
--tracking-display: -0.025em;
|
|
43
|
-
--space-1: 4px;
|
|
44
|
-
--space-2: 8px;
|
|
45
|
-
--space-3: 12px;
|
|
46
|
-
--space-4: 16px;
|
|
47
|
-
--space-5: 20px;
|
|
48
|
-
--space-6: 24px;
|
|
49
|
-
--space-8: 32px;
|
|
50
|
-
--space-12: 48px;
|
|
51
|
-
--section-y-desktop: 96px;
|
|
52
|
-
--section-y-tablet: 68px;
|
|
53
|
-
--section-y-phone: 48px;
|
|
54
|
-
--radius-sm: 8px;
|
|
55
|
-
--radius-md: 12px;
|
|
56
|
-
--radius-lg: 20px;
|
|
57
|
-
--radius-pill: 9999px;
|
|
58
|
-
--elev-flat: none;
|
|
59
|
-
--elev-ring: 0 0 0 1px var(--border);
|
|
60
|
-
--elev-raised: 0 18px 44px rgba(45, 42, 38, 0.12);
|
|
61
|
-
--focus-ring: 0 0 0 4px rgba(255, 79, 0, 0.24);
|
|
62
|
-
--motion-fast: 140ms;
|
|
63
|
-
--motion-base: 220ms;
|
|
64
|
-
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
65
|
-
--container-max: 1160px;
|
|
66
|
-
--container-gutter-desktop: 32px;
|
|
67
|
-
--container-gutter-tablet: 24px;
|
|
68
|
-
--container-gutter-phone: 16px;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
*, *::before, *::after { box-sizing: border-box; }
|
|
72
|
-
html, body { margin: 0; padding: 0; }
|
|
73
|
-
body {
|
|
74
|
-
min-height: 100vh;
|
|
75
|
-
background: var(--bg);
|
|
76
|
-
color: var(--fg);
|
|
77
|
-
font-family: var(--font-body);
|
|
78
|
-
font-size: var(--text-base);
|
|
79
|
-
line-height: var(--leading-body);
|
|
80
|
-
-webkit-font-smoothing: antialiased;
|
|
81
|
-
}
|
|
82
|
-
.page {
|
|
83
|
-
min-height: 100vh;
|
|
84
|
-
background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 58%, #ffffff 100%);
|
|
85
|
-
}
|
|
86
|
-
.container {
|
|
87
|
-
max-width: var(--container-max);
|
|
88
|
-
margin-inline: auto;
|
|
89
|
-
padding-inline: var(--container-gutter-desktop);
|
|
90
|
-
}
|
|
91
|
-
section { padding-block: var(--section-y-desktop); }
|
|
92
|
-
@media (max-width: 1023px) {
|
|
93
|
-
.container { padding-inline: var(--container-gutter-tablet); }
|
|
94
|
-
section { padding-block: var(--section-y-tablet); }
|
|
95
|
-
}
|
|
96
|
-
@media (max-width: 639px) {
|
|
97
|
-
.container { padding-inline: var(--container-gutter-phone); }
|
|
98
|
-
section { padding-block: var(--section-y-phone); }
|
|
99
|
-
}
|
|
100
|
-
h1, h2, h3, p { margin: 0; }
|
|
101
|
-
h1, h2, h3 {
|
|
102
|
-
font-family: var(--font-display);
|
|
103
|
-
line-height: var(--leading-tight);
|
|
104
|
-
letter-spacing: var(--tracking-display);
|
|
105
|
-
}
|
|
106
|
-
h1 { max-width: 820px; font-size: var(--text-4xl); font-weight: 700; }
|
|
107
|
-
h2 { font-size: var(--text-3xl); font-weight: 650; }
|
|
108
|
-
h3 { font-size: var(--text-xl); font-weight: 650; }
|
|
109
|
-
.eyebrow {
|
|
110
|
-
color: var(--meta);
|
|
111
|
-
font-family: var(--font-mono);
|
|
112
|
-
font-size: var(--text-xs);
|
|
113
|
-
font-weight: 700;
|
|
114
|
-
letter-spacing: 0.12em;
|
|
115
|
-
text-transform: uppercase;
|
|
116
|
-
}
|
|
117
|
-
.lead {
|
|
118
|
-
max-width: 620px;
|
|
119
|
-
color: var(--fg-2);
|
|
120
|
-
font-size: var(--text-lg);
|
|
121
|
-
}
|
|
122
|
-
.hero {
|
|
123
|
-
display: grid;
|
|
124
|
-
grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
|
|
125
|
-
gap: var(--space-8);
|
|
126
|
-
align-items: center;
|
|
127
|
-
}
|
|
128
|
-
.stack > * + * { margin-block-start: var(--space-4); }
|
|
129
|
-
.actions {
|
|
130
|
-
display: flex;
|
|
131
|
-
flex-wrap: wrap;
|
|
132
|
-
gap: var(--space-3);
|
|
133
|
-
margin-block-start: var(--space-6);
|
|
134
|
-
}
|
|
135
|
-
.btn {
|
|
136
|
-
display: inline-flex;
|
|
137
|
-
align-items: center;
|
|
138
|
-
justify-content: center;
|
|
139
|
-
min-height: 44px;
|
|
140
|
-
padding: 0 var(--space-5);
|
|
141
|
-
border: 1px solid transparent;
|
|
142
|
-
border-radius: var(--radius-md);
|
|
143
|
-
font: 700 var(--text-sm) / 1 var(--font-body);
|
|
144
|
-
text-decoration: none;
|
|
145
|
-
cursor: pointer;
|
|
146
|
-
transition:
|
|
147
|
-
background-color var(--motion-fast) var(--ease-standard),
|
|
148
|
-
border-color var(--motion-fast) var(--ease-standard),
|
|
149
|
-
color var(--motion-fast) var(--ease-standard),
|
|
150
|
-
transform var(--motion-fast) var(--ease-standard),
|
|
151
|
-
box-shadow var(--motion-fast) var(--ease-standard);
|
|
152
|
-
}
|
|
153
|
-
.btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
|
|
154
|
-
.btn-primary { background: var(--accent); color: var(--accent-on); }
|
|
155
|
-
.btn-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
|
|
156
|
-
.btn-secondary { background: var(--surface); color: var(--fg); border-color: var(--border); box-shadow: var(--elev-ring); }
|
|
157
|
-
.btn-secondary:hover { border-color: var(--accent); color: var(--accent); }
|
|
158
|
-
.panel {
|
|
159
|
-
background: color-mix(in oklab, var(--surface), transparent 4%);
|
|
160
|
-
border: 1px solid var(--border);
|
|
161
|
-
border-radius: var(--radius-lg);
|
|
162
|
-
box-shadow: var(--elev-raised);
|
|
163
|
-
overflow: hidden;
|
|
164
|
-
}
|
|
165
|
-
.panel-head {
|
|
166
|
-
display: flex;
|
|
167
|
-
align-items: center;
|
|
168
|
-
justify-content: space-between;
|
|
169
|
-
gap: var(--space-4);
|
|
170
|
-
padding: var(--space-5);
|
|
171
|
-
border-bottom: 1px solid var(--border-soft);
|
|
172
|
-
}
|
|
173
|
-
.status {
|
|
174
|
-
display: inline-flex;
|
|
175
|
-
align-items: center;
|
|
176
|
-
gap: var(--space-2);
|
|
177
|
-
color: var(--meta);
|
|
178
|
-
font: 700 var(--text-xs) / 1 var(--font-mono);
|
|
179
|
-
text-transform: uppercase;
|
|
180
|
-
letter-spacing: 0.08em;
|
|
181
|
-
}
|
|
182
|
-
.status::before {
|
|
183
|
-
width: 8px;
|
|
184
|
-
height: 8px;
|
|
185
|
-
border-radius: var(--radius-pill);
|
|
186
|
-
background: var(--success);
|
|
187
|
-
content: "";
|
|
188
|
-
}
|
|
189
|
-
.metric-grid {
|
|
190
|
-
display: grid;
|
|
191
|
-
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
192
|
-
border-bottom: 1px solid var(--border-soft);
|
|
193
|
-
}
|
|
194
|
-
.metric {
|
|
195
|
-
padding: var(--space-5);
|
|
196
|
-
border-right: 1px solid var(--border-soft);
|
|
197
|
-
}
|
|
198
|
-
.metric:last-child { border-right: 0; }
|
|
199
|
-
.metric strong {
|
|
200
|
-
display: block;
|
|
201
|
-
font-family: var(--font-display);
|
|
202
|
-
font-size: var(--text-2xl);
|
|
203
|
-
line-height: var(--leading-tight);
|
|
204
|
-
}
|
|
205
|
-
.metric span { color: var(--muted); font-size: var(--text-sm); }
|
|
206
|
-
.card-row {
|
|
207
|
-
display: grid;
|
|
208
|
-
grid-template-columns: 1fr 1fr;
|
|
209
|
-
gap: var(--space-4);
|
|
210
|
-
padding: var(--space-5);
|
|
211
|
-
}
|
|
212
|
-
.mini-card {
|
|
213
|
-
min-height: 148px;
|
|
214
|
-
padding: var(--space-5);
|
|
215
|
-
border: 1px solid var(--border-soft);
|
|
216
|
-
border-radius: var(--radius-md);
|
|
217
|
-
background: var(--surface-warm);
|
|
218
|
-
}
|
|
219
|
-
.mini-card p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
|
|
220
|
-
.swatches {
|
|
221
|
-
display: flex;
|
|
222
|
-
gap: var(--space-2);
|
|
223
|
-
margin-block-start: var(--space-4);
|
|
224
|
-
}
|
|
225
|
-
.swatch {
|
|
226
|
-
width: 32px;
|
|
227
|
-
height: 32px;
|
|
228
|
-
border-radius: var(--radius-sm);
|
|
229
|
-
border: 1px solid var(--border);
|
|
230
|
-
}
|
|
231
|
-
.swatch.accent { background: var(--accent); }
|
|
232
|
-
.swatch.surface { background: var(--surface); }
|
|
233
|
-
.swatch.warm { background: var(--surface-warm); }
|
|
234
|
-
.swatch.fg { background: var(--fg); }
|
|
235
|
-
.field {
|
|
236
|
-
display: grid;
|
|
237
|
-
gap: var(--space-2);
|
|
238
|
-
margin-block-start: var(--space-5);
|
|
239
|
-
}
|
|
240
|
-
label { color: var(--fg-2); font-size: var(--text-sm); font-weight: 700; }
|
|
241
|
-
input {
|
|
242
|
-
width: 100%;
|
|
243
|
-
min-height: 46px;
|
|
244
|
-
padding: 0 var(--space-4);
|
|
245
|
-
border: 1px solid var(--border);
|
|
246
|
-
border-radius: var(--radius-sm);
|
|
247
|
-
background: var(--surface);
|
|
248
|
-
color: var(--fg);
|
|
249
|
-
font: inherit;
|
|
250
|
-
}
|
|
251
|
-
input:focus { outline: none; box-shadow: var(--focus-ring); border-color: var(--accent); }
|
|
252
|
-
.lower {
|
|
253
|
-
display: grid;
|
|
254
|
-
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
255
|
-
gap: var(--space-4);
|
|
256
|
-
}
|
|
257
|
-
.tile {
|
|
258
|
-
padding: var(--space-5);
|
|
259
|
-
border: 1px solid var(--border);
|
|
260
|
-
border-radius: var(--radius-md);
|
|
261
|
-
background: var(--surface);
|
|
262
|
-
}
|
|
263
|
-
.tile p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
|
|
264
|
-
@media (max-width: 860px) {
|
|
265
|
-
.hero, .lower { grid-template-columns: 1fr; }
|
|
266
|
-
.metric-grid, .card-row { grid-template-columns: 1fr; }
|
|
267
|
-
.metric { border-right: 0; border-bottom: 1px solid var(--border-soft); }
|
|
268
|
-
.metric:last-child { border-bottom: 0; }
|
|
269
|
-
}
|
|
270
|
-
</style>
|
|
271
|
-
</head>
|
|
272
|
-
<body>
|
|
273
|
-
<main class="page">
|
|
274
|
-
<section>
|
|
275
|
-
<div class="container hero">
|
|
276
|
-
<div class="stack">
|
|
277
|
-
<p class="eyebrow">Zapier design system</p>
|
|
278
|
-
<h1>Automation builder</h1>
|
|
279
|
-
<p class="lead">Friendly workflow blocks, orange actions, and practical productivity rhythm.</p>
|
|
280
|
-
<div class="actions" aria-label="Reference actions">
|
|
281
|
-
<a class="btn btn-primary" href="#">Primary orange automation button</a>
|
|
282
|
-
<a class="btn btn-secondary" href="#">Secondary action</a>
|
|
283
|
-
</div>
|
|
284
|
-
</div>
|
|
285
|
-
<article class="panel" aria-label="Zapier component preview">
|
|
286
|
-
<div class="panel-head">
|
|
287
|
-
<div>
|
|
288
|
-
<p class="eyebrow">Live module</p>
|
|
289
|
-
<h3>workflow step card</h3>
|
|
290
|
-
</div>
|
|
291
|
-
<span class="status">online</span>
|
|
292
|
-
</div>
|
|
293
|
-
<div class="metric-grid">
|
|
294
|
-
<div class="metric"><strong>98%</strong><span>Signal quality</span></div>
|
|
295
|
-
<div class="metric"><strong>24</strong><span>Active flows</span></div>
|
|
296
|
-
<div class="metric"><strong>3.2s</strong><span>Response time</span></div>
|
|
297
|
-
</div>
|
|
298
|
-
<div class="card-row">
|
|
299
|
-
<div class="mini-card">
|
|
300
|
-
<h3>Palette</h3>
|
|
301
|
-
<p>warm automation workspace with off-white canvas, orange connectors, and approachable cards.</p>
|
|
302
|
-
<div class="swatches" aria-label="Token swatches">
|
|
303
|
-
<span class="swatch accent"></span>
|
|
304
|
-
<span class="swatch surface"></span>
|
|
305
|
-
<span class="swatch warm"></span>
|
|
306
|
-
<span class="swatch fg"></span>
|
|
307
|
-
</div>
|
|
308
|
-
</div>
|
|
309
|
-
<div class="mini-card">
|
|
310
|
-
<h3>Control</h3>
|
|
311
|
-
<p>Focus, hover, and status states share the same brand signal.</p>
|
|
312
|
-
<div class="field">
|
|
313
|
-
<label for="zapier-input">Reference input</label>
|
|
314
|
-
<input id="zapier-input" value="Zapier system token" />
|
|
315
|
-
</div>
|
|
316
|
-
</div>
|
|
317
|
-
</div>
|
|
318
|
-
</article>
|
|
319
|
-
</div>
|
|
320
|
-
</section>
|
|
321
|
-
<section>
|
|
322
|
-
<div class="container lower">
|
|
323
|
-
<article class="tile">
|
|
324
|
-
<p class="eyebrow">Typography</p>
|
|
325
|
-
<h2>Display rhythm</h2>
|
|
326
|
-
<p>Headlines use the brand display stack with the declared scale and leading.</p>
|
|
327
|
-
</article>
|
|
328
|
-
<article class="tile">
|
|
329
|
-
<p class="eyebrow">Surface</p>
|
|
330
|
-
<h2>Layer system</h2>
|
|
331
|
-
<p>Cards, warm panels, borders, and raised states resolve through shared tokens.</p>
|
|
332
|
-
</article>
|
|
333
|
-
<article class="tile">
|
|
334
|
-
<p class="eyebrow">Interaction</p>
|
|
335
|
-
<h2>Motion states</h2>
|
|
336
|
-
<p>Buttons, inputs, and panels use brand-specific focus rings and easing.</p>
|
|
337
|
-
</article>
|
|
338
|
-
</div>
|
|
339
|
-
</section>
|
|
340
|
-
</main>
|
|
341
|
-
</body>
|
|
342
|
-
</html>
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/* design-systems/zapier/tokens.css
|
|
2
|
-
*
|
|
3
|
-
* Structured token bindings for Zapier.
|
|
4
|
-
* warm automation workspace with off-white canvas, orange connectors, and approachable cards.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
:root {
|
|
8
|
-
--bg: #fff7ed;
|
|
9
|
-
--surface: #ffffff;
|
|
10
|
-
--surface-warm: #ffedd5;
|
|
11
|
-
--fg: #2d2a26;
|
|
12
|
-
--fg-2: #574f45;
|
|
13
|
-
--muted: #7c6f64;
|
|
14
|
-
--meta: #ff4f00;
|
|
15
|
-
--border: #eadfd3;
|
|
16
|
-
--border-soft: #f4eadf;
|
|
17
|
-
--accent: #ff4f00;
|
|
18
|
-
--accent-on: #ffffff;
|
|
19
|
-
--accent-hover: color-mix(in oklab, var(--accent), black 8%);
|
|
20
|
-
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
21
|
-
--success: #15803d;
|
|
22
|
-
--warn: #d97706;
|
|
23
|
-
--danger: #dc2626;
|
|
24
|
-
--font-display: "Degular", Inter, system-ui, sans-serif;
|
|
25
|
-
--font-body: "Inter", system-ui, sans-serif;
|
|
26
|
-
--font-mono: "Roboto Mono", ui-monospace, Menlo, monospace;
|
|
27
|
-
--text-xs: 12px;
|
|
28
|
-
--text-sm: 14px;
|
|
29
|
-
--text-base: 16px;
|
|
30
|
-
--text-lg: 18px;
|
|
31
|
-
--text-xl: 24px;
|
|
32
|
-
--text-2xl: 36px;
|
|
33
|
-
--text-3xl: 52px;
|
|
34
|
-
--text-4xl: 72px;
|
|
35
|
-
--leading-body: 1.5;
|
|
36
|
-
--leading-tight: 1.02;
|
|
37
|
-
--tracking-display: -0.025em;
|
|
38
|
-
--space-1: 4px;
|
|
39
|
-
--space-2: 8px;
|
|
40
|
-
--space-3: 12px;
|
|
41
|
-
--space-4: 16px;
|
|
42
|
-
--space-5: 20px;
|
|
43
|
-
--space-6: 24px;
|
|
44
|
-
--space-8: 32px;
|
|
45
|
-
--space-12: 48px;
|
|
46
|
-
--section-y-desktop: 96px;
|
|
47
|
-
--section-y-tablet: 68px;
|
|
48
|
-
--section-y-phone: 48px;
|
|
49
|
-
--radius-sm: 8px;
|
|
50
|
-
--radius-md: 12px;
|
|
51
|
-
--radius-lg: 20px;
|
|
52
|
-
--radius-pill: 9999px;
|
|
53
|
-
--elev-flat: none;
|
|
54
|
-
--elev-ring: 0 0 0 1px var(--border);
|
|
55
|
-
--elev-raised: 0 18px 44px rgba(45, 42, 38, 0.12);
|
|
56
|
-
--focus-ring: 0 0 0 4px rgba(255, 79, 0, 0.24);
|
|
57
|
-
--motion-fast: 140ms;
|
|
58
|
-
--motion-base: 220ms;
|
|
59
|
-
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
60
|
-
--container-max: 1160px;
|
|
61
|
-
--container-gutter-desktop: 32px;
|
|
62
|
-
--container-gutter-tablet: 24px;
|
|
63
|
-
--container-gutter-phone: 16px;
|
|
64
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core Design Guidelines
|
|
3
|
-
*
|
|
4
|
-
* Anti-AI-slop rules and design philosophy distilled from the Open Design
|
|
5
|
-
* project (https://github.com/nexu-io/open-design). These guidelines are
|
|
6
|
-
* injected into the LLM's context when it begins a design task to improve
|
|
7
|
-
* output quality and avoid common AI-generated design tropes.
|
|
8
|
-
*/
|
|
9
|
-
/** Anti-slop rules — what to avoid in AI-generated design. */
|
|
10
|
-
export declare const ANTI_SLOP_RULES = "# Anti-AI-Slop Design Rules\n\nThese rules prevent the most common \"AI-generated look\" tropes. Apply them to every design artifact you produce.\n\n## Color\n- \u274C Warm beige/cream/peach/pink/orange-brown \"AI canvas\" backgrounds \u2014 unless the brand explicitly owns these colors\n- \u274C Aggressive purple-to-orange or blue-to-pink gradients on hero sections\n- \u2705 Use the design system's defined palette. Backgrounds come from the brand, not defaults.\n- \u2705 Prefer solid backgrounds. Gradients only when the design system calls for them.\n- \u2705 Dark mode systems (Linear-style) use true dark grays (#1a1a1a, #212121), not warm dark browns.\n\n## Typography\n- \u274C Inter as a default for everything \u2014 it's the \"AI font\" because it ships everywhere\n- \u274C Roboto unless the design system is Material Design\n- \u274C Fraunces, Playfair Display, or other \"AI serif\" fonts used without brand intent\n- \u274C Random font sizes \u2014 every size should come from the design system's scale\n- \u2705 Use the design system's font stack. If none specified, use system fonts (-apple-system, \"Segoe UI\")\n- \u2705 Headlines: 700-800 weight, tight line-height (1.05-1.15)\n- \u2705 Body: 400 weight, comfortable line-height (1.5-1.7)\n\n## Layout\n- \u274C Cards with a left-border color accent stripe (the #1 AI slop signature)\n- \u274C Rounded boxes everywhere \u2014 vary radius by component type\n- \u274C Three feature cards in a row with identical icon-above-title structure\n- \u274C Centered text for everything\n- \u2705 Alternate section backgrounds to create visual rhythm\n- \u2705 Vary section layouts: two-column, grid, masonry, full-width, split\n- \u2705 Use whitespace as a design element \u2014 not every gap needs a border or shadow\n\n## Content\n- \u274C Lorem ipsum or placeholder text\n- \u274C Emoji as primary iconography \u2014 use Unicode symbols or SVG icons instead\n- \u274C Filler copy: \"Our platform leverages cutting-edge AI to revolutionize your workflow\"\n- \u274C Made-up statistics: \"10x faster\", \"99.9% uptime\", \"500+ integrations\"\n- \u2705 Every word should earn its place. If a section feels empty, redesign it \u2014 don't pad it.\n- \u2705 Write concrete, specific copy. \"Syncs in 2.3 seconds\" beats \"Lightning fast\"\n- \u2705 Images: use gradient shapes or CSS art as placeholders, not gray rectangles\n\n## Components\n- \u274C Generic blue (#3B82F6 / Tailwind blue-500) buttons on every page\n- \u274C Cards with identical border-radius, padding, and shadow\n- \u274C The exact same button style for primary and secondary CTAs\n- \u2705 Primary buttons: filled with accent color. Secondary: outlined or ghost.\n- \u2705 Cards can have different treatments: some with borders, some with shadows, some flat\n- \u2705 Add hover/active states to every interactive element\n\n## Interactions\n- \u274C No hover states\n- \u274C Instant transitions\n- \u2705 Subtle hover effects: scale(1.01), shadow lift, color shift\n- \u2705 Smooth transitions: 150-300ms ease\n- \u2705 Active/pressed states for mobile touch targets\n\n## The \"Would Apple/Stripe/Linear ship this?\" Test\n\nBefore finalizing, look at your output and ask:\n1. Would this color palette work at a Fortune 500 company?\n2. Does the typography feel intentional or accidental?\n3. Does every section have a reason to exist?\n4. Would a professional designer recognize the system behind this?\n\nIf the answer to any of these is \"no\", revise.";
|
|
11
|
-
/** Five-dimension self-critique framework. */
|
|
12
|
-
export declare const CRITIQUE_FRAMEWORK = "# 5-Dimension Self-Critique\n\nAfter building a design artifact, run this critique against your output. Fix issues before showing the user.\n\n## Dimension 1 \u2014 Color Harmony\n- Do all colors come from the design system's palette?\n- Is the contrast ratio sufficient for readability (4.5:1 minimum for body text)?\n- Does the accent color appear with restraint (5-10% of surface area)?\n- Are there any accidental colors from browser defaults?\n\n## Dimension 2 \u2014 Typography Hierarchy\n- Is there a clear heading scale (3-4 distinct sizes)?\n- Do font sizes follow a consistent ratio (1.25 or 1.333)?\n- Is body text readable at 16px minimum (24px for slides)?\n- Are there any orphaned words or awkward line breaks?\n\n## Dimension 3 \u2014 Spacing Consistency\n- Do sections have consistent vertical padding (not random values)?\n- Is the gap rhythm consistent (all gaps are multiples of 4px or 8px)?\n- Are related elements closer together than unrelated ones?\n- Is the content width constrained (not full-width body text on desktop)?\n\n## Dimension 4 \u2014 Component Polish\n- Do all buttons have hover and active states?\n- Are form elements consistently styled?\n- Do cards have consistent internal padding?\n- Are shadows used intentionally (0-3 elevations max)?\n\n## Dimension 5 \u2014 Brand Coherence\n- Does this look like it belongs to one brand, not a patchwork?\n- Would the design system's owner recognize their brand here?\n- Is the tone consistent across all copy?\n- Does the first impression match the product category?";
|
|
13
|
-
/** Core designer identity prompt — the "expert designer" persona. */
|
|
14
|
-
export declare const DESIGNER_IDENTITY = "# Designer Identity\n\nYou are an expert designer working with the user as a manager. You produce design artifacts using HTML, CSS, and JavaScript. Your output is production-quality \u2014 not AI slop.\n\n## Your Medium\nHTML is your tool, but your medium varies: web designer, slide designer, prototyper, data-viz specialist, mobile-app designer. Adapt your thinking to the medium.\n\n## Your Process\n1. **Understand** \u2014 Clarify the output, fidelity, audience, constraints, and design system before writing any code.\n2. **Explore** \u2014 Read the active design system and any user-provided references. Map tokens to CSS custom properties.\n3. **Plan** \u2014 Lay out the section structure before writing components. Vocalize the system you'll use.\n4. **Build** \u2014 Write the HTML file(s). Show something early \u2014 a rough first pass beats radio silence.\n5. **Critique** \u2014 Run the 5-dimension self-critique. Fix issues.\n6. **Deliver** \u2014 Present the final artifact with a brief summary of design decisions.\n\n## Quality Standards\n- Production-grade CSS: use CSS Grid, custom properties, container queries, clamp(), text-wrap: pretty\n- Responsive: mobile-first with at least one breakpoint (768px)\n- Accessible: sufficient color contrast, focus styles, semantic HTML\n- Performant: no unnecessary dependencies, CSS-only animations when possible\n- Polished: consistent spacing, intentional typography, hover/active states\n\n## When to Push Back\n- If the user asks for something that would create AI slop, suggest alternatives\n- If a design choice contradicts the active design system, flag it\n- If the user wants decorations that don't serve the content (gratuitous gradients, emoji), advise against it";
|
|
15
|
-
/** Full guidelines as a combined injection-ready string. */
|
|
16
|
-
export declare function getDesignGuidelines(): string;
|
|
17
|
-
/**
|
|
18
|
-
* First-turn discovery protocol.
|
|
19
|
-
* Forces the agent to ask clarifying questions before building anything.
|
|
20
|
-
* Based on Open Design's discovery.ts — the turn-based question protocol.
|
|
21
|
-
*/
|
|
22
|
-
export declare const DISCOVERY_PROTOCOL = "# Design Discovery Protocol\n\nYou have been asked to create a design artifact. Before writing ANY code, you MUST complete this discovery sequence first.\n\n## Turn 1 \u2014 Clarify the Brief (ALWAYS required)\n\nDo NOT read files, run bash, or write any code. Ask the user to clarify:\n\n1. **What kind of artifact?** Web prototype, landing page, slide deck, mobile app, dashboard, carousel, poster, or something else?\n2. **What design system?** If the user hasn't specified one, recommend 2-3 systems from `designer_list_systems` that fit their product category. Ask which they prefer.\n3. **What content?** What's the product name? Audience? Key message?\n4. **Any constraints?** Dark/light mode preference? Existing brand colors? Animations yes/no?\n\nFormat your response as a clean question \u2014 not a wall of questions, but a friendly prompt that invites the user to clarify these dimensions.\n\nExample:\n> I'd love to design this for you. To get the best result, could you tell me:\n> - What kind of page are we building? (landing, dashboard, mobile app, slide deck?)\n> - Is there a brand or visual direction you have in mind? If not, I can suggest a few design systems that fit.\n> - What's the product called, and who's the audience?\n> - Any specific constraints (dark mode, existing colors, no animations)?\n\n## Turn 2 \u2014 Load the Design System\n\nOnce the user clarifies:\n1. Call `designer_get_system` with the chosen system name\n2. Call `designer_get_skill` with the skill that matches the artifact type\n3. Announce: \"I'll use the [system name] design system and the [skill name] workflow. Let me map the tokens and plan the sections.\"\n\n## Turn 3 \u2014 Build\n\nNow follow the skill workflow exactly. Write the artifact file(s).";
|
|
23
|
-
//# sourceMappingURL=guidelines.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guidelines.d.ts","sourceRoot":"","sources":["../../src/designer/guidelines.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8DAA8D;AAC9D,eAAO,MAAM,eAAe,w6GA6DmB,CAAC;AAEhD,8CAA8C;AAC9C,eAAO,MAAM,kBAAkB,mhDAgCyB,CAAC;AAEzD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,4sDAyBgF,CAAC;AAE/G,4DAA4D;AAC5D,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAMD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,quDA+BoC,CAAC"}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core Design Guidelines
|
|
3
|
-
*
|
|
4
|
-
* Anti-AI-slop rules and design philosophy distilled from the Open Design
|
|
5
|
-
* project (https://github.com/nexu-io/open-design). These guidelines are
|
|
6
|
-
* injected into the LLM's context when it begins a design task to improve
|
|
7
|
-
* output quality and avoid common AI-generated design tropes.
|
|
8
|
-
*/
|
|
9
|
-
/** Anti-slop rules — what to avoid in AI-generated design. */
|
|
10
|
-
export const ANTI_SLOP_RULES = `# Anti-AI-Slop Design Rules
|
|
11
|
-
|
|
12
|
-
These rules prevent the most common "AI-generated look" tropes. Apply them to every design artifact you produce.
|
|
13
|
-
|
|
14
|
-
## Color
|
|
15
|
-
- ❌ Warm beige/cream/peach/pink/orange-brown "AI canvas" backgrounds — unless the brand explicitly owns these colors
|
|
16
|
-
- ❌ Aggressive purple-to-orange or blue-to-pink gradients on hero sections
|
|
17
|
-
- ✅ Use the design system's defined palette. Backgrounds come from the brand, not defaults.
|
|
18
|
-
- ✅ Prefer solid backgrounds. Gradients only when the design system calls for them.
|
|
19
|
-
- ✅ Dark mode systems (Linear-style) use true dark grays (#1a1a1a, #212121), not warm dark browns.
|
|
20
|
-
|
|
21
|
-
## Typography
|
|
22
|
-
- ❌ Inter as a default for everything — it's the "AI font" because it ships everywhere
|
|
23
|
-
- ❌ Roboto unless the design system is Material Design
|
|
24
|
-
- ❌ Fraunces, Playfair Display, or other "AI serif" fonts used without brand intent
|
|
25
|
-
- ❌ Random font sizes — every size should come from the design system's scale
|
|
26
|
-
- ✅ Use the design system's font stack. If none specified, use system fonts (-apple-system, "Segoe UI")
|
|
27
|
-
- ✅ Headlines: 700-800 weight, tight line-height (1.05-1.15)
|
|
28
|
-
- ✅ Body: 400 weight, comfortable line-height (1.5-1.7)
|
|
29
|
-
|
|
30
|
-
## Layout
|
|
31
|
-
- ❌ Cards with a left-border color accent stripe (the #1 AI slop signature)
|
|
32
|
-
- ❌ Rounded boxes everywhere — vary radius by component type
|
|
33
|
-
- ❌ Three feature cards in a row with identical icon-above-title structure
|
|
34
|
-
- ❌ Centered text for everything
|
|
35
|
-
- ✅ Alternate section backgrounds to create visual rhythm
|
|
36
|
-
- ✅ Vary section layouts: two-column, grid, masonry, full-width, split
|
|
37
|
-
- ✅ Use whitespace as a design element — not every gap needs a border or shadow
|
|
38
|
-
|
|
39
|
-
## Content
|
|
40
|
-
- ❌ Lorem ipsum or placeholder text
|
|
41
|
-
- ❌ Emoji as primary iconography — use Unicode symbols or SVG icons instead
|
|
42
|
-
- ❌ Filler copy: "Our platform leverages cutting-edge AI to revolutionize your workflow"
|
|
43
|
-
- ❌ Made-up statistics: "10x faster", "99.9% uptime", "500+ integrations"
|
|
44
|
-
- ✅ Every word should earn its place. If a section feels empty, redesign it — don't pad it.
|
|
45
|
-
- ✅ Write concrete, specific copy. "Syncs in 2.3 seconds" beats "Lightning fast"
|
|
46
|
-
- ✅ Images: use gradient shapes or CSS art as placeholders, not gray rectangles
|
|
47
|
-
|
|
48
|
-
## Components
|
|
49
|
-
- ❌ Generic blue (#3B82F6 / Tailwind blue-500) buttons on every page
|
|
50
|
-
- ❌ Cards with identical border-radius, padding, and shadow
|
|
51
|
-
- ❌ The exact same button style for primary and secondary CTAs
|
|
52
|
-
- ✅ Primary buttons: filled with accent color. Secondary: outlined or ghost.
|
|
53
|
-
- ✅ Cards can have different treatments: some with borders, some with shadows, some flat
|
|
54
|
-
- ✅ Add hover/active states to every interactive element
|
|
55
|
-
|
|
56
|
-
## Interactions
|
|
57
|
-
- ❌ No hover states
|
|
58
|
-
- ❌ Instant transitions
|
|
59
|
-
- ✅ Subtle hover effects: scale(1.01), shadow lift, color shift
|
|
60
|
-
- ✅ Smooth transitions: 150-300ms ease
|
|
61
|
-
- ✅ Active/pressed states for mobile touch targets
|
|
62
|
-
|
|
63
|
-
## The "Would Apple/Stripe/Linear ship this?" Test
|
|
64
|
-
|
|
65
|
-
Before finalizing, look at your output and ask:
|
|
66
|
-
1. Would this color palette work at a Fortune 500 company?
|
|
67
|
-
2. Does the typography feel intentional or accidental?
|
|
68
|
-
3. Does every section have a reason to exist?
|
|
69
|
-
4. Would a professional designer recognize the system behind this?
|
|
70
|
-
|
|
71
|
-
If the answer to any of these is "no", revise.`;
|
|
72
|
-
/** Five-dimension self-critique framework. */
|
|
73
|
-
export const CRITIQUE_FRAMEWORK = `# 5-Dimension Self-Critique
|
|
74
|
-
|
|
75
|
-
After building a design artifact, run this critique against your output. Fix issues before showing the user.
|
|
76
|
-
|
|
77
|
-
## Dimension 1 — Color Harmony
|
|
78
|
-
- Do all colors come from the design system's palette?
|
|
79
|
-
- Is the contrast ratio sufficient for readability (4.5:1 minimum for body text)?
|
|
80
|
-
- Does the accent color appear with restraint (5-10% of surface area)?
|
|
81
|
-
- Are there any accidental colors from browser defaults?
|
|
82
|
-
|
|
83
|
-
## Dimension 2 — Typography Hierarchy
|
|
84
|
-
- Is there a clear heading scale (3-4 distinct sizes)?
|
|
85
|
-
- Do font sizes follow a consistent ratio (1.25 or 1.333)?
|
|
86
|
-
- Is body text readable at 16px minimum (24px for slides)?
|
|
87
|
-
- Are there any orphaned words or awkward line breaks?
|
|
88
|
-
|
|
89
|
-
## Dimension 3 — Spacing Consistency
|
|
90
|
-
- Do sections have consistent vertical padding (not random values)?
|
|
91
|
-
- Is the gap rhythm consistent (all gaps are multiples of 4px or 8px)?
|
|
92
|
-
- Are related elements closer together than unrelated ones?
|
|
93
|
-
- Is the content width constrained (not full-width body text on desktop)?
|
|
94
|
-
|
|
95
|
-
## Dimension 4 — Component Polish
|
|
96
|
-
- Do all buttons have hover and active states?
|
|
97
|
-
- Are form elements consistently styled?
|
|
98
|
-
- Do cards have consistent internal padding?
|
|
99
|
-
- Are shadows used intentionally (0-3 elevations max)?
|
|
100
|
-
|
|
101
|
-
## Dimension 5 — Brand Coherence
|
|
102
|
-
- Does this look like it belongs to one brand, not a patchwork?
|
|
103
|
-
- Would the design system's owner recognize their brand here?
|
|
104
|
-
- Is the tone consistent across all copy?
|
|
105
|
-
- Does the first impression match the product category?`;
|
|
106
|
-
/** Core designer identity prompt — the "expert designer" persona. */
|
|
107
|
-
export const DESIGNER_IDENTITY = `# Designer Identity
|
|
108
|
-
|
|
109
|
-
You are an expert designer working with the user as a manager. You produce design artifacts using HTML, CSS, and JavaScript. Your output is production-quality — not AI slop.
|
|
110
|
-
|
|
111
|
-
## Your Medium
|
|
112
|
-
HTML is your tool, but your medium varies: web designer, slide designer, prototyper, data-viz specialist, mobile-app designer. Adapt your thinking to the medium.
|
|
113
|
-
|
|
114
|
-
## Your Process
|
|
115
|
-
1. **Understand** — Clarify the output, fidelity, audience, constraints, and design system before writing any code.
|
|
116
|
-
2. **Explore** — Read the active design system and any user-provided references. Map tokens to CSS custom properties.
|
|
117
|
-
3. **Plan** — Lay out the section structure before writing components. Vocalize the system you'll use.
|
|
118
|
-
4. **Build** — Write the HTML file(s). Show something early — a rough first pass beats radio silence.
|
|
119
|
-
5. **Critique** — Run the 5-dimension self-critique. Fix issues.
|
|
120
|
-
6. **Deliver** — Present the final artifact with a brief summary of design decisions.
|
|
121
|
-
|
|
122
|
-
## Quality Standards
|
|
123
|
-
- Production-grade CSS: use CSS Grid, custom properties, container queries, clamp(), text-wrap: pretty
|
|
124
|
-
- Responsive: mobile-first with at least one breakpoint (768px)
|
|
125
|
-
- Accessible: sufficient color contrast, focus styles, semantic HTML
|
|
126
|
-
- Performant: no unnecessary dependencies, CSS-only animations when possible
|
|
127
|
-
- Polished: consistent spacing, intentional typography, hover/active states
|
|
128
|
-
|
|
129
|
-
## When to Push Back
|
|
130
|
-
- If the user asks for something that would create AI slop, suggest alternatives
|
|
131
|
-
- If a design choice contradicts the active design system, flag it
|
|
132
|
-
- If the user wants decorations that don't serve the content (gratuitous gradients, emoji), advise against it`;
|
|
133
|
-
/** Full guidelines as a combined injection-ready string. */
|
|
134
|
-
export function getDesignGuidelines() {
|
|
135
|
-
return [DESIGNER_IDENTITY, ANTI_SLOP_RULES, CRITIQUE_FRAMEWORK].join("\n\n---\n\n");
|
|
136
|
-
}
|
|
137
|
-
// ---------------------------------------------------------------------------
|
|
138
|
-
// Discovery Protocol — injected at session start for design tasks
|
|
139
|
-
// ---------------------------------------------------------------------------
|
|
140
|
-
/**
|
|
141
|
-
* First-turn discovery protocol.
|
|
142
|
-
* Forces the agent to ask clarifying questions before building anything.
|
|
143
|
-
* Based on Open Design's discovery.ts — the turn-based question protocol.
|
|
144
|
-
*/
|
|
145
|
-
export const DISCOVERY_PROTOCOL = `# Design Discovery Protocol
|
|
146
|
-
|
|
147
|
-
You have been asked to create a design artifact. Before writing ANY code, you MUST complete this discovery sequence first.
|
|
148
|
-
|
|
149
|
-
## Turn 1 — Clarify the Brief (ALWAYS required)
|
|
150
|
-
|
|
151
|
-
Do NOT read files, run bash, or write any code. Ask the user to clarify:
|
|
152
|
-
|
|
153
|
-
1. **What kind of artifact?** Web prototype, landing page, slide deck, mobile app, dashboard, carousel, poster, or something else?
|
|
154
|
-
2. **What design system?** If the user hasn't specified one, recommend 2-3 systems from \`designer_list_systems\` that fit their product category. Ask which they prefer.
|
|
155
|
-
3. **What content?** What's the product name? Audience? Key message?
|
|
156
|
-
4. **Any constraints?** Dark/light mode preference? Existing brand colors? Animations yes/no?
|
|
157
|
-
|
|
158
|
-
Format your response as a clean question — not a wall of questions, but a friendly prompt that invites the user to clarify these dimensions.
|
|
159
|
-
|
|
160
|
-
Example:
|
|
161
|
-
> I'd love to design this for you. To get the best result, could you tell me:
|
|
162
|
-
> - What kind of page are we building? (landing, dashboard, mobile app, slide deck?)
|
|
163
|
-
> - Is there a brand or visual direction you have in mind? If not, I can suggest a few design systems that fit.
|
|
164
|
-
> - What's the product called, and who's the audience?
|
|
165
|
-
> - Any specific constraints (dark mode, existing colors, no animations)?
|
|
166
|
-
|
|
167
|
-
## Turn 2 — Load the Design System
|
|
168
|
-
|
|
169
|
-
Once the user clarifies:
|
|
170
|
-
1. Call \`designer_get_system\` with the chosen system name
|
|
171
|
-
2. Call \`designer_get_skill\` with the skill that matches the artifact type
|
|
172
|
-
3. Announce: "I'll use the [system name] design system and the [skill name] workflow. Let me map the tokens and plan the sections."
|
|
173
|
-
|
|
174
|
-
## Turn 3 — Build
|
|
175
|
-
|
|
176
|
-
Now follow the skill workflow exactly. Write the artifact file(s).`;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Design Philosophy Registry — 20 design philosophies across 5 schools
|
|
3
|
-
*
|
|
4
|
-
* Adapted from Huashu-Design (https://github.com/alchaincyf/huashu-design).
|
|
5
|
-
* These philosophies provide a vocabulary for design direction when the user
|
|
6
|
-
* hasn't specified a concrete design system. They complement the 144 curated
|
|
7
|
-
* design systems and serve as the backbone for designer_recommend.
|
|
8
|
-
*
|
|
9
|
-
* Each philosophy includes:
|
|
10
|
-
* - Core ethos (the "why")
|
|
11
|
-
* - Signature traits (the "what" — concrete CSS-token-level characteristics)
|
|
12
|
-
* - Best medium (HTML, AI-generated, or Hybrid)
|
|
13
|
-
* - Scene affinity (which content types it shines for)
|
|
14
|
-
* - Anti-patterns (what would violate this philosophy)
|
|
15
|
-
*/
|
|
16
|
-
export interface DesignPhilosophy {
|
|
17
|
-
name: string;
|
|
18
|
-
school: string;
|
|
19
|
-
schoolIcon: string;
|
|
20
|
-
designer: string;
|
|
21
|
-
ethos: string;
|
|
22
|
-
description: string;
|
|
23
|
-
traits: string[];
|
|
24
|
-
keywords: string[];
|
|
25
|
-
bestMedium: "html" | "ai-generated" | "hybrid";
|
|
26
|
-
sceneAffinity: string[];
|
|
27
|
-
antiPatterns: string[];
|
|
28
|
-
}
|
|
29
|
-
export declare const DESIGN_PHILOSOPHIES: DesignPhilosophy[];
|
|
30
|
-
export declare function findPhilosophy(name: string): DesignPhilosophy | undefined;
|
|
31
|
-
export declare function formatPhilosophyForLLM(p: DesignPhilosophy): string;
|
|
32
|
-
export declare function listPhilosophiesForLLM(): string;
|
|
33
|
-
//# sourceMappingURL=philosophies.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"philosophies.d.ts","sourceRoot":"","sources":["../../src/designer/philosophies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC/C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAolBjD,CAAC;AAMF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAMzE;AAMD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAoClE;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CA6C/C"}
|