# 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

```sh
sudo av install brew:xcodegen
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xcodegen
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xcodegen
```

  Evidence: MacPorts ports tree: devel/xcodegen/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#xcodegen
```

  Evidence: nixpkgs package indexes: pkgs/by-name/xc/xcodegen/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:xcodegen
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xcodegen>
- **Version:** 2.45.4
- **Source summary:** Generate your Xcode project from a spec file and your folder structure
- **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
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- xcodegen (cli)
- xcodegen (alias)

## Uses from macOS

- swift

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.45.4
- Package-manager updated: 2026-04-14
- Local data: ok
- Upstream repository: https://github.com/yonaskolb/XcodeGen
- Upstream latest detected: 2.45.4 (current)
## 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.

### Sources

- <https://github.com/yonaskolb/XcodeGen>
- <https://github.com/yonaskolb/XcodeGen/blob/master/CHANGELOG.md>
- <https://github.com/yonaskolb/XcodeGen/releases>
- <https://tuist.dev/blog/2025/02/25/project-generation>
- <https://yonaskolb.github.io/XcodeGen>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## 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

- Unix: ./project.yml, ./project.json
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** xcodegen
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Requirements:** macos, xcode
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - xcodegen: normalized package name match | nixpkgs package indexes: pkgs/by-name/xc/xcodegen/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - xcodegen: normalized package name match | MacPorts ports tree: devel/xcodegen/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [xcbeautify](https://www.automicvault.com/pkg/brew/xcbeautify/) - Shares av.db curated category or tags: apple-development, cli, developer-tools, swift, xcode.
- [xcode-build-server](https://www.automicvault.com/pkg/brew/xcode-build-server/) - Shares av.db curated category or tags: apple-development, cli, developer-tools, swift, xcode.
- [xcdiff](https://www.automicvault.com/pkg/brew/xcdiff/) - Shares av.db curated category or tags: apple-development, cli, developer-tools, xcode.
- [xcenv](https://www.automicvault.com/pkg/brew/xcenv/) - Shares av.db curated category or tags: apple-development, cli, developer-tools, xcode.
- [xclogparser](https://www.automicvault.com/pkg/brew/xclogparser/) - Shares av.db curated category or tags: apple-development, cli, developer-tools, xcode.
- [xcode-kotlin](https://www.automicvault.com/pkg/brew/xcode-kotlin/) - Shares av.db curated category or tags: apple-development, cli, developer-tools, xcode.
- [xcodes](https://www.automicvault.com/pkg/brew/xcodes/) - Shares av.db curated category or tags: apple-development, cli, developer-tools, xcode.
- [cargo-generate](https://www.automicvault.com/pkg/brew/cargo-generate/) - Shares av.db curated category or tags: cli, developer-tools, project-generation.

## Combined YAML source

View the package source record on GitHub. [combined/xcodegen.yml](https://github.com/automic-vault/db/blob/main/combined/xcodegen.yml)


## Sources

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