finds.dev← search

// the find

JohnSundell/SwiftPlate

★ 1,767 · Swift · MIT · updated Mar 2019

Easily generate cross platform Swift framework projects from the command line

SwiftPlate is a command-line tool that generates boilerplate Xcode projects for Swift frameworks, pre-wired for CocoaPods, Carthage, SPM, and all four Apple platforms plus Linux. It was written by John Sundell back when setting up a multi-platform Swift framework from scratch was genuinely tedious. Today it's a historical artifact.

The interactive step-by-step prompt with optional CLI argument overrides is the right UX for a scaffolding tool — good for both humans and CI. Supporting custom template repos via --repo is a sensible escape hatch that avoids forking the whole tool just to change a template. The implementation is a single Swift script, so there's no build chain to fight to read or modify it.

Last commit was March 2019 — this predates Swift 5.5, async/await, and the modern SPM that most Swift library authors actually use today. The generated Package.swift is from an era when SPM was a second-class citizen; nobody ships a new Swift library targeting the toolchain this assumes. Carthage is essentially dead and CocoaPods is on life support, so two of the three dependency managers it highlights are the wrong ones to optimize for in 2024. There is no test coverage of the generator itself — the testStructure.py file at the root suggests someone started and stopped.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →