stream-swift

/stream-swift builds, integrates, and migrates Stream Chat, Video and Feeds in Swift, SwiftUI, UIKit or Xcode projects, and answers how-to questions about the iOS SDKs.

It routes each request to the exact official iOS docs page, fetches it live, and applies it, so the code it writes matches the current SDK rather than training-data recall. The pack bundles no SDK reference files of its own (the live docs are the single source), which keeps it current as the SDKs move.

The router installs and dispatches to /stream-swift automatically when it detects a Swift or iOS signal (swift, swiftui, uikit, ios, xcode, .xcodeproj, Package.swift), or you can invoke it directly.

What it knows

  • The architecture decision every chat build starts with: the pre-built StreamChatSwiftUI components (fastest, themable through ViewFactory and Styles) vs the low-level client with the State Layer for a fully custom UI, chosen from how far your design diverges from the defaults
  • Design matching: given a screenshot or reference app, it maps each region of the design to the ViewFactory slot or Styles property that controls it
  • The Liquid Glass styles baseline on iOS 26+ / Swift 6.2+, and the workplace/team-chat archetype built on it
  • iOS lifecycle handling
  • SwiftUI vs UIKit composition
  • Swift Package Manager and CocoaPods integration patterns
  • Xcode project structure
  • Push notifications: APNs key, push-provider creation via the CLI, VoIP and CallKit for calls
  • Voice and video permissions
  • A Sendbird to Stream Chat migration runbook (the code and SDK swap; moving message history is handled by the shared data-migration flow in the router)

Example prompts

/stream-swift create a SwiftUI chat app with Stream
/stream-swift add Video calling to my existing iOS UIKit project
/stream-swift wire up push notifications with CallKit for incoming calls
/stream-swift migrate my Sendbird chat integration to Stream

The pack's files live at skills/stream-swift/.