@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.

Files changed (220) 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/CONTEXT.md +229 -0
  30. package/.agent/FEATURE_ROADMAP.md +435 -0
  31. package/.agent/PROMPT_TEMPLATES.md +261 -0
  32. package/.agent/agents/backend-specialist.md +263 -0
  33. package/.agent/agents/database-architect.md +226 -0
  34. package/.agent/agents/debugger.md +225 -0
  35. package/.agent/agents/devops-engineer.md +242 -0
  36. package/.agent/agents/documentation-writer.md +104 -0
  37. package/.agent/agents/explorer-agent.md +73 -0
  38. package/.agent/agents/frontend-specialist.md +556 -0
  39. package/.agent/agents/game-developer.md +162 -0
  40. package/.agent/agents/mobile-developer.md +377 -0
  41. package/.agent/agents/orchestrator.md +416 -0
  42. package/.agent/agents/penetration-tester.md +188 -0
  43. package/.agent/agents/performance-optimizer.md +187 -0
  44. package/.agent/agents/project-planner.md +403 -0
  45. package/.agent/agents/security-auditor.md +170 -0
  46. package/.agent/agents/seo-specialist.md +111 -0
  47. package/.agent/agents/test-engineer.md +158 -0
  48. package/.agent/rules/GEMINI.md +251 -0
  49. package/.agent/skills/api-patterns/SKILL.md +81 -0
  50. package/.agent/skills/api-patterns/api-style.md +42 -0
  51. package/.agent/skills/api-patterns/auth.md +24 -0
  52. package/.agent/skills/api-patterns/documentation.md +26 -0
  53. package/.agent/skills/api-patterns/graphql.md +41 -0
  54. package/.agent/skills/api-patterns/rate-limiting.md +31 -0
  55. package/.agent/skills/api-patterns/response.md +37 -0
  56. package/.agent/skills/api-patterns/rest.md +40 -0
  57. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  58. package/.agent/skills/api-patterns/security-testing.md +122 -0
  59. package/.agent/skills/api-patterns/trpc.md +41 -0
  60. package/.agent/skills/api-patterns/versioning.md +22 -0
  61. package/.agent/skills/app-builder/SKILL.md +75 -0
  62. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  63. package/.agent/skills/app-builder/feature-building.md +53 -0
  64. package/.agent/skills/app-builder/project-detection.md +34 -0
  65. package/.agent/skills/app-builder/scaffolding.md +118 -0
  66. package/.agent/skills/app-builder/tech-stack.md +40 -0
  67. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  68. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  69. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  70. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  71. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  72. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  73. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  74. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  75. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  76. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  77. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  78. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  79. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  80. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  81. package/.agent/skills/architecture/SKILL.md +55 -0
  82. package/.agent/skills/architecture/context-discovery.md +43 -0
  83. package/.agent/skills/architecture/examples.md +94 -0
  84. package/.agent/skills/architecture/pattern-selection.md +68 -0
  85. package/.agent/skills/architecture/patterns-reference.md +50 -0
  86. package/.agent/skills/architecture/trade-off-analysis.md +77 -0
  87. package/.agent/skills/bash-linux/SKILL.md +199 -0
  88. package/.agent/skills/behavioral-modes/SKILL.md +242 -0
  89. package/.agent/skills/brainstorming/SKILL.md +163 -0
  90. package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
  91. package/.agent/skills/clean-code/SKILL.md +201 -0
  92. package/.agent/skills/code-review-checklist/SKILL.md +109 -0
  93. package/.agent/skills/database-design/SKILL.md +52 -0
  94. package/.agent/skills/database-design/database-selection.md +43 -0
  95. package/.agent/skills/database-design/indexing.md +39 -0
  96. package/.agent/skills/database-design/migrations.md +48 -0
  97. package/.agent/skills/database-design/optimization.md +36 -0
  98. package/.agent/skills/database-design/orm-selection.md +30 -0
  99. package/.agent/skills/database-design/schema-design.md +56 -0
  100. package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  101. package/.agent/skills/deployment-procedures/SKILL.md +241 -0
  102. package/.agent/skills/doc.md +177 -0
  103. package/.agent/skills/docker-expert/SKILL.md +409 -0
  104. package/.agent/skills/documentation-templates/SKILL.md +194 -0
  105. package/.agent/skills/frontend-design/SKILL.md +396 -0
  106. package/.agent/skills/frontend-design/animation-guide.md +331 -0
  107. package/.agent/skills/frontend-design/color-system.md +311 -0
  108. package/.agent/skills/frontend-design/decision-trees.md +418 -0
  109. package/.agent/skills/frontend-design/motion-graphics.md +306 -0
  110. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  111. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  112. package/.agent/skills/frontend-design/typography-system.md +345 -0
  113. package/.agent/skills/frontend-design/ux-psychology.md +541 -0
  114. package/.agent/skills/frontend-design/visual-effects.md +383 -0
  115. package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  116. package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  117. package/.agent/skills/game-development/SKILL.md +167 -0
  118. package/.agent/skills/game-development/game-art/SKILL.md +185 -0
  119. package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  120. package/.agent/skills/game-development/game-design/SKILL.md +129 -0
  121. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  122. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  123. package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  124. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  125. package/.agent/skills/game-development/web-games/SKILL.md +150 -0
  126. package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
  127. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  128. package/.agent/skills/i18n-localization/SKILL.md +154 -0
  129. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  130. package/.agent/skills/lint-and-validate/SKILL.md +45 -0
  131. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  132. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  133. package/.agent/skills/mcp-builder/SKILL.md +176 -0
  134. package/.agent/skills/mobile-design/SKILL.md +394 -0
  135. package/.agent/skills/mobile-design/decision-trees.md +516 -0
  136. package/.agent/skills/mobile-design/mobile-backend.md +491 -0
  137. package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
  138. package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
  139. package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
  140. package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
  141. package/.agent/skills/mobile-design/mobile-performance.md +767 -0
  142. package/.agent/skills/mobile-design/mobile-testing.md +356 -0
  143. package/.agent/skills/mobile-design/mobile-typography.md +433 -0
  144. package/.agent/skills/mobile-design/platform-android.md +666 -0
  145. package/.agent/skills/mobile-design/platform-ios.md +561 -0
  146. package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  147. package/.agent/skills/mobile-design/touch-psychology.md +537 -0
  148. package/.agent/skills/nestjs-expert/SKILL.md +552 -0
  149. package/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
  150. package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
  151. package/.agent/skills/parallel-agents/SKILL.md +175 -0
  152. package/.agent/skills/performance-profiling/SKILL.md +143 -0
  153. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  154. package/.agent/skills/plan-writing/SKILL.md +152 -0
  155. package/.agent/skills/powershell-windows/SKILL.md +167 -0
  156. package/.agent/skills/prisma-expert/SKILL.md +355 -0
  157. package/.agent/skills/python-patterns/SKILL.md +441 -0
  158. package/.agent/skills/react-patterns/SKILL.md +198 -0
  159. package/.agent/skills/red-team-tactics/SKILL.md +199 -0
  160. package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
  161. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  162. package/.agent/skills/server-management/SKILL.md +161 -0
  163. package/.agent/skills/systematic-debugging/SKILL.md +109 -0
  164. package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
  165. package/.agent/skills/tdd-workflow/SKILL.md +149 -0
  166. package/.agent/skills/testing-patterns/SKILL.md +178 -0
  167. package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  168. package/.agent/skills/typescript-expert/SKILL.md +429 -0
  169. package/.agent/skills/typescript-expert/references/tsconfig-strict.json +92 -0
  170. package/.agent/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
  171. package/.agent/skills/typescript-expert/references/utility-types.ts +335 -0
  172. package/.agent/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
  173. package/.agent/skills/ui-ux-pro-max/SKILL.md +351 -0
  174. package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
  175. package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
  176. package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
  177. package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
  178. package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
  179. package/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  180. package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  181. package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  182. package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  183. package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  184. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  185. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  186. package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  187. package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  188. package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  189. package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  190. package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  191. package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  192. package/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
  193. package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
  194. package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  195. package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  196. package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  197. package/.agent/skills/ui-ux-pro-max/scripts/core.py +257 -0
  198. package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
  199. package/.agent/skills/ui-ux-pro-max/scripts/search.py +76 -0
  200. package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  201. package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
  202. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  203. package/.agent/skills/webapp-testing/SKILL.md +187 -0
  204. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  205. package/.agent/workflows/brainstorm.md +113 -0
  206. package/.agent/workflows/create.md +59 -0
  207. package/.agent/workflows/debug.md +103 -0
  208. package/.agent/workflows/deploy.md +176 -0
  209. package/.agent/workflows/enhance.md +63 -0
  210. package/.agent/workflows/orchestrate.md +237 -0
  211. package/.agent/workflows/plan.md +89 -0
  212. package/.agent/workflows/preview.md +80 -0
  213. package/.agent/workflows/status.md +86 -0
  214. package/.agent/workflows/test.md +144 -0
  215. package/.agent/workflows/ui-ux-pro-max.md +231 -0
  216. package/LICENSE +21 -0
  217. package/README.md +101 -0
  218. package/bin/cli.js +235 -0
  219. package/index.js +1 -0
  220. package/package.json +43 -0
