@jakkrichm/create-nexus-devflow 2.0.0 → 2.0.2

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 (398) hide show
  1. package/README.md +96 -50
  2. package/package.json +1 -1
  3. package/template/.agents/skills/20-spec/SKILL.md +136 -136
  4. package/template/.agents/skills/30-plan/SKILL.md +206 -206
  5. package/template/.agents/skills/40-implement/SKILL.md +152 -152
  6. package/template/.agents/skills/50-verify/SKILL.md +174 -174
  7. package/template/.agents/skills/60-report/SKILL.md +168 -168
  8. package/template/.agents/skills/70-release/SKILL.md +141 -141
  9. package/template/.agents/skills/9arm-skills/README.md +51 -51
  10. package/template/.agents/skills/9arm-skills/debug-mantra/SKILL.md +86 -86
  11. package/template/.agents/skills/9arm-skills/management-talk/SKILL.md +79 -79
  12. package/template/.agents/skills/9arm-skills/post-mortem/SKILL.md +71 -71
  13. package/template/.agents/skills/9arm-skills/scrutinize/SKILL.md +72 -72
  14. package/template/.agents/skills/agent/SKILL.md +164 -164
  15. package/template/.agents/skills/api-and-interface-design/SKILL.md +294 -294
  16. package/template/.agents/skills/app-builder/SKILL.md +75 -75
  17. package/template/.agents/skills/app-builder/agent-coordination.md +71 -71
  18. package/template/.agents/skills/app-builder/feature-building.md +53 -53
  19. package/template/.agents/skills/app-builder/project-detection.md +34 -34
  20. package/template/.agents/skills/app-builder/scaffolding.md +118 -118
  21. package/template/.agents/skills/app-builder/tech-stack.md +40 -40
  22. package/template/.agents/skills/app-builder/templates/SKILL.md +39 -39
  23. package/template/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
  24. package/template/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
  25. package/template/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
  26. package/template/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
  27. package/template/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
  28. package/template/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
  29. package/template/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
  30. package/template/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
  31. package/template/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
  32. package/template/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
  33. package/template/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
  34. package/template/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
  35. package/template/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
  36. package/template/.agents/skills/architecture/SKILL.md +55 -55
  37. package/template/.agents/skills/architecture/context-discovery.md +43 -43
  38. package/template/.agents/skills/architecture/examples.md +94 -94
  39. package/template/.agents/skills/architecture/pattern-selection.md +68 -68
  40. package/template/.agents/skills/architecture/patterns-reference.md +50 -50
  41. package/template/.agents/skills/architecture/trade-off-analysis.md +77 -77
  42. package/template/.agents/skills/bash-linux/SKILL.md +199 -199
  43. package/template/.agents/skills/behavioral-modes/SKILL.md +242 -242
  44. package/template/.agents/skills/brainstorm/SKILL.md +157 -157
  45. package/template/.agents/skills/browser-testing-with-devtools/SKILL.md +302 -302
  46. package/template/.agents/skills/changelog/SKILL.md +108 -108
  47. package/template/.agents/skills/ci-cd-and-automation/SKILL.md +390 -390
  48. package/template/.agents/skills/code-review-and-quality/SKILL.md +392 -392
  49. package/template/.agents/skills/code-simplification/SKILL.md +331 -331
  50. package/template/.agents/skills/commit/SKILL.md +62 -62
  51. package/template/.agents/skills/competitor-analysis/SKILL.md +66 -66
  52. package/template/.agents/skills/context-engineering/SKILL.md +290 -290
  53. package/template/.agents/skills/database-design/SKILL.md +52 -52
  54. package/template/.agents/skills/database-design/database-selection.md +43 -43
  55. package/template/.agents/skills/database-design/indexing.md +39 -39
  56. package/template/.agents/skills/database-design/migrations.md +48 -48
  57. package/template/.agents/skills/database-design/optimization.md +36 -36
  58. package/template/.agents/skills/database-design/orm-selection.md +30 -30
  59. package/template/.agents/skills/database-design/schema-design.md +56 -56
  60. package/template/.agents/skills/database-design/scripts/schema_validator.py +172 -172
  61. package/template/.agents/skills/debug/SKILL.md +116 -116
  62. package/template/.agents/skills/debugging-and-error-recovery/SKILL.md +298 -298
  63. package/template/.agents/skills/deploy/SKILL.md +90 -90
  64. package/template/.agents/skills/deployment-procedures/SKILL.md +241 -241
  65. package/template/.agents/skills/deprecation-and-migration/SKILL.md +206 -206
  66. package/template/.agents/skills/documentation-and-adrs/SKILL.md +278 -278
  67. package/template/.agents/skills/followup/SKILL.md +78 -78
  68. package/template/.agents/skills/frontend-ui-engineering/SKILL.md +326 -326
  69. package/template/.agents/skills/frontend-ui-engineering/accessibility-checklist.md +159 -159
  70. package/template/.agents/skills/git-workflow-and-versioning/SKILL.md +300 -300
  71. package/template/.agents/skills/goal/SKILL.md +132 -132
  72. package/template/.agents/skills/help/SKILL.md +242 -242
  73. package/template/.agents/skills/human-review-decisions/SKILL.md +74 -74
  74. package/template/.agents/skills/i18n-localization/SKILL.md +154 -154
  75. package/template/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -241
  76. package/template/.agents/skills/idea-refine/SKILL.md +178 -178
  77. package/template/.agents/skills/idea-refine/examples.md +238 -238
  78. package/template/.agents/skills/idea-refine/frameworks.md +99 -99
  79. package/template/.agents/skills/idea-refine/refinement-criteria.md +113 -113
  80. package/template/.agents/skills/idea-refine/scripts/idea-refine.sh +15 -15
  81. package/template/.agents/skills/incremental-implementation/SKILL.md +248 -248
  82. package/template/.agents/skills/insight/SKILL.md +130 -130
  83. package/template/.agents/skills/insight-capture/SKILL.md +84 -84
  84. package/template/.agents/skills/intelligent-routing/SKILL.md +171 -171
  85. package/template/.agents/skills/issue-triage/SKILL.md +106 -106
  86. package/template/.agents/skills/lint-and-validate/SKILL.md +45 -45
  87. package/template/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -184
  88. package/template/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -173
  89. package/template/.agents/skills/mcp-builder/SKILL.md +176 -176
  90. package/template/.agents/skills/md2html/SKILL.md +154 -154
  91. package/template/.agents/skills/md2html/components.md +505 -505
  92. package/template/.agents/skills/md2html/template.html +1152 -1152
  93. package/template/.agents/skills/merge/SKILL.md +75 -75
  94. package/template/.agents/skills/mobile-design/SKILL.md +394 -394
  95. package/template/.agents/skills/mobile-design/decision-trees.md +516 -516
  96. package/template/.agents/skills/mobile-design/mobile-backend.md +491 -491
  97. package/template/.agents/skills/mobile-design/mobile-color-system.md +420 -420
  98. package/template/.agents/skills/mobile-design/mobile-debugging.md +122 -122
  99. package/template/.agents/skills/mobile-design/mobile-design-thinking.md +357 -357
  100. package/template/.agents/skills/mobile-design/mobile-navigation.md +458 -458
  101. package/template/.agents/skills/mobile-design/mobile-performance.md +767 -767
  102. package/template/.agents/skills/mobile-design/mobile-testing.md +356 -356
  103. package/template/.agents/skills/mobile-design/mobile-typography.md +433 -433
  104. package/template/.agents/skills/mobile-design/platform-android.md +666 -666
  105. package/template/.agents/skills/mobile-design/platform-ios.md +561 -561
  106. package/template/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -670
  107. package/template/.agents/skills/mobile-design/touch-psychology.md +537 -537
  108. package/template/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -312
  109. package/template/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
  110. package/template/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
  111. package/template/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
  112. package/template/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
  113. package/template/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
  114. package/template/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
  115. package/template/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
  116. package/template/.agents/skills/nextjs-react-expert/SKILL.md +286 -286
  117. package/template/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
  118. package/template/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
  119. package/template/.agents/skills/nodejs-best-practices/SKILL.md +333 -333
  120. package/template/.agents/skills/package-json-generator/SKILL.md +60 -60
  121. package/template/.agents/skills/package-json-generator/scripts/generate.js +120 -120
  122. package/template/.agents/skills/package-json-generator/scripts/run.sh +19 -19
  123. package/template/.agents/skills/parallel-agents/SKILL.md +144 -144
  124. package/template/.agents/skills/performance-optimization/SKILL.md +299 -299
  125. package/template/.agents/skills/performance-optimization/performance-checklist.md +113 -113
  126. package/template/.agents/skills/planning-and-task-breakdown/SKILL.md +239 -239
  127. package/template/.agents/skills/powershell-windows/SKILL.md +167 -167
  128. package/template/.agents/skills/pr/SKILL.md +92 -92
  129. package/template/.agents/skills/pr-review/SKILL.md +142 -142
  130. package/template/.agents/skills/pr-review-analysis/SKILL.md +89 -89
  131. package/template/.agents/skills/prd/SKILL.md +112 -112
  132. package/template/.agents/skills/preview/SKILL.md +116 -116
  133. package/template/.agents/skills/preview-local-check/SKILL.md +59 -59
  134. package/template/.agents/skills/python-patterns/SKILL.md +441 -441
  135. package/template/.agents/skills/release-git-operations/SKILL.md +97 -97
  136. package/template/.agents/skills/research/SKILL.md +127 -127
  137. package/template/.agents/skills/review/SKILL.md +55 -55
  138. package/template/.agents/skills/review-followup-routing/SKILL.md +98 -98
  139. package/template/.agents/skills/roadmap-strategy/SKILL.md +97 -97
  140. package/template/.agents/skills/security-and-hardening/SKILL.md +349 -349
  141. package/template/.agents/skills/security-and-hardening/security-checklist.md +134 -134
  142. package/template/.agents/skills/security-review/SKILL.md +164 -164
  143. package/template/.agents/skills/seo-fundamentals/SKILL.md +129 -129
  144. package/template/.agents/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
  145. package/template/.agents/skills/server-management/SKILL.md +161 -161
  146. package/template/.agents/skills/shipping-and-launch/SKILL.md +311 -311
  147. package/template/.agents/skills/silent-failure-audit/SKILL.md +73 -73
  148. package/template/.agents/skills/simplify/SKILL.md +74 -74
  149. package/template/.agents/skills/skill-development/SKILL.md +86 -86
  150. package/template/.agents/skills/spec-driven-development/SKILL.md +207 -207
  151. package/template/.agents/skills/spec-orchestration/SKILL.md +91 -91
  152. package/template/.agents/skills/specialist-agent-routing/SKILL.md +107 -107
  153. package/template/.agents/skills/tailwind-patterns/SKILL.md +269 -269
  154. package/template/.agents/skills/test/SKILL.md +77 -77
  155. package/template/.agents/skills/test-driven-development/SKILL.md +422 -422
  156. package/template/.agents/skills/test-driven-development/testing-patterns.md +236 -236
  157. package/template/.agents/skills/test-execution-and-coverage/SKILL.md +56 -56
  158. package/template/.agents/skills/type-design/SKILL.md +84 -84
  159. package/template/.agents/skills/ui-ux-pro-max/SKILL.md +75 -75
  160. package/template/.agents/skills/using-agent-skills/SKILL.md +171 -171
  161. package/template/.agents/skills/verification-orchestration/SKILL.md +68 -68
  162. package/template/.agents/skills/vulnerability-scanner/SKILL.md +276 -276
  163. package/template/.agents/skills/vulnerability-scanner/checklists.md +121 -121
  164. package/template/.agents/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
  165. package/template/.agents/skills/wiki/SKILL.md +148 -148
  166. package/template/.agents/skills/workflow-documentation-sync/SKILL.md +87 -87
  167. package/template/.claude/skills/20-spec/SKILL.md +136 -136
  168. package/template/.claude/skills/30-plan/SKILL.md +206 -206
  169. package/template/.claude/skills/40-implement/SKILL.md +152 -152
  170. package/template/.claude/skills/50-verify/SKILL.md +174 -174
  171. package/template/.claude/skills/60-report/SKILL.md +168 -168
  172. package/template/.claude/skills/70-release/SKILL.md +141 -141
  173. package/template/.claude/skills/9arm-skills/README.md +51 -51
  174. package/template/.claude/skills/9arm-skills/debug-mantra/SKILL.md +86 -86
  175. package/template/.claude/skills/9arm-skills/management-talk/SKILL.md +79 -79
  176. package/template/.claude/skills/9arm-skills/post-mortem/SKILL.md +71 -71
  177. package/template/.claude/skills/9arm-skills/scrutinize/SKILL.md +72 -72
  178. package/template/.claude/skills/agent/SKILL.md +164 -164
  179. package/template/.claude/skills/api-and-interface-design/SKILL.md +294 -294
  180. package/template/.claude/skills/app-builder/SKILL.md +75 -75
  181. package/template/.claude/skills/app-builder/agent-coordination.md +71 -71
  182. package/template/.claude/skills/app-builder/feature-building.md +53 -53
  183. package/template/.claude/skills/app-builder/project-detection.md +34 -34
  184. package/template/.claude/skills/app-builder/scaffolding.md +118 -118
  185. package/template/.claude/skills/app-builder/tech-stack.md +40 -40
  186. package/template/.claude/skills/app-builder/templates/SKILL.md +39 -39
  187. package/template/.claude/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
  188. package/template/.claude/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
  189. package/template/.claude/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
  190. package/template/.claude/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
  191. package/template/.claude/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
  192. package/template/.claude/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
  193. package/template/.claude/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
  194. package/template/.claude/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
  195. package/template/.claude/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
  196. package/template/.claude/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
  197. package/template/.claude/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
  198. package/template/.claude/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
  199. package/template/.claude/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
  200. package/template/.claude/skills/architecture/SKILL.md +55 -55
  201. package/template/.claude/skills/architecture/context-discovery.md +43 -43
  202. package/template/.claude/skills/architecture/examples.md +94 -94
  203. package/template/.claude/skills/architecture/pattern-selection.md +68 -68
  204. package/template/.claude/skills/architecture/patterns-reference.md +50 -50
  205. package/template/.claude/skills/architecture/trade-off-analysis.md +77 -77
  206. package/template/.claude/skills/bash-linux/SKILL.md +199 -199
  207. package/template/.claude/skills/behavioral-modes/SKILL.md +242 -242
  208. package/template/.claude/skills/brainstorm/SKILL.md +157 -157
  209. package/template/.claude/skills/browser-testing-with-devtools/SKILL.md +302 -302
  210. package/template/.claude/skills/changelog/SKILL.md +108 -108
  211. package/template/.claude/skills/ci-cd-and-automation/SKILL.md +390 -390
  212. package/template/.claude/skills/code-review-and-quality/SKILL.md +392 -392
  213. package/template/.claude/skills/code-simplification/SKILL.md +331 -331
  214. package/template/.claude/skills/commit/SKILL.md +62 -62
  215. package/template/.claude/skills/competitor-analysis/SKILL.md +66 -66
  216. package/template/.claude/skills/context-engineering/SKILL.md +290 -290
  217. package/template/.claude/skills/database-design/SKILL.md +52 -52
  218. package/template/.claude/skills/database-design/database-selection.md +43 -43
  219. package/template/.claude/skills/database-design/indexing.md +39 -39
  220. package/template/.claude/skills/database-design/migrations.md +48 -48
  221. package/template/.claude/skills/database-design/optimization.md +36 -36
  222. package/template/.claude/skills/database-design/orm-selection.md +30 -30
  223. package/template/.claude/skills/database-design/schema-design.md +56 -56
  224. package/template/.claude/skills/database-design/scripts/schema_validator.py +172 -172
  225. package/template/.claude/skills/debug/SKILL.md +116 -116
  226. package/template/.claude/skills/debugging-and-error-recovery/SKILL.md +298 -298
  227. package/template/.claude/skills/deploy/SKILL.md +90 -90
  228. package/template/.claude/skills/deployment-procedures/SKILL.md +241 -241
  229. package/template/.claude/skills/deprecation-and-migration/SKILL.md +206 -206
  230. package/template/.claude/skills/documentation-and-adrs/SKILL.md +278 -278
  231. package/template/.claude/skills/followup/SKILL.md +78 -78
  232. package/template/.claude/skills/frontend-ui-engineering/SKILL.md +326 -326
  233. package/template/.claude/skills/frontend-ui-engineering/accessibility-checklist.md +159 -159
  234. package/template/.claude/skills/git-workflow-and-versioning/SKILL.md +300 -300
  235. package/template/.claude/skills/goal/SKILL.md +132 -132
  236. package/template/.claude/skills/help/SKILL.md +242 -242
  237. package/template/.claude/skills/human-review-decisions/SKILL.md +74 -74
  238. package/template/.claude/skills/i18n-localization/SKILL.md +154 -154
  239. package/template/.claude/skills/i18n-localization/scripts/i18n_checker.py +241 -241
  240. package/template/.claude/skills/idea-refine/SKILL.md +178 -178
  241. package/template/.claude/skills/idea-refine/examples.md +238 -238
  242. package/template/.claude/skills/idea-refine/frameworks.md +99 -99
  243. package/template/.claude/skills/idea-refine/refinement-criteria.md +113 -113
  244. package/template/.claude/skills/idea-refine/scripts/idea-refine.sh +15 -15
  245. package/template/.claude/skills/incremental-implementation/SKILL.md +248 -248
  246. package/template/.claude/skills/insight/SKILL.md +130 -130
  247. package/template/.claude/skills/insight-capture/SKILL.md +84 -84
  248. package/template/.claude/skills/intelligent-routing/SKILL.md +171 -171
  249. package/template/.claude/skills/issue-triage/SKILL.md +106 -106
  250. package/template/.claude/skills/lint-and-validate/SKILL.md +45 -45
  251. package/template/.claude/skills/lint-and-validate/scripts/lint_runner.py +184 -184
  252. package/template/.claude/skills/lint-and-validate/scripts/type_coverage.py +173 -173
  253. package/template/.claude/skills/mcp-builder/SKILL.md +176 -176
  254. package/template/.claude/skills/md2html/SKILL.md +154 -154
  255. package/template/.claude/skills/md2html/components.md +505 -505
  256. package/template/.claude/skills/md2html/template.html +1152 -1152
  257. package/template/.claude/skills/merge/SKILL.md +75 -75
  258. package/template/.claude/skills/mobile-design/SKILL.md +394 -394
  259. package/template/.claude/skills/mobile-design/decision-trees.md +516 -516
  260. package/template/.claude/skills/mobile-design/mobile-backend.md +491 -491
  261. package/template/.claude/skills/mobile-design/mobile-color-system.md +420 -420
  262. package/template/.claude/skills/mobile-design/mobile-debugging.md +122 -122
  263. package/template/.claude/skills/mobile-design/mobile-design-thinking.md +357 -357
  264. package/template/.claude/skills/mobile-design/mobile-navigation.md +458 -458
  265. package/template/.claude/skills/mobile-design/mobile-performance.md +767 -767
  266. package/template/.claude/skills/mobile-design/mobile-testing.md +356 -356
  267. package/template/.claude/skills/mobile-design/mobile-typography.md +433 -433
  268. package/template/.claude/skills/mobile-design/platform-android.md +666 -666
  269. package/template/.claude/skills/mobile-design/platform-ios.md +561 -561
  270. package/template/.claude/skills/mobile-design/scripts/mobile_audit.py +670 -670
  271. package/template/.claude/skills/mobile-design/touch-psychology.md +537 -537
  272. package/template/.claude/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -312
  273. package/template/.claude/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
  274. package/template/.claude/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
  275. package/template/.claude/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
  276. package/template/.claude/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
  277. package/template/.claude/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
  278. package/template/.claude/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
  279. package/template/.claude/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
  280. package/template/.claude/skills/nextjs-react-expert/SKILL.md +286 -286
  281. package/template/.claude/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
  282. package/template/.claude/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
  283. package/template/.claude/skills/nodejs-best-practices/SKILL.md +333 -333
  284. package/template/.claude/skills/package-json-generator/SKILL.md +60 -60
  285. package/template/.claude/skills/package-json-generator/scripts/generate.js +120 -120
  286. package/template/.claude/skills/package-json-generator/scripts/run.sh +19 -19
  287. package/template/.claude/skills/parallel-agents/SKILL.md +144 -144
  288. package/template/.claude/skills/performance-optimization/SKILL.md +299 -299
  289. package/template/.claude/skills/performance-optimization/performance-checklist.md +113 -113
  290. package/template/.claude/skills/planning-and-task-breakdown/SKILL.md +239 -239
  291. package/template/.claude/skills/powershell-windows/SKILL.md +167 -167
  292. package/template/.claude/skills/pr/SKILL.md +92 -92
  293. package/template/.claude/skills/pr-review/SKILL.md +142 -142
  294. package/template/.claude/skills/pr-review-analysis/SKILL.md +89 -89
  295. package/template/.claude/skills/prd/SKILL.md +112 -112
  296. package/template/.claude/skills/preview/SKILL.md +116 -116
  297. package/template/.claude/skills/preview-local-check/SKILL.md +59 -59
  298. package/template/.claude/skills/python-patterns/SKILL.md +441 -441
  299. package/template/.claude/skills/release-git-operations/SKILL.md +97 -97
  300. package/template/.claude/skills/research/SKILL.md +127 -127
  301. package/template/.claude/skills/review/SKILL.md +55 -55
  302. package/template/.claude/skills/review-followup-routing/SKILL.md +98 -98
  303. package/template/.claude/skills/roadmap-strategy/SKILL.md +97 -97
  304. package/template/.claude/skills/security-and-hardening/SKILL.md +349 -349
  305. package/template/.claude/skills/security-and-hardening/security-checklist.md +134 -134
  306. package/template/.claude/skills/security-review/SKILL.md +164 -164
  307. package/template/.claude/skills/seo-fundamentals/SKILL.md +129 -129
  308. package/template/.claude/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
  309. package/template/.claude/skills/server-management/SKILL.md +161 -161
  310. package/template/.claude/skills/shipping-and-launch/SKILL.md +311 -311
  311. package/template/.claude/skills/silent-failure-audit/SKILL.md +73 -73
  312. package/template/.claude/skills/simplify/SKILL.md +74 -74
  313. package/template/.claude/skills/skill-development/SKILL.md +86 -86
  314. package/template/.claude/skills/spec-driven-development/SKILL.md +207 -207
  315. package/template/.claude/skills/spec-orchestration/SKILL.md +91 -91
  316. package/template/.claude/skills/specialist-agent-routing/SKILL.md +107 -107
  317. package/template/.claude/skills/tailwind-patterns/SKILL.md +269 -269
  318. package/template/.claude/skills/test/SKILL.md +77 -77
  319. package/template/.claude/skills/test-driven-development/SKILL.md +422 -422
  320. package/template/.claude/skills/test-driven-development/testing-patterns.md +236 -236
  321. package/template/.claude/skills/test-execution-and-coverage/SKILL.md +56 -56
  322. package/template/.claude/skills/type-design/SKILL.md +84 -84
  323. package/template/.claude/skills/ui-ux-pro-max/SKILL.md +75 -75
  324. package/template/.claude/skills/using-agent-skills/SKILL.md +171 -171
  325. package/template/.claude/skills/verification-orchestration/SKILL.md +68 -68
  326. package/template/.claude/skills/vulnerability-scanner/SKILL.md +276 -276
  327. package/template/.claude/skills/vulnerability-scanner/checklists.md +121 -121
  328. package/template/.claude/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
  329. package/template/.claude/skills/wiki/SKILL.md +148 -148
  330. package/template/.claude/skills/workflow-documentation-sync/SKILL.md +87 -87
  331. package/template/.nexus/nexus-devflow.json +1 -1
  332. package/template/AGENTS.md +3 -3
  333. package/template/LICENSE +21 -21
  334. package/template/devflow/context/project_index.json +108 -0
  335. package/template/.agents/skills/check-for-updates/SKILL.md +0 -117
  336. package/template/.agents/skills/devflow-concept-intake/SKILL.md +0 -150
  337. package/template/.agents/skills/devflow-concept-intake/agents/openai.yaml +0 -4
  338. package/template/.agents/skills/devflow-concept-intake/references/adoption-proposal-template.md +0 -60
  339. package/template/.agents/skills/devflow-concept-intake/references/concept-report-template.md +0 -47
  340. package/template/.agents/skills/devflow-concept-intake/references/upstream-tracking-template.md +0 -51
  341. package/template/.agents/skills/devflow-wiki/SKILL.md +0 -75
  342. package/template/.agents/skills/english-to-thai-translator/SKILL.md +0 -125
  343. package/template/.agents/skills/obsidian-bases/SKILL.md +0 -506
  344. package/template/.agents/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +0 -173
  345. package/template/.agents/skills/obsidian-cli/SKILL.md +0 -115
  346. package/template/.agents/skills/obsidian-clipper-template-creator/SKILL.md +0 -73
  347. package/template/.agents/skills/obsidian-clipper-template-creator/assets/clipping-template.json +0 -51
  348. package/template/.agents/skills/obsidian-clipper-template-creator/assets/recipe-template.json +0 -48
  349. package/template/.agents/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +0 -79
  350. package/template/.agents/skills/obsidian-clipper-template-creator/references/bases-workflow.md +0 -44
  351. package/template/.agents/skills/obsidian-clipper-template-creator/references/filters.md +0 -51
  352. package/template/.agents/skills/obsidian-clipper-template-creator/references/json-schema.md +0 -77
  353. package/template/.agents/skills/obsidian-clipper-template-creator/references/logic.md +0 -67
  354. package/template/.agents/skills/obsidian-clipper-template-creator/references/variables.md +0 -64
  355. package/template/.agents/skills/obsidian-markdown/SKILL.md +0 -205
  356. package/template/.agents/skills/obsidian-markdown/references/CALLOUTS.md +0 -58
  357. package/template/.agents/skills/obsidian-markdown/references/EMBEDS.md +0 -63
  358. package/template/.agents/skills/obsidian-markdown/references/PROPERTIES.md +0 -61
  359. package/template/.agents/skills/prompt-addons/SKILL.md +0 -99
  360. package/template/.agents/skills/prp-dev-fastapi/SKILL.md +0 -114
  361. package/template/.agents/skills/prp-dev-multiplatform/SKILL.md +0 -36
  362. package/template/.agents/skills/prp-dev-odoo/SKILL.md +0 -71
  363. package/template/.agents/skills/prp-dev-php/SKILL.md +0 -63
  364. package/template/.agents/skills/prp-sa-ba/SKILL.md +0 -52
  365. package/template/.agents/skills/red-team-tactics/SKILL.md +0 -199
  366. package/template/.agents/skills/writing-great-skills/SKILL.md +0 -65
  367. package/template/.claude/skills/check-for-updates/SKILL.md +0 -117
  368. package/template/.claude/skills/devflow-concept-intake/SKILL.md +0 -150
  369. package/template/.claude/skills/devflow-concept-intake/agents/openai.yaml +0 -4
  370. package/template/.claude/skills/devflow-concept-intake/references/adoption-proposal-template.md +0 -60
  371. package/template/.claude/skills/devflow-concept-intake/references/concept-report-template.md +0 -47
  372. package/template/.claude/skills/devflow-concept-intake/references/upstream-tracking-template.md +0 -51
  373. package/template/.claude/skills/devflow-wiki/SKILL.md +0 -75
  374. package/template/.claude/skills/english-to-thai-translator/SKILL.md +0 -125
  375. package/template/.claude/skills/obsidian-bases/SKILL.md +0 -506
  376. package/template/.claude/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +0 -173
  377. package/template/.claude/skills/obsidian-cli/SKILL.md +0 -115
  378. package/template/.claude/skills/obsidian-clipper-template-creator/SKILL.md +0 -73
  379. package/template/.claude/skills/obsidian-clipper-template-creator/assets/clipping-template.json +0 -51
  380. package/template/.claude/skills/obsidian-clipper-template-creator/assets/recipe-template.json +0 -48
  381. package/template/.claude/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +0 -79
  382. package/template/.claude/skills/obsidian-clipper-template-creator/references/bases-workflow.md +0 -44
  383. package/template/.claude/skills/obsidian-clipper-template-creator/references/filters.md +0 -51
  384. package/template/.claude/skills/obsidian-clipper-template-creator/references/json-schema.md +0 -77
  385. package/template/.claude/skills/obsidian-clipper-template-creator/references/logic.md +0 -67
  386. package/template/.claude/skills/obsidian-clipper-template-creator/references/variables.md +0 -64
  387. package/template/.claude/skills/obsidian-markdown/SKILL.md +0 -205
  388. package/template/.claude/skills/obsidian-markdown/references/CALLOUTS.md +0 -58
  389. package/template/.claude/skills/obsidian-markdown/references/EMBEDS.md +0 -63
  390. package/template/.claude/skills/obsidian-markdown/references/PROPERTIES.md +0 -61
  391. package/template/.claude/skills/prompt-addons/SKILL.md +0 -99
  392. package/template/.claude/skills/prp-dev-fastapi/SKILL.md +0 -114
  393. package/template/.claude/skills/prp-dev-multiplatform/SKILL.md +0 -36
  394. package/template/.claude/skills/prp-dev-odoo/SKILL.md +0 -71
  395. package/template/.claude/skills/prp-dev-php/SKILL.md +0 -63
  396. package/template/.claude/skills/prp-sa-ba/SKILL.md +0 -52
  397. package/template/.claude/skills/red-team-tactics/SKILL.md +0 -199
  398. package/template/.claude/skills/writing-great-skills/SKILL.md +0 -65
