Skip to content

JohnSundell/SwiftPlate

Repository files navigation

SwiftPlate

Easily generate cross platform Swift framework projects from the command line.

SwiftPlate will generate Xcode projects for you in seconds, that support:

  • CocoaPods
  • Carthage
  • Swift Package Manager
  • iOS
  • macOS
  • watchOS
  • tvOS
  • Linux

Just run swiftplate, and you’ll be presented with a simple step-by-step guide:

Screenshot

Usage

Using Homebrew (recommended)

$ brew install swiftplate
$ swiftplate

Using Make

$ git clone git@github.com:JohnSundell/SwiftPlate.git
$ cd swiftplate
$ make

Using Marathon

$ git clone git@github.com:JohnSundell/SwiftPlate.git
$ marathon run swiftplate/main

Using the Swift interpreter directly

$ git clone git@github.com:JohnSundell/SwiftPlate.git
$ swift swiftplate/main.swift

Using Xcode

$ git clone git@github.com:JohnSundell/SwiftPlate.git
$ open swiftplate/SwiftPlate.xcodeproj

Command line arguments

Besides using the guide to input information, SwiftPlate also supports command line arguments when launched. When a certain piece of information is supplied through an argument, SwiftPlate won't ask for that information when run. These are the arguments currently supported:

Name Description Long parameter Short parameter
Destination Where the generated project should be saved --destination -d
Project name The name of your project --project -p
Author name Your name --name -n
Author email Your email (for Podspec) --email -e
GitHub URL Any URL you'll be hosting the project at (for Podspec) --url -u
Organization name The name of your organization --organization -o
Repo Any custom SwiftPlate repository that should be used for templates --repo -r
Force Prevent user prompt at the end (for CIs etc.) --force -f

Questions or feedback?

Feel free to open an issue, or find me @johnsundell on Twitter.