Skip to main content

Overview

The tuist generate command creates an Xcode workspace from your Project.swift and Workspace.swift manifests. It’s the core command for converting your declarative project definitions into working Xcode projects.

Usage

Options

string
default:"."
The path to the directory or a subdirectory of the project.
string
Short form of --path.
boolean
default:"false"
Don’t open the project after generating it. By default, the generated workspace opens automatically unless running in CI.
boolean
Short form of --no-open.
boolean
default:"false"
Ignore binary cache and use sources only. Deprecated: Use --cache-profile none instead.
string
Binary cache profile to use: simulator, device, all, none, or a custom profile name. Defaults to the profile configured in Tuist.swift, or only-external if not configured.
string
Configuration to generate for (e.g., Debug, Release).
string
Short form of --configuration.

Arguments

string[]
Targets to focus on, specified by name or tag query (e.g., tag:feature). Other targets will be linked as binaries if possible. If no target is specified, all project targets will be generated (except external ones, such as Swift packages).

Examples

Generate all targets

Generates the complete workspace with all targets and opens it in Xcode.

Generate specific targets

Generates only the App and Framework targets, linking other dependencies as binaries when possible.

Generate with tag query

Generates only targets tagged with feature.

Generate without opening

Generates the workspace but doesn’t open it in Xcode.

Generate without cache

Generates the workspace without using any binary cache.

Generate for specific configuration

Generates the workspace configured for Release builds.

Subcommands

tuist generate list

List previous generation runs and their status.

tuist generate show

Show details about a specific generation run.

Binary caching

Tuist supports binary caching to speed up generation and build times. Use --cache-profile to control caching behavior:
  • simulator: Cache for simulator architectures only
  • device: Cache for device architectures only
  • all: Cache for all architectures
  • none: Disable caching
  • Custom profile name: Use a profile defined in your Tuist.swift

Focused generation

Focused generation allows you to work on specific targets while keeping the rest as pre-compiled binaries. This significantly improves generation and build times for large projects.
This generates MyFeature as source code while linking dependencies as binaries from cache.