@@ -1,433 +1,433 @@
1
- # Mobile Typography Reference
2
-
3
- > Type scale, system fonts, Dynamic Type, accessibility, and dark mode typography.
4
- > **Typography failures are the #1 cause of unreadable mobile apps.**
5
-
6
- ---
7
-
8
- ## 1. Mobile Typography Fundamentals
9
-
10
- ### Why Mobile Type is Different
11
-
12
- ```
13
- DESKTOP: MOBILE:
14
- ├── 20-30" viewing distance ├── 12-15" viewing distance
15
- ├── Large viewport ├── Small viewport, narrow
16
- ├── Hover for details ├── Tap/scroll for details
17
- ├── Controlled lighting ├── Variable (outdoor, etc.)
18
- ├── Fixed font size ├── User-controlled sizing
19
- └── Long reading sessions └── Quick scanning
20
- ```
21
-
22
- ### Mobile Type Rules
23
-
24
- | Rule | Desktop | Mobile |
25
- |------|---------|--------|
26
- | **Minimum body size** | 14px | 16px (14pt/14sp) |
27
- | **Maximum line length** | 75 characters | 40-60 characters |
28
- | **Line height** | 1.4-1.5 | 1.4-1.6 (more generous) |
29
- | **Font weight** | Varies | Regular dominant, bold sparingly |
30
- | **Contrast** | AA (4.5:1) | AA minimum, AAA preferred |
31
-
32
- ---
33
-
34
- ## 2. System Fonts
35
-
36
- ### iOS: SF Pro Family
37
-
38
- ```
39
- San Francisco (SF) Family:
40
- ├── SF Pro Display: Large text (≥ 20pt)
41
- ├── SF Pro Text: Body text (< 20pt)
42
- ├── SF Pro Rounded: Friendly contexts
43
- ├── SF Mono: Monospace
44
- └── SF Compact: Apple Watch, compact UI
45
-
46
- Features:
47
- ├── Optical sizing (auto-adjusts)
48
- ├── Dynamic tracking (spacing)
49
- ├── Tabular/proportional figures
50
- ├── Excellent legibility
51
- ```
52
-
53
- ### Android: Roboto Family
54
-
55
- ```
56
- Roboto Family:
57
- ├── Roboto: Default sans-serif
58
- ├── Roboto Flex: Variable font
59
- ├── Roboto Serif: Serif option
60
- ├── Roboto Mono: Monospace
61
- ├── Roboto Condensed: Narrow spaces
62
-
63
- Features:
64
- ├── Optimized for screens
65
- ├── Wide language support
66
- ├── Multiple weights
67
- ├── Good at small sizes
68
- ```
69
-
70
- ### When to Use System Fonts
71
-
72
- ```
73
- ✅ USE system fonts when:
74
- ├── Brand doesn't mandate custom font
75
- ├── Reading efficiency is priority
76
- ├── App feels native/integrated important
77
- ├── Performance is critical
78
- ├── Wide language support needed
79
-
80
- ❌ AVOID system fonts when:
81
- ├── Brand identity requires custom
82
- ├── Design differentiation needed
83
- ├── Editorial/magazine style
84
- └── (But still support accessibility)
85
- ```
86
-
87
- ### Custom Font Considerations
88
-
89
- ```
90
- If using custom fonts:
91
- ├── Include all weights needed
92
- ├── Subset for file size
93
- ├── Test at all Dynamic Type sizes
94
- ├── Provide fallback to system
95
- ├── Test rendering quality
96
- └── Check language support
97
- ```
98
-
99
- ---
100
-
101
- ## 3. Type Scale
102
-
103
- ### iOS Type Scale (Built-in)
104
-
105
- | Style | Size | Weight | Line Height |
106
- |-------|------|--------|-------------|
107
- | Large Title | 34pt | Bold | 41pt |
108
- | Title 1 | 28pt | Bold | 34pt |
109
- | Title 2 | 22pt | Bold | 28pt |
110
- | Title 3 | 20pt | Semibold | 25pt |
111
- | Headline | 17pt | Semibold | 22pt |
112
- | Body | 17pt | Regular | 22pt |
113
- | Callout | 16pt | Regular | 21pt |
114
- | Subhead | 15pt | Regular | 20pt |
115
- | Footnote | 13pt | Regular | 18pt |
116
- | Caption 1 | 12pt | Regular | 16pt |
117
- | Caption 2 | 11pt | Regular | 13pt |
118
-
119
- ### Android Type Scale (Material 3)
120
-
121
- | Role | Size | Weight | Line Height |
122
- |------|------|--------|-------------|
123
- | Display Large | 57sp | 400 | 64sp |
124
- | Display Medium | 45sp | 400 | 52sp |
125
- | Display Small | 36sp | 400 | 44sp |
126
- | Headline Large | 32sp | 400 | 40sp |
127
- | Headline Medium | 28sp | 400 | 36sp |
128
- | Headline Small | 24sp | 400 | 32sp |
129
- | Title Large | 22sp | 400 | 28sp |
130
- | Title Medium | 16sp | 500 | 24sp |
131
- | Title Small | 14sp | 500 | 20sp |
132
- | Body Large | 16sp | 400 | 24sp |
133
- | Body Medium | 14sp | 400 | 20sp |
134
- | Body Small | 12sp | 400 | 16sp |
135
- | Label Large | 14sp | 500 | 20sp |
136
- | Label Medium | 12sp | 500 | 16sp |
137
- | Label Small | 11sp | 500 | 16sp |
138
-
139
- ### Creating Custom Scale
140
-
141
- ```
142
- If creating custom scale, use modular ratio:
143
-
144
- Recommended ratios:
145
- ├── 1.125 (Major second): Dense UI
146
- ├── 1.200 (Minor third): Compact
147
- ├── 1.250 (Major third): Balanced (common)
148
- ├── 1.333 (Perfect fourth): Spacious
149
- └── 1.500 (Perfect fifth): Dramatic
150
-
151
- Example with 1.25 ratio, 16px base:
152
- ├── xs: 10px (16 ÷ 1.25 ÷ 1.25)
153
- ├── sm: 13px (16 ÷ 1.25)
154
- ├── base: 16px
155
- ├── lg: 20px (16 × 1.25)
156
- ├── xl: 25px (16 × 1.25 × 1.25)
157
- ├── 2xl: 31px
158
- ├── 3xl: 39px
159
- └── 4xl: 49px
160
- ```
161
-
162
- ---
163
-
164
- ## 4. Dynamic Type / Text Scaling
165
-
166
- ### iOS Dynamic Type (MANDATORY)
167
-
168
- ```swift
169
- // ❌ WRONG: Fixed size (doesn't scale)
170
- Text("Hello")
171
- .font(.system(size: 17))
172
-
173
- // ✅ CORRECT: Dynamic Type
174
- Text("Hello")
175
- .font(.body) // Scales with user setting
176
-
177
- // Custom font with scaling
178
- Text("Hello")
179
- .font(.custom("MyFont", size: 17, relativeTo: .body))
180
- ```
181
-
182
- ### Android Text Scaling (MANDATORY)
183
-
184
- ```
185
- ALWAYS use sp for text:
186
- ├── sp = Scale-independent pixels
187
- ├── Scales with user font preference
188
- ├── dp does NOT scale (don't use for text)
189
-
190
- User can scale from 85% to 200%:
191
- ├── Default (100%): 14sp = 14dp
192
- ├── Largest (200%): 14sp = 28dp
193
-
194
- Test at 200%!
195
- ```
196
-
197
- ### Scaling Challenges
198
-
199
- ```
200
- Problems at large text sizes:
201
- ├── Text overflows containers
202
- ├── Buttons become too tall
203
- ├── Icons look small relative to text
204
- ├── Layouts break
205
-
206
- Solutions:
207
- ├── Use flexible containers (not fixed height)
208
- ├── Allow text wrapping
209
- ├── Scale icons with text
210
- ├── Test at extremes during development
211
- ├── Use scrollable containers for long text
212
- ```
213
-
214
- ---
215
-
216
- ## 5. Typography Accessibility
217
-
218
- ### Minimum Sizes
219
-
220
- | Element | Minimum | Recommended |
221
- |---------|---------|-------------|
222
- | Body text | 14px/pt/sp | 16px/pt/sp |
223
- | Secondary text | 12px/pt/sp | 13-14px/pt/sp |
224
- | Captions | 11px/pt/sp | 12px/pt/sp |
225
- | Buttons | 14px/pt/sp | 14-16px/pt/sp |
226
- | **Nothing smaller** | 11px | - |
227
-
228
- ### Contrast Requirements (WCAG)
229
-
230
- ```
231
- Normal text (< 18pt or < 14pt bold):
232
- ├── AA: 4.5:1 ratio minimum
233
- ├── AAA: 7:1 ratio recommended
234
-
235
- Large text (≥ 18pt or ≥ 14pt bold):
236
- ├── AA: 3:1 ratio minimum
237
- ├── AAA: 4.5:1 ratio recommended
238
-
239
- Logos/decorative: No requirement
240
- ```
241
-
242
- ### Line Height for Accessibility
243
-
244
- ```
245
- WCAG Success Criterion 1.4.12:
246
-
247
- Line height (line spacing): ≥ 1.5×
248
- Paragraph spacing: ≥ 2× font size
249
- Letter spacing: ≥ 0.12× font size
250
- Word spacing: ≥ 0.16× font size
251
-
252
- Mobile recommendation:
253
- ├── Body: 1.4-1.6 line height
254
- ├── Headings: 1.2-1.3 line height
255
- ├── Never below 1.2
256
- ```
257
-
258
- ---
259
-
260
- ## 6. Dark Mode Typography
261
-
262
- ### Color Adjustments
263
-
264
- ```
265
- Light Mode: Dark Mode:
266
- ├── Black text (#000) ├── White/light gray (#E0E0E0)
267
- ├── High contrast ├── Slightly reduced contrast
268
- ├── Full saturation ├── Desaturated colors
269
- └── Dark = emphasis └── Light = emphasis
270
-
271
- RULE: Don't use pure white (#FFF) on dark.
272
- Use off-white (#E0E0E0 to #F0F0F0) to reduce eye strain.
273
- ```
274
-
275
- ### Dark Mode Hierarchy
276
-
277
- | Level | Light Mode | Dark Mode |
278
- |-------|------------|-----------|
279
- | Primary text | #000000 | #E8E8E8 |
280
- | Secondary text | #666666 | #A0A0A0 |
281
- | Tertiary text | #999999 | #707070 |
282
- | Disabled text | #CCCCCC | #505050 |
283
-
284
- ### Weight in Dark Mode
285
-
286
- ```
287
- Dark mode text appears thinner due to halation
288
- (light bleeding into dark background)
289
-
290
- Consider:
291
- ├── Using medium weight for body (instead of regular)
292
- ├── Increasing letter-spacing slightly
293
- ├── Testing on actual OLED displays
294
- └── Using slightly bolder weight than light mode
295
- ```
296
-
297
- ---
298
-
299
- ## 7. Typography Anti-Patterns
300
-
301
- ### ❌ Common Mistakes
302
-
303
- | Mistake | Problem | Fix |
304
- |---------|---------|-----|
305
- | **Fixed font sizes** | Ignores accessibility | Use dynamic sizing |
306
- | **Too small text** | Unreadable | Min 14pt/sp |
307
- | **Low contrast** | Invisible in sunlight | Min 4.5:1 |
308
- | **Long lines** | Hard to track | Max 60 chars |
309
- | **Tight line height** | Cramped, hard to read | Min 1.4× |
310
- | **Too many sizes** | Visual chaos | Max 5-7 sizes |
311
- | **All caps body** | Hard to read | Headlines only |
312
- | **Light gray on white** | Impossible in bright light | Higher contrast |
313
-
314
- ### ❌ AI Typography Mistakes
315
-
316
- ```
317
- AI tends to:
318
- ├── Use fixed px values instead of pt/sp
319
- ├── Skip Dynamic Type support
320
- ├── Use too small text (12-14px body)
321
- ├── Ignore line height settings
322
- ├── Use low contrast "aesthetic" grays
323
- ├── Apply same scale to mobile as desktop
324
- └── Skip testing at large text sizes
325
-
326
- RULE: Typography must SCALE.
327
- Test at smallest and largest settings.
328
- ```
329
-
330
- ---
331
-
332
- ## 8. Font Loading & Performance
333
-
334
- ### Font File Optimization
335
-
336
- ```
337
- Font file sizes matter on mobile:
338
- ├── Full font: 100-300KB per weight
339
- ├── Subset (Latin): 15-40KB per weight
340
- ├── Variable font: 100-200KB (all weights)
341
-
342
- Recommendations:
343
- ├── Subset to needed characters
344
- ├── Use WOFF2 format
345
- ├── Max 2-3 font files
346
- ├── Consider variable fonts
347
- ├── Cache fonts appropriately
348
- ```
349
-
350
- ### Loading Strategy
351
-
352
- ```
353
- 1. SYSTEM FONT FALLBACK
354
- Show system font → swap when custom loads
355
-
356
- 2. FONT DISPLAY SWAP
357
- font-display: swap (CSS)
358
-
359
- 3. PRELOAD CRITICAL FONTS
360
- Preload fonts needed above the fold
361
-
362
- 4. DON'T BLOCK RENDER
363
- Don't wait for fonts to show content
364
- ```
365
-
366
- ---
367
-
368
- ## 9. Typography Checklist
369
-
370
- ### Before Any Text Design
371
-
372
- - [ ] Body text ≥ 16px/pt/sp?
373
- - [ ] Line height ≥ 1.4?
374
- - [ ] Line length ≤ 60 chars?
375
- - [ ] Type scale defined (max 5-7 sizes)?
376
- - [ ] Using pt (iOS) or sp (Android)?
377
-
378
- ### Before Release
379
-
380
- - [ ] Dynamic Type tested (iOS)?
381
- - [ ] Font scaling tested at 200% (Android)?
382
- - [ ] Dark mode contrast checked?
383
- - [ ] Sunlight readability tested?
384
- - [ ] All text has proper hierarchy?
385
- - [ ] Custom fonts have fallbacks?
386
- - [ ] Long text scrolls properly?
387
-
388
- ---
389
-
390
- ## 10. Quick Reference
391
-
392
- ### Typography Tokens
393
-
394
- ```
395
- // iOS
396
- .largeTitle // 34pt, Bold
397
- .title // 28pt, Bold
398
- .title2 // 22pt, Bold
399
- .title3 // 20pt, Semibold
400
- .headline // 17pt, Semibold
401
- .body // 17pt, Regular
402
- .subheadline // 15pt, Regular
403
- .footnote // 13pt, Regular
404
- .caption // 12pt, Regular
405
-
406
- // Android (Material 3)
407
- displayLarge // 57sp
408
- headlineLarge // 32sp
409
- titleLarge // 22sp
410
- bodyLarge // 16sp
411
- labelLarge // 14sp
412
- ```
413
-
414
- ### Minimum Sizes
415
-
416
- ```
417
- Body: 14-16pt/sp (16 preferred)
418
- Secondary: 12-13pt/sp
419
- Caption: 11-12pt/sp
420
- Nothing: < 11pt/sp
421
- ```
422
-
423
- ### Line Height
424
-
425
- ```
426
- Headings: 1.1-1.3
427
- Body: 1.4-1.6
428
- Long text: 1.5-1.75
429
- ```
430
-
431
- ---
432
-
433
- > **Remember:** If users can't read your text, your app is broken. Typography isn't decoration—it's the primary interface. Test on real devices, in real conditions, with accessibility settings enabled.
1
+ # Mobile Typography Reference
2
+
3
+ > Type scale, system fonts, Dynamic Type, accessibility, and dark mode typography.
4
+ > **Typography failures are the #1 cause of unreadable mobile apps.**
5
+
6
+ ---
7
+
8
+ ## 1. Mobile Typography Fundamentals
9
+
10
+ ### Why Mobile Type is Different
11
+
12
+ ```
13
+ DESKTOP: MOBILE:
14
+ ├── 20-30" viewing distance ├── 12-15" viewing distance
15
+ ├── Large viewport ├── Small viewport, narrow
16
+ ├── Hover for details ├── Tap/scroll for details
17
+ ├── Controlled lighting ├── Variable (outdoor, etc.)
18
+ ├── Fixed font size ├── User-controlled sizing
19
+ └── Long reading sessions └── Quick scanning
20
+ ```
21
+
22
+ ### Mobile Type Rules
23
+
24
+ | Rule | Desktop | Mobile |
25
+ |------|---------|--------|
26
+ | **Minimum body size** | 14px | 16px (14pt/14sp) |
27
+ | **Maximum line length** | 75 characters | 40-60 characters |
28
+ | **Line height** | 1.4-1.5 | 1.4-1.6 (more generous) |
29
+ | **Font weight** | Varies | Regular dominant, bold sparingly |
30
+ | **Contrast** | AA (4.5:1) | AA minimum, AAA preferred |
31
+
32
+ ---
33
+
34
+ ## 2. System Fonts
35
+
36
+ ### iOS: SF Pro Family
37
+
38
+ ```
39
+ San Francisco (SF) Family:
40
+ ├── SF Pro Display: Large text (≥ 20pt)
41
+ ├── SF Pro Text: Body text (< 20pt)
42
+ ├── SF Pro Rounded: Friendly contexts
43
+ ├── SF Mono: Monospace
44
+ └── SF Compact: Apple Watch, compact UI
45
+
46
+ Features:
47
+ ├── Optical sizing (auto-adjusts)
48
+ ├── Dynamic tracking (spacing)
49
+ ├── Tabular/proportional figures
50
+ ├── Excellent legibility
51
+ ```
52
+
53
+ ### Android: Roboto Family
54
+
55
+ ```
56
+ Roboto Family:
57
+ ├── Roboto: Default sans-serif
58
+ ├── Roboto Flex: Variable font
59
+ ├── Roboto Serif: Serif option
60
+ ├── Roboto Mono: Monospace
61
+ ├── Roboto Condensed: Narrow spaces
62
+
63
+ Features:
64
+ ├── Optimized for screens
65
+ ├── Wide language support
66
+ ├── Multiple weights
67
+ ├── Good at small sizes
68
+ ```
69
+
70
+ ### When to Use System Fonts
71
+
72
+ ```
73
+ ✅ USE system fonts when:
74
+ ├── Brand doesn't mandate custom font
75
+ ├── Reading efficiency is priority
76
+ ├── App feels native/integrated important
77
+ ├── Performance is critical
78
+ ├── Wide language support needed
79
+
80
+ ❌ AVOID system fonts when:
81
+ ├── Brand identity requires custom
82
+ ├── Design differentiation needed
83
+ ├── Editorial/magazine style
84
+ └── (But still support accessibility)
85
+ ```
86
+
87
+ ### Custom Font Considerations
88
+
89
+ ```
90
+ If using custom fonts:
91
+ ├── Include all weights needed
92
+ ├── Subset for file size
93
+ ├── Test at all Dynamic Type sizes
94
+ ├── Provide fallback to system
95
+ ├── Test rendering quality
96
+ └── Check language support
97
+ ```
98
+
99
+ ---
100
+
101
+ ## 3. Type Scale
102
+
103
+ ### iOS Type Scale (Built-in)
104
+
105
+ | Style | Size | Weight | Line Height |
106
+ |-------|------|--------|-------------|
107
+ | Large Title | 34pt | Bold | 41pt |
108
+ | Title 1 | 28pt | Bold | 34pt |
109
+ | Title 2 | 22pt | Bold | 28pt |
110
+ | Title 3 | 20pt | Semibold | 25pt |
111
+ | Headline | 17pt | Semibold | 22pt |
112
+ | Body | 17pt | Regular | 22pt |
113
+ | Callout | 16pt | Regular | 21pt |
114
+ | Subhead | 15pt | Regular | 20pt |
115
+ | Footnote | 13pt | Regular | 18pt |
116
+ | Caption 1 | 12pt | Regular | 16pt |
117
+ | Caption 2 | 11pt | Regular | 13pt |
118
+
119
+ ### Android Type Scale (Material 3)
120
+
121
+ | Role | Size | Weight | Line Height |
122
+ |------|------|--------|-------------|
123
+ | Display Large | 57sp | 400 | 64sp |
124
+ | Display Medium | 45sp | 400 | 52sp |
125
+ | Display Small | 36sp | 400 | 44sp |
126
+ | Headline Large | 32sp | 400 | 40sp |
127
+ | Headline Medium | 28sp | 400 | 36sp |
128
+ | Headline Small | 24sp | 400 | 32sp |
129
+ | Title Large | 22sp | 400 | 28sp |
130
+ | Title Medium | 16sp | 500 | 24sp |
131
+ | Title Small | 14sp | 500 | 20sp |
132
+ | Body Large | 16sp | 400 | 24sp |
133
+ | Body Medium | 14sp | 400 | 20sp |
134
+ | Body Small | 12sp | 400 | 16sp |
135
+ | Label Large | 14sp | 500 | 20sp |
136
+ | Label Medium | 12sp | 500 | 16sp |
137
+ | Label Small | 11sp | 500 | 16sp |
138
+
139
+ ### Creating Custom Scale
140
+
141
+ ```
142
+ If creating custom scale, use modular ratio:
143
+
144
+ Recommended ratios:
145
+ ├── 1.125 (Major second): Dense UI
146
+ ├── 1.200 (Minor third): Compact
147
+ ├── 1.250 (Major third): Balanced (common)
148
+ ├── 1.333 (Perfect fourth): Spacious
149
+ └── 1.500 (Perfect fifth): Dramatic
150
+
151
+ Example with 1.25 ratio, 16px base:
152
+ ├── xs: 10px (16 ÷ 1.25 ÷ 1.25)
153
+ ├── sm: 13px (16 ÷ 1.25)
154
+ ├── base: 16px
155
+ ├── lg: 20px (16 × 1.25)
156
+ ├── xl: 25px (16 × 1.25 × 1.25)
157
+ ├── 2xl: 31px
158
+ ├── 3xl: 39px
159
+ └── 4xl: 49px
160
+ ```
161
+
162
+ ---
163
+
164
+ ## 4. Dynamic Type / Text Scaling
165
+
166
+ ### iOS Dynamic Type (MANDATORY)
167
+
168
+ ```swift
169
+ // ❌ WRONG: Fixed size (doesn't scale)
170
+ Text("Hello")
171
+ .font(.system(size: 17))
172
+
173
+ // ✅ CORRECT: Dynamic Type
174
+ Text("Hello")
175
+ .font(.body) // Scales with user setting
176
+
177
+ // Custom font with scaling
178
+ Text("Hello")
179
+ .font(.custom("MyFont", size: 17, relativeTo: .body))
180
+ ```
181
+
182
+ ### Android Text Scaling (MANDATORY)
183
+
184
+ ```
185
+ ALWAYS use sp for text:
186
+ ├── sp = Scale-independent pixels
187
+ ├── Scales with user font preference
188
+ ├── dp does NOT scale (don't use for text)
189
+
190
+ User can scale from 85% to 200%:
191
+ ├── Default (100%): 14sp = 14dp
192
+ ├── Largest (200%): 14sp = 28dp
193
+
194
+ Test at 200%!
195
+ ```
196
+
197
+ ### Scaling Challenges
198
+
199
+ ```
200
+ Problems at large text sizes:
201
+ ├── Text overflows containers
202
+ ├── Buttons become too tall
203
+ ├── Icons look small relative to text
204
+ ├── Layouts break
205
+
206
+ Solutions:
207
+ ├── Use flexible containers (not fixed height)
208
+ ├── Allow text wrapping
209
+ ├── Scale icons with text
210
+ ├── Test at extremes during development
211
+ ├── Use scrollable containers for long text
212
+ ```
213
+
214
+ ---
215
+
216
+ ## 5. Typography Accessibility
217
+
218
+ ### Minimum Sizes
219
+
220
+ | Element | Minimum | Recommended |
221
+ |---------|---------|-------------|
222
+ | Body text | 14px/pt/sp | 16px/pt/sp |
223
+ | Secondary text | 12px/pt/sp | 13-14px/pt/sp |
224
+ | Captions | 11px/pt/sp | 12px/pt/sp |
225
+ | Buttons | 14px/pt/sp | 14-16px/pt/sp |
226
+ | **Nothing smaller** | 11px | - |
227
+
228
+ ### Contrast Requirements (WCAG)
229
+
230
+ ```
231
+ Normal text (< 18pt or < 14pt bold):
232
+ ├── AA: 4.5:1 ratio minimum
233
+ ├── AAA: 7:1 ratio recommended
234
+
235
+ Large text (≥ 18pt or ≥ 14pt bold):
236
+ ├── AA: 3:1 ratio minimum
237
+ ├── AAA: 4.5:1 ratio recommended
238
+
239
+ Logos/decorative: No requirement
240
+ ```
241
+
242
+ ### Line Height for Accessibility
243
+
244
+ ```
245
+ WCAG Success Criterion 1.4.12:
246
+
247
+ Line height (line spacing): ≥ 1.5×
248
+ Paragraph spacing: ≥ 2× font size
249
+ Letter spacing: ≥ 0.12× font size
250
+ Word spacing: ≥ 0.16× font size
251
+
252
+ Mobile recommendation:
253
+ ├── Body: 1.4-1.6 line height
254
+ ├── Headings: 1.2-1.3 line height
255
+ ├── Never below 1.2
256
+ ```
257
+
258
+ ---
259
+
260
+ ## 6. Dark Mode Typography
261
+
262
+ ### Color Adjustments
263
+
264
+ ```
265
+ Light Mode: Dark Mode:
266
+ ├── Black text (#000) ├── White/light gray (#E0E0E0)
267
+ ├── High contrast ├── Slightly reduced contrast
268
+ ├── Full saturation ├── Desaturated colors
269
+ └── Dark = emphasis └── Light = emphasis
270
+
271
+ RULE: Don't use pure white (#FFF) on dark.
272
+ Use off-white (#E0E0E0 to #F0F0F0) to reduce eye strain.
273
+ ```
274
+
275
+ ### Dark Mode Hierarchy
276
+
277
+ | Level | Light Mode | Dark Mode |
278
+ |-------|------------|-----------|
279
+ | Primary text | #000000 | #E8E8E8 |
280
+ | Secondary text | #666666 | #A0A0A0 |
281
+ | Tertiary text | #999999 | #707070 |
282
+ | Disabled text | #CCCCCC | #505050 |
283
+
284
+ ### Weight in Dark Mode
285
+
286
+ ```
287
+ Dark mode text appears thinner due to halation
288
+ (light bleeding into dark background)
289
+
290
+ Consider:
291
+ ├── Using medium weight for body (instead of regular)
292
+ ├── Increasing letter-spacing slightly
293
+ ├── Testing on actual OLED displays
294
+ └── Using slightly bolder weight than light mode
295
+ ```
296
+
297
+ ---
298
+
299
+ ## 7. Typography Anti-Patterns
300
+
301
+ ### ❌ Common Mistakes
302
+
303
+ | Mistake | Problem | Fix |
304
+ |---------|---------|-----|
305
+ | **Fixed font sizes** | Ignores accessibility | Use dynamic sizing |
306
+ | **Too small text** | Unreadable | Min 14pt/sp |
307
+ | **Low contrast** | Invisible in sunlight | Min 4.5:1 |
308
+ | **Long lines** | Hard to track | Max 60 chars |
309
+ | **Tight line height** | Cramped, hard to read | Min 1.4× |
310
+ | **Too many sizes** | Visual chaos | Max 5-7 sizes |
311
+ | **All caps body** | Hard to read | Headlines only |
312
+ | **Light gray on white** | Impossible in bright light | Higher contrast |
313
+
314
+ ### ❌ AI Typography Mistakes
315
+
316
+ ```
317
+ AI tends to:
318
+ ├── Use fixed px values instead of pt/sp
319
+ ├── Skip Dynamic Type support
320
+ ├── Use too small text (12-14px body)
321
+ ├── Ignore line height settings
322
+ ├── Use low contrast "aesthetic" grays
323
+ ├── Apply same scale to mobile as desktop
324
+ └── Skip testing at large text sizes
325
+
326
+ RULE: Typography must SCALE.
327
+ Test at smallest and largest settings.
328
+ ```
329
+
330
+ ---
331
+
332
+ ## 8. Font Loading & Performance
333
+
334
+ ### Font File Optimization
335
+
336
+ ```
337
+ Font file sizes matter on mobile:
338
+ ├── Full font: 100-300KB per weight
339
+ ├── Subset (Latin): 15-40KB per weight
340
+ ├── Variable font: 100-200KB (all weights)
341
+
342
+ Recommendations:
343
+ ├── Subset to needed characters
344
+ ├── Use WOFF2 format
345
+ ├── Max 2-3 font files
346
+ ├── Consider variable fonts
347
+ ├── Cache fonts appropriately
348
+ ```
349
+
350
+ ### Loading Strategy
351
+
352
+ ```
353
+ 1. SYSTEM FONT FALLBACK
354
+ Show system font → swap when custom loads
355
+
356
+ 2. FONT DISPLAY SWAP
357
+ font-display: swap (CSS)
358
+
359
+ 3. PRELOAD CRITICAL FONTS
360
+ Preload fonts needed above the fold
361
+
362
+ 4. DON'T BLOCK RENDER
363
+ Don't wait for fonts to show content
364
+ ```
365
+
366
+ ---
367
+
368
+ ## 9. Typography Checklist
369
+
370
+ ### Before Any Text Design
371
+
372
+ - [ ] Body text ≥ 16px/pt/sp?
373
+ - [ ] Line height ≥ 1.4?
374
+ - [ ] Line length ≤ 60 chars?
375
+ - [ ] Type scale defined (max 5-7 sizes)?
376
+ - [ ] Using pt (iOS) or sp (Android)?
377
+
378
+ ### Before Release
379
+
380
+ - [ ] Dynamic Type tested (iOS)?
381
+ - [ ] Font scaling tested at 200% (Android)?
382
+ - [ ] Dark mode contrast checked?
383
+ - [ ] Sunlight readability tested?
384
+ - [ ] All text has proper hierarchy?
385
+ - [ ] Custom fonts have fallbacks?
386
+ - [ ] Long text scrolls properly?
387
+
388
+ ---
389
+
390
+ ## 10. Quick Reference
391
+
392
+ ### Typography Tokens
393
+
394
+ ```
395
+ // iOS
396
+ .largeTitle // 34pt, Bold
397
+ .title // 28pt, Bold
398
+ .title2 // 22pt, Bold
399
+ .title3 // 20pt, Semibold
400
+ .headline // 17pt, Semibold
401
+ .body // 17pt, Regular
402
+ .subheadline // 15pt, Regular
403
+ .footnote // 13pt, Regular
404
+ .caption // 12pt, Regular
405
+
406
+ // Android (Material 3)
407
+ displayLarge // 57sp
408
+ headlineLarge // 32sp
409
+ titleLarge // 22sp
410
+ bodyLarge // 16sp
411
+ labelLarge // 14sp
412
+ ```
413
+
414
+ ### Minimum Sizes
415
+
416
+ ```
417
+ Body: 14-16pt/sp (16 preferred)
418
+ Secondary: 12-13pt/sp
419
+ Caption: 11-12pt/sp
420
+ Nothing: < 11pt/sp
421
+ ```
422
+
423
+ ### Line Height
424
+
425
+ ```
426
+ Headings: 1.1-1.3
427
+ Body: 1.4-1.6
428
+ Long text: 1.5-1.75
429
+ ```
430
+
431
+ ---
432
+
433
+ > **Remember:** If users can't read your text, your app is broken. Typography isn't decoration—it's the primary interface. Test on real devices, in real conditions, with accessibility settings enabled.