Select XcodeGen for Xcode Project Generation
-
id: 0000011
Status
-
Superseded by ADR-0000016 (2026-09-20) by: @clsource
History
-
Will be Superseded by ADR-0000013 (2026-09-17) by: @clsource
-
Accepted (2026-08-17) by: @clsource
Context and Problem Statement
ADR-0000009 chose Swift for Xcode related CLI tools. This ADR refines that decision by selecting XcodeGen for project generation. How should the project generation be handled?
Decision Outcome
Chosen option: "XcodeGen", because it is mature, widely adopted, uses a simple YAML-based configuration (Project.yml), and integrates well with CLI-driven workflows. Positive consequences: declarative project definitions, reproducible builds, easy templating via plugins. Negative consequences: none significant.
XcodeGen is the best fit for our needs. Tuist is powerful but heavier and introduces its own Swift DSL, adding complexity. Xcake is less maintained and has a smaller community.