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

tuist generate [options] [targets...]

Options

--path
string
default:"."
The path to the directory or a subdirectory of the project.
-p
string
Short form of --path.
--no-open
boolean
default:"false"
Don’t open the project after generating it. By default, the generated workspace opens automatically unless running in CI.
-n
boolean
Short form of --no-open.
--no-binary-cache
boolean
default:"false"
Ignore binary cache and use sources only. Deprecated: Use --cache-profile none instead.
--cache-profile
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.
--configuration
string
Configuration to generate for (e.g., Debug, Release).
-c
string
Short form of --configuration.

Arguments

targets
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

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

Generate specific targets

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

Generate with tag query

tuist generate tag:feature
Generates only targets tagged with feature.

Generate without opening

tuist generate --no-open
Generates the workspace but doesn’t open it in Xcode.

Generate without cache

tuist generate --cache-profile none
Generates the workspace without using any binary cache.

Generate for specific configuration

tuist generate --configuration Release
Generates the workspace configured for Release builds.

Subcommands

tuist generate list

List previous generation runs and their status.
tuist generate list

tuist generate show

Show details about a specific generation run.
tuist generate show [generation-id]

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.
tuist generate MyFeature
This generates MyFeature as source code while linking dependencies as binaries from cache.