designmd-forge 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (907) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +119 -0
  3. package/dist/__tests__/designStore.test.js +41 -0
  4. package/dist/__tests__/linter.test.js +23 -0
  5. package/dist/__tests__/sectionParser.test.js +60 -0
  6. package/dist/__tests__/server.test.js +129 -0
  7. package/dist/constants.js +12 -0
  8. package/dist/data/authoring-guide.md +113 -0
  9. package/dist/data/designs/airbnb.md +545 -0
  10. package/dist/data/designs/airtable.md +554 -0
  11. package/dist/data/designs/apple.md +562 -0
  12. package/dist/data/designs/binance.md +634 -0
  13. package/dist/data/designs/bmw-m.md +503 -0
  14. package/dist/data/designs/bmw.md +544 -0
  15. package/dist/data/designs/bugatti.md +454 -0
  16. package/dist/data/designs/cal.md +542 -0
  17. package/dist/data/designs/card-heavy.md +250 -0
  18. package/dist/data/designs/claude.md +589 -0
  19. package/dist/data/designs/clay.md +541 -0
  20. package/dist/data/designs/clickhouse.md +544 -0
  21. package/dist/data/designs/cohere.md +451 -0
  22. package/dist/data/designs/coinbase.md +570 -0
  23. package/dist/data/designs/composio.md +506 -0
  24. package/dist/data/designs/content-first.md +236 -0
  25. package/dist/data/designs/cursor.md +537 -0
  26. package/dist/data/designs/data-dashboard.md +300 -0
  27. package/dist/data/designs/dell-1996.md +632 -0
  28. package/dist/data/designs/elevenlabs.md +504 -0
  29. package/dist/data/designs/enterprise-neutral.md +252 -0
  30. package/dist/data/designs/expo.md +526 -0
  31. package/dist/data/designs/ferrari.md +531 -0
  32. package/dist/data/designs/figma.md +578 -0
  33. package/dist/data/designs/framer.md +544 -0
  34. package/dist/data/designs/hashicorp.md +575 -0
  35. package/dist/data/designs/hp.md +670 -0
  36. package/dist/data/designs/ibm.md +550 -0
  37. package/dist/data/designs/intercom.md +546 -0
  38. package/dist/data/designs/ios-acorns-android.md +430 -0
  39. package/dist/data/designs/ios-acorns-expo.md +381 -0
  40. package/dist/data/designs/ios-acorns-swiftui.md +378 -0
  41. package/dist/data/designs/ios-acorns.md +384 -0
  42. package/dist/data/designs/ios-airbnb-android.md +658 -0
  43. package/dist/data/designs/ios-airbnb-expo.md +457 -0
  44. package/dist/data/designs/ios-airbnb-swiftui.md +464 -0
  45. package/dist/data/designs/ios-airbnb.md +410 -0
  46. package/dist/data/designs/ios-alltrails-android.md +451 -0
  47. package/dist/data/designs/ios-alltrails-expo.md +400 -0
  48. package/dist/data/designs/ios-alltrails-swiftui.md +343 -0
  49. package/dist/data/designs/ios-alltrails.md +344 -0
  50. package/dist/data/designs/ios-amazon-android.md +686 -0
  51. package/dist/data/designs/ios-amazon-expo.md +433 -0
  52. package/dist/data/designs/ios-amazon-music-android.md +416 -0
  53. package/dist/data/designs/ios-amazon-music-expo.md +368 -0
  54. package/dist/data/designs/ios-amazon-music-swiftui.md +436 -0
  55. package/dist/data/designs/ios-amazon-music.md +389 -0
  56. package/dist/data/designs/ios-amazon-swiftui.md +460 -0
  57. package/dist/data/designs/ios-amazon.md +440 -0
  58. package/dist/data/designs/ios-apple-fitness-android.md +462 -0
  59. package/dist/data/designs/ios-apple-fitness-expo.md +373 -0
  60. package/dist/data/designs/ios-apple-fitness-swiftui.md +373 -0
  61. package/dist/data/designs/ios-apple-fitness.md +399 -0
  62. package/dist/data/designs/ios-apple-maps-android.md +646 -0
  63. package/dist/data/designs/ios-apple-maps-expo.md +557 -0
  64. package/dist/data/designs/ios-apple-maps-swiftui.md +588 -0
  65. package/dist/data/designs/ios-apple-maps.md +447 -0
  66. package/dist/data/designs/ios-apple-music-android.md +737 -0
  67. package/dist/data/designs/ios-apple-music-expo.md +596 -0
  68. package/dist/data/designs/ios-apple-music-swiftui.md +578 -0
  69. package/dist/data/designs/ios-apple-music.md +494 -0
  70. package/dist/data/designs/ios-apple-notes-android.md +675 -0
  71. package/dist/data/designs/ios-apple-notes-expo.md +468 -0
  72. package/dist/data/designs/ios-apple-notes-swiftui.md +489 -0
  73. package/dist/data/designs/ios-apple-notes.md +413 -0
  74. package/dist/data/designs/ios-apple-tv-android.md +405 -0
  75. package/dist/data/designs/ios-apple-tv-expo.md +341 -0
  76. package/dist/data/designs/ios-apple-tv-swiftui.md +348 -0
  77. package/dist/data/designs/ios-apple-tv.md +390 -0
  78. package/dist/data/designs/ios-apple-wallet-android.md +617 -0
  79. package/dist/data/designs/ios-apple-wallet-expo.md +487 -0
  80. package/dist/data/designs/ios-apple-wallet-swiftui.md +425 -0
  81. package/dist/data/designs/ios-apple-wallet.md +360 -0
  82. package/dist/data/designs/ios-asana-android.md +435 -0
  83. package/dist/data/designs/ios-asana-expo.md +411 -0
  84. package/dist/data/designs/ios-asana-swiftui.md +416 -0
  85. package/dist/data/designs/ios-asana.md +433 -0
  86. package/dist/data/designs/ios-audible-android.md +450 -0
  87. package/dist/data/designs/ios-audible-expo.md +328 -0
  88. package/dist/data/designs/ios-audible-swiftui.md +418 -0
  89. package/dist/data/designs/ios-audible.md +364 -0
  90. package/dist/data/designs/ios-bandcamp-android.md +471 -0
  91. package/dist/data/designs/ios-bandcamp-expo.md +378 -0
  92. package/dist/data/designs/ios-bandcamp-swiftui.md +374 -0
  93. package/dist/data/designs/ios-bandcamp.md +372 -0
  94. package/dist/data/designs/ios-bear-android.md +496 -0
  95. package/dist/data/designs/ios-bear-expo.md +449 -0
  96. package/dist/data/designs/ios-bear-swiftui.md +479 -0
  97. package/dist/data/designs/ios-bear.md +412 -0
  98. package/dist/data/designs/ios-bereal-android.md +392 -0
  99. package/dist/data/designs/ios-bereal-expo.md +299 -0
  100. package/dist/data/designs/ios-bereal-swiftui.md +319 -0
  101. package/dist/data/designs/ios-bereal.md +336 -0
  102. package/dist/data/designs/ios-binance-android.md +481 -0
  103. package/dist/data/designs/ios-binance-expo.md +404 -0
  104. package/dist/data/designs/ios-binance-swiftui.md +418 -0
  105. package/dist/data/designs/ios-binance.md +410 -0
  106. package/dist/data/designs/ios-bluesky-android.md +442 -0
  107. package/dist/data/designs/ios-bluesky-expo.md +362 -0
  108. package/dist/data/designs/ios-bluesky-swiftui.md +328 -0
  109. package/dist/data/designs/ios-bluesky.md +338 -0
  110. package/dist/data/designs/ios-booking-android.md +471 -0
  111. package/dist/data/designs/ios-booking-expo.md +364 -0
  112. package/dist/data/designs/ios-booking-swiftui.md +377 -0
  113. package/dist/data/designs/ios-booking.md +346 -0
  114. package/dist/data/designs/ios-bumble-android.md +756 -0
  115. package/dist/data/designs/ios-bumble-expo.md +629 -0
  116. package/dist/data/designs/ios-bumble-swiftui.md +546 -0
  117. package/dist/data/designs/ios-bumble.md +424 -0
  118. package/dist/data/designs/ios-cal-ai-android.md +664 -0
  119. package/dist/data/designs/ios-cal-ai-expo.md +415 -0
  120. package/dist/data/designs/ios-cal-ai-swiftui.md +486 -0
  121. package/dist/data/designs/ios-cal-ai.md +387 -0
  122. package/dist/data/designs/ios-calm-android.md +431 -0
  123. package/dist/data/designs/ios-calm-expo.md +384 -0
  124. package/dist/data/designs/ios-calm-swiftui.md +327 -0
  125. package/dist/data/designs/ios-calm.md +356 -0
  126. package/dist/data/designs/ios-canva-android.md +469 -0
  127. package/dist/data/designs/ios-canva-expo.md +374 -0
  128. package/dist/data/designs/ios-canva-swiftui.md +422 -0
  129. package/dist/data/designs/ios-canva.md +395 -0
  130. package/dist/data/designs/ios-cash-app-android.md +601 -0
  131. package/dist/data/designs/ios-cash-app-expo.md +453 -0
  132. package/dist/data/designs/ios-cash-app-swiftui.md +463 -0
  133. package/dist/data/designs/ios-cash-app.md +365 -0
  134. package/dist/data/designs/ios-character-ai-android.md +489 -0
  135. package/dist/data/designs/ios-character-ai-expo.md +420 -0
  136. package/dist/data/designs/ios-character-ai-swiftui.md +417 -0
  137. package/dist/data/designs/ios-character-ai.md +392 -0
  138. package/dist/data/designs/ios-charles-schwab-android.md +454 -0
  139. package/dist/data/designs/ios-charles-schwab-expo.md +388 -0
  140. package/dist/data/designs/ios-charles-schwab-swiftui.md +394 -0
  141. package/dist/data/designs/ios-charles-schwab.md +380 -0
  142. package/dist/data/designs/ios-chatgpt-android.md +753 -0
  143. package/dist/data/designs/ios-chatgpt-expo.md +644 -0
  144. package/dist/data/designs/ios-chatgpt-swiftui.md +653 -0
  145. package/dist/data/designs/ios-chatgpt.md +466 -0
  146. package/dist/data/designs/ios-chime-android.md +438 -0
  147. package/dist/data/designs/ios-chime-expo.md +419 -0
  148. package/dist/data/designs/ios-chime-swiftui.md +383 -0
  149. package/dist/data/designs/ios-chime.md +389 -0
  150. package/dist/data/designs/ios-chipotle-android.md +397 -0
  151. package/dist/data/designs/ios-chipotle-expo.md +301 -0
  152. package/dist/data/designs/ios-chipotle-swiftui.md +345 -0
  153. package/dist/data/designs/ios-chipotle.md +340 -0
  154. package/dist/data/designs/ios-citymapper-android.md +466 -0
  155. package/dist/data/designs/ios-citymapper-expo.md +420 -0
  156. package/dist/data/designs/ios-citymapper-swiftui.md +424 -0
  157. package/dist/data/designs/ios-citymapper.md +394 -0
  158. package/dist/data/designs/ios-claude-android.md +625 -0
  159. package/dist/data/designs/ios-claude-expo.md +671 -0
  160. package/dist/data/designs/ios-claude-swiftui.md +649 -0
  161. package/dist/data/designs/ios-claude.md +447 -0
  162. package/dist/data/designs/ios-clickup-android.md +484 -0
  163. package/dist/data/designs/ios-clickup-expo.md +423 -0
  164. package/dist/data/designs/ios-clickup-swiftui.md +416 -0
  165. package/dist/data/designs/ios-clickup.md +431 -0
  166. package/dist/data/designs/ios-clubhouse-android.md +524 -0
  167. package/dist/data/designs/ios-clubhouse-expo.md +425 -0
  168. package/dist/data/designs/ios-clubhouse-swiftui.md +447 -0
  169. package/dist/data/designs/ios-clubhouse.md +406 -0
  170. package/dist/data/designs/ios-coffee-meets-bagel-android.md +461 -0
  171. package/dist/data/designs/ios-coffee-meets-bagel-expo.md +372 -0
  172. package/dist/data/designs/ios-coffee-meets-bagel-swiftui.md +368 -0
  173. package/dist/data/designs/ios-coffee-meets-bagel.md +376 -0
  174. package/dist/data/designs/ios-coinbase-android.md +611 -0
  175. package/dist/data/designs/ios-coinbase-expo.md +500 -0
  176. package/dist/data/designs/ios-coinbase-swiftui.md +490 -0
  177. package/dist/data/designs/ios-coinbase.md +409 -0
  178. package/dist/data/designs/ios-copilot-android.md +625 -0
  179. package/dist/data/designs/ios-copilot-expo.md +423 -0
  180. package/dist/data/designs/ios-copilot-swiftui.md +471 -0
  181. package/dist/data/designs/ios-copilot.md +367 -0
  182. package/dist/data/designs/ios-craft-android.md +459 -0
  183. package/dist/data/designs/ios-craft-expo.md +417 -0
  184. package/dist/data/designs/ios-craft-swiftui.md +449 -0
  185. package/dist/data/designs/ios-craft.md +449 -0
  186. package/dist/data/designs/ios-crunchyroll-android.md +432 -0
  187. package/dist/data/designs/ios-crunchyroll-expo.md +388 -0
  188. package/dist/data/designs/ios-crunchyroll-swiftui.md +417 -0
  189. package/dist/data/designs/ios-crunchyroll.md +388 -0
  190. package/dist/data/designs/ios-crypto-com-android.md +461 -0
  191. package/dist/data/designs/ios-crypto-com-expo.md +404 -0
  192. package/dist/data/designs/ios-crypto-com-swiftui.md +419 -0
  193. package/dist/data/designs/ios-crypto-com.md +410 -0
  194. package/dist/data/designs/ios-deepseek-android.md +471 -0
  195. package/dist/data/designs/ios-deepseek-expo.md +391 -0
  196. package/dist/data/designs/ios-deepseek-swiftui.md +354 -0
  197. package/dist/data/designs/ios-deepseek.md +393 -0
  198. package/dist/data/designs/ios-deezer-android.md +475 -0
  199. package/dist/data/designs/ios-deezer-expo.md +400 -0
  200. package/dist/data/designs/ios-deezer-swiftui.md +430 -0
  201. package/dist/data/designs/ios-deezer.md +388 -0
  202. package/dist/data/designs/ios-deliveroo-android.md +493 -0
  203. package/dist/data/designs/ios-deliveroo-expo.md +424 -0
  204. package/dist/data/designs/ios-deliveroo-swiftui.md +398 -0
  205. package/dist/data/designs/ios-deliveroo.md +420 -0
  206. package/dist/data/designs/ios-delta-android.md +439 -0
  207. package/dist/data/designs/ios-delta-expo.md +381 -0
  208. package/dist/data/designs/ios-delta-swiftui.md +400 -0
  209. package/dist/data/designs/ios-delta.md +397 -0
  210. package/dist/data/designs/ios-discord-android.md +611 -0
  211. package/dist/data/designs/ios-discord-expo.md +618 -0
  212. package/dist/data/designs/ios-discord-swiftui.md +630 -0
  213. package/dist/data/designs/ios-discord.md +451 -0
  214. package/dist/data/designs/ios-disney-plus-android.md +464 -0
  215. package/dist/data/designs/ios-disney-plus-expo.md +358 -0
  216. package/dist/data/designs/ios-disney-plus-swiftui.md +412 -0
  217. package/dist/data/designs/ios-disney-plus.md +355 -0
  218. package/dist/data/designs/ios-dominos-android.md +417 -0
  219. package/dist/data/designs/ios-dominos-expo.md +316 -0
  220. package/dist/data/designs/ios-dominos-swiftui.md +340 -0
  221. package/dist/data/designs/ios-dominos.md +347 -0
  222. package/dist/data/designs/ios-doordash-android.md +527 -0
  223. package/dist/data/designs/ios-doordash-expo.md +323 -0
  224. package/dist/data/designs/ios-doordash-swiftui.md +301 -0
  225. package/dist/data/designs/ios-doordash.md +393 -0
  226. package/dist/data/designs/ios-dropbox-android.md +522 -0
  227. package/dist/data/designs/ios-dropbox-expo.md +393 -0
  228. package/dist/data/designs/ios-dropbox-swiftui.md +400 -0
  229. package/dist/data/designs/ios-dropbox.md +374 -0
  230. package/dist/data/designs/ios-duolingo-android.md +641 -0
  231. package/dist/data/designs/ios-duolingo-expo.md +597 -0
  232. package/dist/data/designs/ios-duolingo-swiftui.md +539 -0
  233. package/dist/data/designs/ios-duolingo.md +409 -0
  234. package/dist/data/designs/ios-ebay-android.md +436 -0
  235. package/dist/data/designs/ios-ebay-expo.md +344 -0
  236. package/dist/data/designs/ios-ebay-swiftui.md +308 -0
  237. package/dist/data/designs/ios-ebay.md +355 -0
  238. package/dist/data/designs/ios-espn-android.md +468 -0
  239. package/dist/data/designs/ios-espn-expo.md +387 -0
  240. package/dist/data/designs/ios-espn-swiftui.md +410 -0
  241. package/dist/data/designs/ios-espn.md +384 -0
  242. package/dist/data/designs/ios-etsy-android.md +439 -0
  243. package/dist/data/designs/ios-etsy-expo.md +351 -0
  244. package/dist/data/designs/ios-etsy-swiftui.md +296 -0
  245. package/dist/data/designs/ios-etsy.md +355 -0
  246. package/dist/data/designs/ios-evernote-android.md +419 -0
  247. package/dist/data/designs/ios-evernote-expo.md +379 -0
  248. package/dist/data/designs/ios-evernote-swiftui.md +380 -0
  249. package/dist/data/designs/ios-evernote.md +416 -0
  250. package/dist/data/designs/ios-expedia-android.md +451 -0
  251. package/dist/data/designs/ios-expedia-expo.md +433 -0
  252. package/dist/data/designs/ios-expedia-swiftui.md +399 -0
  253. package/dist/data/designs/ios-expedia.md +431 -0
  254. package/dist/data/designs/ios-facebook-android.md +628 -0
  255. package/dist/data/designs/ios-facebook-expo.md +471 -0
  256. package/dist/data/designs/ios-facebook-swiftui.md +459 -0
  257. package/dist/data/designs/ios-facebook.md +452 -0
  258. package/dist/data/designs/ios-feeld-android.md +431 -0
  259. package/dist/data/designs/ios-feeld-expo.md +379 -0
  260. package/dist/data/designs/ios-feeld-swiftui.md +401 -0
  261. package/dist/data/designs/ios-feeld.md +378 -0
  262. package/dist/data/designs/ios-fidelity-android.md +426 -0
  263. package/dist/data/designs/ios-fidelity-expo.md +396 -0
  264. package/dist/data/designs/ios-fidelity-swiftui.md +398 -0
  265. package/dist/data/designs/ios-fidelity.md +387 -0
  266. package/dist/data/designs/ios-figma-android.md +578 -0
  267. package/dist/data/designs/ios-figma-expo.md +504 -0
  268. package/dist/data/designs/ios-figma-swiftui.md +542 -0
  269. package/dist/data/designs/ios-figma.md +404 -0
  270. package/dist/data/designs/ios-fitbit-android.md +439 -0
  271. package/dist/data/designs/ios-fitbit-expo.md +389 -0
  272. package/dist/data/designs/ios-fitbit-swiftui.md +380 -0
  273. package/dist/data/designs/ios-fitbit.md +396 -0
  274. package/dist/data/designs/ios-flickr-android.md +506 -0
  275. package/dist/data/designs/ios-flickr-expo.md +434 -0
  276. package/dist/data/designs/ios-flickr-swiftui.md +421 -0
  277. package/dist/data/designs/ios-flickr.md +394 -0
  278. package/dist/data/designs/ios-flighty-android.md +418 -0
  279. package/dist/data/designs/ios-flighty-expo.md +353 -0
  280. package/dist/data/designs/ios-flighty-swiftui.md +337 -0
  281. package/dist/data/designs/ios-flighty.md +357 -0
  282. package/dist/data/designs/ios-flo-android.md +447 -0
  283. package/dist/data/designs/ios-flo-expo.md +363 -0
  284. package/dist/data/designs/ios-flo-swiftui.md +355 -0
  285. package/dist/data/designs/ios-flo.md +351 -0
  286. package/dist/data/designs/ios-garmin-connect-android.md +531 -0
  287. package/dist/data/designs/ios-garmin-connect-expo.md +429 -0
  288. package/dist/data/designs/ios-garmin-connect-swiftui.md +459 -0
  289. package/dist/data/designs/ios-garmin-connect.md +419 -0
  290. package/dist/data/designs/ios-gas-android.md +438 -0
  291. package/dist/data/designs/ios-gas-expo.md +350 -0
  292. package/dist/data/designs/ios-gas-swiftui.md +329 -0
  293. package/dist/data/designs/ios-gas.md +387 -0
  294. package/dist/data/designs/ios-gemini-android.md +568 -0
  295. package/dist/data/designs/ios-gemini-expo.md +416 -0
  296. package/dist/data/designs/ios-gemini-swiftui.md +424 -0
  297. package/dist/data/designs/ios-gemini.md +351 -0
  298. package/dist/data/designs/ios-github-android.md +507 -0
  299. package/dist/data/designs/ios-github-expo.md +486 -0
  300. package/dist/data/designs/ios-github-swiftui.md +459 -0
  301. package/dist/data/designs/ios-github.md +394 -0
  302. package/dist/data/designs/ios-gmail-android.md +548 -0
  303. package/dist/data/designs/ios-gmail-expo.md +457 -0
  304. package/dist/data/designs/ios-gmail-swiftui.md +470 -0
  305. package/dist/data/designs/ios-gmail.md +441 -0
  306. package/dist/data/designs/ios-goodreads-android.md +436 -0
  307. package/dist/data/designs/ios-goodreads-expo.md +407 -0
  308. package/dist/data/designs/ios-goodreads-swiftui.md +378 -0
  309. package/dist/data/designs/ios-goodreads.md +385 -0
  310. package/dist/data/designs/ios-google-calendar-android.md +565 -0
  311. package/dist/data/designs/ios-google-calendar-expo.md +616 -0
  312. package/dist/data/designs/ios-google-calendar-swiftui.md +585 -0
  313. package/dist/data/designs/ios-google-calendar.md +431 -0
  314. package/dist/data/designs/ios-google-maps-android.md +614 -0
  315. package/dist/data/designs/ios-google-maps-expo.md +515 -0
  316. package/dist/data/designs/ios-google-maps-swiftui.md +484 -0
  317. package/dist/data/designs/ios-google-maps.md +451 -0
  318. package/dist/data/designs/ios-grammarly-android.md +449 -0
  319. package/dist/data/designs/ios-grammarly-expo.md +383 -0
  320. package/dist/data/designs/ios-grammarly-swiftui.md +381 -0
  321. package/dist/data/designs/ios-grammarly.md +392 -0
  322. package/dist/data/designs/ios-grindr-android.md +494 -0
  323. package/dist/data/designs/ios-grindr-expo.md +358 -0
  324. package/dist/data/designs/ios-grindr-swiftui.md +357 -0
  325. package/dist/data/designs/ios-grindr.md +356 -0
  326. package/dist/data/designs/ios-grok-android.md +471 -0
  327. package/dist/data/designs/ios-grok-expo.md +388 -0
  328. package/dist/data/designs/ios-grok-swiftui.md +397 -0
  329. package/dist/data/designs/ios-grok.md +357 -0
  330. package/dist/data/designs/ios-groupme-android.md +551 -0
  331. package/dist/data/designs/ios-groupme-expo.md +442 -0
  332. package/dist/data/designs/ios-groupme-swiftui.md +439 -0
  333. package/dist/data/designs/ios-groupme.md +424 -0
  334. package/dist/data/designs/ios-grubhub-android.md +506 -0
  335. package/dist/data/designs/ios-grubhub-expo.md +428 -0
  336. package/dist/data/designs/ios-grubhub-swiftui.md +408 -0
  337. package/dist/data/designs/ios-grubhub.md +427 -0
  338. package/dist/data/designs/ios-happn-android.md +464 -0
  339. package/dist/data/designs/ios-happn-expo.md +411 -0
  340. package/dist/data/designs/ios-happn-swiftui.md +401 -0
  341. package/dist/data/designs/ios-happn.md +400 -0
  342. package/dist/data/designs/ios-headspace-android.md +688 -0
  343. package/dist/data/designs/ios-headspace-expo.md +574 -0
  344. package/dist/data/designs/ios-headspace-swiftui.md +498 -0
  345. package/dist/data/designs/ios-headspace.md +430 -0
  346. package/dist/data/designs/ios-hevy-android.md +473 -0
  347. package/dist/data/designs/ios-hevy-expo.md +405 -0
  348. package/dist/data/designs/ios-hevy-swiftui.md +367 -0
  349. package/dist/data/designs/ios-hevy.md +410 -0
  350. package/dist/data/designs/ios-hinge-android.md +743 -0
  351. package/dist/data/designs/ios-hinge-expo.md +580 -0
  352. package/dist/data/designs/ios-hinge-swiftui.md +512 -0
  353. package/dist/data/designs/ios-hinge.md +405 -0
  354. package/dist/data/designs/ios-hopper-android.md +440 -0
  355. package/dist/data/designs/ios-hopper-expo.md +353 -0
  356. package/dist/data/designs/ios-hopper-swiftui.md +340 -0
  357. package/dist/data/designs/ios-hopper.md +354 -0
  358. package/dist/data/designs/ios-hulu-android.md +435 -0
  359. package/dist/data/designs/ios-hulu-expo.md +331 -0
  360. package/dist/data/designs/ios-hulu-swiftui.md +374 -0
  361. package/dist/data/designs/ios-hulu.md +353 -0
  362. package/dist/data/designs/ios-iheartradio-android.md +481 -0
  363. package/dist/data/designs/ios-iheartradio-expo.md +417 -0
  364. package/dist/data/designs/ios-iheartradio-swiftui.md +423 -0
  365. package/dist/data/designs/ios-iheartradio.md +381 -0
  366. package/dist/data/designs/ios-imessage-android.md +426 -0
  367. package/dist/data/designs/ios-imessage-expo.md +384 -0
  368. package/dist/data/designs/ios-imessage-swiftui.md +378 -0
  369. package/dist/data/designs/ios-imessage.md +394 -0
  370. package/dist/data/designs/ios-instacart-android.md +471 -0
  371. package/dist/data/designs/ios-instacart-expo.md +349 -0
  372. package/dist/data/designs/ios-instacart-swiftui.md +378 -0
  373. package/dist/data/designs/ios-instacart.md +360 -0
  374. package/dist/data/designs/ios-instagram-android.md +646 -0
  375. package/dist/data/designs/ios-instagram-expo.md +310 -0
  376. package/dist/data/designs/ios-instagram-swiftui.md +333 -0
  377. package/dist/data/designs/ios-instagram.md +376 -0
  378. package/dist/data/designs/ios-jira-android.md +432 -0
  379. package/dist/data/designs/ios-jira-expo.md +375 -0
  380. package/dist/data/designs/ios-jira-swiftui.md +433 -0
  381. package/dist/data/designs/ios-jira.md +424 -0
  382. package/dist/data/designs/ios-kakaotalk-android.md +491 -0
  383. package/dist/data/designs/ios-kakaotalk-expo.md +418 -0
  384. package/dist/data/designs/ios-kakaotalk-swiftui.md +406 -0
  385. package/dist/data/designs/ios-kakaotalk.md +414 -0
  386. package/dist/data/designs/ios-kayak-android.md +466 -0
  387. package/dist/data/designs/ios-kayak-expo.md +407 -0
  388. package/dist/data/designs/ios-kayak-swiftui.md +426 -0
  389. package/dist/data/designs/ios-kayak.md +392 -0
  390. package/dist/data/designs/ios-kick-android.md +487 -0
  391. package/dist/data/designs/ios-kick-expo.md +434 -0
  392. package/dist/data/designs/ios-kick-swiftui.md +429 -0
  393. package/dist/data/designs/ios-kick.md +389 -0
  394. package/dist/data/designs/ios-kik-android.md +433 -0
  395. package/dist/data/designs/ios-kik-expo.md +363 -0
  396. package/dist/data/designs/ios-kik-swiftui.md +363 -0
  397. package/dist/data/designs/ios-kik.md +392 -0
  398. package/dist/data/designs/ios-kindle-android.md +439 -0
  399. package/dist/data/designs/ios-kindle-expo.md +356 -0
  400. package/dist/data/designs/ios-kindle-swiftui.md +372 -0
  401. package/dist/data/designs/ios-kindle.md +369 -0
  402. package/dist/data/designs/ios-klarna-android.md +420 -0
  403. package/dist/data/designs/ios-klarna-expo.md +349 -0
  404. package/dist/data/designs/ios-klarna-swiftui.md +360 -0
  405. package/dist/data/designs/ios-klarna.md +356 -0
  406. package/dist/data/designs/ios-lemon8-android.md +492 -0
  407. package/dist/data/designs/ios-lemon8-expo.md +413 -0
  408. package/dist/data/designs/ios-lemon8-swiftui.md +428 -0
  409. package/dist/data/designs/ios-lemon8.md +378 -0
  410. package/dist/data/designs/ios-life360-android.md +474 -0
  411. package/dist/data/designs/ios-life360-expo.md +375 -0
  412. package/dist/data/designs/ios-life360-swiftui.md +390 -0
  413. package/dist/data/designs/ios-life360.md +402 -0
  414. package/dist/data/designs/ios-line-android.md +517 -0
  415. package/dist/data/designs/ios-line-expo.md +402 -0
  416. package/dist/data/designs/ios-line-swiftui.md +361 -0
  417. package/dist/data/designs/ios-line.md +362 -0
  418. package/dist/data/designs/ios-linear-android.md +457 -0
  419. package/dist/data/designs/ios-linear-expo.md +367 -0
  420. package/dist/data/designs/ios-linear-swiftui.md +401 -0
  421. package/dist/data/designs/ios-linear.md +368 -0
  422. package/dist/data/designs/ios-linkedin-android.md +620 -0
  423. package/dist/data/designs/ios-linkedin-expo.md +469 -0
  424. package/dist/data/designs/ios-linkedin-swiftui.md +472 -0
  425. package/dist/data/designs/ios-linkedin.md +444 -0
  426. package/dist/data/designs/ios-locket-android.md +500 -0
  427. package/dist/data/designs/ios-locket-expo.md +375 -0
  428. package/dist/data/designs/ios-locket-swiftui.md +375 -0
  429. package/dist/data/designs/ios-locket.md +381 -0
  430. package/dist/data/designs/ios-lyft-android.md +406 -0
  431. package/dist/data/designs/ios-lyft-expo.md +333 -0
  432. package/dist/data/designs/ios-lyft-swiftui.md +315 -0
  433. package/dist/data/designs/ios-lyft.md +337 -0
  434. package/dist/data/designs/ios-marriott-bonvoy-android.md +488 -0
  435. package/dist/data/designs/ios-marriott-bonvoy-expo.md +412 -0
  436. package/dist/data/designs/ios-marriott-bonvoy-swiftui.md +461 -0
  437. package/dist/data/designs/ios-marriott-bonvoy.md +379 -0
  438. package/dist/data/designs/ios-mastodon-android.md +476 -0
  439. package/dist/data/designs/ios-mastodon-expo.md +379 -0
  440. package/dist/data/designs/ios-mastodon-swiftui.md +349 -0
  441. package/dist/data/designs/ios-mastodon.md +337 -0
  442. package/dist/data/designs/ios-match-android.md +496 -0
  443. package/dist/data/designs/ios-match-expo.md +393 -0
  444. package/dist/data/designs/ios-match-swiftui.md +450 -0
  445. package/dist/data/designs/ios-match.md +382 -0
  446. package/dist/data/designs/ios-max-android.md +454 -0
  447. package/dist/data/designs/ios-max-expo.md +342 -0
  448. package/dist/data/designs/ios-max-swiftui.md +332 -0
  449. package/dist/data/designs/ios-max.md +352 -0
  450. package/dist/data/designs/ios-mcdonalds-android.md +497 -0
  451. package/dist/data/designs/ios-mcdonalds-expo.md +382 -0
  452. package/dist/data/designs/ios-mcdonalds-swiftui.md +394 -0
  453. package/dist/data/designs/ios-mcdonalds.md +410 -0
  454. package/dist/data/designs/ios-messenger-android.md +523 -0
  455. package/dist/data/designs/ios-messenger-expo.md +379 -0
  456. package/dist/data/designs/ios-messenger-swiftui.md +369 -0
  457. package/dist/data/designs/ios-messenger.md +361 -0
  458. package/dist/data/designs/ios-microsoft-teams-android.md +446 -0
  459. package/dist/data/designs/ios-microsoft-teams-expo.md +362 -0
  460. package/dist/data/designs/ios-microsoft-teams-swiftui.md +384 -0
  461. package/dist/data/designs/ios-microsoft-teams.md +359 -0
  462. package/dist/data/designs/ios-midjourney-android.md +503 -0
  463. package/dist/data/designs/ios-midjourney-expo.md +406 -0
  464. package/dist/data/designs/ios-midjourney-swiftui.md +376 -0
  465. package/dist/data/designs/ios-midjourney.md +407 -0
  466. package/dist/data/designs/ios-miro-android.md +475 -0
  467. package/dist/data/designs/ios-miro-expo.md +421 -0
  468. package/dist/data/designs/ios-miro-swiftui.md +407 -0
  469. package/dist/data/designs/ios-miro.md +424 -0
  470. package/dist/data/designs/ios-monday-android.md +426 -0
  471. package/dist/data/designs/ios-monday-expo.md +382 -0
  472. package/dist/data/designs/ios-monday-swiftui.md +386 -0
  473. package/dist/data/designs/ios-monday.md +415 -0
  474. package/dist/data/designs/ios-monzo-android.md +423 -0
  475. package/dist/data/designs/ios-monzo-expo.md +391 -0
  476. package/dist/data/designs/ios-monzo-swiftui.md +371 -0
  477. package/dist/data/designs/ios-monzo.md +382 -0
  478. package/dist/data/designs/ios-myfitnesspal-android.md +631 -0
  479. package/dist/data/designs/ios-myfitnesspal-expo.md +489 -0
  480. package/dist/data/designs/ios-myfitnesspal-swiftui.md +500 -0
  481. package/dist/data/designs/ios-myfitnesspal.md +408 -0
  482. package/dist/data/designs/ios-netflix-android.md +570 -0
  483. package/dist/data/designs/ios-netflix-expo.md +528 -0
  484. package/dist/data/designs/ios-netflix-swiftui.md +543 -0
  485. package/dist/data/designs/ios-netflix.md +476 -0
  486. package/dist/data/designs/ios-nextdoor-android.md +399 -0
  487. package/dist/data/designs/ios-nextdoor-expo.md +317 -0
  488. package/dist/data/designs/ios-nextdoor-swiftui.md +343 -0
  489. package/dist/data/designs/ios-nextdoor.md +332 -0
  490. package/dist/data/designs/ios-nike-run-club-android.md +598 -0
  491. package/dist/data/designs/ios-nike-run-club-expo.md +459 -0
  492. package/dist/data/designs/ios-nike-run-club-swiftui.md +474 -0
  493. package/dist/data/designs/ios-nike-run-club.md +400 -0
  494. package/dist/data/designs/ios-noom-android.md +455 -0
  495. package/dist/data/designs/ios-noom-expo.md +362 -0
  496. package/dist/data/designs/ios-noom-swiftui.md +369 -0
  497. package/dist/data/designs/ios-noom.md +404 -0
  498. package/dist/data/designs/ios-notion-android.md +575 -0
  499. package/dist/data/designs/ios-notion-expo.md +543 -0
  500. package/dist/data/designs/ios-notion-swiftui.md +562 -0
  501. package/dist/data/designs/ios-notion.md +506 -0
  502. package/dist/data/designs/ios-nubank-android.md +447 -0
  503. package/dist/data/designs/ios-nubank-expo.md +391 -0
  504. package/dist/data/designs/ios-nubank-swiftui.md +391 -0
  505. package/dist/data/designs/ios-nubank.md +388 -0
  506. package/dist/data/designs/ios-obsidian-android.md +456 -0
  507. package/dist/data/designs/ios-obsidian-expo.md +401 -0
  508. package/dist/data/designs/ios-obsidian-swiftui.md +412 -0
  509. package/dist/data/designs/ios-obsidian.md +363 -0
  510. package/dist/data/designs/ios-okcupid-android.md +496 -0
  511. package/dist/data/designs/ios-okcupid-expo.md +378 -0
  512. package/dist/data/designs/ios-okcupid-swiftui.md +343 -0
  513. package/dist/data/designs/ios-okcupid.md +364 -0
  514. package/dist/data/designs/ios-opentable-android.md +426 -0
  515. package/dist/data/designs/ios-opentable-expo.md +350 -0
  516. package/dist/data/designs/ios-opentable-swiftui.md +328 -0
  517. package/dist/data/designs/ios-opentable.md +411 -0
  518. package/dist/data/designs/ios-oura-android.md +426 -0
  519. package/dist/data/designs/ios-oura-expo.md +353 -0
  520. package/dist/data/designs/ios-oura-swiftui.md +327 -0
  521. package/dist/data/designs/ios-oura.md +356 -0
  522. package/dist/data/designs/ios-overcast-android.md +508 -0
  523. package/dist/data/designs/ios-overcast-expo.md +420 -0
  524. package/dist/data/designs/ios-overcast-swiftui.md +427 -0
  525. package/dist/data/designs/ios-overcast.md +414 -0
  526. package/dist/data/designs/ios-pandora-android.md +477 -0
  527. package/dist/data/designs/ios-pandora-expo.md +406 -0
  528. package/dist/data/designs/ios-pandora-swiftui.md +413 -0
  529. package/dist/data/designs/ios-pandora.md +366 -0
  530. package/dist/data/designs/ios-panera-android.md +414 -0
  531. package/dist/data/designs/ios-panera-expo.md +352 -0
  532. package/dist/data/designs/ios-panera-swiftui.md +369 -0
  533. package/dist/data/designs/ios-panera.md +412 -0
  534. package/dist/data/designs/ios-paramount-plus-android.md +415 -0
  535. package/dist/data/designs/ios-paramount-plus-expo.md +363 -0
  536. package/dist/data/designs/ios-paramount-plus-swiftui.md +372 -0
  537. package/dist/data/designs/ios-paramount-plus.md +400 -0
  538. package/dist/data/designs/ios-paypal-android.md +535 -0
  539. package/dist/data/designs/ios-paypal-expo.md +429 -0
  540. package/dist/data/designs/ios-paypal-swiftui.md +466 -0
  541. package/dist/data/designs/ios-paypal.md +393 -0
  542. package/dist/data/designs/ios-peacock-android.md +453 -0
  543. package/dist/data/designs/ios-peacock-expo.md +393 -0
  544. package/dist/data/designs/ios-peacock-swiftui.md +420 -0
  545. package/dist/data/designs/ios-peacock.md +411 -0
  546. package/dist/data/designs/ios-peloton-android.md +470 -0
  547. package/dist/data/designs/ios-peloton-expo.md +401 -0
  548. package/dist/data/designs/ios-peloton-swiftui.md +409 -0
  549. package/dist/data/designs/ios-peloton.md +415 -0
  550. package/dist/data/designs/ios-perplexity-android.md +553 -0
  551. package/dist/data/designs/ios-perplexity-expo.md +703 -0
  552. package/dist/data/designs/ios-perplexity-swiftui.md +602 -0
  553. package/dist/data/designs/ios-perplexity.md +453 -0
  554. package/dist/data/designs/ios-pinterest-android.md +551 -0
  555. package/dist/data/designs/ios-pinterest-expo.md +466 -0
  556. package/dist/data/designs/ios-pinterest-swiftui.md +464 -0
  557. package/dist/data/designs/ios-pinterest.md +427 -0
  558. package/dist/data/designs/ios-plenty-of-fish-android.md +462 -0
  559. package/dist/data/designs/ios-plenty-of-fish-expo.md +380 -0
  560. package/dist/data/designs/ios-plenty-of-fish-swiftui.md +429 -0
  561. package/dist/data/designs/ios-plenty-of-fish.md +387 -0
  562. package/dist/data/designs/ios-plex-android.md +403 -0
  563. package/dist/data/designs/ios-plex-expo.md +333 -0
  564. package/dist/data/designs/ios-plex-swiftui.md +349 -0
  565. package/dist/data/designs/ios-plex.md +379 -0
  566. package/dist/data/designs/ios-pluto-tv-android.md +413 -0
  567. package/dist/data/designs/ios-pluto-tv-expo.md +379 -0
  568. package/dist/data/designs/ios-pluto-tv-swiftui.md +411 -0
  569. package/dist/data/designs/ios-pluto-tv.md +362 -0
  570. package/dist/data/designs/ios-pocket-casts-android.md +492 -0
  571. package/dist/data/designs/ios-pocket-casts-expo.md +430 -0
  572. package/dist/data/designs/ios-pocket-casts-swiftui.md +479 -0
  573. package/dist/data/designs/ios-pocket-casts.md +427 -0
  574. package/dist/data/designs/ios-postman-android.md +472 -0
  575. package/dist/data/designs/ios-postman-expo.md +372 -0
  576. package/dist/data/designs/ios-postman-swiftui.md +377 -0
  577. package/dist/data/designs/ios-postman.md +405 -0
  578. package/dist/data/designs/ios-prime-video-android.md +447 -0
  579. package/dist/data/designs/ios-prime-video-expo.md +365 -0
  580. package/dist/data/designs/ios-prime-video-swiftui.md +333 -0
  581. package/dist/data/designs/ios-prime-video.md +351 -0
  582. package/dist/data/designs/ios-quora-android.md +513 -0
  583. package/dist/data/designs/ios-quora-expo.md +362 -0
  584. package/dist/data/designs/ios-quora-swiftui.md +375 -0
  585. package/dist/data/designs/ios-quora.md +359 -0
  586. package/dist/data/designs/ios-raya-android.md +401 -0
  587. package/dist/data/designs/ios-raya-expo.md +366 -0
  588. package/dist/data/designs/ios-raya-swiftui.md +393 -0
  589. package/dist/data/designs/ios-raya.md +366 -0
  590. package/dist/data/designs/ios-reddit-android.md +605 -0
  591. package/dist/data/designs/ios-reddit-expo.md +553 -0
  592. package/dist/data/designs/ios-reddit-swiftui.md +514 -0
  593. package/dist/data/designs/ios-reddit.md +460 -0
  594. package/dist/data/designs/ios-resy-android.md +430 -0
  595. package/dist/data/designs/ios-resy-expo.md +344 -0
  596. package/dist/data/designs/ios-resy-swiftui.md +330 -0
  597. package/dist/data/designs/ios-resy.md +412 -0
  598. package/dist/data/designs/ios-revolut-android.md +433 -0
  599. package/dist/data/designs/ios-revolut-expo.md +379 -0
  600. package/dist/data/designs/ios-revolut-swiftui.md +372 -0
  601. package/dist/data/designs/ios-revolut.md +353 -0
  602. package/dist/data/designs/ios-robinhood-android.md +587 -0
  603. package/dist/data/designs/ios-robinhood-expo.md +416 -0
  604. package/dist/data/designs/ios-robinhood-swiftui.md +431 -0
  605. package/dist/data/designs/ios-robinhood.md +380 -0
  606. package/dist/data/designs/ios-runna-android.md +485 -0
  607. package/dist/data/designs/ios-runna-expo.md +388 -0
  608. package/dist/data/designs/ios-runna-swiftui.md +413 -0
  609. package/dist/data/designs/ios-runna.md +390 -0
  610. package/dist/data/designs/ios-shazam-android.md +436 -0
  611. package/dist/data/designs/ios-shazam-expo.md +348 -0
  612. package/dist/data/designs/ios-shazam-swiftui.md +394 -0
  613. package/dist/data/designs/ios-shazam.md +338 -0
  614. package/dist/data/designs/ios-signal-android.md +462 -0
  615. package/dist/data/designs/ios-signal-expo.md +361 -0
  616. package/dist/data/designs/ios-signal-swiftui.md +350 -0
  617. package/dist/data/designs/ios-signal.md +357 -0
  618. package/dist/data/designs/ios-skype-android.md +398 -0
  619. package/dist/data/designs/ios-skype-expo.md +368 -0
  620. package/dist/data/designs/ios-skype-swiftui.md +369 -0
  621. package/dist/data/designs/ios-skype.md +406 -0
  622. package/dist/data/designs/ios-skyscanner-android.md +451 -0
  623. package/dist/data/designs/ios-skyscanner-expo.md +423 -0
  624. package/dist/data/designs/ios-skyscanner-swiftui.md +419 -0
  625. package/dist/data/designs/ios-skyscanner.md +421 -0
  626. package/dist/data/designs/ios-slack-android.md +695 -0
  627. package/dist/data/designs/ios-slack-expo.md +601 -0
  628. package/dist/data/designs/ios-slack-swiftui.md +594 -0
  629. package/dist/data/designs/ios-slack.md +474 -0
  630. package/dist/data/designs/ios-sleep-cycle-android.md +436 -0
  631. package/dist/data/designs/ios-sleep-cycle-expo.md +380 -0
  632. package/dist/data/designs/ios-sleep-cycle-swiftui.md +409 -0
  633. package/dist/data/designs/ios-sleep-cycle.md +386 -0
  634. package/dist/data/designs/ios-snapchat-android.md +671 -0
  635. package/dist/data/designs/ios-snapchat-expo.md +528 -0
  636. package/dist/data/designs/ios-snapchat-swiftui.md +557 -0
  637. package/dist/data/designs/ios-snapchat.md +478 -0
  638. package/dist/data/designs/ios-sofi-android.md +446 -0
  639. package/dist/data/designs/ios-sofi-expo.md +387 -0
  640. package/dist/data/designs/ios-sofi-swiftui.md +379 -0
  641. package/dist/data/designs/ios-sofi.md +385 -0
  642. package/dist/data/designs/ios-soundcloud-android.md +488 -0
  643. package/dist/data/designs/ios-soundcloud-expo.md +364 -0
  644. package/dist/data/designs/ios-soundcloud-swiftui.md +399 -0
  645. package/dist/data/designs/ios-soundcloud.md +359 -0
  646. package/dist/data/designs/ios-southwest-android.md +446 -0
  647. package/dist/data/designs/ios-southwest-expo.md +389 -0
  648. package/dist/data/designs/ios-southwest-swiftui.md +405 -0
  649. package/dist/data/designs/ios-southwest.md +405 -0
  650. package/dist/data/designs/ios-spotify-android.md +427 -0
  651. package/dist/data/designs/ios-spotify-expo.md +321 -0
  652. package/dist/data/designs/ios-spotify-swiftui.md +312 -0
  653. package/dist/data/designs/ios-spotify.md +366 -0
  654. package/dist/data/designs/ios-starbucks-android.md +622 -0
  655. package/dist/data/designs/ios-starbucks-expo.md +497 -0
  656. package/dist/data/designs/ios-starbucks-swiftui.md +500 -0
  657. package/dist/data/designs/ios-starbucks.md +440 -0
  658. package/dist/data/designs/ios-strava-android.md +656 -0
  659. package/dist/data/designs/ios-strava-expo.md +501 -0
  660. package/dist/data/designs/ios-strava-swiftui.md +465 -0
  661. package/dist/data/designs/ios-strava.md +433 -0
  662. package/dist/data/designs/ios-strong-android.md +479 -0
  663. package/dist/data/designs/ios-strong-expo.md +396 -0
  664. package/dist/data/designs/ios-strong-swiftui.md +363 -0
  665. package/dist/data/designs/ios-strong.md +415 -0
  666. package/dist/data/designs/ios-substack-android.md +440 -0
  667. package/dist/data/designs/ios-substack-expo.md +395 -0
  668. package/dist/data/designs/ios-substack-swiftui.md +371 -0
  669. package/dist/data/designs/ios-substack.md +372 -0
  670. package/dist/data/designs/ios-swiggy-android.md +549 -0
  671. package/dist/data/designs/ios-swiggy-expo.md +443 -0
  672. package/dist/data/designs/ios-swiggy-swiftui.md +471 -0
  673. package/dist/data/designs/ios-swiggy.md +432 -0
  674. package/dist/data/designs/ios-taco-bell-android.md +529 -0
  675. package/dist/data/designs/ios-taco-bell-expo.md +407 -0
  676. package/dist/data/designs/ios-taco-bell-swiftui.md +419 -0
  677. package/dist/data/designs/ios-taco-bell.md +430 -0
  678. package/dist/data/designs/ios-telegram-android.md +676 -0
  679. package/dist/data/designs/ios-telegram-expo.md +594 -0
  680. package/dist/data/designs/ios-telegram-swiftui.md +518 -0
  681. package/dist/data/designs/ios-telegram.md +458 -0
  682. package/dist/data/designs/ios-the-league-android.md +454 -0
  683. package/dist/data/designs/ios-the-league-expo.md +391 -0
  684. package/dist/data/designs/ios-the-league-swiftui.md +409 -0
  685. package/dist/data/designs/ios-the-league.md +368 -0
  686. package/dist/data/designs/ios-things-3-android.md +421 -0
  687. package/dist/data/designs/ios-things-3-expo.md +351 -0
  688. package/dist/data/designs/ios-things-3-swiftui.md +359 -0
  689. package/dist/data/designs/ios-things-3.md +339 -0
  690. package/dist/data/designs/ios-threads-android.md +588 -0
  691. package/dist/data/designs/ios-threads-expo.md +468 -0
  692. package/dist/data/designs/ios-threads-swiftui.md +452 -0
  693. package/dist/data/designs/ios-threads.md +424 -0
  694. package/dist/data/designs/ios-threema-android.md +496 -0
  695. package/dist/data/designs/ios-threema-expo.md +415 -0
  696. package/dist/data/designs/ios-threema-swiftui.md +446 -0
  697. package/dist/data/designs/ios-threema.md +397 -0
  698. package/dist/data/designs/ios-tidal-android.md +398 -0
  699. package/dist/data/designs/ios-tidal-expo.md +323 -0
  700. package/dist/data/designs/ios-tidal-swiftui.md +340 -0
  701. package/dist/data/designs/ios-tidal.md +351 -0
  702. package/dist/data/designs/ios-tiktok-android.md +654 -0
  703. package/dist/data/designs/ios-tiktok-expo.md +578 -0
  704. package/dist/data/designs/ios-tiktok-swiftui.md +595 -0
  705. package/dist/data/designs/ios-tiktok.md +387 -0
  706. package/dist/data/designs/ios-tinder-android.md +681 -0
  707. package/dist/data/designs/ios-tinder-expo.md +512 -0
  708. package/dist/data/designs/ios-tinder-swiftui.md +497 -0
  709. package/dist/data/designs/ios-tinder.md +415 -0
  710. package/dist/data/designs/ios-todoist-android.md +711 -0
  711. package/dist/data/designs/ios-todoist-expo.md +607 -0
  712. package/dist/data/designs/ios-todoist-swiftui.md +573 -0
  713. package/dist/data/designs/ios-todoist.md +418 -0
  714. package/dist/data/designs/ios-trello-android.md +412 -0
  715. package/dist/data/designs/ios-trello-expo.md +332 -0
  716. package/dist/data/designs/ios-trello-swiftui.md +359 -0
  717. package/dist/data/designs/ios-trello.md +344 -0
  718. package/dist/data/designs/ios-tripadvisor-android.md +450 -0
  719. package/dist/data/designs/ios-tripadvisor-expo.md +322 -0
  720. package/dist/data/designs/ios-tripadvisor-swiftui.md +326 -0
  721. package/dist/data/designs/ios-tripadvisor.md +356 -0
  722. package/dist/data/designs/ios-tubi-android.md +453 -0
  723. package/dist/data/designs/ios-tubi-expo.md +419 -0
  724. package/dist/data/designs/ios-tubi-swiftui.md +463 -0
  725. package/dist/data/designs/ios-tubi.md +383 -0
  726. package/dist/data/designs/ios-tumblr-android.md +462 -0
  727. package/dist/data/designs/ios-tumblr-expo.md +374 -0
  728. package/dist/data/designs/ios-tumblr-swiftui.md +380 -0
  729. package/dist/data/designs/ios-tumblr.md +337 -0
  730. package/dist/data/designs/ios-turo-android.md +500 -0
  731. package/dist/data/designs/ios-turo-expo.md +454 -0
  732. package/dist/data/designs/ios-turo-swiftui.md +447 -0
  733. package/dist/data/designs/ios-turo.md +392 -0
  734. package/dist/data/designs/ios-twitch-android.md +412 -0
  735. package/dist/data/designs/ios-twitch-expo.md +342 -0
  736. package/dist/data/designs/ios-twitch-swiftui.md +328 -0
  737. package/dist/data/designs/ios-twitch.md +354 -0
  738. package/dist/data/designs/ios-uber-android.md +637 -0
  739. package/dist/data/designs/ios-uber-eats-android.md +502 -0
  740. package/dist/data/designs/ios-uber-eats-expo.md +407 -0
  741. package/dist/data/designs/ios-uber-eats-swiftui.md +393 -0
  742. package/dist/data/designs/ios-uber-eats.md +353 -0
  743. package/dist/data/designs/ios-uber-expo.md +512 -0
  744. package/dist/data/designs/ios-uber-swiftui.md +483 -0
  745. package/dist/data/designs/ios-uber.md +395 -0
  746. package/dist/data/designs/ios-united-airlines-android.md +494 -0
  747. package/dist/data/designs/ios-united-airlines-expo.md +408 -0
  748. package/dist/data/designs/ios-united-airlines-swiftui.md +453 -0
  749. package/dist/data/designs/ios-united-airlines.md +388 -0
  750. package/dist/data/designs/ios-venmo-android.md +654 -0
  751. package/dist/data/designs/ios-venmo-expo.md +458 -0
  752. package/dist/data/designs/ios-venmo-swiftui.md +469 -0
  753. package/dist/data/designs/ios-venmo.md +436 -0
  754. package/dist/data/designs/ios-vercel-android.md +454 -0
  755. package/dist/data/designs/ios-vercel-expo.md +387 -0
  756. package/dist/data/designs/ios-vercel-swiftui.md +374 -0
  757. package/dist/data/designs/ios-vercel.md +399 -0
  758. package/dist/data/designs/ios-vero-android.md +498 -0
  759. package/dist/data/designs/ios-vero-expo.md +376 -0
  760. package/dist/data/designs/ios-vero-swiftui.md +374 -0
  761. package/dist/data/designs/ios-vero.md +394 -0
  762. package/dist/data/designs/ios-viber-android.md +377 -0
  763. package/dist/data/designs/ios-viber-expo.md +375 -0
  764. package/dist/data/designs/ios-viber-swiftui.md +378 -0
  765. package/dist/data/designs/ios-viber.md +403 -0
  766. package/dist/data/designs/ios-vimeo-android.md +465 -0
  767. package/dist/data/designs/ios-vimeo-expo.md +347 -0
  768. package/dist/data/designs/ios-vimeo-swiftui.md +383 -0
  769. package/dist/data/designs/ios-vimeo.md +403 -0
  770. package/dist/data/designs/ios-vrbo-android.md +488 -0
  771. package/dist/data/designs/ios-vrbo-expo.md +395 -0
  772. package/dist/data/designs/ios-vrbo-swiftui.md +421 -0
  773. package/dist/data/designs/ios-vrbo.md +383 -0
  774. package/dist/data/designs/ios-vsco-android.md +490 -0
  775. package/dist/data/designs/ios-vsco-expo.md +413 -0
  776. package/dist/data/designs/ios-vsco-swiftui.md +449 -0
  777. package/dist/data/designs/ios-vsco.md +412 -0
  778. package/dist/data/designs/ios-walmart-android.md +479 -0
  779. package/dist/data/designs/ios-walmart-expo.md +370 -0
  780. package/dist/data/designs/ios-walmart-swiftui.md +387 -0
  781. package/dist/data/designs/ios-walmart.md +366 -0
  782. package/dist/data/designs/ios-waze-android.md +695 -0
  783. package/dist/data/designs/ios-waze-expo.md +587 -0
  784. package/dist/data/designs/ios-waze-swiftui.md +601 -0
  785. package/dist/data/designs/ios-waze.md +453 -0
  786. package/dist/data/designs/ios-webull-android.md +429 -0
  787. package/dist/data/designs/ios-webull-expo.md +384 -0
  788. package/dist/data/designs/ios-webull-swiftui.md +406 -0
  789. package/dist/data/designs/ios-webull.md +375 -0
  790. package/dist/data/designs/ios-wechat-android.md +545 -0
  791. package/dist/data/designs/ios-wechat-expo.md +398 -0
  792. package/dist/data/designs/ios-wechat-swiftui.md +394 -0
  793. package/dist/data/designs/ios-wechat.md +363 -0
  794. package/dist/data/designs/ios-whatsapp-android.md +568 -0
  795. package/dist/data/designs/ios-whatsapp-expo.md +502 -0
  796. package/dist/data/designs/ios-whatsapp-swiftui.md +483 -0
  797. package/dist/data/designs/ios-whatsapp.md +425 -0
  798. package/dist/data/designs/ios-whoop-android.md +635 -0
  799. package/dist/data/designs/ios-whoop-expo.md +562 -0
  800. package/dist/data/designs/ios-whoop-swiftui.md +553 -0
  801. package/dist/data/designs/ios-whoop.md +419 -0
  802. package/dist/data/designs/ios-wise-android.md +428 -0
  803. package/dist/data/designs/ios-wise-expo.md +357 -0
  804. package/dist/data/designs/ios-wise-swiftui.md +356 -0
  805. package/dist/data/designs/ios-wise.md +361 -0
  806. package/dist/data/designs/ios-x-twitter-android.md +618 -0
  807. package/dist/data/designs/ios-x-twitter-expo.md +442 -0
  808. package/dist/data/designs/ios-x-twitter-swiftui.md +429 -0
  809. package/dist/data/designs/ios-x-twitter.md +432 -0
  810. package/dist/data/designs/ios-yelp-android.md +455 -0
  811. package/dist/data/designs/ios-yelp-expo.md +397 -0
  812. package/dist/data/designs/ios-yelp-swiftui.md +369 -0
  813. package/dist/data/designs/ios-yelp.md +398 -0
  814. package/dist/data/designs/ios-youtube-android.md +668 -0
  815. package/dist/data/designs/ios-youtube-expo.md +435 -0
  816. package/dist/data/designs/ios-youtube-music-android.md +450 -0
  817. package/dist/data/designs/ios-youtube-music-expo.md +404 -0
  818. package/dist/data/designs/ios-youtube-music-swiftui.md +434 -0
  819. package/dist/data/designs/ios-youtube-music.md +381 -0
  820. package/dist/data/designs/ios-youtube-swiftui.md +496 -0
  821. package/dist/data/designs/ios-youtube.md +466 -0
  822. package/dist/data/designs/ios-zalo-android.md +510 -0
  823. package/dist/data/designs/ios-zalo-expo.md +389 -0
  824. package/dist/data/designs/ios-zalo-swiftui.md +431 -0
  825. package/dist/data/designs/ios-zalo.md +388 -0
  826. package/dist/data/designs/ios-zomato-android.md +527 -0
  827. package/dist/data/designs/ios-zomato-expo.md +437 -0
  828. package/dist/data/designs/ios-zomato-swiftui.md +433 -0
  829. package/dist/data/designs/ios-zomato.md +439 -0
  830. package/dist/data/designs/ios-zoom-android.md +423 -0
  831. package/dist/data/designs/ios-zoom-expo.md +355 -0
  832. package/dist/data/designs/ios-zoom-swiftui.md +379 -0
  833. package/dist/data/designs/ios-zoom.md +357 -0
  834. package/dist/data/designs/ios-zwift-android.md +402 -0
  835. package/dist/data/designs/ios-zwift-expo.md +402 -0
  836. package/dist/data/designs/ios-zwift-swiftui.md +378 -0
  837. package/dist/data/designs/ios-zwift.md +411 -0
  838. package/dist/data/designs/kraken.md +125 -0
  839. package/dist/data/designs/lamborghini.md +288 -0
  840. package/dist/data/designs/linear.app.md +548 -0
  841. package/dist/data/designs/lovable.md +298 -0
  842. package/dist/data/designs/mastercard.md +365 -0
  843. package/dist/data/designs/material-clean.md +289 -0
  844. package/dist/data/designs/meta.md +683 -0
  845. package/dist/data/designs/midnight-pro.md +256 -0
  846. package/dist/data/designs/minimal-brutalist.md +245 -0
  847. package/dist/data/designs/minimax.md +746 -0
  848. package/dist/data/designs/mintlify.md +852 -0
  849. package/dist/data/designs/miro.md +825 -0
  850. package/dist/data/designs/mistral.ai.md +773 -0
  851. package/dist/data/designs/mongodb.md +767 -0
  852. package/dist/data/designs/nike.md +575 -0
  853. package/dist/data/designs/nintendo-2001.md +649 -0
  854. package/dist/data/designs/notion.md +821 -0
  855. package/dist/data/designs/nova-mobile-design-md.md +235 -0
  856. package/dist/data/designs/nvidia.md +640 -0
  857. package/dist/data/designs/ollama.md +539 -0
  858. package/dist/data/designs/opencode.ai.md +521 -0
  859. package/dist/data/designs/pinterest.md +597 -0
  860. package/dist/data/designs/playful-color.md +253 -0
  861. package/dist/data/designs/playstation.md +661 -0
  862. package/dist/data/designs/posthog.md +690 -0
  863. package/dist/data/designs/raycast.md +669 -0
  864. package/dist/data/designs/renault.md +589 -0
  865. package/dist/data/designs/replicate.md +616 -0
  866. package/dist/data/designs/resend.md +585 -0
  867. package/dist/data/designs/revolut.md +636 -0
  868. package/dist/data/designs/runwayml.md +244 -0
  869. package/dist/data/designs/sanity.md +357 -0
  870. package/dist/data/designs/sentry.md +551 -0
  871. package/dist/data/designs/shopify.md +516 -0
  872. package/dist/data/designs/slack.md +482 -0
  873. package/dist/data/designs/soft-glass.md +258 -0
  874. package/dist/data/designs/spacex.md +363 -0
  875. package/dist/data/designs/spotify.md +246 -0
  876. package/dist/data/designs/starbucks.md +580 -0
  877. package/dist/data/designs/stripe.md +487 -0
  878. package/dist/data/designs/supabase.md +462 -0
  879. package/dist/data/designs/superhuman.md +448 -0
  880. package/dist/data/designs/tesla.md +286 -0
  881. package/dist/data/designs/theverge.md +339 -0
  882. package/dist/data/designs/together.ai.md +633 -0
  883. package/dist/data/designs/uber.md +636 -0
  884. package/dist/data/designs/vercel.md +736 -0
  885. package/dist/data/designs/vodafone.md +538 -0
  886. package/dist/data/designs/voltagent.md +521 -0
  887. package/dist/data/designs/warp.md +526 -0
  888. package/dist/data/designs/webflow.md +588 -0
  889. package/dist/data/designs/wired.md +497 -0
  890. package/dist/data/designs/wise.md +544 -0
  891. package/dist/data/designs/x.ai.md +465 -0
  892. package/dist/data/designs/zapier.md +537 -0
  893. package/dist/data/index.json +2600 -0
  894. package/dist/httpServer.js +83 -0
  895. package/dist/index.js +13 -0
  896. package/dist/server.js +32 -0
  897. package/dist/services/designStore.js +59 -0
  898. package/dist/services/linter.js +87 -0
  899. package/dist/services/sectionParser.js +154 -0
  900. package/dist/tools/authoring.js +131 -0
  901. package/dist/tools/browse.js +232 -0
  902. package/dist/tools/diff.js +88 -0
  903. package/dist/tools/getDesign.js +216 -0
  904. package/dist/tools/guardrails.js +87 -0
  905. package/dist/tools/lint.js +104 -0
  906. package/dist/types.js +1 -0
  907. package/package.json +65 -0
