Hello community! I’d like to introduce ainame/swift-slack,
a Swift library for building Slack apps.
There are many Swift libraries for Slack APIs, but while working on Slack apps myself,
I found that none of them matched the feature coverage and app-building workflow
of Slack’s official Bolt frameworks for JavaScript and Python.
That made me ask: why not bring that to Swift?
That’s the goal of swift-slack.
To support that, the package currently has a few main products:
SlackClient— a type-safe Web API client powered byswift-openapi-generatorSlackKit— the main app framework product, combining Socket Mode or HTTP request handling with the Web API client and type-safe Block Kit supportSlackBlockKitDSL— a SwiftUI-like DSL for building Block Kit UIs
The repository also includes demo apps and example code, including a DeepL translator example,
so it is easier to see how the framework can be used in a real app structure.
Another thing I wanted to address was maintenance.
Many existing libraries have struggled to keep up as Slack adds or changes APIs,
partly because there is no complete official OpenAPI specification.
This is where swift-slack tries to do something different.
It includes an automated schema update and code generation pipeline in CI,
built from Slack’s official sources as much as possible.
My goal is not only to provide a full Slack app framework in Swift,
but also to make it easier to keep that framework up to date over time.
If you are a Swift developer building Slack bots, internal tools, or full Slack apps,
please give it a try and share feedback.
I’m interested in hearing what is still missing to make Slack app development in Swift more practical.