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.
- package/LICENSE +21 -0
- package/README.md +119 -0
- package/dist/__tests__/designStore.test.js +41 -0
- package/dist/__tests__/linter.test.js +23 -0
- package/dist/__tests__/sectionParser.test.js +60 -0
- package/dist/__tests__/server.test.js +129 -0
- package/dist/constants.js +12 -0
- package/dist/data/authoring-guide.md +113 -0
- package/dist/data/designs/airbnb.md +545 -0
- package/dist/data/designs/airtable.md +554 -0
- package/dist/data/designs/apple.md +562 -0
- package/dist/data/designs/binance.md +634 -0
- package/dist/data/designs/bmw-m.md +503 -0
- package/dist/data/designs/bmw.md +544 -0
- package/dist/data/designs/bugatti.md +454 -0
- package/dist/data/designs/cal.md +542 -0
- package/dist/data/designs/card-heavy.md +250 -0
- package/dist/data/designs/claude.md +589 -0
- package/dist/data/designs/clay.md +541 -0
- package/dist/data/designs/clickhouse.md +544 -0
- package/dist/data/designs/cohere.md +451 -0
- package/dist/data/designs/coinbase.md +570 -0
- package/dist/data/designs/composio.md +506 -0
- package/dist/data/designs/content-first.md +236 -0
- package/dist/data/designs/cursor.md +537 -0
- package/dist/data/designs/data-dashboard.md +300 -0
- package/dist/data/designs/dell-1996.md +632 -0
- package/dist/data/designs/elevenlabs.md +504 -0
- package/dist/data/designs/enterprise-neutral.md +252 -0
- package/dist/data/designs/expo.md +526 -0
- package/dist/data/designs/ferrari.md +531 -0
- package/dist/data/designs/figma.md +578 -0
- package/dist/data/designs/framer.md +544 -0
- package/dist/data/designs/hashicorp.md +575 -0
- package/dist/data/designs/hp.md +670 -0
- package/dist/data/designs/ibm.md +550 -0
- package/dist/data/designs/intercom.md +546 -0
- package/dist/data/designs/ios-acorns-android.md +430 -0
- package/dist/data/designs/ios-acorns-expo.md +381 -0
- package/dist/data/designs/ios-acorns-swiftui.md +378 -0
- package/dist/data/designs/ios-acorns.md +384 -0
- package/dist/data/designs/ios-airbnb-android.md +658 -0
- package/dist/data/designs/ios-airbnb-expo.md +457 -0
- package/dist/data/designs/ios-airbnb-swiftui.md +464 -0
- package/dist/data/designs/ios-airbnb.md +410 -0
- package/dist/data/designs/ios-alltrails-android.md +451 -0
- package/dist/data/designs/ios-alltrails-expo.md +400 -0
- package/dist/data/designs/ios-alltrails-swiftui.md +343 -0
- package/dist/data/designs/ios-alltrails.md +344 -0
- package/dist/data/designs/ios-amazon-android.md +686 -0
- package/dist/data/designs/ios-amazon-expo.md +433 -0
- package/dist/data/designs/ios-amazon-music-android.md +416 -0
- package/dist/data/designs/ios-amazon-music-expo.md +368 -0
- package/dist/data/designs/ios-amazon-music-swiftui.md +436 -0
- package/dist/data/designs/ios-amazon-music.md +389 -0
- package/dist/data/designs/ios-amazon-swiftui.md +460 -0
- package/dist/data/designs/ios-amazon.md +440 -0
- package/dist/data/designs/ios-apple-fitness-android.md +462 -0
- package/dist/data/designs/ios-apple-fitness-expo.md +373 -0
- package/dist/data/designs/ios-apple-fitness-swiftui.md +373 -0
- package/dist/data/designs/ios-apple-fitness.md +399 -0
- package/dist/data/designs/ios-apple-maps-android.md +646 -0
- package/dist/data/designs/ios-apple-maps-expo.md +557 -0
- package/dist/data/designs/ios-apple-maps-swiftui.md +588 -0
- package/dist/data/designs/ios-apple-maps.md +447 -0
- package/dist/data/designs/ios-apple-music-android.md +737 -0
- package/dist/data/designs/ios-apple-music-expo.md +596 -0
- package/dist/data/designs/ios-apple-music-swiftui.md +578 -0
- package/dist/data/designs/ios-apple-music.md +494 -0
- package/dist/data/designs/ios-apple-notes-android.md +675 -0
- package/dist/data/designs/ios-apple-notes-expo.md +468 -0
- package/dist/data/designs/ios-apple-notes-swiftui.md +489 -0
- package/dist/data/designs/ios-apple-notes.md +413 -0
- package/dist/data/designs/ios-apple-tv-android.md +405 -0
- package/dist/data/designs/ios-apple-tv-expo.md +341 -0
- package/dist/data/designs/ios-apple-tv-swiftui.md +348 -0
- package/dist/data/designs/ios-apple-tv.md +390 -0
- package/dist/data/designs/ios-apple-wallet-android.md +617 -0
- package/dist/data/designs/ios-apple-wallet-expo.md +487 -0
- package/dist/data/designs/ios-apple-wallet-swiftui.md +425 -0
- package/dist/data/designs/ios-apple-wallet.md +360 -0
- package/dist/data/designs/ios-asana-android.md +435 -0
- package/dist/data/designs/ios-asana-expo.md +411 -0
- package/dist/data/designs/ios-asana-swiftui.md +416 -0
- package/dist/data/designs/ios-asana.md +433 -0
- package/dist/data/designs/ios-audible-android.md +450 -0
- package/dist/data/designs/ios-audible-expo.md +328 -0
- package/dist/data/designs/ios-audible-swiftui.md +418 -0
- package/dist/data/designs/ios-audible.md +364 -0
- package/dist/data/designs/ios-bandcamp-android.md +471 -0
- package/dist/data/designs/ios-bandcamp-expo.md +378 -0
- package/dist/data/designs/ios-bandcamp-swiftui.md +374 -0
- package/dist/data/designs/ios-bandcamp.md +372 -0
- package/dist/data/designs/ios-bear-android.md +496 -0
- package/dist/data/designs/ios-bear-expo.md +449 -0
- package/dist/data/designs/ios-bear-swiftui.md +479 -0
- package/dist/data/designs/ios-bear.md +412 -0
- package/dist/data/designs/ios-bereal-android.md +392 -0
- package/dist/data/designs/ios-bereal-expo.md +299 -0
- package/dist/data/designs/ios-bereal-swiftui.md +319 -0
- package/dist/data/designs/ios-bereal.md +336 -0
- package/dist/data/designs/ios-binance-android.md +481 -0
- package/dist/data/designs/ios-binance-expo.md +404 -0
- package/dist/data/designs/ios-binance-swiftui.md +418 -0
- package/dist/data/designs/ios-binance.md +410 -0
- package/dist/data/designs/ios-bluesky-android.md +442 -0
- package/dist/data/designs/ios-bluesky-expo.md +362 -0
- package/dist/data/designs/ios-bluesky-swiftui.md +328 -0
- package/dist/data/designs/ios-bluesky.md +338 -0
- package/dist/data/designs/ios-booking-android.md +471 -0
- package/dist/data/designs/ios-booking-expo.md +364 -0
- package/dist/data/designs/ios-booking-swiftui.md +377 -0
- package/dist/data/designs/ios-booking.md +346 -0
- package/dist/data/designs/ios-bumble-android.md +756 -0
- package/dist/data/designs/ios-bumble-expo.md +629 -0
- package/dist/data/designs/ios-bumble-swiftui.md +546 -0
- package/dist/data/designs/ios-bumble.md +424 -0
- package/dist/data/designs/ios-cal-ai-android.md +664 -0
- package/dist/data/designs/ios-cal-ai-expo.md +415 -0
- package/dist/data/designs/ios-cal-ai-swiftui.md +486 -0
- package/dist/data/designs/ios-cal-ai.md +387 -0
- package/dist/data/designs/ios-calm-android.md +431 -0
- package/dist/data/designs/ios-calm-expo.md +384 -0
- package/dist/data/designs/ios-calm-swiftui.md +327 -0
- package/dist/data/designs/ios-calm.md +356 -0
- package/dist/data/designs/ios-canva-android.md +469 -0
- package/dist/data/designs/ios-canva-expo.md +374 -0
- package/dist/data/designs/ios-canva-swiftui.md +422 -0
- package/dist/data/designs/ios-canva.md +395 -0
- package/dist/data/designs/ios-cash-app-android.md +601 -0
- package/dist/data/designs/ios-cash-app-expo.md +453 -0
- package/dist/data/designs/ios-cash-app-swiftui.md +463 -0
- package/dist/data/designs/ios-cash-app.md +365 -0
- package/dist/data/designs/ios-character-ai-android.md +489 -0
- package/dist/data/designs/ios-character-ai-expo.md +420 -0
- package/dist/data/designs/ios-character-ai-swiftui.md +417 -0
- package/dist/data/designs/ios-character-ai.md +392 -0
- package/dist/data/designs/ios-charles-schwab-android.md +454 -0
- package/dist/data/designs/ios-charles-schwab-expo.md +388 -0
- package/dist/data/designs/ios-charles-schwab-swiftui.md +394 -0
- package/dist/data/designs/ios-charles-schwab.md +380 -0
- package/dist/data/designs/ios-chatgpt-android.md +753 -0
- package/dist/data/designs/ios-chatgpt-expo.md +644 -0
- package/dist/data/designs/ios-chatgpt-swiftui.md +653 -0
- package/dist/data/designs/ios-chatgpt.md +466 -0
- package/dist/data/designs/ios-chime-android.md +438 -0
- package/dist/data/designs/ios-chime-expo.md +419 -0
- package/dist/data/designs/ios-chime-swiftui.md +383 -0
- package/dist/data/designs/ios-chime.md +389 -0
- package/dist/data/designs/ios-chipotle-android.md +397 -0
- package/dist/data/designs/ios-chipotle-expo.md +301 -0
- package/dist/data/designs/ios-chipotle-swiftui.md +345 -0
- package/dist/data/designs/ios-chipotle.md +340 -0
- package/dist/data/designs/ios-citymapper-android.md +466 -0
- package/dist/data/designs/ios-citymapper-expo.md +420 -0
- package/dist/data/designs/ios-citymapper-swiftui.md +424 -0
- package/dist/data/designs/ios-citymapper.md +394 -0
- package/dist/data/designs/ios-claude-android.md +625 -0
- package/dist/data/designs/ios-claude-expo.md +671 -0
- package/dist/data/designs/ios-claude-swiftui.md +649 -0
- package/dist/data/designs/ios-claude.md +447 -0
- package/dist/data/designs/ios-clickup-android.md +484 -0
- package/dist/data/designs/ios-clickup-expo.md +423 -0
- package/dist/data/designs/ios-clickup-swiftui.md +416 -0
- package/dist/data/designs/ios-clickup.md +431 -0
- package/dist/data/designs/ios-clubhouse-android.md +524 -0
- package/dist/data/designs/ios-clubhouse-expo.md +425 -0
- package/dist/data/designs/ios-clubhouse-swiftui.md +447 -0
- package/dist/data/designs/ios-clubhouse.md +406 -0
- package/dist/data/designs/ios-coffee-meets-bagel-android.md +461 -0
- package/dist/data/designs/ios-coffee-meets-bagel-expo.md +372 -0
- package/dist/data/designs/ios-coffee-meets-bagel-swiftui.md +368 -0
- package/dist/data/designs/ios-coffee-meets-bagel.md +376 -0
- package/dist/data/designs/ios-coinbase-android.md +611 -0
- package/dist/data/designs/ios-coinbase-expo.md +500 -0
- package/dist/data/designs/ios-coinbase-swiftui.md +490 -0
- package/dist/data/designs/ios-coinbase.md +409 -0
- package/dist/data/designs/ios-copilot-android.md +625 -0
- package/dist/data/designs/ios-copilot-expo.md +423 -0
- package/dist/data/designs/ios-copilot-swiftui.md +471 -0
- package/dist/data/designs/ios-copilot.md +367 -0
- package/dist/data/designs/ios-craft-android.md +459 -0
- package/dist/data/designs/ios-craft-expo.md +417 -0
- package/dist/data/designs/ios-craft-swiftui.md +449 -0
- package/dist/data/designs/ios-craft.md +449 -0
- package/dist/data/designs/ios-crunchyroll-android.md +432 -0
- package/dist/data/designs/ios-crunchyroll-expo.md +388 -0
- package/dist/data/designs/ios-crunchyroll-swiftui.md +417 -0
- package/dist/data/designs/ios-crunchyroll.md +388 -0
- package/dist/data/designs/ios-crypto-com-android.md +461 -0
- package/dist/data/designs/ios-crypto-com-expo.md +404 -0
- package/dist/data/designs/ios-crypto-com-swiftui.md +419 -0
- package/dist/data/designs/ios-crypto-com.md +410 -0
- package/dist/data/designs/ios-deepseek-android.md +471 -0
- package/dist/data/designs/ios-deepseek-expo.md +391 -0
- package/dist/data/designs/ios-deepseek-swiftui.md +354 -0
- package/dist/data/designs/ios-deepseek.md +393 -0
- package/dist/data/designs/ios-deezer-android.md +475 -0
- package/dist/data/designs/ios-deezer-expo.md +400 -0
- package/dist/data/designs/ios-deezer-swiftui.md +430 -0
- package/dist/data/designs/ios-deezer.md +388 -0
- package/dist/data/designs/ios-deliveroo-android.md +493 -0
- package/dist/data/designs/ios-deliveroo-expo.md +424 -0
- package/dist/data/designs/ios-deliveroo-swiftui.md +398 -0
- package/dist/data/designs/ios-deliveroo.md +420 -0
- package/dist/data/designs/ios-delta-android.md +439 -0
- package/dist/data/designs/ios-delta-expo.md +381 -0
- package/dist/data/designs/ios-delta-swiftui.md +400 -0
- package/dist/data/designs/ios-delta.md +397 -0
- package/dist/data/designs/ios-discord-android.md +611 -0
- package/dist/data/designs/ios-discord-expo.md +618 -0
- package/dist/data/designs/ios-discord-swiftui.md +630 -0
- package/dist/data/designs/ios-discord.md +451 -0
- package/dist/data/designs/ios-disney-plus-android.md +464 -0
- package/dist/data/designs/ios-disney-plus-expo.md +358 -0
- package/dist/data/designs/ios-disney-plus-swiftui.md +412 -0
- package/dist/data/designs/ios-disney-plus.md +355 -0
- package/dist/data/designs/ios-dominos-android.md +417 -0
- package/dist/data/designs/ios-dominos-expo.md +316 -0
- package/dist/data/designs/ios-dominos-swiftui.md +340 -0
- package/dist/data/designs/ios-dominos.md +347 -0
- package/dist/data/designs/ios-doordash-android.md +527 -0
- package/dist/data/designs/ios-doordash-expo.md +323 -0
- package/dist/data/designs/ios-doordash-swiftui.md +301 -0
- package/dist/data/designs/ios-doordash.md +393 -0
- package/dist/data/designs/ios-dropbox-android.md +522 -0
- package/dist/data/designs/ios-dropbox-expo.md +393 -0
- package/dist/data/designs/ios-dropbox-swiftui.md +400 -0
- package/dist/data/designs/ios-dropbox.md +374 -0
- package/dist/data/designs/ios-duolingo-android.md +641 -0
- package/dist/data/designs/ios-duolingo-expo.md +597 -0
- package/dist/data/designs/ios-duolingo-swiftui.md +539 -0
- package/dist/data/designs/ios-duolingo.md +409 -0
- package/dist/data/designs/ios-ebay-android.md +436 -0
- package/dist/data/designs/ios-ebay-expo.md +344 -0
- package/dist/data/designs/ios-ebay-swiftui.md +308 -0
- package/dist/data/designs/ios-ebay.md +355 -0
- package/dist/data/designs/ios-espn-android.md +468 -0
- package/dist/data/designs/ios-espn-expo.md +387 -0
- package/dist/data/designs/ios-espn-swiftui.md +410 -0
- package/dist/data/designs/ios-espn.md +384 -0
- package/dist/data/designs/ios-etsy-android.md +439 -0
- package/dist/data/designs/ios-etsy-expo.md +351 -0
- package/dist/data/designs/ios-etsy-swiftui.md +296 -0
- package/dist/data/designs/ios-etsy.md +355 -0
- package/dist/data/designs/ios-evernote-android.md +419 -0
- package/dist/data/designs/ios-evernote-expo.md +379 -0
- package/dist/data/designs/ios-evernote-swiftui.md +380 -0
- package/dist/data/designs/ios-evernote.md +416 -0
- package/dist/data/designs/ios-expedia-android.md +451 -0
- package/dist/data/designs/ios-expedia-expo.md +433 -0
- package/dist/data/designs/ios-expedia-swiftui.md +399 -0
- package/dist/data/designs/ios-expedia.md +431 -0
- package/dist/data/designs/ios-facebook-android.md +628 -0
- package/dist/data/designs/ios-facebook-expo.md +471 -0
- package/dist/data/designs/ios-facebook-swiftui.md +459 -0
- package/dist/data/designs/ios-facebook.md +452 -0
- package/dist/data/designs/ios-feeld-android.md +431 -0
- package/dist/data/designs/ios-feeld-expo.md +379 -0
- package/dist/data/designs/ios-feeld-swiftui.md +401 -0
- package/dist/data/designs/ios-feeld.md +378 -0
- package/dist/data/designs/ios-fidelity-android.md +426 -0
- package/dist/data/designs/ios-fidelity-expo.md +396 -0
- package/dist/data/designs/ios-fidelity-swiftui.md +398 -0
- package/dist/data/designs/ios-fidelity.md +387 -0
- package/dist/data/designs/ios-figma-android.md +578 -0
- package/dist/data/designs/ios-figma-expo.md +504 -0
- package/dist/data/designs/ios-figma-swiftui.md +542 -0
- package/dist/data/designs/ios-figma.md +404 -0
- package/dist/data/designs/ios-fitbit-android.md +439 -0
- package/dist/data/designs/ios-fitbit-expo.md +389 -0
- package/dist/data/designs/ios-fitbit-swiftui.md +380 -0
- package/dist/data/designs/ios-fitbit.md +396 -0
- package/dist/data/designs/ios-flickr-android.md +506 -0
- package/dist/data/designs/ios-flickr-expo.md +434 -0
- package/dist/data/designs/ios-flickr-swiftui.md +421 -0
- package/dist/data/designs/ios-flickr.md +394 -0
- package/dist/data/designs/ios-flighty-android.md +418 -0
- package/dist/data/designs/ios-flighty-expo.md +353 -0
- package/dist/data/designs/ios-flighty-swiftui.md +337 -0
- package/dist/data/designs/ios-flighty.md +357 -0
- package/dist/data/designs/ios-flo-android.md +447 -0
- package/dist/data/designs/ios-flo-expo.md +363 -0
- package/dist/data/designs/ios-flo-swiftui.md +355 -0
- package/dist/data/designs/ios-flo.md +351 -0
- package/dist/data/designs/ios-garmin-connect-android.md +531 -0
- package/dist/data/designs/ios-garmin-connect-expo.md +429 -0
- package/dist/data/designs/ios-garmin-connect-swiftui.md +459 -0
- package/dist/data/designs/ios-garmin-connect.md +419 -0
- package/dist/data/designs/ios-gas-android.md +438 -0
- package/dist/data/designs/ios-gas-expo.md +350 -0
- package/dist/data/designs/ios-gas-swiftui.md +329 -0
- package/dist/data/designs/ios-gas.md +387 -0
- package/dist/data/designs/ios-gemini-android.md +568 -0
- package/dist/data/designs/ios-gemini-expo.md +416 -0
- package/dist/data/designs/ios-gemini-swiftui.md +424 -0
- package/dist/data/designs/ios-gemini.md +351 -0
- package/dist/data/designs/ios-github-android.md +507 -0
- package/dist/data/designs/ios-github-expo.md +486 -0
- package/dist/data/designs/ios-github-swiftui.md +459 -0
- package/dist/data/designs/ios-github.md +394 -0
- package/dist/data/designs/ios-gmail-android.md +548 -0
- package/dist/data/designs/ios-gmail-expo.md +457 -0
- package/dist/data/designs/ios-gmail-swiftui.md +470 -0
- package/dist/data/designs/ios-gmail.md +441 -0
- package/dist/data/designs/ios-goodreads-android.md +436 -0
- package/dist/data/designs/ios-goodreads-expo.md +407 -0
- package/dist/data/designs/ios-goodreads-swiftui.md +378 -0
- package/dist/data/designs/ios-goodreads.md +385 -0
- package/dist/data/designs/ios-google-calendar-android.md +565 -0
- package/dist/data/designs/ios-google-calendar-expo.md +616 -0
- package/dist/data/designs/ios-google-calendar-swiftui.md +585 -0
- package/dist/data/designs/ios-google-calendar.md +431 -0
- package/dist/data/designs/ios-google-maps-android.md +614 -0
- package/dist/data/designs/ios-google-maps-expo.md +515 -0
- package/dist/data/designs/ios-google-maps-swiftui.md +484 -0
- package/dist/data/designs/ios-google-maps.md +451 -0
- package/dist/data/designs/ios-grammarly-android.md +449 -0
- package/dist/data/designs/ios-grammarly-expo.md +383 -0
- package/dist/data/designs/ios-grammarly-swiftui.md +381 -0
- package/dist/data/designs/ios-grammarly.md +392 -0
- package/dist/data/designs/ios-grindr-android.md +494 -0
- package/dist/data/designs/ios-grindr-expo.md +358 -0
- package/dist/data/designs/ios-grindr-swiftui.md +357 -0
- package/dist/data/designs/ios-grindr.md +356 -0
- package/dist/data/designs/ios-grok-android.md +471 -0
- package/dist/data/designs/ios-grok-expo.md +388 -0
- package/dist/data/designs/ios-grok-swiftui.md +397 -0
- package/dist/data/designs/ios-grok.md +357 -0
- package/dist/data/designs/ios-groupme-android.md +551 -0
- package/dist/data/designs/ios-groupme-expo.md +442 -0
- package/dist/data/designs/ios-groupme-swiftui.md +439 -0
- package/dist/data/designs/ios-groupme.md +424 -0
- package/dist/data/designs/ios-grubhub-android.md +506 -0
- package/dist/data/designs/ios-grubhub-expo.md +428 -0
- package/dist/data/designs/ios-grubhub-swiftui.md +408 -0
- package/dist/data/designs/ios-grubhub.md +427 -0
- package/dist/data/designs/ios-happn-android.md +464 -0
- package/dist/data/designs/ios-happn-expo.md +411 -0
- package/dist/data/designs/ios-happn-swiftui.md +401 -0
- package/dist/data/designs/ios-happn.md +400 -0
- package/dist/data/designs/ios-headspace-android.md +688 -0
- package/dist/data/designs/ios-headspace-expo.md +574 -0
- package/dist/data/designs/ios-headspace-swiftui.md +498 -0
- package/dist/data/designs/ios-headspace.md +430 -0
- package/dist/data/designs/ios-hevy-android.md +473 -0
- package/dist/data/designs/ios-hevy-expo.md +405 -0
- package/dist/data/designs/ios-hevy-swiftui.md +367 -0
- package/dist/data/designs/ios-hevy.md +410 -0
- package/dist/data/designs/ios-hinge-android.md +743 -0
- package/dist/data/designs/ios-hinge-expo.md +580 -0
- package/dist/data/designs/ios-hinge-swiftui.md +512 -0
- package/dist/data/designs/ios-hinge.md +405 -0
- package/dist/data/designs/ios-hopper-android.md +440 -0
- package/dist/data/designs/ios-hopper-expo.md +353 -0
- package/dist/data/designs/ios-hopper-swiftui.md +340 -0
- package/dist/data/designs/ios-hopper.md +354 -0
- package/dist/data/designs/ios-hulu-android.md +435 -0
- package/dist/data/designs/ios-hulu-expo.md +331 -0
- package/dist/data/designs/ios-hulu-swiftui.md +374 -0
- package/dist/data/designs/ios-hulu.md +353 -0
- package/dist/data/designs/ios-iheartradio-android.md +481 -0
- package/dist/data/designs/ios-iheartradio-expo.md +417 -0
- package/dist/data/designs/ios-iheartradio-swiftui.md +423 -0
- package/dist/data/designs/ios-iheartradio.md +381 -0
- package/dist/data/designs/ios-imessage-android.md +426 -0
- package/dist/data/designs/ios-imessage-expo.md +384 -0
- package/dist/data/designs/ios-imessage-swiftui.md +378 -0
- package/dist/data/designs/ios-imessage.md +394 -0
- package/dist/data/designs/ios-instacart-android.md +471 -0
- package/dist/data/designs/ios-instacart-expo.md +349 -0
- package/dist/data/designs/ios-instacart-swiftui.md +378 -0
- package/dist/data/designs/ios-instacart.md +360 -0
- package/dist/data/designs/ios-instagram-android.md +646 -0
- package/dist/data/designs/ios-instagram-expo.md +310 -0
- package/dist/data/designs/ios-instagram-swiftui.md +333 -0
- package/dist/data/designs/ios-instagram.md +376 -0
- package/dist/data/designs/ios-jira-android.md +432 -0
- package/dist/data/designs/ios-jira-expo.md +375 -0
- package/dist/data/designs/ios-jira-swiftui.md +433 -0
- package/dist/data/designs/ios-jira.md +424 -0
- package/dist/data/designs/ios-kakaotalk-android.md +491 -0
- package/dist/data/designs/ios-kakaotalk-expo.md +418 -0
- package/dist/data/designs/ios-kakaotalk-swiftui.md +406 -0
- package/dist/data/designs/ios-kakaotalk.md +414 -0
- package/dist/data/designs/ios-kayak-android.md +466 -0
- package/dist/data/designs/ios-kayak-expo.md +407 -0
- package/dist/data/designs/ios-kayak-swiftui.md +426 -0
- package/dist/data/designs/ios-kayak.md +392 -0
- package/dist/data/designs/ios-kick-android.md +487 -0
- package/dist/data/designs/ios-kick-expo.md +434 -0
- package/dist/data/designs/ios-kick-swiftui.md +429 -0
- package/dist/data/designs/ios-kick.md +389 -0
- package/dist/data/designs/ios-kik-android.md +433 -0
- package/dist/data/designs/ios-kik-expo.md +363 -0
- package/dist/data/designs/ios-kik-swiftui.md +363 -0
- package/dist/data/designs/ios-kik.md +392 -0
- package/dist/data/designs/ios-kindle-android.md +439 -0
- package/dist/data/designs/ios-kindle-expo.md +356 -0
- package/dist/data/designs/ios-kindle-swiftui.md +372 -0
- package/dist/data/designs/ios-kindle.md +369 -0
- package/dist/data/designs/ios-klarna-android.md +420 -0
- package/dist/data/designs/ios-klarna-expo.md +349 -0
- package/dist/data/designs/ios-klarna-swiftui.md +360 -0
- package/dist/data/designs/ios-klarna.md +356 -0
- package/dist/data/designs/ios-lemon8-android.md +492 -0
- package/dist/data/designs/ios-lemon8-expo.md +413 -0
- package/dist/data/designs/ios-lemon8-swiftui.md +428 -0
- package/dist/data/designs/ios-lemon8.md +378 -0
- package/dist/data/designs/ios-life360-android.md +474 -0
- package/dist/data/designs/ios-life360-expo.md +375 -0
- package/dist/data/designs/ios-life360-swiftui.md +390 -0
- package/dist/data/designs/ios-life360.md +402 -0
- package/dist/data/designs/ios-line-android.md +517 -0
- package/dist/data/designs/ios-line-expo.md +402 -0
- package/dist/data/designs/ios-line-swiftui.md +361 -0
- package/dist/data/designs/ios-line.md +362 -0
- package/dist/data/designs/ios-linear-android.md +457 -0
- package/dist/data/designs/ios-linear-expo.md +367 -0
- package/dist/data/designs/ios-linear-swiftui.md +401 -0
- package/dist/data/designs/ios-linear.md +368 -0
- package/dist/data/designs/ios-linkedin-android.md +620 -0
- package/dist/data/designs/ios-linkedin-expo.md +469 -0
- package/dist/data/designs/ios-linkedin-swiftui.md +472 -0
- package/dist/data/designs/ios-linkedin.md +444 -0
- package/dist/data/designs/ios-locket-android.md +500 -0
- package/dist/data/designs/ios-locket-expo.md +375 -0
- package/dist/data/designs/ios-locket-swiftui.md +375 -0
- package/dist/data/designs/ios-locket.md +381 -0
- package/dist/data/designs/ios-lyft-android.md +406 -0
- package/dist/data/designs/ios-lyft-expo.md +333 -0
- package/dist/data/designs/ios-lyft-swiftui.md +315 -0
- package/dist/data/designs/ios-lyft.md +337 -0
- package/dist/data/designs/ios-marriott-bonvoy-android.md +488 -0
- package/dist/data/designs/ios-marriott-bonvoy-expo.md +412 -0
- package/dist/data/designs/ios-marriott-bonvoy-swiftui.md +461 -0
- package/dist/data/designs/ios-marriott-bonvoy.md +379 -0
- package/dist/data/designs/ios-mastodon-android.md +476 -0
- package/dist/data/designs/ios-mastodon-expo.md +379 -0
- package/dist/data/designs/ios-mastodon-swiftui.md +349 -0
- package/dist/data/designs/ios-mastodon.md +337 -0
- package/dist/data/designs/ios-match-android.md +496 -0
- package/dist/data/designs/ios-match-expo.md +393 -0
- package/dist/data/designs/ios-match-swiftui.md +450 -0
- package/dist/data/designs/ios-match.md +382 -0
- package/dist/data/designs/ios-max-android.md +454 -0
- package/dist/data/designs/ios-max-expo.md +342 -0
- package/dist/data/designs/ios-max-swiftui.md +332 -0
- package/dist/data/designs/ios-max.md +352 -0
- package/dist/data/designs/ios-mcdonalds-android.md +497 -0
- package/dist/data/designs/ios-mcdonalds-expo.md +382 -0
- package/dist/data/designs/ios-mcdonalds-swiftui.md +394 -0
- package/dist/data/designs/ios-mcdonalds.md +410 -0
- package/dist/data/designs/ios-messenger-android.md +523 -0
- package/dist/data/designs/ios-messenger-expo.md +379 -0
- package/dist/data/designs/ios-messenger-swiftui.md +369 -0
- package/dist/data/designs/ios-messenger.md +361 -0
- package/dist/data/designs/ios-microsoft-teams-android.md +446 -0
- package/dist/data/designs/ios-microsoft-teams-expo.md +362 -0
- package/dist/data/designs/ios-microsoft-teams-swiftui.md +384 -0
- package/dist/data/designs/ios-microsoft-teams.md +359 -0
- package/dist/data/designs/ios-midjourney-android.md +503 -0
- package/dist/data/designs/ios-midjourney-expo.md +406 -0
- package/dist/data/designs/ios-midjourney-swiftui.md +376 -0
- package/dist/data/designs/ios-midjourney.md +407 -0
- package/dist/data/designs/ios-miro-android.md +475 -0
- package/dist/data/designs/ios-miro-expo.md +421 -0
- package/dist/data/designs/ios-miro-swiftui.md +407 -0
- package/dist/data/designs/ios-miro.md +424 -0
- package/dist/data/designs/ios-monday-android.md +426 -0
- package/dist/data/designs/ios-monday-expo.md +382 -0
- package/dist/data/designs/ios-monday-swiftui.md +386 -0
- package/dist/data/designs/ios-monday.md +415 -0
- package/dist/data/designs/ios-monzo-android.md +423 -0
- package/dist/data/designs/ios-monzo-expo.md +391 -0
- package/dist/data/designs/ios-monzo-swiftui.md +371 -0
- package/dist/data/designs/ios-monzo.md +382 -0
- package/dist/data/designs/ios-myfitnesspal-android.md +631 -0
- package/dist/data/designs/ios-myfitnesspal-expo.md +489 -0
- package/dist/data/designs/ios-myfitnesspal-swiftui.md +500 -0
- package/dist/data/designs/ios-myfitnesspal.md +408 -0
- package/dist/data/designs/ios-netflix-android.md +570 -0
- package/dist/data/designs/ios-netflix-expo.md +528 -0
- package/dist/data/designs/ios-netflix-swiftui.md +543 -0
- package/dist/data/designs/ios-netflix.md +476 -0
- package/dist/data/designs/ios-nextdoor-android.md +399 -0
- package/dist/data/designs/ios-nextdoor-expo.md +317 -0
- package/dist/data/designs/ios-nextdoor-swiftui.md +343 -0
- package/dist/data/designs/ios-nextdoor.md +332 -0
- package/dist/data/designs/ios-nike-run-club-android.md +598 -0
- package/dist/data/designs/ios-nike-run-club-expo.md +459 -0
- package/dist/data/designs/ios-nike-run-club-swiftui.md +474 -0
- package/dist/data/designs/ios-nike-run-club.md +400 -0
- package/dist/data/designs/ios-noom-android.md +455 -0
- package/dist/data/designs/ios-noom-expo.md +362 -0
- package/dist/data/designs/ios-noom-swiftui.md +369 -0
- package/dist/data/designs/ios-noom.md +404 -0
- package/dist/data/designs/ios-notion-android.md +575 -0
- package/dist/data/designs/ios-notion-expo.md +543 -0
- package/dist/data/designs/ios-notion-swiftui.md +562 -0
- package/dist/data/designs/ios-notion.md +506 -0
- package/dist/data/designs/ios-nubank-android.md +447 -0
- package/dist/data/designs/ios-nubank-expo.md +391 -0
- package/dist/data/designs/ios-nubank-swiftui.md +391 -0
- package/dist/data/designs/ios-nubank.md +388 -0
- package/dist/data/designs/ios-obsidian-android.md +456 -0
- package/dist/data/designs/ios-obsidian-expo.md +401 -0
- package/dist/data/designs/ios-obsidian-swiftui.md +412 -0
- package/dist/data/designs/ios-obsidian.md +363 -0
- package/dist/data/designs/ios-okcupid-android.md +496 -0
- package/dist/data/designs/ios-okcupid-expo.md +378 -0
- package/dist/data/designs/ios-okcupid-swiftui.md +343 -0
- package/dist/data/designs/ios-okcupid.md +364 -0
- package/dist/data/designs/ios-opentable-android.md +426 -0
- package/dist/data/designs/ios-opentable-expo.md +350 -0
- package/dist/data/designs/ios-opentable-swiftui.md +328 -0
- package/dist/data/designs/ios-opentable.md +411 -0
- package/dist/data/designs/ios-oura-android.md +426 -0
- package/dist/data/designs/ios-oura-expo.md +353 -0
- package/dist/data/designs/ios-oura-swiftui.md +327 -0
- package/dist/data/designs/ios-oura.md +356 -0
- package/dist/data/designs/ios-overcast-android.md +508 -0
- package/dist/data/designs/ios-overcast-expo.md +420 -0
- package/dist/data/designs/ios-overcast-swiftui.md +427 -0
- package/dist/data/designs/ios-overcast.md +414 -0
- package/dist/data/designs/ios-pandora-android.md +477 -0
- package/dist/data/designs/ios-pandora-expo.md +406 -0
- package/dist/data/designs/ios-pandora-swiftui.md +413 -0
- package/dist/data/designs/ios-pandora.md +366 -0
- package/dist/data/designs/ios-panera-android.md +414 -0
- package/dist/data/designs/ios-panera-expo.md +352 -0
- package/dist/data/designs/ios-panera-swiftui.md +369 -0
- package/dist/data/designs/ios-panera.md +412 -0
- package/dist/data/designs/ios-paramount-plus-android.md +415 -0
- package/dist/data/designs/ios-paramount-plus-expo.md +363 -0
- package/dist/data/designs/ios-paramount-plus-swiftui.md +372 -0
- package/dist/data/designs/ios-paramount-plus.md +400 -0
- package/dist/data/designs/ios-paypal-android.md +535 -0
- package/dist/data/designs/ios-paypal-expo.md +429 -0
- package/dist/data/designs/ios-paypal-swiftui.md +466 -0
- package/dist/data/designs/ios-paypal.md +393 -0
- package/dist/data/designs/ios-peacock-android.md +453 -0
- package/dist/data/designs/ios-peacock-expo.md +393 -0
- package/dist/data/designs/ios-peacock-swiftui.md +420 -0
- package/dist/data/designs/ios-peacock.md +411 -0
- package/dist/data/designs/ios-peloton-android.md +470 -0
- package/dist/data/designs/ios-peloton-expo.md +401 -0
- package/dist/data/designs/ios-peloton-swiftui.md +409 -0
- package/dist/data/designs/ios-peloton.md +415 -0
- package/dist/data/designs/ios-perplexity-android.md +553 -0
- package/dist/data/designs/ios-perplexity-expo.md +703 -0
- package/dist/data/designs/ios-perplexity-swiftui.md +602 -0
- package/dist/data/designs/ios-perplexity.md +453 -0
- package/dist/data/designs/ios-pinterest-android.md +551 -0
- package/dist/data/designs/ios-pinterest-expo.md +466 -0
- package/dist/data/designs/ios-pinterest-swiftui.md +464 -0
- package/dist/data/designs/ios-pinterest.md +427 -0
- package/dist/data/designs/ios-plenty-of-fish-android.md +462 -0
- package/dist/data/designs/ios-plenty-of-fish-expo.md +380 -0
- package/dist/data/designs/ios-plenty-of-fish-swiftui.md +429 -0
- package/dist/data/designs/ios-plenty-of-fish.md +387 -0
- package/dist/data/designs/ios-plex-android.md +403 -0
- package/dist/data/designs/ios-plex-expo.md +333 -0
- package/dist/data/designs/ios-plex-swiftui.md +349 -0
- package/dist/data/designs/ios-plex.md +379 -0
- package/dist/data/designs/ios-pluto-tv-android.md +413 -0
- package/dist/data/designs/ios-pluto-tv-expo.md +379 -0
- package/dist/data/designs/ios-pluto-tv-swiftui.md +411 -0
- package/dist/data/designs/ios-pluto-tv.md +362 -0
- package/dist/data/designs/ios-pocket-casts-android.md +492 -0
- package/dist/data/designs/ios-pocket-casts-expo.md +430 -0
- package/dist/data/designs/ios-pocket-casts-swiftui.md +479 -0
- package/dist/data/designs/ios-pocket-casts.md +427 -0
- package/dist/data/designs/ios-postman-android.md +472 -0
- package/dist/data/designs/ios-postman-expo.md +372 -0
- package/dist/data/designs/ios-postman-swiftui.md +377 -0
- package/dist/data/designs/ios-postman.md +405 -0
- package/dist/data/designs/ios-prime-video-android.md +447 -0
- package/dist/data/designs/ios-prime-video-expo.md +365 -0
- package/dist/data/designs/ios-prime-video-swiftui.md +333 -0
- package/dist/data/designs/ios-prime-video.md +351 -0
- package/dist/data/designs/ios-quora-android.md +513 -0
- package/dist/data/designs/ios-quora-expo.md +362 -0
- package/dist/data/designs/ios-quora-swiftui.md +375 -0
- package/dist/data/designs/ios-quora.md +359 -0
- package/dist/data/designs/ios-raya-android.md +401 -0
- package/dist/data/designs/ios-raya-expo.md +366 -0
- package/dist/data/designs/ios-raya-swiftui.md +393 -0
- package/dist/data/designs/ios-raya.md +366 -0
- package/dist/data/designs/ios-reddit-android.md +605 -0
- package/dist/data/designs/ios-reddit-expo.md +553 -0
- package/dist/data/designs/ios-reddit-swiftui.md +514 -0
- package/dist/data/designs/ios-reddit.md +460 -0
- package/dist/data/designs/ios-resy-android.md +430 -0
- package/dist/data/designs/ios-resy-expo.md +344 -0
- package/dist/data/designs/ios-resy-swiftui.md +330 -0
- package/dist/data/designs/ios-resy.md +412 -0
- package/dist/data/designs/ios-revolut-android.md +433 -0
- package/dist/data/designs/ios-revolut-expo.md +379 -0
- package/dist/data/designs/ios-revolut-swiftui.md +372 -0
- package/dist/data/designs/ios-revolut.md +353 -0
- package/dist/data/designs/ios-robinhood-android.md +587 -0
- package/dist/data/designs/ios-robinhood-expo.md +416 -0
- package/dist/data/designs/ios-robinhood-swiftui.md +431 -0
- package/dist/data/designs/ios-robinhood.md +380 -0
- package/dist/data/designs/ios-runna-android.md +485 -0
- package/dist/data/designs/ios-runna-expo.md +388 -0
- package/dist/data/designs/ios-runna-swiftui.md +413 -0
- package/dist/data/designs/ios-runna.md +390 -0
- package/dist/data/designs/ios-shazam-android.md +436 -0
- package/dist/data/designs/ios-shazam-expo.md +348 -0
- package/dist/data/designs/ios-shazam-swiftui.md +394 -0
- package/dist/data/designs/ios-shazam.md +338 -0
- package/dist/data/designs/ios-signal-android.md +462 -0
- package/dist/data/designs/ios-signal-expo.md +361 -0
- package/dist/data/designs/ios-signal-swiftui.md +350 -0
- package/dist/data/designs/ios-signal.md +357 -0
- package/dist/data/designs/ios-skype-android.md +398 -0
- package/dist/data/designs/ios-skype-expo.md +368 -0
- package/dist/data/designs/ios-skype-swiftui.md +369 -0
- package/dist/data/designs/ios-skype.md +406 -0
- package/dist/data/designs/ios-skyscanner-android.md +451 -0
- package/dist/data/designs/ios-skyscanner-expo.md +423 -0
- package/dist/data/designs/ios-skyscanner-swiftui.md +419 -0
- package/dist/data/designs/ios-skyscanner.md +421 -0
- package/dist/data/designs/ios-slack-android.md +695 -0
- package/dist/data/designs/ios-slack-expo.md +601 -0
- package/dist/data/designs/ios-slack-swiftui.md +594 -0
- package/dist/data/designs/ios-slack.md +474 -0
- package/dist/data/designs/ios-sleep-cycle-android.md +436 -0
- package/dist/data/designs/ios-sleep-cycle-expo.md +380 -0
- package/dist/data/designs/ios-sleep-cycle-swiftui.md +409 -0
- package/dist/data/designs/ios-sleep-cycle.md +386 -0
- package/dist/data/designs/ios-snapchat-android.md +671 -0
- package/dist/data/designs/ios-snapchat-expo.md +528 -0
- package/dist/data/designs/ios-snapchat-swiftui.md +557 -0
- package/dist/data/designs/ios-snapchat.md +478 -0
- package/dist/data/designs/ios-sofi-android.md +446 -0
- package/dist/data/designs/ios-sofi-expo.md +387 -0
- package/dist/data/designs/ios-sofi-swiftui.md +379 -0
- package/dist/data/designs/ios-sofi.md +385 -0
- package/dist/data/designs/ios-soundcloud-android.md +488 -0
- package/dist/data/designs/ios-soundcloud-expo.md +364 -0
- package/dist/data/designs/ios-soundcloud-swiftui.md +399 -0
- package/dist/data/designs/ios-soundcloud.md +359 -0
- package/dist/data/designs/ios-southwest-android.md +446 -0
- package/dist/data/designs/ios-southwest-expo.md +389 -0
- package/dist/data/designs/ios-southwest-swiftui.md +405 -0
- package/dist/data/designs/ios-southwest.md +405 -0
- package/dist/data/designs/ios-spotify-android.md +427 -0
- package/dist/data/designs/ios-spotify-expo.md +321 -0
- package/dist/data/designs/ios-spotify-swiftui.md +312 -0
- package/dist/data/designs/ios-spotify.md +366 -0
- package/dist/data/designs/ios-starbucks-android.md +622 -0
- package/dist/data/designs/ios-starbucks-expo.md +497 -0
- package/dist/data/designs/ios-starbucks-swiftui.md +500 -0
- package/dist/data/designs/ios-starbucks.md +440 -0
- package/dist/data/designs/ios-strava-android.md +656 -0
- package/dist/data/designs/ios-strava-expo.md +501 -0
- package/dist/data/designs/ios-strava-swiftui.md +465 -0
- package/dist/data/designs/ios-strava.md +433 -0
- package/dist/data/designs/ios-strong-android.md +479 -0
- package/dist/data/designs/ios-strong-expo.md +396 -0
- package/dist/data/designs/ios-strong-swiftui.md +363 -0
- package/dist/data/designs/ios-strong.md +415 -0
- package/dist/data/designs/ios-substack-android.md +440 -0
- package/dist/data/designs/ios-substack-expo.md +395 -0
- package/dist/data/designs/ios-substack-swiftui.md +371 -0
- package/dist/data/designs/ios-substack.md +372 -0
- package/dist/data/designs/ios-swiggy-android.md +549 -0
- package/dist/data/designs/ios-swiggy-expo.md +443 -0
- package/dist/data/designs/ios-swiggy-swiftui.md +471 -0
- package/dist/data/designs/ios-swiggy.md +432 -0
- package/dist/data/designs/ios-taco-bell-android.md +529 -0
- package/dist/data/designs/ios-taco-bell-expo.md +407 -0
- package/dist/data/designs/ios-taco-bell-swiftui.md +419 -0
- package/dist/data/designs/ios-taco-bell.md +430 -0
- package/dist/data/designs/ios-telegram-android.md +676 -0
- package/dist/data/designs/ios-telegram-expo.md +594 -0
- package/dist/data/designs/ios-telegram-swiftui.md +518 -0
- package/dist/data/designs/ios-telegram.md +458 -0
- package/dist/data/designs/ios-the-league-android.md +454 -0
- package/dist/data/designs/ios-the-league-expo.md +391 -0
- package/dist/data/designs/ios-the-league-swiftui.md +409 -0
- package/dist/data/designs/ios-the-league.md +368 -0
- package/dist/data/designs/ios-things-3-android.md +421 -0
- package/dist/data/designs/ios-things-3-expo.md +351 -0
- package/dist/data/designs/ios-things-3-swiftui.md +359 -0
- package/dist/data/designs/ios-things-3.md +339 -0
- package/dist/data/designs/ios-threads-android.md +588 -0
- package/dist/data/designs/ios-threads-expo.md +468 -0
- package/dist/data/designs/ios-threads-swiftui.md +452 -0
- package/dist/data/designs/ios-threads.md +424 -0
- package/dist/data/designs/ios-threema-android.md +496 -0
- package/dist/data/designs/ios-threema-expo.md +415 -0
- package/dist/data/designs/ios-threema-swiftui.md +446 -0
- package/dist/data/designs/ios-threema.md +397 -0
- package/dist/data/designs/ios-tidal-android.md +398 -0
- package/dist/data/designs/ios-tidal-expo.md +323 -0
- package/dist/data/designs/ios-tidal-swiftui.md +340 -0
- package/dist/data/designs/ios-tidal.md +351 -0
- package/dist/data/designs/ios-tiktok-android.md +654 -0
- package/dist/data/designs/ios-tiktok-expo.md +578 -0
- package/dist/data/designs/ios-tiktok-swiftui.md +595 -0
- package/dist/data/designs/ios-tiktok.md +387 -0
- package/dist/data/designs/ios-tinder-android.md +681 -0
- package/dist/data/designs/ios-tinder-expo.md +512 -0
- package/dist/data/designs/ios-tinder-swiftui.md +497 -0
- package/dist/data/designs/ios-tinder.md +415 -0
- package/dist/data/designs/ios-todoist-android.md +711 -0
- package/dist/data/designs/ios-todoist-expo.md +607 -0
- package/dist/data/designs/ios-todoist-swiftui.md +573 -0
- package/dist/data/designs/ios-todoist.md +418 -0
- package/dist/data/designs/ios-trello-android.md +412 -0
- package/dist/data/designs/ios-trello-expo.md +332 -0
- package/dist/data/designs/ios-trello-swiftui.md +359 -0
- package/dist/data/designs/ios-trello.md +344 -0
- package/dist/data/designs/ios-tripadvisor-android.md +450 -0
- package/dist/data/designs/ios-tripadvisor-expo.md +322 -0
- package/dist/data/designs/ios-tripadvisor-swiftui.md +326 -0
- package/dist/data/designs/ios-tripadvisor.md +356 -0
- package/dist/data/designs/ios-tubi-android.md +453 -0
- package/dist/data/designs/ios-tubi-expo.md +419 -0
- package/dist/data/designs/ios-tubi-swiftui.md +463 -0
- package/dist/data/designs/ios-tubi.md +383 -0
- package/dist/data/designs/ios-tumblr-android.md +462 -0
- package/dist/data/designs/ios-tumblr-expo.md +374 -0
- package/dist/data/designs/ios-tumblr-swiftui.md +380 -0
- package/dist/data/designs/ios-tumblr.md +337 -0
- package/dist/data/designs/ios-turo-android.md +500 -0
- package/dist/data/designs/ios-turo-expo.md +454 -0
- package/dist/data/designs/ios-turo-swiftui.md +447 -0
- package/dist/data/designs/ios-turo.md +392 -0
- package/dist/data/designs/ios-twitch-android.md +412 -0
- package/dist/data/designs/ios-twitch-expo.md +342 -0
- package/dist/data/designs/ios-twitch-swiftui.md +328 -0
- package/dist/data/designs/ios-twitch.md +354 -0
- package/dist/data/designs/ios-uber-android.md +637 -0
- package/dist/data/designs/ios-uber-eats-android.md +502 -0
- package/dist/data/designs/ios-uber-eats-expo.md +407 -0
- package/dist/data/designs/ios-uber-eats-swiftui.md +393 -0
- package/dist/data/designs/ios-uber-eats.md +353 -0
- package/dist/data/designs/ios-uber-expo.md +512 -0
- package/dist/data/designs/ios-uber-swiftui.md +483 -0
- package/dist/data/designs/ios-uber.md +395 -0
- package/dist/data/designs/ios-united-airlines-android.md +494 -0
- package/dist/data/designs/ios-united-airlines-expo.md +408 -0
- package/dist/data/designs/ios-united-airlines-swiftui.md +453 -0
- package/dist/data/designs/ios-united-airlines.md +388 -0
- package/dist/data/designs/ios-venmo-android.md +654 -0
- package/dist/data/designs/ios-venmo-expo.md +458 -0
- package/dist/data/designs/ios-venmo-swiftui.md +469 -0
- package/dist/data/designs/ios-venmo.md +436 -0
- package/dist/data/designs/ios-vercel-android.md +454 -0
- package/dist/data/designs/ios-vercel-expo.md +387 -0
- package/dist/data/designs/ios-vercel-swiftui.md +374 -0
- package/dist/data/designs/ios-vercel.md +399 -0
- package/dist/data/designs/ios-vero-android.md +498 -0
- package/dist/data/designs/ios-vero-expo.md +376 -0
- package/dist/data/designs/ios-vero-swiftui.md +374 -0
- package/dist/data/designs/ios-vero.md +394 -0
- package/dist/data/designs/ios-viber-android.md +377 -0
- package/dist/data/designs/ios-viber-expo.md +375 -0
- package/dist/data/designs/ios-viber-swiftui.md +378 -0
- package/dist/data/designs/ios-viber.md +403 -0
- package/dist/data/designs/ios-vimeo-android.md +465 -0
- package/dist/data/designs/ios-vimeo-expo.md +347 -0
- package/dist/data/designs/ios-vimeo-swiftui.md +383 -0
- package/dist/data/designs/ios-vimeo.md +403 -0
- package/dist/data/designs/ios-vrbo-android.md +488 -0
- package/dist/data/designs/ios-vrbo-expo.md +395 -0
- package/dist/data/designs/ios-vrbo-swiftui.md +421 -0
- package/dist/data/designs/ios-vrbo.md +383 -0
- package/dist/data/designs/ios-vsco-android.md +490 -0
- package/dist/data/designs/ios-vsco-expo.md +413 -0
- package/dist/data/designs/ios-vsco-swiftui.md +449 -0
- package/dist/data/designs/ios-vsco.md +412 -0
- package/dist/data/designs/ios-walmart-android.md +479 -0
- package/dist/data/designs/ios-walmart-expo.md +370 -0
- package/dist/data/designs/ios-walmart-swiftui.md +387 -0
- package/dist/data/designs/ios-walmart.md +366 -0
- package/dist/data/designs/ios-waze-android.md +695 -0
- package/dist/data/designs/ios-waze-expo.md +587 -0
- package/dist/data/designs/ios-waze-swiftui.md +601 -0
- package/dist/data/designs/ios-waze.md +453 -0
- package/dist/data/designs/ios-webull-android.md +429 -0
- package/dist/data/designs/ios-webull-expo.md +384 -0
- package/dist/data/designs/ios-webull-swiftui.md +406 -0
- package/dist/data/designs/ios-webull.md +375 -0
- package/dist/data/designs/ios-wechat-android.md +545 -0
- package/dist/data/designs/ios-wechat-expo.md +398 -0
- package/dist/data/designs/ios-wechat-swiftui.md +394 -0
- package/dist/data/designs/ios-wechat.md +363 -0
- package/dist/data/designs/ios-whatsapp-android.md +568 -0
- package/dist/data/designs/ios-whatsapp-expo.md +502 -0
- package/dist/data/designs/ios-whatsapp-swiftui.md +483 -0
- package/dist/data/designs/ios-whatsapp.md +425 -0
- package/dist/data/designs/ios-whoop-android.md +635 -0
- package/dist/data/designs/ios-whoop-expo.md +562 -0
- package/dist/data/designs/ios-whoop-swiftui.md +553 -0
- package/dist/data/designs/ios-whoop.md +419 -0
- package/dist/data/designs/ios-wise-android.md +428 -0
- package/dist/data/designs/ios-wise-expo.md +357 -0
- package/dist/data/designs/ios-wise-swiftui.md +356 -0
- package/dist/data/designs/ios-wise.md +361 -0
- package/dist/data/designs/ios-x-twitter-android.md +618 -0
- package/dist/data/designs/ios-x-twitter-expo.md +442 -0
- package/dist/data/designs/ios-x-twitter-swiftui.md +429 -0
- package/dist/data/designs/ios-x-twitter.md +432 -0
- package/dist/data/designs/ios-yelp-android.md +455 -0
- package/dist/data/designs/ios-yelp-expo.md +397 -0
- package/dist/data/designs/ios-yelp-swiftui.md +369 -0
- package/dist/data/designs/ios-yelp.md +398 -0
- package/dist/data/designs/ios-youtube-android.md +668 -0
- package/dist/data/designs/ios-youtube-expo.md +435 -0
- package/dist/data/designs/ios-youtube-music-android.md +450 -0
- package/dist/data/designs/ios-youtube-music-expo.md +404 -0
- package/dist/data/designs/ios-youtube-music-swiftui.md +434 -0
- package/dist/data/designs/ios-youtube-music.md +381 -0
- package/dist/data/designs/ios-youtube-swiftui.md +496 -0
- package/dist/data/designs/ios-youtube.md +466 -0
- package/dist/data/designs/ios-zalo-android.md +510 -0
- package/dist/data/designs/ios-zalo-expo.md +389 -0
- package/dist/data/designs/ios-zalo-swiftui.md +431 -0
- package/dist/data/designs/ios-zalo.md +388 -0
- package/dist/data/designs/ios-zomato-android.md +527 -0
- package/dist/data/designs/ios-zomato-expo.md +437 -0
- package/dist/data/designs/ios-zomato-swiftui.md +433 -0
- package/dist/data/designs/ios-zomato.md +439 -0
- package/dist/data/designs/ios-zoom-android.md +423 -0
- package/dist/data/designs/ios-zoom-expo.md +355 -0
- package/dist/data/designs/ios-zoom-swiftui.md +379 -0
- package/dist/data/designs/ios-zoom.md +357 -0
- package/dist/data/designs/ios-zwift-android.md +402 -0
- package/dist/data/designs/ios-zwift-expo.md +402 -0
- package/dist/data/designs/ios-zwift-swiftui.md +378 -0
- package/dist/data/designs/ios-zwift.md +411 -0
- package/dist/data/designs/kraken.md +125 -0
- package/dist/data/designs/lamborghini.md +288 -0
- package/dist/data/designs/linear.app.md +548 -0
- package/dist/data/designs/lovable.md +298 -0
- package/dist/data/designs/mastercard.md +365 -0
- package/dist/data/designs/material-clean.md +289 -0
- package/dist/data/designs/meta.md +683 -0
- package/dist/data/designs/midnight-pro.md +256 -0
- package/dist/data/designs/minimal-brutalist.md +245 -0
- package/dist/data/designs/minimax.md +746 -0
- package/dist/data/designs/mintlify.md +852 -0
- package/dist/data/designs/miro.md +825 -0
- package/dist/data/designs/mistral.ai.md +773 -0
- package/dist/data/designs/mongodb.md +767 -0
- package/dist/data/designs/nike.md +575 -0
- package/dist/data/designs/nintendo-2001.md +649 -0
- package/dist/data/designs/notion.md +821 -0
- package/dist/data/designs/nova-mobile-design-md.md +235 -0
- package/dist/data/designs/nvidia.md +640 -0
- package/dist/data/designs/ollama.md +539 -0
- package/dist/data/designs/opencode.ai.md +521 -0
- package/dist/data/designs/pinterest.md +597 -0
- package/dist/data/designs/playful-color.md +253 -0
- package/dist/data/designs/playstation.md +661 -0
- package/dist/data/designs/posthog.md +690 -0
- package/dist/data/designs/raycast.md +669 -0
- package/dist/data/designs/renault.md +589 -0
- package/dist/data/designs/replicate.md +616 -0
- package/dist/data/designs/resend.md +585 -0
- package/dist/data/designs/revolut.md +636 -0
- package/dist/data/designs/runwayml.md +244 -0
- package/dist/data/designs/sanity.md +357 -0
- package/dist/data/designs/sentry.md +551 -0
- package/dist/data/designs/shopify.md +516 -0
- package/dist/data/designs/slack.md +482 -0
- package/dist/data/designs/soft-glass.md +258 -0
- package/dist/data/designs/spacex.md +363 -0
- package/dist/data/designs/spotify.md +246 -0
- package/dist/data/designs/starbucks.md +580 -0
- package/dist/data/designs/stripe.md +487 -0
- package/dist/data/designs/supabase.md +462 -0
- package/dist/data/designs/superhuman.md +448 -0
- package/dist/data/designs/tesla.md +286 -0
- package/dist/data/designs/theverge.md +339 -0
- package/dist/data/designs/together.ai.md +633 -0
- package/dist/data/designs/uber.md +636 -0
- package/dist/data/designs/vercel.md +736 -0
- package/dist/data/designs/vodafone.md +538 -0
- package/dist/data/designs/voltagent.md +521 -0
- package/dist/data/designs/warp.md +526 -0
- package/dist/data/designs/webflow.md +588 -0
- package/dist/data/designs/wired.md +497 -0
- package/dist/data/designs/wise.md +544 -0
- package/dist/data/designs/x.ai.md +465 -0
- package/dist/data/designs/zapier.md +537 -0
- package/dist/data/index.json +2600 -0
- package/dist/httpServer.js +83 -0
- package/dist/index.js +13 -0
- package/dist/server.js +32 -0
- package/dist/services/designStore.js +59 -0
- package/dist/services/linter.js +87 -0
- package/dist/services/sectionParser.js +154 -0
- package/dist/tools/authoring.js +131 -0
- package/dist/tools/browse.js +232 -0
- package/dist/tools/diff.js +88 -0
- package/dist/tools/getDesign.js +216 -0
- package/dist/tools/guardrails.js +87 -0
- package/dist/tools/lint.js +104 -0
- package/dist/types.js +1 -0
- 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)
|