@jakkrichm/create-nexus-devflow 2.0.20 → 2.0.22

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 (258) hide show
  1. package/dist/bin/create-nexus-devflow.js +73 -59
  2. package/dist/bin/create-nexus-devflow.js.map +1 -1
  3. package/dist/lib/ui.d.ts +36 -0
  4. package/dist/lib/ui.js +115 -0
  5. package/dist/lib/ui.js.map +1 -0
  6. package/dist/lib/update.js +19 -8
  7. package/dist/lib/update.js.map +1 -1
  8. package/package.json +1 -1
  9. package/template/.agents/skills/00-discover/SKILL.md +28 -116
  10. package/template/.agents/skills/40-execute/SKILL.md +1 -1
  11. package/template/.agents/skills/50-verify/SKILL.md +28 -161
  12. package/template/.agents/skills/60-report/SKILL.md +19 -92
  13. package/template/.agents/skills/70-release/SKILL.md +36 -11
  14. package/template/.agents/skills/check/SKILL.md +19 -7
  15. package/template/.agents/skills/complete/SKILL.md +21 -10
  16. package/template/.claude/skills/00-discover/SKILL.md +28 -116
  17. package/template/.claude/skills/40-execute/SKILL.md +1 -1
  18. package/template/.claude/skills/50-verify/SKILL.md +28 -161
  19. package/template/.claude/skills/60-report/SKILL.md +19 -92
  20. package/template/.claude/skills/70-release/SKILL.md +36 -11
  21. package/template/.claude/skills/check/SKILL.md +19 -7
  22. package/template/.claude/skills/complete/SKILL.md +21 -10
  23. package/template/AGENTS.md +1 -1
  24. package/template/devflow/context/coding-standards.md +40 -29
  25. package/template/.agents/skills/agent/SKILL.md +0 -165
  26. package/template/.agents/skills/api-and-interface-design/SKILL.md +0 -294
  27. package/template/.agents/skills/app-builder/SKILL.md +0 -75
  28. package/template/.agents/skills/app-builder/agent-coordination.md +0 -71
  29. package/template/.agents/skills/app-builder/feature-building.md +0 -53
  30. package/template/.agents/skills/app-builder/project-detection.md +0 -34
  31. package/template/.agents/skills/app-builder/scaffolding.md +0 -118
  32. package/template/.agents/skills/app-builder/tech-stack.md +0 -40
  33. package/template/.agents/skills/app-builder/templates/SKILL.md +0 -39
  34. package/template/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  35. package/template/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  36. package/template/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  37. package/template/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  38. package/template/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  39. package/template/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  40. package/template/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  41. package/template/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
  42. package/template/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
  43. package/template/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
  44. package/template/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
  45. package/template/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  46. package/template/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
  47. package/template/.agents/skills/architecture/SKILL.md +0 -55
  48. package/template/.agents/skills/architecture/context-discovery.md +0 -43
  49. package/template/.agents/skills/architecture/examples.md +0 -94
  50. package/template/.agents/skills/architecture/pattern-selection.md +0 -68
  51. package/template/.agents/skills/architecture/patterns-reference.md +0 -50
  52. package/template/.agents/skills/architecture/trade-off-analysis.md +0 -77
  53. package/template/.agents/skills/bash-linux/SKILL.md +0 -199
  54. package/template/.agents/skills/behavioral-modes/SKILL.md +0 -242
  55. package/template/.agents/skills/brainstorm/SKILL.md +0 -168
  56. package/template/.agents/skills/changelog/SKILL.md +0 -109
  57. package/template/.agents/skills/codebase-design/DEEPENING.md +0 -24
  58. package/template/.agents/skills/codebase-design/DESIGN-IT-TWICE.md +0 -28
  59. package/template/.agents/skills/codebase-design/SKILL.md +0 -58
  60. package/template/.agents/skills/commit/SKILL.md +0 -59
  61. package/template/.agents/skills/competitor-analysis/SKILL.md +0 -66
  62. package/template/.agents/skills/context-engineering/SKILL.md +0 -290
  63. package/template/.agents/skills/database-design/SKILL.md +0 -52
  64. package/template/.agents/skills/database-design/database-selection.md +0 -43
  65. package/template/.agents/skills/database-design/indexing.md +0 -39
  66. package/template/.agents/skills/database-design/migrations.md +0 -48
  67. package/template/.agents/skills/database-design/optimization.md +0 -36
  68. package/template/.agents/skills/database-design/orm-selection.md +0 -30
  69. package/template/.agents/skills/database-design/schema-design.md +0 -56
  70. package/template/.agents/skills/database-design/scripts/schema_validator.py +0 -172
  71. package/template/.agents/skills/deploy/SKILL.md +0 -63
  72. package/template/.agents/skills/documentation-and-adrs/SKILL.md +0 -278
  73. package/template/.agents/skills/domain-modeling/ADR-FORMAT.md +0 -47
  74. package/template/.agents/skills/domain-modeling/CONTEXT-FORMAT.md +0 -60
  75. package/template/.agents/skills/domain-modeling/SKILL.md +0 -74
  76. package/template/.agents/skills/followup/SKILL.md +0 -83
  77. package/template/.agents/skills/frontend-ui-engineering/SKILL.md +0 -326
  78. package/template/.agents/skills/frontend-ui-engineering/accessibility-checklist.md +0 -159
  79. package/template/.agents/skills/goal/SKILL.md +0 -148
  80. package/template/.agents/skills/handoff/SKILL.md +0 -46
  81. package/template/.agents/skills/help/SKILL.md +0 -253
  82. package/template/.agents/skills/i18n-localization/SKILL.md +0 -154
  83. package/template/.agents/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  84. package/template/.agents/skills/insight/SKILL.md +0 -42
  85. package/template/.agents/skills/issue-triage/SKILL.md +0 -115
  86. package/template/.agents/skills/lint-and-validate/SKILL.md +0 -45
  87. package/template/.agents/skills/lint-and-validate/scripts/lint_runner.py +0 -184
  88. package/template/.agents/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  89. package/template/.agents/skills/mcp-builder/SKILL.md +0 -176
  90. package/template/.agents/skills/merge/SKILL.md +0 -76
  91. package/template/.agents/skills/mobile-design/SKILL.md +0 -394
  92. package/template/.agents/skills/mobile-design/decision-trees.md +0 -516
  93. package/template/.agents/skills/mobile-design/mobile-backend.md +0 -491
  94. package/template/.agents/skills/mobile-design/mobile-color-system.md +0 -420
  95. package/template/.agents/skills/mobile-design/mobile-debugging.md +0 -122
  96. package/template/.agents/skills/mobile-design/mobile-design-thinking.md +0 -357
  97. package/template/.agents/skills/mobile-design/mobile-navigation.md +0 -458
  98. package/template/.agents/skills/mobile-design/mobile-performance.md +0 -767
  99. package/template/.agents/skills/mobile-design/mobile-testing.md +0 -356
  100. package/template/.agents/skills/mobile-design/mobile-typography.md +0 -433
  101. package/template/.agents/skills/mobile-design/platform-android.md +0 -666
  102. package/template/.agents/skills/mobile-design/platform-ios.md +0 -561
  103. package/template/.agents/skills/mobile-design/scripts/mobile_audit.py +0 -670
  104. package/template/.agents/skills/mobile-design/touch-psychology.md +0 -537
  105. package/template/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  106. package/template/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  107. package/template/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  108. package/template/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  109. package/template/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  110. package/template/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  111. package/template/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  112. package/template/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  113. package/template/.agents/skills/nextjs-react-expert/SKILL.md +0 -286
  114. package/template/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  115. package/template/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  116. package/template/.agents/skills/nodejs-best-practices/SKILL.md +0 -333
  117. package/template/.agents/skills/package-json-generator/SKILL.md +0 -60
  118. package/template/.agents/skills/package-json-generator/scripts/generate.js +0 -120
  119. package/template/.agents/skills/package-json-generator/scripts/run.sh +0 -19
  120. package/template/.agents/skills/parallel-agents/SKILL.md +0 -144
  121. package/template/.agents/skills/performance-optimization/SKILL.md +0 -299
  122. package/template/.agents/skills/performance-optimization/performance-checklist.md +0 -113
  123. package/template/.agents/skills/powershell-windows/SKILL.md +0 -167
  124. package/template/.agents/skills/pr/SKILL.md +0 -93
  125. package/template/.agents/skills/prd/SKILL.md +0 -127
  126. package/template/.agents/skills/preview/SKILL.md +0 -42
  127. package/template/.agents/skills/python-patterns/SKILL.md +0 -441
  128. package/template/.agents/skills/research/SKILL.md +0 -143
  129. package/template/.agents/skills/review/SKILL.md +0 -71
  130. package/template/.agents/skills/roadmap-strategy/SKILL.md +0 -94
  131. package/template/.agents/skills/security-review/SKILL.md +0 -63
  132. package/template/.agents/skills/seo-fundamentals/SKILL.md +0 -129
  133. package/template/.agents/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  134. package/template/.agents/skills/server-management/SKILL.md +0 -161
  135. package/template/.agents/skills/simplify/SKILL.md +0 -70
  136. package/template/.agents/skills/skill-development/SKILL.md +0 -86
  137. package/template/.agents/skills/spec/SKILL.md +0 -39
  138. package/template/.agents/skills/spec-driven-development/SKILL.md +0 -207
  139. package/template/.agents/skills/tailwind-patterns/SKILL.md +0 -269
  140. package/template/.agents/skills/type-design/SKILL.md +0 -84
  141. package/template/.agents/skills/ui-ux-pro-max/SKILL.md +0 -75
  142. package/template/.claude/skills/agent/SKILL.md +0 -165
  143. package/template/.claude/skills/api-and-interface-design/SKILL.md +0 -294
  144. package/template/.claude/skills/app-builder/SKILL.md +0 -75
  145. package/template/.claude/skills/app-builder/agent-coordination.md +0 -71
  146. package/template/.claude/skills/app-builder/feature-building.md +0 -53
  147. package/template/.claude/skills/app-builder/project-detection.md +0 -34
  148. package/template/.claude/skills/app-builder/scaffolding.md +0 -118
  149. package/template/.claude/skills/app-builder/tech-stack.md +0 -40
  150. package/template/.claude/skills/app-builder/templates/SKILL.md +0 -39
  151. package/template/.claude/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  152. package/template/.claude/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  153. package/template/.claude/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  154. package/template/.claude/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  155. package/template/.claude/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  156. package/template/.claude/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  157. package/template/.claude/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  158. package/template/.claude/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
  159. package/template/.claude/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
  160. package/template/.claude/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
  161. package/template/.claude/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
  162. package/template/.claude/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  163. package/template/.claude/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
  164. package/template/.claude/skills/architecture/SKILL.md +0 -55
  165. package/template/.claude/skills/architecture/context-discovery.md +0 -43
  166. package/template/.claude/skills/architecture/examples.md +0 -94
  167. package/template/.claude/skills/architecture/pattern-selection.md +0 -68
  168. package/template/.claude/skills/architecture/patterns-reference.md +0 -50
  169. package/template/.claude/skills/architecture/trade-off-analysis.md +0 -77
  170. package/template/.claude/skills/bash-linux/SKILL.md +0 -199
  171. package/template/.claude/skills/behavioral-modes/SKILL.md +0 -242
  172. package/template/.claude/skills/brainstorm/SKILL.md +0 -168
  173. package/template/.claude/skills/changelog/SKILL.md +0 -109
  174. package/template/.claude/skills/codebase-design/DEEPENING.md +0 -24
  175. package/template/.claude/skills/codebase-design/DESIGN-IT-TWICE.md +0 -28
  176. package/template/.claude/skills/codebase-design/SKILL.md +0 -58
  177. package/template/.claude/skills/commit/SKILL.md +0 -59
  178. package/template/.claude/skills/competitor-analysis/SKILL.md +0 -66
  179. package/template/.claude/skills/context-engineering/SKILL.md +0 -290
  180. package/template/.claude/skills/database-design/SKILL.md +0 -52
  181. package/template/.claude/skills/database-design/database-selection.md +0 -43
  182. package/template/.claude/skills/database-design/indexing.md +0 -39
  183. package/template/.claude/skills/database-design/migrations.md +0 -48
  184. package/template/.claude/skills/database-design/optimization.md +0 -36
  185. package/template/.claude/skills/database-design/orm-selection.md +0 -30
  186. package/template/.claude/skills/database-design/schema-design.md +0 -56
  187. package/template/.claude/skills/database-design/scripts/schema_validator.py +0 -172
  188. package/template/.claude/skills/deploy/SKILL.md +0 -63
  189. package/template/.claude/skills/documentation-and-adrs/SKILL.md +0 -278
  190. package/template/.claude/skills/domain-modeling/ADR-FORMAT.md +0 -47
  191. package/template/.claude/skills/domain-modeling/CONTEXT-FORMAT.md +0 -60
  192. package/template/.claude/skills/domain-modeling/SKILL.md +0 -74
  193. package/template/.claude/skills/followup/SKILL.md +0 -83
  194. package/template/.claude/skills/frontend-ui-engineering/SKILL.md +0 -326
  195. package/template/.claude/skills/frontend-ui-engineering/accessibility-checklist.md +0 -159
  196. package/template/.claude/skills/goal/SKILL.md +0 -148
  197. package/template/.claude/skills/handoff/SKILL.md +0 -46
  198. package/template/.claude/skills/help/SKILL.md +0 -253
  199. package/template/.claude/skills/i18n-localization/SKILL.md +0 -154
  200. package/template/.claude/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  201. package/template/.claude/skills/insight/SKILL.md +0 -42
  202. package/template/.claude/skills/issue-triage/SKILL.md +0 -115
  203. package/template/.claude/skills/lint-and-validate/SKILL.md +0 -45
  204. package/template/.claude/skills/lint-and-validate/scripts/lint_runner.py +0 -184
  205. package/template/.claude/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  206. package/template/.claude/skills/mcp-builder/SKILL.md +0 -176
  207. package/template/.claude/skills/merge/SKILL.md +0 -76
  208. package/template/.claude/skills/mobile-design/SKILL.md +0 -394
  209. package/template/.claude/skills/mobile-design/decision-trees.md +0 -516
  210. package/template/.claude/skills/mobile-design/mobile-backend.md +0 -491
  211. package/template/.claude/skills/mobile-design/mobile-color-system.md +0 -420
  212. package/template/.claude/skills/mobile-design/mobile-debugging.md +0 -122
  213. package/template/.claude/skills/mobile-design/mobile-design-thinking.md +0 -357
  214. package/template/.claude/skills/mobile-design/mobile-navigation.md +0 -458
  215. package/template/.claude/skills/mobile-design/mobile-performance.md +0 -767
  216. package/template/.claude/skills/mobile-design/mobile-testing.md +0 -356
  217. package/template/.claude/skills/mobile-design/mobile-typography.md +0 -433
  218. package/template/.claude/skills/mobile-design/platform-android.md +0 -666
  219. package/template/.claude/skills/mobile-design/platform-ios.md +0 -561
  220. package/template/.claude/skills/mobile-design/scripts/mobile_audit.py +0 -670
  221. package/template/.claude/skills/mobile-design/touch-psychology.md +0 -537
  222. package/template/.claude/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  223. package/template/.claude/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  224. package/template/.claude/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  225. package/template/.claude/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  226. package/template/.claude/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  227. package/template/.claude/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  228. package/template/.claude/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  229. package/template/.claude/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  230. package/template/.claude/skills/nextjs-react-expert/SKILL.md +0 -286
  231. package/template/.claude/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  232. package/template/.claude/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  233. package/template/.claude/skills/nodejs-best-practices/SKILL.md +0 -333
  234. package/template/.claude/skills/package-json-generator/SKILL.md +0 -60
  235. package/template/.claude/skills/package-json-generator/scripts/generate.js +0 -120
  236. package/template/.claude/skills/package-json-generator/scripts/run.sh +0 -19
  237. package/template/.claude/skills/parallel-agents/SKILL.md +0 -144
  238. package/template/.claude/skills/performance-optimization/SKILL.md +0 -299
  239. package/template/.claude/skills/performance-optimization/performance-checklist.md +0 -113
  240. package/template/.claude/skills/powershell-windows/SKILL.md +0 -167
  241. package/template/.claude/skills/pr/SKILL.md +0 -93
  242. package/template/.claude/skills/prd/SKILL.md +0 -127
  243. package/template/.claude/skills/preview/SKILL.md +0 -42
  244. package/template/.claude/skills/python-patterns/SKILL.md +0 -441
  245. package/template/.claude/skills/research/SKILL.md +0 -143
  246. package/template/.claude/skills/review/SKILL.md +0 -71
  247. package/template/.claude/skills/roadmap-strategy/SKILL.md +0 -94
  248. package/template/.claude/skills/security-review/SKILL.md +0 -63
  249. package/template/.claude/skills/seo-fundamentals/SKILL.md +0 -129
  250. package/template/.claude/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  251. package/template/.claude/skills/server-management/SKILL.md +0 -161
  252. package/template/.claude/skills/simplify/SKILL.md +0 -70
  253. package/template/.claude/skills/skill-development/SKILL.md +0 -86
  254. package/template/.claude/skills/spec/SKILL.md +0 -39
  255. package/template/.claude/skills/spec-driven-development/SKILL.md +0 -207
  256. package/template/.claude/skills/tailwind-patterns/SKILL.md +0 -269
  257. package/template/.claude/skills/type-design/SKILL.md +0 -84
  258. package/template/.claude/skills/ui-ux-pro-max/SKILL.md +0 -75
