CLI Quickstart
This guide shows how to create a SwiftPM executable that calls the Swift AI SDK and streams text to the terminal.
1) Create package
Section titled “1) Create package”swift package init --type executable --name aiclicd aicliEdit Package.swift:
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") ] ) ])2) Main.swift
Section titled “2) Main.swift”import Foundationimport SwiftAISDKimport OpenAIProvider
@mainstruct 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:
OPENAI_API_KEY=sk-... swift run aicli "Write a limerick about SwiftPM"