@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.
- package/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +487 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/ARCHITECTURE.md +225 -0
- package/.agent/agents/backend-specialist.md +263 -0
- package/.agent/agents/database-architect.md +226 -0
- package/.agent/agents/debugger.md +225 -0
- package/.agent/agents/devops-engineer.md +242 -0
- package/.agent/agents/documentation-writer.md +104 -0
- package/.agent/agents/explorer-agent.md +73 -0
- package/.agent/agents/frontend-specialist.md +527 -0
- package/.agent/agents/game-developer.md +162 -0
- package/.agent/agents/mobile-developer.md +1126 -0
- package/.agent/agents/orchestrator.md +400 -0
- package/.agent/agents/penetration-tester.md +188 -0
- package/.agent/agents/performance-optimizer.md +187 -0
- package/.agent/agents/project-planner.md +403 -0
- package/.agent/agents/security-auditor.md +170 -0
- package/.agent/agents/seo-specialist.md +111 -0
- package/.agent/agents/test-engineer.md +158 -0
- package/.agent/rules/GEMINI.md +252 -0
- package/.agent/skills/api-patterns/SKILL.md +81 -0
- package/.agent/skills/api-patterns/api-style.md +42 -0
- package/.agent/skills/api-patterns/auth.md +24 -0
- package/.agent/skills/api-patterns/documentation.md +26 -0
- package/.agent/skills/api-patterns/graphql.md +41 -0
- package/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/.agent/skills/api-patterns/response.md +37 -0
- package/.agent/skills/api-patterns/rest.md +40 -0
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agent/skills/api-patterns/security-testing.md +122 -0
- package/.agent/skills/api-patterns/trpc.md +41 -0
- package/.agent/skills/api-patterns/versioning.md +22 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +40 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/.agent/skills/architecture/SKILL.md +55 -0
- package/.agent/skills/architecture/context-discovery.md +43 -0
- package/.agent/skills/architecture/examples.md +94 -0
- package/.agent/skills/architecture/pattern-selection.md +68 -0
- package/.agent/skills/architecture/patterns-reference.md +50 -0
- package/.agent/skills/architecture/trade-off-analysis.md +77 -0
- package/.agent/skills/bash-linux/SKILL.md +199 -0
- package/.agent/skills/behavioral-modes/SKILL.md +242 -0
- package/.agent/skills/brainstorming/SKILL.md +163 -0
- package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
- package/.agent/skills/clean-code/SKILL.md +201 -0
- package/.agent/skills/code-review-checklist/SKILL.md +109 -0
- package/.agent/skills/database-design/SKILL.md +52 -0
- package/.agent/skills/database-design/database-selection.md +43 -0
- package/.agent/skills/database-design/indexing.md +39 -0
- package/.agent/skills/database-design/migrations.md +48 -0
- package/.agent/skills/database-design/optimization.md +36 -0
- package/.agent/skills/database-design/orm-selection.md +30 -0
- package/.agent/skills/database-design/schema-design.md +56 -0
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/.agent/skills/doc.md +177 -0
- package/.agent/skills/docker-expert/SKILL.md +409 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/.agent/skills/frontend-design/SKILL.md +396 -0
- package/.agent/skills/frontend-design/animation-guide.md +331 -0
- package/.agent/skills/frontend-design/color-system.md +311 -0
- package/.agent/skills/frontend-design/decision-trees.md +418 -0
- package/.agent/skills/frontend-design/motion-graphics.md +306 -0
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/.agent/skills/frontend-design/typography-system.md +345 -0
- package/.agent/skills/frontend-design/ux-psychology.md +541 -0
- package/.agent/skills/frontend-design/visual-effects.md +383 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agent/skills/i18n-localization/SKILL.md +154 -0
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agent/skills/lint-and-validate/SKILL.md +45 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agent/skills/mcp-builder/SKILL.md +176 -0
- package/.agent/skills/mobile-design/SKILL.md +937 -0
- package/.agent/skills/mobile-design/decision-trees.md +516 -0
- package/.agent/skills/mobile-design/mobile-backend.md +491 -0
- package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
- package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
- package/.agent/skills/mobile-design/mobile-design-thinking.md +598 -0
- package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
- package/.agent/skills/mobile-design/mobile-performance.md +1050 -0
- package/.agent/skills/mobile-design/mobile-testing.md +356 -0
- package/.agent/skills/mobile-design/mobile-typography.md +433 -0
- package/.agent/skills/mobile-design/platform-android.md +666 -0
- package/.agent/skills/mobile-design/platform-ios.md +561 -0
- package/.agent/skills/mobile-design/platform-kmp.md +770 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agent/skills/mobile-design/touch-psychology.md +537 -0
- package/.agent/skills/nestjs-expert/SKILL.md +552 -0
- package/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.agent/skills/parallel-agents/SKILL.md +175 -0
- package/.agent/skills/performance-profiling/SKILL.md +143 -0
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.agent/skills/plan-writing/SKILL.md +152 -0
- package/.agent/skills/powershell-windows/SKILL.md +167 -0
- package/.agent/skills/prisma-expert/SKILL.md +355 -0
- package/.agent/skills/python-patterns/SKILL.md +441 -0
- package/.agent/skills/react-patterns/SKILL.md +198 -0
- package/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/.agent/skills/server-management/SKILL.md +161 -0
- package/.agent/skills/systematic-debugging/SKILL.md +109 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
- package/.agent/skills/tdd-workflow/SKILL.md +149 -0
- package/.agent/skills/testing-patterns/SKILL.md +178 -0
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agent/skills/typescript-expert/SKILL.md +429 -0
- package/.agent/skills/typescript-expert/references/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
- package/.agent/skills/typescript-expert/references/utility-types.ts +335 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +351 -0
- package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +257 -0
- package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
- package/.agent/skills/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/.agent/skills/webapp-testing/SKILL.md +187 -0
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agent/workflows/brainstorm.md +113 -0
- package/.agent/workflows/create.md +59 -0
- package/.agent/workflows/debug.md +103 -0
- package/.agent/workflows/deploy.md +176 -0
- package/.agent/workflows/enhance.md +63 -0
- package/.agent/workflows/orchestrate.md +237 -0
- package/.agent/workflows/plan.md +89 -0
- package/.agent/workflows/preview.md +80 -0
- package/.agent/workflows/status.md +86 -0
- package/.agent/workflows/test.md +144 -0
- package/.agent/workflows/ui-ux-pro-max.md +231 -0
- package/LICENSE +21 -0
- package/README.md +120 -0
- package/bin/cli.js +81 -0
- 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.**
|