@musashishao/agent-kit 1.0.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/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +487 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/ARCHITECTURE.md +225 -0
- package/.agent/CONTEXT.md +229 -0
- package/.agent/FEATURE_ROADMAP.md +435 -0
- package/.agent/PROMPT_TEMPLATES.md +261 -0
- package/.agent/agents/backend-specialist.md +263 -0
- package/.agent/agents/database-architect.md +226 -0
- package/.agent/agents/debugger.md +225 -0
- package/.agent/agents/devops-engineer.md +242 -0
- package/.agent/agents/documentation-writer.md +104 -0
- package/.agent/agents/explorer-agent.md +73 -0
- package/.agent/agents/frontend-specialist.md +556 -0
- package/.agent/agents/game-developer.md +162 -0
- package/.agent/agents/mobile-developer.md +377 -0
- package/.agent/agents/orchestrator.md +416 -0
- package/.agent/agents/penetration-tester.md +188 -0
- package/.agent/agents/performance-optimizer.md +187 -0
- package/.agent/agents/project-planner.md +403 -0
- package/.agent/agents/security-auditor.md +170 -0
- package/.agent/agents/seo-specialist.md +111 -0
- package/.agent/agents/test-engineer.md +158 -0
- package/.agent/rules/GEMINI.md +251 -0
- package/.agent/skills/api-patterns/SKILL.md +81 -0
- package/.agent/skills/api-patterns/api-style.md +42 -0
- package/.agent/skills/api-patterns/auth.md +24 -0
- package/.agent/skills/api-patterns/documentation.md +26 -0
- package/.agent/skills/api-patterns/graphql.md +41 -0
- package/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/.agent/skills/api-patterns/response.md +37 -0
- package/.agent/skills/api-patterns/rest.md +40 -0
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agent/skills/api-patterns/security-testing.md +122 -0
- package/.agent/skills/api-patterns/trpc.md +41 -0
- package/.agent/skills/api-patterns/versioning.md +22 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +40 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/.agent/skills/architecture/SKILL.md +55 -0
- package/.agent/skills/architecture/context-discovery.md +43 -0
- package/.agent/skills/architecture/examples.md +94 -0
- package/.agent/skills/architecture/pattern-selection.md +68 -0
- package/.agent/skills/architecture/patterns-reference.md +50 -0
- package/.agent/skills/architecture/trade-off-analysis.md +77 -0
- package/.agent/skills/bash-linux/SKILL.md +199 -0
- package/.agent/skills/behavioral-modes/SKILL.md +242 -0
- package/.agent/skills/brainstorming/SKILL.md +163 -0
- package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
- package/.agent/skills/clean-code/SKILL.md +201 -0
- package/.agent/skills/code-review-checklist/SKILL.md +109 -0
- package/.agent/skills/database-design/SKILL.md +52 -0
- package/.agent/skills/database-design/database-selection.md +43 -0
- package/.agent/skills/database-design/indexing.md +39 -0
- package/.agent/skills/database-design/migrations.md +48 -0
- package/.agent/skills/database-design/optimization.md +36 -0
- package/.agent/skills/database-design/orm-selection.md +30 -0
- package/.agent/skills/database-design/schema-design.md +56 -0
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/.agent/skills/doc.md +177 -0
- package/.agent/skills/docker-expert/SKILL.md +409 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/.agent/skills/frontend-design/SKILL.md +396 -0
- package/.agent/skills/frontend-design/animation-guide.md +331 -0
- package/.agent/skills/frontend-design/color-system.md +311 -0
- package/.agent/skills/frontend-design/decision-trees.md +418 -0
- package/.agent/skills/frontend-design/motion-graphics.md +306 -0
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/.agent/skills/frontend-design/typography-system.md +345 -0
- package/.agent/skills/frontend-design/ux-psychology.md +541 -0
- package/.agent/skills/frontend-design/visual-effects.md +383 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agent/skills/i18n-localization/SKILL.md +154 -0
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agent/skills/lint-and-validate/SKILL.md +45 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agent/skills/mcp-builder/SKILL.md +176 -0
- package/.agent/skills/mobile-design/SKILL.md +394 -0
- package/.agent/skills/mobile-design/decision-trees.md +516 -0
- package/.agent/skills/mobile-design/mobile-backend.md +491 -0
- package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
- package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
- package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
- package/.agent/skills/mobile-design/mobile-performance.md +767 -0
- package/.agent/skills/mobile-design/mobile-testing.md +356 -0
- package/.agent/skills/mobile-design/mobile-typography.md +433 -0
- package/.agent/skills/mobile-design/platform-android.md +666 -0
- package/.agent/skills/mobile-design/platform-ios.md +561 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agent/skills/mobile-design/touch-psychology.md +537 -0
- package/.agent/skills/nestjs-expert/SKILL.md +552 -0
- package/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.agent/skills/parallel-agents/SKILL.md +175 -0
- package/.agent/skills/performance-profiling/SKILL.md +143 -0
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.agent/skills/plan-writing/SKILL.md +152 -0
- package/.agent/skills/powershell-windows/SKILL.md +167 -0
- package/.agent/skills/prisma-expert/SKILL.md +355 -0
- package/.agent/skills/python-patterns/SKILL.md +441 -0
- package/.agent/skills/react-patterns/SKILL.md +198 -0
- package/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/.agent/skills/server-management/SKILL.md +161 -0
- package/.agent/skills/systematic-debugging/SKILL.md +109 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
- package/.agent/skills/tdd-workflow/SKILL.md +149 -0
- package/.agent/skills/testing-patterns/SKILL.md +178 -0
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agent/skills/typescript-expert/SKILL.md +429 -0
- package/.agent/skills/typescript-expert/references/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
- package/.agent/skills/typescript-expert/references/utility-types.ts +335 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +351 -0
- package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +257 -0
- package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
- package/.agent/skills/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/.agent/skills/webapp-testing/SKILL.md +187 -0
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agent/workflows/brainstorm.md +113 -0
- package/.agent/workflows/create.md +59 -0
- package/.agent/workflows/debug.md +103 -0
- package/.agent/workflows/deploy.md +176 -0
- package/.agent/workflows/enhance.md +63 -0
- package/.agent/workflows/orchestrate.md +237 -0
- package/.agent/workflows/plan.md +89 -0
- package/.agent/workflows/preview.md +80 -0
- package/.agent/workflows/status.md +86 -0
- package/.agent/workflows/test.md +144 -0
- package/.agent/workflows/ui-ux-pro-max.md +231 -0
- package/LICENSE +21 -0
- package/README.md +101 -0
- package/bin/cli.js +235 -0
- package/index.js +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
# Animation Guidelines Reference
|
|
2
|
+
|
|
3
|
+
> Animation principles and timing psychology - learn to decide, not copy.
|
|
4
|
+
> **No fixed durations to memorize - understand what affects timing.**
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Duration Principles
|
|
9
|
+
|
|
10
|
+
### What Affects Timing
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
Factors that determine animation speed:
|
|
14
|
+
├── DISTANCE: Further travel = longer duration
|
|
15
|
+
├── SIZE: Larger elements = slower animations
|
|
16
|
+
├── COMPLEXITY: Complex = slower to process
|
|
17
|
+
├── IMPORTANCE: Critical actions = clear feedback
|
|
18
|
+
└── CONTEXT: Urgent = fast, luxurious = slow
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Duration Ranges by Purpose
|
|
22
|
+
|
|
23
|
+
| Purpose | Range | Why |
|
|
24
|
+
|---------|-------|-----|
|
|
25
|
+
| Instant feedback | 50-100ms | Below perception threshold |
|
|
26
|
+
| Micro-interactions | 100-200ms | Quick but noticeable |
|
|
27
|
+
| Standard transitions | 200-300ms | Comfortable pace |
|
|
28
|
+
| Complex animations | 300-500ms | Time to follow |
|
|
29
|
+
| Page transitions | 400-600ms | Smooth handoff |
|
|
30
|
+
| **Wow/Premium Effects** | 800ms+ | Dramatic, organic spring-based, layered |
|
|
31
|
+
|
|
32
|
+
### Choosing Duration
|
|
33
|
+
|
|
34
|
+
Ask yourself:
|
|
35
|
+
1. How far is the element moving?
|
|
36
|
+
2. How important is it to notice this change?
|
|
37
|
+
3. Is the user waiting, or is this background?
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 2. Easing Principles
|
|
42
|
+
|
|
43
|
+
### What Easing Does
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Easing = how speed changes over time
|
|
47
|
+
├── Linear: constant speed (mechanical, robotic)
|
|
48
|
+
├── Ease-out: fast start, slow end (natural entry)
|
|
49
|
+
├── Ease-in: slow start, fast end (natural exit)
|
|
50
|
+
└── Ease-in-out: slow both ends (smooth, deliberate)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### When to Use Each
|
|
54
|
+
|
|
55
|
+
| Easing | Best For | Feels Like |
|
|
56
|
+
|--------|----------|------------|
|
|
57
|
+
| **Ease-out** | Elements entering | Arriving, settling |
|
|
58
|
+
| **Ease-in** | Elements leaving | Departing, exiting |
|
|
59
|
+
| **Ease-in-out** | Emphasis, loops | Deliberate, smooth |
|
|
60
|
+
| **Linear** | Continuous motion | Mechanical, constant |
|
|
61
|
+
| **Bounce/Elastic** | Playful UI | Fun, energetic |
|
|
62
|
+
|
|
63
|
+
### The Pattern
|
|
64
|
+
|
|
65
|
+
```css
|
|
66
|
+
/* Entering view = ease-out (decelerate) */
|
|
67
|
+
.enter {
|
|
68
|
+
animation-timing-function: ease-out;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* Leaving view = ease-in (accelerate) */
|
|
72
|
+
.exit {
|
|
73
|
+
animation-timing-function: ease-in;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* Continuous = ease-in-out */
|
|
77
|
+
.continuous {
|
|
78
|
+
animation-timing-function: ease-in-out;
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 3. Micro-Interaction Principles
|
|
85
|
+
|
|
86
|
+
### What Makes Good Micro-Interactions
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
Purpose of micro-interactions:
|
|
90
|
+
├── FEEDBACK: Confirm the action happened
|
|
91
|
+
├── GUIDANCE: Show what's possible
|
|
92
|
+
├── STATUS: Indicate current state
|
|
93
|
+
└── DELIGHT: Small moments of joy
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Button States
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
Hover → slight visual change (lift, color, scale)
|
|
100
|
+
Active → pressed feeling (scale down, shadow change)
|
|
101
|
+
Focus → clear indicator (outline, ring)
|
|
102
|
+
Loading → progress indicator (spinner, skeleton)
|
|
103
|
+
Success → confirmation (check, color)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Principles
|
|
107
|
+
|
|
108
|
+
1. **Respond immediately** (under 100ms perception)
|
|
109
|
+
2. **Match the action** (press = `scale(0.95)`, hover = `translateY(-4px) + glow`)
|
|
110
|
+
3. **Be bold but smooth** (Usta işi hissettir)
|
|
111
|
+
4. **Be consistent** (same actions = same feedback)
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 4. Loading States Principles
|
|
116
|
+
|
|
117
|
+
### Types by Context
|
|
118
|
+
|
|
119
|
+
| Situation | Approach |
|
|
120
|
+
|-----------|----------|
|
|
121
|
+
| Quick load (<1s) | No indicator needed |
|
|
122
|
+
| Medium (1-3s) | Spinner or simple animation |
|
|
123
|
+
| Long (3s+) | Progress bar or skeleton |
|
|
124
|
+
| Unknown duration | Indeterminate indicator |
|
|
125
|
+
|
|
126
|
+
### Skeleton Screens
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
Purpose: Reduce perceived wait time
|
|
130
|
+
├── Show layout shape immediately
|
|
131
|
+
├── Animate subtly (shimmer, pulse)
|
|
132
|
+
├── Replace with content when ready
|
|
133
|
+
└── Feels faster than spinner
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Progress Indicators
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
When to show progress:
|
|
140
|
+
├── User-initiated action
|
|
141
|
+
├── File uploads/downloads
|
|
142
|
+
├── Multi-step processes
|
|
143
|
+
└── Long operations
|
|
144
|
+
|
|
145
|
+
When NOT needed:
|
|
146
|
+
├── Very quick operations
|
|
147
|
+
├── Background tasks
|
|
148
|
+
└── Initial page loads (skeleton better)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 5. Page Transitions Principles
|
|
154
|
+
|
|
155
|
+
### Transition Strategy
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
Simple rule: exit fast, enter slower
|
|
159
|
+
├── Outgoing content fades quickly
|
|
160
|
+
├── Incoming content animates in
|
|
161
|
+
└── Avoids "everything moving at once"
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Common Patterns
|
|
165
|
+
|
|
166
|
+
| Pattern | When to Use |
|
|
167
|
+
|---------|-------------|
|
|
168
|
+
| **Fade** | Safe default, works everywhere |
|
|
169
|
+
| **Slide** | Sequential navigation (prev/next) |
|
|
170
|
+
| **Scale** | Opening/closing modals |
|
|
171
|
+
| **Shared element** | Maintaining visual continuity |
|
|
172
|
+
|
|
173
|
+
### Direction Matching
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
Navigation direction = animation direction
|
|
177
|
+
├── Forward → slide from right
|
|
178
|
+
├── Backward → slide from left
|
|
179
|
+
├── Deeper → scale up from center
|
|
180
|
+
├── Back up → scale down
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 6. Scroll Animation Principles
|
|
186
|
+
|
|
187
|
+
### Progressive Reveal
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
Content appears as user scrolls:
|
|
191
|
+
├── Reduces initial cognitive load
|
|
192
|
+
├── Rewards exploration
|
|
193
|
+
├── Must not feel sluggish
|
|
194
|
+
└── Option to disable (accessibility)
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Trigger Points
|
|
198
|
+
|
|
199
|
+
| When to Trigger | Effect |
|
|
200
|
+
|-----------------|--------|
|
|
201
|
+
| Just entering viewport | Standard reveal |
|
|
202
|
+
| Centered in viewport | For emphasis |
|
|
203
|
+
| Partially visible | Earlier reveal |
|
|
204
|
+
| Fully visible | Late trigger |
|
|
205
|
+
|
|
206
|
+
### Animation Properties
|
|
207
|
+
|
|
208
|
+
- Fade in (opacity)
|
|
209
|
+
- Slide up (transform)
|
|
210
|
+
- Scale (transform)
|
|
211
|
+
- Combination of above
|
|
212
|
+
|
|
213
|
+
### Performance
|
|
214
|
+
|
|
215
|
+
- Use Intersection Observer
|
|
216
|
+
- Animate only transform/opacity
|
|
217
|
+
- Reduce on mobile if needed
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## 7. Hover Effects Principles
|
|
222
|
+
|
|
223
|
+
### Matching Effect to Action
|
|
224
|
+
|
|
225
|
+
| Element | Effect | Intent |
|
|
226
|
+
|---------|--------|--------|
|
|
227
|
+
| **Clickable card** | Lift + shadow | "This is interactive" |
|
|
228
|
+
| **Button** | Color/brightness change | "Press me" |
|
|
229
|
+
| **Image** | Zoom/scale | "View closer" |
|
|
230
|
+
| **Link** | Underline/color | "Navigate here" |
|
|
231
|
+
|
|
232
|
+
### Principles
|
|
233
|
+
|
|
234
|
+
1. **Signal interactivity** - hover shows it's clickable
|
|
235
|
+
2. **Don't overdo it** - subtle changes work
|
|
236
|
+
3. **Match importance** - bigger change = more important
|
|
237
|
+
4. **Touch alternatives** - hover doesn't work on mobile
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## 8. Feedback Animation Principles
|
|
242
|
+
|
|
243
|
+
### Success States
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
Celebrate appropriately:
|
|
247
|
+
├── Minor action → subtle check/color
|
|
248
|
+
├── Major action → more pronounced animation
|
|
249
|
+
├── Completion → satisfying animation
|
|
250
|
+
└── Match brand personality
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Error States
|
|
254
|
+
|
|
255
|
+
```
|
|
256
|
+
Draw attention without panic:
|
|
257
|
+
├── Color change (semantic red)
|
|
258
|
+
├── Shake animation (brief!)
|
|
259
|
+
├── Focus on error field
|
|
260
|
+
└── Clear messaging
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Timing
|
|
264
|
+
|
|
265
|
+
- Success: slightly longer (enjoy the moment)
|
|
266
|
+
- Error: quick (don't delay action)
|
|
267
|
+
- Loading: continuous until complete
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## 9. Performance Principles
|
|
272
|
+
|
|
273
|
+
### What's Cheap to Animate
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
GPU-accelerated (FAST):
|
|
277
|
+
├── transform: translate, scale, rotate
|
|
278
|
+
└── opacity: 0 to 1
|
|
279
|
+
|
|
280
|
+
CPU-intensive (SLOW):
|
|
281
|
+
├── width, height
|
|
282
|
+
├── top, left, right, bottom
|
|
283
|
+
├── margin, padding
|
|
284
|
+
├── border-radius changes
|
|
285
|
+
└── box-shadow changes
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Optimization Strategies
|
|
289
|
+
|
|
290
|
+
1. **Animate transform/opacity** whenever possible
|
|
291
|
+
2. **Avoid layout triggers** (size/position changes)
|
|
292
|
+
3. **Use will-change sparingly** (hints to browser)
|
|
293
|
+
4. **Test on low-end devices** (not just dev machine)
|
|
294
|
+
|
|
295
|
+
### Respecting User Preferences
|
|
296
|
+
|
|
297
|
+
```css
|
|
298
|
+
@media (prefers-reduced-motion: reduce) {
|
|
299
|
+
/* Honor this preference */
|
|
300
|
+
/* Essential animations only */
|
|
301
|
+
/* Reduce or remove decorative motion */
|
|
302
|
+
}
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## 10. Animation Decision Checklist
|
|
308
|
+
|
|
309
|
+
Before adding animation:
|
|
310
|
+
|
|
311
|
+
- [ ] **Is there a purpose?** (feedback/guidance/delight)
|
|
312
|
+
- [ ] **Is timing appropriate?** (not too fast/slow)
|
|
313
|
+
- [ ] **Did you pick correct easing?** (enter/exit/emphasis)
|
|
314
|
+
- [ ] **Is it performant?** (transform/opacity only)
|
|
315
|
+
- [ ] **Tested reduced motion?** (accessibility)
|
|
316
|
+
- [ ] **Consistent with other animations?** (same timing feel)
|
|
317
|
+
- [ ] **Not your default settings?** (variety check)
|
|
318
|
+
- [ ] **Asked user about style if unclear?**
|
|
319
|
+
|
|
320
|
+
### Anti-Patterns
|
|
321
|
+
|
|
322
|
+
- ❌ Same timing values every project
|
|
323
|
+
- ❌ Animation for animation's sake
|
|
324
|
+
- ❌ Ignoring reduced-motion preference
|
|
325
|
+
- ❌ Animating expensive properties
|
|
326
|
+
- ❌ Too many things animating at once
|
|
327
|
+
- ❌ Delays that frustrate users
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
> **Remember**: Animation is communication. Every motion should have meaning and serve the user experience.
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
# Color System Reference
|
|
2
|
+
|
|
3
|
+
> Color theory principles, selection process, and decision-making guidelines.
|
|
4
|
+
> **No memorized hex codes - learn to THINK about color.**
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Color Theory Fundamentals
|
|
9
|
+
|
|
10
|
+
### The Color Wheel
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
YELLOW
|
|
14
|
+
│
|
|
15
|
+
Yellow- │ Yellow-
|
|
16
|
+
Green │ Orange
|
|
17
|
+
╲ │ ╱
|
|
18
|
+
╲ │ ╱
|
|
19
|
+
GREEN ─────────── ● ─────────── ORANGE
|
|
20
|
+
╱ │ ╲
|
|
21
|
+
╱ │ ╲
|
|
22
|
+
Blue- │ Red-
|
|
23
|
+
Green │ Orange
|
|
24
|
+
│
|
|
25
|
+
RED
|
|
26
|
+
│
|
|
27
|
+
PURPLE
|
|
28
|
+
╱ ╲
|
|
29
|
+
Blue- Red-
|
|
30
|
+
Purple Purple
|
|
31
|
+
╲ ╱
|
|
32
|
+
BLUE
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Color Relationships
|
|
36
|
+
|
|
37
|
+
| Scheme | How to Create | When to Use |
|
|
38
|
+
|--------|---------------|-------------|
|
|
39
|
+
| **Monochromatic** | Pick ONE hue, vary only lightness/saturation | Minimal, professional, cohesive |
|
|
40
|
+
| **Analogous** | Pick 2-3 ADJACENT hues on wheel | Harmonious, calm, nature-inspired |
|
|
41
|
+
| **Complementary** | Pick OPPOSITE hues on wheel | High contrast, vibrant, attention |
|
|
42
|
+
| **Split-Complementary** | Base + 2 colors adjacent to complement | Dynamic but balanced |
|
|
43
|
+
| **Triadic** | 3 hues EQUIDISTANT on wheel | Vibrant, playful, creative |
|
|
44
|
+
|
|
45
|
+
### How to Choose a Scheme:
|
|
46
|
+
1. **What's the project mood?** Calm → Analogous. Bold → Complementary.
|
|
47
|
+
2. **How many colors needed?** Minimal → Monochromatic. Complex → Triadic.
|
|
48
|
+
3. **Who's the audience?** Conservative → Monochromatic. Young → Triadic.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 2. The 60-30-10 Rule
|
|
53
|
+
|
|
54
|
+
### Distribution Principle
|
|
55
|
+
```
|
|
56
|
+
┌─────────────────────────────────────────────────┐
|
|
57
|
+
│ │
|
|
58
|
+
│ 60% PRIMARY (Background, large areas) │
|
|
59
|
+
│ → Should be neutral or calming │
|
|
60
|
+
│ → Carries the overall tone │
|
|
61
|
+
│ │
|
|
62
|
+
├────────────────────────────────────┬────────────┤
|
|
63
|
+
│ │ │
|
|
64
|
+
│ 30% SECONDARY │ 10% ACCENT │
|
|
65
|
+
│ (Cards, sections, headers) │ (CTAs, │
|
|
66
|
+
│ → Supports without dominating │ highlights)│
|
|
67
|
+
│ │ → Draws │
|
|
68
|
+
│ │ attention│
|
|
69
|
+
└────────────────────────────────────┴────────────┘
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Implementation Pattern
|
|
73
|
+
```css
|
|
74
|
+
:root {
|
|
75
|
+
/* 60% - Pick based on light/dark mode and mood */
|
|
76
|
+
--color-bg: /* neutral: white, off-white, or dark gray */
|
|
77
|
+
--color-surface: /* slightly different from bg */
|
|
78
|
+
|
|
79
|
+
/* 30% - Pick based on brand or context */
|
|
80
|
+
--color-secondary: /* muted version of primary or neutral */
|
|
81
|
+
|
|
82
|
+
/* 10% - Pick based on desired action/emotion */
|
|
83
|
+
--color-accent: /* vibrant, attention-grabbing */
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 3. Color Psychology - Meaning & Selection
|
|
90
|
+
|
|
91
|
+
### How to Choose Based on Context
|
|
92
|
+
|
|
93
|
+
| If Project Is... | Consider These Hues | Why |
|
|
94
|
+
|------------------|---------------------|-----|
|
|
95
|
+
| **Finance, Tech, Healthcare** | Blues, Teals | Trust, stability, calm |
|
|
96
|
+
| **Eco, Wellness, Nature** | Greens, Earth tones | Growth, health, organic |
|
|
97
|
+
| **Food, Energy, Youth** | Orange, Yellow, Warm | Appetite, excitement, warmth |
|
|
98
|
+
| **Luxury, Beauty, Creative** | Deep Teal, Gold, Black | Sophistication, premium |
|
|
99
|
+
| **Urgency, Sales, Alerts** | Red, Orange | Action, attention, passion |
|
|
100
|
+
|
|
101
|
+
### Emotional Associations (For Decision Making)
|
|
102
|
+
|
|
103
|
+
| Hue Family | Positive Associations | Cautions |
|
|
104
|
+
|------------|----------------------|----------|
|
|
105
|
+
| **Blue** | Trust, calm, professional | Can feel cold, corporate |
|
|
106
|
+
| **Green** | Growth, nature, success | Can feel boring if overused |
|
|
107
|
+
| **Red** | Passion, urgency, energy | High arousal, use sparingly |
|
|
108
|
+
| **Orange** | Warmth, friendly, creative | Can feel cheap if saturated |
|
|
109
|
+
| **Purple** | ⚠️ **BANNED** - AI overuses this! | Use Deep Teal/Maroon/Emerald instead |
|
|
110
|
+
| **Yellow** | Optimism, attention, happy | Hard to read, use as accent |
|
|
111
|
+
| **Black** | Elegance, power, modern | Can feel heavy |
|
|
112
|
+
| **White** | Clean, minimal, open | Can feel sterile |
|
|
113
|
+
|
|
114
|
+
### Selection Process:
|
|
115
|
+
1. **What industry?** → Narrow to 2-3 hue families
|
|
116
|
+
2. **What emotion?** → Pick primary hue
|
|
117
|
+
3. **What contrast?** → Decide light vs dark mode
|
|
118
|
+
4. **ASK USER** → Confirm before proceeding
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 4. Palette Generation Principles
|
|
123
|
+
|
|
124
|
+
### From a Single Color (HSL Method)
|
|
125
|
+
|
|
126
|
+
Instead of memorizing hex codes, learn to **manipulate HSL**:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
HSL = Hue, Saturation, Lightness
|
|
130
|
+
|
|
131
|
+
Hue (0-360): The color family
|
|
132
|
+
0/360 = Red
|
|
133
|
+
60 = Yellow
|
|
134
|
+
120 = Green
|
|
135
|
+
180 = Cyan
|
|
136
|
+
240 = Blue
|
|
137
|
+
300 = Purple
|
|
138
|
+
|
|
139
|
+
Saturation (0-100%): Color intensity
|
|
140
|
+
Low = Muted, sophisticated
|
|
141
|
+
High = Vibrant, energetic
|
|
142
|
+
|
|
143
|
+
Lightness (0-100%): Brightness
|
|
144
|
+
0% = Black
|
|
145
|
+
50% = Pure color
|
|
146
|
+
100% = White
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Generating a Full Palette
|
|
150
|
+
|
|
151
|
+
Given ANY base color, create a scale:
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
Lightness Scale:
|
|
155
|
+
50 (lightest) → L: 97%
|
|
156
|
+
100 → L: 94%
|
|
157
|
+
200 → L: 86%
|
|
158
|
+
300 → L: 74%
|
|
159
|
+
400 → L: 66%
|
|
160
|
+
500 (base) → L: 50-60%
|
|
161
|
+
600 → L: 48%
|
|
162
|
+
700 → L: 38%
|
|
163
|
+
800 → L: 30%
|
|
164
|
+
900 (darkest) → L: 20%
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Saturation Adjustments
|
|
168
|
+
|
|
169
|
+
| Context | Saturation Level |
|
|
170
|
+
|---------|-----------------|
|
|
171
|
+
| **Professional/Corporate** | Lower (40-60%) |
|
|
172
|
+
| **Playful/Youth** | Higher (70-90%) |
|
|
173
|
+
| **Dark Mode** | Reduce by 10-20% |
|
|
174
|
+
| **Accessibility** | Ensure contrast, may need adjustment |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 5. Context-Based Selection Guide
|
|
179
|
+
|
|
180
|
+
### Instead of Copying Palettes, Follow This Process:
|
|
181
|
+
|
|
182
|
+
**Step 1: Identify the Context**
|
|
183
|
+
```
|
|
184
|
+
What type of project?
|
|
185
|
+
├── E-commerce → Need trust + urgency balance
|
|
186
|
+
├── SaaS/Dashboard → Need low-fatigue, data focus
|
|
187
|
+
├── Health/Wellness → Need calming, natural feel
|
|
188
|
+
├── Luxury/Premium → Need understated elegance
|
|
189
|
+
├── Creative/Portfolio → Need personality, memorable
|
|
190
|
+
└── Other → ASK the user
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Step 2: Select Primary Hue Family**
|
|
194
|
+
```
|
|
195
|
+
Based on context, pick ONE:
|
|
196
|
+
- Blue family (trust)
|
|
197
|
+
- Green family (growth)
|
|
198
|
+
- Warm family (energy)
|
|
199
|
+
- Neutral family (elegant)
|
|
200
|
+
- OR ask user preference
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Step 3: Decide Light/Dark Mode**
|
|
204
|
+
```
|
|
205
|
+
Consider:
|
|
206
|
+
- User preference?
|
|
207
|
+
- Industry standard?
|
|
208
|
+
- Content type? (text-heavy = light preferred)
|
|
209
|
+
- Time of use? (evening app = dark option)
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Step 4: Generate Palette Using Principles**
|
|
213
|
+
- Use HSL manipulation
|
|
214
|
+
- Follow 60-30-10 rule
|
|
215
|
+
- Check contrast (WCAG)
|
|
216
|
+
- Test with actual content
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## 6. Dark Mode Principles
|
|
221
|
+
|
|
222
|
+
### Key Rules (No Fixed Codes)
|
|
223
|
+
|
|
224
|
+
1. **Never pure black** → Use very dark gray with slight hue
|
|
225
|
+
2. **Never pure white text** → Use 87-92% lightness
|
|
226
|
+
3. **Reduce saturation** → Vibrant colors strain eyes in dark mode
|
|
227
|
+
4. **Elevation = brightness** → Higher elements slightly lighter
|
|
228
|
+
|
|
229
|
+
### Contrast in Dark Mode
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
Background layers (darker → lighter as elevation increases):
|
|
233
|
+
Layer 0 (base) → Darkest
|
|
234
|
+
Layer 1 (cards) → Slightly lighter
|
|
235
|
+
Layer 2 (modals) → Even lighter
|
|
236
|
+
Layer 3 (popups) → Lightest dark
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Adapting Colors for Dark Mode
|
|
240
|
+
|
|
241
|
+
| Light Mode | Dark Mode Adjustment |
|
|
242
|
+
|------------|---------------------|
|
|
243
|
+
| High saturation accent | Reduce saturation 10-20% |
|
|
244
|
+
| Pure white background | Dark gray with brand hue tint |
|
|
245
|
+
| Black text | Light gray (not pure white) |
|
|
246
|
+
| Colorful backgrounds | Desaturated, darker versions |
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 7. Accessibility Guidelines
|
|
251
|
+
|
|
252
|
+
### Contrast Requirements (WCAG)
|
|
253
|
+
|
|
254
|
+
| Level | Normal Text | Large Text |
|
|
255
|
+
|-------|-------------|------------|
|
|
256
|
+
| AA (minimum) | 4.5:1 | 3:1 |
|
|
257
|
+
| AAA (enhanced) | 7:1 | 4.5:1 |
|
|
258
|
+
|
|
259
|
+
### How to Check Contrast
|
|
260
|
+
|
|
261
|
+
1. **Convert colors to luminance**
|
|
262
|
+
2. **Calculate ratio**: (lighter + 0.05) / (darker + 0.05)
|
|
263
|
+
3. **Adjust until ratio meets requirement**
|
|
264
|
+
|
|
265
|
+
### Safe Patterns
|
|
266
|
+
|
|
267
|
+
| Use Case | Guideline |
|
|
268
|
+
|----------|-----------|
|
|
269
|
+
| **Text on light bg** | Use lightness 35% or less |
|
|
270
|
+
| **Text on dark bg** | Use lightness 85% or more |
|
|
271
|
+
| **Primary on white** | Ensure dark enough variant |
|
|
272
|
+
| **Buttons** | High contrast between bg and text |
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## 8. Color Selection Checklist
|
|
277
|
+
|
|
278
|
+
Before finalizing any color choice, verify:
|
|
279
|
+
|
|
280
|
+
- [ ] **Asked user preference?** (if not specified)
|
|
281
|
+
- [ ] **Matches project context?** (industry, audience)
|
|
282
|
+
- [ ] **Follows 60-30-10?** (proper distribution)
|
|
283
|
+
- [ ] **WCAG compliant?** (contrast checked)
|
|
284
|
+
- [ ] **Works in both modes?** (if dark mode needed)
|
|
285
|
+
- [ ] **NOT your default/favorite?** (variety check)
|
|
286
|
+
- [ ] **Different from last project?** (avoid repetition)
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## 9. Anti-Patterns to Avoid
|
|
291
|
+
|
|
292
|
+
### ❌ DON'T:
|
|
293
|
+
- Copy the same hex codes every project
|
|
294
|
+
- Default to purple/violet (AI tendency)
|
|
295
|
+
- Default to dark mode + neon (AI tendency)
|
|
296
|
+
- Use pure black (#000000) backgrounds
|
|
297
|
+
- Use pure white (#FFFFFF) text on dark
|
|
298
|
+
- Ignore user's industry context
|
|
299
|
+
- Skip asking user preference
|
|
300
|
+
|
|
301
|
+
### ✅ DO:
|
|
302
|
+
- Generate fresh palette per project
|
|
303
|
+
- Ask user about color preferences
|
|
304
|
+
- Consider industry and audience
|
|
305
|
+
- Use HSL for flexible manipulation
|
|
306
|
+
- Test contrast and accessibility
|
|
307
|
+
- Offer light AND dark options
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
> **Remember**: Colors are decisions, not defaults. Every project deserves thoughtful selection based on its unique context.
|