Skip to content

CLI Quickstart

This guide shows how to create a SwiftPM executable that calls the Swift AI SDK and streams text to the terminal.

Terminal window
swift package init --type executable --name aicli
cd aicli

Edit Package.swift:

5.10
import PackageDescription
let package = Package(
name: "aicli",
platforms: [.macOS(.v13)],
dependencies: [
.package(url: "https://github.com/teunlao/swift-ai-sdk", branch: "main")
],
targets: [
.executableTarget(
name: "aicli",
dependencies: [
.product(name: "SwiftAISDK", package: "swift-ai-sdk"),
.product(name: "OpenAIProvider", package: "swift-ai-sdk")
]
)
]
)
import Foundation
import SwiftAISDK
import OpenAIProvider
@main
struct App {
static func main() async {
let prompt = CommandLine.arguments.dropFirst().joined(separator: " ")
guard !prompt.isEmpty else {
print("Usage: aicli <prompt>")
return
}
do {
let stream = try streamText(model: openai("gpt-4o"), prompt: prompt)
for try await delta in stream.textStream { print(delta, terminator: "") }
print()
} catch { fputs("Error: \(error)\n", stderr) }
}
}

Export OPENAI_API_KEY and run:

Terminal window
OPENAI_API_KEY=sk-... swift run aicli "Write a limerick about SwiftPM"