@@ -0,0 +1,357 @@
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
+ ### 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, **QUESTION them and CONSIDER ALTERNATIVES!**
49
+
50
+ ```
51
+ ┌─────────────────────────────────────────────────────────────────┐
52
+ │ 🚫 AI MOBILE SAFE HARBOR │
53
+ │ (Default Patterns - Never Use Without Questioning) │
54
+ ├─────────────────────────────────────────────────────────────────┤
55
+ │ │
56
+ │ NAVIGATION DEFAULTS: │
57
+ │ ├── Tab bar for every project (Would drawer be better?) │
58
+ │ ├── Fixed 5 tabs (Are 3 enough? For 6+, drawer?) │
59
+ │ ├── "Home" tab on left (What does user behavior say?) │
60
+ │ └── Hamburger menu (Is it outdated now?) │
61
+ │ │
62
+ │ STATE MANAGEMENT DEFAULTS: │
63
+ │ ├── Redux everywhere (Is Zustand/Jotai sufficient?) │
64
+ │ ├── Global state for everything (Isn't local state enough?) │
65
+ │ ├── Context Provider hell (Is atom-based better?) │
66
+ │ └── BLoC for every Flutter project (Is Riverpod more modern?) │
67
+ │ │
68
+ │ LIST IMPLEMENTATION DEFAULTS: │
69
+ │ ├── FlatList as default (Is FlashList more performant?) │
70
+ │ ├── windowSize=21 (Is it really needed?) │
71
+ │ ├── removeClippedSubviews (Always?) │
72
+ │ └── ListView.builder (Is ListView.separated better?) │
73
+ │ │
74
+ │ UI PATTERN DEFAULTS: │
75
+ │ ├── FAB bottom-right (Is bottom-left more accessible?) │
76
+ │ ├── Pull-to-refresh on every list (Is it needed everywhere?) │
77
+ │ ├── Swipe-to-delete from left (Is right better?) │
78
+ │ └── Bottom sheet for every modal (Is full screen better?) │
79
+ │ │
80
+ └─────────────────────────────────────────────────────────────────┘
81
+ ```
82
+
83
+ ---
84
+
85
+ ## 🔍 COMPONENT DECOMPOSITION (MANDATORY)
86
+
87
+ ### Decomposition Analysis for Every Screen
88
+
89
+ Before designing any screen, perform this analysis:
90
+
91
+ ```
92
+ SCREEN: [Screen Name]
93
+ ├── PRIMARY ACTION: [What is the main action?]
94
+ │ └── Is it in thumb zone? [Yes/No → Why?]
95
+
96
+ ├── TOUCH TARGETS: [All tappable elements]
97
+ │ ├── [Element 1]: [Size]pt → Sufficient?
98
+ │ ├── [Element 2]: [Size]pt → Sufficient?
99
+ │ └── Spacing: [Gap]pt → Accidental tap risk?
100
+
101
+ ├── SCROLLABLE CONTENT:
102
+ │ ├── Is it a list? → FlatList/FlashList [Why this choice?]
103
+ │ ├── Item count: ~[N] → Performance consideration?
104
+ │ └── Fixed height? → Is getItemLayout needed?
105
+
106
+ ├── STATE REQUIREMENTS:
107
+ │ ├── Is local state sufficient?
108
+ │ ├── Do I need to lift state?
109
+ │ └── Is global required? [Why?]
110
+
111
+ ├── PLATFORM DIFFERENCES:
112
+ │ ├── iOS: [Anything different needed?]
113
+ │ └── Android: [Anything different needed?]
114
+
115
+ ├── OFFLINE CONSIDERATION:
116
+ │ ├── Should this screen work offline?
117
+ │ └── Cache strategy: [Yes/No/Which one?]
118
+
119
+ └── PERFORMANCE IMPACT:
120
+ ├── Any heavy components?
121
+ ├── Is memoization needed?
122
+ └── Animation performance?
123
+ ```
124
+
125
+ ---
126
+
127
+ ## 🎯 PATTERN QUESTIONING MATRIX
128
+
129
+ Ask these questions for every default pattern:
130
+
131
+ ### Navigation Pattern Questioning
132
+
133
+ | Assumption | Question | Alternative |
134
+ |------------|----------|-------------|
135
+ | "I'll use tab bar" | How many destinations? | 3 → minimal tabs, 6+ → drawer |
136
+ | "5 tabs" | Are all equally important? | "More" tab? Drawer hybrid? |
137
+ | "Bottom nav" | iPad/tablet support? | Navigation rail alternative |
138
+ | "Stack navigation" | Did I consider deep links? | URL structure = navigation structure |
139
+
140
+ ### State Pattern Questioning
141
+
142
+ | Assumption | Question | Alternative |
143
+ |------------|----------|-------------|
144
+ | "I'll use Redux" | How complex is the app? | Simple: Zustand, Server: TanStack |
145
+ | "Global state" | Is this state really global? | Local lift, Context selector |
146
+ | "Context Provider" | Will re-render be an issue? | Zustand, Jotai (atom-based) |
147
+ | "BLoC pattern" | Is the boilerplate worth it? | Riverpod (less code) |
148
+
149
+ ### List Pattern Questioning
150
+
151
+ | Assumption | Question | Alternative |
152
+ |------------|----------|-------------|
153
+ | "FlatList" | Is performance critical? | FlashList (faster) |
154
+ | "Standard renderItem" | Is it memoized? | useCallback + React.memo |
155
+ | "Index key" | Does data order change? | Use item.id |
156
+ | "ListView" | Are there separators? | ListView.separated |
157
+
158
+ ### UI Pattern Questioning
159
+
160
+ | Assumption | Question | Alternative |
161
+ |------------|----------|-------------|
162
+ | "FAB bottom-right" | User handedness? | Accessibility settings |
163
+ | "Pull-to-refresh" | Does this list need refresh? | Only when necessary |
164
+ | "Modal bottom sheet" | How much content? | Full screen modal might be better |
165
+ | "Swipe actions" | Discoverability? | Visible button alternative |
166
+
167
+ ---
168
+
169
+ ## 🧪 ANTI-MEMORIZATION TEST
170
+
171
+ ### Ask Yourself Before Every Solution
172
+
173
+ ```
174
+ ┌─────────────────────────────────────────────────────────────────┐
175
+ │ ANTI-MEMORIZATION CHECKLIST │
176
+ ├─────────────────────────────────────────────────────────────────┤
177
+ │ │
178
+ │ □ Did I pick this solution "because I always do it this way"? │
179
+ │ → If YES: STOP. Consider alternatives. │
180
+ │ │
181
+ │ □ Is this a pattern I've seen frequently in training data? │
182
+ │ → If YES: Is it REALLY suitable for THIS project? │
183
+ │ │
184
+ │ □ Did I write this solution automatically without thinking? │
185
+ │ → If YES: Step back, do decomposition. │
186
+ │ │
187
+ │ □ Did I consider an alternative approach? │
188
+ │ → If NO: Think of at least 2 alternatives, then decide. │
189
+ │ │
190
+ │ □ Did I think platform-specifically? │
191
+ │ → If NO: Analyze iOS and Android separately. │
192
+ │ │
193
+ │ □ Did I consider performance impact of this solution? │
194
+ │ → If NO: What is the memory, CPU, battery impact? │
195
+ │ │
196
+ │ □ Is this solution suitable for THIS project's CONTEXT? │
197
+ │ → If NO: Customize based on context. │
198
+ │ │
199
+ └─────────────────────────────────────────────────────────────────┘
200
+ ```
201
+
202
+ ---
203
+
204
+ ## 📊 CONTEXT-BASED DECISION PROTOCOL
205
+
206
+ ### Think Differently Based on Project Type
207
+
208
+ ```
209
+ DETERMINE PROJECT TYPE:
210
+
211
+ ├── E-Commerce App
212
+ │ ├── Navigation: Tab (Home, Search, Cart, Account)
213
+ │ ├── Lists: Product grids (memoized, image optimized)
214
+ │ ├── Performance: Image caching CRITICAL
215
+ │ ├── Offline: Cart persistence, product cache
216
+ │ └── Special: Checkout flow, payment security
217
+
218
+ ├── Social/Content App
219
+ │ ├── Navigation: Tab (Feed, Search, Create, Notify, Profile)
220
+ │ ├── Lists: Infinite scroll, complex items
221
+ │ ├── Performance: Feed rendering CRITICAL
222
+ │ ├── Offline: Feed cache, draft posts
223
+ │ └── Special: Real-time updates, media handling
224
+
225
+ ├── Productivity/SaaS App
226
+ │ ├── Navigation: Drawer or adaptive (mobile tab, tablet rail)
227
+ │ ├── Lists: Data tables, forms
228
+ │ ├── Performance: Data sync
229
+ │ ├── Offline: Full offline editing
230
+ │ └── Special: Conflict resolution, background sync
231
+
232
+ ├── Utility App
233
+ │ ├── Navigation: Minimal (stack-only possible)
234
+ │ ├── Lists: Probably minimal
235
+ │ ├── Performance: Fast startup
236
+ │ ├── Offline: Core feature offline
237
+ │ └── Special: Widget, shortcuts
238
+
239
+ └── Media/Streaming App
240
+ ├── Navigation: Tab (Home, Search, Library, Profile)
241
+ ├── Lists: Horizontal carousels, vertical feeds
242
+ ├── Performance: Preloading, buffering
243
+ ├── Offline: Download management
244
+ └── Special: Background playback, casting
245
+ ```
246
+
247
+ ---
248
+
249
+ ## 🔄 INTERACTION BREAKDOWN
250
+
251
+ ### Analysis for Every Gesture
252
+
253
+ Before adding any gesture:
254
+
255
+ ```
256
+ GESTURE: [Gesture Type]
257
+ ├── DISCOVERABILITY:
258
+ │ └── How will users discover this gesture?
259
+ │ ├── Is there a visual hint?
260
+ │ ├── Will it be shown in onboarding?
261
+ │ └── Is there a button alternative? (MANDATORY)
262
+
263
+ ├── PLATFORM CONVENTION:
264
+ │ ├── What does this gesture mean on iOS?
265
+ │ ├── What does this gesture mean on Android?
266
+ │ └── Am I deviating from platform convention?
267
+
268
+ ├── ACCESSIBILITY:
269
+ │ ├── Can motor-impaired users perform this gesture?
270
+ │ ├── Is there a VoiceOver/TalkBack alternative?
271
+ │ └── Does it work with switch control?
272
+
273
+ ├── CONFLICT CHECK:
274
+ │ ├── Does it conflict with system gestures?
275
+ │ │ ├── iOS: Edge swipe back
276
+ │ │ ├── Android: Back gesture
277
+ │ │ └── Home indicator swipe
278
+ │ └── Is it consistent with other app gestures?
279
+
280
+ └── FEEDBACK:
281
+ ├── Is haptic feedback defined?
282
+ ├── Is visual feedback sufficient?
283
+ └── Is audio feedback needed?
284
+ ```
285
+
286
+ ---
287
+
288
+ ## 🎭 SPIRIT OVER CHECKLIST (Mobile Edition)
289
+
290
+ ### Passing the Checklist is Not Enough!
291
+
292
+ | ❌ Self-Deception | ✅ Honest Assessment |
293
+ |-------------------|----------------------|
294
+ | "Touch target is 44px" (but on edge, unreachable) | "Can user reach it one-handed?" |
295
+ | "I used FlatList" (but didn't memoize) | "Is scroll smooth?" |
296
+ | "Platform-specific nav" (but only icons differ) | "Does iOS feel like iOS, Android like Android?" |
297
+ | "Offline support exists" (but error message is generic) | "What can user actually do offline?" |
298
+ | "Loading state exists" (but just a spinner) | "Does user know how long to wait?" |
299
+
300
+ > 🔴 **Passing the checklist is NOT the goal. Creating great mobile UX IS the goal.**
301
+
302
+ ---
303
+
304
+ ## 📝 MOBILE DESIGN COMMITMENT
305
+
306
+ ### Fill This at the Start of Every Mobile Project
307
+
308
+ ```
309
+ 📱 MOBILE DESIGN COMMITMENT
310
+
311
+ Project: _______________
312
+ Platform: iOS / Android / Both
313
+
314
+ 1. Default pattern I will NOT use in this project:
315
+ └── _______________
316
+
317
+ 2. Context-specific focus for this project:
318
+ └── _______________
319
+
320
+ 3. Platform-specific differences I will implement:
321
+ └── iOS: _______________
322
+ └── Android: _______________
323
+
324
+ 4. Area I will specifically optimize for performance:
325
+ └── _______________
326
+
327
+ 5. Unique challenge of this project:
328
+ └── _______________
329
+
330
+ 🧠 If I can't fill this commitment → I don't understand the project well enough.
331
+ → Go back, understand context better, ask the user.
332
+ ```
333
+
334
+ ---
335
+
336
+ ## 🚨 MANDATORY: Before Every Mobile Work
337
+
338
+ ```
339
+ ┌─────────────────────────────────────────────────────────────────┐
340
+ │ PRE-WORK VALIDATION │
341
+ ├─────────────────────────────────────────────────────────────────┤
342
+ │ │
343
+ │ □ Did I complete Component Decomposition? │
344
+ │ □ Did I fill the Pattern Questioning Matrix? │
345
+ │ □ Did I pass the Anti-Memorization Test? │
346
+ │ □ Did I make context-based decisions? │
347
+ │ □ Did I analyze Interaction Breakdown? │
348
+ │ □ Did I fill the Mobile Design Commitment? │
349
+ │ │
350
+ │ ⚠️ Do not write code without completing these! │
351
+ │ │
352
+ └─────────────────────────────────────────────────────────────────┘
353
+ ```
354
+
355
+ ---
356
+
357
+ > **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.**