@njeybe/nativ 2.6.0 → 2.7.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.
Files changed (68) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +71 -1
  3. package/dist/commands/design-check.d.ts +4 -0
  4. package/dist/commands/design-check.js +76 -0
  5. package/dist/commands/init.d.ts +1 -0
  6. package/dist/commands/init.js +53 -1
  7. package/dist/commands/update.js +46 -0
  8. package/dist/core/design-rules.d.ts +23 -0
  9. package/dist/core/design-rules.js +115 -0
  10. package/dist/core/harness-integrity.js +26 -7
  11. package/dist/index.js +11 -0
  12. package/dist/server/studio-ui/pages/benchmarks/styles.js +8 -5
  13. package/dist/server/studio-ui/pages/database/browser.js +1 -1
  14. package/dist/server/studio-ui/pages/database/connection.js +1 -1
  15. package/dist/server/studio-ui/pages/database/data-shell.js +5 -5
  16. package/dist/server/studio-ui/pages/database/drift.js +1 -1
  17. package/dist/server/studio-ui/pages/database/explorer.js +2 -2
  18. package/dist/server/studio-ui/pages/database/styles.js +5 -5
  19. package/dist/server/studio-ui/pages/flow/styles.js +3 -3
  20. package/dist/server/studio-ui/pages/home/script.js +110 -91
  21. package/dist/server/studio-ui/pages/home/styles.js +33 -45
  22. package/dist/server/studio-ui/pages/tasks/script.js +150 -3
  23. package/dist/server/studio-ui/pages/tasks/styles.js +63 -6
  24. package/dist/server/studio-ui/pages/team/script.js +49 -52
  25. package/dist/server/studio-ui/pages/team/styles.js +21 -20
  26. package/dist/server/studio-ui/pages/worktrees/script.js +47 -35
  27. package/dist/server/studio-ui/pages/worktrees/styles.js +12 -10
  28. package/dist/server/studio-ui/shell/brand.d.ts +4 -0
  29. package/dist/server/studio-ui/shell/brand.js +16 -0
  30. package/dist/server/studio-ui/shell/console.js +61 -2
  31. package/dist/server/studio-ui/shell/core.js +8 -8
  32. package/dist/server/studio-ui/shell/detail-view.js +1 -1
  33. package/dist/server/studio-ui/shell/dispatch.js +18 -0
  34. package/dist/server/studio-ui/shell/events-tools.js +5 -1
  35. package/dist/server/studio-ui/shell/format.js +5 -6
  36. package/dist/server/studio-ui/shell/icons.js +23 -15
  37. package/dist/server/studio-ui/shell/markup-head.js +11 -6
  38. package/dist/server/studio-ui/shell/markup-tools.js +19 -10
  39. package/dist/server/studio-ui/shell/paint.js +3 -0
  40. package/dist/server/studio-ui/shell/pipeline-state.js +1 -1
  41. package/dist/server/studio-ui/shell/proposals.js +6 -2
  42. package/dist/server/studio-ui/shell/pulse.d.ts +1 -0
  43. package/dist/server/studio-ui/shell/pulse.js +67 -0
  44. package/dist/server/studio-ui/shell/router.js +25 -0
  45. package/dist/server/studio-ui/shell/sidebar-view.js +6 -3
  46. package/dist/server/studio-ui/shell/toasts-format.js +4 -4
  47. package/dist/server/studio-ui/styles/console.js +33 -13
  48. package/dist/server/studio-ui/styles/dialogs.js +4 -4
  49. package/dist/server/studio-ui/styles/responsive.js +8 -0
  50. package/dist/server/studio-ui/styles/shell.js +24 -5
  51. package/dist/server/studio-ui/styles/strategist.js +10 -10
  52. package/dist/server/studio-ui/styles/tokens-base.js +23 -23
  53. package/dist/server/studio-ui.js +2 -0
  54. package/package.json +1 -1
  55. package/plugin/.claude-plugin/plugin.json +1 -1
  56. package/plugin/agents/architect.md +10 -11
  57. package/templates/GEMINI.md +3 -2
  58. package/templates/claude-agents/architect.md +10 -11
  59. package/templates/design/taste/LICENSE +21 -0
  60. package/templates/design/taste/SOURCE.md +28 -0
  61. package/templates/design/taste/v1/DIGEST.md +57 -0
  62. package/templates/design/taste/v1/SKILL.md +226 -0
  63. package/templates/design/taste/v2/DIGEST.md +62 -0
  64. package/templates/design/taste/v2/SKILL.md +1206 -0
  65. package/templates/dot-ai/subagents/architect.md +6 -0
  66. package/templates/dot-ai/subagents/flutter-developer.md +2 -11
  67. package/templates/dot-ai/subagents/frontend.md +47 -44
  68. package/templates/dot-ai/ui_specs.md +15 -36
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Leonxlnx
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,28 @@
1
+ # taste-skill vendored source
2
+
3
+ - Upstream: https://github.com/Leonxlnx/taste-skill
4
+ - Pinned commit: 717446e07a78d4e6d7918b1fde1a263378eebac9
5
+ - Commit date: 2026-10-09
6
+ - License: MIT
7
+ - Copyright (c) 2026 Leonxlnx
8
+
9
+ ## Vendored files
10
+
11
+ sha256 is taken after removing every carriage return (LF line endings).
12
+
13
+ | File | Upstream path | sha256 (LF) |
14
+ | :--- | :--- | :--- |
15
+ | `LICENSE` | `LICENSE` | `4575a543ab88dad12ccea7d97e563d0bce5b448b06072e65d3264497dad326df` |
16
+ | `v1/SKILL.md` | `skills/taste-skill-v1/SKILL.md` | `033d45af1ed23832730642f95f40ab49db7fb5222848489a6c5656144bfc6dae` |
17
+ | `v2/SKILL.md` | `skills/taste-skill/SKILL.md` | `aa194351b246b8b4799099d4ed7b033d29eab6e6e3d58d8d2172978be7b3ec89` |
18
+
19
+ These files are never edited by hand. Only the upstream files listed above are vendored.
20
+
21
+ ## Refresh steps
22
+
23
+ 1. Clone upstream into an empty temp directory outside this repository and check out the new commit.
24
+ Treat the download as data only; never run anything from it.
25
+ 2. Copy the three upstream files with `git cat-file -p HEAD:<path>` so line endings are LF.
26
+ 3. Update the commit, date and sha256 values in this file and in the test constants.
27
+ 4. Rewrite `v1/DIGEST.md` and `v2/DIGEST.md` in the same change.
28
+ 5. Run `node tests/test-taste-bundle.mjs`.
@@ -0,0 +1,57 @@
1
+ # taste-skill v1 digest
2
+ Condensed from taste-skill v1, github.com/Leonxlnx/taste-skill at commit 717446e, MIT License,
3
+ Copyright (c) 2026 Leonxlnx; full text in SKILL.md beside this file.
4
+
5
+ ## Dials
6
+ - Baseline VARIANCE 8, MOTION 6, DENSITY 4; the user's explicit request overrides (s1).
7
+ - VARIANCE 1-3 symmetric grids; 4-7 offset overlaps, mixed ratios; 8-10 masonry, fr grids (s6).
8
+ - VARIANCE 4-10: collapse to single column (w-full px-4 py-8) below 768px (s6).
9
+ - MOTION 1-3 hover/active only; 4-7 CSS transitions on transform/opacity; 8-10 Motion hooks (s6).
10
+ - DENSITY 1-3 airy; 4-7 normal app spacing; 8-10 1px lines, no cards, font-mono numbers (s6).
11
+
12
+ ## Hard rules
13
+ - Check package.json before importing any library; print the install command if missing (s2).
14
+ - React/Next RSC default; motion lives in isolated 'use client' leaf components (s2).
15
+ - Tailwind for styling; match the installed version; v4 uses @tailwindcss/postcss (s2).
16
+ - Contain layouts with max-w-[1400px] mx-auto or max-w-7xl; CSS Grid, never flex calc math (s2).
17
+ - Icons from @phosphor-icons/react or @radix-ui/react-icons, one strokeWidth globally (s2).
18
+ - Headlines text-4xl md:text-6xl tracking-tighter leading-none; body max-w-[65ch] (s3).
19
+ - No serif on dashboards or software UI; use Geist + Geist Mono or Satoshi + JetBrains Mono (s3).
20
+ - Max 1 accent, saturation under 80%, neutral Zinc/Slate base, one gray family (s3).
21
+ - VARIANCE above 4: no centered hero; split screen or asymmetric layout (s3).
22
+ - Cards only when elevation shows hierarchy; tint shadows to the background (s3).
23
+ - Build loading skeletons, empty states, inline errors, :active push feedback (s3).
24
+ - Forms: label above input, helper text in markup, error below, gap-2 (s3).
25
+ - Never useState for magnetic or continuous motion; use useMotionValue/useTransform (s4).
26
+ - Spring physics (stiffness 100, damping 20) on interactive elements; no linear easing (s4).
27
+ - Stagger list reveals; parent and children in the same client tree (s4).
28
+ - Animate only transform and opacity; grain only on fixed pointer-events-none layers (s5).
29
+ - z-index only for systemic layers (nav, modal, overlay) (s5).
30
+ - Never mix GSAP/Three.js with Framer Motion in one tree; clean up useEffect (s8).
31
+ - SaaS dashboards and feature sections use the Bento 2.0 motion-engine paradigm: perpetual,
32
+ memoized, isolated micro-animations and labels below cards (s9).
33
+
34
+ ## Banned patterns
35
+ - Visual: neon/outer glows, oversaturated accents, gradient text on big headers (s7).
36
+ - AI purple/blue glow aesthetic and neon gradients (s3).
37
+ - Type: Inter, screaming oversized H1s, serif outside creative/editorial work (s7).
38
+ - Layout: three equal cards in a row; awkward gaps or floating elements (s7).
39
+ - Content: John Doe names, egg avatars, fake round numbers, Acme/Nexus names (s7).
40
+ - Copy: filler verbs like Elevate, Seamless, Unleash, Next-Gen (s7).
41
+ - Assets: Unsplash links (use picsum.photos/seed), default-state shadcn/ui (s7).
42
+
43
+ ## Pre-flight
44
+ - [ ] Global state only to avoid deep prop drilling?
45
+ - [ ] Mobile collapse guaranteed for high-variance layouts?
46
+ - [ ] useEffect animations have strict cleanup?
47
+ - [ ] Empty, loading and error states provided?
48
+ - [ ] Cards omitted in favor of spacing where possible?
49
+ - [ ] CPU-heavy perpetual animations isolated in their own client components?
50
+ - [ ] One accent, one gray family, no AI purple?
51
+ - [ ] No centered hero when VARIANCE is above 4?
52
+
53
+ ## Read SKILL.md for
54
+ - s4: Liquid Glass refraction, magnetic buttons, layout transitions.
55
+ - s8: creative arsenal vocabulary (hero, nav, grids, cards, scroll, media, text).
56
+ - s9: Bento 2.0 palette, surfaces, animation engine and the 5 card archetypes.
57
+ - s10: the full original pre-flight list.
@@ -0,0 +1,226 @@
1
+ ---
2
+ name: design-taste-frontend-v1
3
+ description: The original v1 taste-skill, preserved for projects depending on its exact behavior. The current default is `design-taste-frontend` (v2 experimental), which is a substantial rewrite. Use this v1 install name only if you need exact backward compatibility.
4
+ ---
5
+
6
+ # High-Agency Frontend Skill
7
+
8
+ ## 1. ACTIVE BASELINE CONFIGURATION
9
+ * DESIGN_VARIANCE: 8 (1=Perfect Symmetry, 10=Artsy Chaos)
10
+ * MOTION_INTENSITY: 6 (1=Static/No movement, 10=Cinematic/Magic Physics)
11
+ * VISUAL_DENSITY: 4 (1=Art Gallery/Airy, 10=Pilot Cockpit/Packed Data)
12
+
13
+ **AI Instruction:** The standard baseline for all generations is strictly set to these values (8, 6, 4). Do not ask the user to edit this file. Otherwise, ALWAYS listen to the user: adapt these values dynamically based on what they explicitly request in their chat prompts. Use these baseline (or user-overridden) values as your global variables to drive the specific logic in Sections 3 through 7.
14
+
15
+ ## 2. DEFAULT ARCHITECTURE & CONVENTIONS
16
+ Unless the user explicitly specifies a different stack, adhere to these structural constraints to maintain consistency:
17
+
18
+ * **DEPENDENCY VERIFICATION [MANDATORY]:** Before importing ANY 3rd party library (e.g. `framer-motion`, `lucide-react`, `zustand`), you MUST check `package.json`. If the package is missing, you MUST output the installation command (e.g. `npm install package-name`) before providing the code. **Never** assume a library exists.
19
+ * **Framework & Interactivity:** React or Next.js. Default to Server Components (`RSC`).
20
+ * **RSC SAFETY:** Global state works ONLY in Client Components. In Next.js, wrap providers in a `"use client"` component.
21
+ * **INTERACTIVITY ISOLATION:** If Sections 4 or 7 (Motion/Liquid Glass) are active, the specific interactive UI component MUST be extracted as an isolated leaf component with `'use client'` at the very top. Server Components must exclusively render static layouts.
22
+ * **State Management:** Use local `useState`/`useReducer` for isolated UI. Use global state strictly for deep prop-drilling avoidance.
23
+ * **Styling Policy:** Use Tailwind CSS (v3/v4) for 90% of styling.
24
+ * **TAILWIND VERSION LOCK:** Check `package.json` first. Do not use v4 syntax in v3 projects.
25
+ * **T4 CONFIG GUARD:** For v4, do NOT use `tailwindcss` plugin in `postcss.config.js`. Use `@tailwindcss/postcss` or the Vite plugin.
26
+ * **ANTI-EMOJI POLICY [CRITICAL]:** NEVER use emojis in code, markup, text content, or alt text. Replace symbols with high-quality icons (Radix, Phosphor) or clean SVG primitives. Emojis are BANNED.
27
+ * **Responsiveness & Spacing:**
28
+ * Standardize breakpoints (`sm`, `md`, `lg`, `xl`).
29
+ * Contain page layouts using `max-w-[1400px] mx-auto` or `max-w-7xl`.
30
+ * **Viewport Stability [CRITICAL]:** NEVER use `h-screen` for full-height Hero sections. ALWAYS use `min-h-[100dvh]` to prevent catastrophic layout jumping on mobile browsers (iOS Safari).
31
+ * **Grid over Flex-Math:** NEVER use complex flexbox percentage math (`w-[calc(33%-1rem)]`). ALWAYS use CSS Grid (`grid grid-cols-1 md:grid-cols-3 gap-6`) for reliable structures.
32
+ * **Icons:** You MUST use exactly `@phosphor-icons/react` or `@radix-ui/react-icons` as the import paths (check installed version). Standardize `strokeWidth` globally (e.g., exclusively use `1.5` or `2.0`).
33
+
34
+
35
+ ## 3. DESIGN ENGINEERING DIRECTIVES (Bias Correction)
36
+ LLMs have statistical biases toward specific UI cliché patterns. Proactively construct premium interfaces using these engineered rules:
37
+
38
+ **Rule 1: Deterministic Typography**
39
+ * **Display/Headlines:** Default to `text-4xl md:text-6xl tracking-tighter leading-none`.
40
+ * **ANTI-SLOP:** Discourage `Inter` for "Premium" or "Creative" vibes. Force unique character using `Geist`, `Outfit`, `Cabinet Grotesk`, or `Satoshi`.
41
+ * **TECHNICAL UI RULE:** Serif fonts are strictly BANNED for Dashboard/Software UIs. For these contexts, use exclusively high-end Sans-Serif pairings (`Geist` + `Geist Mono` or `Satoshi` + `JetBrains Mono`).
42
+ * **Body/Paragraphs:** Default to `text-base text-gray-600 leading-relaxed max-w-[65ch]`.
43
+
44
+ **Rule 2: Color Calibration**
45
+ * **Constraint:** Max 1 Accent Color. Saturation < 80%.
46
+ * **THE LILA BAN:** The "AI Purple/Blue" aesthetic is strictly BANNED. No purple button glows, no neon gradients. Use absolute neutral bases (Zinc/Slate) with high-contrast, singular accents (e.g. Emerald, Electric Blue, or Deep Rose).
47
+ * **COLOR CONSISTENCY:** Stick to one palette for the entire output. Do not fluctuate between warm and cool grays within the same project.
48
+
49
+ **Rule 3: Layout Diversification**
50
+ * **ANTI-CENTER BIAS:** Centered Hero/H1 sections are strictly BANNED when `DESIGN_VARIANCE > 4`. Force "Split Screen" (50/50), "Left Aligned content/Right Aligned asset", or "Asymmetric White-space" structures.
51
+
52
+ **Rule 4: Materiality, Shadows, and "Anti-Card Overuse"**
53
+ * **DASHBOARD HARDENING:** For `VISUAL_DENSITY > 7`, generic card containers are strictly BANNED. Use logic-grouping via `border-t`, `divide-y`, or purely negative space. Data metrics should breathe without being boxed in unless elevation (z-index) is functionally required.
54
+ * **Execution:** Use cards ONLY when elevation communicates hierarchy. When a shadow is used, tint it to the background hue.
55
+
56
+ **Rule 5: Interactive UI States**
57
+ * **Mandatory Generation:** LLMs naturally generate "static" successful states. You MUST implement full interaction cycles:
58
+ * **Loading:** Skeletal loaders matching layout sizes (avoid generic circular spinners).
59
+ * **Empty States:** Beautifully composed empty states indicating how to populate data.
60
+ * **Error States:** Clear, inline error reporting (e.g., forms).
61
+ * **Tactile Feedback:** On `:active`, use `-translate-y-[1px]` or `scale-[0.98]` to simulate a physical push indicating success/action.
62
+
63
+ **Rule 6: Data & Form Patterns**
64
+ * **Forms:** Label MUST sit above input. Helper text is optional but should exist in markup. Error text below input. Use a standard `gap-2` for input blocks.
65
+
66
+ ## 4. CREATIVE PROACTIVITY (Anti-Slop Implementation)
67
+ To actively combat generic AI designs, systematically implement these high-end coding concepts as your baseline:
68
+ * **"Liquid Glass" Refraction:** When glassmorphism is needed, go beyond `backdrop-blur`. Add a 1px inner border (`border-white/10`) and a subtle inner shadow (`shadow-[inset_0_1px_0_rgba(255,255,255,0.1)]`) to simulate physical edge refraction.
69
+ * **Magnetic Micro-physics (If MOTION_INTENSITY > 5):** Implement buttons that pull slightly toward the mouse cursor. **CRITICAL:** NEVER use React `useState` for magnetic hover or continuous animations. Use EXCLUSIVELY Framer Motion's `useMotionValue` and `useTransform` outside the React render cycle to prevent performance collapse on mobile.
70
+ * **Perpetual Micro-Interactions:** When `MOTION_INTENSITY > 5`, embed continuous, infinite micro-animations (Pulse, Typewriter, Float, Shimmer, Carousel) in standard components (avatars, status dots, backgrounds). Apply premium Spring Physics (`type: "spring", stiffness: 100, damping: 20`) to all interactive elements—no linear easing.
71
+ * **Layout Transitions:** Always utilize Framer Motion's `layout` and `layoutId` props for smooth re-ordering, resizing, and shared element transitions across state changes.
72
+ * **Staggered Orchestration:** Do not mount lists or grids instantly. Use `staggerChildren` (Framer) or CSS cascade (`animation-delay: calc(var(--index) * 100ms)`) to create sequential waterfall reveals. **CRITICAL:** For `staggerChildren`, the Parent (`variants`) and Children MUST reside in the identical Client Component tree. If data is fetched asynchronously, pass the data as props into a centralized Parent Motion wrapper.
73
+
74
+ ## 5. PERFORMANCE GUARDRAILS
75
+ * **DOM Cost:** Apply grain/noise filters exclusively to fixed, pointer-event-none pseudo-elements (e.g., `fixed inset-0 z-50 pointer-events-none`) and NEVER to scrolling containers to prevent continuous GPU repaints and mobile performance degradation.
76
+ * **Hardware Acceleration:** Never animate `top`, `left`, `width`, or `height`. Animate exclusively via `transform` and `opacity`.
77
+ * **Z-Index Restraint:** NEVER spam arbitrary `z-50` or `z-10` unprompted. Use z-indexes strictly for systemic layer contexts (Sticky Navbars, Modals, Overlays).
78
+
79
+ ## 6. TECHNICAL REFERENCE (Dial Definitions)
80
+
81
+ ### DESIGN_VARIANCE (Level 1-10)
82
+ * **1-3 (Predictable):** Flexbox `justify-center`, strict 12-column symmetrical grids, equal paddings.
83
+ * **4-7 (Offset):** Use `margin-top: -2rem` overlapping, varied image aspect ratios (e.g., 4:3 next to 16:9), left-aligned headers over center-aligned data.
84
+ * **8-10 (Asymmetric):** Masonry layouts, CSS Grid with fractional units (e.g., `grid-template-columns: 2fr 1fr 1fr`), massive empty zones (`padding-left: 20vw`).
85
+ * **MOBILE OVERRIDE:** For levels 4-10, any asymmetric layout above `md:` MUST aggressively fall back to a strict, single-column layout (`w-full`, `px-4`, `py-8`) on viewports `< 768px` to prevent horizontal scrolling and layout breakage.
86
+
87
+ ### MOTION_INTENSITY (Level 1-10)
88
+ * **1-3 (Static):** No automatic animations. CSS `:hover` and `:active` states only.
89
+ * **4-7 (Fluid CSS):** Use `transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1)`. Use `animation-delay` cascades for load-ins. Focus strictly on `transform` and `opacity`. Use `will-change: transform` sparingly.
90
+ * **8-10 (Advanced Choreography):** Complex scroll-triggered reveals or parallax. Use Framer Motion hooks. NEVER use `window.addEventListener('scroll')`.
91
+
92
+ ### VISUAL_DENSITY (Level 1-10)
93
+ * **1-3 (Art Gallery Mode):** Lots of white space. Huge section gaps. Everything feels very expensive and clean.
94
+ * **4-7 (Daily App Mode):** Normal spacing for standard web apps.
95
+ * **8-10 (Cockpit Mode):** Tiny paddings. No card boxes; just 1px lines to separate data. Everything is packed. **Mandatory:** Use Monospace (`font-mono`) for all numbers.
96
+
97
+ ## 7. AI TELLS (Forbidden Patterns)
98
+ To guarantee a premium, non-generic output, you MUST strictly avoid these common AI design signatures unless explicitly requested:
99
+
100
+ ### Visual & CSS
101
+ * **NO Neon/Outer Glows:** Do not use default `box-shadow` glows or auto-glows. Use inner borders or subtle tinted shadows.
102
+ * **NO Pure Black:** Never use `#000000`. Use Off-Black, Zinc-950, or Charcoal.
103
+ * **NO Oversaturated Accents:** Desaturate accents to blend elegantly with neutrals.
104
+ * **NO Excessive Gradient Text:** Do not use text-fill gradients for large headers.
105
+ * **NO Custom Mouse Cursors:** They are outdated and ruin performance/accessibility.
106
+
107
+ ### Typography
108
+ * **NO Inter Font:** Banned. Use `Geist`, `Outfit`, `Cabinet Grotesk`, or `Satoshi`.
109
+ * **NO Oversized H1s:** The first heading should not scream. Control hierarchy with weight and color, not just massive scale.
110
+ * **Serif Constraints:** Use Serif fonts ONLY for creative/editorial designs. **NEVER** use Serif on clean Dashboards.
111
+
112
+ ### Layout & Spacing
113
+ * **Align & Space Perfectly:** Ensure padding and margins are mathematically perfect. Avoid floating elements with awkward gaps.
114
+ * **NO 3-Column Card Layouts:** The generic "3 equal cards horizontally" feature row is BANNED. Use a 2-column Zig-Zag, asymmetric grid, or horizontal scrolling approach instead.
115
+
116
+ ### Content & Data (The "Jane Doe" Effect)
117
+ * **NO Generic Names:** "John Doe", "Sarah Chan", or "Jack Su" are banned. Use highly creative, realistic-sounding names.
118
+ * **NO Generic Avatars:** DO NOT use standard SVG "egg" or Lucide user icons for avatars. Use creative, believable photo placeholders or specific styling.
119
+ * **NO Fake Numbers:** Avoid predictable outputs like `99.99%`, `50%`, or basic phone numbers (`1234567`). Use organic, messy data (`47.2%`, `+1 (312) 847-1928`).
120
+ * **NO Startup Slop Names:** "Acme", "Nexus", "SmartFlow". Invent premium, contextual brand names.
121
+ * **NO Filler Words:** Avoid AI copywriting clichés like "Elevate", "Seamless", "Unleash", or "Next-Gen". Use concrete verbs.
122
+
123
+ ### External Resources & Components
124
+ * **NO Broken Unsplash Links:** Do not use Unsplash. Use absolute, reliable placeholders like `https://picsum.photos/seed/{random_string}/800/600` or SVG UI Avatars.
125
+ * **shadcn/ui Customization:** You may use `shadcn/ui`, but NEVER in its generic default state. You MUST customize the radii, colors, and shadows to match the high-end project aesthetic.
126
+ * **Production-Ready Cleanliness:** Code must be extremely clean, visually striking, memorable, and meticulously refined in every detail.
127
+
128
+ ## 8. THE CREATIVE ARSENAL (High-End Inspiration)
129
+ Do not default to generic UI. Pull from this library of advanced concepts to ensure the output is visually striking and memorable. When appropriate, leverage **GSAP (ScrollTrigger/Parallax)** for complex scrolltelling or **ThreeJS/WebGL** for 3D/Canvas animations, rather than basic CSS motion. **CRITICAL:** Never mix GSAP/ThreeJS with Framer Motion in the same component tree. Default to Framer Motion for UI/Bento interactions. Use GSAP/ThreeJS EXCLUSIVELY for isolated full-page scrolltelling or canvas backgrounds, wrapped in strict useEffect cleanup blocks.
130
+
131
+ ### The Standard Hero Paradigm
132
+ * Stop doing centered text over a dark image. Try asymmetric Hero sections: Text cleanly aligned to the left or right. The background should feature a high-quality, relevant image with a subtle stylistic fade (darkening or lightening gracefully into the background color depending on if it is Light or Dark mode).
133
+
134
+ ### Navigation & Menüs
135
+ * **Mac OS Dock Magnification:** Nav-bar at the edge; icons scale fluidly on hover.
136
+ * **Magnetic Button:** Buttons that physically pull toward the cursor.
137
+ * **Gooey Menu:** Sub-items detach from the main button like a viscous liquid.
138
+ * **Dynamic Island:** A pill-shaped UI component that morphs to show status/alerts.
139
+ * **Contextual Radial Menu:** A circular menu expanding exactly at the click coordinates.
140
+ * **Floating Speed Dial:** A FAB that springs out into a curved line of secondary actions.
141
+ * **Mega Menu Reveal:** Full-screen dropdowns that stagger-fade complex content.
142
+
143
+ ### Layout & Grids
144
+ * **Bento Grid:** Asymmetric, tile-based grouping (e.g., Apple Control Center).
145
+ * **Masonry Layout:** Staggered grid without fixed row heights (e.g., Pinterest).
146
+ * **Chroma Grid:** Grid borders or tiles showing subtle, continuously animating color gradients.
147
+ * **Split Screen Scroll:** Two screen halves sliding in opposite directions on scroll.
148
+ * **Curtain Reveal:** A Hero section parting in the middle like a curtain on scroll.
149
+
150
+ ### Cards & Containers
151
+ * **Parallax Tilt Card:** A 3D-tilting card tracking the mouse coordinates.
152
+ * **Spotlight Border Card:** Card borders that illuminate dynamically under the cursor.
153
+ * **Glassmorphism Panel:** True frosted glass with inner refraction borders.
154
+ * **Holographic Foil Card:** Iridescent, rainbow light reflections shifting on hover.
155
+ * **Tinder Swipe Stack:** A physical stack of cards the user can swipe away.
156
+ * **Morphing Modal:** A button that seamlessly expands into its own full-screen dialog container.
157
+
158
+ ### Scroll-Animations
159
+ * **Sticky Scroll Stack:** Cards that stick to the top and physically stack over each other.
160
+ * **Horizontal Scroll Hijack:** Vertical scroll translates into a smooth horizontal gallery pan.
161
+ * **Locomotive Scroll Sequence:** Video/3D sequences where framerate is tied directly to the scrollbar.
162
+ * **Zoom Parallax:** A central background image zooming in/out seamlessly as you scroll.
163
+ * **Scroll Progress Path:** SVG vector lines or routes that draw themselves as the user scrolls.
164
+ * **Liquid Swipe Transition:** Page transitions that wipe the screen like a viscous liquid.
165
+
166
+ ### Galleries & Media
167
+ * **Dome Gallery:** A 3D gallery feeling like a panoramic dome.
168
+ * **Coverflow Carousel:** 3D carousel with the center focused and edges angled back.
169
+ * **Drag-to-Pan Grid:** A boundless grid you can freely drag in any compass direction.
170
+ * **Accordion Image Slider:** Narrow vertical/horizontal image strips that expand fully on hover.
171
+ * **Hover Image Trail:** The mouse leaves a trail of popping/fading images behind it.
172
+ * **Glitch Effect Image:** Brief RGB-channel shifting digital distortion on hover.
173
+
174
+ ### Typography & Text
175
+ * **Kinetic Marquee:** Endless text bands that reverse direction or speed up on scroll.
176
+ * **Text Mask Reveal:** Massive typography acting as a transparent window to a video background.
177
+ * **Text Scramble Effect:** Matrix-style character decoding on load or hover.
178
+ * **Circular Text Path:** Text curved along a spinning circular path.
179
+ * **Gradient Stroke Animation:** Outlined text with a gradient continuously running along the stroke.
180
+ * **Kinetic Typography Grid:** A grid of letters dodging or rotating away from the cursor.
181
+
182
+ ### Micro-Interactions & Effects
183
+ * **Particle Explosion Button:** CTAs that shatter into particles upon success.
184
+ * **Liquid Pull-to-Refresh:** Mobile reload indicators acting like detaching water droplets.
185
+ * **Skeleton Shimmer:** Shifting light reflections moving across placeholder boxes.
186
+ * **Directional Hover Aware Button:** Hover fill entering from the exact side the mouse entered.
187
+ * **Ripple Click Effect:** Visual waves rippling precisely from the click coordinates.
188
+ * **Animated SVG Line Drawing:** Vectors that draw their own contours in real-time.
189
+ * **Mesh Gradient Background:** Organic, lava-lamp-like animated color blobs.
190
+ * **Lens Blur Depth:** Dynamic focus blurring background UI layers to highlight a foreground action.
191
+
192
+ ## 9. THE "MOTION-ENGINE" BENTO PARADIGM
193
+ When generating modern SaaS dashboards or feature sections, you MUST utilize the following "Bento 2.0" architecture and motion philosophy. This goes beyond static cards and enforces a "Vercel-core meets Dribbble-clean" aesthetic heavily reliant on perpetual physics.
194
+
195
+ ### A. Core Design Philosophy
196
+ * **Aesthetic:** High-end, minimal, and functional.
197
+ * **Palette:** Background in `#f9fafb`. Cards are pure white (`#ffffff`) with a 1px border of `border-slate-200/50`.
198
+ * **Surfaces:** Use `rounded-[2.5rem]` for all major containers. Apply a "diffusion shadow" (a very light, wide-spreading shadow, e.g., `shadow-[0_20px_40px_-15px_rgba(0,0,0,0.05)]`) to create depth without clutter.
199
+ * **Typography:** Strict `Geist`, `Satoshi`, or `Cabinet Grotesk` font stack. Use subtle tracking (`tracking-tight`) for headers.
200
+ * **Labels:** Titles and descriptions must be placed **outside and below** the cards to maintain a clean, gallery-style presentation.
201
+ * **Pixel-Perfection:** Use generous `p-8` or `p-10` padding inside cards.
202
+
203
+ ### B. The Animation Engine Specs (Perpetual Motion)
204
+ All cards must contain **"Perpetual Micro-Interactions."** Use the following Framer Motion principles:
205
+ * **Spring Physics:** No linear easing. Use `type: "spring", stiffness: 100, damping: 20` for a premium, weighty feel.
206
+ * **Layout Transitions:** Heavily utilize the `layout` and `layoutId` props to ensure smooth re-ordering, resizing, and shared element state transitions.
207
+ * **Infinite Loops:** Every card must have an "Active State" that loops infinitely (Pulse, Typewriter, Float, or Carousel) to ensure the dashboard feels "alive".
208
+ * **Performance:** Wrap dynamic lists in `<AnimatePresence>` and optimize for 60fps. **PERFORMANCE CRITICAL:** Any perpetual motion or infinite loop MUST be memoized (React.memo) and completely isolated in its own microscopic Client Component. Never trigger re-renders in the parent layout.
209
+
210
+ ### C. The 5-Card Archetypes (Micro-Animation Specs)
211
+ Implement these specific micro-animations when constructing Bento grids (e.g., Row 1: 3 cols | Row 2: 2 cols split 70/30):
212
+ 1. **The Intelligent List:** A vertical stack of items with an infinite auto-sorting loop. Items swap positions using `layoutId`, simulating an AI prioritizing tasks in real-time.
213
+ 2. **The Command Input:** A search/AI bar with a multi-step Typewriter Effect. It cycles through complex prompts, including a blinking cursor and a "processing" state with a shimmering loading gradient.
214
+ 3. **The Live Status:** A scheduling interface with "breathing" status indicators. Include a pop-up notification badge that emerges with an "Overshoot" spring effect, stays for 3 seconds, and vanishes.
215
+ 4. **The Wide Data Stream:** A horizontal "Infinite Carousel" of data cards or metrics. Ensure the loop is seamless (using `x: ["0%", "-100%"]`) with a speed that feels effortless.
216
+ 5. **The Contextual UI (Focus Mode):** A document view that animates a staggered highlight of a text block, followed by a "Float-in" of a floating action toolbar with micro-icons.
217
+
218
+ ## 10. FINAL PRE-FLIGHT CHECK
219
+ Evaluate your code against this matrix before outputting. This is the **last** filter you apply to your logic.
220
+ - [ ] Is global state used appropriately to avoid deep prop-drilling rather than arbitrarily?
221
+ - [ ] Is mobile layout collapse (`w-full`, `px-4`, `max-w-7xl mx-auto`) guaranteed for high-variance designs?
222
+ - [ ] Do full-height sections safely use `min-h-[100dvh]` instead of the bugged `h-screen`?
223
+ - [ ] Do `useEffect` animations contain strict cleanup functions?
224
+ - [ ] Are empty, loading, and error states provided?
225
+ - [ ] Are cards omitted in favor of spacing where possible?
226
+ - [ ] Did you strictly isolate CPU-heavy perpetual animations in their own Client Components?
@@ -0,0 +1,62 @@
1
+ # taste-skill v2 digest
2
+ Condensed from taste-skill v2, github.com/Leonxlnx/taste-skill at commit 717446e, MIT License,
3
+ Copyright (c) 2026 Leonxlnx; full text in SKILL.md beside this file.
4
+
5
+ ## Dials
6
+ - Baseline VARIANCE 8, MOTION 6, DENSITY 4; infer from the brief via presets (s1.A, s1.B).
7
+ - VARIANCE 1-3 symmetric; 4-7 offset; 8-10 asymmetric; 4-10 collapse below 768px (s7).
8
+ - MOTION 1-3 hover/active only; 4-7 CSS transform/opacity; 8-10 scroll-driven (s7).
9
+ - DENSITY 1-3 py-32+; 4-7 py-16 to py-24; 8-10 1px lines, no cards, font-mono numbers (s7).
10
+
11
+ ## Hard rules
12
+ - Italic display words with y g j p q: leading-[1.1] min plus pb-1 (s4.1).
13
+ - Max 1 accent, saturation under 80%, locked across the whole page (s4.2).
14
+ - One corner-radius system for the page (s4.4).
15
+ - CTAs and forms pass WCAG AA; CTA labels one line; one label per intent (s4.5).
16
+ - No placeholder-as-label (s4.6).
17
+ - Hero fits the viewport: headline max 2 lines, subtext max 20 words, CTA visible (s4.7).
18
+ - Hero pt-24 max, 4 text elements max, logo wall below; nav one line, 80px max (s4.7).
19
+ - Eyebrows: at most 1 per 3 sections, hero counts (s4.7).
20
+ - Each layout family once per page; max 2 image+text zigzags in a row (s4.7).
21
+ - Bento: exact cell count, varied rhythm, 2-3 cells with real visuals (s4.7).
22
+ - Declare the below-768px fallback in each multi-column component (s4.7).
23
+ - Real images: gen tool, then picsum seed, then labeled TODO slots (s4.8).
24
+ - Sections: headline 8 words, sub 25 words max; over 5 items needs another UI (s4.9).
25
+ - Re-read all visible strings; rewrite broken or AI-cute copy (s4.9).
26
+ - Quotes max 3 lines, attribution name + role (s4.10).
27
+ - One page theme; sections never invert (s4.11).
28
+ - MOTION above 3 honors prefers-reduced-motion; loops collapse to static (s6.B).
29
+ - Animate only transform and opacity; design both color modes (s6.A, s6.C).
30
+
31
+ ## Banned patterns
32
+ - Defaults: Inter, Fraunces, Instrument_Serif, serif without brand reason (s4.1).
33
+ - Mixed-family emphasis in a headline; use italic or bold of the same font (s4.1).
34
+ - AI purple glow; beige+brass+espresso for premium consumer unless the brief asks (s4.2).
35
+ - Centered hero when VARIANCE is above 4, except manifesto briefs (s4.3).
36
+ - Split headers and floating top-right sub-text in section headings (s4.7, s9.F).
37
+ - Div-based fake screenshots; text-only heroes; labels under logos (s4.8, s9.E).
38
+ - Three equal cards in a row; neon glows; gradient headline text (s9.A, s9.C).
39
+ - John Doe, Acme, fake round numbers, filler verbs like Elevate (s9.D, s4.9).
40
+ - Hero version labels, section-number eyebrows, 01 / 4 tile pagination (s9.F).
41
+ - Scroll cues, decorative status dots, middle-dot chains, locale/weather strips (s9.F).
42
+ - Pills on images, photo-credit captions, version footers, stock counters (s9.F).
43
+ - Hero-bottom text strips, generic Step 1/2/3 labels, poetic section labels (s9.F).
44
+ - Hairlines on every list row; filled-track score bars (s9.F).
45
+ - Em dash anywhere; en dash as separator; ranges use a hyphen (s9.G).
46
+
47
+ ## Pre-flight
48
+ - [ ] Design read stated and dials reasoned from the brief (s0.B, s1)?
49
+ - [ ] Redesign mode detected and audited if relevant (s11)?
50
+ - [ ] One accent, one radius system, one theme across the page?
51
+ - [ ] Hero fits viewport, pt-24 max, 4 text elements max?
52
+ - [ ] Eyebrow count at most ceil(sections / 3)?
53
+ - [ ] No duplicate CTA intent, no wrapped CTA?
54
+ - [ ] Layout families varied, zigzag cap held, bento cells exact?
55
+ - [ ] Real images, no fake screenshots?
56
+ - [ ] Copy self-audit done, quotes 3 lines max?
57
+ - [ ] Reduced motion handled; MOTION above 4 actually animates?
58
+ - [ ] Both color modes tested; no s9.F tells left?
59
+
60
+ ## Read SKILL.md for
61
+ - s0 brief inference; s2 and Appendices A-C design system map; s3 stack, icons, deps.
62
+ - s5 GSAP skeletons; s8 dark mode; s10 vocabulary; s11 redesign; s13 scope; s14 checks.