Ship native-looking iOS, iPadOS, macOS, visionOS, tvOS, and watchOS apps without reinventing buttons, forms, navigation, or theming. 90+ HIG-aligned components, a layered token system, and one-line theme switching — import once, wrap your app, and go.
macOS catalog · iPhone device frame — system theme · light mode
🎨 Live component gallery · Docs · Releases · API browser
⭐ Star this repo if it saves you design-system time — stars help other SwiftUI developers discover HIGDesign on GitHub and Swift Package Index.
- Why HIGDesign?
- See it in action
- Quick start
- Integrate with an AI prompt
- Who is this for?
- 90+ components
- Features
- Documentation
- Contributing
Raw SwiftUI gives you primitives. HIGDesign gives you opinionated, production-shaped components wired to a token architecture — so spacing, typography, color, and platform behavior stay consistent as your app grows.
| Raw SwiftUI | HIGDesign |
|---|---|
| Style every control from scratch | 90+ pre-built, HIG-aligned components |
| Magic numbers drift across screens | Token layers enforce consistency |
| Re-theme means touching every view | Swap theme at the root — everything updates |
| Re-solve the same patterns per platform | Platform-appropriate behavior built in |
| No visual catalog for marketing | macOS + iOS showcase snapshots for README and Pages |
Native SwiftUI is the foundation. HIGDesign is the layer that saves weeks of design-system work while keeping you aligned with Apple Human Interface Guidelines.
Long Text Editor (Mac) · Photo Picker (iPhone) · Activity Indicator (Mac) · Tab Bar (iPhone) — system theme
Run the interactive catalog locally:
git clone https://github.com/promptdora/HIGDesign.git && cd HIGDesign
open Sample/HIGDesignSample.xcodeproj # iOS + macOS sample app
swift run HIGShowcaseApp # macOS CLI showcaseBrowse every component online → promptdora.github.io/HIGDesign
1. Add the package — Xcode → Add Package Dependencies:
https://github.com/promptdora/HIGDesign.git
(from 1.6.0)
2. Wrap your app:
import HIGDesign
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
HIGThemeableView(theme: HIGSystemTheme()) {
VStack(spacing: 16) {
HIGTextField("Email", text: $email, placeholder: "you@example.com")
HIGToggle("Notifications", isOn: $notifications)
HIGButton("Continue", role: .primary) { }
}
.higPadding(.screenEdge)
}
}
}
}That's it. Full guide → Docs/HOW_TO_USE.md
Paste one of these into Cursor, Claude, Copilot Chat, Grok, or any coding agent to wire HIGDesign into an existing SwiftUI app.
Integrate HIGDesign into this SwiftUI project.
Package
- Add SPM dependency: https://github.com/promptdora/HIGDesign.git (from 1.6.0)
- Link the HIGDesign product to the app target
- Prefer `import HIGDesign` (umbrella product)
App shell
- Wrap the root content in `HIGThemeableView(theme: HIGSystemTheme()) { … }`
- Keep a single theme injection at the app root (do not scatter theme providers)
Migration rules
- Prefer HIG* components over raw SwiftUI controls where a match exists:
Button → HIGButton, TextField → HIGTextField, SecureField → HIGSecureField,
Toggle → HIGToggle, Slider → HIGSlider, Picker → HIGPicker,
ProgressView → HIGProgressView, List rows / forms → HIGList / HIGFormSection,
cards → HIGCard, tabs → HIGTabBar, toolbars → HIGToolbar
- Read spacing, colors, typography, radius, and opacity from `@Environment(\.higTheme)`
or HIG helpers — never hardcode magic numbers for those values
- Use `.higPadding(.screenEdge)` (or theme spacing tokens) instead of ad-hoc padding
- Preserve existing app architecture, navigation, and business logic
- Do not add non-Apple UI stacks, TCA, SwiftData, Firebase, or third-party UI kits
- Stay on Apple platforms only (iOS / iPadOS / macOS / visionOS / tvOS / watchOS)
Acceptance
- App builds with the new package
- Root uses HIGThemeableView
- At least one primary screen uses HIG components end-to-end
- Summarize files changed and any APIs that still need manual follow-up
References
- https://github.com/promptdora/HIGDesign
- https://github.com/promptdora/HIGDesign/blob/develop/Docs/HOW_TO_USE.md
- https://promptdora.github.io/HIGDesign/
Theme only
Add HIGDesign (https://github.com/promptdora/HIGDesign.git, from 1.6.0) and wrap the app root in HIGThemeableView(theme: HIGSystemTheme()). Do not refactor screens yet.
Replace controls on one screen
On <ScreenName>, replace native SwiftUI controls with HIGDesign equivalents (HIGButton, HIGTextField, HIGToggle, etc.). Use @Environment(\.higTheme) for spacing/colors. Keep behavior and navigation unchanged. Package: https://github.com/promptdora/HIGDesign.git
Brand accent theme
Keep HIGDesign integration. Switch the root theme to HIGBrandTheme(name: "<Brand>", accent: .<color>) and ensure screens still resolve colors from higTheme.
Tips: point the agent at Docs/HOW_TO_USE.md and the component gallery so it matches real public APIs.
- Indie & startup teams shipping iOS and macOS without a dedicated design-system engineer
- SwiftUI developers who want HIG-correct defaults instead of one-off styling
- Multi-platform apps that need consistent tokens across iPhone, iPad, Mac, Apple TV, Watch, and visionOS
- Open-source contributors looking for a well-documented, test-covered Apple-only design system
| Components | |
|---|---|
| Actions | Button, Menu Button |
| Inputs | Text Field, Secure Field, Search Field, Text Editor, Long Text Editor, Picker, Photo Picker (iOS), Photo Editor |
| Controls | Toggle, Checkbox, Radio, Segmented Control, Slider, Stepper |
| Content | Label, Badge, Icon, Heroicons (324 outline + solid), Avatar, Link, Tag, Bullet List |
| Layout | Divider, Card, List, Form Section |
| Navigation | Tab Bar, Toolbar, Sidebar, Navigation Bar |
| Feedback | Progress View, Activity Indicator, Matrix Loader, Alert, Toast |
Themes: System · High Contrast · Brand accent — each with light and dark variants.
- Layered tokens —
Raw → Semantic → Component → Theme(no magic numbers in views) - Environment-driven theming —
@Environment(\.higTheme)everywhere - Modular SPM products —
HIGDesignumbrella,HIGDesignIcons, orHIGDesignCore+HIGDesignComponents - Heroicons v2 — 324 outline and solid icons via
HIGHeroIconToken, themed sizing, and Dynamic Type scaling - Liquid glass buttons —
HIGButtonStyle.glasson iOS 26+ with bordered fallback - DocC catalog — open in Xcode → Product → Build Documentation
- CI-verified — token guards, unit tests, six-platform builds
- Showcase snapshots — macOS window chrome and iPhone device frames for visual regression checks
| Component gallery | Visual marketing site |
| HOW_TO_USE.md | Integration & theming |
| Swift Package Index | Builds & API browser |
| CHANGELOG.md | Release notes |
| ARCHITECTURE.md | Module graph (for contributors) |
| Requirements | Per-module requirements |
PRs welcome — especially showcase improvements, new components, and documentation polish.
Scripts/build_all_platforms.sh
swift test
Scripts/verify_sample_xcode_project.shMIT — see LICENSE. Apple platform trademarks belong to Apple Inc.
Keywords: SwiftUI · design system · Apple HIG · iOS · macOS · Swift Package Manager · components · design tokens · theming
If HIGDesign saves you time, star the repo — it is the best way to support the project and help others find it.