@@ -1,666 +0,0 @@
1
- # Android Platform Guidelines
2
-
3
- > Material Design 3 essentials, Android design conventions, Roboto typography, and native patterns.
4
- > **Read this file when building for Android devices.**
5
-
6
- ---
7
-
8
- ## 1. Material Design 3 Philosophy
9
-
10
- ### Core Material Principles
11
-
12
- ```
13
- MATERIAL AS METAPHOR:
14
- ├── Surfaces exist in 3D space
15
- ├── Light and shadow define hierarchy
16
- ├── Motion provides continuity
17
- └── Bold, graphic, intentional design
18
-
19
- ADAPTIVE DESIGN:
20
- ├── Responds to device capabilities
21
- ├── One UI for all form factors
22
- ├── Dynamic color from wallpaper
23
- └── Personalized per user
24
-
25
- ACCESSIBLE BY DEFAULT:
26
- ├── Large touch targets
27
- ├── Clear visual hierarchy
28
- ├── Semantic colors
29
- └── Motion respects preferences
30
- ```
31
-
32
- ### Material Design Values
33
-
34
- | Value | Implementation |
35
- |-------|----------------|
36
- | **Dynamic Color** | Colors adapt to wallpaper/user preference |
37
- | **Personalization** | User-specific themes |
38
- | **Accessibility** | Built into every component |
39
- | **Responsiveness** | Works on all screen sizes |
40
- | **Consistency** | Unified design language |
41
-
42
- ---
43
-
44
- ## 2. Android Typography
45
-
46
- ### Roboto Font Family
47
-
48
- ```
49
- Android System Fonts:
50
- ├── Roboto: Default sans-serif
51
- ├── Roboto Flex: Variable font (API 33+)
52
- ├── Roboto Serif: Serif alternative
53
- ├── Roboto Mono: Monospace
54
- └── Google Sans: Google products (special license)
55
- ```
56
-
57
- ### Material Type Scale
58
-
59
- | Role | Size | Weight | Line Height | Usage |
60
- |------|------|--------|-------------|-------|
61
- | **Display Large** | 57sp | Regular | 64sp | Hero text, splash |
62
- | **Display Medium** | 45sp | Regular | 52sp | Large headers |
63
- | **Display Small** | 36sp | Regular | 44sp | Medium headers |
64
- | **Headline Large** | 32sp | Regular | 40sp | Page titles |
65
- | **Headline Medium** | 28sp | Regular | 36sp | Section headers |
66
- | **Headline Small** | 24sp | Regular | 32sp | Subsections |
67
- | **Title Large** | 22sp | Regular | 28sp | Dialogs, cards |
68
- | **Title Medium** | 16sp | Medium | 24sp | Lists, navigation |
69
- | **Title Small** | 14sp | Medium | 20sp | Tabs, secondary |
70
- | **Body Large** | 16sp | Regular | 24sp | Primary content |
71
- | **Body Medium** | 14sp | Regular | 20sp | Secondary content |
72
- | **Body Small** | 12sp | Regular | 16sp | Captions |
73
- | **Label Large** | 14sp | Medium | 20sp | Buttons, FAB |
74
- | **Label Medium** | 12sp | Medium | 16sp | Navigation |
75
- | **Label Small** | 11sp | Medium | 16sp | Chips, badges |
76
-
77
- ### Scalable Pixels (sp)
78
-
79
- ```
80
- sp = Scale-independent pixels
81
-
82
- sp automatically scales with:
83
- ├── User font size preference
84
- ├── Display density
85
- └── Accessibility settings
86
-
87
- RULE: ALWAYS use sp for text, dp for everything else.
88
- ```
89
-
90
- ### Font Weight Usage
91
-
92
- | Weight | Use Case |
93
- |--------|----------|
94
- | Regular (400) | Body text, display |
95
- | Medium (500) | Buttons, labels, emphasis |
96
- | Bold (700) | Rarely, strong emphasis only |
97
-
98
- ---
99
-
100
- ## 3. Material Color System
101
-
102
- ### Dynamic Color (Material You)
103
-
104
- ```
105
- Android 12+ Dynamic Color:
106
-
107
- User's wallpaper → Color extraction → App theme
108
-
109
- Your app automatically adapts to:
110
- ├── Primary color (from wallpaper)
111
- ├── Secondary color (complementary)
112
- ├── Tertiary color (accent)
113
- ├── Surface colors (derived)
114
- └── All semantic colors adjust
115
-
116
- RULE: Implement dynamic color for personalized feel.
117
- ```
118
-
119
- ### Semantic Color Roles
120
-
121
- ```
122
- Surface Colors:
123
- ├── Surface → Main background
124
- ├── SurfaceVariant → Cards, containers
125
- ├── SurfaceTint → Elevation overlay
126
- ├── InverseSurface → Snackbars, tooltips
127
-
128
- On-Surface Colors:
129
- ├── OnSurface → Primary text
130
- ├── OnSurfaceVariant → Secondary text
131
- ├── Outline → Borders, dividers
132
- ├── OutlineVariant → Subtle dividers
133
-
134
- Primary Colors:
135
- ├── Primary → Key actions, FAB
136
- ├── OnPrimary → Text on primary
137
- ├── PrimaryContainer → Less emphasis
138
- ├── OnPrimaryContainer → Text on container
139
-
140
- Secondary/Tertiary: Similar pattern
141
- ```
142
-
143
- ### Error, Warning, Success Colors
144
-
145
- | Role | Light | Dark | Usage |
146
- |------|-------|------|-------|
147
- | Error | #B3261E | #F2B8B5 | Errors, destructive |
148
- | OnError | #FFFFFF | #601410 | Text on error |
149
- | ErrorContainer | #F9DEDC | #8C1D18 | Error backgrounds |
150
-
151
- ### Dark Theme
152
-
153
- ```
154
- Material Dark Theme:
155
-
156
- ├── Background: #121212 (not pure black by default)
157
- ├── Surface: #1E1E1E, #232323, etc. (elevation)
158
- ├── Elevation: Higher = lighter overlay
159
- ├── Reduce saturation on colors
160
- └── Check contrast ratios
161
-
162
- Elevation overlays (dark mode):
163
- ├── 0dp → 0% overlay
164
- ├── 1dp → 5% overlay
165
- ├── 3dp → 8% overlay
166
- ├── 6dp → 11% overlay
167
- ├── 8dp → 12% overlay
168
- ├── 12dp → 14% overlay
169
- ```
170
-
171
- ---
172
-
173
- ## 4. Android Layout & Spacing
174
-
175
- ### Layout Grid
176
-
177
- ```
178
- Android uses 8dp baseline grid:
179
-
180
- All spacing in multiples of 8dp:
181
- ├── 4dp: Component internal (half-step)
182
- ├── 8dp: Minimum spacing
183
- ├── 16dp: Standard spacing
184
- ├── 24dp: Section spacing
185
- ├── 32dp: Large spacing
186
-
187
- Margins:
188
- ├── Compact (phone): 16dp
189
- ├── Medium (small tablet): 24dp
190
- ├── Expanded (large): 24dp+ or columns
191
- ```
192
-
193
- ### Responsive Layout
194
-
195
- ```
196
- Window Size Classes:
197
-
198
- COMPACT (< 600dp width):
199
- ├── Phones in portrait
200
- ├── Single column layout
201
- ├── Bottom navigation
202
-
203
- MEDIUM (600-840dp width):
204
- ├── Tablets, foldables
205
- ├── Consider 2 columns
206
- ├── Navigation rail option
207
-
208
- EXPANDED (> 840dp width):
209
- ├── Large tablets, desktop
210
- ├── Multi-column layouts
211
- ├── Navigation drawer
212
- ```
213
-
214
- ### Canonical Layouts
215
-
216
- | Layout | Use Case | Window Class |
217
- |--------|----------|--------------|
218
- | **List-Detail** | Email, messages | Medium, Expanded |
219
- | **Feed** | Social, news | All |
220
- | **Supporting Pane** | Reference content | Medium, Expanded |
221
-
222
- ---
223
-
224
- ## 5. Android Navigation Patterns
225
-
226
- ### Navigation Components
227
-
228
- | Component | Use Case | Position |
229
- |-----------|----------|----------|
230
- | **Bottom Navigation** | 3-5 top-level destinations | Bottom |
231
- | **Navigation Rail** | Tablets, foldables | Left side, vertical |
232
- | **Navigation Drawer** | Many destinations, large screens | Left side, hidden/visible |
233
- | **Top App Bar** | Current context, actions | Top |
234
-
235
- ### Bottom Navigation
236
-
237
- ```
238
- ┌─────────────────────────────────────┐
239
- │ │
240
- │ Content Area │
241
- │ │
242
- ├─────────────────────────────────────┤
243
- │ 🏠 🔍 ➕ ❤️ 👤 │ ← 80dp height
244
- │ Home Search FAB Saved Profile│
245
- └─────────────────────────────────────┘
246
-
247
- Rules:
248
- ├── 3-5 destinations
249
- ├── Icons: Material Symbols (24dp)
250
- ├── Labels: Always visible (accessibility)
251
- ├── Active: Filled icon + indicator pill
252
- ├── Badge: For notifications
253
- ├── FAB can integrate (optional)
254
- ```
255
-
256
- ### Top App Bar
257
-
258
- ```
259
- Types:
260
- ├── Center-aligned: Logo apps, simple
261
- ├── Small: Compact, scrolls away
262
- ├── Medium: Title + actions, collapses
263
- ├── Large: Display title, collapses to small
264
-
265
- ┌─────────────────────────────────────┐
266
- │ ☰ App Title 🔔 ⋮ │ ← 64dp (small)
267
- ├─────────────────────────────────────┤
268
- │ │
269
- │ Content Area │
270
- └─────────────────────────────────────┘
271
-
272
- Actions: Max 3 icons, overflow menu ( ⋮ ) for more
273
- ```
274
-
275
- ### Navigation Rail (Tablets)
276
-
277
- ```
278
- ┌───────┬─────────────────────────────┐
279
- │ ≡ │ │
280
- │ │ │
281
- │ 🏠 │ │
282
- │ Home │ Content Area │
283
- │ │ │
284
- │ 🔍 │ │
285
- │Search │ │
286
- │ │ │
287
- │ 👤 │ │
288
- │Profile│ │
289
- └───────┴─────────────────────────────┘
290
-
291
- Width: 80dp
292
- Icons: 24dp
293
- Labels: Below icon
294
- FAB: Can be at top
295
- ```
296
-
297
- ### Back Navigation
298
-
299
- ```
300
- Android provides system back:
301
- ├── Back button (3-button nav)
302
- ├── Back gesture (swipe from edge)
303
- ├── Predictive back (Android 14+)
304
-
305
- Your app must:
306
- ├── Handle back correctly (pop stack)
307
- ├── Support predictive back animation
308
- ├── Never hijack/override back unexpectedly
309
- └── Confirm before discarding unsaved work
310
- ```
311
-
312
- ---
313
-
314
- ## 6. Material Components
315
-
316
- ### Buttons
317
-
318
- ```
319
- Button Types:
320
-
321
- ┌──────────────────────┐
322
- │ Filled Button │ ← Primary action
323
- └──────────────────────┘
324
-
325
- ┌──────────────────────┐
326
- │ Tonal Button │ ← Secondary, less emphasis
327
- └──────────────────────┘
328
-
329
- ┌──────────────────────┐
330
- │ Outlined Button │ ← Tertiary, lower emphasis
331
- └──────────────────────┘
332
-
333
- Text Button ← Lowest emphasis
334
-
335
- Heights:
336
- ├── Small: 40dp (when constrained)
337
- ├── Standard: 40dp
338
- ├── Large: 56dp (FAB size when needed)
339
-
340
- Min touch target: 48dp (even if visual is smaller)
341
- ```
342
-
343
- ### Floating Action Button (FAB)
344
-
345
- ```
346
- FAB Types:
347
- ├── Standard: 56dp diameter
348
- ├── Small: 40dp diameter
349
- ├── Large: 96dp diameter
350
- ├── Extended: Icon + text, variable width
351
-
352
- Position: Bottom right, 16dp from edges
353
- Elevation: Floats above content
354
-
355
- ┌─────────────────────────────────────┐
356
- │ │
357
- │ Content │
358
- │ │
359
- │ ┌────┐ │
360
- │ │ ➕ │ │ ← FAB
361
- │ └────┘ │
362
- ├─────────────────────────────────────┤
363
- │ Bottom Navigation │
364
- └─────────────────────────────────────┘
365
- ```
366
-
367
- ### Cards
368
-
369
- ```
370
- Card Types:
371
- ├── Elevated: Shadow, resting state
372
- ├── Filled: Background color, no shadow
373
- ├── Outlined: Border, no shadow
374
-
375
- Card Anatomy:
376
- ┌─────────────────────────────────────┐
377
- │ Header Image │ ← Optional
378
- ├─────────────────────────────────────┤
379
- │ Title / Headline │
380
- │ Subhead / Supporting text │
381
- ├─────────────────────────────────────┤
382
- │ [ Action ] [ Action ] │ ← Optional actions
383
- └─────────────────────────────────────┘
384
-
385
- Corner radius: 12dp (M3 default)
386
- Padding: 16dp
387
- ```
388
-
389
- ### Text Fields
390
-
391
- ```
392
- Types:
393
- ├── Filled: Background fill, underline
394
- ├── Outlined: Border all around
395
-
396
- ┌─────────────────────────────────────┐
397
- │ Label │ ← Floats up on focus
398
- │ ________________________________________________
399
- │ │ Input text here... │ ← Leading/trailing icons
400
- │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
401
- │ Supporting text or error │
402
- └─────────────────────────────────────┘
403
-
404
- Height: 56dp
405
- Label: Animates from placeholder to top
406
- Error: Red color + icon + message
407
- ```
408
-
409
- ### Chips
410
-
411
- ```
412
- Types:
413
- ├── Assist: Smart actions (directions, call)
414
- ├── Filter: Toggle filters
415
- ├── Input: Represent entities (tags, contacts)
416
- ├── Suggestion: Dynamic recommendations
417
-
418
- ┌───────────────┐
419
- │ 🏷️ Filter │ ← 32dp height, 8dp corner radius
420
- └───────────────┘
421
-
422
- States: Unselected, Selected, Disabled
423
- ```
424
-
425
- ---
426
-
427
- ## 7. Android-Specific Patterns
428
-
429
- ### Snackbars
430
-
431
- ```
432
- Position: Bottom, above navigation
433
- Duration: 4-10 seconds
434
- Action: One optional text action
435
-
436
- ┌─────────────────────────────────────────────────┐
437
- │ Archived 1 item [ UNDO ] │
438
- └─────────────────────────────────────────────────┘
439
-
440
- Rules:
441
- ├── Brief message, single line if possible
442
- ├── Max 2 lines
443
- ├── One action (text, not icon)
444
- ├── Can be dismissed by swipe
445
- └── Don't stack, queue them
446
- ```
447
-
448
- ### Bottom Sheets
449
-
450
- ```
451
- Types:
452
- ├── Standard: Interactive content
453
- ├── Modal: Blocks background (with scrim)
454
-
455
- Modal Bottom Sheet:
456
- ┌─────────────────────────────────────┐
457
- │ │
458
- │ (Scrim over content) │
459
- │ │
460
- ├═════════════════════════════════════┤
461
- │ ───── (Drag handle, optional) │
462
- │ │
463
- │ Sheet Content │
464
- │ │
465
- │ Actions / Options │
466
- │ │
467
- └─────────────────────────────────────┘
468
-
469
- Corner radius: 28dp (top corners)
470
- ```
471
-
472
- ### Dialogs
473
-
474
- ```
475
- Types:
476
- ├── Basic: Title + content + actions
477
- ├── Full-screen: Complex editing (mobile)
478
- ├── Date/Time picker
479
- ├── Confirmation dialog
480
-
481
- ┌─────────────────────────────────────┐
482
- │ Title │
483
- │ │
484
- │ Supporting text that │
485
- │ explains the dialog │
486
- │ │
487
- │ [ Cancel ] [ Confirm ] │
488
- └─────────────────────────────────────┘
489
-
490
- Rules:
491
- ├── Centered on screen
492
- ├── Scrim behind (dim background)
493
- ├── Max 2 actions aligned right
494
- ├── Destructive action can be on left
495
- ```
496
-
497
- ### Pull to Refresh
498
-
499
- ```
500
- Android uses SwipeRefreshLayout pattern:
501
-
502
- ┌─────────────────────────────────────┐
503
- │ ○ (Spinner) │ ← Circular progress
504
- ├─────────────────────────────────────┤
505
- │ │
506
- │ Content │
507
- │ │
508
- └─────────────────────────────────────┘
509
-
510
- Spinner: Material circular indicator
511
- Position: Top center, pulls down with content
512
- ```
513
-
514
- ### Ripple Effect
515
-
516
- ```
517
- Every touchable element needs ripple:
518
-
519
- Touch down → Ripple expands from touch point
520
- Touch up → Ripple completes and fades
521
-
522
- Color:
523
- ├── On light: Black at ~12% opacity
524
- ├── On dark: White at ~12% opacity
525
- ├── On colored: Appropriate contrast
526
-
527
- This is MANDATORY for Android feel.
528
- ```
529
-
530
- ---
531
-
532
- ## 8. Material Symbols
533
-
534
- ### Usage Guidelines
535
-
536
- ```
537
- Material Symbols: Google's icon library
538
-
539
- Styles:
540
- ├── Outlined: Default, most common
541
- ├── Rounded: Softer, friendly
542
- ├── Sharp: Angular, precise
543
-
544
- Variable font axes:
545
- ├── FILL: 0 (outline) to 1 (filled)
546
- ├── wght: 100-700 (weight)
547
- ├── GRAD: -25 to 200 (emphasis)
548
- ├── opsz: 20, 24, 40, 48 (optical size)
549
- ```
550
-
551
- ### Icon Sizes
552
-
553
- | Size | Usage |
554
- |------|-------|
555
- | 20dp | Dense UI, inline |
556
- | 24dp | Standard (most common) |
557
- | 40dp | Larger touch targets |
558
- | 48dp | Emphasis, standalone |
559
-
560
- ### States
561
-
562
- ```
563
- Icon States:
564
- ├── Default: Full opacity
565
- ├── Disabled: 38% opacity
566
- ├── Hover/Focus: Container highlight
567
- ├── Selected: Filled variant + tint
568
-
569
- Active vs Inactive:
570
- ├── Inactive: Outlined
571
- ├── Active: Filled + indicator
572
- ```
573
-
574
- ---
575
-
576
- ## 9. Android Accessibility
577
-
578
- ### TalkBack Requirements
579
-
580
- ```
581
- Every interactive element needs:
582
- ├── contentDescription (what it is)
583
- ├── Correct semantics (button, checkbox, etc.)
584
- ├── State announcements (selected, disabled)
585
- └── Grouping where logical
586
-
587
- Jetpack Compose:
588
- Modifier.semantics {
589
- contentDescription = "Play button"
590
- role = Role.Button
591
- }
592
-
593
- React Native:
594
- accessibilityLabel="Play button"
595
- accessibilityRole="button"
596
- accessibilityState={{ disabled: false }}
597
- ```
598
-
599
- ### Touch Target Size
600
-
601
- ```
602
- MANDATORY: 48dp × 48dp minimum
603
-
604
- Even if visual element is smaller:
605
- ├── Icon: 24dp visual, 48dp touch area
606
- ├── Checkbox: 20dp visual, 48dp touch area
607
- └── Add padding to reach 48dp
608
-
609
- Spacing between targets: 8dp minimum
610
- ```
611
-
612
- ### Font Scaling
613
-
614
- ```
615
- Android supports font scaling:
616
- ├── 85% (smaller)
617
- ├── 100% (default)
618
- ├── 115%, 130%, 145%...
619
- ├── Up to 200% (largest)
620
-
621
- RULE: Test your UI at 200% font scale.
622
- Use sp units and avoid fixed heights.
623
- ```
624
-
625
- ### Reduce Motion
626
-
627
- ```kotlin
628
- // Check motion preference
629
- val reduceMotion = Settings.Global.getFloat(
630
- contentResolver,
631
- Settings.Global.ANIMATOR_DURATION_SCALE,
632
- 1f
633
- ) == 0f
634
-
635
- if (reduceMotion) {
636
- // Skip or reduce animations
637
- }
638
- ```
639
-
640
- ---
641
-
642
- ## 10. Android Checklist
643
-
644
- ### Before Every Android Screen
645
-
646
- - [ ] Using Material 3 components
647
- - [ ] Touch targets ≥ 48dp
648
- - [ ] Ripple effect on all touchables
649
- - [ ] Roboto or Material type scale
650
- - [ ] Semantic colors (dynamic color support)
651
- - [ ] Back navigation works correctly
652
-
653
- ### Before Android Release
654
-
655
- - [ ] Dark theme tested
656
- - [ ] Dynamic color tested (if supported)
657
- - [ ] All font sizes tested (200% scale)
658
- - [ ] TalkBack tested
659
- - [ ] Predictive back implemented (Android 14+)
660
- - [ ] Edge-to-edge display (Android 15+)
661
- - [ ] Different screen sizes tested (phones, tablets)
662
- - [ ] Navigation patterns match platform (back, gestures)
663
-
664
- ---
665
-
666
- > **Remember:** Android users expect Material Design. Custom designs that ignore Material patterns feel foreign and broken. Use Material components as your foundation, customize thoughtfully.