SkeinVapor

Skein integration for Vapor 4 applications on macOS 15 and Linux. Use application-level resolution, request scopes, request injection, and asynchronous resource cleanup.

Integration guide · API reference · View on GitHub ↗

Installation

Add the SkeinVapor package as a Swift package dependency, then add its product to your application target:

.product(name: "SkeinVapor", package: "skein-vapor")

SkeinVapor depends on Skein 1.0.4 or later and pins Vapor 4.122.0. It uses Swift 6.0 language mode. Applications importing Skein directly should also declare its package and product dependency.

Vapor integration

Initialize app.skein during application configuration, then resolve services through app.skein or request.skein. Each request receives its own scope, which closes after the middleware and route handler return. Use Vapor’s asynchronous application shutdown to await resource cleanup.

Read the integration guide for configuration examples, resolution, request scope behavior, and shutdown requirements.