{"id":13994930,"url":"https://github.com/danielsaidi/OnboardingKit","last_synced_at":"2025-07-22T21:31:13.514Z","repository":{"id":46821392,"uuid":"66081499","full_name":"danielsaidi/OnboardingKit","owner":"danielsaidi","description":"OnboardingKit is a Swift SDK that helps you create onboarding experiences in Swift and SwiftUI.","archived":false,"fork":false,"pushed_at":"2024-10-04T21:02:41.000Z","size":11365,"stargazers_count":610,"open_issues_count":1,"forks_count":34,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-10-30T08:17:49.594Z","etag":null,"topics":["cocoapods","hint","ios","macos","onboarding","swift","swiftui","tutorial","tvos","visionos","watchos"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielsaidi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["danielsaidi"]}},"created_at":"2016-08-19T12:40:30.000Z","updated_at":"2024-10-28T08:19:38.000Z","dependencies_parsed_at":"2023-11-18T00:13:34.929Z","dependency_job_id":"6d63d48b-c00f-4bc3-8a17-843f01f37e69","html_url":"https://github.com/danielsaidi/OnboardingKit","commit_stats":{"total_commits":341,"total_committers":4,"mean_commits":85.25,"dds":0.07331378299120239,"last_synced_commit":"3ecd011f66d831f72571936bb0d457a02173e106"},"previous_names":["danielsaidi/onboardingkit","danielsaidi/tutti"],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielsaidi%2FOnboardingKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielsaidi%2FOnboardingKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielsaidi%2FOnboardingKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielsaidi%2FOnboardingKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielsaidi","download_url":"https://codeload.github.com/danielsaidi/OnboardingKit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227177688,"owners_count":17743144,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cocoapods","hint","ios","macos","onboarding","swift","swiftui","tutorial","tvos","visionos","watchos"],"created_at":"2024-08-09T14:03:10.981Z","updated_at":"2025-07-22T21:31:13.502Z","avatar_url":"https://github.com/danielsaidi.png","language":"Swift","readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"Resources/Icon.png\" alt=\"Project Icon\" width=\"250\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/danielsaidi/OnboardingKit?color=%2300550\u0026sort=semver\" alt=\"Version\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Swift-6.0-orange.svg\" alt=\"Swift 6.0\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/platform-SwiftUI-blue.svg\" alt=\"Swift UI\" title=\"Swift UI\" /\u003e\n    \u003ca href=\"https://danielsaidi.github.io/OnboardingKit\"\u003e\u003cimg src=\"https://img.shields.io/badge/documentation-web-blue.svg\" alt=\"Documentation\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/danielsaidi/OnboardingKit/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/danielsaidi/OnboardingKit\" alt=\"MIT License\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/sponsors/danielsaidi\"\u003e\u003cimg src=\"https://img.shields.io/badge/sponsor-GitHub-red.svg\" alt=\"Sponsor my work\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n\n# OnboardingKit\n\nOnboardingKit is SwiftUI SDK that helps you create amazing onboarding experiences on all major Apple platforms.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/danielsaidi/OnboardingKit/releases/download/8.2.0/OnboardingKit-Demo.gif\" width=350 /\u003e\n\u003c/p\u003e\n\nOnboardingKit has different `Onboarding` types, powerful onboarding view components like ``OnboardingPageView`` and ``OnboardingSlideshow``, an ``OnboardingScreen`` that can wrap any onboarding flow, and much more.\n\n\n\n## Installation\n\nOnboardingKit can be installed with the Swift Package Manager:\n\n```\nhttps://github.com/danielsaidi/OnboardingKit.git\n```\n\n\n## Support My Work\n\nYou can [become a sponsor][Sponsors] to help me dedicate more time on my various [open-source tools][OpenSource]. Every contribution, no matter the size, makes a real difference in keeping these tools free and actively developed.\n\n\n\n## Getting started\n\nOnboardingKit has various onboarding types and views that can be used to tailor an app's onboarding behavior. \n\nThe various ``Onboarding`` types defines unique onboarding experience behaviors, for instance: \n\n* ``Onboarding`` is presented right away, and only once.\n* ``ConditionalOnboarding`` is presented when a certain condition returns `true`.\n* ``CorrectBehaviorOnboarding`` is presented when a user is not behaving as intended.\n* ``DelayedOnboarding`` is presented after a certain number of presentation attempts.\n\nOnboardingKit has views that can be used to present onboarding flows, as well as ways to handle page state.\n\n* An ``OnboardingPageView`` can be used to show a set of pages in a horizontal page view. \n* An ``OnboardingSlideshow`` can be used to show a set of pages in a slideshow that auto-slides forward.\n* An ``OnboardingScreen`` can be used to wrap any onboarding flow in a frame with additional controls.\n* An ``OnboardingPageState`` can be used to manage page state for all views. \n\nAll views support all major Apple platforms (iOS, macOS, tvOS, watchOS \u0026 visionOS).\n\nSee the online [getting started guide][Getting-Started] for more information.\n\n\n\n## Documentation\n\nThe online [documentation][Documentation] has more information, articles, code examples, etc.\n\n\n\n## Demo Application\n\nThe `Demo` folder has an app that lets you explore the library.\n\n\n\n## Contact\n\nFeel free to reach out if you have questions or if you want to contribute in any way:\n\n* Website: [danielsaidi.com][Website]\n* E-mail: [daniel.saidi@gmail.com][Email]\n* Bluesky: [@danielsaidi@bsky.social][Bluesky]\n* Mastodon: [@danielsaidi@mastodon.social][Mastodon]\n\n\n\n## License\n\nOnboardingKit is available under the MIT license. See the [LICENSE][License] file for more info.\n\n\n\n[Email]: mailto:daniel.saidi@gmail.com\n[Website]: https://www.danielsaidi.com\n[GitHub]: https://www.github.com/danielsaidi\n[OpenSource]: https://danielsaidi.com/opensource\n[Sponsors]: https://github.com/sponsors/danielsaidi\n\n[Bluesky]: https://bsky.app/profile/danielsaidi.bsky.social\n[Mastodon]: https://mastodon.social/@danielsaidi\n[Twitter]: https://twitter.com/danielsaidi\n\n[Documentation]: https://danielsaidi.github.io/OnboardingKit\n[Getting-Started]: https://danielsaidi.github.io/OnboardingKit/documentation/onboardingkit/getting-started\n[License]: https://github.com/danielsaidi/OnboardingKit/blob/master/LICENSE\n","funding_links":["https://github.com/sponsors/danielsaidi"],"categories":["Swift"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielsaidi%2FOnboardingKit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielsaidi%2FOnboardingKit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielsaidi%2FOnboardingKit/lists"}