@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.
Potentially problematic release.
This version of @musashishao/agent-kit might be problematic. Click here for more details.
- 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,420 @@
|
|
|
1
|
+
# Mobile Color System Reference
|
|
2
|
+
|
|
3
|
+
> OLED optimization, dark mode, battery-aware colors, and outdoor visibility.
|
|
4
|
+
> **Color on mobile isn't just aestheticsβit's battery life and usability.**
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Mobile Color Fundamentals
|
|
9
|
+
|
|
10
|
+
### Why Mobile Color is Different
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
DESKTOP: MOBILE:
|
|
14
|
+
βββ LCD screens (backlit) βββ OLED common (self-emissive)
|
|
15
|
+
βββ Controlled lighting βββ Outdoor, bright sun
|
|
16
|
+
βββ Stable power βββ Battery matters
|
|
17
|
+
βββ Personal preference βββ System-wide dark mode
|
|
18
|
+
βββ Static viewing βββ Variable angles, motion
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Mobile Color Priorities
|
|
22
|
+
|
|
23
|
+
| Priority | Why |
|
|
24
|
+
|----------|-----|
|
|
25
|
+
| **1. Readability** | Outdoor, variable lighting |
|
|
26
|
+
| **2. Battery efficiency** | OLED = dark mode saves power |
|
|
27
|
+
| **3. System integration** | Dark/light mode support |
|
|
28
|
+
| **4. Semantics** | Error, success, warning colors |
|
|
29
|
+
| **5. Brand** | After functional requirements |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 2. OLED Considerations
|
|
34
|
+
|
|
35
|
+
### How OLED Differs
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
LCD (Liquid Crystal Display):
|
|
39
|
+
βββ Backlight always on
|
|
40
|
+
βββ Black = backlight through dark filter
|
|
41
|
+
βββ Energy use = constant
|
|
42
|
+
βββ Dark mode = no battery savings
|
|
43
|
+
|
|
44
|
+
OLED (Organic LED):
|
|
45
|
+
βββ Each pixel emits own light
|
|
46
|
+
βββ Black = pixel OFF (zero power)
|
|
47
|
+
βββ Energy use = brighter pixels use more
|
|
48
|
+
βββ Dark mode = significant battery savings
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Battery Savings with OLED
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
Color energy consumption (relative):
|
|
55
|
+
|
|
56
|
+
#000000 (True Black) ββββββββββ 0%
|
|
57
|
+
#1A1A1A (Near Black) ββββββββββ ~15%
|
|
58
|
+
#333333 (Dark Gray) ββββββββββ ~30%
|
|
59
|
+
#666666 (Medium Gray) ββββββββββ ~50%
|
|
60
|
+
#FFFFFF (White) ββββββββββ 100%
|
|
61
|
+
|
|
62
|
+
Saturated colors also use significant power:
|
|
63
|
+
βββ Blue pixels: Most efficient
|
|
64
|
+
βββ Green pixels: Medium
|
|
65
|
+
βββ Red pixels: Least efficient
|
|
66
|
+
βββ Desaturated colors save more
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### True Black vs Near Black
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
#000000 (True Black):
|
|
73
|
+
βββ Maximum battery savings
|
|
74
|
+
βββ Can cause "black smear" on scroll
|
|
75
|
+
βββ Sharp contrast (may be harsh)
|
|
76
|
+
βββ Used by Apple in pure dark mode
|
|
77
|
+
|
|
78
|
+
#121212 or #1A1A1A (Near Black):
|
|
79
|
+
βββ Still good battery savings
|
|
80
|
+
βββ Smoother scrolling (no smear)
|
|
81
|
+
βββ Slightly softer on eyes
|
|
82
|
+
βββ Material Design recommendation
|
|
83
|
+
|
|
84
|
+
RECOMMENDATION: #000000 for backgrounds, #0D0D0D-#1A1A1A for surfaces
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 3. Dark Mode Design
|
|
90
|
+
|
|
91
|
+
### Dark Mode Benefits
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Users enable dark mode for:
|
|
95
|
+
βββ Battery savings (OLED)
|
|
96
|
+
βββ Reduced eye strain (low light)
|
|
97
|
+
βββ Personal preference
|
|
98
|
+
βββ AMOLED aesthetic
|
|
99
|
+
βββ Accessibility (light sensitivity)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Dark Mode Color Strategy
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
LIGHT MODE DARK MODE
|
|
106
|
+
ββββββββββ βββββββββ
|
|
107
|
+
Background: #FFFFFF β #000000 or #121212
|
|
108
|
+
Surface: #F5F5F5 β #1E1E1E
|
|
109
|
+
Surface 2: #EEEEEE β #2C2C2C
|
|
110
|
+
|
|
111
|
+
Primary: #1976D2 β #90CAF9 (lighter)
|
|
112
|
+
Text: #212121 β #E0E0E0 (not pure white)
|
|
113
|
+
Secondary: #757575 β #9E9E9E
|
|
114
|
+
|
|
115
|
+
Elevation in dark mode:
|
|
116
|
+
βββ Higher = slightly lighter surface
|
|
117
|
+
βββ 0dp β 0% overlay
|
|
118
|
+
βββ 4dp β 9% overlay
|
|
119
|
+
βββ 8dp β 12% overlay
|
|
120
|
+
βββ Creates depth without shadows
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Text Colors in Dark Mode
|
|
124
|
+
|
|
125
|
+
| Role | Light Mode | Dark Mode |
|
|
126
|
+
|------|------------|-----------|
|
|
127
|
+
| Primary | #000000 (Black) | #E8E8E8 (Not pure white) |
|
|
128
|
+
| Secondary | #666666 | #B0B0B0 |
|
|
129
|
+
| Disabled | #9E9E9E | #6E6E6E |
|
|
130
|
+
| Links | #1976D2 | #8AB4F8 |
|
|
131
|
+
|
|
132
|
+
### Color Inversion Rules
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
DON'T just invert colors:
|
|
136
|
+
βββ Saturated colors become eye-burning
|
|
137
|
+
βββ Semantic colors lose meaning
|
|
138
|
+
βββ Brand colors may break
|
|
139
|
+
βββ Contrast ratios change unpredictably
|
|
140
|
+
|
|
141
|
+
DO create intentional dark palette:
|
|
142
|
+
βββ Desaturate primary colors
|
|
143
|
+
βββ Use lighter tints for emphasis
|
|
144
|
+
βββ Maintain semantic color meanings
|
|
145
|
+
βββ Check contrast ratios independently
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## 4. Outdoor Visibility
|
|
151
|
+
|
|
152
|
+
### The Sunlight Problem
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
Screen visibility outdoors:
|
|
156
|
+
βββ Bright sun washes out low contrast
|
|
157
|
+
βββ Glare reduces readability
|
|
158
|
+
βββ Polarized sunglasses affect
|
|
159
|
+
βββ Users shield screen with hand
|
|
160
|
+
|
|
161
|
+
Affected elements:
|
|
162
|
+
βββ Light gray text on white
|
|
163
|
+
βββ Subtle color differences
|
|
164
|
+
βββ Low opacity overlays
|
|
165
|
+
βββ Pastel colors
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### High Contrast Strategies
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
For outdoor visibility:
|
|
172
|
+
|
|
173
|
+
MINIMUM CONTRAST RATIOS:
|
|
174
|
+
βββ Normal text: 4.5:1 (WCAG AA)
|
|
175
|
+
βββ Large text: 3:1 (WCAG AA)
|
|
176
|
+
βββ Recommended: 7:1+ (AAA)
|
|
177
|
+
|
|
178
|
+
AVOID:
|
|
179
|
+
βββ #999 on #FFF (fails AA)
|
|
180
|
+
βββ #BBB on #FFF (fails)
|
|
181
|
+
βββ Pale colors on light backgrounds
|
|
182
|
+
βββ Subtle gradients for critical info
|
|
183
|
+
|
|
184
|
+
DO:
|
|
185
|
+
βββ Use system semantic colors
|
|
186
|
+
βββ Test in bright environment
|
|
187
|
+
βββ Provide high contrast mode
|
|
188
|
+
βββ Use solid colors for critical UI
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## 5. Semantic Colors
|
|
194
|
+
|
|
195
|
+
### Consistent Meaning
|
|
196
|
+
|
|
197
|
+
| Semantic | Meaning | iOS Default | Android Default |
|
|
198
|
+
|----------|---------|-------------|-----------------|
|
|
199
|
+
| Error | Problems, destruction | #FF3B30 | #B3261E |
|
|
200
|
+
| Success | Completion, positive | #34C759 | #4CAF50 |
|
|
201
|
+
| Warning | Attention, caution | #FF9500 | #FFC107 |
|
|
202
|
+
| Info | Information | #007AFF | #2196F3 |
|
|
203
|
+
|
|
204
|
+
### Semantic Color Rules
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
NEVER use semantic colors for:
|
|
208
|
+
βββ Branding (confuses meaning)
|
|
209
|
+
βββ Decoration (reduces impact)
|
|
210
|
+
βββ Arbitrary styling
|
|
211
|
+
βββ Status indicators (use icons too)
|
|
212
|
+
|
|
213
|
+
ALWAYS:
|
|
214
|
+
βββ Pair with icons (colorblind users)
|
|
215
|
+
βββ Maintain across light/dark modes
|
|
216
|
+
βββ Keep consistent throughout app
|
|
217
|
+
βββ Follow platform conventions
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### Error State Colors
|
|
221
|
+
|
|
222
|
+
```
|
|
223
|
+
Error states need:
|
|
224
|
+
βββ Red-ish color (semantic)
|
|
225
|
+
βββ High contrast against background
|
|
226
|
+
βββ Icon reinforcement
|
|
227
|
+
βββ Clear text explanation
|
|
228
|
+
|
|
229
|
+
iOS:
|
|
230
|
+
βββ Light: #FF3B30
|
|
231
|
+
βββ Dark: #FF453A
|
|
232
|
+
|
|
233
|
+
Android:
|
|
234
|
+
βββ Light: #B3261E
|
|
235
|
+
βββ Dark: #F2B8B5 (on error container)
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## 6. Dynamic Color (Android)
|
|
241
|
+
|
|
242
|
+
### Material You
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
Android 12+ Dynamic Color:
|
|
246
|
+
|
|
247
|
+
User's wallpaper β Color extraction β App theme
|
|
248
|
+
|
|
249
|
+
Your app automatically gets:
|
|
250
|
+
βββ Primary (from wallpaper dominant)
|
|
251
|
+
βββ Secondary (complementary)
|
|
252
|
+
βββ Tertiary (accent)
|
|
253
|
+
βββ Surface colors (neutral, derived)
|
|
254
|
+
βββ On-colors (text on each)
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Supporting Dynamic Color
|
|
258
|
+
|
|
259
|
+
```kotlin
|
|
260
|
+
// Jetpack Compose
|
|
261
|
+
MaterialTheme(
|
|
262
|
+
colorScheme = dynamicColorScheme()
|
|
263
|
+
?: staticColorScheme() // Fallback for older Android
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
// React Native
|
|
267
|
+
// Limited support - consider react-native-material-you
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Fallback Colors
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
When dynamic color unavailable:
|
|
274
|
+
βββ Android < 12
|
|
275
|
+
βββ User disabled
|
|
276
|
+
βββ Non-supporting launchers
|
|
277
|
+
|
|
278
|
+
Provide static color scheme:
|
|
279
|
+
βββ Define your brand colors
|
|
280
|
+
βββ Test in both modes
|
|
281
|
+
βββ Match dynamic color roles
|
|
282
|
+
βββ Support light + dark
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## 7. Color Accessibility
|
|
288
|
+
|
|
289
|
+
### Colorblind Considerations
|
|
290
|
+
|
|
291
|
+
```
|
|
292
|
+
~8% of men, ~0.5% of women are colorblind
|
|
293
|
+
|
|
294
|
+
Types:
|
|
295
|
+
βββ Protanopia (red weakness)
|
|
296
|
+
βββ Deuteranopia (green weakness)
|
|
297
|
+
βββ Tritanopia (blue weakness)
|
|
298
|
+
βββ Monochromacy (rare, no color)
|
|
299
|
+
|
|
300
|
+
Design rules:
|
|
301
|
+
βββ Never rely on color alone
|
|
302
|
+
βββ Use patterns, icons, text
|
|
303
|
+
βββ Test with simulation tools
|
|
304
|
+
βββ Avoid red/green distinctions only
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Contrast Testing Tools
|
|
308
|
+
|
|
309
|
+
```
|
|
310
|
+
Use these to verify:
|
|
311
|
+
βββ Built-in accessibility inspector (Xcode)
|
|
312
|
+
βββ Accessibility Scanner (Android)
|
|
313
|
+
βββ Contrast ratio calculators
|
|
314
|
+
βββ Colorblind simulation
|
|
315
|
+
βββ Test on actual devices in sunlight
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Sufficient Contrast
|
|
319
|
+
|
|
320
|
+
```
|
|
321
|
+
WCAG Guidelines:
|
|
322
|
+
|
|
323
|
+
AA (Minimum)
|
|
324
|
+
βββ Normal text: 4.5:1
|
|
325
|
+
βββ Large text (18pt+): 3:1
|
|
326
|
+
βββ UI components: 3:1
|
|
327
|
+
|
|
328
|
+
AAA (Enhanced)
|
|
329
|
+
βββ Normal text: 7:1
|
|
330
|
+
βββ Large text: 4.5:1
|
|
331
|
+
|
|
332
|
+
Mobile recommendation: Meet AA, aim for AAA
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## 8. Color Anti-Patterns
|
|
338
|
+
|
|
339
|
+
### β Common Mistakes
|
|
340
|
+
|
|
341
|
+
| Mistake | Problem | Fix |
|
|
342
|
+
|---------|---------|-----|
|
|
343
|
+
| **Light gray on white** | Invisible outdoors | Min 4.5:1 contrast |
|
|
344
|
+
| **Pure white in dark mode** | Eye strain | Use #E0E0E0-#F0F0F0 |
|
|
345
|
+
| **Same saturation dark mode** | Garish, glowing | Desaturate colors |
|
|
346
|
+
| **Red/green only indicator** | Colorblind users can't see | Add icons |
|
|
347
|
+
| **Semantic colors for brand** | Confusing meaning | Use neutral for brand |
|
|
348
|
+
| **Ignoring system dark mode** | Jarring experience | Support both modes |
|
|
349
|
+
|
|
350
|
+
### β AI Color Mistakes
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
AI tends to:
|
|
354
|
+
βββ Use same colors for light/dark
|
|
355
|
+
βββ Ignore OLED battery implications
|
|
356
|
+
βββ Skip contrast calculations
|
|
357
|
+
βββ Default to purple/violet (BANNED)
|
|
358
|
+
βββ Use low contrast "aesthetic" grays
|
|
359
|
+
βββ Not test in outdoor conditions
|
|
360
|
+
βββ Forget colorblind users
|
|
361
|
+
|
|
362
|
+
RULE: Design for the worst case.
|
|
363
|
+
Test in bright sunlight, with colorblindness simulation.
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## 9. Color System Checklist
|
|
369
|
+
|
|
370
|
+
### Before Choosing Colors
|
|
371
|
+
|
|
372
|
+
- [ ] Light and dark mode variants defined?
|
|
373
|
+
- [ ] Contrast ratios checked (4.5:1+)?
|
|
374
|
+
- [ ] OLED battery considered (dark mode)?
|
|
375
|
+
- [ ] Semantic colors follow conventions?
|
|
376
|
+
- [ ] Colorblind-safe (not color-only indicators)?
|
|
377
|
+
|
|
378
|
+
### Before Release
|
|
379
|
+
|
|
380
|
+
- [ ] Tested in bright sunlight?
|
|
381
|
+
- [ ] Tested dark mode on OLED device?
|
|
382
|
+
- [ ] System dark mode respected?
|
|
383
|
+
- [ ] Dynamic color supported (Android)?
|
|
384
|
+
- [ ] Error/success/warning consistent?
|
|
385
|
+
- [ ] All text meets contrast requirements?
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## 10. Quick Reference
|
|
390
|
+
|
|
391
|
+
### Dark Mode Backgrounds
|
|
392
|
+
|
|
393
|
+
```
|
|
394
|
+
True black (OLED max savings): #000000
|
|
395
|
+
Near black (Material): #121212
|
|
396
|
+
Surface 1: #1E1E1E
|
|
397
|
+
Surface 2: #2C2C2C
|
|
398
|
+
Surface 3: #3C3C3C
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
### Text on Dark
|
|
402
|
+
|
|
403
|
+
```
|
|
404
|
+
Primary: #E0E0E0 to #ECECEC
|
|
405
|
+
Secondary: #A0A0A0 to #B0B0B0
|
|
406
|
+
Disabled: #606060 to #707070
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
### Contrast Ratios
|
|
410
|
+
|
|
411
|
+
```
|
|
412
|
+
Small text: 4.5:1 (minimum)
|
|
413
|
+
Large text: 3:1 (minimum)
|
|
414
|
+
UI elements: 3:1 (minimum)
|
|
415
|
+
Ideal: 7:1 (AAA)
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
---
|
|
419
|
+
|
|
420
|
+
> **Remember:** Color on mobile must work in the worst conditionsβbright sun, tired eyes, colorblindness, low battery. Pretty colors that fail these tests are useless colors.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Mobile Debugging Guide
|
|
2
|
+
|
|
3
|
+
> **Stop console.log() debugging!**
|
|
4
|
+
> Mobile apps have complex native layers. Text logs are not enough.
|
|
5
|
+
> **This file teaches effective mobile debugging strategies.**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## π§ MOBILE DEBUGGING MINDSET
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Web Debugging: Mobile Debugging:
|
|
13
|
+
ββββββββββββββββ ββββββββββββββββ
|
|
14
|
+
β Browser β β JS Bridge β
|
|
15
|
+
β DevTools β β Native UI β
|
|
16
|
+
β Network Tab β β GPU/Memory β
|
|
17
|
+
ββββββββββββββββ β Threads β
|
|
18
|
+
ββββββββββββββββ
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Key Differences:**
|
|
22
|
+
1. **Native Layer:** JS code works, but app crashes? It's likely native (Java/Obj-C).
|
|
23
|
+
2. **Deployment:** You can't just "refresh". State gets lost or stuck.
|
|
24
|
+
3. **Network:** SSL Pinning, proxy settings are harder.
|
|
25
|
+
4. **Device Logs:** `adb logcat` and `Console.app` are your truth.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## π« AI DEBUGGING ANTI-PATTERNS
|
|
30
|
+
|
|
31
|
+
| β Default | β
Mobile-Correct |
|
|
32
|
+
|------------|-------------------|
|
|
33
|
+
| "Add console.logs" | Use Flipper / Reactotron |
|
|
34
|
+
| "Check network tab" | Use Charles Proxy / Proxyman |
|
|
35
|
+
| "It works on simulator" | **Test on Real Device** (HW specific bugs) |
|
|
36
|
+
| "Reinstall node_modules" | **Clean Native Build** (Gradle/Pod cache) |
|
|
37
|
+
| Ignored native logs | Read `logcat` / Xcode logs |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 1. The Toolset
|
|
42
|
+
|
|
43
|
+
### β‘ React Native & Expo
|
|
44
|
+
|
|
45
|
+
| Tool | Purpose | Best For |
|
|
46
|
+
|------|---------|----------|
|
|
47
|
+
| **Reactotron** | State/API/Redux | JS side debugging |
|
|
48
|
+
| **Flipper** | Layout/Network/db | Native + JS bridge |
|
|
49
|
+
| **Expo Tools** | Element inspector | Quick UI checks |
|
|
50
|
+
|
|
51
|
+
### π οΈ Native Layer (The Deep Dive)
|
|
52
|
+
|
|
53
|
+
| Tool | Platform | Command | Why Use? |
|
|
54
|
+
|------|----------|---------|----------|
|
|
55
|
+
| **Logcat** | Android | `adb logcat` | Native crashes, ANRs |
|
|
56
|
+
| **Console** | iOS | via Xcode | Native exceptions, memory |
|
|
57
|
+
| **Layout Insp.** | Android | Android Studio | UI hierarchy bugs |
|
|
58
|
+
| **View Insp.** | iOS | Xcode | UI hierarchy bugs |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 2. Common Debugging Workflows
|
|
63
|
+
|
|
64
|
+
### π΅οΈ "The App Just Crashed" (Red Screen vs Crash to Home)
|
|
65
|
+
|
|
66
|
+
**Scenario A: Red Screen (JS Error)**
|
|
67
|
+
- **Cause:** Undefined is not an object, import error.
|
|
68
|
+
- **Fix:** Read the stack trace on screen. It's usually clear.
|
|
69
|
+
|
|
70
|
+
**Scenario B: Crash to Home Screen (Native Crash)**
|
|
71
|
+
- **Cause:** Native module failure, memory OOM, permission usage without declaration.
|
|
72
|
+
- **Tools:**
|
|
73
|
+
- **Android:** `adb logcat *:E` (Filter for Errors)
|
|
74
|
+
- **iOS:** Open Xcode β Window β Devices β View Device Logs
|
|
75
|
+
|
|
76
|
+
> **π‘ Pro Tip:** If app crashes immediately on launch, it's almost 100% a native configuration issue (Info.plist, AndroidManifest.xml).
|
|
77
|
+
|
|
78
|
+
### π "API Request Failed" (Network)
|
|
79
|
+
|
|
80
|
+
**Web:** Open Chrome DevTools β Network.
|
|
81
|
+
**Mobile:** *You usually can't see this easily.*
|
|
82
|
+
|
|
83
|
+
**Solution 1: Reactotron/Flipper**
|
|
84
|
+
- View network requests in the monitoring app.
|
|
85
|
+
|
|
86
|
+
**Solution 2: Proxy (Charles/Proxyman)**
|
|
87
|
+
- **Hard but powerful.** See ALL traffic even from native SDKs.
|
|
88
|
+
- Requires installing SSL cert on device.
|
|
89
|
+
|
|
90
|
+
### π’ "The UI is Laggy" (Performance)
|
|
91
|
+
|
|
92
|
+
**Don't guess.** measure.
|
|
93
|
+
- **React Native:** Performance Monitor (Shake menu).
|
|
94
|
+
- **Android:** "Profile GPU Rendering" in Developer Options.
|
|
95
|
+
- **Issues:**
|
|
96
|
+
- **JS FPS drop:** Heavy calculation in JS thread.
|
|
97
|
+
- **UI FPS drop:** Too many views, intricate hierarchy, heavy images.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 3. Platform-Specific Nightmares
|
|
102
|
+
|
|
103
|
+
### Android
|
|
104
|
+
- **Gradle Sync Fail:** Usually Java version mismatch or duplicate classes.
|
|
105
|
+
- **Emulator Network:** Emulator `localhost` is `10.0.2.2`, NOT `127.0.0.1`.
|
|
106
|
+
- **Cached Builds:** `./gradlew clean` is your best friend.
|
|
107
|
+
|
|
108
|
+
### iOS
|
|
109
|
+
- **Pod Issues:** `pod deintegrate && pod install`.
|
|
110
|
+
- **Signing Errors:** Check Team ID and Bundle Identifier.
|
|
111
|
+
- **Cache:** Xcode β Product β Clean Build Folder.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## π DEBUGGING CHECKLIST
|
|
116
|
+
|
|
117
|
+
- [ ] **Is it a JS or Native crash?** (Red screen or home screen?)
|
|
118
|
+
- [ ] **Did you clean build?** (Native caches are aggressive)
|
|
119
|
+
- [ ] **Are you on a real device?** (Simulators hide concurrency bugs)
|
|
120
|
+
- [ ] **Did you check the native logs?** (Not just terminal output)
|
|
121
|
+
|
|
122
|
+
> **Remember:** If JavaScript looks perfect but the app fails, look closer at the Native side.
|