Automic VaultAutomic Vault

brew

Install xcodegen with Homebrew, MacPorts, Nix

Generate your Xcode project from a spec file and your folder structure. Version 2.45.4 via Homebrew; verified 2026-04-14.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install xcodegen

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install xcodegen

MacPorts ports tree · devel/xcodegen/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#xcodegen

nixpkgs package indexes · pkgs/by-name/xc/xcodegen/package.nix · source: api.github.com

overview

Package summary

Generate your Xcode project from a spec file and your folder structure

Commands and aliases

  • xcodegen

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2017-07-19: Repository created on GitHub.
  • 2017-07-28: 0.1 release published.
  • 2024-06-03: 2.39.0 added support for artifact bundles, string catalogs, and visionOS defaults.
  • 2025-07-17: 2.44.0 added basic support for Xcode 16 synchronized folders.
  • 2026-04-14: 2.45.4 released with fixes for generated project path and synchronized folder behavior.

Related projects

  • Tuist is the most common point of comparison: both generate or manage Xcode projects, but Tuist centers more of the workflow in Swift manifests and a broader project automation platform, while XcodeGen stays close to YAML/JSON project specifications.
  • XcodeGen depends conceptually on the same Xcode project-file automation niche as libraries such as XcodeProj, which parse and write pbxproj structures.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 4 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

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.

Configuration files

Config paths the tool may read or write during local use.

Unix
./project.yml./project.json

executables

Installed executables

CommandKindExposureNote
xcodegencliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version2.45.4
manager updated2026-04-14
local dataok
upstreamcurrent
latest detected2.45.4

https://github.com/yonaskolb/XcodeGen

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:xcodegen
Version2.45.4
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/xcodegen
Homepagehttps://github.com/yonaskolb/XcodeGen
Repositoryhttps://github.com/yonaskolb/XcodeGen
Upstream docshttps://yonaskolb.github.io/XcodeGen
LicenseMIT
Source archivehttps://github.com/yonaskolb/XcodeGen/archive/refs/tags/2.45.4.tar.gz
Last updated2026-04-14T17:16:34Z
Pulseupdated
Uses from macOSswift
Bottleavailable (on arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namexcodegen
Version Scheme0
Revision0
Head VersionHEAD
Requirements
  • macos
  • xcode
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

xcodegen

nix profile install nixpkgs#xcodegen
  • normalized package name match
  • Matched by: Xcodegen
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/xc/xcodegen/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
MacPorts95%

xcodegen

sudo port install xcodegen
  • normalized package name match
  • Matched by: Xcodegen
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/xcodegen/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment