Skip to main content
Version: 3.x

tuist generate

Project generation is one of Tuist's core features. It loads your project's dependency graph by reading the manifest files (e.g. Project.swift, Workspace.swift), and translates it into Xcode projects and workspaces. You can think of manifest files as an simple and approachable abstraction of Xcode projects' intricacies, and Xcode projects and workspaces as a implementation detail to edit your project's code.


To generate the project in the current directory, you can simply run:

tuist generate

Moreover, if external dependencies exist in the cache, Tuist replaces them with their pre-compiled version.

In large Xcode projects that contain many targets and schemes, Xcode can be slow indexing the project. The build system, which needs to resolve implicit dependencies, might take longer to do so because there are more Xcode objects to analyze. This is not ideal for developers' productivity and for that reason Tuist allows users to focus on a specific target or set of targets.

tuist generate MyApp

The command generates and opens an Xcode workspace where the targets and schemes not directly related to MyApp are removed. If the direct and transitive dependencies exist in the cache, Tuist replaces them with their pre-compiled version. Thanks to that developers can safely clean their Xcode environment because they'll only be building the target they are focusing on.


--path-pThe path to the directory that contains the definition of the project.Current directoryNo
--no-open -nDon't open the project after generating it.FalseNo
--xcframeworks -xWhen passed it uses xcframeworks (simulator and device) from the cache instead of frameworks (only simulator).FalseNo
--destinationN/AType of cached xcframeworks to use when --xcframeworks is passed (device/simulator)No
--no-cache -xIgnore cached targets, and use their sources instead.FalseNo
--profile -PThe name of the cache profile.No