pm-workflow-studio 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/CLAUDE.md +31 -0
- package/.claude/agents/demand-analyst.md +26 -0
- package/.claude/agents/dev-planner.md +22 -0
- package/.claude/agents/product-manager.md +25 -0
- package/.claude/agents/quality-reviewer.md +31 -0
- package/.claude/agents/tech-architect.md +22 -0
- package/.claude/agents/ui-designer.md +39 -0
- package/.claude/commands/pm-workflow/analyze.md +6 -0
- package/.claude/commands/pm-workflow/architect.md +6 -0
- package/.claude/commands/pm-workflow/deliver.md +6 -0
- package/.claude/commands/pm-workflow/design.md +6 -0
- package/.claude/commands/pm-workflow/help.md +6 -0
- package/.claude/commands/pm-workflow/init.md +8 -0
- package/.claude/commands/pm-workflow/plan.md +6 -0
- package/.claude/commands/pm-workflow/review.md +6 -0
- package/.claude/commands/pm-workflow/status.md +6 -0
- package/.claude/commands/pm-workflow.md +13 -0
- package/.claude/settings.json +15 -0
- package/.claude/skills/demand-analysis/SKILL.md +50 -0
- package/.claude/skills/demand-analysis/templates/handoff-prd.md +39 -0
- package/.claude/skills/demand-analysis/templates/prd.md +85 -0
- package/.claude/skills/dev-task-planning/SKILL.md +37 -0
- package/.claude/skills/dev-task-planning/templates/dev-tasks.md +54 -0
- package/.claude/skills/impeccable/SKILL.md +169 -0
- package/.claude/skills/impeccable/reference/adapt.md +190 -0
- package/.claude/skills/impeccable/reference/animate.md +175 -0
- package/.claude/skills/impeccable/reference/audit.md +133 -0
- package/.claude/skills/impeccable/reference/bolder.md +113 -0
- package/.claude/skills/impeccable/reference/brand.md +118 -0
- package/.claude/skills/impeccable/reference/clarify.md +174 -0
- package/.claude/skills/impeccable/reference/codex.md +105 -0
- package/.claude/skills/impeccable/reference/cognitive-load.md +106 -0
- package/.claude/skills/impeccable/reference/color-and-contrast.md +105 -0
- package/.claude/skills/impeccable/reference/colorize.md +154 -0
- package/.claude/skills/impeccable/reference/craft.md +123 -0
- package/.claude/skills/impeccable/reference/critique.md +236 -0
- package/.claude/skills/impeccable/reference/delight.md +302 -0
- package/.claude/skills/impeccable/reference/distill.md +111 -0
- package/.claude/skills/impeccable/reference/document.md +427 -0
- package/.claude/skills/impeccable/reference/extract.md +69 -0
- package/.claude/skills/impeccable/reference/harden.md +347 -0
- package/.claude/skills/impeccable/reference/heuristics-scoring.md +234 -0
- package/.claude/skills/impeccable/reference/interaction-design.md +195 -0
- package/.claude/skills/impeccable/reference/layout.md +141 -0
- package/.claude/skills/impeccable/reference/live.md +622 -0
- package/.claude/skills/impeccable/reference/motion-design.md +109 -0
- package/.claude/skills/impeccable/reference/onboard.md +234 -0
- package/.claude/skills/impeccable/reference/optimize.md +258 -0
- package/.claude/skills/impeccable/reference/overdrive.md +130 -0
- package/.claude/skills/impeccable/reference/personas.md +179 -0
- package/.claude/skills/impeccable/reference/polish.md +242 -0
- package/.claude/skills/impeccable/reference/product.md +62 -0
- package/.claude/skills/impeccable/reference/quieter.md +99 -0
- package/.claude/skills/impeccable/reference/responsive-design.md +114 -0
- package/.claude/skills/impeccable/reference/shape.md +165 -0
- package/.claude/skills/impeccable/reference/spatial-design.md +100 -0
- package/.claude/skills/impeccable/reference/teach.md +156 -0
- package/.claude/skills/impeccable/reference/typeset.md +124 -0
- package/.claude/skills/impeccable/reference/typography.md +159 -0
- package/.claude/skills/impeccable/reference/ux-writing.md +107 -0
- package/.claude/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
- package/.claude/skills/impeccable/scripts/command-metadata.json +94 -0
- package/.claude/skills/impeccable/scripts/critique-storage.mjs +242 -0
- package/.claude/skills/impeccable/scripts/design-parser.mjs +820 -0
- package/.claude/skills/impeccable/scripts/detect-csp.mjs +198 -0
- package/.claude/skills/impeccable/scripts/detect.mjs +21 -0
- package/.claude/skills/impeccable/scripts/detector/browser/injected/index.mjs +1688 -0
- package/.claude/skills/impeccable/scripts/detector/cli/main.mjs +232 -0
- package/.claude/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +4030 -0
- package/.claude/skills/impeccable/scripts/detector/detect-antipatterns.mjs +43 -0
- package/.claude/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +251 -0
- package/.claude/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +420 -0
- package/.claude/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +954 -0
- package/.claude/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +174 -0
- package/.claude/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
- package/.claude/skills/impeccable/scripts/detector/findings.mjs +12 -0
- package/.claude/skills/impeccable/scripts/detector/node/file-system.mjs +198 -0
- package/.claude/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
- package/.claude/skills/impeccable/scripts/detector/registry/antipatterns.mjs +278 -0
- package/.claude/skills/impeccable/scripts/detector/rules/checks.mjs +1948 -0
- package/.claude/skills/impeccable/scripts/detector/shared/color.mjs +124 -0
- package/.claude/skills/impeccable/scripts/detector/shared/constants.mjs +101 -0
- package/.claude/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
- package/.claude/skills/impeccable/scripts/impeccable-paths.mjs +110 -0
- package/.claude/skills/impeccable/scripts/is-generated.mjs +69 -0
- package/.claude/skills/impeccable/scripts/live-accept.mjs +595 -0
- package/.claude/skills/impeccable/scripts/live-browser-session.js +123 -0
- package/.claude/skills/impeccable/scripts/live-browser.js +4860 -0
- package/.claude/skills/impeccable/scripts/live-complete.mjs +75 -0
- package/.claude/skills/impeccable/scripts/live-completion.mjs +18 -0
- package/.claude/skills/impeccable/scripts/live-inject.mjs +446 -0
- package/.claude/skills/impeccable/scripts/live-poll.mjs +200 -0
- package/.claude/skills/impeccable/scripts/live-resume.mjs +48 -0
- package/.claude/skills/impeccable/scripts/live-server.mjs +838 -0
- package/.claude/skills/impeccable/scripts/live-session-store.mjs +254 -0
- package/.claude/skills/impeccable/scripts/live-status.mjs +47 -0
- package/.claude/skills/impeccable/scripts/live-wrap.mjs +632 -0
- package/.claude/skills/impeccable/scripts/live.mjs +247 -0
- package/.claude/skills/impeccable/scripts/load-context.mjs +141 -0
- package/.claude/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/.claude/skills/impeccable/scripts/pin.mjs +214 -0
- package/.claude/skills/pm-workflow/SKILL.md +371 -0
- package/.claude/skills/pm-workflow/assets/design-themes/README.md +56 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/OPEN_DESIGN_COMMIT +1 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/OPEN_DESIGN_IMPORT.md +28 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/OPEN_DESIGN_LICENSE +201 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/README.md +103 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/agentic/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/airbnb/DESIGN.md +393 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/airbnb/examples.html +23 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/airtable/DESIGN.md +92 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/apple/DESIGN.md +250 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/apple/examples.html +23 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/application/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/arc/DESIGN.md +152 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/artistic/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/atelier-zero/DESIGN.md +316 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/bento/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/binance/DESIGN.md +348 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/bmw/DESIGN.md +183 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/bmw-m/DESIGN.md +246 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/bold/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/brutalism/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/bugatti/DESIGN.md +271 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/cafe/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/cal/DESIGN.md +262 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/canva/DESIGN.md +157 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/cisco/DESIGN.md +201 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/claude/DESIGN.md +315 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/clay/DESIGN.md +307 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/claymorphism/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/clean/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/clickhouse/DESIGN.md +284 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/cohere/DESIGN.md +269 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/coinbase/DESIGN.md +132 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/colorful/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/composio/DESIGN.md +310 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/contemporary/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/corporate/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/cosmic/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/creative/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/cursor/DESIGN.md +312 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/dashboard/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/default/DESIGN.md +62 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/discord/DESIGN.md +162 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/dithered/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/doodle/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/dramatic/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/duolingo/DESIGN.md +154 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/editorial/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/elegant/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/elevenlabs/DESIGN.md +268 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/energetic/DESIGN.md +72 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/enterprise/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/expo/DESIGN.md +284 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/expressive/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/fantasy/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/ferrari/DESIGN.md +317 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/figma/DESIGN.md +223 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/flat/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/framer/DESIGN.md +249 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/friendly/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/futuristic/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/glassmorphism/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/gradient/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/hashicorp/DESIGN.md +281 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/hud/DESIGN.md +173 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/huggingface/DESIGN.md +149 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/huggingface/examples.html +11 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/intercom/DESIGN.md +149 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/kami/DESIGN.md +410 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/kraken/DESIGN.md +128 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/lamborghini/DESIGN.md +291 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/levels/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/linear-app/DESIGN.md +370 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/linear-app/examples.html +56 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/lingo/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/loom/DESIGN.md +201 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/lovable/DESIGN.md +301 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/luxury/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/mastercard/DESIGN.md +368 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/material/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/material/examples.html +11 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/meta/DESIGN.md +369 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/minimal/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/minimax/DESIGN.md +260 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/mintlify/DESIGN.md +329 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/miro/DESIGN.md +111 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/mission-control/DESIGN.md +474 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/mistral-ai/DESIGN.md +264 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/modern/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/mongodb/DESIGN.md +269 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/mongodb/examples.html +14 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/mono/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/neobrutalism/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/neon/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/neumorphism/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/nike/DESIGN.md +366 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/notion/DESIGN.md +312 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/notion/examples.html +64 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/nvidia/DESIGN.md +296 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/ollama/DESIGN.md +270 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/openai/DESIGN.md +140 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/openai/examples.html +14 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/opencode-ai/DESIGN.md +284 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/pacman/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/paper/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/perspective/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/pinterest/DESIGN.md +233 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/playstation/DESIGN.md +367 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/posthog/DESIGN.md +259 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/premium/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/professional/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/publication/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/raycast/DESIGN.md +271 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/raycast/examples.html +11 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/refined/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/renault/DESIGN.md +314 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/replicate/DESIGN.md +264 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/resend/DESIGN.md +306 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/retro/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/revolut/DESIGN.md +188 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/runwayml/DESIGN.md +247 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/sanity/DESIGN.md +360 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/sentry/DESIGN.md +265 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/shadcn/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/shadcn/examples.html +24 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/shopify/DESIGN.md +353 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/shopify/examples.html +11 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/simple/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/skeumorphism/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/sleek/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/spacex/DESIGN.md +197 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/spacious/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/spotify/DESIGN.md +249 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/starbucks/DESIGN.md +583 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/storytelling/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/stripe/DESIGN.md +325 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/stripe/examples.html +58 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/supabase/DESIGN.md +258 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/supabase/examples.html +26 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/superhuman/DESIGN.md +255 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/tesla/DESIGN.md +289 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/tetris/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/theverge/DESIGN.md +342 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/together-ai/DESIGN.md +266 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/totality-festival/DESIGN.md +206 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/trading-terminal/DESIGN.md +178 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/uber/DESIGN.md +298 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/urdu/DESIGN.md +1002 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/vercel/DESIGN.md +313 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/vercel/examples.html +55 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/vibrant/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/vintage/DESIGN.md +71 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/vodafone/DESIGN.md +426 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/voltagent/DESIGN.md +326 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/warm-editorial/DESIGN.md +65 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/warp/DESIGN.md +256 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/webex/DESIGN.md +207 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/webflow/DESIGN.md +95 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/webflow/examples.html +11 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/wired/DESIGN.md +281 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/wise/DESIGN.md +176 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/x-ai/DESIGN.md +260 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/x-ai/examples.html +12 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/xiaohongshu/DESIGN.md +402 -0
- package/.claude/skills/pm-workflow/assets/design-themes/open-design/zapier/DESIGN.md +331 -0
- package/.claude/skills/pm-workflow/assets/design-themes/revenuecat/DESIGN.md +209 -0
- package/.claude/skills/pm-workflow/assets/design-themes/revenuecat/examples.html +122 -0
- package/.claude/skills/pm-workflow/assets/design-themes/vben/DESIGN.md +685 -0
- package/.claude/skills/pm-workflow/assets/design-themes/vben/examples.html +155 -0
- package/.claude/skills/pm-workflow/assets/vendor/flow-viewer/MERMAID_LICENSE +21 -0
- package/.claude/skills/pm-workflow/assets/vendor/flow-viewer/SVG_PAN_ZOOM_LICENSE +23 -0
- package/.claude/skills/pm-workflow/assets/vendor/flow-viewer/THIRD_PARTY_LICENSES.md +21 -0
- package/.claude/skills/pm-workflow/assets/vendor/flow-viewer/mermaid.min.js +3298 -0
- package/.claude/skills/pm-workflow/assets/vendor/flow-viewer/svg-pan-zoom.min.js +3 -0
- package/.claude/skills/pm-workflow/references/commands/analyze.md +39 -0
- package/.claude/skills/pm-workflow/references/commands/architect.md +41 -0
- package/.claude/skills/pm-workflow/references/commands/deliver.md +29 -0
- package/.claude/skills/pm-workflow/references/commands/design.md +92 -0
- package/.claude/skills/pm-workflow/references/commands/help.md +24 -0
- package/.claude/skills/pm-workflow/references/commands/init.md +40 -0
- package/.claude/skills/pm-workflow/references/commands/plan.md +41 -0
- package/.claude/skills/pm-workflow/references/commands/review.md +33 -0
- package/.claude/skills/pm-workflow/references/commands/status.md +20 -0
- package/.claude/skills/pm-workflow/scripts/package_delivery.js +195 -0
- package/.claude/skills/pm-workflow/scripts/review_stage.js +622 -0
- package/.claude/skills/quality-review/SKILL.md +49 -0
- package/.claude/skills/quality-review/templates/review-stage.md +39 -0
- package/.claude/skills/tech-architecture/SKILL.md +49 -0
- package/.claude/skills/tech-architecture/templates/handoff-architecture.md +28 -0
- package/.claude/skills/tech-architecture/templates/tech-architecture.md +54 -0
- package/.claude/skills/ui-prototype-design/SKILL.md +125 -0
- package/.claude/skills/ui-prototype-design/templates/handoff-ui.md +40 -0
- package/.claude/skills/ui-prototype-design/templates/prototype-review.md +57 -0
- package/.claude/skills/ui-prototype-design/templates/ui-design.md +142 -0
- package/.codex/SKILL.md +374 -0
- package/.codex/agents/demand-analyst.toml +87 -0
- package/.codex/agents/dev-planner.toml +47 -0
- package/.codex/agents/openai.yaml +4 -0
- package/.codex/agents/product-manager.toml +81 -0
- package/.codex/agents/quality-reviewer.toml +76 -0
- package/.codex/agents/tech-architect.toml +57 -0
- package/.codex/agents/ui-designer.toml +132 -0
- package/.codex/assets/design-themes/README.md +56 -0
- package/.codex/assets/design-themes/open-design/OPEN_DESIGN_COMMIT +1 -0
- package/.codex/assets/design-themes/open-design/OPEN_DESIGN_IMPORT.md +28 -0
- package/.codex/assets/design-themes/open-design/OPEN_DESIGN_LICENSE +201 -0
- package/.codex/assets/design-themes/open-design/README.md +103 -0
- package/.codex/assets/design-themes/open-design/agentic/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/airbnb/DESIGN.md +393 -0
- package/.codex/assets/design-themes/open-design/airbnb/examples.html +23 -0
- package/.codex/assets/design-themes/open-design/airtable/DESIGN.md +92 -0
- package/.codex/assets/design-themes/open-design/apple/DESIGN.md +250 -0
- package/.codex/assets/design-themes/open-design/apple/examples.html +23 -0
- package/.codex/assets/design-themes/open-design/application/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/arc/DESIGN.md +152 -0
- package/.codex/assets/design-themes/open-design/artistic/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/atelier-zero/DESIGN.md +316 -0
- package/.codex/assets/design-themes/open-design/bento/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/binance/DESIGN.md +348 -0
- package/.codex/assets/design-themes/open-design/bmw/DESIGN.md +183 -0
- package/.codex/assets/design-themes/open-design/bmw-m/DESIGN.md +246 -0
- package/.codex/assets/design-themes/open-design/bold/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/brutalism/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/bugatti/DESIGN.md +271 -0
- package/.codex/assets/design-themes/open-design/cafe/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/cal/DESIGN.md +262 -0
- package/.codex/assets/design-themes/open-design/canva/DESIGN.md +157 -0
- package/.codex/assets/design-themes/open-design/cisco/DESIGN.md +201 -0
- package/.codex/assets/design-themes/open-design/claude/DESIGN.md +315 -0
- package/.codex/assets/design-themes/open-design/clay/DESIGN.md +307 -0
- package/.codex/assets/design-themes/open-design/claymorphism/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/clean/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/clickhouse/DESIGN.md +284 -0
- package/.codex/assets/design-themes/open-design/cohere/DESIGN.md +269 -0
- package/.codex/assets/design-themes/open-design/coinbase/DESIGN.md +132 -0
- package/.codex/assets/design-themes/open-design/colorful/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/composio/DESIGN.md +310 -0
- package/.codex/assets/design-themes/open-design/contemporary/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/corporate/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/cosmic/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/creative/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/cursor/DESIGN.md +312 -0
- package/.codex/assets/design-themes/open-design/dashboard/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/default/DESIGN.md +62 -0
- package/.codex/assets/design-themes/open-design/discord/DESIGN.md +162 -0
- package/.codex/assets/design-themes/open-design/dithered/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/doodle/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/dramatic/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/duolingo/DESIGN.md +154 -0
- package/.codex/assets/design-themes/open-design/editorial/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/elegant/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/elevenlabs/DESIGN.md +268 -0
- package/.codex/assets/design-themes/open-design/energetic/DESIGN.md +72 -0
- package/.codex/assets/design-themes/open-design/enterprise/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/expo/DESIGN.md +284 -0
- package/.codex/assets/design-themes/open-design/expressive/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/fantasy/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/ferrari/DESIGN.md +317 -0
- package/.codex/assets/design-themes/open-design/figma/DESIGN.md +223 -0
- package/.codex/assets/design-themes/open-design/flat/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/framer/DESIGN.md +249 -0
- package/.codex/assets/design-themes/open-design/friendly/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/futuristic/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/glassmorphism/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/gradient/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/hashicorp/DESIGN.md +281 -0
- package/.codex/assets/design-themes/open-design/hud/DESIGN.md +173 -0
- package/.codex/assets/design-themes/open-design/huggingface/DESIGN.md +149 -0
- package/.codex/assets/design-themes/open-design/huggingface/examples.html +11 -0
- package/.codex/assets/design-themes/open-design/intercom/DESIGN.md +149 -0
- package/.codex/assets/design-themes/open-design/kami/DESIGN.md +410 -0
- package/.codex/assets/design-themes/open-design/kraken/DESIGN.md +128 -0
- package/.codex/assets/design-themes/open-design/lamborghini/DESIGN.md +291 -0
- package/.codex/assets/design-themes/open-design/levels/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/linear-app/DESIGN.md +370 -0
- package/.codex/assets/design-themes/open-design/linear-app/examples.html +56 -0
- package/.codex/assets/design-themes/open-design/lingo/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/loom/DESIGN.md +201 -0
- package/.codex/assets/design-themes/open-design/lovable/DESIGN.md +301 -0
- package/.codex/assets/design-themes/open-design/luxury/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/mastercard/DESIGN.md +368 -0
- package/.codex/assets/design-themes/open-design/material/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/material/examples.html +11 -0
- package/.codex/assets/design-themes/open-design/meta/DESIGN.md +369 -0
- package/.codex/assets/design-themes/open-design/minimal/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/minimax/DESIGN.md +260 -0
- package/.codex/assets/design-themes/open-design/mintlify/DESIGN.md +329 -0
- package/.codex/assets/design-themes/open-design/miro/DESIGN.md +111 -0
- package/.codex/assets/design-themes/open-design/mission-control/DESIGN.md +474 -0
- package/.codex/assets/design-themes/open-design/mistral-ai/DESIGN.md +264 -0
- package/.codex/assets/design-themes/open-design/modern/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/mongodb/DESIGN.md +269 -0
- package/.codex/assets/design-themes/open-design/mongodb/examples.html +14 -0
- package/.codex/assets/design-themes/open-design/mono/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/neobrutalism/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/neon/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/neumorphism/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/nike/DESIGN.md +366 -0
- package/.codex/assets/design-themes/open-design/notion/DESIGN.md +312 -0
- package/.codex/assets/design-themes/open-design/notion/examples.html +64 -0
- package/.codex/assets/design-themes/open-design/nvidia/DESIGN.md +296 -0
- package/.codex/assets/design-themes/open-design/ollama/DESIGN.md +270 -0
- package/.codex/assets/design-themes/open-design/openai/DESIGN.md +140 -0
- package/.codex/assets/design-themes/open-design/openai/examples.html +14 -0
- package/.codex/assets/design-themes/open-design/opencode-ai/DESIGN.md +284 -0
- package/.codex/assets/design-themes/open-design/pacman/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/paper/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/perspective/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/pinterest/DESIGN.md +233 -0
- package/.codex/assets/design-themes/open-design/playstation/DESIGN.md +367 -0
- package/.codex/assets/design-themes/open-design/posthog/DESIGN.md +259 -0
- package/.codex/assets/design-themes/open-design/premium/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/professional/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/publication/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/raycast/DESIGN.md +271 -0
- package/.codex/assets/design-themes/open-design/raycast/examples.html +11 -0
- package/.codex/assets/design-themes/open-design/refined/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/renault/DESIGN.md +314 -0
- package/.codex/assets/design-themes/open-design/replicate/DESIGN.md +264 -0
- package/.codex/assets/design-themes/open-design/resend/DESIGN.md +306 -0
- package/.codex/assets/design-themes/open-design/retro/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/revolut/DESIGN.md +188 -0
- package/.codex/assets/design-themes/open-design/runwayml/DESIGN.md +247 -0
- package/.codex/assets/design-themes/open-design/sanity/DESIGN.md +360 -0
- package/.codex/assets/design-themes/open-design/sentry/DESIGN.md +265 -0
- package/.codex/assets/design-themes/open-design/shadcn/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/shadcn/examples.html +24 -0
- package/.codex/assets/design-themes/open-design/shopify/DESIGN.md +353 -0
- package/.codex/assets/design-themes/open-design/shopify/examples.html +11 -0
- package/.codex/assets/design-themes/open-design/simple/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/skeumorphism/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/sleek/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/spacex/DESIGN.md +197 -0
- package/.codex/assets/design-themes/open-design/spacious/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/spotify/DESIGN.md +249 -0
- package/.codex/assets/design-themes/open-design/starbucks/DESIGN.md +583 -0
- package/.codex/assets/design-themes/open-design/storytelling/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/stripe/DESIGN.md +325 -0
- package/.codex/assets/design-themes/open-design/stripe/examples.html +58 -0
- package/.codex/assets/design-themes/open-design/supabase/DESIGN.md +258 -0
- package/.codex/assets/design-themes/open-design/supabase/examples.html +26 -0
- package/.codex/assets/design-themes/open-design/superhuman/DESIGN.md +255 -0
- package/.codex/assets/design-themes/open-design/tesla/DESIGN.md +289 -0
- package/.codex/assets/design-themes/open-design/tetris/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/theverge/DESIGN.md +342 -0
- package/.codex/assets/design-themes/open-design/together-ai/DESIGN.md +266 -0
- package/.codex/assets/design-themes/open-design/totality-festival/DESIGN.md +206 -0
- package/.codex/assets/design-themes/open-design/trading-terminal/DESIGN.md +178 -0
- package/.codex/assets/design-themes/open-design/uber/DESIGN.md +298 -0
- package/.codex/assets/design-themes/open-design/urdu/DESIGN.md +1002 -0
- package/.codex/assets/design-themes/open-design/vercel/DESIGN.md +313 -0
- package/.codex/assets/design-themes/open-design/vercel/examples.html +55 -0
- package/.codex/assets/design-themes/open-design/vibrant/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/vintage/DESIGN.md +71 -0
- package/.codex/assets/design-themes/open-design/vodafone/DESIGN.md +426 -0
- package/.codex/assets/design-themes/open-design/voltagent/DESIGN.md +326 -0
- package/.codex/assets/design-themes/open-design/warm-editorial/DESIGN.md +65 -0
- package/.codex/assets/design-themes/open-design/warp/DESIGN.md +256 -0
- package/.codex/assets/design-themes/open-design/webex/DESIGN.md +207 -0
- package/.codex/assets/design-themes/open-design/webflow/DESIGN.md +95 -0
- package/.codex/assets/design-themes/open-design/webflow/examples.html +11 -0
- package/.codex/assets/design-themes/open-design/wired/DESIGN.md +281 -0
- package/.codex/assets/design-themes/open-design/wise/DESIGN.md +176 -0
- package/.codex/assets/design-themes/open-design/x-ai/DESIGN.md +260 -0
- package/.codex/assets/design-themes/open-design/x-ai/examples.html +12 -0
- package/.codex/assets/design-themes/open-design/xiaohongshu/DESIGN.md +402 -0
- package/.codex/assets/design-themes/open-design/zapier/DESIGN.md +331 -0
- package/.codex/assets/design-themes/revenuecat/DESIGN.md +209 -0
- package/.codex/assets/design-themes/revenuecat/examples.html +122 -0
- package/.codex/assets/design-themes/vben/DESIGN.md +685 -0
- package/.codex/assets/design-themes/vben/examples.html +155 -0
- package/.codex/assets/vendor/flow-viewer/MERMAID_LICENSE +21 -0
- package/.codex/assets/vendor/flow-viewer/SVG_PAN_ZOOM_LICENSE +23 -0
- package/.codex/assets/vendor/flow-viewer/THIRD_PARTY_LICENSES.md +21 -0
- package/.codex/assets/vendor/flow-viewer/mermaid.min.js +3298 -0
- package/.codex/assets/vendor/flow-viewer/svg-pan-zoom.min.js +3 -0
- package/.codex/bundled-skills/impeccable/SKILL.md +163 -0
- package/.codex/bundled-skills/impeccable/agents/openai.yaml +4 -0
- package/.codex/bundled-skills/impeccable/reference/adapt.md +190 -0
- package/.codex/bundled-skills/impeccable/reference/animate.md +175 -0
- package/.codex/bundled-skills/impeccable/reference/audit.md +132 -0
- package/.codex/bundled-skills/impeccable/reference/bolder.md +113 -0
- package/.codex/bundled-skills/impeccable/reference/brand.md +118 -0
- package/.codex/bundled-skills/impeccable/reference/clarify.md +174 -0
- package/.codex/bundled-skills/impeccable/reference/codex.md +105 -0
- package/.codex/bundled-skills/impeccable/reference/cognitive-load.md +106 -0
- package/.codex/bundled-skills/impeccable/reference/color-and-contrast.md +105 -0
- package/.codex/bundled-skills/impeccable/reference/colorize.md +154 -0
- package/.codex/bundled-skills/impeccable/reference/craft.md +123 -0
- package/.codex/bundled-skills/impeccable/reference/critique.md +259 -0
- package/.codex/bundled-skills/impeccable/reference/delight.md +302 -0
- package/.codex/bundled-skills/impeccable/reference/distill.md +111 -0
- package/.codex/bundled-skills/impeccable/reference/document.md +427 -0
- package/.codex/bundled-skills/impeccable/reference/extract.md +68 -0
- package/.codex/bundled-skills/impeccable/reference/harden.md +347 -0
- package/.codex/bundled-skills/impeccable/reference/heuristics-scoring.md +234 -0
- package/.codex/bundled-skills/impeccable/reference/interaction-design.md +195 -0
- package/.codex/bundled-skills/impeccable/reference/layout.md +141 -0
- package/.codex/bundled-skills/impeccable/reference/live.md +622 -0
- package/.codex/bundled-skills/impeccable/reference/motion-design.md +109 -0
- package/.codex/bundled-skills/impeccable/reference/onboard.md +234 -0
- package/.codex/bundled-skills/impeccable/reference/optimize.md +258 -0
- package/.codex/bundled-skills/impeccable/reference/overdrive.md +130 -0
- package/.codex/bundled-skills/impeccable/reference/personas.md +179 -0
- package/.codex/bundled-skills/impeccable/reference/polish.md +242 -0
- package/.codex/bundled-skills/impeccable/reference/product.md +62 -0
- package/.codex/bundled-skills/impeccable/reference/quieter.md +99 -0
- package/.codex/bundled-skills/impeccable/reference/responsive-design.md +114 -0
- package/.codex/bundled-skills/impeccable/reference/shape.md +165 -0
- package/.codex/bundled-skills/impeccable/reference/spatial-design.md +100 -0
- package/.codex/bundled-skills/impeccable/reference/teach.md +156 -0
- package/.codex/bundled-skills/impeccable/reference/typeset.md +124 -0
- package/.codex/bundled-skills/impeccable/reference/typography.md +159 -0
- package/.codex/bundled-skills/impeccable/reference/ux-writing.md +107 -0
- package/.codex/bundled-skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
- package/.codex/bundled-skills/impeccable/scripts/command-metadata.json +94 -0
- package/.codex/bundled-skills/impeccable/scripts/critique-storage.mjs +242 -0
- package/.codex/bundled-skills/impeccable/scripts/design-parser.mjs +820 -0
- package/.codex/bundled-skills/impeccable/scripts/detect-csp.mjs +198 -0
- package/.codex/bundled-skills/impeccable/scripts/detect.mjs +21 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/browser/injected/index.mjs +1688 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/cli/main.mjs +232 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/detect-antipatterns-browser.js +4030 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/detect-antipatterns.mjs +43 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +251 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +420 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +954 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +174 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/findings.mjs +12 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/node/file-system.mjs +198 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/registry/antipatterns.mjs +278 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/rules/checks.mjs +1948 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/shared/color.mjs +124 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/shared/constants.mjs +101 -0
- package/.codex/bundled-skills/impeccable/scripts/detector/shared/page.mjs +7 -0
- package/.codex/bundled-skills/impeccable/scripts/impeccable-paths.mjs +110 -0
- package/.codex/bundled-skills/impeccable/scripts/is-generated.mjs +69 -0
- package/.codex/bundled-skills/impeccable/scripts/live-accept.mjs +595 -0
- package/.codex/bundled-skills/impeccable/scripts/live-browser-session.js +123 -0
- package/.codex/bundled-skills/impeccable/scripts/live-browser.js +4860 -0
- package/.codex/bundled-skills/impeccable/scripts/live-complete.mjs +75 -0
- package/.codex/bundled-skills/impeccable/scripts/live-completion.mjs +18 -0
- package/.codex/bundled-skills/impeccable/scripts/live-inject.mjs +446 -0
- package/.codex/bundled-skills/impeccable/scripts/live-poll.mjs +200 -0
- package/.codex/bundled-skills/impeccable/scripts/live-resume.mjs +48 -0
- package/.codex/bundled-skills/impeccable/scripts/live-server.mjs +838 -0
- package/.codex/bundled-skills/impeccable/scripts/live-session-store.mjs +254 -0
- package/.codex/bundled-skills/impeccable/scripts/live-status.mjs +47 -0
- package/.codex/bundled-skills/impeccable/scripts/live-wrap.mjs +632 -0
- package/.codex/bundled-skills/impeccable/scripts/live.mjs +247 -0
- package/.codex/bundled-skills/impeccable/scripts/load-context.mjs +141 -0
- package/.codex/bundled-skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/.codex/bundled-skills/impeccable/scripts/pin.mjs +214 -0
- package/.codex/references/commands/analyze.md +39 -0
- package/.codex/references/commands/architect.md +41 -0
- package/.codex/references/commands/deliver.md +29 -0
- package/.codex/references/commands/design.md +92 -0
- package/.codex/references/commands/help.md +24 -0
- package/.codex/references/commands/init.md +40 -0
- package/.codex/references/commands/plan.md +41 -0
- package/.codex/references/commands/review.md +33 -0
- package/.codex/references/commands/status.md +20 -0
- package/.codex/role-skills/demand-analysis/SKILL.md +50 -0
- package/.codex/role-skills/demand-analysis/templates/handoff-prd.md +39 -0
- package/.codex/role-skills/demand-analysis/templates/prd.md +85 -0
- package/.codex/role-skills/dev-task-planning/SKILL.md +37 -0
- package/.codex/role-skills/dev-task-planning/templates/dev-tasks.md +54 -0
- package/.codex/role-skills/quality-review/SKILL.md +49 -0
- package/.codex/role-skills/quality-review/templates/review-stage.md +39 -0
- package/.codex/role-skills/tech-architecture/SKILL.md +49 -0
- package/.codex/role-skills/tech-architecture/templates/handoff-architecture.md +28 -0
- package/.codex/role-skills/tech-architecture/templates/tech-architecture.md +54 -0
- package/.codex/role-skills/ui-prototype-design/SKILL.md +125 -0
- package/.codex/role-skills/ui-prototype-design/templates/handoff-ui.md +40 -0
- package/.codex/role-skills/ui-prototype-design/templates/prototype-review.md +57 -0
- package/.codex/role-skills/ui-prototype-design/templates/ui-design.md +142 -0
- package/.codex/scripts/package_delivery.js +195 -0
- package/.codex/scripts/review_stage.js +622 -0
- package/.codex/templates/AGENTS.md +44 -0
- package/.codex/templates/delivery-README.md +37 -0
- package/.codex/templates/framework-AGENTS.md +74 -0
- package/.codex/templates/framework-README.md +65 -0
- package/.codex/templates/project-config.md +117 -0
- package/.codex/templates/prototype-README.md +45 -0
- package/.codex/templates/workflow-state.json +47 -0
- package/README.md +28 -0
- package/bin/pmflow.js +463 -0
- package/package.json +30 -0
|
@@ -0,0 +1,685 @@
|
|
|
1
|
+
# Vben — Style Reference
|
|
2
|
+
|
|
3
|
+
> 明亮、模块化、精密的后台工作台。像一间干净的数字控制室:白色画布、清晰信息层、稳定导航骨架,以及克制但明确的交互反馈。
|
|
4
|
+
|
|
5
|
+
**主题:** 自适应 light/dark,默认以浅色为主
|
|
6
|
+
**适用场景:** 后台管理系统、SaaS 控制台、CRM、数据看板、运营平台、内部工具
|
|
7
|
+
|
|
8
|
+
Vben 风格是一套可复用的中后台设计语言。它不追求营销页式的夸张视觉,而是服务于高频操作、密集信息、权限清晰、状态明确的业务场景。整体体验应该让用户感到可信、快速、整洁、可配置,并且适合每天长时间使用。
|
|
9
|
+
|
|
10
|
+
## Tokens — Colors
|
|
11
|
+
|
|
12
|
+
### Light Theme
|
|
13
|
+
|
|
14
|
+
| 名称 | 值 | Token | 用途 |
|
|
15
|
+
| ----------------------- | --------------------------- | -------------------------- | ------------------------------------------ |
|
|
16
|
+
| Canvas 画布白 | `#ffffff` | `--color-canvas` | 页面主背景、弹窗内文字反色、深色按钮文字。 |
|
|
17
|
+
| Surface 页面底色 | `#f8fafc` | `--color-surface` | 应用主体背景、工作区背景、轻量分区背景。 |
|
|
18
|
+
| Surface Raised 抬升表面 | `#ffffff` | `--color-surface-raised` | 卡片、面板、弹窗、抽屉、表格容器。 |
|
|
19
|
+
| Surface Muted 弱化表面 | `#f1f5f9` | `--color-surface-muted` | 次级面板、禁用区域、分段控件、表头背景。 |
|
|
20
|
+
| Popover 浮层表面 | `#ffffff` | `--color-popover` | 下拉菜单、选择器面板、气泡、右键菜单背景。 |
|
|
21
|
+
| Popover Text 浮层文字 | `#172033` | `--color-popover-text` | 下拉菜单项、浮层标题、选项文字。 |
|
|
22
|
+
| Accent 交互浅底 | `#f1f5f9` | `--color-accent` | 菜单项 hover/focus、弱选中背景。 |
|
|
23
|
+
| Accent Hover 强交互浅底 | `#e2e8f0` | `--color-accent-hover` | 图标按钮 hover、浮层菜单项强 hover。 |
|
|
24
|
+
| Icon Default 默认图标 | `#64748b` | `--color-icon` | 普通图标、工具栏图标、未激活导航图标。 |
|
|
25
|
+
| Icon Active 激活图标 | `#4f63d7` | `--color-icon-active` | 激活导航、选中项、强调操作图标。 |
|
|
26
|
+
| Text Primary 主文字 | `#172033` | `--color-text-primary` | 页面标题、模块标题、表格主值、导航文字。 |
|
|
27
|
+
| Text Secondary 次文字 | `#475569` | `--color-text-secondary` | 正文、说明、表单标签、辅助信息。 |
|
|
28
|
+
| Text Tertiary 弱文字 | `#64748b` | `--color-text-tertiary` | 占位符、时间戳、元信息、低强调计数。 |
|
|
29
|
+
| Text Disabled 禁用文字 | `#94a3b8` | `--color-text-disabled` | 禁用控件、不可用操作。 |
|
|
30
|
+
| Primary 主色 | `#4f63d7` | `--color-primary` | 主按钮、激活导航、焦点控件、选中行。 |
|
|
31
|
+
| Primary Hover 主色悬停 | `#3f51c1` | `--color-primary-hover` | 主操作 hover 状态。 |
|
|
32
|
+
| Primary Soft 主色浅底 | `#eef2ff` | `--color-primary-soft` | 选中菜单、激活标签、低强调主色背景。 |
|
|
33
|
+
| Primary Border 主色描边 | `#c7d2fe` | `--color-primary-border` | 选中描边、焦点相邻边框。 |
|
|
34
|
+
| Success 成功 | `#16a34a` | `--color-success` | 成功状态、完成状态、正向趋势。 |
|
|
35
|
+
| Success Soft 成功浅底 | `#dcfce7` | `--color-success-soft` | 成功徽标背景。 |
|
|
36
|
+
| Warning 警告 | `#d97706` | `--color-warning` | 警告状态、需要注意的信息。 |
|
|
37
|
+
| Warning Soft 警告浅底 | `#fef3c7` | `--color-warning-soft` | 警告徽标背景。 |
|
|
38
|
+
| Danger 危险 | `#dc2626` | `--color-danger` | 删除、错误、失败状态。 |
|
|
39
|
+
| Danger Soft 危险浅底 | `#fee2e2` | `--color-danger-soft` | 错误徽标、删除确认提示背景。 |
|
|
40
|
+
| Info 信息 | `#0284c7` | `--color-info` | 中性系统提示、信息状态。 |
|
|
41
|
+
| Info Soft 信息浅底 | `#e0f2fe` | `--color-info-soft` | 信息徽标背景。 |
|
|
42
|
+
| Border Subtle 弱边框 | `#e2e8f0` | `--color-border-subtle` | 面板边框、表格分割线、输入框边框。 |
|
|
43
|
+
| Border Strong 强边框 | `#cbd5e1` | `--color-border-strong` | hover 边框、拖拽分隔线、强调分割线。 |
|
|
44
|
+
| Overlay 遮罩 | `rgba(15, 23, 42, 0.42)` | `--color-overlay` | 弹窗、抽屉背景遮罩。 |
|
|
45
|
+
| Focus Ring 焦点环 | `rgba(79, 99, 215, 0.24)` | `--color-focus-ring` | 键盘焦点、输入框聚焦外阴影。 |
|
|
46
|
+
| Sidebar 侧边栏 | `#ffffff` | `--color-sidebar` | 左侧导航区域背景。 |
|
|
47
|
+
| Header 顶栏 | `#ffffff` | `--color-header` | 顶部工具栏背景。 |
|
|
48
|
+
|
|
49
|
+
### Dark Theme
|
|
50
|
+
|
|
51
|
+
| 名称 | 值 | Token | 用途 |
|
|
52
|
+
| -------------------------------- | ----------------------------- | ------------------------------- | ------------------------------ |
|
|
53
|
+
| Canvas Dark 深色画布 | `#0f172a` | `--color-canvas-dark` | 深色模式主背景。 |
|
|
54
|
+
| Surface Dark 深色底色 | `#111827` | `--color-surface-dark` | 深色应用主体背景。 |
|
|
55
|
+
| Surface Raised Dark 深色抬升表面 | `#1e293b` | `--color-surface-raised-dark` | 深色卡片、面板、抽屉、弹窗。 |
|
|
56
|
+
| Surface Muted Dark 深色弱化表面 | `#273449` | `--color-surface-muted-dark` | 深色表头、次级面板、禁用控件。 |
|
|
57
|
+
| Popover Dark 深色浮层 | `#1e293b` | `--color-popover-dark` | 深色下拉菜单、选择器、气泡。 |
|
|
58
|
+
| Accent Dark 深色交互浅底 | `#273449` | `--color-accent-dark` | 深色菜单项 hover/focus 背景。 |
|
|
59
|
+
| Icon Dark 深色默认图标 | `#94a3b8` | `--color-icon-dark` | 深色普通图标和工具栏图标。 |
|
|
60
|
+
| Text Primary Dark 深色主文字 | `#f8fafc` | `--color-text-primary-dark` | 深色标题和高强调内容。 |
|
|
61
|
+
| Text Secondary Dark 深色次文字 | `#cbd5e1` | `--color-text-secondary-dark` | 深色正文和标签。 |
|
|
62
|
+
| Text Tertiary Dark 深色弱文字 | `#94a3b8` | `--color-text-tertiary-dark` | 深色占位符和元信息。 |
|
|
63
|
+
| Border Dark 深色边框 | `#334155` | `--color-border-dark` | 深色分割线和控件边框。 |
|
|
64
|
+
| Primary Dark 深色主色 | `#8ea0ff` | `--color-primary-dark` | 深色模式主交互色。 |
|
|
65
|
+
| Primary Soft Dark 深色主色浅底 | `rgba(142, 160, 255, 0.16)` | `--color-primary-soft-dark` | 深色选中态和低强调高亮。 |
|
|
66
|
+
|
|
67
|
+
## Tokens — Typography
|
|
68
|
+
|
|
69
|
+
### Interface Sans — 界面主字体 · `--font-interface`
|
|
70
|
+
|
|
71
|
+
- **字体栈:** Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif
|
|
72
|
+
- **字重:** 400, 500, 600, 700
|
|
73
|
+
- **字号:** 12px, 13px, 14px, 16px, 18px, 20px, 24px, 30px, 36px
|
|
74
|
+
- **行高:** 1.2, 1.35, 1.45, 1.5
|
|
75
|
+
- **字距:** 正文 normal;页面标题可使用 `-0.01em` 到 `-0.02em`
|
|
76
|
+
- **用途:** 导航、表格、表单、按钮、标题、指标数字、后台操作文案。
|
|
77
|
+
|
|
78
|
+
### Mono — 等宽字体 · `--font-mono`
|
|
79
|
+
|
|
80
|
+
- **字体栈:** "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace
|
|
81
|
+
- **字重:** 400, 500, 600
|
|
82
|
+
- **字号:** 12px, 13px, 14px
|
|
83
|
+
- **行高:** 1.45
|
|
84
|
+
- **字距:** normal
|
|
85
|
+
- **用途:** ID、API Key、日志、时间戳、技术字段、机器可读短文本。
|
|
86
|
+
|
|
87
|
+
### Type Scale
|
|
88
|
+
|
|
89
|
+
| 角色 | 字号 | 行高 | 字重 | 字距 | Token |
|
|
90
|
+
| ---------- | ---- | ---- | ---- | -------- | --------------------- |
|
|
91
|
+
| overline | 12px | 1.35 | 600 | 0.04em | `--text-overline` |
|
|
92
|
+
| caption | 12px | 1.45 | 400 | normal | `--text-caption` |
|
|
93
|
+
| body-sm | 13px | 1.5 | 400 | normal | `--text-body-sm` |
|
|
94
|
+
| body | 14px | 1.5 | 400 | normal | `--text-body` |
|
|
95
|
+
| body-lg | 16px | 1.5 | 400 | normal | `--text-body-lg` |
|
|
96
|
+
| label | 14px | 1.35 | 500 | normal | `--text-label` |
|
|
97
|
+
| heading-sm | 18px | 1.35 | 600 | -0.01em | `--text-heading-sm` |
|
|
98
|
+
| heading | 24px | 1.25 | 700 | -0.015em | `--text-heading` |
|
|
99
|
+
| heading-lg | 30px | 1.2 | 700 | -0.02em | `--text-heading-lg` |
|
|
100
|
+
| display | 36px | 1.2 | 700 | -0.02em | `--text-display` |
|
|
101
|
+
| metric | 32px | 1.1 | 700 | -0.02em | `--text-metric` |
|
|
102
|
+
|
|
103
|
+
## Tokens — Spacing & Shapes
|
|
104
|
+
|
|
105
|
+
**基础单位:** 4px
|
|
106
|
+
**密度:** 默认舒展,数据表格可切换紧凑
|
|
107
|
+
|
|
108
|
+
### Spacing Scale
|
|
109
|
+
|
|
110
|
+
| 名称 | 值 | Token |
|
|
111
|
+
| ---- | ---- | ---------------- |
|
|
112
|
+
| 2 | 2px | `--spacing-2` |
|
|
113
|
+
| 4 | 4px | `--spacing-4` |
|
|
114
|
+
| 6 | 6px | `--spacing-6` |
|
|
115
|
+
| 8 | 8px | `--spacing-8` |
|
|
116
|
+
| 10 | 10px | `--spacing-10` |
|
|
117
|
+
| 12 | 12px | `--spacing-12` |
|
|
118
|
+
| 16 | 16px | `--spacing-16` |
|
|
119
|
+
| 20 | 20px | `--spacing-20` |
|
|
120
|
+
| 24 | 24px | `--spacing-24` |
|
|
121
|
+
| 32 | 32px | `--spacing-32` |
|
|
122
|
+
| 40 | 40px | `--spacing-40` |
|
|
123
|
+
| 48 | 48px | `--spacing-48` |
|
|
124
|
+
| 64 | 64px | `--spacing-64` |
|
|
125
|
+
| 80 | 80px | `--spacing-80` |
|
|
126
|
+
|
|
127
|
+
### Border Radius
|
|
128
|
+
|
|
129
|
+
| 元素 | 值 | Token |
|
|
130
|
+
| --------- | ------ | ------------------------ |
|
|
131
|
+
| 页面面板 | 10px | `--radius-panel` |
|
|
132
|
+
| 卡片 | 12px | `--radius-card` |
|
|
133
|
+
| 输入框 | 8px | `--radius-input` |
|
|
134
|
+
| 按钮 | 8px | `--radius-button` |
|
|
135
|
+
| 图标按钮 | 8px | `--radius-icon-button` |
|
|
136
|
+
| 徽标/胶囊 | 9999px | `--radius-pill` |
|
|
137
|
+
| 弹窗 | 14px | `--radius-modal` |
|
|
138
|
+
| 抽屉 | 0px | `--radius-drawer` |
|
|
139
|
+
| 标签页 | 8px | `--radius-tab` |
|
|
140
|
+
| Logo 图标 | 0px | `--radius-logo` |
|
|
141
|
+
|
|
142
|
+
### Icon & Logo Scale
|
|
143
|
+
|
|
144
|
+
| 名称 | 值 | Token | 用途 |
|
|
145
|
+
|------|----|-------|------|
|
|
146
|
+
| icon-xs | 12px | `--icon-xs` | 辅助说明、小型状态点旁图标。 |
|
|
147
|
+
| icon-sm | 14px | `--icon-sm` | 表格行内图标、输入框辅助图标。 |
|
|
148
|
+
| icon-md | 16px | `--icon-md` | 默认操作图标、菜单图标、下拉菜单图标。 |
|
|
149
|
+
| icon-lg | 20px | `--icon-lg` | 侧边栏折叠态图标、重要工具栏图标。 |
|
|
150
|
+
| icon-xl | 24px | `--icon-xl` | 空状态、模块标题前图标。 |
|
|
151
|
+
| logo-mark | 32px | `--logo-mark-size` | 顶栏/侧边栏默认 Logo 图标。 |
|
|
152
|
+
| logo-mark-lg | 40px | `--logo-mark-size-lg` | 登录页、品牌展示区 Logo 图标。 |
|
|
153
|
+
|
|
154
|
+
### Shadows
|
|
155
|
+
|
|
156
|
+
| 名称 | 值 | Token |
|
|
157
|
+
| ----- | ---------------------------------------------------------------------- | ------------------ |
|
|
158
|
+
| xs | `0 1px 2px rgba(15, 23, 42, 0.06)` | `--shadow-xs` |
|
|
159
|
+
| sm | `0 1px 3px rgba(15, 23, 42, 0.10), 0 1px 2px rgba(15, 23, 42, 0.06)` | `--shadow-sm` |
|
|
160
|
+
| md | `0 8px 24px rgba(15, 23, 42, 0.10)` | `--shadow-md` |
|
|
161
|
+
| lg | `0 18px 48px rgba(15, 23, 42, 0.16)` | `--shadow-lg` |
|
|
162
|
+
| focus | `0 0 0 3px var(--color-focus-ring)` | `--shadow-focus` |
|
|
163
|
+
|
|
164
|
+
### Layout
|
|
165
|
+
|
|
166
|
+
- **页面最大宽度:** 1440px
|
|
167
|
+
- **内容最大宽度:** 1280px
|
|
168
|
+
- **侧边栏宽度:** 248px
|
|
169
|
+
- **折叠侧边栏宽度:** 64px
|
|
170
|
+
- **顶栏高度:** 56px
|
|
171
|
+
- **标签栏高度:** 40px
|
|
172
|
+
- **页面内边距:** 桌面 24px,平板 16px,移动端 12px
|
|
173
|
+
- **区块间距:** 24px
|
|
174
|
+
- **面板内边距:** 20px
|
|
175
|
+
- **卡片内边距:** 20px
|
|
176
|
+
- **控件高度:** 默认 36px,紧凑 32px,大号 40px
|
|
177
|
+
- **表格行高:** 默认 44px,紧凑 36px
|
|
178
|
+
|
|
179
|
+
## Components
|
|
180
|
+
|
|
181
|
+
### Primary Button 主按钮
|
|
182
|
+
|
|
183
|
+
**用途:** 页面主操作、确认、提交、流程继续。
|
|
184
|
+
|
|
185
|
+
使用 `Primary` 背景和白色文字。默认高度 `36px`,水平内边距 `16px`,圆角 `8px`,文字为 `14px` medium。Hover 使用 `Primary Hover`;聚焦使用 `Focus Ring`;禁用态使用 `Surface Muted` 背景和 `Text Disabled`。
|
|
186
|
+
|
|
187
|
+
### Secondary Button 次按钮
|
|
188
|
+
|
|
189
|
+
**用途:** 次级操作、中性操作、取消相邻操作。
|
|
190
|
+
|
|
191
|
+
白色或透明背景,`Border Subtle` 边框,`Text Primary` 文字。Hover 背景变为 `Surface Muted`。只有选中态才使用 `Primary Soft`,视觉重量必须弱于主按钮。
|
|
192
|
+
|
|
193
|
+
### Icon Button 图标按钮
|
|
194
|
+
|
|
195
|
+
**用途:** 工具栏操作、刷新、折叠、设置、行操作。
|
|
196
|
+
|
|
197
|
+
正方形按钮,尺寸 `32px` 或 `36px`,圆角 `8px`。默认透明背景和 `Text Tertiary` 图标。Hover 使用 `Surface Muted` 背景和 `Text Primary`。选中态使用 `Primary Soft` 背景和 `Primary` 图标。
|
|
198
|
+
|
|
199
|
+
### Logo 品牌标识
|
|
200
|
+
|
|
201
|
+
**用途:** 顶部栏、侧边栏、登录页、品牌入口。
|
|
202
|
+
|
|
203
|
+
Vben 风格的 Logo 由“图标 mark + 文本 wordmark”组成。默认 Logo 图标尺寸 `32px`,不使用圆角,保持原始图形轮廓,背景透明。Logo 容器高度跟随 Header 或 Sidebar,高度撑满父容器,水平内边距 `12px`,图标与文字间距 `8px`。文字使用 `18px`、semibold、`Text Primary`,单行截断,不换行。
|
|
204
|
+
|
|
205
|
+
侧边栏折叠时只保留 Logo 图标,隐藏文字;不要压缩文字或缩小到不可读。暗色主题中优先提供独立 `srcDark` 版本,如果没有暗色 Logo,必须保证默认 Logo 在深色背景上仍有足够对比度。登录页可以使用 `40px` Logo 图标和更明显的品牌文字,但仍保持简洁,不添加复杂光效。
|
|
206
|
+
|
|
207
|
+
### Icon 图标系统
|
|
208
|
+
|
|
209
|
+
**用途:** 导航识别、按钮操作、状态说明、表格行操作、空状态辅助。
|
|
210
|
+
|
|
211
|
+
默认图标尺寸为 `16px`,线性风格优先,线宽保持一致。导航和工具栏中同一组图标必须来自同一种图标语言,避免线性、实心、双色、emoji 混用。普通图标使用 `Icon Default`,hover 时可变为 `Text Primary`,激活态使用 `Icon Active`。危险操作图标使用 `Danger`,但不要给整块操作项铺红色背景。
|
|
212
|
+
|
|
213
|
+
Vben 风格允许三种图标来源:Iconify 字符串、远程图片 URL、组件图标。后台通用操作优先使用 Iconify/lucide 一类线性图标;品牌、头像、第三方平台标识可以使用远程图片或 SVG。远程图片图标必须固定尺寸并设置 `object-fit: contain`,不能因原图比例导致菜单抖动。缺失图标时使用统一 fallback 图标,不要留空导致文字错位。
|
|
214
|
+
|
|
215
|
+
常用尺寸规则:菜单图标 `16px`,折叠侧边栏图标 `20px`,按钮图标 `16px`,表格行操作图标 `14px` 到 `16px`,空状态图标 `48px` 到 `64px`。图标和文字并排时,间距固定 `8px`;纯图标按钮必须提供 hover/focus 状态和可访问名称。
|
|
216
|
+
|
|
217
|
+
### Sidebar Navigation 侧边导航
|
|
218
|
+
|
|
219
|
+
**用途:** 应用主导航。
|
|
220
|
+
|
|
221
|
+
使用 `Sidebar` 表面,右侧加 `Border Subtle` 边框。分组标题使用 `overline` 和 `Text Tertiary`。菜单项高度 `36px`,圆角 `8px`,水平内边距 `12px`。激活菜单使用 `Primary Soft` 背景、`Primary` 图标和 `Text Primary` 文本。嵌套层级每级缩进 `16px`。
|
|
222
|
+
|
|
223
|
+
### Header Toolbar 顶部工具栏
|
|
224
|
+
|
|
225
|
+
**用途:** 全局操作、页面上下文和快捷入口。
|
|
226
|
+
|
|
227
|
+
固定顶栏,高度 `56px`,背景 `Header`,底部边框 `Border Subtle`。左侧放侧边栏切换、面包屑或页面上下文;右侧放搜索、通知、主题/语言控制、用户菜单。所有图标控件对齐在 `32px` 的控制网格上。
|
|
228
|
+
|
|
229
|
+
### Page Container 页面容器
|
|
230
|
+
|
|
231
|
+
**用途:** 标准后台工作区。
|
|
232
|
+
|
|
233
|
+
使用 `Surface` 背景,桌面端 `24px` 页面内边距。页面标题位于内容上方,可带描述和右侧操作。内容模块之间使用 `24px` 间距。表单和详情页可限制最大宽度;看板和表格页可以撑满可用空间。
|
|
234
|
+
|
|
235
|
+
### Data Card 数据卡片
|
|
236
|
+
|
|
237
|
+
**用途:** 设置面板、内容模块、详情区块、看板模块。
|
|
238
|
+
|
|
239
|
+
使用 `Surface Raised` 背景、`Border Subtle` 边框、`12px` 圆角、`20px` 内边距,可选 `shadow-xs`。卡片头部包含 `heading-sm` 标题和可选操作。不要使用装饰性色块,依靠信息层级和间距组织内容。
|
|
240
|
+
|
|
241
|
+
### Metric Card 指标卡片
|
|
242
|
+
|
|
243
|
+
**用途:** KPI、统计摘要、运营指标。
|
|
244
|
+
|
|
245
|
+
使用抬升白色表面和弱边框。指标数字使用 `metric` 字体样式和 `Text Primary`。标签使用 `body-sm` 和 `Text Secondary`。趋势徽标使用语义浅底色。图标可放在 `Primary Soft` 或语义浅底色容器中。
|
|
246
|
+
|
|
247
|
+
### Table 表格
|
|
248
|
+
|
|
249
|
+
**用途:** 高密度数据浏览、对比、选择、批量操作。
|
|
250
|
+
|
|
251
|
+
表格容器使用 `Surface Raised`、边框、`12px` 圆角。表头使用 `Surface Muted` 背景、`Text Secondary`、`label` 字体。正文默认行高 `44px`,用 `Border Subtle` 分割。Hover 行使用 `Surface`;选中行使用 `Primary Soft`。行操作优先使用图标按钮或紧凑文字按钮。
|
|
252
|
+
|
|
253
|
+
### Filter Form 筛选表单
|
|
254
|
+
|
|
255
|
+
**用途:** 搜索、筛选、查询条件组合。
|
|
256
|
+
|
|
257
|
+
放在表格上方的抬升面板或工具栏中。控件间距 `12px`,控件高度 `36px`,只在必要时显示标签。主查询按钮放在末尾,重置按钮使用次按钮样式。高级筛选建议放入可折叠区域或抽屉。
|
|
258
|
+
|
|
259
|
+
### Input Field 输入框
|
|
260
|
+
|
|
261
|
+
**用途:** 文本输入、搜索、数字输入、技术字段。
|
|
262
|
+
|
|
263
|
+
高度 `36px`,水平内边距 `12px`,圆角 `8px`,白色背景,`Border Subtle` 边框。占位符使用 `Text Tertiary`。聚焦时边框为 `Primary` 并显示 `shadow-focus`。错误态边框为 `Danger`,错误说明文字也使用 `Danger`。
|
|
264
|
+
|
|
265
|
+
### Dropdown Menu 浮层菜单
|
|
266
|
+
|
|
267
|
+
**用途:** 用户菜单、更多操作、行操作、右键菜单、带图标的命令列表。
|
|
268
|
+
|
|
269
|
+
Vben 的浮层菜单不要使用浏览器或组件库默认样式。菜单面板使用 `Popover` 背景、`Popover Text` 文字、`Border Subtle` 边框、`8px` 圆角、`shadow-md`,最小宽度 `128px`。面板内部必须有 `4px` 内边距,菜单项之间允许 `4px` 以下的微间距;不要让菜单项直接贴边。
|
|
270
|
+
|
|
271
|
+
菜单项使用 `Text Primary` 或 `Text Primary / 80%`,高度建议 `32px` 到 `36px`,水平内边距 `8px`,垂直内边距 `6px`,圆角 `4px`,字号 `14px`。Hover 和键盘 focus 都使用 `Accent` 背景,文字切到 `Text Primary`。禁用项不可点击,透明度降到 `50%`,不要只变灰而保留 hover 效果。
|
|
272
|
+
|
|
273
|
+
带图标菜单项中,图标尺寸 `16px`,左侧对齐,图标与文字间距 `8px`。分割线使用 `Border Subtle`,高度 `1px`,上下间距 `4px`,并向两侧抵消面板内边距形成干净横线。分组标题使用 `14px` semibold,内边距 `8px 6px`;用户信息区域可使用 `12px` 到 `16px` 的更大头像与 `p-3` 内边距,但下方普通菜单仍回到紧凑节奏。
|
|
274
|
+
|
|
275
|
+
浮层出现时使用轻量动画:打开时 `fade-in + zoom-in-95`,关闭时 `fade-out + zoom-out-95`;根据方向附加 `slide-in`,距离控制在 `8px` 内。触发器与浮层之间保持 `4px` 偏移;Select 这类 popper 面板可以使用 `4px` translate 让位置更自然。子菜单使用相同视觉规则,但阴影提升到 `shadow-lg`,避免与父菜单糊在一起。
|
|
276
|
+
|
|
277
|
+
### Select / Dropdown 选择器
|
|
278
|
+
|
|
279
|
+
**用途:** 选项选择、紧凑命令菜单。
|
|
280
|
+
|
|
281
|
+
触发器与输入框高度和圆角一致,默认高度 `40px`,水平内边距 `12px`,背景透明或 `Surface Raised`,边框使用 `Border Subtle`,阴影只使用 `shadow-xs`。右侧箭头图标 `16px`,透明度约 `50%`。聚焦时不要使用厚重外框,使用主色内描边或 `shadow-focus`。
|
|
282
|
+
|
|
283
|
+
选择器下拉面板使用与 `Dropdown Menu` 一致的浮层系统:`Popover` 背景、`Border Subtle` 边框、`8px` 圆角、`shadow-md`、最大高度 `384px`、最小宽度 `128px`。视口内部使用 `4px` 内边距。选项使用 `14px` 字号,`6px` 垂直内边距,左侧 `8px`,右侧保留 `32px` 给选中图标。选中项右侧显示 `16px` check 图标;hover/focus 使用 `Accent` 背景,不要用大面积主色实底。
|
|
284
|
+
|
|
285
|
+
### Tabs / Tabbar 标签页
|
|
286
|
+
|
|
287
|
+
**用途:** 视图切换、多页面工作区导航。
|
|
288
|
+
|
|
289
|
+
分段标签使用 `Surface Muted` 背景和 `8px` 圆角。激活标签使用 `Surface Raised`、`Text Primary`、`shadow-xs`。多页面标签栏高度 `40px`,关闭图标 hover 时出现,激活态可使用 `Primary` 下划线或浅色填充。
|
|
290
|
+
|
|
291
|
+
### Breadcrumb 面包屑
|
|
292
|
+
|
|
293
|
+
**用途:** 嵌套页面的位置感。
|
|
294
|
+
|
|
295
|
+
祖先路径使用 `body-sm` 和 `Text Tertiary`,当前页使用 `Text Secondary`。分隔符使用弱化 chevron 或 `Border Strong` 色。小屏空间不足时可以隐藏面包屑。
|
|
296
|
+
|
|
297
|
+
### Modal 弹窗
|
|
298
|
+
|
|
299
|
+
**用途:** 短表单、确认、删除确认、需要中断用户流程的决策。
|
|
300
|
+
|
|
301
|
+
居中显示,使用 `Surface Raised`、`14px` 圆角、`shadow-lg` 和遮罩。标题使用 `heading-sm`,正文使用 `body`,底部操作右对齐。删除确认中,只有最终删除按钮使用 `Danger`。
|
|
302
|
+
|
|
303
|
+
### Drawer 抽屉
|
|
304
|
+
|
|
305
|
+
**用途:** 侧边编辑、详情预览、高级筛选、配置面板。
|
|
306
|
+
|
|
307
|
+
右侧滑出,使用 `Surface Raised`,外侧圆角 `0px`,`shadow-lg`。桌面端宽度建议 `420px` 到 `640px`。头部固定,主体可滚动,底部操作区在长表单中保持固定。
|
|
308
|
+
|
|
309
|
+
### Notification 通知
|
|
310
|
+
|
|
311
|
+
**用途:** 非阻塞反馈。
|
|
312
|
+
|
|
313
|
+
使用抬升表面、`12px` 圆角、`shadow-md` 和语义图标。成功、警告、危险、信息状态只在图标或细微强调上使用语义色,不要整块大面积铺色。
|
|
314
|
+
|
|
315
|
+
### Empty State 空状态
|
|
316
|
+
|
|
317
|
+
**用途:** 无数据、无搜索结果、首次使用引导。
|
|
318
|
+
|
|
319
|
+
在面板中居中展示。图标使用 `Text Tertiary` 或 `Primary Soft`。标题使用 `heading-sm`,说明文字使用 `Text Secondary`。如果用户可以解决空状态,提供一个明确操作。
|
|
320
|
+
|
|
321
|
+
### Error State 错误状态
|
|
322
|
+
|
|
323
|
+
**用途:** 加载失败、无权限、内容不可用。
|
|
324
|
+
|
|
325
|
+
文案要直接说明问题,并给出恢复操作。真正失败时使用 `Danger`;无权限或不可用状态可以使用 `Info` 或中性色。不要为常规权限边界使用过度惊吓的插画。
|
|
326
|
+
|
|
327
|
+
### Login Panel 登录面板
|
|
328
|
+
|
|
329
|
+
**用途:** 身份认证入口。
|
|
330
|
+
|
|
331
|
+
可使用左右分栏或居中卡片。表单面板使用 `Surface Raised`、`12px` 圆角、`24px` 内边距、`shadow-md`。品牌区域可使用轻微主色渐变或抽象产品界面片段。输入框遵循标准样式,主提交按钮占满宽度。
|
|
332
|
+
|
|
333
|
+
## Do's and Don'ts
|
|
334
|
+
|
|
335
|
+
### Do
|
|
336
|
+
|
|
337
|
+
- 使用一个主色承担操作、焦点、激活导航和选中态。
|
|
338
|
+
- 让 `Canvas`、`Surface`、`Surface Raised` 成为界面的主导背景。
|
|
339
|
+
- 语义色只用于状态、校验和系统反馈。
|
|
340
|
+
- Logo 保持图标与文字的固定比例,折叠状态只隐藏文字,不压缩品牌图形。
|
|
341
|
+
- 图标使用统一线性语言,默认尺寸 `16px`,同一组操作不要混用多套风格。
|
|
342
|
+
- 表格要重视扫描效率:统一行高、数字对齐、分割线克制。
|
|
343
|
+
- 常见工具栏操作优先使用图标按钮。
|
|
344
|
+
- 长流程侧边编辑用抽屉,短确认和中断式决策用弹窗。
|
|
345
|
+
- 即使组件内部紧凑,页面区块之间也要留出清晰呼吸感。
|
|
346
|
+
- 所有可交互元素都必须有可见焦点态。
|
|
347
|
+
|
|
348
|
+
### Don't
|
|
349
|
+
|
|
350
|
+
- 不要使用多个高饱和强调色抢主操作的注意力。
|
|
351
|
+
- 不要让所有模块都变成重阴影卡片;大多数面板应保持安静。
|
|
352
|
+
- 不要把高频后台工具做成营销页 hero 风格。
|
|
353
|
+
- 不要把 Logo 放进圆形头像容器,也不要给 Logo 添加厚重阴影、描边或发光效果。
|
|
354
|
+
- 不要混用 emoji、实心图标、线性图标和品牌图标作为同一层级的操作图标。
|
|
355
|
+
- 不要在所有按钮上滥用胶囊圆角;胶囊更适合徽标和状态。
|
|
356
|
+
- 不要只用颜色表达状态,必须配合文字或图标。
|
|
357
|
+
- 不要把主操作藏进更多菜单。
|
|
358
|
+
- 不要在用户需要快速检查数据的地方放大幅装饰插画。
|
|
359
|
+
- 不要让表格因为单元格 padding 和字体不一致而失去对齐感。
|
|
360
|
+
|
|
361
|
+
## Elevation
|
|
362
|
+
|
|
363
|
+
- **Flat Surface 平面层:** 无阴影,使用 `Border Subtle`,适合大多数面板和表格。
|
|
364
|
+
- **Raised Card 轻抬升层:** 使用 `shadow-xs`,适合看板卡片和轻量模块。
|
|
365
|
+
- **Floating Surface 浮层:** 使用 `shadow-md`,适合下拉菜单、选择器面板、气泡、通知。浮层必须同时具备边框、`8px` 圆角、`4px` 内边距和轻量进入动画。
|
|
366
|
+
- **Nested Floating Surface 子浮层:** 使用 `shadow-lg`,适合二级菜单、级联菜单和复杂右键菜单,确保层级与父浮层分离。
|
|
367
|
+
- **Modal Layer 弹窗层:** 使用 `shadow-lg`,只用于弹窗和抽屉。
|
|
368
|
+
- **Focus Ring 焦点层:** 使用 `shadow-focus`,所有键盘可访问交互都需要。
|
|
369
|
+
|
|
370
|
+
## Imagery
|
|
371
|
+
|
|
372
|
+
图像应该帮助理解,而不是装饰后台外壳。优先使用产品截图、紧凑数据可视化、状态图、头像缩略图和中性空状态图标。插画应少量使用,保持单色或主色浅底。除用户头像或团队资料外,不建议使用商业图库摄影。产品截图应放在白色或抬升表面中,使用细边框,不要做夸张透视。
|
|
373
|
+
|
|
374
|
+
## Layout
|
|
375
|
+
|
|
376
|
+
Vben 风格默认使用稳定的侧边栏加顶部工具栏。主内容区域位于 `Surface` 背景上,承载表格、表单、卡片、看板和详情面板。详情页和设置页建议使用 `1280px` 内容最大宽度;表格页和运营看板可以使用全宽布局。
|
|
377
|
+
|
|
378
|
+
常见布局模式:
|
|
379
|
+
|
|
380
|
+
- **列表页:** 页面头部、筛选表单、表格面板、分页区域。
|
|
381
|
+
- **看板页:** 指标卡片网格、主图表区域、次级活动流或数据表。
|
|
382
|
+
- **详情页:** 标题区、摘要卡片、标签页内容、侧边元信息。
|
|
383
|
+
- **设置页:** 左侧分区导航或顶部标签、堆叠表单面板、固定保存区。
|
|
384
|
+
- **新增/编辑页:** 最大 `720px` 的单列表单、分组区块、右对齐操作。
|
|
385
|
+
- **分栏工作台:** 左侧列表或树,右侧详情/编辑面板。
|
|
386
|
+
|
|
387
|
+
响应式行为:
|
|
388
|
+
|
|
389
|
+
- `1024px` 以下折叠侧边栏。
|
|
390
|
+
- `768px` 以下将顶栏文字操作替换为图标。
|
|
391
|
+
- `640px` 以下看板网格堆叠为单列。
|
|
392
|
+
- 移动端始终保持主操作可见,可放在头部或固定底部。
|
|
393
|
+
|
|
394
|
+
## Agent Prompt Guide
|
|
395
|
+
|
|
396
|
+
### Quick Color Reference
|
|
397
|
+
|
|
398
|
+
- 页面背景:`#ffffff`
|
|
399
|
+
- 应用主体背景:`#f8fafc`
|
|
400
|
+
- 面板背景:`#ffffff`
|
|
401
|
+
- 主文字:`#172033`
|
|
402
|
+
- 次文字:`#475569`
|
|
403
|
+
- 弱文字:`#64748b`
|
|
404
|
+
- 主操作色:`#4f63d7`
|
|
405
|
+
- 弱边框:`#e2e8f0`
|
|
406
|
+
- 选中/激活背景:`#eef2ff`
|
|
407
|
+
|
|
408
|
+
### 组件生成 Prompt 示例
|
|
409
|
+
|
|
410
|
+
1. **创建列表页:** 设计一个 Vben 风格后台列表页,背景使用 `Surface`。顶部包含页面标题、说明文字和右侧主按钮。下方是抬升筛选面板,包含搜索输入框、选择器筛选、重置按钮和查询按钮。再下方是带边框表格,表头弱化背景,行高 `44px`,hover 行高亮,包含状态徽标和紧凑行操作按钮。
|
|
411
|
+
2. **设计指标看板:** 创建一个后台数据看板,顶部四个指标卡片组成响应式网格。每张卡片使用白色背景、弱边框、`12px` 圆角和 `20px` 内边距。指标数字使用 `32px` 粗体和主文字色;标签使用 `13px` 次文字色;趋势使用语义浅色徽标。下方加入大图表面板,右上角有时间范围分段控件。
|
|
412
|
+
3. **构建设置表单:** 创建一个设置页,由多个堆叠数据卡片组成。每个区块包含 `18px` 标题、简短说明和标准表单控件。输入框高度 `36px`。底部使用固定保存栏,包含次级取消按钮和主保存按钮。整体使用弱分割线,不使用重阴影。
|
|
413
|
+
4. **创建抽屉编辑流程:** 设计一个右侧抽屉用于编辑记录。宽度 `520px`,白色表面,固定头部,可滚动表单主体,固定底部操作区。输入框圆角 `8px`,聚焦显示主色焦点环。底部包含主保存按钮和次取消按钮。
|
|
414
|
+
5. **生成空状态:** 在带边框面板中居中展示一个中性线性图标、标题、简短说明和一个主操作按钮。使用弱文字和克制图形,不要使用大幅彩色插画,除非是首次使用引导。
|
|
415
|
+
6. **生成下拉操作菜单:** 设计一个 Vben 风格更多操作菜单。触发器是 `32px` 图标按钮,hover 使用 `Accent` 背景。浮层宽度 `180px`,背景 `Popover`,边框 `Border Subtle`,圆角 `8px`,内边距 `4px`,阴影 `shadow-md`。菜单项高度 `32px`,圆角 `4px`,图标 `16px`,图标与文字间距 `8px`,hover/focus 使用 `Accent` 背景。危险操作只让图标和文字变为 `Danger`,不要整行红底。
|
|
416
|
+
7. **生成侧边栏 Logo 与导航图标:** 创建一个 Vben 风格侧边栏顶部品牌区。Logo 图标 `32px`,不加圆角,背景透明;右侧品牌文字 `18px` semibold,单行截断,图标与文字间距 `8px`,容器水平内边距 `12px`。导航项图标统一 `16px` 线性风格,折叠态图标可放大到 `20px`,激活项图标使用 `Primary`,未激活使用 `Icon Default`。
|
|
417
|
+
|
|
418
|
+
## Similar Products
|
|
419
|
+
|
|
420
|
+
- **Linear:** 精准排版、低噪声表面、适合键盘操作的高效工作流。
|
|
421
|
+
- **Stripe Dashboard:** 数据呈现清晰、色彩克制、金融和产品工作流层级明确。
|
|
422
|
+
- **Vercel Dashboard:** 开发者工具气质、界面外壳极简、面板清晰、深色模式克制。
|
|
423
|
+
- **Retool:** 运营工具密度高、控件直接、布局实用。
|
|
424
|
+
- **Notion 管理视图:** 留白冷静、层级清楚、内容组织轻量。
|
|
425
|
+
|
|
426
|
+
## Quick Start
|
|
427
|
+
|
|
428
|
+
### CSS Custom Properties
|
|
429
|
+
|
|
430
|
+
```css
|
|
431
|
+
:root {
|
|
432
|
+
/* Colors */
|
|
433
|
+
--color-canvas: #ffffff;
|
|
434
|
+
--color-surface: #f8fafc;
|
|
435
|
+
--color-surface-raised: #ffffff;
|
|
436
|
+
--color-surface-muted: #f1f5f9;
|
|
437
|
+
--color-popover: #ffffff;
|
|
438
|
+
--color-popover-text: #172033;
|
|
439
|
+
--color-accent: #f1f5f9;
|
|
440
|
+
--color-accent-hover: #e2e8f0;
|
|
441
|
+
--color-icon: #64748b;
|
|
442
|
+
--color-icon-active: #4f63d7;
|
|
443
|
+
--color-text-primary: #172033;
|
|
444
|
+
--color-text-secondary: #475569;
|
|
445
|
+
--color-text-tertiary: #64748b;
|
|
446
|
+
--color-text-disabled: #94a3b8;
|
|
447
|
+
--color-primary: #4f63d7;
|
|
448
|
+
--color-primary-hover: #3f51c1;
|
|
449
|
+
--color-primary-soft: #eef2ff;
|
|
450
|
+
--color-primary-border: #c7d2fe;
|
|
451
|
+
--color-success: #16a34a;
|
|
452
|
+
--color-success-soft: #dcfce7;
|
|
453
|
+
--color-warning: #d97706;
|
|
454
|
+
--color-warning-soft: #fef3c7;
|
|
455
|
+
--color-danger: #dc2626;
|
|
456
|
+
--color-danger-soft: #fee2e2;
|
|
457
|
+
--color-info: #0284c7;
|
|
458
|
+
--color-info-soft: #e0f2fe;
|
|
459
|
+
--color-border-subtle: #e2e8f0;
|
|
460
|
+
--color-border-strong: #cbd5e1;
|
|
461
|
+
--color-overlay: rgba(15, 23, 42, 0.42);
|
|
462
|
+
--color-focus-ring: rgba(79, 99, 215, 0.24);
|
|
463
|
+
--color-sidebar: #ffffff;
|
|
464
|
+
--color-header: #ffffff;
|
|
465
|
+
|
|
466
|
+
/* Dark mode tokens */
|
|
467
|
+
--color-canvas-dark: #0f172a;
|
|
468
|
+
--color-surface-dark: #111827;
|
|
469
|
+
--color-surface-raised-dark: #1e293b;
|
|
470
|
+
--color-surface-muted-dark: #273449;
|
|
471
|
+
--color-popover-dark: #1e293b;
|
|
472
|
+
--color-accent-dark: #273449;
|
|
473
|
+
--color-icon-dark: #94a3b8;
|
|
474
|
+
--color-text-primary-dark: #f8fafc;
|
|
475
|
+
--color-text-secondary-dark: #cbd5e1;
|
|
476
|
+
--color-text-tertiary-dark: #94a3b8;
|
|
477
|
+
--color-border-dark: #334155;
|
|
478
|
+
--color-primary-dark: #8ea0ff;
|
|
479
|
+
--color-primary-soft-dark: rgba(142, 160, 255, 0.16);
|
|
480
|
+
|
|
481
|
+
/* Typography */
|
|
482
|
+
--font-interface: Inter, ui-sans-serif, system-ui, -apple-system,
|
|
483
|
+
BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
484
|
+
--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
|
|
485
|
+
--text-overline: 12px;
|
|
486
|
+
--text-caption: 12px;
|
|
487
|
+
--text-body-sm: 13px;
|
|
488
|
+
--text-body: 14px;
|
|
489
|
+
--text-body-lg: 16px;
|
|
490
|
+
--text-label: 14px;
|
|
491
|
+
--text-heading-sm: 18px;
|
|
492
|
+
--text-heading: 24px;
|
|
493
|
+
--text-heading-lg: 30px;
|
|
494
|
+
--text-display: 36px;
|
|
495
|
+
--text-metric: 32px;
|
|
496
|
+
--leading-tight: 1.2;
|
|
497
|
+
--leading-snug: 1.35;
|
|
498
|
+
--leading-normal: 1.45;
|
|
499
|
+
--leading-relaxed: 1.5;
|
|
500
|
+
--tracking-heading: -0.015em;
|
|
501
|
+
--tracking-display: -0.02em;
|
|
502
|
+
|
|
503
|
+
/* Spacing */
|
|
504
|
+
--spacing-2: 2px;
|
|
505
|
+
--spacing-4: 4px;
|
|
506
|
+
--spacing-6: 6px;
|
|
507
|
+
--spacing-8: 8px;
|
|
508
|
+
--spacing-10: 10px;
|
|
509
|
+
--spacing-12: 12px;
|
|
510
|
+
--spacing-16: 16px;
|
|
511
|
+
--spacing-20: 20px;
|
|
512
|
+
--spacing-24: 24px;
|
|
513
|
+
--spacing-32: 32px;
|
|
514
|
+
--spacing-40: 40px;
|
|
515
|
+
--spacing-48: 48px;
|
|
516
|
+
--spacing-64: 64px;
|
|
517
|
+
--spacing-80: 80px;
|
|
518
|
+
|
|
519
|
+
/* Icons & Logo */
|
|
520
|
+
--icon-xs: 12px;
|
|
521
|
+
--icon-sm: 14px;
|
|
522
|
+
--icon-md: 16px;
|
|
523
|
+
--icon-lg: 20px;
|
|
524
|
+
--icon-xl: 24px;
|
|
525
|
+
--logo-mark-size: 32px;
|
|
526
|
+
--logo-mark-size-lg: 40px;
|
|
527
|
+
|
|
528
|
+
/* Layout */
|
|
529
|
+
--page-max-width: 1440px;
|
|
530
|
+
--content-max-width: 1280px;
|
|
531
|
+
--sidebar-width: 248px;
|
|
532
|
+
--sidebar-width-collapsed: 64px;
|
|
533
|
+
--header-height: 56px;
|
|
534
|
+
--tabbar-height: 40px;
|
|
535
|
+
--page-padding: 24px;
|
|
536
|
+
--section-gap: 24px;
|
|
537
|
+
--panel-padding: 20px;
|
|
538
|
+
--card-padding: 20px;
|
|
539
|
+
--control-height: 36px;
|
|
540
|
+
--control-height-compact: 32px;
|
|
541
|
+
--control-height-large: 40px;
|
|
542
|
+
--table-row-height: 44px;
|
|
543
|
+
--table-row-height-compact: 36px;
|
|
544
|
+
|
|
545
|
+
/* Radius */
|
|
546
|
+
--radius-panel: 10px;
|
|
547
|
+
--radius-card: 12px;
|
|
548
|
+
--radius-input: 8px;
|
|
549
|
+
--radius-button: 8px;
|
|
550
|
+
--radius-icon-button: 8px;
|
|
551
|
+
--radius-pill: 9999px;
|
|
552
|
+
--radius-modal: 14px;
|
|
553
|
+
--radius-drawer: 0px;
|
|
554
|
+
--radius-tab: 8px;
|
|
555
|
+
--radius-logo: 0px;
|
|
556
|
+
|
|
557
|
+
/* Shadows */
|
|
558
|
+
--shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.06);
|
|
559
|
+
--shadow-sm:
|
|
560
|
+
0 1px 3px rgba(15, 23, 42, 0.1),
|
|
561
|
+
0 1px 2px rgba(15, 23, 42, 0.06);
|
|
562
|
+
--shadow-md: 0 8px 24px rgba(15, 23, 42, 0.1);
|
|
563
|
+
--shadow-lg: 0 18px 48px rgba(15, 23, 42, 0.16);
|
|
564
|
+
--shadow-focus: 0 0 0 3px var(--color-focus-ring);
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
.dark {
|
|
568
|
+
--color-canvas: var(--color-canvas-dark);
|
|
569
|
+
--color-surface: var(--color-surface-dark);
|
|
570
|
+
--color-surface-raised: var(--color-surface-raised-dark);
|
|
571
|
+
--color-surface-muted: var(--color-surface-muted-dark);
|
|
572
|
+
--color-popover: var(--color-popover-dark);
|
|
573
|
+
--color-popover-text: var(--color-text-primary-dark);
|
|
574
|
+
--color-accent: var(--color-accent-dark);
|
|
575
|
+
--color-accent-hover: #334155;
|
|
576
|
+
--color-icon: var(--color-icon-dark);
|
|
577
|
+
--color-icon-active: var(--color-primary-dark);
|
|
578
|
+
--color-text-primary: var(--color-text-primary-dark);
|
|
579
|
+
--color-text-secondary: var(--color-text-secondary-dark);
|
|
580
|
+
--color-text-tertiary: var(--color-text-tertiary-dark);
|
|
581
|
+
--color-border-subtle: var(--color-border-dark);
|
|
582
|
+
--color-border-strong: #475569;
|
|
583
|
+
--color-primary: var(--color-primary-dark);
|
|
584
|
+
--color-primary-soft: var(--color-primary-soft-dark);
|
|
585
|
+
--color-sidebar: var(--color-surface-raised-dark);
|
|
586
|
+
--color-header: var(--color-surface-raised-dark);
|
|
587
|
+
}
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
### Tailwind v4
|
|
591
|
+
|
|
592
|
+
```css
|
|
593
|
+
@theme {
|
|
594
|
+
/* Colors */
|
|
595
|
+
--color-canvas: #ffffff;
|
|
596
|
+
--color-surface: #f8fafc;
|
|
597
|
+
--color-surface-raised: #ffffff;
|
|
598
|
+
--color-surface-muted: #f1f5f9;
|
|
599
|
+
--color-popover: #ffffff;
|
|
600
|
+
--color-popover-text: #172033;
|
|
601
|
+
--color-accent: #f1f5f9;
|
|
602
|
+
--color-accent-hover: #e2e8f0;
|
|
603
|
+
--color-icon: #64748b;
|
|
604
|
+
--color-icon-active: #4f63d7;
|
|
605
|
+
--color-text-primary: #172033;
|
|
606
|
+
--color-text-secondary: #475569;
|
|
607
|
+
--color-text-tertiary: #64748b;
|
|
608
|
+
--color-text-disabled: #94a3b8;
|
|
609
|
+
--color-primary: #4f63d7;
|
|
610
|
+
--color-primary-hover: #3f51c1;
|
|
611
|
+
--color-primary-soft: #eef2ff;
|
|
612
|
+
--color-primary-border: #c7d2fe;
|
|
613
|
+
--color-success: #16a34a;
|
|
614
|
+
--color-success-soft: #dcfce7;
|
|
615
|
+
--color-warning: #d97706;
|
|
616
|
+
--color-warning-soft: #fef3c7;
|
|
617
|
+
--color-danger: #dc2626;
|
|
618
|
+
--color-danger-soft: #fee2e2;
|
|
619
|
+
--color-info: #0284c7;
|
|
620
|
+
--color-info-soft: #e0f2fe;
|
|
621
|
+
--color-border-subtle: #e2e8f0;
|
|
622
|
+
--color-border-strong: #cbd5e1;
|
|
623
|
+
--color-sidebar: #ffffff;
|
|
624
|
+
--color-header: #ffffff;
|
|
625
|
+
|
|
626
|
+
/* Typography */
|
|
627
|
+
--font-interface: Inter, ui-sans-serif, system-ui, -apple-system,
|
|
628
|
+
BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
629
|
+
--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
|
|
630
|
+
--text-overline: 12px;
|
|
631
|
+
--text-caption: 12px;
|
|
632
|
+
--text-body-sm: 13px;
|
|
633
|
+
--text-body: 14px;
|
|
634
|
+
--text-body-lg: 16px;
|
|
635
|
+
--text-label: 14px;
|
|
636
|
+
--text-heading-sm: 18px;
|
|
637
|
+
--text-heading: 24px;
|
|
638
|
+
--text-heading-lg: 30px;
|
|
639
|
+
--text-display: 36px;
|
|
640
|
+
--text-metric: 32px;
|
|
641
|
+
|
|
642
|
+
/* Spacing */
|
|
643
|
+
--spacing-2: 2px;
|
|
644
|
+
--spacing-4: 4px;
|
|
645
|
+
--spacing-6: 6px;
|
|
646
|
+
--spacing-8: 8px;
|
|
647
|
+
--spacing-10: 10px;
|
|
648
|
+
--spacing-12: 12px;
|
|
649
|
+
--spacing-16: 16px;
|
|
650
|
+
--spacing-20: 20px;
|
|
651
|
+
--spacing-24: 24px;
|
|
652
|
+
--spacing-32: 32px;
|
|
653
|
+
--spacing-40: 40px;
|
|
654
|
+
--spacing-48: 48px;
|
|
655
|
+
--spacing-64: 64px;
|
|
656
|
+
--spacing-80: 80px;
|
|
657
|
+
|
|
658
|
+
/* Icons & Logo */
|
|
659
|
+
--icon-xs: 12px;
|
|
660
|
+
--icon-sm: 14px;
|
|
661
|
+
--icon-md: 16px;
|
|
662
|
+
--icon-lg: 20px;
|
|
663
|
+
--icon-xl: 24px;
|
|
664
|
+
--logo-mark-size: 32px;
|
|
665
|
+
--logo-mark-size-lg: 40px;
|
|
666
|
+
|
|
667
|
+
/* Radius */
|
|
668
|
+
--radius-panel: 10px;
|
|
669
|
+
--radius-card: 12px;
|
|
670
|
+
--radius-input: 8px;
|
|
671
|
+
--radius-button: 8px;
|
|
672
|
+
--radius-icon-button: 8px;
|
|
673
|
+
--radius-pill: 9999px;
|
|
674
|
+
--radius-modal: 14px;
|
|
675
|
+
--radius-drawer: 0px;
|
|
676
|
+
--radius-tab: 8px;
|
|
677
|
+
--radius-logo: 0px;
|
|
678
|
+
|
|
679
|
+
/* Shadows */
|
|
680
|
+
--shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.06);
|
|
681
|
+
--shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.1), 0 1px 2px rgba(15, 23, 42, 0.06);
|
|
682
|
+
--shadow-md: 0 8px 24px rgba(15, 23, 42, 0.1);
|
|
683
|
+
--shadow-lg: 0 18px 48px rgba(15, 23, 42, 0.16);
|
|
684
|
+
}
|
|
685
|
+
```
|