@@ -0,0 +1,394 @@
1
+ # Design System Inspiration of GitHub (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ GitHub's iOS app is the **Primer design system** rendered for mobile — a developer's tool that is dense, information-first, and engineered to make code, diffs, and project state legible at a glance. The default experience is **dark mode** (Primer "dark default"): a deep blue-tinted near-black canvas (`#0D1117`) with surfaces stepping up in measured increments — `#161B22` (subtle/raised), `#21262D` (buttons, inset rows) — each separated by a precise `#30363D` border. Light mode (`#FFFFFF` canvas, `#F6F8FA` subtle) is a first-class peer. The atmosphere is utilitarian and trustworthy: no flourish, no gratuitous motion, every pixel devoted to repository content.
6
+
7
+ The signature screens — the ones that must be reproduced faithfully — are the **repository home** and the **code browser**. The repo home leads with `owner / name` (both segments in accent blue `#2F81F7`, the name bold), a one-line description, language dot + star + fork stats, a horizontally-scrolling tab strip (**Code · Issues · Pull requests · Actions**) with an orange (`#F78166`) active underline, a branch pill, a latest-commit strip, the file tree, and then the **README rendered inline** in a bordered card. The code browser is a monospace file viewer with a sticky path breadcrumb. This "repo header → file tree → inline README" composition is GitHub's home and the heart of the product.
8
+
9
+ Color in GitHub is **semantic and disciplined**. There is one link/accent blue (`#2F81F7`), and one famous green — `#238636` — that is *strictly reserved* for the "**Code**" download button and the "**Merge pull request**" button (it literally signals "go / merge"). State is color-coded by meaning, not decoration: an **open** issue/PR is green (`#3FB950`), a **merged** PR is purple (`#A371F7`), a **closed** issue/PR is red (`#F85149`), a **draft** is grey. The most recognizable GitHub visual of all is the **contributions heatmap** — a grid of squares ramping `#161B22 → #0E4429 → #006D32 → #26A641 → #39D353` ("Less → More"). These colors are not interchangeable; each carries a fixed meaning a developer reads instantly.
10
+
11
+ Typography is **Mona Sans** (GitHub's own variable grotesque, OFL) for UI, with a monospace (`SF Mono` / GitHub's "Monaspace" / `JetBrains Mono` as fallbacks) for **all code, SHAs, file names in trees, and diffs**. The monospace is load-bearing: a commit SHA, a branch name, a file path, and a code blob are always monospace because alignment and character distinction matter. Body UI text is 14pt regular; the type system is conventional and reading-optimized — the personality is in the semantic color and the dense, structured layouts, not the letterforms.
12
+
13
+ **Key Characteristics:**
14
+ - Primer dark default: canvas `#0D1117`, surfaces `#161B22` / `#21262D`, borders `#30363D`; light mode a first-class peer
15
+ - One accent blue (`#2F81F7`) for links/active; one reserved green (`#238636`) for **Code** / **Merge** buttons only
16
+ - Repo home: `owner / name` + description + language/stars/forks + tab strip + branch pill + file tree + inline README
17
+ - Code browser: monospace file viewer with sticky path breadcrumb and a latest-commit strip
18
+ - Semantic state colors: open = green `#3FB950`, merged = purple `#A371F7`, closed = red `#F85149`, draft = grey
19
+ - Contributions heatmap: 5-step ramp `#161B22 → #0E4429 → #006D32 → #26A641 → #39D353`
20
+ - Issue/PR labels as bordered pills tinted by the label's own color (bug red, enhancement purple, etc.)
21
+ - Mona Sans for UI; monospace for ALL code, SHAs, file names, branch names, diffs
22
+ - Diff rendering: additions on a green wash, deletions on a red wash, line numbers in a muted gutter
23
+ - Octocat mark + the "Code" `<>` button as fixed brand anchors
24
+ - Bottom tab bar (Home / Notifications / Explore / Profile) with an orange-coral active underline on segmented strips
25
+
26
+ ## 2. Color Palette & Roles
27
+
28
+ ### Primary (Interactive)
29
+ - **Accent FG** (`#2F81F7` dark / `#0969DA` light): Hyperlinks, `owner/name`, active text, selected states, focus rings.
30
+ - **Accent Emphasis** (`#1F6FEB` dark / `#0969DA` light): Pressed link, primary-info button fill.
31
+ - **Button Primary** (`#238636` dark / `#1F883D` light): RESERVED — the "Code" download button and "Merge pull request" button only.
32
+ - **Button Primary Hover** (`#2EA043` dark / `#1A7F37` light): Pressed/hover of the green button.
33
+
34
+ ### Canvas & Surfaces (Dark — default)
35
+ - **Canvas Default** (`#0D1117`): Primary canvas — blue-tinted near-black.
36
+ - **Canvas Subtle** (`#161B22`): Raised surfaces, README/file-list card headers, contributions level-0.
37
+ - **Canvas Inset / Surface** (`#21262D`): Default button background, code-block background, inset rows, count pills.
38
+ - **Surface Pressed** (`#30363D`): Pressed rows, hovered list items.
39
+ - **Border Default** (`#30363D`): Primary 1pt borders (cards, file list, buttons).
40
+ - **Border Muted** (`#21262D`): Hairline row dividers inside lists.
41
+
42
+ ### Canvas & Surfaces (Light)
43
+ - **Canvas Default Light** (`#FFFFFF`): Primary canvas.
44
+ - **Canvas Subtle Light** (`#F6F8FA`): Raised surfaces, code blocks, card headers.
45
+ - **Border Default Light** (`#D0D7DE`): Primary borders.
46
+ - **Border Muted Light** (`#D8DEE4`): Hairline dividers.
47
+
48
+ ### Text (Foreground)
49
+ - **FG Default** (`#E6EDF3` dark / `#1F2328` light): Primary text, file names, headings.
50
+ - **FG Muted** (`#7D8590` dark / `#656D76` light): Descriptions, metadata, secondary text.
51
+ - **FG Subtle** (`#6E7681` dark / `#6E7781` light): Timestamps, very low-emphasis, placeholders.
52
+ - **FG on Emphasis** (`#FFFFFF`): Text on green/blue/red emphasis fills.
53
+
54
+ ### Semantic State
55
+ | Role | Dark | Light | Meaning |
56
+ |------|------|-------|---------|
57
+ | Open (success) | `#3FB950` | `#1A7F37` | Open issue/PR, passing check, success label |
58
+ | Merged (done) | `#A371F7` | `#8250DF` | Merged PR (purple is "done") |
59
+ | Closed (danger) | `#F85149` | `#CF222E` | Closed issue/PR, failing check, delete |
60
+ | Draft / Neutral | `#6E7681` | `#6E7781` | Draft PR, neutral state |
61
+ | Attention | `#D29922` | `#9A6700` | Pending check, warning, "needs attention" |
62
+ | Sponsor (pink) | `#DB61A2` | `#BF3989` | Sponsor heart, GitHub Sponsors |
63
+
64
+ ### Contributions Heatmap (the iconic ramp)
65
+ | Level | Dark | Light |
66
+ |-------|------|-------|
67
+ | 0 (none) | `#161B22` | `#EBEDF0` |
68
+ | 1 | `#0E4429` | `#9BE9A8` |
69
+ | 2 | `#006D32` | `#40C463` |
70
+ | 3 | `#26A641` | `#30A14E` |
71
+ | 4 (most) | `#39D353` | `#216E39` |
72
+
73
+ ### Diff Colors
74
+ - **Addition line bg** (`rgba(63,185,80,0.15)` dark) · marker `#3FB950`
75
+ - **Deletion line bg** (`rgba(248,81,73,0.15)` dark) · marker `#F85149`
76
+ - **Diff gutter** (`#6E7681` line numbers on `#161B22`)
77
+
78
+ ## 3. Typography Rules
79
+
80
+ ### Font Family
81
+ - **UI**: **Mona Sans** (by GitHub, SIL OFL) — a variable grotesque. Fallback `-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif`.
82
+ - **Monospace**: **Monaspace** / `SF Mono` on iOS; `'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace` as the open fallback. Used for **all** code, SHAs, file/branch names, diffs, inline `code`.
83
+ - **Heading variant**: Mona Sans (GitHub uses one family for display + body; weight + size establish hierarchy).
84
+
85
+ ### Hierarchy
86
+
87
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
88
+ |------|------|------|--------|-------------|----------------|-------|
89
+ | Display | Mona Sans | 32pt | 800 | 1.15 | -0.4pt | Marketing/empty-state hero |
90
+ | Repo Title | Mona Sans | 24pt | 700 | 1.2 | -0.3pt | `owner / name` heading |
91
+ | Section | Mona Sans | 20pt | 600 | 1.3 | -0.2pt | "Pull requests", profile sections |
92
+ | Subtitle | Mona Sans | 16pt | 600 | 1.4 | 0pt | "Latest commit", card titles |
93
+ | Body | Mona Sans | 14pt | 400 | 1.5 | 0pt | Descriptions, issue/PR body |
94
+ | Body Strong | Mona Sans | 14pt | 600 | 1.5 | 0pt | File names, emphasized inline |
95
+ | Code / Blob | Monospace | 13pt | 400 | 1.45 | 0pt | Code viewer, diffs, code blocks |
96
+ | Code Inline | Monospace | 13pt | 400 | 1.4 | 0pt | `inline code` on `#21262D` |
97
+ | SHA / Branch | Monospace | 12pt | 600 | 1.0 | 0pt | Commit SHA, branch chips |
98
+ | Metadata | Mona Sans | 12pt | 400 | 1.4 | 0pt | "opened 3 days ago by …" |
99
+ | Label | Mona Sans | 12pt | 500 | 1.0 | 0pt | Issue labels, state pills |
100
+ | Count Pill | Mona Sans | 11pt | 600 | 1.0 | 0pt | Tab counts ("2.3k") |
101
+ | Tab Label | Mona Sans | 10pt | 500 | 1.0 | 0.1pt | Bottom tab labels |
102
+ | Caption | Mona Sans | 11pt | 400 | 1.3 | 0pt | Heatmap legend, fine print |
103
+
104
+ ### Principles
105
+ - **Monospace is the contract**: code, SHAs, file names in trees, branch names, and diffs are ALWAYS monospace — alignment and glyph distinction (`0` vs `O`, `l` vs `1`) are functional, not stylistic.
106
+ - **Weight + size for hierarchy**: one family (Mona Sans); 800 display, 700 repo title, 600 sections/subtitles/strong, 400 body. No thin.
107
+ - **Reading-optimized, not expressive**: the type system is conventional; GitHub's identity is the semantic color and dense structured layouts.
108
+ - **Numbers and counts are tabular**: star/fork counts, tab counts, line numbers use tabular figures so columns align.
109
+ - **Dynamic Type**: titles, body, code scale; tab labels, count pills, SHAs stay fixed (table/tree-layout-sensitive).
110
+
111
+ ## 4. Component Stylings
112
+
113
+ ### Buttons
114
+
115
+ **Primary Button (Code / Merge pull request — RESERVED green)**
116
+ - Shape: rounded rectangle, 6pt corner radius
117
+ - Background: `#238636` (dark) / `#1F883D` (light) — used ONLY for "Code" download and "Merge pull request"
118
+ - Text/icon: `#FFFFFF`
119
+ - Border: 1pt `rgba(240,246,252,0.1)` (subtle top highlight)
120
+ - Padding: 10pt vertical, 16pt horizontal
121
+ - Font: Mona Sans 14pt weight 600
122
+ - Pressed: background `#2EA043`
123
+
124
+ **Default Button (Watch / Fork / Star / secondary actions)**
125
+ - Background: `#21262D` (dark) / `#F6F8FA` (light)
126
+ - Text: `#E6EDF3` (dark) / `#24292F` (light)
127
+ - Border: 1pt `#30363D` (dark) / `#D0D7DE` (light)
128
+ - Corner radius: 6pt
129
+ - Padding: 10pt vertical, 16pt horizontal
130
+ - Font: Mona Sans 14pt weight 600
131
+ - Pressed: background `#30363D`
132
+
133
+ **Danger Button (Close issue / Delete)**
134
+ - Background: `#21262D`, text `#F85149`, border 1pt `#30363D`
135
+ - On confirm/destructive primary: background `#DA3633`, text `#FFFFFF`
136
+ - Corner radius: 6pt, same padding/font as default
137
+
138
+ **Link / Text Button (View all branches / counterfactual nav)**
139
+ - Font: Mona Sans 14pt weight 500
140
+ - Color: `#2F81F7` (accent)
141
+ - No background, no border
142
+ - Pressed: underline
143
+
144
+ **Counter Button (Star with count)**
145
+ - Two-segment: a default button + an attached count pill (`#161B22` bg, `#7D8590` text, left border)
146
+
147
+ ### Repository Components (the core)
148
+
149
+ **Repo Header**
150
+ - Octocat-less; leads with a repo glyph (17pt `#7D8590`) + `owner` (`#2F81F7`) + `/` (`#7D8590`) + `name` (`#2F81F7` bold), Mona Sans 15–24pt
151
+ - Description: Mona Sans 13–14pt `#7D8590`
152
+ - Stats row: language dot (11pt circle, language color e.g. TS `#3178C6`) + label, star (`#7D8590` + count), fork (`#7D8590` + count), Mona Sans 12pt
153
+
154
+ **Tab Strip (Code / Issues / Pull requests / Actions)**
155
+ - Horizontally scrollable; each item Mona Sans 14pt
156
+ - Inactive: `#7D8590`; Active: `#E6EDF3` weight 600 + 2pt **orange-coral** underline `#F78166`
157
+ - Count badge: `#161B22` pill, `#6E7681` text, Mona Sans 11pt w600
158
+
159
+ **Branch Pill**
160
+ - `#161B22` bg, 1pt `#30363D` border, 6pt radius
161
+ - Leading branch glyph (13pt), branch name in **monospace** 12pt w600 `#E6EDF3`
162
+
163
+ **Latest-Commit Strip**
164
+ - `#161B22` bg, bottom border `#30363D`
165
+ - Avatar (18pt circle) + commit message (`#E6EDF3` truncated) + **monospace** short SHA (`#7D8590` 11pt) + relative time
166
+
167
+ **File Tree Row**
168
+ - Folder glyph `#7D8590` (filled) or file glyph `#7D8590` (outline), 15pt
169
+ - File/dir name: `#E6EDF3` 13pt (monospace for file names is acceptable; GitHub uses sans for the tree list label but mono in the path breadcrumb)
170
+ - Trailing: last-commit message (`#7D8590` 12pt, truncated) + relative time (`#6E7681` 11pt)
171
+ - Row divider: 1pt `#21262D`
172
+
173
+ **Inline README Card**
174
+ - 1pt `#30363D` border, 8pt radius
175
+ - Header: file glyph + "README.md" (`#E6EDF3` 13pt w600) on `#161B22`, bottom border `#30363D`
176
+ - Body: rendered markdown — `h1` 19pt w700 with a `#21262D` bottom rule; body 13pt `#7D8590`; `code` chips on `#21262D`; status badges as small monospace pills
177
+
178
+ ### State & Labels
179
+
180
+ **State Pill (Open / Merged / Closed / Draft)**
181
+ - Pill, 999pt radius, Mona Sans 12pt w600, `#FFFFFF` text
182
+ - Open `#3FB950` (leading ● dot or issue-opened glyph), Merged `#A371F7` (⑂ merge glyph), Closed `#F85149` (● or x glyph), Draft `#6E7681` (○)
183
+ - Padding: 5pt vertical, 12pt horizontal
184
+
185
+ **Issue Label (bug / enhancement / good first issue / custom)**
186
+ - Pill, 999pt radius, 1pt border, Mona Sans 12pt w500
187
+ - Color-tinted by the label's own color: text = label color, border = label color @ 40%, fill = label color @ 10%
188
+ - Examples: bug `#F85149`, enhancement `#A371F7`, good first issue `#3FB950`, documentation `#0075CA`
189
+
190
+ ### Contributions Heatmap (signature)
191
+
192
+ - Grid of squares, each `aspect-ratio: 1`, 2pt radius, 3pt gap
193
+ - Fill by activity level: L0 `#161B22` (1pt `rgba(110,118,129,0.15)` border) · L1 `#0E4429` · L2 `#006D32` · L3 `#26A641` · L4 `#39D353`
194
+ - Legend row: "Less" + 5 swatches L0→L4 + "More", Mona Sans 11pt `#7D8590`
195
+ - Tap a square → tooltip "{n} contributions on {date}"
196
+
197
+ ### Diff Viewer (signature for PRs)
198
+
199
+ - Monospace blob, 13pt, `#161B22` background
200
+ - Addition line: `rgba(63,185,80,0.15)` row bg, leading `+` marker `#3FB950`
201
+ - Deletion line: `rgba(248,81,73,0.15)` row bg, leading `-` marker `#F85149`
202
+ - Line-number gutter: `#6E7681` on `#0D1117`, right-aligned, 1pt right border `#21262D`
203
+ - File header: filename (monospace `#E6EDF3`) + additions `+N` (`#3FB950`) / deletions `-N` (`#F85149`)
204
+
205
+ ### Navigation
206
+
207
+ **Bottom Tab Bar**
208
+ - Height: 66pt + safe area
209
+ - Background: `rgba(13,17,23,0.94)` with `backdrop-filter: blur(20px)`, 1pt top border `#21262D`
210
+ - Tabs (4): Home, Notifications, Explore, Profile
211
+ - Icon size: 22pt
212
+ - Active: glyph + label `#E6EDF3` (thicker stroke); no tint pill
213
+ - Inactive: `#7D8590`
214
+ - Labels: Mona Sans 10pt w500, always shown
215
+ - Notifications tab shows a `#F85149` unread dot when applicable
216
+
217
+ **Top Bar (repo view)**
218
+ - Height: 44pt + safe area
219
+ - Leading: back chevron `#7D8590`; Trailing: overflow `⋯` (repo actions)
220
+ - Title appears on scroll (compact `owner/name`)
221
+
222
+ ### Input Fields
223
+
224
+ **Search Bar (Explore / repo file finder)**
225
+ - Height: 40pt, `#0D1117` bg, 1pt `#30363D` border, 6pt radius
226
+ - Leading `magnifyingglass` 16pt `#7D8590`
227
+ - Placeholder: "Search or jump to…" 14pt `#6E7681`
228
+ - Focus: 1pt `#2F81F7` border + 3pt `rgba(47,129,247,0.3)` ring
229
+
230
+ **Comment Composer (issues/PRs)**
231
+ - Multi-line, `#0D1117` bg, 1pt `#30363D` border, 6pt radius
232
+ - "Write / Preview" segmented tabs on top; Markdown toolbar
233
+ - Submit = green `#238636` "Comment" button (this green is allowed for the primary submit on a comment form)
234
+
235
+ ## 5. Layout Principles
236
+
237
+ ### Spacing System
238
+ - Base unit: 4pt — scale: 4, 8, 12, 16, 20, 24, 32, 48
239
+ - List row vertical padding: 9–12pt (dense)
240
+ - Card internal padding: 14–16pt
241
+ - Screen horizontal inset: 16pt
242
+
243
+ ### Grid & Container
244
+ - iPhone: content at 16pt horizontal insets; file list / README in full-width bordered cards
245
+ - Tab strip scrolls horizontally; never wraps
246
+ - iPad: 2-pane — repo nav/file tree (left) + content (right); diff viewer can split old/new
247
+ - Code viewer: horizontal scroll for long lines (never wrap code)
248
+
249
+ ### Whitespace Philosophy
250
+ - **Dense and structured**: this is a developer tool — rows are tight, information is maximized, every card has a clear bordered boundary
251
+ - **Borders define regions**: GitHub uses 1pt `#30363D` borders (not shadows) to delineate cards, lists, and the README — structure over softness
252
+ - **Stepped surfaces**: depth is communicated by luminance steps (`#0D1117 → #161B22 → #21262D`), not drop-shadows
253
+ - **Code breathes within structure**: code blocks get internal padding and their own surface, but the chrome around them stays tight
254
+
255
+ ### Border Radius Scale
256
+ - Square (0pt): full-bleed media, diff line rows
257
+ - Subtle (4pt): code chips, contribution squares, badges
258
+ - Standard (6pt): buttons, branch pill, search, inputs
259
+ - Card (8pt): file list, README card, issue cards
260
+ - Comfortable (12pt): bottom sheets, modals
261
+ - Pill (999pt): state pills, issue labels, count badges
262
+ - Circle (50%): avatars
263
+
264
+ ## 6. Depth & Elevation
265
+
266
+ GitHub is structurally flat — depth is **stepped surface luminance + 1pt borders**, not shadow.
267
+
268
+ | Level | Treatment | Use |
269
+ |-------|-----------|-----|
270
+ | Canvas (Level 0) | `#0D1117`, no border | Page background |
271
+ | Subtle (Level 1) | `#161B22` + 1pt `#30363D` | Cards, README, file-list headers |
272
+ | Inset (Level 1.5) | `#21262D` + 1pt `#30363D` | Buttons, code blocks, count pills |
273
+ | Floating (Level 2) | `#161B22` + 1pt `#30363D` + `rgba(1,4,9,0.85) 0 8px 24px` | Dropdowns (branch switcher, ⋯ menus), autocomplete |
274
+ | Sheet (Level 3) | `#161B22` + 12pt top radius + `rgba(1,4,9,0.85) 0 -8px 24px` | Bottom sheets (share, label picker) |
275
+ | Scrim (Level 4) | `rgba(1,4,9,0.8)` overlay | Behind modals/sheets |
276
+
277
+ **Shadow Philosophy**: On the dark canvas, shadows are minimal — a 1pt `#30363D` border is the primary "this is a distinct region" cue, reinforced by a luminance step. Only true overlays (menus, sheets) get a shadow, and it's a deep `rgba(1,4,9,0.85)` (near-black, blue-tinted) to read over `#0D1117`.
278
+
279
+ ### Motion
280
+ - **Tab strip switch**: orange underline slides to the new tab over 200ms ease-out; content crossfades
281
+ - **Branch switcher**: dropdown fades + 4pt slide-down in 150ms ease-out; filter is instant
282
+ - **Star/Watch toggle**: button label flips ("Star" ↔ "Starred"), count increments with a 120ms count-up; subtle scale 1 → 0.97 → 1; soft haptic
283
+ - **Merge button**: on tap, button shows a spinner, then morphs to purple "Merged" state over 250ms; success haptic
284
+ - **Diff expand**: "Expand N lines" injects rows with a 150ms height ease-out
285
+ - **Pull-to-refresh**: standard iOS spinner; repo/feed refetches
286
+ - **List append (infinite scroll)**: new rows fade in over 150ms as they enter
287
+ - **Navigation**: native iOS push (300ms horizontal slide) between repo → file → blob
288
+ - **Haptic feedback**: soft impact on star/watch toggle and merge; selection tick on tab change
289
+
290
+ ## 7. Do's and Don'ts
291
+
292
+ ### Do
293
+ - Use Primer dark default: canvas `#0D1117`, surfaces `#161B22` / `#21262D`, borders `#30363D`
294
+ - Reserve green `#238636` for the "Code" download and "Merge pull request" buttons ONLY
295
+ - Use accent blue `#2F81F7` for links, `owner/name`, and active/selected states
296
+ - Color state semantically: open = green `#3FB950`, merged = purple `#A371F7`, closed = red `#F85149`, draft = grey
297
+ - Render the contributions heatmap with the exact 5-step ramp `#161B22 → #0E4429 → #006D32 → #26A641 → #39D353`
298
+ - Use monospace for ALL code, SHAs, file/branch names, and diffs — alignment is functional
299
+ - Define regions with 1pt `#30363D` borders + luminance steps, not drop-shadows
300
+ - Render the README inline in a bordered card on the repo home
301
+ - Give the active tab an orange-coral `#F78166` 2pt underline
302
+ - Tint issue labels by the label's own color (text + 40% border + 10% fill)
303
+ - Render diffs with green/red line washes and a muted line-number gutter
304
+
305
+ ### Don't
306
+ - Don't use the green `#238636` for generic CTAs — it specifically means "download code / merge"
307
+ - Don't swap state colors — merged is ALWAYS purple, closed is ALWAYS red; developers read these instantly
308
+ - Don't render code, SHAs, or file paths in the sans face — monospace is the contract
309
+ - Don't use drop-shadows to separate cards — use borders + surface steps
310
+ - Don't wrap long code lines — code scrolls horizontally
311
+ - Don't use a pure-black canvas — Primer dark is the blue-tinted `#0D1117`
312
+ - Don't tint the active bottom tab with a pill — active is `#E6EDF3` glyph+label
313
+ - Don't recolor the contributions ramp — it's GitHub's single most recognizable visual
314
+ - Don't soften the dense layout with large whitespace — this is a developer tool, density is the point
315
+ - Don't use accent blue for body text — blue is links/active only
316
+ - Don't animate aggressively — motion is quiet, functional, 150–300ms ease-out
317
+
318
+ ## 8. Responsive Behavior
319
+
320
+ ### Device Sizes
321
+ | Device | Width | Key Changes |
322
+ |--------|-------|-------------|
323
+ | iPhone SE (3rd gen) | 375pt | Tab strip scrolls; stats may wrap to 2 lines |
324
+ | iPhone 13/14/15 | 390pt | Standard layout |
325
+ | iPhone 15/16 Pro | 393pt | Dynamic Island accommodated in top bar |
326
+ | iPhone 15/16 Pro Max | 430pt | Wider file tree; more visible heatmap weeks |
327
+ | iPad (portrait) | 768pt | 2-pane: file tree (left) + blob/README (right) |
328
+ | iPad (landscape) | 1024pt+ | 3-pane possible: nav + tree + content; split diff (old/new) |
329
+
330
+ ### Dynamic Type
331
+ - Repo title, section, body, code: full scale
332
+ - Tab labels, count pills, SHAs, heatmap squares: FIXED (table/tree-layout-sensitive)
333
+ - Code blocks: scale to XL (stay monospace, still horizontally scroll)
334
+
335
+ ### Orientation
336
+ - All screens support rotation
337
+ - iPad split view: persistent file tree (primary) + blob/diff (secondary)
338
+ - Diff viewer switches to side-by-side (old | new) in landscape/iPad
339
+
340
+ ### Touch Targets
341
+ - Tab strip item: 44pt min hit, 14pt label
342
+ - File tree row: full-row 44pt hit
343
+ - Bottom tab icons: 22pt glyph, 44pt hit
344
+ - Heatmap square: small visual, 28pt effective hit (tooltip)
345
+ - Buttons: 36–44pt tall
346
+
347
+ ### Safe Area Handling
348
+ - Top: top bar respects safe area and Dynamic Island
349
+ - Bottom: bottom tab bar respects home indicator; comment composer docks above keyboard
350
+ - Keyboard: file finder / comment composer scrolls above keyboard
351
+ - Sides: 16pt content inset; code blocks scroll horizontally within insets
352
+
353
+ ## 9. Agent Prompt Guide
354
+
355
+ ### Quick Color Reference
356
+ - Canvas (dark): `#0D1117` · (light): `#FFFFFF`
357
+ - Canvas subtle: `#161B22` dark / `#F6F8FA` light
358
+ - Surface / inset: `#21262D` dark / `#F6F8FA` light
359
+ - Border default: `#30363D` dark / `#D0D7DE` light
360
+ - FG default: `#E6EDF3` dark / `#1F2328` light
361
+ - FG muted: `#7D8590` dark / `#656D76` light
362
+ - Accent (link): `#2F81F7` dark / `#0969DA` light
363
+ - Button primary (Code/Merge): `#238636` dark / `#1F883D` light
364
+ - Open (success): `#3FB950` · Merged (done): `#A371F7` · Closed (danger): `#F85149` · Draft: `#6E7681`
365
+ - Attention: `#D29922` · Sponsor: `#DB61A2`
366
+ - Heatmap: `#161B22 → #0E4429 → #006D32 → #26A641 → #39D353`
367
+ - Tab active underline: `#F78166`
368
+
369
+ ### Example Component Prompts
370
+ - "Build the GitHub repo header in SwiftUI: a repo glyph (17pt `#7D8590`) + `owner` (`#2F81F7`) + `/` (`#7D8590`) + `name` (`#2F81F7` bold) in Mona Sans 15pt; below, a description in Mona Sans 13pt `#7D8590`; a stats row with a language dot (11pt circle, language color) + label, a star glyph + count, a fork glyph + count in Mona Sans 12pt `#7D8590`. Canvas `#0D1117`."
371
+
372
+ - "Create the GitHub tab strip: horizontally-scrolling Mona Sans 14pt items 'Code', 'Issues', 'Pull requests', 'Actions'. Inactive `#7D8590`; active `#E6EDF3` weight 600 with a 2pt `#F78166` orange-coral underline. Count badges as `#161B22` pills with `#6E7681` Mona Sans 11pt w600 text."
373
+
374
+ - "Render the GitHub inline README card: 1pt `#30363D` border, 8pt radius. Header row: file glyph + 'README.md' (`#E6EDF3` 13pt w600) on `#161B22` with a bottom `#30363D` border. Body: rendered markdown — h1 19pt w700 with a `#21262D` bottom rule, body 13pt `#7D8590`, inline `code` on a `#21262D` chip, a status badge as a small monospace pill (`#3FB950` bg, `#0D1117` text)."
375
+
376
+ - "Build the GitHub contributions heatmap: a grid of `aspect-ratio: 1` squares, 2pt radius, 3pt gap, filled by activity level — L0 `#161B22` (1pt `rgba(110,118,129,0.15)` border), L1 `#0E4429`, L2 `#006D32`, L3 `#26A641`, L4 `#39D353`. Below: a legend 'Less' + 5 swatches L0→L4 + 'More' in Mona Sans 11pt `#7D8590`. Tap a square → tooltip '{n} contributions on {date}'."
377
+
378
+ - "Create GitHub state pills: rounded 999pt, Mona Sans 12pt w600, white text, 5pt×12pt padding. Open = `#3FB950` (leading ● / issue-opened glyph), Merged = `#A371F7` (merge glyph), Closed = `#F85149` (x glyph), Draft = `#6E7681` (○). Issue labels: 1pt-bordered pills tinted by the label's own color — text = label color, border = 40% alpha, fill = 10% alpha (bug `#F85149`, enhancement `#A371F7`, good first issue `#3FB950`)."
379
+
380
+ - "Build the GitHub diff viewer: monospace 13pt blob on `#161B22`. Addition lines get a `rgba(63,185,80,0.15)` row background + a `+` marker `#3FB950`; deletion lines get `rgba(248,81,73,0.15)` + a `-` marker `#F85149`. Line-number gutter: `#6E7681` numbers on `#0D1117`, right-aligned, 1pt right border `#21262D`. File header: filename (monospace `#E6EDF3`) + `+N` (`#3FB950`) `-N` (`#F85149`)."
381
+
382
+ - "Build the GitHub bottom tab bar: 66pt + safe area, `rgba(13,17,23,0.94)` 20px blur, 1pt `#21262D` top border. Four tabs: Home, Notifications, Explore, Profile — 22pt glyphs, Mona Sans 10pt w500 labels. Active = `#E6EDF3` glyph+label (thicker stroke, NO pill). Inactive = `#7D8590`. A `#F85149` unread dot on Notifications when applicable."
383
+
384
+ ### Iteration Guide
385
+ 1. Canvas is Primer dark `#0D1117` (blue-tinted near-black) — NOT pure black; surfaces step `#161B22 → #21262D`
386
+ 2. Green `#238636` is RESERVED for "Code" download + "Merge pull request" — never a generic CTA
387
+ 3. Accent blue `#2F81F7` is links / `owner/name` / active states only — never body text
388
+ 4. State color is semantic and fixed: open = green `#3FB950`, merged = purple `#A371F7`, closed = red `#F85149`, draft = grey
389
+ 5. The contributions heatmap ramp is exact (`#161B22 → #0E4429 → #006D32 → #26A641 → #39D353`) — GitHub's signature visual
390
+ 6. Monospace for ALL code, SHAs, file/branch names, diffs — alignment & glyph distinction are functional
391
+ 7. Regions are defined by 1pt `#30363D` borders + luminance steps, NOT drop-shadows
392
+ 8. The repo home composition is: `owner/name` header → tab strip → branch pill → latest-commit strip → file tree → inline README card
393
+ 9. The active tab strip item gets a 2pt orange-coral `#F78166` underline (the tab bar itself has no pill)
394
+ 10. Diffs use green/red line washes + a muted line-number gutter; code never wraps (horizontal scroll)