A Swift package for generating Xcode workspaces & playgrounds
Clone or download
JohnSundell Merge pull request #8 from JohnSundell/auxiliary-source-files
Playground: Add support for auxiliary source files
Latest commit 444b9ad Dec 17, 2018



Easily generate Xcode workspaces & playgrounds from a Swift script or command line tool.


Generate workspaces:

import Xgen

let workspace = Workspace(path: "~/MyWorkspace")
workspace.addProject(at: "~/MyProject.xcodeproj")
try workspace.generate()

Generate playgrounds:

import Xgen

let code = "import Foundation\n\n" +
           "print(\"Hello world\")"
let playground = Playground(path: "~/MyPlayground", platform: .iOS, code: code)
try playground.generate()


For scripts

  • Install Marathon.
  • Add Xgen to Marathon using $ marathon add git@github.com:JohnSundell/Xgen.git.
  • Alternatively, add git@github.com:JohnSundell/Xgen.git to your Marathonfile.
  • Write your script, then run it using $ marathon run yourScript.swift.

For command line tools

  • Add .Package(url: "git@github.com:johnsundell/xgen.git", majorVersion: 1) to your Package.swift file.
  • Update your packages using $ swift package update.

Help, feedback or suggestions?

  • Open an issue if you need help, if you found a bug, or if you want to discuss a feature request.
  • Open a PR if you want to make some change to Xgen.
  • Contact @johnsundell on Twitter for discussions, news & announcements about Xgen & other projects.