macOS
brew install xcodegenlocal Homebrew formula metadata
sudo port install xcodegenMacPorts ports tree · devel/xcodegen/Portfile · source: api.github.com
brew
Generate your Xcode project from a spec file and your folder structure. Version 2.45.4 via Homebrew; verified 2026-04-14.
install
brew install xcodegenlocal Homebrew formula metadata
sudo port install xcodegenMacPorts ports tree · devel/xcodegen/Portfile · source: api.github.com
nix profile install nixpkgs#xcodegennixpkgs package indexes · pkgs/by-name/xc/xcodegen/package.nix · source: api.github.com
overview
Generate your Xcode project from a spec file and your folder structure
history
XcodeGen is a Swift command-line project generator that turns a YAML or JSON project specification plus a source tree into an Xcode project. Its core appeal is making Xcode project structure reproducible, reviewable, and less prone to merge conflicts.
Yonas Kolb created the XcodeGen repository on 2017-07-19, and the first 0.1 release followed on 2017-07-28. The README has consistently positioned the tool around generating an Xcode project from a folder structure and project spec, with sensible defaults for common targets, schemes, configurations, build settings, and source references.
Across the 2.x series, XcodeGen became a maintained part of the Swift/Xcode automation ecosystem rather than a one-off generator. Its changelog shows ongoing adaptation to newer Xcode project formats, Swift Package Manager integration, local packages, visionOS/watchOS destinations, string catalogs, privacy manifests, and Xcode 16 synchronized folders.
The repository's long-running contributor base and thousands of GitHub stars show broad adoption among iOS and macOS developers who prefer a text source of truth over hand-edited .xcodeproj files. Articles and community comparisons commonly place XcodeGen beside Tuist as one of the main answers to generated Xcode projects, with XcodeGen favoring declarative YAML or JSON configuration.
The project is also distributed through multiple developer package channels, including Homebrew, MacPorts, Nix, Mint, and Swift Package Manager. That spread matters because XcodeGen is often run on CI or developer bootstrap scripts before Xcode itself opens the generated project.
Typical use starts with a project.yml or project.json file checked into the repository. Running xcodegen generate reads that spec, scans source directories, and writes an .xcodeproj. Teams may then omit generated project files from version control or regenerate them in CI to avoid pbxproj churn.
Advanced usage includes splitting specs into included files, sharing build setting groups, generating multiple schemes, defining multi-platform frameworks, using cache support to avoid unnecessary regeneration, and dumping the resolved spec for inspection or automation.
XcodeGen is package-nerd significant because it treats an opaque IDE project file as a generated artifact. That makes Xcode projects more like other language ecosystems where build configuration is text, diffable, and reproducible, while still targeting Apple's native .xcodeproj format.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
./project.yml./project.jsonexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
xcodegen | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/yonaskolb/XcodeGen
install metadata
| Package key | brew:xcodegen |
|---|---|
| Version | 2.45.4 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/xcodegen |
| Homepage | https://github.com/yonaskolb/XcodeGen |
| Repository | https://github.com/yonaskolb/XcodeGen |
| Upstream docs | https://yonaskolb.github.io/XcodeGen |
| License | MIT |
| Source archive | https://github.com/yonaskolb/XcodeGen/archive/refs/tags/2.45.4.tar.gz |
| Last updated | 2026-04-14T17:16:34Z |
| Pulse | updated |
| Uses from macOS | swift |
| Bottle | available (on arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | xcodegen |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Requirements |
|
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
xcodegen
nix profile install nixpkgs#xcodegenxcodegen
sudo port install xcodegensource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.