@amorydev/antigravity-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.
Files changed (217) hide show
  1. package/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
  2. package/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
  3. package/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
  4. package/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
  5. package/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
  6. package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
  7. package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
  8. package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  9. package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  10. package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  11. package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  12. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  13. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  14. package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  15. package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
  16. package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  17. package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  18. package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  19. package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  20. package/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
  21. package/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
  22. package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  23. package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  24. package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
  25. package/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
  26. package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +487 -0
  27. package/.agent/.shared/ui-ux-pro-max/scripts/search.py +76 -0
  28. package/.agent/ARCHITECTURE.md +225 -0
  29. package/.agent/agents/backend-specialist.md +263 -0
  30. package/.agent/agents/database-architect.md +226 -0
  31. package/.agent/agents/debugger.md +225 -0
  32. package/.agent/agents/devops-engineer.md +242 -0
  33. package/.agent/agents/documentation-writer.md +104 -0
  34. package/.agent/agents/explorer-agent.md +73 -0
  35. package/.agent/agents/frontend-specialist.md +527 -0
  36. package/.agent/agents/game-developer.md +162 -0
  37. package/.agent/agents/mobile-developer.md +1126 -0
  38. package/.agent/agents/orchestrator.md +400 -0
  39. package/.agent/agents/penetration-tester.md +188 -0
  40. package/.agent/agents/performance-optimizer.md +187 -0
  41. package/.agent/agents/project-planner.md +403 -0
  42. package/.agent/agents/security-auditor.md +170 -0
  43. package/.agent/agents/seo-specialist.md +111 -0
  44. package/.agent/agents/test-engineer.md +158 -0
  45. package/.agent/rules/GEMINI.md +252 -0
  46. package/.agent/skills/api-patterns/SKILL.md +81 -0
  47. package/.agent/skills/api-patterns/api-style.md +42 -0
  48. package/.agent/skills/api-patterns/auth.md +24 -0
  49. package/.agent/skills/api-patterns/documentation.md +26 -0
  50. package/.agent/skills/api-patterns/graphql.md +41 -0
  51. package/.agent/skills/api-patterns/rate-limiting.md +31 -0
  52. package/.agent/skills/api-patterns/response.md +37 -0
  53. package/.agent/skills/api-patterns/rest.md +40 -0
  54. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  55. package/.agent/skills/api-patterns/security-testing.md +122 -0
  56. package/.agent/skills/api-patterns/trpc.md +41 -0
  57. package/.agent/skills/api-patterns/versioning.md +22 -0
  58. package/.agent/skills/app-builder/SKILL.md +75 -0
  59. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  60. package/.agent/skills/app-builder/feature-building.md +53 -0
  61. package/.agent/skills/app-builder/project-detection.md +34 -0
  62. package/.agent/skills/app-builder/scaffolding.md +118 -0
  63. package/.agent/skills/app-builder/tech-stack.md +40 -0
  64. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  65. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  66. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  67. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  68. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  69. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  70. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  71. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  72. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  73. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  74. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  75. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  76. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  77. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  78. package/.agent/skills/architecture/SKILL.md +55 -0
  79. package/.agent/skills/architecture/context-discovery.md +43 -0
  80. package/.agent/skills/architecture/examples.md +94 -0
  81. package/.agent/skills/architecture/pattern-selection.md +68 -0
  82. package/.agent/skills/architecture/patterns-reference.md +50 -0
  83. package/.agent/skills/architecture/trade-off-analysis.md +77 -0
  84. package/.agent/skills/bash-linux/SKILL.md +199 -0
  85. package/.agent/skills/behavioral-modes/SKILL.md +242 -0
  86. package/.agent/skills/brainstorming/SKILL.md +163 -0
  87. package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
  88. package/.agent/skills/clean-code/SKILL.md +201 -0
  89. package/.agent/skills/code-review-checklist/SKILL.md +109 -0
  90. package/.agent/skills/database-design/SKILL.md +52 -0
  91. package/.agent/skills/database-design/database-selection.md +43 -0
  92. package/.agent/skills/database-design/indexing.md +39 -0
  93. package/.agent/skills/database-design/migrations.md +48 -0
  94. package/.agent/skills/database-design/optimization.md +36 -0
  95. package/.agent/skills/database-design/orm-selection.md +30 -0
  96. package/.agent/skills/database-design/schema-design.md +56 -0
  97. package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  98. package/.agent/skills/deployment-procedures/SKILL.md +241 -0
  99. package/.agent/skills/doc.md +177 -0
  100. package/.agent/skills/docker-expert/SKILL.md +409 -0
  101. package/.agent/skills/documentation-templates/SKILL.md +194 -0
  102. package/.agent/skills/frontend-design/SKILL.md +396 -0
  103. package/.agent/skills/frontend-design/animation-guide.md +331 -0
  104. package/.agent/skills/frontend-design/color-system.md +311 -0
  105. package/.agent/skills/frontend-design/decision-trees.md +418 -0
  106. package/.agent/skills/frontend-design/motion-graphics.md +306 -0
  107. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  108. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  109. package/.agent/skills/frontend-design/typography-system.md +345 -0
  110. package/.agent/skills/frontend-design/ux-psychology.md +541 -0
  111. package/.agent/skills/frontend-design/visual-effects.md +383 -0
  112. package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  113. package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  114. package/.agent/skills/game-development/SKILL.md +167 -0
  115. package/.agent/skills/game-development/game-art/SKILL.md +185 -0
  116. package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  117. package/.agent/skills/game-development/game-design/SKILL.md +129 -0
  118. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  119. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  120. package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  121. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  122. package/.agent/skills/game-development/web-games/SKILL.md +150 -0
  123. package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
  124. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  125. package/.agent/skills/i18n-localization/SKILL.md +154 -0
  126. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  127. package/.agent/skills/lint-and-validate/SKILL.md +45 -0
  128. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  129. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  130. package/.agent/skills/mcp-builder/SKILL.md +176 -0
  131. package/.agent/skills/mobile-design/SKILL.md +937 -0
  132. package/.agent/skills/mobile-design/decision-trees.md +516 -0
  133. package/.agent/skills/mobile-design/mobile-backend.md +491 -0
  134. package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
  135. package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
  136. package/.agent/skills/mobile-design/mobile-design-thinking.md +598 -0
  137. package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
  138. package/.agent/skills/mobile-design/mobile-performance.md +1050 -0
  139. package/.agent/skills/mobile-design/mobile-testing.md +356 -0
  140. package/.agent/skills/mobile-design/mobile-typography.md +433 -0
  141. package/.agent/skills/mobile-design/platform-android.md +666 -0
  142. package/.agent/skills/mobile-design/platform-ios.md +561 -0
  143. package/.agent/skills/mobile-design/platform-kmp.md +770 -0
  144. package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  145. package/.agent/skills/mobile-design/touch-psychology.md +537 -0
  146. package/.agent/skills/nestjs-expert/SKILL.md +552 -0
  147. package/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
  148. package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
  149. package/.agent/skills/parallel-agents/SKILL.md +175 -0
  150. package/.agent/skills/performance-profiling/SKILL.md +143 -0
  151. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  152. package/.agent/skills/plan-writing/SKILL.md +152 -0
  153. package/.agent/skills/powershell-windows/SKILL.md +167 -0
  154. package/.agent/skills/prisma-expert/SKILL.md +355 -0
  155. package/.agent/skills/python-patterns/SKILL.md +441 -0
  156. package/.agent/skills/react-patterns/SKILL.md +198 -0
  157. package/.agent/skills/red-team-tactics/SKILL.md +199 -0
  158. package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
  159. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  160. package/.agent/skills/server-management/SKILL.md +161 -0
  161. package/.agent/skills/systematic-debugging/SKILL.md +109 -0
  162. package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
  163. package/.agent/skills/tdd-workflow/SKILL.md +149 -0
  164. package/.agent/skills/testing-patterns/SKILL.md +178 -0
  165. package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  166. package/.agent/skills/typescript-expert/SKILL.md +429 -0
  167. package/.agent/skills/typescript-expert/references/tsconfig-strict.json +92 -0
  168. package/.agent/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
  169. package/.agent/skills/typescript-expert/references/utility-types.ts +335 -0
  170. package/.agent/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
  171. package/.agent/skills/ui-ux-pro-max/SKILL.md +351 -0
  172. package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
  173. package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
  174. package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
  175. package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
  176. package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
  177. package/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  178. package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  179. package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  180. package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  181. package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  182. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  183. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  184. package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  185. package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  186. package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  187. package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  188. package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  189. package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  190. package/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
  191. package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
  192. package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  193. package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  194. package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  195. package/.agent/skills/ui-ux-pro-max/scripts/core.py +257 -0
  196. package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
  197. package/.agent/skills/ui-ux-pro-max/scripts/search.py +76 -0
  198. package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  199. package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
  200. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  201. package/.agent/skills/webapp-testing/SKILL.md +187 -0
  202. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  203. package/.agent/workflows/brainstorm.md +113 -0
  204. package/.agent/workflows/create.md +59 -0
  205. package/.agent/workflows/debug.md +103 -0
  206. package/.agent/workflows/deploy.md +176 -0
  207. package/.agent/workflows/enhance.md +63 -0
  208. package/.agent/workflows/orchestrate.md +237 -0
  209. package/.agent/workflows/plan.md +89 -0
  210. package/.agent/workflows/preview.md +80 -0
  211. package/.agent/workflows/status.md +86 -0
  212. package/.agent/workflows/test.md +144 -0
  213. package/.agent/workflows/ui-ux-pro-max.md +231 -0
  214. package/LICENSE +21 -0
  215. package/README.md +120 -0
  216. package/bin/cli.js +81 -0
  217. package/package.json +29 -0
@@ -0,0 +1,598 @@
1
+ # Mobile Design Thinking
2
+
3
+ > **This file prevents AI from using memorized patterns and forces genuine thinking.**
4
+ > Mechanisms to prevent standard AI training defaults in mobile development.
5
+ > **The mobile equivalent of frontend's layout decomposition approach.**
6
+
7
+ ---
8
+
9
+ ## 🧠 DEEP MOBILE THINKING PROTOCOL
10
+
11
+ ### This Process is Mandatory Before Every Mobile Project
12
+
13
+ ```
14
+ ┌─────────────────────────────────────────────────────────────────┐
15
+ │ DEEP MOBILE THINKING │
16
+ ├─────────────────────────────────────────────────────────────────┤
17
+ │ │
18
+ │ 1️⃣ CONTEXT SCAN │
19
+ │ └── What are my assumptions for this project? │
20
+ │ └── QUESTION these assumptions │
21
+ │ │
22
+ │ 2️⃣ ANTI-DEFAULT ANALYSIS │
23
+ │ └── Am I applying a memorized pattern? │
24
+ │ └── Is this pattern REALLY the best for THIS project? │
25
+ │ │
26
+ │ 3️⃣ PLATFORM DECOMPOSITION │
27
+ │ └── Did I think about iOS and Android separately? │
28
+ │ └── What are the platform-specific patterns? │
29
+ │ │
30
+ │ 4️⃣ TOUCH INTERACTION BREAKDOWN │
31
+ │ └── Did I analyze each interaction individually? │
32
+ │ └── Did I apply Fitts' Law, Thumb Zone? │
33
+ │ │
34
+ │ 5️⃣ PERFORMANCE IMPACT ANALYSIS │
35
+ │ └── Did I consider performance impact of each component? │
36
+ │ └── Is the default solution performant? │
37
+ │ │
38
+ └─────────────────────────────────────────────────────────────────┘
39
+ ```
40
+
41
+ ---
42
+
43
+ ## 🚫 AI MOBILE DEFAULTS (FORBIDDEN LIST)
44
+
45
+ ### ⚠️ CRITICAL: Using These Patterns Automatically is FORBIDDEN!
46
+
47
+ The following patterns are "defaults" that AIs learned from training data.
48
+ Before using any of these, **STOP, QUESTION them, and CONSIDER ALTERNATIVES!**
49
+ ```
50
+ ┌─────────────────────────────────────────────────────────────────────────┐
51
+ │ 🚫 AI MOBILE SAFE HARBOR │
52
+ │ (Default Patterns - Never Use Without Questioning) │
53
+ ├─────────────────────────────────────────────────────────────────────────┤
54
+ │ │
55
+ │ NAVIGATION DEFAULTS: │
56
+ │ ├── Tab bar for every project → Would drawer/stack be better? │
57
+ │ ├── Fixed 5 tabs → Are 3 enough? For 6+, use drawer instead? │
58
+ │ ├── "Home" tab on left → What does user behavior say? │
59
+ │ ├── Hamburger menu → Is it outdated? Bottom nav better? │
60
+ │ ├── Stack navigator everywhere → Is modal better for some flows? │
61
+ │ └── Deep linking as afterthought → Should be planned from start? │
62
+ │ │
63
+ │ STATE MANAGEMENT DEFAULTS: │
64
+ │ ├── Redux everywhere → Is Zustand/Jotai/Recoil sufficient? │
65
+ │ ├── Global state for everything → Isn't local state enough? │
66
+ │ ├── Context Provider hell → Is atom-based (Jotai/Recoil) better? │
67
+ │ ├── BLoC for every Flutter project → Is Riverpod more modern? │
68
+ │ ├── Provider for all Flutter state → Should some be local? │
69
+ │ ├── MobX with classes → Are hooks/functional better? │
70
+ │ └── ViewModel for everything (Compose) → Is remember{} enough? │
71
+ │ │
72
+ │ LIST IMPLEMENTATION DEFAULTS: │
73
+ │ ├── FlatList as default → Is FlashList 10x more performant? │
74
+ │ ├── windowSize=21 → Is default (21) needed or wasteful? │
75
+ │ ├── removeClippedSubviews=true → Does it help on this OS version? │
76
+ │ ├── ListView.builder always → Is ListView.separated better for gaps? │
77
+ │ ├── Infinite scroll everywhere → Is pagination clearer? │
78
+ │ ├── LazyColumn for everything → Is Column with scrolling enough? │
79
+ │ └── getItemLayout always → Only if fixed height, right? │
80
+ │ │
81
+ │ UI PATTERN DEFAULTS: │
82
+ │ ├── FAB bottom-right → Is bottom-left more thumb-friendly? │
83
+ │ ├── Pull-to-refresh on every list → Is it needed or just habit? │
84
+ │ ├── Swipe-to-delete from left → Is right-to-left more intuitive? │
85
+ │ ├── Bottom sheet for every modal → Is full screen clearer? │
86
+ │ ├── Snackbar for all notifications → Is toast/alert better? │
87
+ │ ├── Card for every list item → Is it visual bloat? │
88
+ │ ├── Rounded corners everywhere → Does it fit brand? │
89
+ │ └── Skeleton loaders always → Is spinner simpler/better? │
90
+ │ │
91
+ │ FORM DEFAULTS: │
92
+ │ ├── Inline validation → Is submit-time validation clearer? │
93
+ │ ├── Floating labels → Are they accessible/readable? │
94
+ │ ├── Auto-focus first field → Does it annoy users on mobile? │
95
+ │ ├── Submit on Enter → Works on mobile keyboard? │
96
+ │ └── Red error text → Is it accessible (color-blind)? │
97
+ │ │
98
+ │ ANIMATION DEFAULTS: │
99
+ │ ├── 300ms duration → Is 200ms snappier? 500ms smoother? │
100
+ │ ├── Ease-in-out curve → Is spring more natural? │
101
+ │ ├── Fade transition → Is slide/scale more engaging? │
102
+ │ ├── Hero animation everywhere → Is it overused? │
103
+ │ └── Page curl (iOS) → Is it dated now? │
104
+ │ │
105
+ │ API/DATA DEFAULTS: │
106
+ │ ├── Fetch on mount → Should it be lazy/on-demand? │
107
+ │ ├── Retry 3 times → Is exponential backoff better? │
108
+ │ ├── 10 second timeout → Is 5s or 30s more appropriate? │
109
+ │ ├── Cache forever → Should it expire? │
110
+ │ ├── Optimistic updates everywhere → When is it risky? │
111
+ │ └── REST API assumed → Is GraphQL/gRPC better here? │
112
+ │ │
113
+ │ PERFORMANCE DEFAULTS: │
114
+ │ ├── useCallback on everything → Is it premature optimization? │
115
+ │ ├── React.memo wrapping all → Does it actually help here? │
116
+ │ ├── useMemo for all calculations → Is the computation heavy enough? │
117
+ │ ├── const constructors (Flutter) → Did you actually use const? │
118
+ │ └── remember{} everywhere (Compose) → Is derivedStateOf needed? │
119
+ │ │
120
+ │ STYLING DEFAULTS: │
121
+ │ ├── 16px base padding → Is 12px or 20px better for this UI? │
122
+ │ ├── #007AFF blue (iOS) → Does it match brand colors? │
123
+ │ ├── Material blue 500 → Is custom color better? │
124
+ │ ├── System font → Is custom font worth the bundle size? │
125
+ │ ├── 14px body text → Is 16px more readable on mobile? │
126
+ │ └── 24px headers → Is hierarchy clear enough? │
127
+ │ │
128
+ │ ACCESSIBILITY DEFAULTS: │
129
+ │ ├── Skip accessibility → NEVER acceptable! │
130
+ │ ├── "Button" as accessibilityLabel → Is it descriptive enough? │
131
+ │ ├── No semantic markup → Screen readers need it! │
132
+ │ ├── Color-only indicators → What about color-blind users? │
133
+ │ └── Tiny touch targets → Did you meet 44pt/48dp minimum? │
134
+ │ │
135
+ │ SECURITY DEFAULTS: │
136
+ │ ├── AsyncStorage for tokens → Use SecureStore/Keychain! │
137
+ │ ├── HTTP in dev → Always HTTPS, even in dev! │
138
+ │ ├── No SSL pinning → Is it needed for this app? │
139
+ │ ├── Hardcoded secrets → Use environment variables! │
140
+ │ └── No input validation → ALWAYS validate user input! │
141
+ │ │
142
+ │ TESTING DEFAULTS: │
143
+ │ ├── "We'll test later" → Test-driven or at least parallel! │
144
+ │ ├── Only unit tests → Integration/E2E tests needed too! │
145
+ │ ├── Manual testing only → Automate regression testing! │
146
+ │ ├── Test on emulator only → Real devices show real issues! │
147
+ │ └── Skip accessibility testing → Use screen readers to test! │
148
+ │ │
149
+ └─────────────────────────────────────────────────────────────────────────┘
150
+ ```
151
+
152
+ ---
153
+
154
+ ## 🤔 HOW TO BREAK THE DEFAULT PATTERN
155
+
156
+ ### Step 1: RECOGNIZE the default
157
+ When you're about to use a pattern, ask: **"Did I choose this, or is it just what I always do?"**
158
+
159
+ ### Step 2: QUESTION the default
160
+ Ask these questions:
161
+ - **Why this pattern?** (What problem does it solve?)
162
+ - **What are the alternatives?** (List at least 2 other options)
163
+ - **What does the user actually need?** (Not what's trendy)
164
+ - **What are the trade-offs?** (Performance, complexity, UX)
165
+ - **Is this adding value or just complexity?**
166
+
167
+ ### Step 3: CHOOSE consciously
168
+ Only use the pattern if you can defend it with specific reasons for THIS project.
169
+
170
+ ---
171
+
172
+ ## ✅ GOOD: Conscious Choices
173
+ ```
174
+ User: "Create a todo app"
175
+
176
+ ❌ BAD AI Response:
177
+ "I'll create a React Native app with Redux, tab navigation,
178
+ FlatList, and bottom sheet for adding todos."
179
+
180
+ ✅ GOOD AI Response:
181
+ "Before I start, let me clarify a few things:
182
+
183
+ 1. **State management**: For a simple todo app, would Zustand or
184
+ even useState be sufficient? Redux might be overkill unless
185
+ you plan complex features.
186
+
187
+ 2. **Navigation**: Do you need tabs, or would a single screen with
188
+ a modal be simpler?
189
+
190
+ 3. **List**: FlashList is 10x faster than FlatList - should I use that?
191
+
192
+ 4. **Add todo UI**: Bottom sheet, full modal, or inline form?
193
+
194
+ What feels right for your use case?"
195
+ ```
196
+
197
+ ---
198
+
199
+ ## 🚨 RED FLAGS: You're Using Defaults
200
+
201
+ ### Warning Signs:
202
+ - You didn't ask the user ANY questions before choosing
203
+ - You copied a pattern from your last project without thinking
204
+ - You can't explain WHY you chose this pattern over alternatives
205
+ - You're adding features "just in case" or "because everyone does it"
206
+ - You're using buzzwords without understanding trade-offs
207
+
208
+ ### Self-Check Questions:
209
+ 1. **Did I ask the user what they need?** ✓/✗
210
+ 2. **Can I name 2 alternatives to this pattern?** ✓/✗
211
+ 3. **Do I know the trade-offs of this choice?** ✓/✗
212
+ 4. **Is this solving a real problem or adding complexity?** ✓/✗
213
+ 5. **Would a simpler solution work just as well?** ✓/✗
214
+
215
+ If you answered ✗ to any of these, **STOP and RETHINK!**
216
+
217
+ ---
218
+
219
+ ## 📋 DECISION FRAMEWORK
220
+
221
+ Use this framework before choosing ANY pattern:
222
+ ```
223
+ PATTERN: _______________________
224
+
225
+ 1. PROBLEM: What specific problem am I solving?
226
+ ________________________________________________
227
+
228
+ 2. ALTERNATIVES: What are 3 other ways to solve this?
229
+ A) ________________________________________________
230
+ B) ________________________________________________
231
+ C) ________________________________________________
232
+
233
+ 3. TRADE-OFFS: What am I giving up with each option?
234
+ A) ________________________________________________
235
+ B) ________________________________________________
236
+ C) ________________________________________________
237
+
238
+ 4. USER NEED: What does the user actually need here?
239
+ ________________________________________________
240
+
241
+ 5. CHOICE: Which option best serves the user need?
242
+ ________________________________________________
243
+
244
+ 6. REASONING: Why is this better than the alternatives?
245
+ ________________________________________________
246
+ ```
247
+
248
+ ---
249
+
250
+ ## 💡 EXAMPLES: Breaking the Defaults
251
+
252
+ ### Example 1: Navigation
253
+ ```
254
+ ❌ DEFAULT THINKING:
255
+ "Mobile app = Tab bar navigation"
256
+
257
+ ✅ CONSCIOUS THINKING:
258
+ "What navigation pattern fits the user journey?
259
+ - Tab bar: Good for 3-5 equal-importance sections
260
+ - Drawer: Good for 6+ sections, secondary navigation
261
+ - Stack: Good for linear flows, onboarding
262
+ - Bottom sheet: Good for contextual actions
263
+
264
+ For THIS app (news reader):
265
+ - Users browse categories (8+ sections) → DRAWER
266
+ - Users read articles in sequence → STACK
267
+ - Tab bar would force hiding sections → BAD UX
268
+
269
+ DECISION: Drawer + Stack, NO tab bar"
270
+ ```
271
+
272
+ ### Example 2: State Management
273
+ ```
274
+ ❌ DEFAULT THINKING:
275
+ "React Native = Redux"
276
+
277
+ ✅ CONSCIOUS THINKING:
278
+ "What state complexity do I have?
279
+ - Simple counter app → useState
280
+ - Form with 5 fields → useState + useReducer
281
+ - Shopping cart + user + products → Zustand
282
+ - Complex normalized data → Redux Toolkit
283
+
284
+ For THIS app (todo list):
285
+ - 1 list, local persistence, no auth → useState + AsyncStorage
286
+
287
+ DECISION: No state library needed, useState is enough"
288
+ ```
289
+
290
+ ### Example 3: List Performance
291
+ ```
292
+ ❌ DEFAULT THINKING:
293
+ "List = FlatList with all optimizations"
294
+
295
+ ✅ CONSCIOUS THINKING:
296
+ "What's the list size and complexity?
297
+ - 10 items, simple → Regular ScrollView
298
+ - 100 items, simple → FlatList
299
+ - 1000+ items → FlashList
300
+ - Variable height, complex → FlatList + getItemLayout
301
+
302
+ For THIS app (contacts, 50-500 items):
303
+ - FlashList is 10x faster
304
+ - Setup cost: 1 line (estimatedItemSize)
305
+
306
+ DECISION: Use FlashList, not FlatList"
307
+ ```
308
+
309
+ ---
310
+
311
+ ## 🎯 FINAL REMINDER
312
+
313
+ > **Every pattern you use should be a CONSCIOUS CHOICE, not a REFLEX.**
314
+
315
+ Ask yourself before every decision:
316
+ - **"Did I CHOOSE this, or did I DEFAULT to it?"**
317
+ - **"Can I defend this choice with reasons specific to THIS project?"**
318
+ - **"Is there a simpler solution I'm overlooking?"**
319
+
320
+ If you can't answer these confidently, **you're using defaults.**
321
+
322
+ **STOP. QUESTION. CHOOSE.**
323
+
324
+ ---
325
+
326
+ ## 🔍 COMPONENT DECOMPOSITION (MANDATORY)
327
+
328
+ ### Decomposition Analysis for Every Screen
329
+
330
+ Before designing any screen, perform this analysis:
331
+
332
+ ```
333
+ SCREEN: [Screen Name]
334
+ ├── PRIMARY ACTION: [What is the main action?]
335
+ │ └── Is it in thumb zone? [Yes/No → Why?]
336
+
337
+ ├── TOUCH TARGETS: [All tappable elements]
338
+ │ ├── [Element 1]: [Size]pt → Sufficient?
339
+ │ ├── [Element 2]: [Size]pt → Sufficient?
340
+ │ └── Spacing: [Gap]pt → Accidental tap risk?
341
+
342
+ ├── SCROLLABLE CONTENT:
343
+ │ ├── Is it a list? → FlatList/FlashList [Why this choice?]
344
+ │ ├── Item count: ~[N] → Performance consideration?
345
+ │ └── Fixed height? → Is getItemLayout needed?
346
+
347
+ ├── STATE REQUIREMENTS:
348
+ │ ├── Is local state sufficient?
349
+ │ ├── Do I need to lift state?
350
+ │ └── Is global required? [Why?]
351
+
352
+ ├── PLATFORM DIFFERENCES:
353
+ │ ├── iOS: [Anything different needed?]
354
+ │ └── Android: [Anything different needed?]
355
+
356
+ ├── OFFLINE CONSIDERATION:
357
+ │ ├── Should this screen work offline?
358
+ │ └── Cache strategy: [Yes/No/Which one?]
359
+
360
+ └── PERFORMANCE IMPACT:
361
+ ├── Any heavy components?
362
+ ├── Is memoization needed?
363
+ └── Animation performance?
364
+ ```
365
+
366
+ ---
367
+
368
+ ## 🎯 PATTERN QUESTIONING MATRIX
369
+
370
+ Ask these questions for every default pattern:
371
+
372
+ ### Navigation Pattern Questioning
373
+
374
+ | Assumption | Question | Alternative |
375
+ |------------|----------|-------------|
376
+ | "I'll use tab bar" | How many destinations? | 3 → minimal tabs, 6+ → drawer |
377
+ | "5 tabs" | Are all equally important? | "More" tab? Drawer hybrid? |
378
+ | "Bottom nav" | iPad/tablet support? | Navigation rail alternative |
379
+ | "Stack navigation" | Did I consider deep links? | URL structure = navigation structure |
380
+
381
+ ### State Pattern Questioning
382
+
383
+ | Assumption | Question | Alternative |
384
+ |------------|----------|-------------|
385
+ | "I'll use Redux" | How complex is the app? | Simple: Zustand, Server: TanStack |
386
+ | "Global state" | Is this state really global? | Local lift, Context selector |
387
+ | "Context Provider" | Will re-render be an issue? | Zustand, Jotai (atom-based) |
388
+ | "BLoC pattern" | Is the boilerplate worth it? | Riverpod (less code) |
389
+
390
+ ### List Pattern Questioning
391
+
392
+ | Assumption | Question | Alternative |
393
+ |------------|----------|-------------|
394
+ | "FlatList" | Is performance critical? | FlashList (faster) |
395
+ | "Standard renderItem" | Is it memoized? | useCallback + React.memo |
396
+ | "Index key" | Does data order change? | Use item.id |
397
+ | "ListView" | Are there separators? | ListView.separated |
398
+
399
+ ### UI Pattern Questioning
400
+
401
+ | Assumption | Question | Alternative |
402
+ |------------|----------|-------------|
403
+ | "FAB bottom-right" | User handedness? | Accessibility settings |
404
+ | "Pull-to-refresh" | Does this list need refresh? | Only when necessary |
405
+ | "Modal bottom sheet" | How much content? | Full screen modal might be better |
406
+ | "Swipe actions" | Discoverability? | Visible button alternative |
407
+
408
+ ---
409
+
410
+ ## 🧪 ANTI-MEMORIZATION TEST
411
+
412
+ ### Ask Yourself Before Every Solution
413
+
414
+ ```
415
+ ┌─────────────────────────────────────────────────────────────────┐
416
+ │ ANTI-MEMORIZATION CHECKLIST │
417
+ ├─────────────────────────────────────────────────────────────────┤
418
+ │ │
419
+ │ □ Did I pick this solution "because I always do it this way"? │
420
+ │ → If YES: STOP. Consider alternatives. │
421
+ │ │
422
+ │ □ Is this a pattern I've seen frequently in training data? │
423
+ │ → If YES: Is it REALLY suitable for THIS project? │
424
+ │ │
425
+ │ □ Did I write this solution automatically without thinking? │
426
+ │ → If YES: Step back, do decomposition. │
427
+ │ │
428
+ │ □ Did I consider an alternative approach? │
429
+ │ → If NO: Think of at least 2 alternatives, then decide. │
430
+ │ │
431
+ │ □ Did I think platform-specifically? │
432
+ │ → If NO: Analyze iOS and Android separately. │
433
+ │ │
434
+ │ □ Did I consider performance impact of this solution? │
435
+ │ → If NO: What is the memory, CPU, battery impact? │
436
+ │ │
437
+ │ □ Is this solution suitable for THIS project's CONTEXT? │
438
+ │ → If NO: Customize based on context. │
439
+ │ │
440
+ └─────────────────────────────────────────────────────────────────┘
441
+ ```
442
+
443
+ ---
444
+
445
+ ## 📊 CONTEXT-BASED DECISION PROTOCOL
446
+
447
+ ### Think Differently Based on Project Type
448
+
449
+ ```
450
+ DETERMINE PROJECT TYPE:
451
+
452
+ ├── E-Commerce App
453
+ │ ├── Navigation: Tab (Home, Search, Cart, Account)
454
+ │ ├── Lists: Product grids (memoized, image optimized)
455
+ │ ├── Performance: Image caching CRITICAL
456
+ │ ├── Offline: Cart persistence, product cache
457
+ │ └── Special: Checkout flow, payment security
458
+
459
+ ├── Social/Content App
460
+ │ ├── Navigation: Tab (Feed, Search, Create, Notify, Profile)
461
+ │ ├── Lists: Infinite scroll, complex items
462
+ │ ├── Performance: Feed rendering CRITICAL
463
+ │ ├── Offline: Feed cache, draft posts
464
+ │ └── Special: Real-time updates, media handling
465
+
466
+ ├── Productivity/SaaS App
467
+ │ ├── Navigation: Drawer or adaptive (mobile tab, tablet rail)
468
+ │ ├── Lists: Data tables, forms
469
+ │ ├── Performance: Data sync
470
+ │ ├── Offline: Full offline editing
471
+ │ └── Special: Conflict resolution, background sync
472
+
473
+ ├── Utility App
474
+ │ ├── Navigation: Minimal (stack-only possible)
475
+ │ ├── Lists: Probably minimal
476
+ │ ├── Performance: Fast startup
477
+ │ ├── Offline: Core feature offline
478
+ │ └── Special: Widget, shortcuts
479
+
480
+ └── Media/Streaming App
481
+ ├── Navigation: Tab (Home, Search, Library, Profile)
482
+ ├── Lists: Horizontal carousels, vertical feeds
483
+ ├── Performance: Preloading, buffering
484
+ ├── Offline: Download management
485
+ └── Special: Background playback, casting
486
+ ```
487
+
488
+ ---
489
+
490
+ ## 🔄 INTERACTION BREAKDOWN
491
+
492
+ ### Analysis for Every Gesture
493
+
494
+ Before adding any gesture:
495
+
496
+ ```
497
+ GESTURE: [Gesture Type]
498
+ ├── DISCOVERABILITY:
499
+ │ └── How will users discover this gesture?
500
+ │ ├── Is there a visual hint?
501
+ │ ├── Will it be shown in onboarding?
502
+ │ └── Is there a button alternative? (MANDATORY)
503
+
504
+ ├── PLATFORM CONVENTION:
505
+ │ ├── What does this gesture mean on iOS?
506
+ │ ├── What does this gesture mean on Android?
507
+ │ └── Am I deviating from platform convention?
508
+
509
+ ├── ACCESSIBILITY:
510
+ │ ├── Can motor-impaired users perform this gesture?
511
+ │ ├── Is there a VoiceOver/TalkBack alternative?
512
+ │ └── Does it work with switch control?
513
+
514
+ ├── CONFLICT CHECK:
515
+ │ ├── Does it conflict with system gestures?
516
+ │ │ ├── iOS: Edge swipe back
517
+ │ │ ├── Android: Back gesture
518
+ │ │ └── Home indicator swipe
519
+ │ └── Is it consistent with other app gestures?
520
+
521
+ └── FEEDBACK:
522
+ ├── Is haptic feedback defined?
523
+ ├── Is visual feedback sufficient?
524
+ └── Is audio feedback needed?
525
+ ```
526
+
527
+ ---
528
+
529
+ ## 🎭 SPIRIT OVER CHECKLIST (Mobile Edition)
530
+
531
+ ### Passing the Checklist is Not Enough!
532
+
533
+ | ❌ Self-Deception | ✅ Honest Assessment |
534
+ |-------------------|----------------------|
535
+ | "Touch target is 44px" (but on edge, unreachable) | "Can user reach it one-handed?" |
536
+ | "I used FlatList" (but didn't memoize) | "Is scroll smooth?" |
537
+ | "Platform-specific nav" (but only icons differ) | "Does iOS feel like iOS, Android like Android?" |
538
+ | "Offline support exists" (but error message is generic) | "What can user actually do offline?" |
539
+ | "Loading state exists" (but just a spinner) | "Does user know how long to wait?" |
540
+
541
+ > 🔴 **Passing the checklist is NOT the goal. Creating great mobile UX IS the goal.**
542
+
543
+ ---
544
+
545
+ ## 📝 MOBILE DESIGN COMMITMENT
546
+
547
+ ### Fill This at the Start of Every Mobile Project
548
+
549
+ ```
550
+ 📱 MOBILE DESIGN COMMITMENT
551
+
552
+ Project: _______________
553
+ Platform: iOS / Android / Both
554
+
555
+ 1. Default pattern I will NOT use in this project:
556
+ └── _______________
557
+
558
+ 2. Context-specific focus for this project:
559
+ └── _______________
560
+
561
+ 3. Platform-specific differences I will implement:
562
+ └── iOS: _______________
563
+ └── Android: _______________
564
+
565
+ 4. Area I will specifically optimize for performance:
566
+ └── _______________
567
+
568
+ 5. Unique challenge of this project:
569
+ └── _______________
570
+
571
+ 🧠 If I can't fill this commitment → I don't understand the project well enough.
572
+ → Go back, understand context better, ask the user.
573
+ ```
574
+
575
+ ---
576
+
577
+ ## 🚨 MANDATORY: Before Every Mobile Work
578
+
579
+ ```
580
+ ┌─────────────────────────────────────────────────────────────────┐
581
+ │ PRE-WORK VALIDATION │
582
+ ├─────────────────────────────────────────────────────────────────┤
583
+ │ │
584
+ │ □ Did I complete Component Decomposition? │
585
+ │ □ Did I fill the Pattern Questioning Matrix? │
586
+ │ □ Did I pass the Anti-Memorization Test? │
587
+ │ □ Did I make context-based decisions? │
588
+ │ □ Did I analyze Interaction Breakdown? │
589
+ │ □ Did I fill the Mobile Design Commitment? │
590
+ │ │
591
+ │ ⚠️ Do not write code without completing these! │
592
+ │ │
593
+ └─────────────────────────────────────────────────────────────────┘
594
+ ```
595
+
596
+ ---
597
+
598
+ > **Remember:** If you chose a solution "because that's how it's always done," you chose WITHOUT THINKING. Every project is unique. Every context is different. Every user behavior is specific. **THINK, then code.**