@mrtrinhvn/ag-kit 1.0.11 → 1.1.1

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 (218) hide show
  1. package/README.md +31 -0
  2. package/bin/cli.js +72 -0
  3. package/package.json +7 -1
  4. package/template/.agent/knowledge/orchestrator_v3_protocol.md +60 -0
  5. package/template/.agent/knowledge/self_healing_logs.md +22 -0
  6. package/{.agent → template/.agent}/skills/telegram-agentic-gateway/SKILL.md +0 -0
  7. package/template/.agent/skills/vfs-assistant/SKILL.md +39 -0
  8. package/.agent/agents/backend-specialist.md +0 -263
  9. package/.agent/agents/code-archaeologist.md +0 -106
  10. package/.agent/agents/database-architect.md +0 -226
  11. package/.agent/agents/debugger.md +0 -225
  12. package/.agent/agents/devops-engineer.md +0 -242
  13. package/.agent/agents/documentation-writer.md +0 -104
  14. package/.agent/agents/explorer-agent.md +0 -73
  15. package/.agent/agents/frontend-specialist.md +0 -556
  16. package/.agent/agents/game-developer.md +0 -162
  17. package/.agent/agents/mobile-developer.md +0 -377
  18. package/.agent/agents/orchestrator.md +0 -416
  19. package/.agent/agents/penetration-tester.md +0 -188
  20. package/.agent/agents/performance-optimizer.md +0 -187
  21. package/.agent/agents/product-manager.md +0 -112
  22. package/.agent/agents/product-owner.md +0 -95
  23. package/.agent/agents/project-planner.md +0 -406
  24. package/.agent/agents/qa-automation-engineer.md +0 -103
  25. package/.agent/agents/quant-architect.md +0 -31
  26. package/.agent/agents/security-auditor.md +0 -170
  27. package/.agent/agents/seo-specialist.md +0 -111
  28. package/.agent/agents/test-engineer.md +0 -158
  29. package/.agent/rules/GEMINI.md +0 -280
  30. package/.agent/scripts/auto_preview.py +0 -148
  31. package/.agent/scripts/checklist.py +0 -217
  32. package/.agent/scripts/session_manager.py +0 -120
  33. package/.agent/scripts/verify_all.py +0 -327
  34. package/.agent/skills/api-patterns/SKILL.md +0 -81
  35. package/.agent/skills/api-patterns/api-style.md +0 -42
  36. package/.agent/skills/api-patterns/auth.md +0 -24
  37. package/.agent/skills/api-patterns/documentation.md +0 -26
  38. package/.agent/skills/api-patterns/graphql.md +0 -41
  39. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  40. package/.agent/skills/api-patterns/response.md +0 -37
  41. package/.agent/skills/api-patterns/rest.md +0 -40
  42. package/.agent/skills/api-patterns/scripts/api_validator.py +0 -211
  43. package/.agent/skills/api-patterns/security-testing.md +0 -122
  44. package/.agent/skills/api-patterns/trpc.md +0 -41
  45. package/.agent/skills/api-patterns/versioning.md +0 -22
  46. package/.agent/skills/app-builder/SKILL.md +0 -75
  47. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  48. package/.agent/skills/app-builder/feature-building.md +0 -53
  49. package/.agent/skills/app-builder/project-detection.md +0 -34
  50. package/.agent/skills/app-builder/scaffolding.md +0 -118
  51. package/.agent/skills/app-builder/tech-stack.md +0 -40
  52. package/.agent/skills/app-builder/templates/SKILL.md +0 -39
  53. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  54. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  55. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  56. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  57. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  58. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  59. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  60. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -82
  61. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -100
  62. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -106
  63. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -101
  64. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  65. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -93
  66. package/.agent/skills/architecture/SKILL.md +0 -55
  67. package/.agent/skills/architecture/context-discovery.md +0 -43
  68. package/.agent/skills/architecture/examples.md +0 -94
  69. package/.agent/skills/architecture/pattern-selection.md +0 -68
  70. package/.agent/skills/architecture/patterns-reference.md +0 -50
  71. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  72. package/.agent/skills/bash-linux/SKILL.md +0 -199
  73. package/.agent/skills/behavioral-modes/SKILL.md +0 -242
  74. package/.agent/skills/brainstorming/SKILL.md +0 -168
  75. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -350
  76. package/.agent/skills/business-ops/SKILL.md +0 -26
  77. package/.agent/skills/clean-code/SKILL.md +0 -202
  78. package/.agent/skills/cli-generator/SKILL.md +0 -48
  79. package/.agent/skills/code-review-checklist/SKILL.md +0 -109
  80. package/.agent/skills/cognitive-session/SKILL.md +0 -28
  81. package/.agent/skills/data-science/SKILL.md +0 -28
  82. package/.agent/skills/database-design/SKILL.md +0 -52
  83. package/.agent/skills/database-design/database-selection.md +0 -43
  84. package/.agent/skills/database-design/indexing.md +0 -39
  85. package/.agent/skills/database-design/migrations.md +0 -48
  86. package/.agent/skills/database-design/optimization.md +0 -36
  87. package/.agent/skills/database-design/orm-selection.md +0 -30
  88. package/.agent/skills/database-design/schema-design.md +0 -56
  89. package/.agent/skills/database-design/scripts/schema_validator.py +0 -172
  90. package/.agent/skills/deployment-procedures/SKILL.md +0 -241
  91. package/.agent/skills/doc.md +0 -177
  92. package/.agent/skills/documentation-templates/SKILL.md +0 -194
  93. package/.agent/skills/frontend-design/SKILL.md +0 -418
  94. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  95. package/.agent/skills/frontend-design/color-system.md +0 -311
  96. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  97. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  98. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +0 -183
  99. package/.agent/skills/frontend-design/scripts/ux_audit.py +0 -722
  100. package/.agent/skills/frontend-design/typography-system.md +0 -345
  101. package/.agent/skills/frontend-design/ux-psychology.md +0 -541
  102. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  103. package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  104. package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  105. package/.agent/skills/game-development/SKILL.md +0 -167
  106. package/.agent/skills/game-development/game-art/SKILL.md +0 -185
  107. package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  108. package/.agent/skills/game-development/game-design/SKILL.md +0 -129
  109. package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  110. package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  111. package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  112. package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  113. package/.agent/skills/game-development/web-games/SKILL.md +0 -150
  114. package/.agent/skills/geo-fundamentals/SKILL.md +0 -156
  115. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
  116. package/.agent/skills/i18n-localization/SKILL.md +0 -154
  117. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  118. package/.agent/skills/intelligent-routing/SKILL.md +0 -335
  119. package/.agent/skills/knowledge-management/SKILL.md +0 -66
  120. package/.agent/skills/lint-and-validate/SKILL.md +0 -45
  121. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +0 -172
  122. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  123. package/.agent/skills/llm-routing-quirks/SKILL.md +0 -41
  124. package/.agent/skills/mcp-builder/SKILL.md +0 -176
  125. package/.agent/skills/memory-architecture/SKILL.md +0 -107
  126. package/.agent/skills/mini-antigravity-injection/SKILL.md +0 -66
  127. package/.agent/skills/mobile-design/SKILL.md +0 -394
  128. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  129. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  130. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  131. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  132. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  133. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  134. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  135. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  136. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  137. package/.agent/skills/mobile-design/platform-android.md +0 -666
  138. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  139. package/.agent/skills/mobile-design/scripts/mobile_audit.py +0 -670
  140. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  141. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  142. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  143. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  144. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  145. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  146. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  147. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  148. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  149. package/.agent/skills/nextjs-react-expert/SKILL.md +0 -267
  150. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  151. package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  152. package/.agent/skills/nodejs-best-practices/SKILL.md +0 -333
  153. package/.agent/skills/parallel-agents/SKILL.md +0 -175
  154. package/.agent/skills/performance-profiling/SKILL.md +0 -143
  155. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  156. package/.agent/skills/plan-writing/SKILL.md +0 -153
  157. package/.agent/skills/powershell-windows/SKILL.md +0 -167
  158. package/.agent/skills/product-management/SKILL.md +0 -30
  159. package/.agent/skills/python-patterns/SKILL.md +0 -441
  160. package/.agent/skills/red-team-tactics/SKILL.md +0 -199
  161. package/.agent/skills/seo-fundamentals/SKILL.md +0 -129
  162. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  163. package/.agent/skills/server-management/SKILL.md +0 -161
  164. package/.agent/skills/systematic-debugging/SKILL.md +0 -120
  165. package/.agent/skills/tailwind-patterns/SKILL.md +0 -269
  166. package/.agent/skills/tdd-workflow/SKILL.md +0 -148
  167. package/.agent/skills/testing-patterns/SKILL.md +0 -178
  168. package/.agent/skills/testing-patterns/scripts/test_runner.py +0 -219
  169. package/.agent/skills/vulnerability-scanner/SKILL.md +0 -276
  170. package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
  171. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  172. package/.agent/skills/web-design-guidelines/SKILL.md +0 -57
  173. package/.agent/skills/webapp-testing/SKILL.md +0 -187
  174. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  175. package/.agent/workflows/brainstorm.md +0 -113
  176. package/.agent/workflows/create.md +0 -59
  177. package/.agent/workflows/debug.md +0 -103
  178. package/.agent/workflows/deploy.md +0 -176
  179. package/.agent/workflows/enhance.md +0 -63
  180. package/.agent/workflows/orchestrate.md +0 -237
  181. package/.agent/workflows/plan.md +0 -89
  182. package/.agent/workflows/preview.md +0 -81
  183. package/.agent/workflows/status.md +0 -86
  184. package/.agent/workflows/test.md +0 -144
  185. package/.agent/workflows/ui-ux-pro-max.md +0 -296
  186. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/charts.csv +0 -0
  187. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/colors.csv +0 -0
  188. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/icons.csv +0 -0
  189. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/landing.csv +0 -0
  190. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/products.csv +0 -0
  191. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/prompts.csv +0 -0
  192. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/react-performance.csv +0 -0
  193. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/flutter.csv +0 -0
  194. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -0
  195. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +0 -0
  196. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +0 -0
  197. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +0 -0
  198. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +0 -0
  199. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/react-native.csv +0 -0
  200. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/react.csv +0 -0
  201. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +0 -0
  202. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/svelte.csv +0 -0
  203. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +0 -0
  204. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/stacks/vue.csv +0 -0
  205. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/styles.csv +0 -0
  206. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/typography.csv +0 -0
  207. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/ui-reasoning.csv +0 -0
  208. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/ux-guidelines.csv +0 -0
  209. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/data/web-interface.csv +0 -0
  210. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
  211. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  212. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/scripts/core.py +0 -0
  213. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/scripts/design_system.py +0 -0
  214. /package/{.agent → template/.agent}/.shared/ui-ux-pro-max/scripts/search.py +0 -0
  215. /package/{.agent → template/.agent}/ARCHITECTURE.md +0 -0
  216. /package/{.agent → template/.agent}/mcp_config.json +0 -0
  217. /package/{.agent → template/.agent}/skills/nextjs-react-expert/9-cache-components.md +0 -0
  218. /package/{.agent → template/.agent}/skills/rust-pro/SKILL.md +0 -0
@@ -1,357 +0,0 @@
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.**