Skip to content

Repository files navigation

xcode-starter-pack

xcode-starter-pack creates an opinionated Apple project scaffold: an XcodeGen main application, a local shared-code Swift package, and a workspace containing both. The starter assets are embedded in the CLI binary, so the generated project is always built from the version of the tool being run.

Install and run

Install XcodeGen, then build the CLI locally:

brew install xcodegen just
just build
just run

new first asks where to create the project, then asks for its name, supported platforms through a checkbox selector, app target name, and unit test target name. The target prompts default to the project name and <Project> Tests.

For scripts and CI, provide every value as a flag instead:

build/xcode-starter-pack new \
  --output ~/Developer/Orbit \
  --name Orbit \
  --platform iOS \
  --platform macOS \
  --app-target Orbit \
  --test-target "Orbit Tests"

The command only publishes the output directory after XcodeGen has succeeded. Generated bundle identifiers use com.justinwme.<project-name>.app and com.justinwme.<project-name>.tests; targets retain spaces and are labelled per platform, such as Orbit (iOS).

Develop the CLI

The canonical starter project is in internal/scaffold/assets. base is copied into every generated project; library retains configuration building blocks that are not yet generated by the CLI. Do not add a second editable starter project at the repository root.

just check
just generate-example

About

My personal default xcconfig files and whatnot for a new project

Topics

Resources

Stars

16 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages