Skip to content

Protocol

ShipItPlugin

Define custom actions that extend ShipItSwifty.

protocol ShipItPlugin : Sendable

Overview

In v1, plugins are statically linked Swift packages that register actions during process startup. Arbitrary runtime loading of uncompiled packages or dylibs is out of scope.

Creating a Plugin

  1. Create a Swift package with a target that depends on ShipItKit

  2. Export a type conforming to ShipItPlugin

  3. Add the package to Package.swift

  4. Register the plugin in the CLI/server bootstrap

Example

public struct MyAnalyticsPlugin: ShipItPlugin {
    public static let name = "analytics"
    public static let description = "Analytics integration"
    public static var actions: [ActionDescriptor] = [
        TrackReleaseAction.descriptor
    ]
}

Topics

Type Properties

Relationships

Inherits From

  • Swift.Sendable
  • Swift.SendableMetatype