Although Tuist projects are commonly used to supersede Xcode projects, they are not limited to this use case. Tuist projects are also used to generate other types of projects, such as SPM packages, templates, plugins, and tasks. This document describes the structure of Tuist projects and how to organize them. In later sections, we'll cover how to define templates, plugins, and tasks.
Tuist projects are the most common type of project generated by Tuist. They are used to build apps, frameworks, and libraries among others. Unlike Xcode projects, Tuist projects are defined in Swift, which makes them more flexible and easier to maintain. Tuist projects are also more declarative, which makes them easier to understand and reason about. The following structure shows a typical Tuist project that generates an Xcode project:
Tuist directory: This directory has two purposes. First, it signals where the root of the project is. Second, it's the container for the following files: This allows constructing paths relative to the root of the project, and also running Tuist commands from any directory within the project. Second, it's the container for the following files: This allows constructing paths relative to the root of the project, and also running Tuist commands from any directory within the project.
ProjectDescriptionHelpers: This directory contains Swift code that's shared across all the manifest files. Manifest files can import ProjectDescriptionHelpers to use the code defined in this directory. Sharing code is useful to avoid duplications and ensure consistency across the projects.
Package.swift: This file contains Swift Package dependencies for Tuist to integrate them using Xcode projects and targets (like CocoaPods) that are configurable and optimizable. Learn more here.
Root directory: The root directory of your project that also contains the Tuist directory.
This file contains configuration for Tuist that's shared across all the projects, workspaces, and environments. For example, it can be used to disable automatic generation of schemes, or to define the deployment target of the projects.
This manifest represents an Xcode workspace. It's used to group other projects and can also add additional files and schemes.
This manifest represents an Xcode project. It's used to define the targets that are part of the project, and their dependencies.
When interacting with the above project, commands expect to find either a Workspace.swift or a Project.swift file in the working directory or the directory indicated via the --path flag. The manifest should be in a directory or subdirectory of a directory containing a Tuist directory, which represents the root of the project.
TIP
Xcode workspaces allowed splitting projects into multiple Xcode projects to reduce the likelihood of merge conflicts. If that's what you were using workspaces for, you don't need them in Tuist. Tuist auto-generates a workspace containing a project and its dependencies' projects.
Tuist also supports SPM package projects. If you are working on an SPM package, you shouldn't need to update anything. Tuist automatically picks up on your root Package.swift and all the features of Tuist work as if it was a Project.swift manifest.
To get started, run tuist install and tuist generate in your SPM package. Your project should now have all the same schemes and files that you would see in the vanilla Xcode SPM integration. However, now you can also run tuist cache and have majority of your SPM dependencies and modules precompiled, making subsequent builds extremely fast.
\\n\\n# A virtual platform team for developers who ship\\n\\n**Tuist extends Apple's toolchain to help teams scale and focus on building apps** – transforming Apple platform development from frustrating complexity into a smooth, productive experience that grows with your team.\\n\\n \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n\\n\\n## Join thousands of developers who've made the switch\\n\\n**Teams at [Trendyol](https://www.trendyol.com/), [Etsy](https://www.etsy.com/), [Bumble](https://bumble.com/), [Monzo](https://monzo.com/), [Bending Spoons](https://bendingspoons.com/), and 100+ other companies** have already transformed their Apple platform development with Tuist. Here's what they're experiencing:\\n\\n- **65% faster builds** with intelligent caching\\n- **Zero merge conflicts** in Xcode projects\\n- **Minutes to seconds** package resolution\\n- **Happy developers** who can focus on building features\\n\\n\\n \\n \\n \\n\\n\\n\\n## See Tuist in action\\n\\n**Learn from real implementations** and get inspired by what's possible when your toolchain just works.\\n\\n\\n\\n## Join a thriving community\\n\\n**Connect with thousands of Apple platform developers** who are shipping better apps with Tuist. Get help, share wins, and shape the future of Apple platform development.\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\",\"title\":\"What is Tuist?\",\"frontmatter\":{\"URL\":\"/en\",\"LLMS_URL\":\"/en.md\",\"title\":\"What is Tuist?\",\"description\":\"Extend your Apple native tooling to better apps at scale.\"}},{\"path\":\"/en/cli/account.md\",\"url\":\"/en/cli/account\",\"llmUrl\":\"/en/cli/account.md\",\"content\":\"---\\nURL: \\\"/en/cli/account\\\"\\nLLMS_URL: \\\"/en/cli/account.md\\\"\\n---\\n\\n# tuist account\\nA set of commands to manage your Tuist account\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist account -h\\ntuist account --help\\n```\\n\\n\",\"title\":\"tuist account\",\"frontmatter\":{\"URL\":\"/en/cli/account\",\"LLMS_URL\":\"/en/cli/account.md\"}},{\"path\":\"/en/cli/account/update.md\",\"url\":\"/en/cli/account/update\",\"llmUrl\":\"/en/cli/account/update.md\",\"content\":\"---\\nURL: \\\"/en/cli/account/update\\\"\\nLLMS_URL: \\\"/en/cli/account/update.md\\\"\\n---\\n\\n# tuist account update\\nUpdate account settings.\\n\\n## Arguments\\n\\n### account-handle \\n\\nThe account handle of the account to update. If omitted, defaults to the account you're currently authenticated as.\\n```bash\\ntuist account update [account-handle]\\n```\\n\\n### handle \\n\\nThe new handle.\\n```bash\\ntuist account update --handle [handle]\\n```\\n\\n### path \\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist account update --path [path]\\ntuist account update -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist account update -h\\ntuist account update --help\\n```\\n\\n\",\"title\":\"tuist account update\",\"frontmatter\":{\"URL\":\"/en/cli/account/update\",\"LLMS_URL\":\"/en/cli/account/update.md\"}},{\"path\":\"/en/cli/auth.md\",\"url\":\"/en/cli/auth\",\"llmUrl\":\"/en/cli/auth.md\",\"content\":\"---\\nURL: \\\"/en/cli/auth\\\"\\nLLMS_URL: \\\"/en/cli/auth.md\\\"\\n---\\n\\n# tuist auth\\nManage authentication\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth -h\\ntuist auth --help\\n```\\n\\n\",\"title\":\"tuist auth\",\"frontmatter\":{\"URL\":\"/en/cli/auth\",\"LLMS_URL\":\"/en/cli/auth.md\"}},{\"path\":\"/en/cli/auth/login.md\",\"url\":\"/en/cli/auth/login\",\"llmUrl\":\"/en/cli/auth/login.md\",\"content\":\"---\\nURL: \\\"/en/cli/auth/login\\\"\\nLLMS_URL: \\\"/en/cli/auth/login.md\\\"\\n---\\n\\n# tuist auth login\\nLog in a user\\n\\n## Arguments\\n\\n### email \\n\\n**Environment variable** `TUIST_AUTH_EMAIL`\\n\\nEmail to authenticate with.\\n```bash\\ntuist auth login --email [email]\\n```\\n\\n### password \\n\\n**Environment variable** `TUIST_AUTH_PASSWORD`\\n\\nPassword to authenticate with.\\n```bash\\ntuist auth login --password [password]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_AUTH_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth login --path [path]\\ntuist auth login -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth login -h\\ntuist auth login --help\\n```\\n\\n\",\"title\":\"tuist auth login\",\"frontmatter\":{\"URL\":\"/en/cli/auth/login\",\"LLMS_URL\":\"/en/cli/auth/login.md\"}},{\"path\":\"/en/cli/auth/logout.md\",\"url\":\"/en/cli/auth/logout\",\"llmUrl\":\"/en/cli/auth/logout.md\",\"content\":\"---\\nURL: \\\"/en/cli/auth/logout\\\"\\nLLMS_URL: \\\"/en/cli/auth/logout.md\\\"\\n---\\n\\n# tuist auth logout\\nRemoves an existing Tuist session.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LOGOUT_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth logout --path [path]\\ntuist auth logout -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth logout -h\\ntuist auth logout --help\\n```\\n\\n\",\"title\":\"tuist auth logout\",\"frontmatter\":{\"URL\":\"/en/cli/auth/logout\",\"LLMS_URL\":\"/en/cli/auth/logout.md\"}},{\"path\":\"/en/cli/auth/refresh-token.md\",\"url\":\"/en/cli/auth/refresh-token\",\"llmUrl\":\"/en/cli/auth/refresh-token.md\",\"content\":\"---\\nURL: \\\"/en/cli/auth/refresh-token\\\"\\nLLMS_URL: \\\"/en/cli/auth/refresh-token.md\\\"\\n---\\n\\n# tuist auth refresh-token\\nRefreshes the token for a particular URL\\n\\n## Arguments\\n\\n### server-url \\n\\n**Environment variable** `TUIST_AUTH_REFRESH_TOKEN_SERVER_URL`\\n\\nThe URL of the server the token is being refreshed for.\\n```bash\\ntuist auth refresh-token [server-url]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth refresh-token -h\\ntuist auth refresh-token --help\\n```\\n\\n\",\"title\":\"tuist auth refresh-token\",\"frontmatter\":{\"URL\":\"/en/cli/auth/refresh-token\",\"LLMS_URL\":\"/en/cli/auth/refresh-token.md\"}},{\"path\":\"/en/cli/auth/whoami.md\",\"url\":\"/en/cli/auth/whoami\",\"llmUrl\":\"/en/cli/auth/whoami.md\",\"content\":\"---\\nURL: \\\"/en/cli/auth/whoami\\\"\\nLLMS_URL: \\\"/en/cli/auth/whoami.md\\\"\\n---\\n\\n# tuist auth whoami\\nDisplay the user's email identity currently authenticated and in use.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_WHOAMI_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth whoami --path [path]\\ntuist auth whoami -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth whoami -h\\ntuist auth whoami --help\\n```\\n\\n\",\"title\":\"tuist auth whoami\",\"frontmatter\":{\"URL\":\"/en/cli/auth/whoami\",\"LLMS_URL\":\"/en/cli/auth/whoami.md\"}},{\"path\":\"/en/cli/build.md\",\"url\":\"/en/cli/build\",\"llmUrl\":\"/en/cli/build.md\",\"content\":\"---\\nURL: \\\"/en/cli/build\\\"\\nLLMS_URL: \\\"/en/cli/build.md\\\"\\n---\\n\\n# tuist build\\nBuilds a project\\n\\n## Arguments\\n\\n### scheme \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_SCHEME`\\n\\nThe scheme to be built. By default it builds all the buildable schemes of the project in the current directory.\\n```bash\\ntuist build [scheme]\\n```\\n\\n### generate \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_GENERATE`\\n\\nForce the generation of the project before building.\\n```bash\\ntuist build --generate\\ntuist build --no-generate\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_CLEAN`\\n\\nWhen passed, it cleans the project before building it\\n```bash\\ntuist build --clean\\ntuist build --no-clean\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PATH`\\n\\nThe path to the directory that contains the project to be built.\\n```bash\\ntuist build --path [path]\\ntuist build -p [path]\\n```\\n\\n### device \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_DEVICE`\\n\\nBuild on a specific device.\\n```bash\\ntuist build --device [device]\\ntuist build -d [device]\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PLATFORM`\\n\\nBuild for a specific platform.\\n```bash\\ntuist build --platform [platform]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_OS`\\n\\nBuild with a specific version of the OS.\\n```bash\\ntuist build --os [os]\\ntuist build -o [os]\\n```\\n\\n### rosetta \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_ROSETTA`\\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist build --rosetta\\ntuist build --no-rosetta\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_CONFIGURATION`\\n\\nThe configuration to be used when building the scheme.\\n```bash\\ntuist build --configuration [configuration]\\ntuist build -C [configuration]\\n```\\n\\n### build-output-path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_BUILD_OUTPUT_PATH`\\n\\nThe directory where build products will be copied to when the project is built.\\n```bash\\ntuist build --build-output-path [build-output-path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_DERIVED_DATA_PATH`\\n\\nOverrides the folder that should be used for derived data when building the project.\\n```bash\\ntuist build --derived-data-path [derived-data-path]\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips building. This is useful for debugging purposes.\\n```bash\\ntuist build --generate-only\\ntuist build --no-generate-only\\n```\\n\\n### passthrough-xcode-build-arguments \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PASSTHROUGH_XCODE_BUILD_ARGUMENTS`\\n\\nArguments that will be passed through to xcodebuild\\n```bash\\ntuist build [passthrough-xcode-build-arguments]\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_BUILD_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist build --binary-cache\\ntuist build --no-binary-cache\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist build -h\\ntuist build --help\\n```\\n\\n\",\"title\":\"tuist build\",\"frontmatter\":{\"URL\":\"/en/cli/build\",\"LLMS_URL\":\"/en/cli/build.md\"}},{\"path\":\"/en/cli/cache.md\",\"url\":\"/en/cli/cache\",\"llmUrl\":\"/en/cli/cache.md\",\"content\":\"---\\nURL: \\\"/en/cli/cache\\\"\\nLLMS_URL: \\\"/en/cli/cache.md\\\"\\n---\\n\\n# tuist cache\\nWarms the local and remote cache.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist cache --path [path]\\ntuist cache -p [path]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_CACHE_CONFIGURATION`\\n\\nConfiguration to use for binary caching.\\n```bash\\ntuist cache --configuration [configuration]\\ntuist cache -c [configuration]\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_CACHE_TARGETS`\\n\\nA list of targets to cache. Those and their dependant targets will be cached. If no target is specified, all the project targets (excluding the external ones) and their dependencies will be cached.\\n```bash\\ntuist cache [targets]\\n```\\n\\n### external-only \\n\\n**Environment variable** `TUIST_CACHE_EXTERNAL_ONLY`\\n\\nIf passed, the command doesn't cache the targets passed in the `--targets` argument, but only their dependencies\\n```bash\\ntuist cache --external-only\\ntuist cache --no-external-only\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_CACHE_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips warming the cache. This is useful for debugging purposes.\\n```bash\\ntuist cache --generate-only\\ntuist cache --no-generate-only\\n```\\n\\n### print-hashes \\n\\n**Environment variable** `TUIST_CACHE_PRINT_HASHES`\\n\\nWhen passed, the hashes of the cacheable frameworks in the given project are printed.\\n```bash\\ntuist cache --print-hashes\\ntuist cache --no-print-hashes\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist cache -h\\ntuist cache --help\\n```\\n\\n\",\"title\":\"tuist cache\",\"frontmatter\":{\"URL\":\"/en/cli/cache\",\"LLMS_URL\":\"/en/cli/cache.md\"}},{\"path\":\"/en/cli/clean.md\",\"url\":\"/en/cli/clean\",\"llmUrl\":\"/en/cli/clean.md\",\"content\":\"---\\nURL: \\\"/en/cli/clean\\\"\\nLLMS_URL: \\\"/en/cli/clean.md\\\"\\n---\\n\\n# tuist clean\\nClean all the artifacts stored locally\\n\\n## Arguments\\n\\n### clean-categories \\n\\n**Environment variable** `TUIST_CLEAN_CLEAN_CATEGORIES`\\n\\nThe cache and artifact categories to be cleaned. If no category is specified, everything is cleaned.\\n```bash\\ntuist clean [clean-categories]\\n```\\n\\n### remote \\n\\n**Environment variable** `TUIST_CLEAN_REMOTE`\\n\\nClean the remote cache\\n```bash\\ntuist clean --remote\\ntuist clean --no-remote\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_CLEAN_PATH`\\n\\nThe path to the directory that contains the project that should be cleaned.\\n```bash\\ntuist clean --path [path]\\ntuist clean -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist clean -h\\ntuist clean --help\\n```\\n\\n\",\"title\":\"tuist clean\",\"frontmatter\":{\"URL\":\"/en/cli/clean\",\"LLMS_URL\":\"/en/cli/clean.md\"}},{\"path\":\"/en/cli/dump.md\",\"url\":\"/en/cli/dump\",\"llmUrl\":\"/en/cli/dump.md\",\"content\":\"---\\nURL: \\\"/en/cli/dump\\\"\\nLLMS_URL: \\\"/en/cli/dump.md\\\"\\n---\\n\\n# tuist dump\\nOutputs the manifest as a JSON\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_DUMP_PATH`\\n\\nThe path to the folder where the manifest is\\n```bash\\ntuist dump --path [path]\\ntuist dump -p [path]\\n```\\n\\n### manifest \\n\\n**Environment variable** `TUIST_DUMP_MANIFEST`\\n\\nThe manifest to be dumped\\n```bash\\ntuist dump [manifest]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist dump -h\\ntuist dump --help\\n```\\n\\n\",\"title\":\"tuist dump\",\"frontmatter\":{\"URL\":\"/en/cli/dump\",\"LLMS_URL\":\"/en/cli/dump.md\"}},{\"path\":\"/en/cli/edit.md\",\"url\":\"/en/cli/edit\",\"llmUrl\":\"/en/cli/edit.md\",\"content\":\"---\\nURL: \\\"/en/cli/edit\\\"\\nLLMS_URL: \\\"/en/cli/edit.md\\\"\\n---\\n\\n# tuist edit\\nGenerates a temporary project to edit the project in the current directory\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_EDIT_PATH`\\n\\nThe path to the directory whose project will be edited\\n```bash\\ntuist edit --path [path]\\ntuist edit -p [path]\\n```\\n\\n### permanent \\n\\n**Environment variable** `TUIST_EDIT_PERMANENT`\\n\\nIt creates the project in the current directory or the one indicated by -p and doesn't block the process\\n```bash\\ntuist edit --permanent\\ntuist edit -P\\ntuist edit --no-permanent\\n```\\n\\n### only-current-directory \\n\\n**Environment variable** `TUIST_EDIT_ONLY_CURRENT_DIRECTORY`\\n\\nIt only includes the manifest in the current directory.\\n```bash\\ntuist edit --only-current-directory\\ntuist edit -o\\ntuist edit --no-only-current-directory\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist edit -h\\ntuist edit --help\\n```\\n\\n\",\"title\":\"tuist edit\",\"frontmatter\":{\"URL\":\"/en/cli/edit\",\"LLMS_URL\":\"/en/cli/edit.md\"}},{\"path\":\"/en/cli/generate.md\",\"url\":\"/en/cli/generate\",\"llmUrl\":\"/en/cli/generate.md\",\"content\":\"---\\nURL: \\\"/en/cli/generate\\\"\\nLLMS_URL: \\\"/en/cli/generate.md\\\"\\n---\\n\\n# tuist generate\\nGenerates an Xcode workspace to start working on the project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_GENERATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist generate --path [path]\\ntuist generate -p [path]\\n```\\n\\n### query \\n\\nTargets 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 the project targets will be generated (except external ones, such as Swift packages).\\n```bash\\ntuist generate [query]\\n```\\n\\n### open \\n\\n**Environment variable** `TUIST_GENERATE_OPEN`\\n\\nDon't open the project after generating it.\\n```bash\\ntuist generate --open\\ntuist generate -o\\ntuist generate --no-open\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_GENERATE_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist generate --binary-cache\\ntuist generate --no-binary-cache\\n```\\n\\n### configuration \\n\\nConfiguration to generate for.\\n```bash\\ntuist generate --configuration [configuration]\\ntuist generate -c [configuration]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist generate -h\\ntuist generate --help\\n```\\n\\n\",\"title\":\"tuist generate\",\"frontmatter\":{\"URL\":\"/en/cli/generate\",\"LLMS_URL\":\"/en/cli/generate.md\"}},{\"path\":\"/en/cli/graph.md\",\"url\":\"/en/cli/graph\",\"llmUrl\":\"/en/cli/graph.md\",\"content\":\"---\\nURL: \\\"/en/cli/graph\\\"\\nLLMS_URL: \\\"/en/cli/graph.md\\\"\\n---\\n\\n# tuist graph\\nGenerates a graph from the workspace or project in the current directory\\n\\n## Arguments\\n\\n### skip-test-targets \\n\\n**Environment variable** `TUIST_GRAPH_SKIP_TEST_TARGETS`\\n\\nSkip Test targets during graph rendering.\\n```bash\\ntuist graph -t\\ntuist graph --skip-test-targets\\ntuist graph --no-skip-test-targets\\n```\\n\\n### skip-external-dependencies \\n\\n**Environment variable** `TUIST_GRAPH_SKIP_EXTERNAL_DEPENDENCIES`\\n\\nSkip external dependencies.\\n```bash\\ntuist graph -d\\ntuist graph --skip-external-dependencies\\ntuist graph --no-skip-external-dependencies\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_GRAPH_PLATFORM`\\n\\nA platform to filter. Only targets for this platform will be showed in the graph. Available platforms: ios, macos, tvos, watchos\\n```bash\\ntuist graph -l [platform]\\ntuist graph --platform [platform]\\n```\\n\\n### format \\n\\n**Environment variable** `TUIST_GRAPH_FORMAT`\\n\\nAvailable formats: dot, json, png, svg\\n```bash\\ntuist graph -f [format]\\ntuist graph --format [format]\\n```\\n\\n### open \\n\\n**Environment variable** `TUIST_GRAPH_OPEN`\\n\\nDon't open the file after generating it.\\n```bash\\ntuist graph --open\\ntuist graph --no-open\\n```\\n\\n### algorithm \\n\\n**Environment variable** `TUIST_GRAPH_LAYOUT_ALGORITHM`\\n\\nAvailable formats: dot, neato, twopi, circo, fdp, sfdp, patchwork\\n```bash\\ntuist graph -a [algorithm]\\ntuist graph --algorithm [algorithm]\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_GRAPH_TARGETS`\\n\\nA list of targets to filter. Those and their dependent targets will be showed in the graph.\\n```bash\\ntuist graph [targets]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_GRAPH_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist graph --path [path]\\ntuist graph -p [path]\\n```\\n\\n### output-path \\n\\n**Environment variable** `TUIST_GRAPH_OUTPUT_PATH`\\n\\nThe path where the graph will be generated.\\n```bash\\ntuist graph --output-path [output-path]\\ntuist graph -o [output-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist graph -h\\ntuist graph --help\\n```\\n\\n\",\"title\":\"tuist graph\",\"frontmatter\":{\"URL\":\"/en/cli/graph\",\"LLMS_URL\":\"/en/cli/graph.md\"}},{\"path\":\"/en/cli/hash.md\",\"url\":\"/en/cli/hash\",\"llmUrl\":\"/en/cli/hash.md\",\"content\":\"---\\nURL: \\\"/en/cli/hash\\\"\\nLLMS_URL: \\\"/en/cli/hash.md\\\"\\n---\\n\\n# tuist hash\\nUtilities to debug the hashing logic used by features like binary caching or selective testing.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash -h\\ntuist hash --help\\n```\\n\\n\",\"title\":\"tuist hash\",\"frontmatter\":{\"URL\":\"/en/cli/hash\",\"LLMS_URL\":\"/en/cli/hash.md\"}},{\"path\":\"/en/cli/hash/cache.md\",\"url\":\"/en/cli/hash/cache\",\"llmUrl\":\"/en/cli/hash/cache.md\",\"content\":\"---\\nURL: \\\"/en/cli/hash/cache\\\"\\nLLMS_URL: \\\"/en/cli/hash/cache.md\\\"\\n---\\n\\n# tuist hash cache\\nReturns the hashes that will be used to persist binaries of the graph in its current state to the cache.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_HASH_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist hash cache --path [path]\\ntuist hash cache -p [path]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_HASH_CACHE_CONFIGURATION`\\n\\nThe project configuration the cache binaries will be bound to.\\n```bash\\ntuist hash cache --configuration [configuration]\\ntuist hash cache -c [configuration]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash cache -h\\ntuist hash cache --help\\n```\\n\\n\",\"title\":\"tuist hash cache\",\"frontmatter\":{\"URL\":\"/en/cli/hash/cache\",\"LLMS_URL\":\"/en/cli/hash/cache.md\"}},{\"path\":\"/en/cli/hash/selective-testing.md\",\"url\":\"/en/cli/hash/selective-testing\",\"llmUrl\":\"/en/cli/hash/selective-testing.md\",\"content\":\"---\\nURL: \\\"/en/cli/hash/selective-testing\\\"\\nLLMS_URL: \\\"/en/cli/hash/selective-testing.md\\\"\\n---\\n\\n# tuist hash selective-testing\\nReturns the hashes that will be used to persist targets' test results to select tests in future test runs.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_HASH_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose tests will run selectively.\\n```bash\\ntuist hash selective-testing --path [path]\\ntuist hash selective-testing -p [path]\\n```\\n\\n### passthrough-xcodebuild-arguments \\n\\nWhen running tests selectively through 'tuist xcodebuild test', the additional 'xcodebuild' arguments that you'd pass, some of which are hashed.\\n```bash\\ntuist hash selective-testing [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash selective-testing -h\\ntuist hash selective-testing --help\\n```\\n\\n\",\"title\":\"tuist hash selective-testing\",\"frontmatter\":{\"URL\":\"/en/cli/hash/selective-testing\",\"LLMS_URL\":\"/en/cli/hash/selective-testing.md\"}},{\"path\":\"/en/cli/init.md\",\"url\":\"/en/cli/init\",\"llmUrl\":\"/en/cli/init.md\",\"content\":\"---\\nURL: \\\"/en/cli/init\\\"\\nLLMS_URL: \\\"/en/cli/init.md\\\"\\n---\\n\\n# tuist init\\nGet started with Tuist in your Xcode project or create a generated project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INIT_PATH`\\n\\nThe path to the directory from where to start.\\n```bash\\ntuist init --path [path]\\ntuist init -p [path]\\n```\\n\\n### answers \\n\\n**Environment variable** `TUIST_INIT_PATH`\\n\\nBase64-encoded prompt answers\\n```bash\\ntuist init --answers [answers]\\ntuist init -a [answers]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist init -h\\ntuist init --help\\n```\\n\\n\",\"title\":\"tuist init\",\"frontmatter\":{\"URL\":\"/en/cli/init\",\"LLMS_URL\":\"/en/cli/init.md\"}},{\"path\":\"/en/cli/inspect.md\",\"url\":\"/en/cli/inspect\",\"llmUrl\":\"/en/cli/inspect.md\",\"content\":\"---\\nURL: \\\"/en/cli/inspect\\\"\\nLLMS_URL: \\\"/en/cli/inspect.md\\\"\\n---\\n\\n# tuist inspect\\nInspect your project to identify issues such as implicit or redundant dependencies.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect -h\\ntuist inspect --help\\n```\\n\\n\",\"title\":\"tuist inspect\",\"frontmatter\":{\"URL\":\"/en/cli/inspect\",\"LLMS_URL\":\"/en/cli/inspect.md\"}},{\"path\":\"/en/cli/inspect/build.md\",\"url\":\"/en/cli/inspect/build\",\"llmUrl\":\"/en/cli/inspect/build.md\",\"content\":\"---\\nURL: \\\"/en/cli/inspect/build\\\"\\nLLMS_URL: \\\"/en/cli/inspect/build.md\\\"\\n---\\n\\n# tuist inspect build\\nInspects the latest build.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INSPECT_BUILD_PATH`\\n\\nThe path to the directory that contains the project to inspect the latest build for.\\n```bash\\ntuist inspect build --path [path]\\ntuist inspect build -p [path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_INSPECT_BUILD_DERIVED_DATA_PATH`\\n\\nThe path to the directory containing the project's derived data artifacts.\\n```bash\\ntuist inspect build --derived-data-path [derived-data-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect build -h\\ntuist inspect build --help\\n```\\n\\n\",\"title\":\"tuist inspect build\",\"frontmatter\":{\"URL\":\"/en/cli/inspect/build\",\"LLMS_URL\":\"/en/cli/inspect/build.md\"}},{\"path\":\"/en/cli/inspect/bundle.md\",\"url\":\"/en/cli/inspect/bundle\",\"llmUrl\":\"/en/cli/inspect/bundle.md\",\"content\":\"---\\nURL: \\\"/en/cli/inspect/bundle\\\"\\nLLMS_URL: \\\"/en/cli/inspect/bundle.md\\\"\\n---\\n\\n# tuist inspect bundle\\nInspects an app bundle. The app bundle has to be either `.app`, `.xcarchive` or `.ipa`.\\n\\n## Arguments\\n\\n### bundle \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE`\\n\\nThe path to the bundle.\\n```bash\\ntuist inspect bundle [bundle]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist inspect bundle --json\\ntuist inspect bundle --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE_PATH`\\n\\nThe path to the directory that contains the project associated with the inspected bundle.\\n```bash\\ntuist inspect bundle --path [path]\\ntuist inspect bundle -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect bundle -h\\ntuist inspect bundle --help\\n```\\n\\n\",\"title\":\"tuist inspect bundle\",\"frontmatter\":{\"URL\":\"/en/cli/inspect/bundle\",\"LLMS_URL\":\"/en/cli/inspect/bundle.md\"}},{\"path\":\"/en/cli/inspect/implicit-imports.md\",\"url\":\"/en/cli/inspect/implicit-imports\",\"llmUrl\":\"/en/cli/inspect/implicit-imports.md\",\"content\":\"---\\nURL: \\\"/en/cli/inspect/implicit-imports\\\"\\nLLMS_URL: \\\"/en/cli/inspect/implicit-imports.md\\\"\\n---\\n\\n# tuist inspect implicit-imports\\nFind implicit imports in Tuist projects failing when cases are found.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LINT_IMPLICIT_DEPENDENCIES_PATH`\\n\\nThe path to the directory that contains the project.\\n```bash\\ntuist inspect implicit-imports --path [path]\\ntuist inspect implicit-imports -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect implicit-imports -h\\ntuist inspect implicit-imports --help\\n```\\n\\n\",\"title\":\"tuist inspect implicit-imports\",\"frontmatter\":{\"URL\":\"/en/cli/inspect/implicit-imports\",\"LLMS_URL\":\"/en/cli/inspect/implicit-imports.md\"}},{\"path\":\"/en/cli/inspect/redundant-imports.md\",\"url\":\"/en/cli/inspect/redundant-imports\",\"llmUrl\":\"/en/cli/inspect/redundant-imports.md\",\"content\":\"---\\nURL: \\\"/en/cli/inspect/redundant-imports\\\"\\nLLMS_URL: \\\"/en/cli/inspect/redundant-imports.md\\\"\\n---\\n\\n# tuist inspect redundant-imports\\nFind redundant imports in Tuist projects failing when cases are found.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LINT_REDUNDANT_DEPENDENCIES_PATH`\\n\\nThe path to the directory that contains the project.\\n```bash\\ntuist inspect redundant-imports --path [path]\\ntuist inspect redundant-imports -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect redundant-imports -h\\ntuist inspect redundant-imports --help\\n```\\n\\n\",\"title\":\"tuist inspect redundant-imports\",\"frontmatter\":{\"URL\":\"/en/cli/inspect/redundant-imports\",\"LLMS_URL\":\"/en/cli/inspect/redundant-imports.md\"}},{\"path\":\"/en/cli/install.md\",\"url\":\"/en/cli/install\",\"llmUrl\":\"/en/cli/install.md\",\"content\":\"---\\nURL: \\\"/en/cli/install\\\"\\nLLMS_URL: \\\"/en/cli/install.md\\\"\\n---\\n\\n# tuist install\\nInstalls any remote content (e.g. dependencies) necessary to interact with the project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INSTALL_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist install --path [path]\\ntuist install -p [path]\\n```\\n\\n### update \\n\\n**Environment variable** `TUIST_INSTALL_UPDATE`\\n\\nInstead of simple install, update external content when available.\\n```bash\\ntuist install --update\\ntuist install -u\\ntuist install --no-update\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist install -h\\ntuist install --help\\n```\\n\\n\",\"title\":\"tuist install\",\"frontmatter\":{\"URL\":\"/en/cli/install\",\"LLMS_URL\":\"/en/cli/install.md\"}},{\"path\":\"/en/cli/logging.md\",\"url\":\"/en/cli/logging\",\"llmUrl\":\"/en/cli/logging.md\",\"content\":\"---\\nURL: \\\"/en/cli/logging\\\"\\nLLMS_URL: \\\"/en/cli/logging.md\\\"\\ntitle: \\\"Logging\\\"\\ntitleTemplate: \\\":title · CLI · Tuist\\\"\\ndescription: \\\"Learn how to enable and configure logging in Tuist.\\\"\\n---\\n\\n# Logging {#logging}\\n\\nThe CLI logs messages internally to help you diagnose issues.\\n\\n## Diagnose issues using logs {#diagnose-issues-using-logs}\\n\\nIf a command invocation doesn't yield the intended results, you can diagnose the issue by inspecting the logs. The CLI forwards the logs to [OSLog](https://developer.apple.com/documentation/os/oslog) and the file-system.\\n\\nIn every run, it creates a log file at `$XDG_STATE_HOME/tuist/logs/{uuid}.log` where `$XDG_STATE_HOME` takes the value `~/.local/state` if the environment variable is not set.\\n\\nBy default, the CLI outputs the logs path when the execution exits unexpectedly. If it doesn't, you can find the logs in the path mentioned above (i.e., the most recent log file).\\n\\n> [!IMPORTANT]\\n> Sensitive information is not redacted, so be cautious when sharing logs.\\n\\n### Continuous integration {#diagnose-issues-using-logs-ci}\\n\\nIn CI, where environments are disposable, you might want to configure your CI pipeline to export Tuist logs.\\nExporting artifacts is a common capability across CI services, and the configuration depends on the service you use.\\nFor example, in GitHub Actions, you can use the `actions/upload-artifact` action to upload the logs as an artifact:\\n\\n```yaml\\nname: Node CI\\n\\non: [push]\\n\\nenv:\\n XDG_STATE_HOME: /tmp\\n\\njobs:\\n build:\\n runs-on: ubuntu-latest\\n steps:\\n - name: Checkout repository\\n uses: actions/checkout@v4\\n # ... other steps\\n - run: tuist generate\\n # ... do something with the project\\n - name: Export Tuist logs\\n uses: actions/upload-artifact@v4\\n with:\\n name: tuist-logs\\n path: /tmp/tuist/logs/*.log\\n```\\n\",\"title\":\"Logging\",\"frontmatter\":{\"URL\":\"/en/cli/logging\",\"LLMS_URL\":\"/en/cli/logging.md\",\"title\":\"Logging\",\"titleTemplate\":\":title · CLI · Tuist\",\"description\":\"Learn how to enable and configure logging in Tuist.\"}},{\"path\":\"/en/cli/mcp.md\",\"url\":\"/en/cli/mcp\",\"llmUrl\":\"/en/cli/mcp.md\",\"content\":\"---\\nURL: \\\"/en/cli/mcp\\\"\\nLLMS_URL: \\\"/en/cli/mcp.md\\\"\\n---\\n\\n# tuist mcp\\nCommands for interfacing with Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp -h\\ntuist mcp --help\\n```\\n\\n\",\"title\":\"tuist mcp\",\"frontmatter\":{\"URL\":\"/en/cli/mcp\",\"LLMS_URL\":\"/en/cli/mcp.md\"}},{\"path\":\"/en/cli/mcp/setup.md\",\"url\":\"/en/cli/mcp/setup\",\"llmUrl\":\"/en/cli/mcp/setup.md\",\"content\":\"---\\nURL: \\\"/en/cli/mcp/setup\\\"\\nLLMS_URL: \\\"/en/cli/mcp/setup.md\\\"\\n---\\n\\n# tuist mcp setup\\nCommands to automate integrating clients with Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup -h\\ntuist mcp setup --help\\n```\\n\\n\",\"title\":\"tuist mcp setup\",\"frontmatter\":{\"URL\":\"/en/cli/mcp/setup\",\"LLMS_URL\":\"/en/cli/mcp/setup.md\"}},{\"path\":\"/en/cli/mcp/setup/claude.md\",\"url\":\"/en/cli/mcp/setup/claude\",\"llmUrl\":\"/en/cli/mcp/setup/claude.md\",\"content\":\"---\\nURL: \\\"/en/cli/mcp/setup/claude\\\"\\nLLMS_URL: \\\"/en/cli/mcp/setup/claude.md\\\"\\n---\\n\\n# tuist mcp setup claude\\nConfigure your environment's Claude application to point to the Tuist's MCP server.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup claude -h\\ntuist mcp setup claude --help\\n```\\n\\n\",\"title\":\"tuist mcp setup claude\",\"frontmatter\":{\"URL\":\"/en/cli/mcp/setup/claude\",\"LLMS_URL\":\"/en/cli/mcp/setup/claude.md\"}},{\"path\":\"/en/cli/mcp/setup/claude-code.md\",\"url\":\"/en/cli/mcp/setup/claude-code\",\"llmUrl\":\"/en/cli/mcp/setup/claude-code.md\",\"content\":\"---\\nURL: \\\"/en/cli/mcp/setup/claude-code\\\"\\nLLMS_URL: \\\"/en/cli/mcp/setup/claude-code.md\\\"\\n---\\n\\n# tuist mcp setup claude-code\\nSetup Claude Code to use Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup claude-code -h\\ntuist mcp setup claude-code --help\\n```\\n\\n\",\"title\":\"tuist mcp setup claude-code\",\"frontmatter\":{\"URL\":\"/en/cli/mcp/setup/claude-code\",\"LLMS_URL\":\"/en/cli/mcp/setup/claude-code.md\"}},{\"path\":\"/en/cli/mcp/setup/cursor.md\",\"url\":\"/en/cli/mcp/setup/cursor\",\"llmUrl\":\"/en/cli/mcp/setup/cursor.md\",\"content\":\"---\\nURL: \\\"/en/cli/mcp/setup/cursor\\\"\\nLLMS_URL: \\\"/en/cli/mcp/setup/cursor.md\\\"\\n---\\n\\n# tuist mcp setup cursor\\nSetup Cursor IDE to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup cursor --path [path]\\ntuist mcp setup cursor -p [path]\\n```\\n\\n### global \\n\\nConfigure Cursor globally instead of locally.\\n```bash\\ntuist mcp setup cursor --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup cursor -h\\ntuist mcp setup cursor --help\\n```\\n\\n\",\"title\":\"tuist mcp setup cursor\",\"frontmatter\":{\"URL\":\"/en/cli/mcp/setup/cursor\",\"LLMS_URL\":\"/en/cli/mcp/setup/cursor.md\"}},{\"path\":\"/en/cli/mcp/setup/vscode.md\",\"url\":\"/en/cli/mcp/setup/vscode\",\"llmUrl\":\"/en/cli/mcp/setup/vscode.md\",\"content\":\"---\\nURL: \\\"/en/cli/mcp/setup/vscode\\\"\\nLLMS_URL: \\\"/en/cli/mcp/setup/vscode.md\\\"\\n---\\n\\n# tuist mcp setup vscode\\nSetup VS Code to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup vscode --path [path]\\ntuist mcp setup vscode -p [path]\\n```\\n\\n### global \\n\\nConfigure VS Code globally instead of locally.\\n```bash\\ntuist mcp setup vscode --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup vscode -h\\ntuist mcp setup vscode --help\\n```\\n\\n\",\"title\":\"tuist mcp setup vscode\",\"frontmatter\":{\"URL\":\"/en/cli/mcp/setup/vscode\",\"LLMS_URL\":\"/en/cli/mcp/setup/vscode.md\"}},{\"path\":\"/en/cli/mcp/setup/zed.md\",\"url\":\"/en/cli/mcp/setup/zed\",\"llmUrl\":\"/en/cli/mcp/setup/zed.md\",\"content\":\"---\\nURL: \\\"/en/cli/mcp/setup/zed\\\"\\nLLMS_URL: \\\"/en/cli/mcp/setup/zed.md\\\"\\n---\\n\\n# tuist mcp setup zed\\nSetup Zed editor to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup zed --path [path]\\ntuist mcp setup zed -p [path]\\n```\\n\\n### global \\n\\nConfigure Zed globally instead of locally.\\n```bash\\ntuist mcp setup zed --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup zed -h\\ntuist mcp setup zed --help\\n```\\n\\n\",\"title\":\"tuist mcp setup zed\",\"frontmatter\":{\"URL\":\"/en/cli/mcp/setup/zed\",\"LLMS_URL\":\"/en/cli/mcp/setup/zed.md\"}},{\"path\":\"/en/cli/mcp/start.md\",\"url\":\"/en/cli/mcp/start\",\"llmUrl\":\"/en/cli/mcp/start.md\",\"content\":\"---\\nURL: \\\"/en/cli/mcp/start\\\"\\nLLMS_URL: \\\"/en/cli/mcp/start.md\\\"\\n---\\n\\n# tuist mcp start\\nStart an MCP server to interface LLMs with your local dev environment.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp start -h\\ntuist mcp start --help\\n```\\n\\n\",\"title\":\"tuist mcp start\",\"frontmatter\":{\"URL\":\"/en/cli/mcp/start\",\"LLMS_URL\":\"/en/cli/mcp/start.md\"}},{\"path\":\"/en/cli/migration.md\",\"url\":\"/en/cli/migration\",\"llmUrl\":\"/en/cli/migration.md\",\"content\":\"---\\nURL: \\\"/en/cli/migration\\\"\\nLLMS_URL: \\\"/en/cli/migration.md\\\"\\n---\\n\\n# tuist migration\\nA set of utilities to assist in the migration of Xcode projects to Tuist.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration -h\\ntuist migration --help\\n```\\n\\n\",\"title\":\"tuist migration\",\"frontmatter\":{\"URL\":\"/en/cli/migration\",\"LLMS_URL\":\"/en/cli/migration.md\"}},{\"path\":\"/en/cli/migration/check-empty-settings.md\",\"url\":\"/en/cli/migration/check-empty-settings\",\"llmUrl\":\"/en/cli/migration/check-empty-settings.md\",\"content\":\"---\\nURL: \\\"/en/cli/migration/check-empty-settings\\\"\\nLLMS_URL: \\\"/en/cli/migration/check-empty-settings.md\\\"\\n---\\n\\n# tuist migration check-empty-settings\\nIt checks if the build settings of a project or target are empty. Otherwise it exits unsuccessfully.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_CHECK_EMPTY_SETTINGS_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration check-empty-settings -p [xcodeproj-path]\\ntuist migration check-empty-settings --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### target \\n\\n**Environment variable** `TUIST_MIGRATION_CHECK_EMPTY_SETTINGS_TARGET`\\n\\nThe name of the target whose build settings will be checked. When not passed, it checks the build settings of the project.\\n```bash\\ntuist migration check-empty-settings --target [target]\\ntuist migration check-empty-settings -t [target]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration check-empty-settings -h\\ntuist migration check-empty-settings --help\\n```\\n\\n\",\"title\":\"tuist migration check-empty-settings\",\"frontmatter\":{\"URL\":\"/en/cli/migration/check-empty-settings\",\"LLMS_URL\":\"/en/cli/migration/check-empty-settings.md\"}},{\"path\":\"/en/cli/migration/list-targets.md\",\"url\":\"/en/cli/migration/list-targets\",\"llmUrl\":\"/en/cli/migration/list-targets.md\",\"content\":\"---\\nURL: \\\"/en/cli/migration/list-targets\\\"\\nLLMS_URL: \\\"/en/cli/migration/list-targets.md\\\"\\n---\\n\\n# tuist migration list-targets\\nIt lists the targets of a project sorted by number of dependencies.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_LIST_TARGETS_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration list-targets -p [xcodeproj-path]\\ntuist migration list-targets --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration list-targets -h\\ntuist migration list-targets --help\\n```\\n\\n\",\"title\":\"tuist migration list-targets\",\"frontmatter\":{\"URL\":\"/en/cli/migration/list-targets\",\"LLMS_URL\":\"/en/cli/migration/list-targets.md\"}},{\"path\":\"/en/cli/migration/settings-to-xcconfig.md\",\"url\":\"/en/cli/migration/settings-to-xcconfig\",\"llmUrl\":\"/en/cli/migration/settings-to-xcconfig.md\",\"content\":\"---\\nURL: \\\"/en/cli/migration/settings-to-xcconfig\\\"\\nLLMS_URL: \\\"/en/cli/migration/settings-to-xcconfig.md\\\"\\n---\\n\\n# tuist migration settings-to-xcconfig\\nIt extracts the build settings from a project or a target into an xcconfig file.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration settings-to-xcconfig -p [xcodeproj-path]\\ntuist migration settings-to-xcconfig --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### xcconfig-path \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_XCCONFIG_PATH`\\n\\nThe path to the .xcconfig file where build settings will be extracted.\\n```bash\\ntuist migration settings-to-xcconfig -x [xcconfig-path]\\ntuist migration settings-to-xcconfig --xcconfig-path [xcconfig-path]\\n```\\n\\n### target \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_TARGET`\\n\\nThe name of the target whose build settings will be extracted. When not passed, it extracts the build settings of the project.\\n```bash\\ntuist migration settings-to-xcconfig --target [target]\\ntuist migration settings-to-xcconfig -t [target]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration settings-to-xcconfig -h\\ntuist migration settings-to-xcconfig --help\\n```\\n\\n\",\"title\":\"tuist migration settings-to-xcconfig\",\"frontmatter\":{\"URL\":\"/en/cli/migration/settings-to-xcconfig\",\"LLMS_URL\":\"/en/cli/migration/settings-to-xcconfig.md\"}},{\"path\":\"/en/cli/organization.md\",\"url\":\"/en/cli/organization\",\"llmUrl\":\"/en/cli/organization.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization\\\"\\nLLMS_URL: \\\"/en/cli/organization.md\\\"\\n---\\n\\n# tuist organization\\nA set of commands to manage your Tuist organizations.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization -h\\ntuist organization --help\\n```\\n\\n\",\"title\":\"tuist organization\",\"frontmatter\":{\"URL\":\"/en/cli/organization\",\"LLMS_URL\":\"/en/cli/organization.md\"}},{\"path\":\"/en/cli/organization/billing.md\",\"url\":\"/en/cli/organization/billing\",\"llmUrl\":\"/en/cli/organization/billing.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/billing\\\"\\nLLMS_URL: \\\"/en/cli/organization/billing.md\\\"\\n---\\n\\n# tuist organization billing\\nOpen billing dashboard for the specified organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_BILLING_ORGANIZATION_NAME`\\n\\nThe name of the organization to show billing dashboard for.\\n```bash\\ntuist organization billing [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_BILLING_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization billing --path [path]\\ntuist organization billing -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization billing -h\\ntuist organization billing --help\\n```\\n\\n\",\"title\":\"tuist organization billing\",\"frontmatter\":{\"URL\":\"/en/cli/organization/billing\",\"LLMS_URL\":\"/en/cli/organization/billing.md\"}},{\"path\":\"/en/cli/organization/create.md\",\"url\":\"/en/cli/organization/create\",\"llmUrl\":\"/en/cli/organization/create.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/create\\\"\\nLLMS_URL: \\\"/en/cli/organization/create.md\\\"\\n---\\n\\n# tuist organization create\\nCreate a new organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_CREATE_ORGANIZATION_NAME`\\n\\nThe name of the organization to create.\\n```bash\\ntuist organization create [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_CREATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization create --path [path]\\ntuist organization create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization create -h\\ntuist organization create --help\\n```\\n\\n\",\"title\":\"tuist organization create\",\"frontmatter\":{\"URL\":\"/en/cli/organization/create\",\"LLMS_URL\":\"/en/cli/organization/create.md\"}},{\"path\":\"/en/cli/organization/delete.md\",\"url\":\"/en/cli/organization/delete\",\"llmUrl\":\"/en/cli/organization/delete.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/delete\\\"\\nLLMS_URL: \\\"/en/cli/organization/delete.md\\\"\\n---\\n\\n# tuist organization delete\\nDelete a new organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_DELETE_ORGANIZATION_NAME`\\n\\nThe name of the organization to delete.\\n```bash\\ntuist organization delete [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_DELETE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization delete --path [path]\\ntuist organization delete -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization delete -h\\ntuist organization delete --help\\n```\\n\\n\",\"title\":\"tuist organization delete\",\"frontmatter\":{\"URL\":\"/en/cli/organization/delete\",\"LLMS_URL\":\"/en/cli/organization/delete.md\"}},{\"path\":\"/en/cli/organization/invite.md\",\"url\":\"/en/cli/organization/invite\",\"llmUrl\":\"/en/cli/organization/invite.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/invite\\\"\\nLLMS_URL: \\\"/en/cli/organization/invite.md\\\"\\n---\\n\\n# tuist organization invite\\nInvite a new member to your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_ORGANIZATION_NAME`\\n\\nThe name of the organization to invite the user to.\\n```bash\\ntuist organization invite [organization-name]\\n```\\n\\n### email \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_EMAIL`\\n\\nThe email of the user to invite.\\n```bash\\ntuist organization invite [email]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization invite --path [path]\\ntuist organization invite -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization invite -h\\ntuist organization invite --help\\n```\\n\\n\",\"title\":\"tuist organization invite\",\"frontmatter\":{\"URL\":\"/en/cli/organization/invite\",\"LLMS_URL\":\"/en/cli/organization/invite.md\"}},{\"path\":\"/en/cli/organization/list.md\",\"url\":\"/en/cli/organization/list\",\"llmUrl\":\"/en/cli/organization/list.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/list\\\"\\nLLMS_URL: \\\"/en/cli/organization/list.md\\\"\\n---\\n\\n# tuist organization list\\nList your organizations.\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_ORGANIZATION_LIST_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist organization list --json\\ntuist organization list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_LIST_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization list --path [path]\\ntuist organization list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization list -h\\ntuist organization list --help\\n```\\n\\n\",\"title\":\"tuist organization list\",\"frontmatter\":{\"URL\":\"/en/cli/organization/list\",\"LLMS_URL\":\"/en/cli/organization/list.md\"}},{\"path\":\"/en/cli/organization/remove.md\",\"url\":\"/en/cli/organization/remove\",\"llmUrl\":\"/en/cli/organization/remove.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/remove\\\"\\nLLMS_URL: \\\"/en/cli/organization/remove.md\\\"\\n---\\n\\n# tuist organization remove\\nA set of commands to remove members or cancel pending invitations.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove -h\\ntuist organization remove --help\\n```\\n\\n\",\"title\":\"tuist organization remove\",\"frontmatter\":{\"URL\":\"/en/cli/organization/remove\",\"LLMS_URL\":\"/en/cli/organization/remove.md\"}},{\"path\":\"/en/cli/organization/remove/invite.md\",\"url\":\"/en/cli/organization/remove/invite\",\"llmUrl\":\"/en/cli/organization/remove/invite.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/remove/invite\\\"\\nLLMS_URL: \\\"/en/cli/organization/remove/invite.md\\\"\\n---\\n\\n# tuist organization remove invite\\nCancel pending invitation.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_ORGANIZATION_NAME`\\n\\nThe name of the organization to cancel the invitation for.\\n```bash\\ntuist organization remove invite [organization-name]\\n```\\n\\n### email \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_EMAIL`\\n\\nThe email of the user to cancel the invitation for.\\n```bash\\ntuist organization remove invite [email]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove invite --path [path]\\ntuist organization remove invite -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove invite -h\\ntuist organization remove invite --help\\n```\\n\\n\",\"title\":\"tuist organization remove invite\",\"frontmatter\":{\"URL\":\"/en/cli/organization/remove/invite\",\"LLMS_URL\":\"/en/cli/organization/remove/invite.md\"}},{\"path\":\"/en/cli/organization/remove/member.md\",\"url\":\"/en/cli/organization/remove/member\",\"llmUrl\":\"/en/cli/organization/remove/member.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/remove/member\\\"\\nLLMS_URL: \\\"/en/cli/organization/remove/member.md\\\"\\n---\\n\\n# tuist organization remove member\\nRemove a member from your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_ORGANIZATION_NAME`\\n\\nThe name of the organization to remove the organization member from.\\n```bash\\ntuist organization remove member [organization-name]\\n```\\n\\n### username \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_USERNAME`\\n\\nThe username of the member you want to remove from the organization.\\n```bash\\ntuist organization remove member [username]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove member --path [path]\\ntuist organization remove member -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove member -h\\ntuist organization remove member --help\\n```\\n\\n\",\"title\":\"tuist organization remove member\",\"frontmatter\":{\"URL\":\"/en/cli/organization/remove/member\",\"LLMS_URL\":\"/en/cli/organization/remove/member.md\"}},{\"path\":\"/en/cli/organization/remove/sso.md\",\"url\":\"/en/cli/organization/remove/sso\",\"llmUrl\":\"/en/cli/organization/remove/sso.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/remove/sso\\\"\\nLLMS_URL: \\\"/en/cli/organization/remove/sso.md\\\"\\n---\\n\\n# tuist organization remove sso\\nRemove the SSO provider for your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_SSO_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the SSO provider for.\\n```bash\\ntuist organization remove sso [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_SSO_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove sso --path [path]\\ntuist organization remove sso -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove sso -h\\ntuist organization remove sso --help\\n```\\n\\n\",\"title\":\"tuist organization remove sso\",\"frontmatter\":{\"URL\":\"/en/cli/organization/remove/sso\",\"LLMS_URL\":\"/en/cli/organization/remove/sso.md\"}},{\"path\":\"/en/cli/organization/show.md\",\"url\":\"/en/cli/organization/show\",\"llmUrl\":\"/en/cli/organization/show.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/show\\\"\\nLLMS_URL: \\\"/en/cli/organization/show.md\\\"\\n---\\n\\n# tuist organization show\\nShow information about the specified organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_ORGANIZATION_NAME`\\n\\nThe name of the organization to show.\\n```bash\\ntuist organization show [organization-name]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist organization show --json\\ntuist organization show --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization show --path [path]\\ntuist organization show -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization show -h\\ntuist organization show --help\\n```\\n\\n\",\"title\":\"tuist organization show\",\"frontmatter\":{\"URL\":\"/en/cli/organization/show\",\"LLMS_URL\":\"/en/cli/organization/show.md\"}},{\"path\":\"/en/cli/organization/update.md\",\"url\":\"/en/cli/organization/update\",\"llmUrl\":\"/en/cli/organization/update.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/update\\\"\\nLLMS_URL: \\\"/en/cli/organization/update.md\\\"\\n---\\n\\n# tuist organization update\\nA set of commands to update the organization.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update -h\\ntuist organization update --help\\n```\\n\\n\",\"title\":\"tuist organization update\",\"frontmatter\":{\"URL\":\"/en/cli/organization/update\",\"LLMS_URL\":\"/en/cli/organization/update.md\"}},{\"path\":\"/en/cli/organization/update/member.md\",\"url\":\"/en/cli/organization/update/member\",\"llmUrl\":\"/en/cli/organization/update/member.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/update/member\\\"\\nLLMS_URL: \\\"/en/cli/organization/update/member.md\\\"\\n---\\n\\n# tuist organization update member\\nUpdate a member from your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the member for.\\n```bash\\ntuist organization update member [organization-name]\\n```\\n\\n### username \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_USERNAME`\\n\\nThe username of the member you want to update.\\n```bash\\ntuist organization update member [username]\\n```\\n\\n### role \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_ROLE`\\n\\nThe new member role\\n```bash\\ntuist organization update member --role [role]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization update member --path [path]\\ntuist organization update member -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update member -h\\ntuist organization update member --help\\n```\\n\\n\",\"title\":\"tuist organization update member\",\"frontmatter\":{\"URL\":\"/en/cli/organization/update/member\",\"LLMS_URL\":\"/en/cli/organization/update/member.md\"}},{\"path\":\"/en/cli/organization/update/sso.md\",\"url\":\"/en/cli/organization/update/sso\",\"llmUrl\":\"/en/cli/organization/update/sso.md\",\"content\":\"---\\nURL: \\\"/en/cli/organization/update/sso\\\"\\nLLMS_URL: \\\"/en/cli/organization/update/sso.md\\\"\\n---\\n\\n# tuist organization update sso\\nUpdate the SSO provider for your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the SSO provider for.\\n```bash\\ntuist organization update sso [organization-name]\\n```\\n\\n### provider \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_PROVIDER`\\n\\nThe SSO provider to use.\\n```bash\\ntuist organization update sso --provider [provider]\\n```\\n\\n### organization-id \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_ORGANIZATION_ID`\\n\\nOrganization ID for your SSO provider. For Google, this is your Google domain (for example, if your email is [email protected], the domain would be tuist.dev). For Okta, it's the organization domain (such as my-org.okta.com)\\n```bash\\ntuist organization update sso --organization-id [organization-id]\\ntuist organization update sso -o [organization-id]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization update sso --path [path]\\ntuist organization update sso -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update sso -h\\ntuist organization update sso --help\\n```\\n\\n\",\"title\":\"tuist organization update sso\",\"frontmatter\":{\"URL\":\"/en/cli/organization/update/sso\",\"LLMS_URL\":\"/en/cli/organization/update/sso.md\"}},{\"path\":\"/en/cli/plugin.md\",\"url\":\"/en/cli/plugin\",\"llmUrl\":\"/en/cli/plugin.md\",\"content\":\"---\\nURL: \\\"/en/cli/plugin\\\"\\nLLMS_URL: \\\"/en/cli/plugin.md\\\"\\n---\\n\\n# tuist plugin\\nA set of commands for plugin's management.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin -h\\ntuist plugin --help\\n```\\n\\n\",\"title\":\"tuist plugin\",\"frontmatter\":{\"URL\":\"/en/cli/plugin\",\"LLMS_URL\":\"/en/cli/plugin.md\"}},{\"path\":\"/en/cli/plugin/archive.md\",\"url\":\"/en/cli/plugin/archive\",\"llmUrl\":\"/en/cli/plugin/archive.md\",\"content\":\"---\\nURL: \\\"/en/cli/plugin/archive\\\"\\nLLMS_URL: \\\"/en/cli/plugin/archive.md\\\"\\n---\\n\\n# tuist plugin archive\\nArchives a plugin into a NameOfPlugin.tuist-plugin.zip.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_ARCHIVE_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin archive --path [path]\\ntuist plugin archive -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin archive -h\\ntuist plugin archive --help\\n```\\n\\n\",\"title\":\"tuist plugin archive\",\"frontmatter\":{\"URL\":\"/en/cli/plugin/archive\",\"LLMS_URL\":\"/en/cli/plugin/archive.md\"}},{\"path\":\"/en/cli/plugin/build.md\",\"url\":\"/en/cli/plugin/build\",\"llmUrl\":\"/en/cli/plugin/build.md\",\"content\":\"---\\nURL: \\\"/en/cli/plugin/build\\\"\\nLLMS_URL: \\\"/en/cli/plugin/build.md\\\"\\n---\\n\\n# tuist plugin build\\nBuilds a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin build --configuration [configuration]\\ntuist plugin build -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin build --path [path]\\ntuist plugin build -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin build --build-tests\\ntuist plugin build --no-build-tests\\n```\\n\\n### show-bin-path \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_SHOW_BIN_PATH`\\n\\nPrint the binary output path.\\n```bash\\ntuist plugin build --show-bin-path\\ntuist plugin build --no-show-bin-path\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_TARGETS`\\n\\nBuild the specified targets.\\n```bash\\ntuist plugin build --targets [targets]\\n```\\n\\n### products \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_PRODUCTS`\\n\\nBuild the specified products.\\n```bash\\ntuist plugin build --products [products]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin build -h\\ntuist plugin build --help\\n```\\n\\n\",\"title\":\"tuist plugin build\",\"frontmatter\":{\"URL\":\"/en/cli/plugin/build\",\"LLMS_URL\":\"/en/cli/plugin/build.md\"}},{\"path\":\"/en/cli/plugin/run.md\",\"url\":\"/en/cli/plugin/run\",\"llmUrl\":\"/en/cli/plugin/run.md\",\"content\":\"---\\nURL: \\\"/en/cli/plugin/run\\\"\\nLLMS_URL: \\\"/en/cli/plugin/run.md\\\"\\n---\\n\\n# tuist plugin run\\nRuns a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin run --configuration [configuration]\\ntuist plugin run -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin run --path [path]\\ntuist plugin run -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin run --build-tests\\ntuist plugin run --no-build-tests\\n```\\n\\n### skip-build \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_SKIP_BUILD`\\n\\nSkip building the plugin.\\n```bash\\ntuist plugin run --skip-build\\ntuist plugin run --no-skip-build\\n```\\n\\n### task \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_TASK`\\n\\nThe plugin task to run.\\n```bash\\ntuist plugin run [task]\\n```\\n\\n### arguments \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_ARGUMENTS`\\n\\nThe arguments to pass to the plugin task.\\n```bash\\ntuist plugin run [arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin run -h\\ntuist plugin run --help\\n```\\n\\n\",\"title\":\"tuist plugin run\",\"frontmatter\":{\"URL\":\"/en/cli/plugin/run\",\"LLMS_URL\":\"/en/cli/plugin/run.md\"}},{\"path\":\"/en/cli/plugin/test.md\",\"url\":\"/en/cli/plugin/test\",\"llmUrl\":\"/en/cli/plugin/test.md\",\"content\":\"---\\nURL: \\\"/en/cli/plugin/test\\\"\\nLLMS_URL: \\\"/en/cli/plugin/test.md\\\"\\n---\\n\\n# tuist plugin test\\nTests a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin test --configuration [configuration]\\ntuist plugin test -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin test --path [path]\\ntuist plugin test -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_TEST_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin test --build-tests\\ntuist plugin test --no-build-tests\\n```\\n\\n### test-products \\n\\n**Environment variable** `TUIST_PLUGIN_TEST_TEST_PRODUCTS`\\n\\nTest the specified products.\\n```bash\\ntuist plugin test --test-products [test-products]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin test -h\\ntuist plugin test --help\\n```\\n\\n\",\"title\":\"tuist plugin test\",\"frontmatter\":{\"URL\":\"/en/cli/plugin/test\",\"LLMS_URL\":\"/en/cli/plugin/test.md\"}},{\"path\":\"/en/cli/project.md\",\"url\":\"/en/cli/project\",\"llmUrl\":\"/en/cli/project.md\",\"content\":\"---\\nURL: \\\"/en/cli/project\\\"\\nLLMS_URL: \\\"/en/cli/project.md\\\"\\n---\\n\\n# tuist project\\nA set of commands to manage your Tuist projects.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project -h\\ntuist project --help\\n```\\n\\n\",\"title\":\"tuist project\",\"frontmatter\":{\"URL\":\"/en/cli/project\",\"LLMS_URL\":\"/en/cli/project.md\"}},{\"path\":\"/en/cli/project/create.md\",\"url\":\"/en/cli/project/create\",\"llmUrl\":\"/en/cli/project/create.md\",\"content\":\"---\\nURL: \\\"/en/cli/project/create\\\"\\nLLMS_URL: \\\"/en/cli/project/create.md\\\"\\n---\\n\\n# tuist project create\\nCreate a new project.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_CREATE_FULL_HANDLE`\\n\\nThe project to create. The full handle must be in the format of account-handle/project-handle.\\n```bash\\ntuist project create [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_CREATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project create --path [path]\\ntuist project create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project create -h\\ntuist project create --help\\n```\\n\\n\",\"title\":\"tuist project create\",\"frontmatter\":{\"URL\":\"/en/cli/project/create\",\"LLMS_URL\":\"/en/cli/project/create.md\"}},{\"path\":\"/en/cli/project/delete.md\",\"url\":\"/en/cli/project/delete\",\"llmUrl\":\"/en/cli/project/delete.md\",\"content\":\"---\\nURL: \\\"/en/cli/project/delete\\\"\\nLLMS_URL: \\\"/en/cli/project/delete.md\\\"\\n---\\n\\n# tuist project delete\\nDelete a Tuist project.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_DELETE_FULL_HANDLE`\\n\\nThe project to delete. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project delete [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_DELETE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project delete --path [path]\\ntuist project delete -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project delete -h\\ntuist project delete --help\\n```\\n\\n\",\"title\":\"tuist project delete\",\"frontmatter\":{\"URL\":\"/en/cli/project/delete\",\"LLMS_URL\":\"/en/cli/project/delete.md\"}},{\"path\":\"/en/cli/project/list.md\",\"url\":\"/en/cli/project/list\",\"llmUrl\":\"/en/cli/project/list.md\",\"content\":\"---\\nURL: \\\"/en/cli/project/list\\\"\\nLLMS_URL: \\\"/en/cli/project/list.md\\\"\\n---\\n\\n# tuist project list\\nList projects you have access to.\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_PROJECT_LIST_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist project list --json\\ntuist project list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_LIST_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project list --path [path]\\ntuist project list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project list -h\\ntuist project list --help\\n```\\n\\n\",\"title\":\"tuist project list\",\"frontmatter\":{\"URL\":\"/en/cli/project/list\",\"LLMS_URL\":\"/en/cli/project/list.md\"}},{\"path\":\"/en/cli/project/show.md\",\"url\":\"/en/cli/project/show\",\"llmUrl\":\"/en/cli/project/show.md\",\"content\":\"---\\nURL: \\\"/en/cli/project/show\\\"\\nLLMS_URL: \\\"/en/cli/project/show.md\\\"\\n---\\n\\n# tuist project show\\nShow information about the specified project. Use --web flag to open the project in the browser.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_FULL_HANDLE`\\n\\nThe project to show. The full handle must be in the format of account-handle/project-handle.\\n```bash\\ntuist project show [full-handle]\\n```\\n\\n### web \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_WEB`\\n\\nOpen a project in the browser.\\n```bash\\ntuist project show --web\\ntuist project show --no-web\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_PATH`\\n\\nThe path to the Tuist project.\\n```bash\\ntuist project show --path [path]\\ntuist project show -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project show -h\\ntuist project show --help\\n```\\n\\n\",\"title\":\"tuist project show\",\"frontmatter\":{\"URL\":\"/en/cli/project/show\",\"LLMS_URL\":\"/en/cli/project/show.md\"}},{\"path\":\"/en/cli/project/tokens.md\",\"url\":\"/en/cli/project/tokens\",\"llmUrl\":\"/en/cli/project/tokens.md\",\"content\":\"---\\nURL: \\\"/en/cli/project/tokens\\\"\\nLLMS_URL: \\\"/en/cli/project/tokens.md\\\"\\n---\\n\\n# tuist project tokens\\nManage Tuist project tokens.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens -h\\ntuist project tokens --help\\n```\\n\\n\",\"title\":\"tuist project tokens\",\"frontmatter\":{\"URL\":\"/en/cli/project/tokens\",\"LLMS_URL\":\"/en/cli/project/tokens.md\"}},{\"path\":\"/en/cli/project/tokens/create.md\",\"url\":\"/en/cli/project/tokens/create\",\"llmUrl\":\"/en/cli/project/tokens/create.md\",\"content\":\"---\\nURL: \\\"/en/cli/project/tokens/create\\\"\\nLLMS_URL: \\\"/en/cli/project/tokens/create.md\\\"\\n---\\n\\n# tuist project tokens create\\nCreate a new Tuist project token. You can save this token in the `TUIST_CONFIG_TOKEN` environment variable to authenticate requests against the Tuist API.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to create the token for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens create [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens create --path [path]\\ntuist project tokens create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens create -h\\ntuist project tokens create --help\\n```\\n\\n\",\"title\":\"tuist project tokens create\",\"frontmatter\":{\"URL\":\"/en/cli/project/tokens/create\",\"LLMS_URL\":\"/en/cli/project/tokens/create.md\"}},{\"path\":\"/en/cli/project/tokens/list.md\",\"url\":\"/en/cli/project/tokens/list\",\"llmUrl\":\"/en/cli/project/tokens/list.md\",\"content\":\"---\\nURL: \\\"/en/cli/project/tokens/list\\\"\\nLLMS_URL: \\\"/en/cli/project/tokens/list.md\\\"\\n---\\n\\n# tuist project tokens list\\nList Tuist project tokens.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to list the tokens for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens list [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens list --path [path]\\ntuist project tokens list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens list -h\\ntuist project tokens list --help\\n```\\n\\n\",\"title\":\"tuist project tokens list\",\"frontmatter\":{\"URL\":\"/en/cli/project/tokens/list\",\"LLMS_URL\":\"/en/cli/project/tokens/list.md\"}},{\"path\":\"/en/cli/project/tokens/revoke.md\",\"url\":\"/en/cli/project/tokens/revoke\",\"llmUrl\":\"/en/cli/project/tokens/revoke.md\",\"content\":\"---\\nURL: \\\"/en/cli/project/tokens/revoke\\\"\\nLLMS_URL: \\\"/en/cli/project/tokens/revoke.md\\\"\\n---\\n\\n# tuist project tokens revoke\\nRevoke Tuist project tokens.\\n\\n## Arguments\\n\\n### project-token-id \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_ID`\\n\\nThe ID of the project token to revoke.\\n```bash\\ntuist project tokens revoke [project-token-id]\\n```\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to revoke the token for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens revoke [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens revoke --path [path]\\ntuist project tokens revoke -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens revoke -h\\ntuist project tokens revoke --help\\n```\\n\\n\",\"title\":\"tuist project tokens revoke\",\"frontmatter\":{\"URL\":\"/en/cli/project/tokens/revoke\",\"LLMS_URL\":\"/en/cli/project/tokens/revoke.md\"}},{\"path\":\"/en/cli/project/update.md\",\"url\":\"/en/cli/project/update\",\"llmUrl\":\"/en/cli/project/update.md\",\"content\":\"---\\nURL: \\\"/en/cli/project/update\\\"\\nLLMS_URL: \\\"/en/cli/project/update.md\\\"\\n---\\n\\n# tuist project update\\nUpdate project settings\\n\\n## Arguments\\n\\n### full-handle \\n\\nThe full handle of the project to update. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project update [full-handle]\\n```\\n\\n### default-branch \\n\\nSet the default branch name for the repository linked to the project.\\n```bash\\ntuist project update --default-branch [default-branch]\\n```\\n\\n### repository-url \\n\\nSet the connected Git repository. Example: --repository-url https://github.com/tuist/tuist\\n```bash\\ntuist project update --repository-url [repository-url]\\n```\\n\\n### visibility \\n\\nSet the project's visibility. When private, only project's members have access to the project. Public projects are accessible by anyone.\\n```bash\\ntuist project update --visibility [visibility]\\n```\\n\\n### path \\n\\nThe path to the Tuist project.\\n```bash\\ntuist project update --path [path]\\ntuist project update -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project update -h\\ntuist project update --help\\n```\\n\\n\",\"title\":\"tuist project update\",\"frontmatter\":{\"URL\":\"/en/cli/project/update\",\"LLMS_URL\":\"/en/cli/project/update.md\"}},{\"path\":\"/en/cli/registry.md\",\"url\":\"/en/cli/registry\",\"llmUrl\":\"/en/cli/registry.md\",\"content\":\"---\\nURL: \\\"/en/cli/registry\\\"\\nLLMS_URL: \\\"/en/cli/registry.md\\\"\\n---\\n\\n# tuist registry\\nA set of commands to interact with the Tuist Registry.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry -h\\ntuist registry --help\\n```\\n\\n\",\"title\":\"tuist registry\",\"frontmatter\":{\"URL\":\"/en/cli/registry\",\"LLMS_URL\":\"/en/cli/registry.md\"}},{\"path\":\"/en/cli/registry/login.md\",\"url\":\"/en/cli/registry/login\",\"llmUrl\":\"/en/cli/registry/login.md\",\"content\":\"---\\nURL: \\\"/en/cli/registry/login\\\"\\nLLMS_URL: \\\"/en/cli/registry/login.md\\\"\\n---\\n\\n# tuist registry login\\nLog in to the registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_LOGIN_PATH`\\n\\nThe path to the directory that contains the project to which registry you want to log in.\\n```bash\\ntuist registry login --path [path]\\ntuist registry login -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry login -h\\ntuist registry login --help\\n```\\n\\n\",\"title\":\"tuist registry login\",\"frontmatter\":{\"URL\":\"/en/cli/registry/login\",\"LLMS_URL\":\"/en/cli/registry/login.md\"}},{\"path\":\"/en/cli/registry/logout.md\",\"url\":\"/en/cli/registry/logout\",\"llmUrl\":\"/en/cli/registry/logout.md\",\"content\":\"---\\nURL: \\\"/en/cli/registry/logout\\\"\\nLLMS_URL: \\\"/en/cli/registry/logout.md\\\"\\n---\\n\\n# tuist registry logout\\nLog out of the registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_LOGOUT_PATH`\\n\\nThe path to the directory that contains the project to which registry you want to log out of.\\n```bash\\ntuist registry logout --path [path]\\ntuist registry logout -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry logout -h\\ntuist registry logout --help\\n```\\n\\n\",\"title\":\"tuist registry logout\",\"frontmatter\":{\"URL\":\"/en/cli/registry/logout\",\"LLMS_URL\":\"/en/cli/registry/logout.md\"}},{\"path\":\"/en/cli/registry/setup.md\",\"url\":\"/en/cli/registry/setup\",\"llmUrl\":\"/en/cli/registry/setup.md\",\"content\":\"---\\nURL: \\\"/en/cli/registry/setup\\\"\\nLLMS_URL: \\\"/en/cli/registry/setup.md\\\"\\n---\\n\\n# tuist registry setup\\nSet up the Tuist Registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_SETUP_PATH`\\n\\nThe path to the directory that contains the project to set up the registry for.\\n```bash\\ntuist registry setup --path [path]\\ntuist registry setup -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry setup -h\\ntuist registry setup --help\\n```\\n\\n\",\"title\":\"tuist registry setup\",\"frontmatter\":{\"URL\":\"/en/cli/registry/setup\",\"LLMS_URL\":\"/en/cli/registry/setup.md\"}},{\"path\":\"/en/cli/run.md\",\"url\":\"/en/cli/run\",\"llmUrl\":\"/en/cli/run.md\",\"content\":\"---\\nURL: \\\"/en/cli/run\\\"\\nLLMS_URL: \\\"/en/cli/run.md\\\"\\n---\\n\\n# tuist run\\nRuns a scheme or target in the project\\n\\n## Arguments\\n\\n### runnable \\n\\n**Environment variable** `TUIST_RUN_SCHEME`\\n\\nRunnable project scheme, a preview URL, or app name with a specifier such as App@latest or App@feature-branch.\\n```bash\\ntuist run [runnable]\\n```\\n\\n### generate \\n\\n**Environment variable** `TUIST_RUN_GENERATE`\\n\\nForce the generation of the project before running.\\n```bash\\ntuist run --generate\\ntuist run --no-generate\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_RUN_CLEAN`\\n\\nWhen passed, it cleans the project before running.\\n```bash\\ntuist run --clean\\ntuist run --no-clean\\n```\\n\\n### path \\n\\nThe path to the directory that contains the project with the target or scheme to be run.\\n```bash\\ntuist run --path [path]\\ntuist run -p [path]\\n```\\n\\n### configuration \\n\\nThe configuration to be used when building the scheme.\\n```bash\\ntuist run --configuration [configuration]\\ntuist run -C [configuration]\\n```\\n\\n### device \\n\\nThe simulator or physical device name to run the target, scheme, or preview on.\\n```bash\\ntuist run --device [device]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_RUN_OS`\\n\\nThe OS version of the simulator.\\n```bash\\ntuist run --os [os]\\ntuist run -o [os]\\n```\\n\\n### rosetta \\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist run --rosetta\\n```\\n\\n### arguments \\n\\n**Environment variable** `TUIST_RUN_ARGUMENTS`\\n\\nThe arguments to pass to the runnable target during execution.\\n```bash\\ntuist run [arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist run -h\\ntuist run --help\\n```\\n\\n\",\"title\":\"tuist run\",\"frontmatter\":{\"URL\":\"/en/cli/run\",\"LLMS_URL\":\"/en/cli/run.md\"}},{\"path\":\"/en/cli/scaffold.md\",\"url\":\"/en/cli/scaffold\",\"llmUrl\":\"/en/cli/scaffold.md\",\"content\":\"---\\nURL: \\\"/en/cli/scaffold\\\"\\nLLMS_URL: \\\"/en/cli/scaffold.md\\\"\\n---\\n\\n# tuist scaffold\\nGenerates new project based on a template\\n\\n## Arguments\\n\\n### template \\n\\n**Environment variable** `TUIST_SCAFFOLD_TEMPLATE`\\n\\nName of template you want to use\\n```bash\\ntuist scaffold [template]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_SCAFFOLD_JSON`\\n\\nThe output in JSON format\\n```bash\\ntuist scaffold --json\\ntuist scaffold --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_SCAFFOLD_PATH`\\n\\nThe path to the folder where the template will be generated (Default: Current directory)\\n```bash\\ntuist scaffold --path [path]\\ntuist scaffold -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist scaffold -h\\ntuist scaffold --help\\n```\\n\\n\",\"title\":\"tuist scaffold\",\"frontmatter\":{\"URL\":\"/en/cli/scaffold\",\"LLMS_URL\":\"/en/cli/scaffold.md\"}},{\"path\":\"/en/cli/scaffold/list.md\",\"url\":\"/en/cli/scaffold/list\",\"llmUrl\":\"/en/cli/scaffold/list.md\",\"content\":\"---\\nURL: \\\"/en/cli/scaffold/list\\\"\\nLLMS_URL: \\\"/en/cli/scaffold/list.md\\\"\\n---\\n\\n# tuist scaffold list\\nLists available scaffold templates\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_SCAFFOLD_LIST_JSON`\\n\\nThe output in JSON format\\n```bash\\ntuist scaffold list --json\\ntuist scaffold list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_SCAFFOLD_LIST_PATH`\\n\\nThe path where you want to list templates from\\n```bash\\ntuist scaffold list --path [path]\\ntuist scaffold list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist scaffold list -h\\ntuist scaffold list --help\\n```\\n\\n\",\"title\":\"tuist scaffold list\",\"frontmatter\":{\"URL\":\"/en/cli/scaffold/list\",\"LLMS_URL\":\"/en/cli/scaffold/list.md\"}},{\"path\":\"/en/cli/share.md\",\"url\":\"/en/cli/share\",\"llmUrl\":\"/en/cli/share.md\",\"content\":\"---\\nURL: \\\"/en/cli/share\\\"\\nLLMS_URL: \\\"/en/cli/share.md\\\"\\n---\\n\\n# tuist share\\nGenerate a link to share your app.\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory that contains a Tuist or Xcode project with a buildable scheme that can output runnable artifacts.\\n```bash\\ntuist share --path [path]\\ntuist share -p [path]\\n```\\n\\n### apps \\n\\n**Environment variable** `TUIST_SHARE_APP`\\n\\nThe app name to be looked up in the built products directory or the paths to the app bundles or an .ipa archive.\\n```bash\\ntuist share [apps]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_SHARE_CONFIGURATION`\\n\\nThe configuration of the app to share. Ignored when the app paths are passed directly.\\n```bash\\ntuist share --configuration [configuration]\\ntuist share -C [configuration]\\n```\\n\\n### platforms \\n\\n**Environment variable** `TUIST_SHARE_PLATFORM`\\n\\nThe platforms (iOS, tvOS, visionOS, watchOS or macOS) to share the app for. Ignored when the app paths are passed directly.\\n```bash\\ntuist share --platforms [platforms]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_SHARE_DERIVED_DATA_PATH`\\n\\nThe derived data path to find the apps in. When absent, the system-configured one.\\n```bash\\ntuist share --derived-data-path [derived-data-path]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_SHARE_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist share --json\\ntuist share --no-json\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist share -h\\ntuist share --help\\n```\\n\\n\",\"title\":\"tuist share\",\"frontmatter\":{\"URL\":\"/en/cli/share\",\"LLMS_URL\":\"/en/cli/share.md\"}},{\"path\":\"/en/cli/shell-completions.md\",\"url\":\"/en/cli/shell-completions\",\"llmUrl\":\"/en/cli/shell-completions.md\",\"content\":\"---\\nURL: \\\"/en/cli/shell-completions\\\"\\nLLMS_URL: \\\"/en/cli/shell-completions.md\\\"\\ntitle: \\\"Shell completions\\\"\\ntitleTemplate: \\\":title · CLI · Tuist\\\"\\ndescription: \\\"Learn how to configure your shell to auto-complete Tuist commands.\\\"\\n---\\n\\n# Shell completions\\n\\nIf you have Tuist **globally installed** (e.g., via Homebrew),\\nyou can install shell completions for Bash and Zsh to autocomplete commands and options.\\n\\n::: warning WHAT IS A GLOBAL INSTALLATION\\nA global installation is an installation that's available in your shell's `$PATH` environment variable. This means you can run `tuist` from any directory in your terminal. This is the default installation method for Homebrew.\\n:::\\n\\n#### Zsh {#zsh}\\n\\nIf you have [oh-my-zsh](https://ohmyz.sh/) installed, you already have a directory of automatically loading completion scripts — `.oh-my-zsh/completions`. Copy your new completion script to a new file in that directory called `_tuist`:\\n\\n```bash\\ntuist --generate-completion-script > ~/.oh-my-zsh/completions/_tuist\\n```\\n\\nWithout `oh-my-zsh`, you'll need to add a path for completion scripts to your function path, and turn on completion script autoloading. First, add these lines to `~/.zshrc`:\\n\\n```bash\\nfpath=(~/.zsh/completion $fpath)\\nautoload -U compinit\\ncompinit\\n```\\n\\nNext, create a directory at `~/.zsh/completion` and copy the completion script to the new directory, again into a file called `_tuist`.\\n\\n```bash\\ntuist --generate-completion-script > ~/.zsh/completion/_tuist\\n```\\n\\n#### Bash {#bash}\\n\\nIf you have [bash-completion](https://github.com/scop/bash-completion) installed, you can just copy your new completion script to file `/usr/local/etc/bash_completion.d/_tuist`:\\n\\n```bash\\ntuist --generate-completion-script > /usr/local/etc/bash_completion.d/_tuist\\n```\\n\\nWithout bash-completion, you'll need to source the completion script directly. Copy it to a directory such as `~/.bash_completions/`, and then add the following line to `~/.bash_profile` or `~/.bashrc`:\\n\\n```bash\\nsource ~/.bash_completions/example.bash\\n```\\n\\n#### Fish {#fish}\\n\\nIf you use [fish shell](https://fishshell.com), you can copy your new completion script to `~/.config/fish/completions/tuist.fish`:\\n\\n```bash\\nmkdir -p ~/.config/fish/completions\\ntuist --generate-completion-script > ~/.config/fish/completions/tuist.fish\\n```\\n\",\"title\":\"Shell completions\",\"frontmatter\":{\"URL\":\"/en/cli/shell-completions\",\"LLMS_URL\":\"/en/cli/shell-completions.md\",\"title\":\"Shell completions\",\"titleTemplate\":\":title · CLI · Tuist\",\"description\":\"Learn how to configure your shell to auto-complete Tuist commands.\"}},{\"path\":\"/en/cli/test.md\",\"url\":\"/en/cli/test\",\"llmUrl\":\"/en/cli/test.md\",\"content\":\"---\\nURL: \\\"/en/cli/test\\\"\\nLLMS_URL: \\\"/en/cli/test.md\\\"\\n---\\n\\n# tuist test\\nTests a project\\n\\n## Arguments\\n\\n### scheme \\n\\n**Environment variable** `TUIST_TEST_SCHEME`\\n\\nThe scheme to be tested. By default it tests all the testable targets of the project in the current directory.\\n```bash\\ntuist test [scheme]\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_TEST_CLEAN`\\n\\nWhen passed, it cleans the project before testing it.\\n```bash\\ntuist test --clean\\ntuist test -c\\ntuist test --no-clean\\n```\\n\\n### no-upload \\n\\n**Environment variable** `TUIST_TEST_NO_UPLOAD`\\n\\nWhen passed, the result necessary for test selection is not persisted to the server.\\n```bash\\ntuist test --no-upload\\ntuist test -n\\ntuist test --no-no-upload\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_TEST_PATH`\\n\\nThe path to the directory that contains the project to be tested.\\n```bash\\ntuist test --path [path]\\ntuist test -p [path]\\n```\\n\\n### device \\n\\n**Environment variable** `TUIST_TEST_DEVICE`\\n\\nTest on a specific device.\\n```bash\\ntuist test --device [device]\\ntuist test -d [device]\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_TEST_PLATFORM`\\n\\nTest on a specific platform.\\n```bash\\ntuist test --platform [platform]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_TEST_OS`\\n\\nTest with a specific version of the OS.\\n```bash\\ntuist test --os [os]\\ntuist test -o [os]\\n```\\n\\n### rosetta \\n\\n**Environment variable** `TUIST_TEST_ROSETTA`\\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist test --rosetta\\ntuist test --no-rosetta\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_TEST_CONFIGURATION`\\n\\nThe configuration to be used when testing the scheme.\\n```bash\\ntuist test --configuration [configuration]\\ntuist test -C [configuration]\\n```\\n\\n### skip-ui-tests \\n\\n**Environment variable** `TUIST_TEST_SKIP_UITESTS`\\n\\nWhen passed, it skips testing UI Tests targets.\\n```bash\\ntuist test --skip-ui-tests\\ntuist test --no-skip-ui-tests\\n```\\n\\n### result-bundle-path \\n\\n**Environment variable** `TUIST_TEST_RESULT_BUNDLE_PATH`\\n\\nPath where test result bundle will be saved.\\n```bash\\ntuist test --result-bundle-path [result-bundle-path]\\ntuist test -T [result-bundle-path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_TEST_DERIVED_DATA_PATH`\\n\\nOverrides the folder that should be used for derived data when testing a project.\\n```bash\\ntuist test --derived-data-path [derived-data-path]\\n```\\n\\n### retry-count \\n\\n**Environment variable** `TUIST_TEST_RETRY_COUNT`\\n\\nTests will retry \\\\ of times until success. Example: if 1 is specified, the test will be retried at most once, hence it will run up to 2 times.\\n```bash\\ntuist test --retry-count [retry-count]\\n```\\n\\n### test-plan \\n\\n**Environment variable** `TUIST_TEST_TEST_PLAN`\\n\\nThe test plan to run.\\n```bash\\ntuist test --test-plan [test-plan]\\n```\\n\\n### test-targets \\n\\n**Environment variable** `TUIST_TEST_TEST_TARGETS`\\n\\nThe list of test identifiers you want to test. Expected format is TestTarget[/TestClass[/TestMethod]]. It is applied before --skip-testing\\n```bash\\ntuist test --test-targets [test-targets]\\n```\\n\\n### skip-test-targets \\n\\n**Environment variable** `TUIST_TEST_SKIP_TEST_TARGETS`\\n\\nThe list of test identifiers you want to skip testing. Expected format is TestTarget[/TestClass[/TestMethod]].\\n```bash\\ntuist test --skip-test-targets [skip-test-targets]\\n```\\n\\n### filter-configurations \\n\\n**Environment variable** `TUIST_TEST_CONFIGURATIONS`\\n\\nThe list of configurations you want to test. It is applied before --skip-configuration\\n```bash\\ntuist test --filter-configurations [filter-configurations]\\n```\\n\\n### skip-configurations \\n\\n**Environment variable** `TUIST_TEST_SKIP_CONFIGURATIONS`\\n\\nThe list of configurations you want to skip testing.\\n```bash\\ntuist test --skip-configurations [skip-configurations]\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_TEST_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist test --binary-cache\\ntuist test --no-binary-cache\\n```\\n\\n### selective-testing \\n\\n**Environment variable** `TUIST_TEST_SELECTIVE_TESTING`\\n\\nWhen --no-selective-testing is passed, tuist runs all tests without using selective testing.\\n```bash\\ntuist test --selective-testing\\ntuist test --no-selective-testing\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_TEST_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips testing. This is useful for debugging purposes.\\n```bash\\ntuist test --generate-only\\ntuist test --no-generate-only\\n```\\n\\n### without-building \\n\\n**Environment variable** `TUIST_TEST_WITHOUT_BUILDING`\\n\\nWhen passed, run the tests without building.\\n```bash\\ntuist test --without-building\\ntuist test --no-without-building\\n```\\n\\n### build-only \\n\\n**Environment variable** `TUIST_TEST_BUILD_ONLY`\\n\\nWhen passed, build the tests, but don't run them\\n```bash\\ntuist test --build-only\\ntuist test --no-build-only\\n```\\n\\n### passthrough-xcode-build-arguments \\n\\nxcodebuild arguments that will be passthrough\\n```bash\\ntuist test [passthrough-xcode-build-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist test -h\\ntuist test --help\\n```\\n\\n\",\"title\":\"tuist test\",\"frontmatter\":{\"URL\":\"/en/cli/test\",\"LLMS_URL\":\"/en/cli/test.md\"}},{\"path\":\"/en/cli/version.md\",\"url\":\"/en/cli/version\",\"llmUrl\":\"/en/cli/version.md\",\"content\":\"---\\nURL: \\\"/en/cli/version\\\"\\nLLMS_URL: \\\"/en/cli/version.md\\\"\\n---\\n\\n# tuist version\\nOutputs the current version of tuist\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist version -h\\ntuist version --help\\n```\\n\\n\",\"title\":\"tuist version\",\"frontmatter\":{\"URL\":\"/en/cli/version\",\"LLMS_URL\":\"/en/cli/version.md\"}},{\"path\":\"/en/cli/xcodebuild.md\",\"url\":\"/en/cli/xcodebuild\",\"llmUrl\":\"/en/cli/xcodebuild.md\",\"content\":\"---\\nURL: \\\"/en/cli/xcodebuild\\\"\\nLLMS_URL: \\\"/en/cli/xcodebuild.md\\\"\\n---\\n\\n# tuist xcodebuild\\ntuist xcodebuild extends the xcodebuild CLI with server capabilities such as selective testing or analytics.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild -h\\ntuist xcodebuild --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild\",\"frontmatter\":{\"URL\":\"/en/cli/xcodebuild\",\"LLMS_URL\":\"/en/cli/xcodebuild.md\"}},{\"path\":\"/en/cli/xcodebuild/archive.md\",\"url\":\"/en/cli/xcodebuild/archive\",\"llmUrl\":\"/en/cli/xcodebuild/archive.md\",\"content\":\"---\\nURL: \\\"/en/cli/xcodebuild/archive\\\"\\nLLMS_URL: \\\"/en/cli/xcodebuild/archive.md\\\"\\n---\\n\\n# tuist xcodebuild archive\\ntuist xcodebuild archive extends the xcodebuild CLI archive action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild archive [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild archive -h\\ntuist xcodebuild archive --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild archive\",\"frontmatter\":{\"URL\":\"/en/cli/xcodebuild/archive\",\"LLMS_URL\":\"/en/cli/xcodebuild/archive.md\"}},{\"path\":\"/en/cli/xcodebuild/build.md\",\"url\":\"/en/cli/xcodebuild/build\",\"llmUrl\":\"/en/cli/xcodebuild/build.md\",\"content\":\"---\\nURL: \\\"/en/cli/xcodebuild/build\\\"\\nLLMS_URL: \\\"/en/cli/xcodebuild/build.md\\\"\\n---\\n\\n# tuist xcodebuild build\\ntuist xcodebuild build extends the xcodebuild CLI build action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild build [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild build -h\\ntuist xcodebuild build --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild build\",\"frontmatter\":{\"URL\":\"/en/cli/xcodebuild/build\",\"LLMS_URL\":\"/en/cli/xcodebuild/build.md\"}},{\"path\":\"/en/cli/xcodebuild/build-for-testing.md\",\"url\":\"/en/cli/xcodebuild/build-for-testing\",\"llmUrl\":\"/en/cli/xcodebuild/build-for-testing.md\",\"content\":\"---\\nURL: \\\"/en/cli/xcodebuild/build-for-testing\\\"\\nLLMS_URL: \\\"/en/cli/xcodebuild/build-for-testing.md\\\"\\n---\\n\\n# tuist xcodebuild build-for-testing\\ntuist xcodebuild build-for-testing extends the xcodebuild CLI build-for-testing action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild build-for-testing [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild build-for-testing -h\\ntuist xcodebuild build-for-testing --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild build-for-testing\",\"frontmatter\":{\"URL\":\"/en/cli/xcodebuild/build-for-testing\",\"LLMS_URL\":\"/en/cli/xcodebuild/build-for-testing.md\"}},{\"path\":\"/en/cli/xcodebuild/test.md\",\"url\":\"/en/cli/xcodebuild/test\",\"llmUrl\":\"/en/cli/xcodebuild/test.md\",\"content\":\"---\\nURL: \\\"/en/cli/xcodebuild/test\\\"\\nLLMS_URL: \\\"/en/cli/xcodebuild/test.md\\\"\\n---\\n\\n# tuist xcodebuild test\\ntuist xcodebuild test extends the xcodebuild CLI test action with insights and selective testing capabilities.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild test [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild test -h\\ntuist xcodebuild test --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild test\",\"frontmatter\":{\"URL\":\"/en/cli/xcodebuild/test\",\"LLMS_URL\":\"/en/cli/xcodebuild/test.md\"}},{\"path\":\"/en/cli/xcodebuild/test-without-building.md\",\"url\":\"/en/cli/xcodebuild/test-without-building\",\"llmUrl\":\"/en/cli/xcodebuild/test-without-building.md\",\"content\":\"---\\nURL: \\\"/en/cli/xcodebuild/test-without-building\\\"\\nLLMS_URL: \\\"/en/cli/xcodebuild/test-without-building.md\\\"\\n---\\n\\n# tuist xcodebuild test-without-building\\ntuist xcodebuild test-without-building extends the xcodebuild CLI test action with insights and selective testing capabilities.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild test-without-building [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild test-without-building -h\\ntuist xcodebuild test-without-building --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild test-without-building\",\"frontmatter\":{\"URL\":\"/en/cli/xcodebuild/test-without-building\",\"LLMS_URL\":\"/en/cli/xcodebuild/test-without-building.md\"}},{\"path\":\"/en/contributors/cli/logging.md\",\"url\":\"/en/contributors/cli/logging\",\"llmUrl\":\"/en/contributors/cli/logging.md\",\"content\":\"---\\nURL: \\\"/en/contributors/cli/logging\\\"\\nLLMS_URL: \\\"/en/contributors/cli/logging.md\\\"\\ntitle: \\\"Logging\\\"\\ntitleTemplate: \\\":title · CLI · Contributors · Tuist\\\"\\ndescription: \\\"Learn how to contribute to Tuist by reviewing code\\\"\\n---\\n\\n# Logging {#logging}\\n\\nThe CLI embraces the [swift-log](https://github.com/apple/swift-log) interface for logging. The package abstracts away the implementation details of logging, allowing the CLI to be agnostic to the logging backend. The logger is dependency-injected using task locals and can be accessed anywhere using:\\n\\n```bash\\nLogger.current\\n```\\n\\n> [!NOTE]\\n> Task locals don't propagate the value when using `Dispatch` or detached tasks, so if you use them, you'll need to get it and pass it to the asynchronous operation.\\n\\n## What to log {#what-to-log}\\n\\nLogs are not the CLI's UI. They are a tool to diagnose issues when they arise.\\nTherefore, the more information you provide, the better.\\nWhen building new features, put yourself in the shoes of a developer coming across unexpected behavior, and think about what information would be helpful to them.\\nEnsure you you use the right [log level](https://www.swift.org/documentation/server/guides/libraries/log-levels.html). Otherwise developers won't be able to filter out the noise.\\n\",\"title\":\"Logging\",\"frontmatter\":{\"URL\":\"/en/contributors/cli/logging\",\"LLMS_URL\":\"/en/contributors/cli/logging.md\",\"title\":\"Logging\",\"titleTemplate\":\":title · CLI · Contributors · Tuist\",\"description\":\"Learn how to contribute to Tuist by reviewing code\"}},{\"path\":\"/en/contributors/code-reviews.md\",\"url\":\"/en/contributors/code-reviews\",\"llmUrl\":\"/en/contributors/code-reviews.md\",\"content\":\"---\\nURL: \\\"/en/contributors/code-reviews\\\"\\nLLMS_URL: \\\"/en/contributors/code-reviews.md\\\"\\ntitle: \\\"Code reviews\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"Learn how to contribute to Tuist by reviewing code\\\"\\n---\\n\\n# Code reviews {#code-reviews}\\n\\nReviewing pull requests is a common type of contribution. Despite continuous integration (CI) ensuring the code does what’s supposed to do, it’s not enough. There are contribution traits that can’t be automated: design, code structure & architecture, tests quality, or typos. The following sections represent different aspects of the code review process.\\n\\n## Readability {#readability}\\n\\nDoes the code express its intention clearly? **If you need to spend a bunch of time figuring out what the code does, the code implementation needs to be improved.** Suggest splitting the code into smaller abstractions that are easier to understand. Alternative, and as a last resource, they can add a comment explaining the reasoning behind it. Ask yourself if you’d be able to understand the code in a near future, without any surrounding context like the pull request description.\\n\\n## Small pull requests {#small-pull-requests}\\n\\nLarge pull requests are hard to review and it’s easier to miss out details. If a pull request becomes too large and unmanageable, suggest the author to break it down.\\n\\n> [!NOTE] EXCEPTIONS\\n> There are few scenarios where splitting up the pull request is not possible, like when the changes are tightly coupled and can’t be split. In those cases, the author should provide a clear explanation of the changes and the reasoning behind them.\\n\\n## Consistency {#consistency}\\n\\nIt’s important that the changes are consistent with the rest of the project. Inconsistencies complicate maintenance, and therefore we should avoid them. If there’s an approach to output messages to the user, or report errors, we should stick to that. If the author disagrees with the project’s standards, suggest them to open an issue where we can discuss them further.\\n\\n## Tests {#tests}\\n\\nTests allow changing code with confidence. The code on pull requests should be tested, and all tests should pass. A good test is a test that consistently produces the same result and that it’s easy to understand and maintain. Reviewers spend most of the review time in the implementation code, but tests are equally important because they are code too.\\n\\n## Breaking changes {#breaking-changes}\\n\\nBreaking changes are a bad user experience for users of Tuist. Contributions should avoid introducing breaking changes unless it’s strictly necessary. There are many language features that we can leverage to evolve the interface of Tuist without resorting to a breaking change. Whether a change is breaking or not might not be obvious. A method to verify whether the change is breaking is running Tuist against the fixture projects in the fixtures directory. It requires putting ourselves in the user’s shoes and imagine how the changes would impact them.\\n\",\"title\":\"Code reviews\",\"frontmatter\":{\"URL\":\"/en/contributors/code-reviews\",\"LLMS_URL\":\"/en/contributors/code-reviews.md\",\"title\":\"Code reviews\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"Learn how to contribute to Tuist by reviewing code\"}},{\"path\":\"/en/contributors/get-started.md\",\"url\":\"/en/contributors/get-started\",\"llmUrl\":\"/en/contributors/get-started.md\",\"content\":\"---\\nURL: \\\"/en/contributors/get-started\\\"\\nLLMS_URL: \\\"/en/contributors/get-started.md\\\"\\ntitle: \\\"Get started\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"Get started contributing to Tuist by following this guide.\\\"\\n---\\n\\n# Get started {#get-started}\\n\\nIf you have experience building apps for Apple platforms, like iOS, adding code to Tuist shouldn’t be much different. There are two differences compared to developing apps that are worth mentioning:\\n\\n- **The interactions with CLIs happen through the terminal.** The user executes Tuist, which performs the desired task, and then returns successfully or with a status code. During the execution, the user can be notified by sending output information to the standard output and standard error. There are no gestures, or graphical interactions, just the user intent.\\n\\n- **There’s no runloop that keeps the process alive waiting for input**, like it happens in an iOS app when the app receives system or user events. CLIs run in its process and finishes when the work is done. Asynchronous work can be done using system APIs like [DispatchQueue](https://developer.apple.com/documentation/dispatch/dispatchqueue) or [structured concurrency](https://developer.apple.com/tutorials/app-dev-training/managing-structured-concurrency), but need to make sure the process is running while the asynchronous work is being executed. Otherwise, the process will terminate the asynchronous work.\\n\\nIf you don’t have any experience with Swift, we recommend [Apple’s official book](https://docs.swift.org/swift-book/) to get familiar with the language and the most used elements from the Foundation’s API.\\n\\n## Minimum requirements {#minimum-requirements}\\n\\nTo contribute to Tuist, minimum requirements are:\\n\\n- macOS 14.0+\\n- Xcode 16.3+\\n\\n## Set up the project locally {#set-up-the-project-locally}\\n\\nTo start working on the project, we can follow the steps below:\\n\\n- Clone the repository by running: `git clone [email protected]:tuist/tuist.git`\\n- [Install](https://mise.jdx.dev/getting-started.html) Mise to provision the development environment.\\n- Run `mise install` to install the system dependencies needed by Tuist\\n- Run `tuist install` to install the external dependencies needed by Tuist\\n- (Optional) Run `tuist auth login` to get access to the Tuist Cache\\n- Run `tuist generate` to generate the Tuist Xcode project using Tuist itself\\n\\n**The generated project opens automatically**. If you need to open again without generating it, run `open Tuist.xcworkspace` (or use Finder).\\n\\n> [!NOTE] XED .\\n> If you try to open the project using `xed .`, it will open the package, and not the project generated by Tuist. We recommend using the Tuist-generated project to dog-food the tool.\\n\\n## Edit the project {#edit-the-project}\\n\\nIf you needed to edit the project, for example to add dependencies or adjust targets, you can use the `tuist edit` command. This is barely used, but it's good to know that it exists.\\n\\n## Run Tuist {#run-tuist}\\n\\n### From Xcode {#from-xcode}\\n\\nTo run `tuist` from the generated Xcode project, edit the `tuist` scheme, and set the arguments that you'd like to pass to the command. For example, to run the `tuist generate` command, you can set the arguments to `generate --no-open` to prevent the project from opening after the generation.\\n\\n\\n\\nYou'll also have to set the working directory to the root of the project being generated. You can do that either by using the `--path` argument, which all the commands accept, or configuring the working directory in the scheme as shown below:\\n\\n\\n\\n\\n> [!WARNING] PROJECTDESCRIPTION COMPILATION\\n> The `tuist` CLI depends on the `ProjectDescription` framework's presence in the built products directory. If `tuist` fails to run because it can't find the `ProjectDescription` framework, build the `Tuist-Workspace` scheme first.\\n\\n### From the terminal {#from-the-terminal}\\n\\nYou can run `tuist` using Tuist itself through its `run` command:\\n\\n```bash\\ntuist run tuist generate --path /path/to/project --no-open\\n```\\n\\nAlternatively, you can also run it through the Swift Package Manager directly:\\n\\n```bash\\nswift build --product ProjectDescription\\nswift run tuist generate --path /path/to/project --no-open\\n```\\n\",\"title\":\"Get started\",\"frontmatter\":{\"URL\":\"/en/contributors/get-started\",\"LLMS_URL\":\"/en/contributors/get-started.md\",\"title\":\"Get started\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"Get started contributing to Tuist by following this guide.\"}},{\"path\":\"/en/contributors/issue-reporting.md\",\"url\":\"/en/contributors/issue-reporting\",\"llmUrl\":\"/en/contributors/issue-reporting.md\",\"content\":\"---\\nURL: \\\"/en/contributors/issue-reporting\\\"\\nLLMS_URL: \\\"/en/contributors/issue-reporting.md\\\"\\ntitle: \\\"Issue reporting\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"Learn how to contribute to Tuist by reporting bugs\\\"\\n---\\n\\n# Issue reporting {#issue-reporting}\\n\\nAs user of Tuist, you might come across bugs or unexpected behaviors.\\nIf you do, we encourage you to report them so that we can fix them.\\n\\n## GitHub issues is our ticketing platform {#github-issues-is-our-ticketing-platform}\\n\\nIssues should be reported on GitHub as [GitHub issues](https://github.com/tuist/tuist/issues) and not on Slack or other platforms. GitHub is better for tracing and managing issues, is closer to the codebase, and allows us to track the progress of the issue. Moreover, it encourages a long-form description of the problem, which forces the reporter to think about the problem and provide more context.\\n\\n## Context is crucial {#context-is-crucial}\\n\\nAn issue without enough context will be deemed incomplete and the author will be asked for additional context. If not provided, the issue will be closed. Think about it this way: the more context you provide, the easier it is for us to understand the problem and fix it. So if you want your issue to be fixed, provide as much context as possible. Try to answer the following questions:\\n\\n- What were you trying to do?\\n- How does your graph look?\\n- What version of Tuist are you using?\\n- Is this blocking you?\\n\\nWe also require you to provide a minimal **reproducible project**.\\n\\n## Reproducible project {#reproducible-project}\\n\\n### What is a reproducible project? {#what-is-a-reproducible-project}\\n\\nA reproducible project is a small Tuist project to demonstrate a problem - often this problem is caused by a bug in Tuist. Your reproducible project should contain the bare minimum features needed to clearly demonstrate the bug.\\n\\n### Why should you create a reproducible test case? {#why-should-you-create-a-reproducible-test-case}\\n\\nA reproducible projects lets us isolate the cause of a problem, which is the first step towards fixing it! The most important part of any bug report is to describe the exact steps needed to reproduce the bug.\\n\\nA reproducible project is a great way to share a specific environment that causes a bug. Your reproducible project is the best way to help people that want to help you.\\n\\n### Steps to create a reproducible project {#steps-to-create-a-reproducible-project}\\n\\n- Create a new git repository.\\n- Initialize a project using `tuist init` in the repository directory.\\n- Add the code needed to recreate the error you’ve seen.\\n- Publish the code (your GitHub account is a good place to do this) and then link to it when creating an issue.\\n\\n### Benefits of reproducible projects {#benefits-of-reproducible-projects}\\n\\n- **Smaller surface area:** By removing everything but the error, you don’t have to dig to find the bug.\\n- **No need to publish secret code:** You might not be able to publish your main site (for many reasons). Remaking a small part of it as a reproducible test case allows you to publicly demonstrate a problem without exposing any secret code.\\n- **Proof of the bug:** Sometimes a bug is caused by some combination of settings on your machine. A reproducible test case allows contributors to pull down your build and test it on their machines as well. This helps verify and narrow down the cause of a problem.\\n- **Get help with fixing your bug:** If someone else can reproduce your problem, they often have a good chance of fixing the problem. It’s almost impossible to fix a bug without first being able to reproduce it.\\n\",\"title\":\"Issue reporting\",\"frontmatter\":{\"URL\":\"/en/contributors/issue-reporting\",\"LLMS_URL\":\"/en/contributors/issue-reporting.md\",\"title\":\"Issue reporting\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"Learn how to contribute to Tuist by reporting bugs\"}},{\"path\":\"/en/contributors/principles.md\",\"url\":\"/en/contributors/principles\",\"llmUrl\":\"/en/contributors/principles.md\",\"content\":\"---\\nURL: \\\"/en/contributors/principles\\\"\\nLLMS_URL: \\\"/en/contributors/principles.md\\\"\\ntitle: \\\"Principles\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"This document describes the principles that guide the development of Tuist.\\\"\\n---\\n\\n# Principles {#principles}\\n\\nThis page describes principles that are pillars to the design and development of Tuist. They evolve with the project and are meant to ensure a sustainable growth that is well-aligned with the project foundation.\\n\\n## Default to conventions {#default-to-conventions}\\n\\nOne of the reasons why Tuist exists is because Xcode is weak in conventions and that leads to complex projects that are hard to scale up and maintain. For that reason, Tuist takes a different approach by defaulting to simple and thoroughly designed conventions. **Developers can opt-out from the conventions, but that’s a conscious decision that doesn’t feel natural.**\\n\\nFor example, there’s a convention for defining dependencies between targets by using the provided public interface. By doing that, Tuist ensures that the projects are generated with the right configurations for the linking to work. Developers have the option to define the dependencies through build settings, but they’d be doing it implicitly and therefore breaking Tuist features such as `tuist graph` or `tuist cache` that rely on some conventions being followed.\\n\\nThe reason why we default to conventions is that the more decision we can make on behalf of the developers, the more focus they’ll have crafting features for their apps. When we are left with no conventions like it’s the case in many projects, we have to make decisions that will end up not being consistent with other decisions and as a consequence, there’ll be an accidental complexity that will be hard to manage.\\n\\n## Manifests are the source of truth {#manifests-are-the-source-of-truth}\\n\\nHaving many layers of configurations and contracts between them results in a project setup that is hard to reason about and maintain. Think for a second on an average project. The definition of the project lives in the `.xcodeproj` directories, the CLI in scripts (e.g `Fastfiles`), and the CI logic in pipelines. Those are three layers with contracts between them that we need to maintain. *How often have you been in a situation where you changed something in your projects, and then a week later you realized that the release scripts broke?*\\n\\nWe can simplify this by having a single source of truth, the manifest files. Those files provide Tuist with the information that it needs to generate Xcode projects that developers can use to edit their files. Moreover, it allows having standard commands for building projects from a local or CI environment.\\n\\n**Tuist should own the complexity and expose a simple, safe, and enjoyable interface to describe their projects as explicitly as possible.**\\n\\n## Make the implicit explicit {#make-the-implicit-explicit}\\n\\nXcode supports implicit configurations. A good example of that is inferring the implicitly defined dependencies. While implicitness is fine for small projects, where configurations are simple, as projects get larger it might cause slowness or odd behaviors.\\n\\nTuist should provide explicit APIs for implicit Xcode behaviors. It should also support defining Xcode implicitness but implemented in such a way that encourages developers to opt for the explicit approach. Supporting Xcode implicitness and intricacies facilitates the adoption of Tuist, after which teams can take some time to get rid of the implicitness.\\n\\nThe definition of dependencies is a good example of that. While developers can define dependencies through build settings and phases, Tuist provides a beautiful API that encourages its adoption.\\n\\n**Designing the API to be explicit allows Tuist to run some checks and optimizations on the projects that otherwise wouldn’t be possible.** Moreover, it enables features like `tuist graph`, which exports a representation of the dependency graph, or `tuist cache`, which caches all the targets as binaries.\\n\\n> [!TIP]\\n> We should treat each request to port features from Xcode as an opportunity to simplify concepts with simple and explicit APIs.\\n\\n## Keep it simple {#keep-it-simple}\\n\\nOne of the main challenges when scaling Xcode projects comes from the fact that **Xcode exposes a lot of complexity to the users.** Due to that, teams have a high bus factor and only a few people in the team understand the project and the errors that the build system throws. That’s a bad situation to be in because the team relies on a few people.\\n\\nXcode is a great tool, but so many years of improvements, new platforms, and programming languages, are reflected on their surface, which struggled to remain simple.\\n\\nTuist should take the opportunity to keep things simple because working on simple things is fun and motivates us. No one wants to spend time trying to debug an error that happens at the very end of the compilation process, or understanding why they are not able to run the app on their devices. Xcode delegates the tasks to its underlying build system and in some cases it does a very poor job translating errors into actionable items. Have you ever got a *“framework X not found”* error and you didn’t know what to do? Imagine if we got a list of potential root causes for the bug.\\n\\n## Start from the developer’s experience {#start-from-the-developers-experience}\\n\\nPart of the reason why there is a lack of innovation around Xcode, or put differently, not as much as in other programming environments, is because **we often start analyzing problems from existing solutions.** As a consequence, most of the solutions that we find nowadays revolve around the same ideas and workflows. While it’s good to include existing solutions in the equations, we should not let them constrain our creativity.\\n\\nWe like to think as [Tom Preston](https://tom.preston-werner.com/) puts it in [this podcast](https://tom.preston-werner.com/): *“Most things can be achieved, whatever you have in your head you can probably pull off with code as long as is possible within the constrains of the universe”.* If **we imagine how we’d like the developer experience to be**, it’s just a matter of time to pull it off — by starting to analyze the problems from the developer experience gives us a unique point of view that will lead us to solutions that users will love to use.\\n\\nWe might feel tempted to follow what everyone is doing, even if that means sticking with the inconveniences that everyone continues to complain about. Let’s not do that. How do I imagine archiving my app? How would I love code signing to be? What processes can I help streamline with Tuist? For example, adding support for [Fastlane](https://fastlane.tools/) is a solution to a problem that we need to understand first. We can get to the root of the problem by asking “why” questions. Once we narrow down where the motivation comes from, we can think of how Tuist can help them best. Maybe the solution is integrating with Fastlane, but it’s important we don’t disregard other equally valid solutions that we can put on the table before making trade-offs.\\n\\n## Errors can and will happen {#errors-can-and-will-happen}\\n\\nWe, developers, have an inherent temptation to disregard that errors can happen. As a result, we design and test software only considering the ideal scenario.\\n\\nSwift, its type system, and a well-architected code might help prevent some errors, but not all of them because some are out of our control. We can’t assume the user will always have an internet connection, or that the system commands will return successfully. The environments in which Tuist runs are not sandboxes that we control, and hence we need to make an effort to understand how they might change and impact Tuist.\\n\\nPoorly handled errors result in bad user experience, and users might lose trust in the project. We want users to enjoy every single piece of Tuist, even the way we present errors to them.\\n\\nWe should put ourselves in the shoes of users and imagine what we’d expect the error to tell us. If the programming language is the communication channel through which errors propagate, and the users are the destination of the errors, they should be written in the same language that the target (users) speak. They should include enough information to know what happened and hide the information that is not relevant. Also, they should be actionable by telling users what steps they can take to recover from them.\\n\\nAnd last but not least, our test cases should contemplate failing scenarios. Not only they ensure that we are handling errors as we are supposed to, but prevent future developers from breaking that logic.\\n\",\"title\":\"Principles\",\"frontmatter\":{\"URL\":\"/en/contributors/principles\",\"LLMS_URL\":\"/en/contributors/principles.md\",\"title\":\"Principles\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"This document describes the principles that guide the development of Tuist.\"}},{\"path\":\"/en/contributors/releases.md\",\"url\":\"/en/contributors/releases\",\"llmUrl\":\"/en/contributors/releases.md\",\"content\":\"---\\nURL: \\\"/en/contributors/releases\\\"\\nLLMS_URL: \\\"/en/contributors/releases.md\\\"\\ntitle: \\\"Releases\\\"\\ntitleTemplate: \\\":title | Contributors | Tuist\\\"\\ndescription: \\\"Learn how Tuist's continuous release process works\\\"\\n---\\n\\n# Releases\\n\\nTuist uses a continuous release system that automatically publishes new versions whenever meaningful changes are merged to the main branch. This approach ensures that improvements reach users quickly without manual intervention from maintainers.\\n\\n## Overview\\n\\nWe continuously release three main components:\\n- **Tuist CLI** - The command-line tool\\n- **Tuist Server** - The backend services\\n- **Tuist App** - The macOS and iOS apps (iOS app is only continuously deployed to TestFlight, see more [here](#app-store-release)\\n\\nEach component has its own release pipeline that runs automatically on every push to the main branch.\\n\\n## How it works\\n\\n### 1. Commit conventions\\n\\nWe use [Conventional Commits](https://www.conventionalcommits.org/) to structure our commit messages. This allows our tooling to understand the nature of changes, determine version bumps, and generate appropriate changelogs.\\n\\nFormat: `type(scope): description`\\n\\n#### Commit types and their impact\\n\\n| Type | Description | Version Impact | Example |\\n|------|-------------|----------------|---------|\\n| `feat` | New feature or capability | Minor version bump (x.Y.z) | `feat(cli): add support for Swift 6` |\\n| `fix` | Bug fix | Patch version bump (x.y.Z) | `fix(app): resolve crash when opening projects` |\\n| `docs` | Documentation changes | No release | `docs: update installation guide` |\\n| `style` | Code style changes | No release | `style: format code with swiftformat` |\\n| `refactor` | Code refactoring | No release | `refactor(server): simplify auth logic` |\\n| `perf` | Performance improvements | Patch version bump | `perf(cli): optimize dependency resolution` |\\n| `test` | Test additions/changes | No release | `test: add unit tests for cache` |\\n| `chore` | Maintenance tasks | No release | `chore: update dependencies` |\\n| `ci` | CI/CD changes | No release | `ci: add workflow for releases` |\\n\\n#### Breaking changes\\n\\nBreaking changes trigger a major version bump (X.0.0) and should be indicated in the commit body:\\n\\n```\\nfeat(cli): change default cache location\\n\\nBREAKING CHANGE: The cache is now stored in ~/.tuist/cache instead of .tuist-cache.\\nUsers will need to clear their old cache directory.\\n```\\n\\n### 2. Change detection\\n\\nEach component uses [git cliff](https://git-cliff.org/) to:\\n- Analyze commits since the last release\\n- Filter commits by scope (cli, app, server)\\n- Determine if there are releasable changes\\n- Generate changelogs automatically\\n\\n### 3. Release pipeline\\n\\nWhen releasable changes are detected:\\n\\n1. **Version calculation**: The pipeline determines the next version number\\n2. **Changelog generation**: git cliff creates a changelog from commit messages\\n3. **Build process**: The component is built and tested\\n4. **Release creation**: A GitHub release is created with artifacts\\n5. **Distribution**: Updates are pushed to package managers (e.g., Homebrew for CLI)\\n\\n### 4. Scope filtering\\n\\nEach component only releases when it has relevant changes:\\n\\n- **CLI**: Commits with `(cli)` scope or no scope\\n- **App**: Commits with `(app)` scope\\n- **Server**: Commits with `(server)` scope\\n\\n## Writing good commit messages\\n\\nSince commit messages directly influence release notes, it's important to write clear, descriptive messages:\\n\\n### Do:\\n- Use present tense: \\\"add feature\\\" not \\\"added feature\\\"\\n- Be concise but descriptive\\n- Include the scope when changes are component-specific\\n- Reference issues when applicable: `fix(cli): resolve build cache issue (#1234)`\\n\\n### Don't:\\n- Use vague messages like \\\"fix bug\\\" or \\\"update code\\\"\\n- Mix multiple unrelated changes in one commit\\n- Forget to include breaking change information\\n\\n### Breaking changes\\n\\nFor breaking changes, include `BREAKING CHANGE:` in the commit body:\\n\\n```\\nfeat(cli): change cache directory structure\\n\\nBREAKING CHANGE: Cache files are now stored in a new directory structure.\\nUsers need to clear their cache after updating.\\n```\\n\\n## Release workflows\\n\\nThe release workflows are defined in:\\n- `.github/workflows/cli-release.yml` - CLI releases\\n- `.github/workflows/app-release.yml` - App releases\\n- `.github/workflows/server-release.yml` - Server releases\\n\\nEach workflow:\\n- Runs on pushes to main\\n- Can be triggered manually\\n- Uses git cliff for change detection\\n- Handles the entire release process\\n\\n## Monitoring releases\\n\\nYou can monitor releases through:\\n- [GitHub Releases page](https://github.com/tuist/tuist/releases)\\n- GitHub Actions tab for workflow runs\\n- Changelog files in each component directory\\n\\n## Benefits\\n\\nThis continuous release approach provides:\\n\\n- **Fast delivery**: Changes reach users immediately after merging\\n- **Reduced bottlenecks**: No waiting for manual releases\\n- **Clear communication**: Automated changelogs from commit messages\\n- **Consistent process**: Same release flow for all components\\n- **Quality assurance**: Only tested changes are released\\n\\n## Troubleshooting\\n\\nIf a release fails:\\n\\n1. Check the GitHub Actions logs for the failed workflow\\n2. Ensure your commit messages follow the conventional format\\n3. Verify that all tests pass\\n4. Check that the component builds successfully\\n\\nFor urgent fixes that need immediate release:\\n1. Ensure your commit has a clear scope\\n2. After merging, monitor the release workflow\\n3. If needed, trigger a manual release\\n\\n## App Store release\\n\\nWhile the CLI and Server follow the continuous release process described above, the **iOS app** is an exception due to Apple's App Store review process:\\n\\n- **Manual releases**: iOS app releases require manual submission to the App Store\\n- **Review delays**: Each release must go through Apple's review process, which can take 1-7 days\\n- **Batched changes**: Multiple changes are typically bundled together in each iOS release\\n- **TestFlight**: Beta versions may be distributed via TestFlight before App Store release\\n- **Release notes**: Must be written specifically for App Store guidelines\\n\\nThe iOS app still follows the same commit conventions and uses git cliff for changelog generation, but the actual release to users happens on a less frequent, manual schedule.\\n\",\"title\":\"Releases\",\"frontmatter\":{\"URL\":\"/en/contributors/releases\",\"LLMS_URL\":\"/en/contributors/releases.md\",\"title\":\"Releases\",\"titleTemplate\":\":title | Contributors | Tuist\",\"description\":\"Learn how Tuist's continuous release process works\"}},{\"path\":\"/en/contributors/translate.md\",\"url\":\"/en/contributors/translate\",\"llmUrl\":\"/en/contributors/translate.md\",\"content\":\"---\\nURL: \\\"/en/contributors/translate\\\"\\nLLMS_URL: \\\"/en/contributors/translate.md\\\"\\ntitle: \\\"Translate\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"This document describes the principles that guide the development of Tuist.\\\"\\n---\\n\\n# Translate {#translate}\\n\\nLanguages can be barriers to understanding. We want to make sure that Tuist is accessible to as many people as possible. If you speak a language that Tuist doesn't support, you can help us by translating the various surfaces of Tuist.\\n\\nSince maintaining translations is a continuous effort, we add languages as we see contributors willing to help us maintain them. The following languages are currently supported:\\n\\n- English\\n- Korean\\n- Japanese\\n- Russian\\n- Chinese\\n- Spanish\\n- Portuguese\\n\\n> [!TIP] REQUEST A NEW LANGUAGE\\n> If you believe Tuist would benefit from supporting a new language, please create a new [topic in the community forum](https://community.tuist.io/c/general/4) to discuss it with the community.\\n\\n## How to translate {#how-to-translate}\\n\\nWe have an instance of [Weblate](https://weblate.org/en-gb/) running at [translate.tuist.dev](https://translate.tuist.dev).\\nYou can head to [the documentation](https://translate.tuist.dev/engage/documentation/) project website, create an account, and start translating.\\n\\nTranslations are synchronized back to the source repository using GitHub pull requests which maintainers will review and merge.\\n\\n> [!IMPORTANT] DON'T MODIFY THE RESOURCES IN THE TARGET LANGUAGE\\n> Weblate segments the files to bind source and target languages. If you modify the source language, you'll break the binding, and the reconciliation might yield unexpected results.\\n\\n## Guidelines {#guidelines}\\n\\nThe following are the guidelines we follow when translating.\\n\\n### Custom containers and GitHub alerts {#custom-containers-and-github-alerts}\\n\\nWhen translating [custom containers](https://vitepress.dev/guide/markdown#custom-containers) or [GitHub Alerts](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts), only translate the title and the content **but not the type of alert**.\\n\\n::: details Example with GitHub Alert\\n```markdown\\n > [!WARNING] 루트 변수\\n > 매니페스트의 루트에 있어야 하는 변수는...\\n\\n // Instead of\\n > [!주의] 루트 변수\\n > 매니페스트의 루트에 있어야 하는 변수는...\\n ```\\n:::\\n\\n\\n::: details Example with custom container\\n```markdown\\n ::: warning 루트 변수\\\\\\n 매니페스트의 루트에 있어야 하는 변수는...\\n :::\\n\\n # Instead of\\n ::: 주의 루트 변수\\\\\\n 매니페스트의 루트에 있어야 하는 변수는...\\n :::\\n```\\n:::\\n\\n### Heading titles {#heading-titles}\\n\\nWhen translating headings, only translate tht title but not the id. For example, when translating the following heading:\\n\\n```markdown\\n# Add dependencies {#add-dependencies}\\n```\\n\\nIt should be translated as (note the id is not translated):\\n\\n```markdown\\n# 의존성 추가하기 {#add-dependencies}\\n```\\n\",\"title\":\"Translate\",\"frontmatter\":{\"URL\":\"/en/contributors/translate\",\"LLMS_URL\":\"/en/contributors/translate.md\",\"title\":\"Translate\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"This document describes the principles that guide the development of Tuist.\"}},{\"path\":\"/en/guides/examples/generated-projects.md\",\"url\":\"/en/guides/examples/generated-projects\",\"llmUrl\":\"/en/guides/examples/generated-projects.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects.md\\\"\\ntitle: \\\"Generated Projects Examples\\\"\\ntitleTemplate: \\\":title · Examples · Guides · Tuist\\\"\\ndescription: \\\"Examples of generated projects which we use as fixtures to run acceptance tests against.\\\"\\n---\\n\\n# Generated Projects Examples\\n\\nIn this section you'll find examples of generated projects which we use as [fixtures](https://github.com/tuist/tuist/tree/main/cli/Fixtures) to run acceptance tests against. You might find them useful when creating a new generated project, or migrating an existing Xcode project to be generated by Tuist.\",\"title\":\"Generated Projects Examples\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects\",\"LLMS_URL\":\"/en/guides/examples/generated-projects.md\",\"title\":\"Generated Projects Examples\",\"titleTemplate\":\":title · Examples · Guides · Tuist\",\"description\":\"Examples of generated projects which we use as fixtures to run acceptance tests against.\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_airship_sdk.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_airship_sdk\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_airship_sdk.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_airship_sdk\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_airship_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Airship SDK\\n\\nThis example contains an example that showcases how to integrate the [Airship](https://github.com/urbanairship/ios-library) SDK.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Airship SDK\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_airship_sdk\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_airship_sdk.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_build_rules.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_build_rules\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_build_rules.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_build_rules\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_build_rules.md\\\"\\n---\\n\\n\\n\\n# Application with build rules\\n\\nThis example contains an example that uses [build rules](https://developer.apple.com/documentation/xcode/creating-build-rules-for-custom-file-types), which instruct Xcode on how to compile a particular file.\\n\\nCheck out example\\n\",\"title\":\"Application with build rules\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_build_rules\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_build_rules.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_composable_architecture.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_composable_architecture\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_composable_architecture.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_composable_architecture\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_composable_architecture.md\\\"\\n---\\n\\n\\n\\n# Application with the Composable Architecture (TCA)\\n\\nThis example contains an example that uses the Composable Architecture.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Composable Architecture (TCA)\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_composable_architecture\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_composable_architecture.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_custom_default_configuration.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_custom_default_configuration\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_custom_default_configuration.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_custom_default_configuration\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_custom_default_configuration.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration\\n\\nApp that showcases a custom default configuration generationo option.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_custom_default_configuration\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_custom_default_configuration.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_custom_default_configuration_settings\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_custom_default_configuration_settings\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration settings\\n\\nThis example demonstrates how to set a [default configuration](https://developer.apple.com/library/archive/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-MY_APP_HAS_MULTIPLE_BUILD_CONFIGURATIONS__HOW_DO_I_SET_A_DEFAULT_BUILD_CONFIGURATION_FOR_XCODEBUILD_) in the project settings, which will be used by `xcodebuild` when building from the command-line.\\n\\nThe default build configuration is also used to [visually activate code](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Source-Editor) in `#if…#endif` blocks when working with custom configurations other than Debug or Release in Xcode 15 and later.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration settings\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_custom_default_configuration_settings\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_custom_scheme.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_custom_scheme\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_custom_scheme.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_custom_scheme\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_custom_scheme.md\\\"\\n---\\n\\n\\n\\n# Application with custom scheme\\n\\nThis example contains an example that uses a custom scheme to demonstrate how to modify schemes to ones needs.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with custom scheme\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_custom_scheme\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_custom_scheme.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_executable_non_local_dependencies\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_executable_non_local_dependencies\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application with Executable Non Local Dependencies\\n\\nThis example consists of two projects:\\n- Main app project, which contains the main iOS application\\n- Helper targets project, which includes various targets that the main app relies on\\n\\nIt demonstrates a scenario where the main app depends on executable targets from another project.\\nThere are three such targets:\\n1. `AppExtension` - an app extension target\\n2. `WatchApp` - a watchOS app target\\n3. `TestHost` - an app target intended to serve as the test host for test targets (and also exemplifies a regular app target)\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Executable Non Local Dependencies\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_executable_non_local_dependencies\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_exponea_sdk.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_exponea_sdk\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_exponea_sdk.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_exponea_sdk\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_exponea_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Exponea SDK\\n\\nThis example contains an example that showcases how to integrate the [Exponea](https://github.com/exponea/exponea-ios-sdk) SDK. This SDK includes a core data model.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Exponea SDK\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_exponea_sdk\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_exponea_sdk.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_generated_sources.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_generated_sources\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_generated_sources.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_generated_sources\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_generated_sources.md\\\"\\n---\\n\\n\\n\\n# App with generated sources\\n\\nThis app is to showcase using sources that are generated during the build process (as oppose to sources that already exist when buildig).\\n\\n\\nCheck out example\\n\",\"title\":\"App with generated sources\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_generated_sources\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_generated_sources.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_globs.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_globs\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_globs.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_globs\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_globs.md\\\"\\n---\\n\\n\\n\\n# App with globs\\n\\nThis app is to showcase and test complex glob patterns for sources, resources, additional files, etc.\\n\\n\\nCheck out example\\n\",\"title\":\"App with globs\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_globs\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_globs.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_google_maps.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_google_maps\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_google_maps.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_google_maps\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_google_maps.md\\\"\\n---\\n\\n\\n\\n# App with Google Maps\\n\\nAn example of integrating an app with Google Maps. The `GoogleMaps` dependency is imported into the App through a dynamic framework.\\n\\nCheck out example\\n\",\"title\":\"App with Google Maps\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_google_maps\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_google_maps.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\\\"\\n---\\n\\n\\n\\n# Application with Embedded Local SPM Module\\n\\nThis example project demonstrates an application that includes a local Swift Package Manager (SPM) module (`LocalSwiftPackage`) configured as an embedded framework.\\n\\nThe project leverages a local SPM module added to the Embed Frameworks section, showing that local SPM packages can now be embedded within the application.\\n\\nThis demo project exists to validate and showcase the capability to embed local SPM modules as frameworks, allowing seamless integration into the main app.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Embedded Local SPM Module\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application wih Local SPM Module with Remote Dependencies\\n\\nThis example contains a project that depends upon a local SPM module (`LocalSwiftPackage`) colocated within this directory.\\n\\nThis project does NOT contain any direct remote dependencies.\\nHowever, `LocalSwiftPackage` DOES have remote dependencies.\\n\\nThis example application exists to ensure that package resolution occurs even in the case of solely transitive remote dependencies.\\n\\nCheck out example\\n\",\"title\":\"Application wih Local SPM Module with Remote Dependencies\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_metal_options.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_metal_options\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_metal_options.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_metal_options\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_metal_options.md\\\"\\n---\\n\\n\\n\\n# App with a metal diagnostic configuration\\n\\nApp that showcases a custom and default configuration for metal diagnostics.\\n\\n\\nCheck out example\\n\",\"title\":\"App with a metal diagnostic configuration\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_metal_options\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_metal_options.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_organization_name_project.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_organization_name_project\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_organization_name_project.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_organization_name_project\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_organization_name_project.md\\\"\\n---\\n\\n\\n\\n# App with organization name defined in `Project`\\n\\nAn iOS app where the organization name is defined at the `Project` level.\\n\\nCheck out example\\n\",\"title\":\"App with organization name defined in `Project`\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_organization_name_project\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_organization_name_project.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_realm.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_realm\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_realm.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_realm\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_realm.md\\\"\\n---\\n\\n\\n\\n# Application with Realm\\n\\nThis example contains an example that showcases how to integrate the [Realm Swift](https://github.com/realm/realm-swift) library.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Realm\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_realm\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_realm.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies\\n\\nAn example of an application which depends on XCFrameworks with different kinds of signatures:\\n- Signature not specified (signature validation should be skipped)\\n- Unsigned\\n- Signed with Apple certificate\\n- Self signed\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies - Mismatching Signature\\n\\nExample of an app with a signed XCFramework dependency, where the XCFramework is declared to have a signature that\\ndoesn't match the actual signature.\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies - Mismatching Signature\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\"}},{\"path\":\"/en/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\",\"url\":\"/en/guides/examples/generated-projects/app_with_spm_xcframework_dependency\",\"llmUrl\":\"/en/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/app_with_spm_xcframework_dependency\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\\\"\\n---\\n\\n\\n\\n# Application with XCFramework Swift Package Manager Dependenciy\\n\\nThis example contains an example that imports an external XCFramework using Swift Package Manager dependencies.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with XCFramework Swift Package Manager Dependenciy\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/app_with_spm_xcframework_dependency\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\"}},{\"path\":\"/en/guides/examples/generated-projects/framework_with_environment_variables.md\",\"url\":\"/en/guides/examples/generated-projects/framework_with_environment_variables\",\"llmUrl\":\"/en/guides/examples/generated-projects/framework_with_environment_variables.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/framework_with_environment_variables\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/framework_with_environment_variables.md\\\"\\n---\\n\\n\\n\\n# Framework with environment variables\\n\\nA framework project that leverages environment variables to change the name of the framework.\\n\\nCheck out example\\n\",\"title\":\"Framework with environment variables\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/framework_with_environment_variables\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/framework_with_environment_variables.md\"}},{\"path\":\"/en/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\",\"url\":\"/en/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\",\"llmUrl\":\"/en/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\\\"\\n---\\n\\n\\n\\n# Framework with native Swift Macro and Plugin packages\\n\\nThis project represents a project with a framework that integrates the following Swift Packages:\\n\\n- A [build tool plugin](https://github.com/apple/swift-package-manager/blob/main/Documentation/Plugins.md) using Xcode's native integration.\\n- A Swift Macro using Tuist's integration based on XcodeProj primitives.\\n\\nCheck out example\\n\",\"title\":\"Framework with native Swift Macro and Plugin packages\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\"}},{\"path\":\"/en/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\",\"url\":\"/en/guides/examples/generated-projects/generated_ios_app_without_config_manifest\",\"llmUrl\":\"/en/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/generated_ios_app_without_config_manifest\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\\\"\\n---\\n\\n\\n\\n# Generated iOS App without a config manifest\\n\\nThe presence of `Tuist.swift` is optional. When absent, Tuist provides a default configuration based on the type project detected in the file-system.\\n\\n\\nCheck out example\\n\",\"title\":\"Generated iOS App without a config manifest\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/generated_ios_app_without_config_manifest\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_actions.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_actions\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_actions.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_actions\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_actions.md\\\"\\n---\\n\\n\\n\\n# iOS app with actions\\n\\nAn iOS app with a target that has pre and post actions.\\n\\nCheck out example\\n\",\"title\":\"iOS app with actions\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_actions\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_actions.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_build_variables.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_build_variables\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_build_variables.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_build_variables\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_build_variables.md\\\"\\n---\\n\\n\\n\\n# iOS app with build variables\\n\\nAn iOS app with a Xcode build variables defined in pre action.\\n\\nCheck out example\\n\",\"title\":\"iOS app with build variables\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_build_variables\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_build_variables.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_coredata.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_coredata\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_coredata.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_coredata\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_coredata.md\\\"\\n---\\n\\n\\n\\n# Application with CoreData models\\n\\nThis example showcases a project that utilizes CoreData models and code generation for these models using resourceSynthesizer.\\n\\nCheck out example\\n\",\"title\":\"Application with CoreData models\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_coredata\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_coredata.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\\\"\\n---\\n\\n\\n\\n# iOS App with C++ Interoperability\\n\\nThis repository contains dependencies with the `.interoperabilityMode(.Cxx)` and ensures when Tuist converts those into Xcode targets, the right build settings are applied to the generated targets.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS App with C++ Interoperability\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_custom_workspace.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_custom_workspace\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_custom_workspace.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_custom_workspace\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_custom_workspace.md\\\"\\n---\\n\\n\\n\\n# iOS app with a custom workspace\\n\\niOS with a few projects and a `Workspace.swift` manifest file.\\n\\nThe workspace manifest defines:\\n\\n- glob patterns to list projects\\n- glob patterns to include documentation files\\n- folder reference to directory with html files\\n\\nThe App's project manifest leverages `additionalFiles` that:\\n\\n- defines glob patterns to include documentation files\\n- includes a Swift `Danger.swift` file that shouldn't get included in any build phase\\n- defines folder references to a directory with json files\\n\\nCheck out example\\n\",\"title\":\"iOS app with a custom workspace\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_custom_workspace\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_custom_workspace.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_extensions.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_extensions\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_extensions\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# iOS app with extensions\\n\\nSample iOS application with extension targets.\\n\\nCheck out example\\n\",\"title\":\"iOS app with extensions\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_extensions\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_extensions.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_framework_and_resources\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_framework_and_resources\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with a framework and resources\\n\\nA workspace with an application that includes resources.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - StaticFramework\\n - StaticFramework (static iOS framework)\\n - StaticFrameworkResources (iOS bundle)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> StaticFramework\\n- App -> StaticFrameworkResources\\n\\nCheck out example\\n\",\"title\":\"iOS app with a framework and resources\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_framework_and_resources\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a dynamic framework that links a static framework\\n\\n\\nAn example project demonstrating an iOS application linking a dynamic framework which itself depends on a static framework with transitive static dependencies.\\n\\nOnly `Framework1.framework` should be linked and included into App, everything else should be statically linked into the Framework1 executable.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (static iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (static iOS framework)\\n - Framework3Tests (iOS unit tests)\\n - Framework4:\\n - Framework4 (static iOS framework)\\n - Framework4Tests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2\\n- Framework1 -> Framework3\\n- Framework3 -> Framework4\\n\\n\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with a dynamic framework that links a static framework\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_frameworks.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_frameworks\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_frameworks.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_frameworks\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with frameworks\\n\\n\\nSlightly more complicated project that consists of an iOS app and few frameworks.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (dynamic iOS framework)\\n - Framework4:\\n - Framework4 (dynamic iOS framework)\\n - Framework5:\\n - Framework5 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> Framework2\\n- Framework1 -> Framework2\\n- Framework2 -> Framework3\\n- Framework3 -> Framework4\\n- Framework4 -> Framework5\\n\\nCheck out example\\n\",\"title\":\"iOS app with frameworks\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_frameworks\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_frameworks.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_helpers.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_helpers\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_helpers.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_helpers\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_helpers.md\\\"\\n---\\n\\n\\n\\n# iOS app with helpers\\n\\nA basic iOS app that leverages `ProjectDescriptionHelpers`.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with helpers\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_helpers\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_helpers.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible dependencies\\n\\nAn iOS app that has a dependency with a dependency on a framework for macOS.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible dependencies\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_incompatible_xcode\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_incompatible_xcode\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible Xcode\\n\\nAn iOS app whose Config file requires an Xcode version that is not available in the system.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible Xcode\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_incompatible_xcode\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_local_swift_package.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_local_swift_package\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_local_swift_package.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_local_swift_package\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_local_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a local Swift package\\n\\nAn iOS application that depends on a local Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS app with a local Swift package\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_local_swift_package\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_local_swift_package.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_multi_configs.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_multi_configs\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_multi_configs.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_multi_configs\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_multi_configs.md\\\"\\n---\\n\\n\\n\\n# iOS app with multiple configurations and an xcconfig\\n\\nA workspace that contains an application and frameworks that leverage multiple configurations (Debug, Beta and Release) each of which also has an associated xcconfig file within `ConfigurationFiles`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with multiple configurations and an xcconfig\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_multi_configs\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_multi_configs.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_on_demand_resources\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_on_demand_resources\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with on demand resources\\n\\nAn iOS applicaiton with on-demand resources. It contains file resources and asset catalogs associated with tags which in turn are distributed between three categories:\\n- Initial install tags\\n- Prefetch tag order\\n- Dowloaded only on demand\\n\\nCheck out example\\n\",\"title\":\"iOS app with on demand resources\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_on_demand_resources\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_privacy_manifest\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_privacy_manifest\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\\\"\\n---\\n\\n\\n\\n# Application with Privacy Manifest\\n\\nThis example contains an example that uses a [Privacy Manifest](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files), which describe the data the app collects and the reasons required APIs it uses.\\n\\nCheck out example\\n\",\"title\":\"Application with Privacy Manifest\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_privacy_manifest\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_remote_swift_package\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_remote_swift_package\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS App with a remote Swift package\\n\\nAn iOS application with a remote Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS App with a remote Swift package\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_remote_swift_package\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_sandbox_disabled\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_sandbox_disabled\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\\\"\\n---\\n\\n\\n\\n# iOS app with sandbox disabled\\n\\nAn example of a project manifest that accesses the file system, and therefore requires the sandbox to be disabled.\\n\\n*Note: disabling the sandbox is discouraged and should only be used if absolutely necessary.*\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with sandbox disabled\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_sandbox_disabled\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_sdk.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_sdk\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_sdk.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_sdk\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_sdk.md\\\"\\n---\\n\\n\\n\\n# iOS app with an SDK\\n\\nAn application that contains an application target that depends on system libraries and frameworks (`.framework` and `.tbd`).\\n\\nOne of the dependencies is declared as `.optional` i.e. will be linked weakly.\\n\\nCheck out example\\n\",\"title\":\"iOS app with an SDK\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_sdk\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_sdk.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependencies\\n\\nAn iOS application project with various SPM dependencies.\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependencies\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependency and force resolved versions flag\\n\\nAn iOS application project with one SPM dependency and --force-resolved-versions config flag\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependency and force resolved versions flag\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_static_frameworks.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_static_frameworks\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_static_frameworks.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_static_frameworks\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_static_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with static frameworks\\n\\n\\nThis fixture contains an application that depends on static frameworks, both directly and transitively.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Modules\\n - A:\\n - A (static framework iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static framework iOS)\\n - BTests (iOS unit tests)\\n - C:\\n - C (static framework iOS)\\n - CTests (iOS unit tests)\\n - D:\\n - D (dynamic framework iOS)\\n```\\n\\nA standalone `Prebuilt` project is used to generate a prebuilt static framework:\\n\\n```\\n- Prebuilt\\n - PrebuiltStaticFramework (static framework iOS)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- App -> C\\n- App -> PrebuiltStaticFramework\\n- A -> B\\n- A -> C\\n- C -> D\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_frameworks/Prebuilt//build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static frameworks\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_static_frameworks\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_static_frameworks.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_static_libraries.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_static_libraries\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_static_libraries.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_static_libraries\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_static_libraries.md\\\"\\n---\\n\\n\\n\\n# iOS app with static libraries\\n\\n\\nThis application provides a top level application with two static library dependencies. The first static library dependency has another static library dependency so that we are able to test how Tuist handles the transitiveness of the static libraries in the linked frameworks of the main app.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - A:\\n - A (static library iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static library iOS)\\n - BTests (iOS unit tests)\\n```\\n\\nA standalone C project is used to generate a prebuilt static library:\\n\\n```\\n - C:\\n - C (static library iOS)\\n - CTests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- A -> B\\n- A -> prebuild C (libC.a)\\n\\nNote: to re-create `libC.a` run `ios_app_with_static_libraries/Modules/C/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static libraries\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_static_libraries\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_static_libraries.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_static_library_and_package\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_static_library_and_package\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a static library and a package\\n\\nAn iOS application that depends on static library that depends on Swift package where static library is defined first.\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_library_and_package/Prebuilt/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a static library and a package\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_static_library_and_package\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_tests.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_tests\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_tests.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_tests\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_tests.md\\\"\\n---\\n\\n\\n\\n# iOS app with tests\\n\\nA simple iOS app with tests, which includes a setup manifest and uses `.notGrouped` autogenerated schemes.\\n\\nCheck out example\\n\",\"title\":\"iOS app with tests\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_tests\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_tests.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a transitive framework\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n```\\n\\nA standalone Framework2 project is used to generate a prebuilt dynamic framework:\\n\\n```\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2 (prebuilt)\\n\\nNote: to re-create `Framework2.framework` run `ios_app_with_transitive_framework/Framework2/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a transitive framework\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\\\"\\n---\\n\\n\\n\\n# iOS app with transitive framework through macro executable\\n\\nThis fixture contains an iOS app that transitively and directly depends on a Swift Macro (executable)'s direct dependency.\\nIt was included [in this issue](https://github.com/tuist/tuist/issues/5988) because the set up caused the warming of the binary cache to fail due to \\\"multiple commands produce the same output\\\" error when archiving.\\nAs a solution, we moved away from using archive, and instead use the build action to warm the cache.\\n\\nCheck out example\\n\",\"title\":\"iOS app with transitive framework through macro executable\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_app_with_xcframeworks.md\",\"url\":\"/en/guides/examples/generated-projects/ios_app_with_xcframeworks\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_app_with_xcframeworks.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_app_with_xcframeworks\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_app_with_xcframeworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with xcframeworks\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - MyFramework:\\n - MyFramework (dynamic iOS framework)\\n - MyStaticFramework:\\n - MyStaticFramework (static iOS framework)\\n - MyStaticLibirary:\\n - MyStaticLibrary (static iOS libraries)\\n```\\n\\nAn example of an application which depends on prebuilt `.xcframework`s.\\n\\nThe `.xcframework` can be obtained by running the `build.sh` script within the each of the xcframework directories\\ne.g. `ios_app_with_xcframeworks/XCFrameworks/MyFramework/build.sh`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with xcframeworks\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_app_with_xcframeworks\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_app_with_xcframeworks.md\"}},{\"path\":\"/en/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\",\"url\":\"/en/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\",\"llmUrl\":\"/en/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\\\"\\n---\\n\\n\\n\\n# iOS workspace with a dependency cycle\\n\\nAn example of a workspace that has a dependency cycle between targets in different projects.\\n\\nCheck out example\\n\",\"title\":\"iOS workspace with a dependency cycle\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\"}},{\"path\":\"/en/guides/examples/generated-projects/macos_app_with_extensions.md\",\"url\":\"/en/guides/examples/generated-projects/macos_app_with_extensions\",\"llmUrl\":\"/en/guides/examples/generated-projects/macos_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/macos_app_with_extensions\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/macos_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# macOS app with extensions\\n\\nThe project contains a macOS app with various types of extensions.\\n\\nCheck out example\\n\",\"title\":\"macOS app with extensions\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/macos_app_with_extensions\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/macos_app_with_extensions.md\"}},{\"path\":\"/en/guides/examples/generated-projects/package_with_registry_and_alamofire.md\",\"url\":\"/en/guides/examples/generated-projects/package_with_registry_and_alamofire\",\"llmUrl\":\"/en/guides/examples/generated-projects/package_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/package_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/package_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Swift package with registry and Alamofire\\n\\nA simple Swift package that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Swift package with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/package_with_registry_and_alamofire\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/package_with_registry_and_alamofire.md\"}},{\"path\":\"/en/guides/examples/generated-projects/project_with_class_prefix.md\",\"url\":\"/en/guides/examples/generated-projects/project_with_class_prefix\",\"llmUrl\":\"/en/guides/examples/generated-projects/project_with_class_prefix.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/project_with_class_prefix\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/project_with_class_prefix.md\\\"\\n---\\n\\n\\n\\n# Project with class prefix\\n\\nThis example generate Xcode project with custom class prefix setting.\\n\\nCheck out example\\n\",\"title\":\"Project with class prefix\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/project_with_class_prefix\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/project_with_class_prefix.md\"}},{\"path\":\"/en/guides/examples/generated-projects/xcode_app.md\",\"url\":\"/en/guides/examples/generated-projects/xcode_app\",\"llmUrl\":\"/en/guides/examples/generated-projects/xcode_app.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/xcode_app\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/xcode_app.md\\\"\\n---\\n\\n\\n\\n# Xcode app\\n\\nA simple app created with Xcode. This fixture is _not_ using Tuist projects and it is meant to test features that don't require Tuist projects, such as `tuist share`.\\n\\nCheck out example\\n\",\"title\":\"Xcode app\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/xcode_app\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/xcode_app.md\"}},{\"path\":\"/en/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\",\"url\":\"/en/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\",\"llmUrl\":\"/en/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/en/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/en/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Xcode project with registry and Alamofire\\n\\nA simple app created with Xcode that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Xcode project with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/en/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\",\"LLMS_URL\":\"/en/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\"}},{\"path\":\"/en/guides/features/agentic-coding/mcp.md\",\"url\":\"/en/guides/features/agentic-coding/mcp\",\"llmUrl\":\"/en/guides/features/agentic-coding/mcp.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/agentic-coding/mcp\\\"\\nLLMS_URL: \\\"/en/guides/features/agentic-coding/mcp.md\\\"\\ntitle: \\\"Model Context Protocol (MCP)\\\"\\ntitleTemplate: \\\":title · Agentic coding · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist's MCP server to have a language-based interface for your app development environment.\\\"\\n---\\n\\n# Model Context Protocol (MCP)\\n\\n[Model Context Protocol (MCP)](https://www.claudemcp.com) is a standard proposed by [Claude](https://claude.ai) for LLMs to interact with development environments.\\nYou can think of it as the USB-C of LLMs.\\nLike shipping containers, which made cargo and transportation more interoperable,\\nor protocols like TCP, which decoupled the application layer from the transport layer,\\nMCP makes LLM-powered applications such as [Claude](https://claude.ai/), [Claude Code](https://docs.anthropic.com/en/docs/claude-code), and editors like [Zed](https://zed.dev), [Cursor](https://www.cursor.com), or [VS Code](https://code.visualstudio.com) interoperable with other domains.\\n\\nTuist provides a local server through its CLI so that you can interact with your **app development environment**.\\nBy connecting your client apps to it, you can use language to interact with your projects.\\n\\nIn this page you'll learn about how to set it up and its capabilities.\\n\\n> [!NOTE]\\n> Tuist MCP server uses Xcode's most-recent projects as the source of truth for projects you want to interact with.\\n\\n## Set it up\\n\\nTuist provides automated setup commands for popular MCP-compatible clients. Simply run the appropriate command for your client:\\n\\n### [Claude](https://claude.ai)\\n\\nFor [Claude desktop](https://claude.ai/download), run:\\n```bash\\ntuist mcp setup claude\\n```\\n\\nThis will configure the file at `~/Library/Application Support/Claude/claude_desktop_config.json`.\\n\\n### [Claude Code](https://docs.anthropic.com/en/docs/claude-code)\\n\\nFor Claude Code, run:\\n```bash\\ntuist mcp setup claude-code\\n```\\n\\nThis will configure the same file as Claude desktop.\\n\\n### [Cursor](https://www.cursor.com)\\n\\nFor Cursor IDE, you can configure it globally or locally:\\n```bash\\n# Global configuration\\ntuist mcp setup cursor --global\\n\\n# Local configuration (in current project)\\ntuist mcp setup cursor\\n\\n# Custom path configuration\\ntuist mcp setup cursor --path /path/to/project\\n```\\n\\n### [Zed](https://zed.dev)\\n\\nFor Zed editor, you can also configure it globally or locally:\\n```bash\\n# Global configuration\\ntuist mcp setup zed --global\\n\\n# Local configuration (in current project)\\ntuist mcp setup zed\\n\\n# Custom path configuration\\ntuist mcp setup zed --path /path/to/project\\n```\\n\\n### [VS Code](https://code.visualstudio.com)\\n\\nFor VS Code with MCP extension, configure it globally or locally:\\n```bash\\n# Global configuration\\ntuist mcp setup vscode --global\\n\\n# Local configuration (in current project)\\ntuist mcp setup vscode\\n\\n# Custom path configuration\\ntuist mcp setup vscode --path /path/to/project\\n```\\n\\n### Manual Configuration\\n\\nIf you prefer to configure manually or are using a different MCP client, add the Tuist MCP server to your client's configuration:\\n\\n:::code-group\\n\\n```json [Global Tuist installation (e.g. Homebrew)]\\n{\\n \\\"mcpServers\\\": {\\n \\\"tuist\\\": {\\n \\\"command\\\": \\\"tuist\\\",\\n \\\"args\\\": [\\\"mcp\\\", \\\"start\\\"]\\n }\\n }\\n}\\n```\\n\\n```json [Mise installation]\\n{\\n \\\"mcpServers\\\": {\\n \\\"tuist\\\": {\\n \\\"command\\\": \\\"mise\\\",\\n \\\"args\\\": [\\\"x\\\", \\\"tuist@latest\\\", \\\"--\\\", \\\"tuist\\\", \\\"mcp\\\", \\\"start\\\"] // Or [email protected] to fix the version\\n }\\n }\\n}\\n```\\n:::\\n\\n## Capabilities\\n\\nIn the following sections you'll learn about the capabilities of the Tuist MCP server.\\n\\n### Resources\\n\\n#### Recent projects and workspaces\\n\\nTuist keeps a record of the Xcode projects and workspaces you’ve recently worked with, giving your application access to their dependency graphs for powerful insights. You can query this data to uncover details about your project structure and relationships, such as:\\n\\n- What are the direct and transitive dependencies of a specific target?\\n- Which target has the most source files, and how many does it include?\\n- What are all the static products (e.g., static libraries or frameworks) in the graph?\\n- Can you list all targets, sorted alphabetically, along with their names and product types (e.g., app, framework, unit test)?\\n- Which targets depend on a particular framework or external dependency?\\n- What’s the total number of source files across all targets in the project?\\n- Are there any circular dependencies between targets, and if so, where?\\n- Which targets use a specific resource (e.g., an image or plist file)?\\n- What’s the deepest dependency chain in the graph, and which targets are involved?\\n- Can you show me all the test targets and their associated app or framework targets?\\n- Which targets have the longest build times based on recent interactions?\\n- What are the differences in dependencies between two specific targets?\\n- Are there any unused source files or resources in the project?\\n- Which targets share common dependencies, and what are they?\\n\\nWith Tuist, you can dig into your Xcode projects like never before, making it easier to understand, optimize, and manage even the most complex setups!\\n\",\"title\":\"Model Context Protocol (MCP)\",\"frontmatter\":{\"URL\":\"/en/guides/features/agentic-coding/mcp\",\"LLMS_URL\":\"/en/guides/features/agentic-coding/mcp.md\",\"title\":\"Model Context Protocol (MCP)\",\"titleTemplate\":\":title · Agentic coding · Features · Guides · Tuist\",\"description\":\"Learn how to use Tuist's MCP server to have a language-based interface for your app development environment.\"}},{\"path\":\"/en/guides/features/build.md\",\"url\":\"/en/guides/features/build\",\"llmUrl\":\"/en/guides/features/build.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/build\\\"\\nLLMS_URL: \\\"/en/guides/features/build.md\\\"\\ntitle: \\\"Build\\\"\\ntitleTemplate: \\\":title · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist to build your projects efficiently.\\\"\\n---\\n\\n# Build {#build}\\n\\nProjects are usually built through a build-system-provided CLI (e.g. `xcodebuild`). Tuist wraps them to improve the user experience and integrate the workflows with the platform to provide optimizations and analytics.\\n\\nYou might wonder what's the value of using `tuist build` over generating the project with `tuist generate` (if needed) and building it with the platform-specific CLI. Here are some reasons:\\n\\n- **Single command:** `tuist build` ensures the project is generated if needed before compiling the project.\\n- **Beautified output:** Tuist enriches the output using tools like [xcbeautify](https://github.com/cpisciotta/xcbeautify) that make the output more user-friendly.\\n- Cache: It optimizes the build by deterministically reusing the build artifacts from a remote cache.\\n- **Analytics:** It collects and reports metrics that are correlated with other data points to provide you with actionable information to make informed decisions.\\n\\n## Usage {#usage}\\n\\n`tuist build` generates the project if needed, and then build it using the platform-specific build tool. We support the use of the `--` terminator to forward all subsequent arguments directly to the underlying build tool. This is useful when you need to pass arguments that are not supported by `tuist build` but are supported by the underlying build tool.\\n\\n::: code-group\\n```bash [Build a scheme]\\ntuist build MyScheme\\n```\\n```bash [Build a specific configuration]\\ntuist build MyScheme -- -configuration Debug\\n```\\n```bash [Build all schemes without binary cache]\\ntuist build --no-binary-cache\\n```\\n:::\\n\",\"title\":\"Build\",\"frontmatter\":{\"URL\":\"/en/guides/features/build\",\"LLMS_URL\":\"/en/guides/features/build.md\",\"title\":\"Build\",\"titleTemplate\":\":title · Features · Guides · Tuist\",\"description\":\"Learn how to use Tuist to build your projects efficiently.\"}},{\"path\":\"/en/guides/features/bundle-size.md\",\"url\":\"/en/guides/features/bundle-size\",\"llmUrl\":\"/en/guides/features/bundle-size.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/bundle-size\\\"\\nLLMS_URL: \\\"/en/guides/features/bundle-size.md\\\"\\ntitle: \\\"Bundle Size\\\"\\ntitleTemplate: \\\":title · Features · Guides · Tuist\\\"\\ndescription: \\\"Find out how to make and keep your app's memory footprint as small as possible.\\\"\\n---\\n\\n# Bundle Size {#bundle-size}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n> - A Tuist account and project\\n\\nAs you add more features to your app, your app bundle size keeps growing. While some of the bundle size growth is inevitable as you ship more code and assets, there are many ways to minimze that growth, such as by ensuring your assets are not duplicated across your bundles or stripping unused binary symbols. Tuist provides you with tools and insights to help your app size stay small – and we also monitor your app size over time.\\n\\n## Usage {#usage}\\n\\nTo analyze a bundle, you can use the `tuist inspect bundle` command:\\n\\n::: code-group\\n```bash [Analyze an .ipa]\\ntuist inspect bundle App.ipa\\n```\\n```bash [Analyze an .xcarchive]\\ntuist inspect bundle App.xcarchive\\n```\\n```bash [Analyze an app bundle]\\ntuist inspect bundle App.app\\n```\\n:::\\n\\nThe `tuist inspect bundle` command analyzes the bundle and provides you with a link to see a detailed overview of the bundle including a scan of the contents of the bundle or a module breakdown:\\n\\n\\n\\n## Continuous integration {#continuous-integration}\\n\\nTo track bundle size over time, you will need to analyze the bundle on the CI. First, you will need to ensure that your CI is authenticated:\\n\\nAn example workflow for GitHub Actions could then look like this:\\n\\n```yaml\\nname: Build\\n\\njobs:\\n build:\\n steps:\\n - # Build your app\\n - name: Analyze bundle\\n run: tuist inspect bundle App.ipa\\n env:\\n TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}\\n```\\n\\nOnce set up, you will be able to see how your bundle size evolves over time:\\n\\n\\n\\n## Pull/merge request comments {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] INTEGRATION WITH GIT PLATFORM REQUIRED\\n> To get automatic pull/merge request comments, integrate your Tuist project with a Git platform.\\n\\nOnce your Tuist project is connected with your Git platform such as [GitHub](https://github.com), Tuist will post a comment directly in your pull/merge requests whenever you run `tuist inspect bundle`:\\n\\n\",\"title\":\"Bundle Size\",\"frontmatter\":{\"URL\":\"/en/guides/features/bundle-size\",\"LLMS_URL\":\"/en/guides/features/bundle-size.md\",\"title\":\"Bundle Size\",\"titleTemplate\":\":title · Features · Guides · Tuist\",\"description\":\"Find out how to make and keep your app's memory footprint as small as possible.\"}},{\"path\":\"/en/guides/features/cache.md\",\"url\":\"/en/guides/features/cache\",\"llmUrl\":\"/en/guides/features/cache.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/cache\\\"\\nLLMS_URL: \\\"/en/guides/features/cache.md\\\"\\ntitle: \\\"Cache\\\"\\ntitleTemplate: \\\":title · Features · Guides · Tuist\\\"\\ndescription: \\\"Optimize your build times by caching compiled binaries and sharing them across different environments.\\\"\\n---\\n\\n# Cache {#cache}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n> - A generated project\\n> - A Tuist account and project\\n\\nXcode's build system provides [incremental builds](https://en.wikipedia.org/wiki/Incremental_build_model), enhancing efficiency under normal circumstances. However, this feature falls short in [Continuous Integration (CI) environments](https://en.wikipedia.org/wiki/Continuous_integration), where data essential for incremental builds is not shared across different builds. Additionally, **developers often reset this data locally to troubleshoot complex compilation problems**, leading to more frequent clean builds. This results in teams spending excessive time waiting for local builds to finish or for Continuous Integration pipelines to provide feedback on pull requests. Furthermore, the frequent context switching in such an environment compounds this unproductiveness.\\n\\nTuist addresses these challenges effectively with its caching feature. This tool optimizes the build process by caching compiled binaries, significantly reducing build times both in local development and CI environments. This approach not only accelerates feedback loops but also minimizes the need for context switching, ultimately boosting productivity.\\n\\n## Warming {#warming}\\n\\nTuist efficiently utilizes hashes for each target in the dependency graph to detect changes. Utilizing this data, it builds and assigns unique identifiers to binaries derived from these targets. At the time of graph generation, Tuist then seamlessly substitutes the original targets with their corresponding binary versions.\\n\\nThis operation, known as *\\\"warming,\\\"* produces binaries for local use or for sharing with teammates and CI environments via Tuist. The process of warming the cache is straightforward and can be initiated with a simple command:\\n\\n\\n```bash\\ntuist cache\\n```\\n\\nThe command re-uses binaries to speed up the process.\\n\\n## Usage {#usage}\\n\\nBy default, when Tuist commands necessitate project generation, they automatically substitute dependencies with their binary equivalents from the cache, if available. Additionally, if you specify a list of targets to focus on, Tuist will also replace any dependent targets with their cached binaries, provided they are available. For those who prefer a different approach, there is an option to opt out of this behavior entirely by using a specific flag:\\n\\n::: code-group\\n```bash [Project generation]\\ntuist generate # Only dependencies\\ntuist generate Search # Dependencies + Search dependencies\\ntuist generate Search Settings # Dependencies, and Search and Settings dependencies\\ntuist generate --no-binary-cache # No cache at all\\n```\\n\\n```bash [Testing]\\ntuist test\\n```\\n:::\\n\\n> [!WARNING]\\n> Binary caching is a feature designed for development workflows such as running the app on a simulator or device, or running tests. It is not intended for release builds. When archiving the app, generate a project with the sources by using the `--no-binary-cache` flag.\\n\\n## Supported products {#supported-products}\\n\\nOnly the following target products are cacheable by Tuist:\\n\\n- Frameworks (static and dynamic) that don't depend on [XCTest](https://developer.apple.com/documentation/xctest)\\n- Bundles\\n- Swift Macros\\n\\nWe are working on supporting libraries and targets that depend on XCTest.\\n\\n> [!NOTE] UPSTREAM DEPENDENCIES\\n> When a target is non-cacheable it makes the upstream targets non-cacheable too. For example, if you have the dependency graph `A > B`, where A depends on B, if B is non-cacheable, A will also be non-cacheable.\\n\\n## Efficiency {#efficiency}\\n\\nThe level of efficiency that can be achieved with binary caching depends strongly on the graph structure. To achieve the best results, we recommend the following:\\n\\n1. Avoid very nested dependency graphs. The shallower the graph, the better.\\n2. Define dependencies with protocol/interface targets instead of implementation ones, and dependency-inject implementations from the top-most targets.\\n3. Split frequently-modified targets into smaller ones whose likelihood of change is lower.\\n\\nThe above suggestions are part of the The Modular Architecture, which we propose as a way to structure your projects to maximize the benefits not only of binary caching but also of Xcode's capabilities.\\n\\n## Recommended setup {#recommended-setup}\\n\\nWe recommend having a CI job that **runs in every commit in the main branch** to warm the cache. This will ensure the cache always contains binaries for the changes in `main` so local and CI branch build incrementally upon them.\\n\\n> [!TIP] CACHE WARMING USES BINARIES\\n> The `tuist cache` command also makes use of the binary cache to speed up the warming.\\n\\nThe following are some examples of common workflows:\\n\\n### A developer starts to work on a new feature {#a-developer-starts-to-work-on-a-new-feature}\\n\\n1. They create a new branch from `main`.\\n2. They run `tuist generate`.\\n3. Tuist pulls the most recent binaries from `main` and generates the project with them.\\n\\n### A developer pushes changes upstream {#a-developer-pushes-changes-upstream}\\n\\n1. The CI pipeline will run `tuist build` or `tuist test` to build or test the project.\\n2. The workflow will pull the most recent binaries from `main` and generate the project with them.\\n3. It will then build or test the project incrementally.\\n\\n## Troubleshooting {#troubleshooting}\\n\\n### It doesn't use binaries for my targets {#it-doesnt-use-binaries-for-my-targets}\\n\\nEnsure that the hashes are deterministic across environments and runs. This might happen if the project has references to the environment, for example through absolute paths. You can use the `diff` command to compare the projects generated by two consecutive invocations of `tuist generate` or across environments or runs.\\n\\nAlso make sure that the target doesn't depend either directly or indirectly on a non-cacheable target.\\n\",\"title\":\"Cache\",\"frontmatter\":{\"URL\":\"/en/guides/features/cache\",\"LLMS_URL\":\"/en/guides/features/cache.md\",\"title\":\"Cache\",\"titleTemplate\":\":title · Features · Guides · Tuist\",\"description\":\"Optimize your build times by caching compiled binaries and sharing them across different environments.\"}},{\"path\":\"/en/guides/features/insights.md\",\"url\":\"/en/guides/features/insights\",\"llmUrl\":\"/en/guides/features/insights.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/insights\\\"\\nLLMS_URL: \\\"/en/guides/features/insights.md\\\"\\ntitle: \\\"Insights\\\"\\ntitleTemplate: \\\":title · Features · Guides · Tuist\\\"\\ndescription: \\\"Get insights into your projects to maintain a product developer environment.\\\"\\n---\\n\\n# Insights {#insights}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n> - A Tuist account and project\\n\\nWorking on large projects shouldn't feel like a chore. In fact, it should be as enjoyable as working on a project you started just two weeks ago. One of the reasons it is not is because as the project grows, the developer experience suffers. The build times increase and tests become slow and flaky. It's often easy to overlook these issues until it gets to a point where they become unbearable – however, at that point, it's difficult to address them. Tuist Insights provides you with the tools to monitor the health of your project and maintain a productive developer environment as your project scales.\\n\\nIn other words, Tuist Insights helps you to anwer questions such as:\\n- Has the build time significantly increased in the last week?\\n- Have my tests become slower? Which ones?\\n\\n> [!NOTE]\\n> Tuist Insights are in early development.\\n\\n## Builds {#builds}\\n\\nWhile you probably have some metrics for the performance of CI workflows, you might not have the same visibility into the local development environment. However, local build times are one of the most important factors that contribute to the developer experience.\\n\\nTo start tracking local build times, you can leverage the `tuist inspect build` command by adding it to your scheme's post-action:\\n\\n\\n\\n\\nIn case you're using [Mise](https://mise.jdx.dev/), your script will need to activate `tuist` in the post-action environment:\\n```sh\\n# -C ensures that Mise loads the configuration from the Mise configuration\\n# file in the project's root directory.\\neval \\\"$($HOME/.local/bin/mise activate -C $SRCROOT bash --shims)\\\"\\n\\ntuist inspect build\\n```\\n\\n\\nYour local builds are now tracked as long as you are logged in to your Tuist account. You can now access your build times in the Tuist dashboard and see how they evolve over time:\\n\\n\\n> [!TIP]\\n> To quickly access the dashboard, run `tuist project show --web` from the CLI.\\n\\n\\n\\n## Generated projects {#generated-projects}\\n\\n> [!NOTE]\\n> Auto-generated schemes automatically include the `tuist inspect build` post-action.\\n>\\n> If you are not interested in tracking build insights in your auto-generated schemes, disable them using the buildInsightsDisabled generation option.\\n\\nIf you are using generated projects, you can set up a custom build post-action using a custom scheme, such as:\\n\\n```swift\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n targets: [\\n // Your targets\\n ],\\n schemes: [\\n .scheme(\\n name: \\\"MyApp\\\",\\n shared: true,\\n buildAction: .buildAction(\\n targets: [\\\"MyApp\\\"],\\n postActions: [\\n .executionAction(\\n name: \\\"Inspect Build\\\",\\n scriptText: \\\"\\\"\\\"\\n eval \\\\\\\"$($HOME/.local/bin/mise activate -C $SRCROOT bash --shims)\\\\\\\"\\n tuist inspect build\\n \\\"\\\"\\\"\\n )\\n ],\\n runPostActionsOnFailure: true\\n ),\\n testAction: .testAction(targets: [\\\"MyAppTests\\\"]),\\n runAction: .runAction(configuration: \\\"Debug\\\")\\n )\\n ]\\n)\\n```\\n\\nIf you're not using Mise, your script can be simplified to just:\\n\\n```swift\\n.postAction(\\n name: \\\"Inspect Build\\\",\\n script: \\\"tuist inspect build\\\",\\n execution: .always\\n)\\n```\\n\\n## Continuous integration {#continuous-integration}\\n\\nTo track build times also on the CI, you will need to ensure that your CI is authenticated.\\n\\nAdditionally, you will either need to:\\n- Use the `tuist xcodebuild` command when invoking `xcodebuild` actions.\\n- Add `-resultBundlePath` to your `xcodebuild` invocation.\\n\\nWhen `xcodebuild` builds your project without `-resultBundlePath`, the `.xcactivitylog` file is not generated. But the `tuist inspect build` post-action requires that file to be generated to analyze your build.\\n\",\"title\":\"Insights\",\"frontmatter\":{\"URL\":\"/en/guides/features/insights\",\"LLMS_URL\":\"/en/guides/features/insights.md\",\"title\":\"Insights\",\"titleTemplate\":\":title · Features · Guides · Tuist\",\"description\":\"Get insights into your projects to maintain a product developer environment.\"}},{\"path\":\"/en/guides/features/previews.md\",\"url\":\"/en/guides/features/previews\",\"llmUrl\":\"/en/guides/features/previews.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/previews\\\"\\nLLMS_URL: \\\"/en/guides/features/previews.md\\\"\\ntitle: \\\"Previews\\\"\\ntitleTemplate: \\\":title · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to generate and share previews of your apps with anyone.\\\"\\n---\\n\\n# Previews {#previews}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n> - A Tuist account and project\\n\\nWhen building an app, you may want to share it with others to get feedback.\\nTraditionally, this is something that teams do by building, signing, and pushing their apps to platforms like Apple's [TestFlight](https://developer.apple.com/testflight/).\\nHowever, this process can be cumbersome and slow, especially when you're just looking for quick feedback from a colleague or a friend.\\n\\nTo make this process more streamlined, Tuist provides a way to generate and share previews of your apps with anyone.\\n\\n> [!IMPORTANT] DEVICE BUILDS NEED TO BE SIGNED\\n> When building for device, it is currently your responsibility to ensure the app is signed correctly. We plan to streamline this in the future.\\n\\n:::code-group\\n```bash [Tuist Project]\\ntuist build App # Build the app for the simulator\\ntuist build App -- -destination 'generic/platform=iOS' # Build the app for the device\\ntuist share App\\n```\\n```bash [Xcode Project]\\nxcodebuild -scheme App -project App.xcodeproj -configuration Debug # Build the app for the simulator\\nxcodebuild -scheme App -project App.xcodeproj -configuration Debug -destination 'generic/platform=iOS' # Build the app for the device\\ntuist share App --configuration Debug --platforms iOS\\ntuist share App.ipa # Share an existing .ipa file\\n```\\n:::\\n\\nThe command will generate a link that you can share with anyone to run the app – either on a simulator or an actual device. All they'll need to do is to run the command below:\\n\\n```bash\\ntuist run {url}\\ntuist run --device \\\"My iPhone\\\" {url} # Run the app on a specific device\\n```\\n\\nWhen sharing an `.ipa` file, you can download the app directly from the mobile device using the Preview link.\\nThe links to `.ipa` previews are by default _public_. In the future, you will have an option to make them private, so that the recipient of the link would need to authenticate with their Tuist account to download the app.\\n\\n`tuist run` also enables you to run a latest preview based on a specifier such as `latest`, branch name, or a specific commit hash:\\n\\n```bash\\ntuist run App@latest # Runs latest App preview associated with the project's default branch\\ntuist run App@my-feature-branch # Runs latest App preview associated with a given branch\\ntuist run App@00dde7f56b1b8795a26b8085a781fb3715e834be # Runs latest App preview associated with a given git commit sha\\n```\\n\\n> [!IMPORTANT] PREVIEWS' VISIBILITY\\n> Only people with access to the organization the project belongs to can access the previews. We plan to add support for expiring links.\\n\\n## Tuist macOS app {#tuist-macos-app}\\n\\n
\\n\\nTo make running Tuist Previews even easier, we developed a Tuist macOS menu bar app. Instead of running Previews via the Tuist CLI, you can [download](https://tuist.dev/download) the macOS app. You can also install the app by running `brew install --cask tuist/tuist/tuist`.\\n\\nWhen you now click on \\\"Run\\\" in the Preview page, the macOS app will automatically launch it on your currently selected device.\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> You need to have Xcode locally installed and be on macOS 14 or later.\\n\\n## Tuist iOS app {#tuist-ios-app}\\n\\n
\\n\\nSimilarly to the macOS app, the Tuist iOS apps streamlines accessing and running your previews.\\n\\n## Pull/merge request comments {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] INTEGRATION WITH GIT PLATFORM REQUIRED\\n> To get automatic pull/merge request comments, integrate your remote project with a Git platform.\\n\\nTesting new functionality should be a part of any code review. But having to build an app locally adds unnecessary friction, often leading to developers skipping testing functionality on their device at all. But *what if each pull request contained a link to the build that would automatically run the app on a device you selected in the Tuist macOS app?*\\n\\nOnce your Tuist project is connected with your Git platform such as [GitHub](https://github.com), add a `tuist share MyApp` to your CI workflow. Tuist will then post a Preview link directly in your pull requests:\\n\\n\\n## README badge {#readme-badge}\\n\\nTo make Tuist Previews more visible in your repository, you can add a badge to your `README` file that points to the latest Tuist Preview:\\n\\n[](https://tuist.dev/Dimillian/IcySky/previews/latest)\\n\\nTo add the badge to your `README`, use the following markdown and replace the account and project handles with your own:\\n```\\n[](https://tuist.dev/{account-handle}/{project-handle}/previews/latest)\\n```\\n\\n## Automations {#automations}\\n\\nYou can use the `--json` flag to get a JSON output from the `tuist share` command:\\n```\\ntuist share --json\\n```\\n\\nThe JSON output is useful to create custom automations, such as posting a Slack message using your CI provider.\\nThe JSON contains a `url` key with the full preview link and a `qrCodeURL` key with the URL to the QR code image\\nto make it easier to download previews from a real device. An example of a JSON output is below:\\n```json\\n{\\n \\\"id\\\": 1234567890,\\n \\\"url\\\": \\\"https://cloud.tuist.io/preview/1234567890\\\",\\n \\\"qrCodeURL\\\": \\\"https://cloud.tuist.io/preview/1234567890/qr-code.svg\\\"\\n}\\n```\\n\",\"title\":\"Previews\",\"frontmatter\":{\"URL\":\"/en/guides/features/previews\",\"LLMS_URL\":\"/en/guides/features/previews.md\",\"title\":\"Previews\",\"titleTemplate\":\":title · Features · Guides · Tuist\",\"description\":\"Learn how to generate and share previews of your apps with anyone.\"}},{\"path\":\"/en/guides/features/projects.md\",\"url\":\"/en/guides/features/projects\",\"llmUrl\":\"/en/guides/features/projects.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects\\\"\\nLLMS_URL: \\\"/en/guides/features/projects.md\\\"\\ntitle: \\\"Projects\\\"\\ntitleTemplate: \\\":title · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn about Tuist's DSL for defining Xcode projects.\\\"\\n---\\n\\n# Generated projects {#generated-projects}\\n\\nGenerated is a viable alternative that helps to overcome these challenges while keeping complexity and costs at an acceptable level. It considers Xcode projects as a fundamental element, ensuring resilience against future Xcode updates, and leverages Xcode project generation to provide teams with a modularization-focused declarative API. Tuist uses the project declaration to simplify the complexities of modularization**, optimize workflows like build or test across various environments, and facilitate and democratize the evolution of Xcode projects.\\n\\n## How does it work? {#how-does-it-work}\\n\\nTo get started with generated projects, all you need is to define your project using **Tuist's Domain Specific Language (DSL)**. This entails using manifest files such as `Workspace.swift` or `Project.swift`. If you've worked with the Swift Package Manager before, the approach is very similar.\\n\\nOnce you've defined your project, Tuist offers various workflows to manage and interact with it:\\n\\n- **Generate:** This is a foundational workflow. Use it to create an Xcode project that's compatible with Xcode.\\n- **Build:** This workflow not only generates the Xcode project but also employs `xcodebuild` to compile it.\\n- **Test:** Operating much like the build workflow, this not only generates the Xcode project but utilizes `xcodebuild` to test it.\\n\\n## Challenges with Xcode projects {#challenges-with-xcode-projects}\\n\\nAs Xcode projects grow, **organizations may face a decline in productivity** due to several factors, including unreliable incremental builds, frequent clearing of Xcode's global cache by developers encountering issues, and fragile project configurations. To maintain rapid feature development, organizations typically explore various strategies.\\n\\nSome organizations choose to bypass the compiler by abstracting the platform using JavaScript-based dynamic runtimes, such as [React Native](https://reactnative.dev/). While this approach may be effective, it [complicates access to the platform's native features](https://shopify.engineering/building-app-clip-react-native). Other organizations opt for **modularizing the codebase**, which helps establish clear boundaries, making the codebase easier to work with and improving the reliability of build times. However, the Xcode project format is not designed for modularity and results in implicit configurations that few understand and frequent conflicts. This leads to a bad bus factor, and although incremental builds may improve, developers might still frequently clear Xcode's build cache (i.e., derived data) when builds fail. To address this, some organizations choose to **abandon Xcode's build system** and adopt alternatives like [Buck](https://buck.build/) or [Bazel](https://bazel.build/). However, this comes with a [high complexity and maintenance burden](https://bazel.build/migrate/xcode).\\n\\n\\n## Alternatives {#alternatives}\\n\\n### Swift Package Manager {#swift-package-manager}\\n\\nWhile the Swift Package Manager (SPM) primarily focuses on dependencies, Tuist offers a different approach. With Tuist, you don't just define packages for SPM integration; you shape your projects using familiar concepts like projects, workspaces, targets, and schemes.\\n\\n### XcodeGen {#xcodegen}\\n\\n[XcodeGen](https://github.com/yonaskolb/XcodeGen) is a dedicated project generator designed to reduce conflicts in collaborative Xcode projects and simplify some complexities of Xcode's internal workings. However, projects are defined using serializable formats like [YAML](https://yaml.org/). Unlike Swift, this doesn't allow developers to build upon abstractions or checks without incorporating additional tools. While XcodeGen does offer a way to map dependencies to an internal representation for validation and optimization, it still exposes developers to the nuances of Xcode. This might make XcodeGen a suitable foundation for [building tools](https://github.com/MobileNativeFoundation/rules_xcodeproj), as seen in the Bazel community, but it's not optimal for inclusive project evolution that aims to maintain a healthy and productive environment.\\n\\n### Bazel {#bazel}\\n\\n[Bazel](https://bazel.build) is an advanced build system renowned for its remote caching features, gaining popularity within the Swift community primarily for this capability. However, given the limited extensibility of Xcode and its build system, substituting it with Bazel's system demands significant effort and maintenance. Only a few companies with abundant resources can bear this overhead, as evident from the select list of firms investing heavily to integrate Bazel with Xcode. Interestingly, the community created a [tool](https://github.com/MobileNativeFoundation/rules_xcodeproj) that employs Bazel's XcodeGen to generate an Xcode project. This results in a convoluted chain of conversions: from Bazel files to XcodeGen YAML and finally to Xcode Projects. Such layered indirection often complicates troubleshooting, making issues more challenging to diagnose and resolve.\\n\",\"title\":\"Projects\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects\",\"LLMS_URL\":\"/en/guides/features/projects.md\",\"title\":\"Projects\",\"titleTemplate\":\":title · Features · Guides · Tuist\",\"description\":\"Learn about Tuist's DSL for defining Xcode projects.\"}},{\"path\":\"/en/guides/features/projects/adoption/migrate/bazel-project.md\",\"url\":\"/en/guides/features/projects/adoption/migrate/bazel-project\",\"llmUrl\":\"/en/guides/features/projects/adoption/migrate/bazel-project.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/adoption/migrate/bazel-project\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/adoption/migrate/bazel-project.md\\\"\\ntitle: \\\"Migrate a Bazel project\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to migrate your projects from Bazel to Tuist.\\\"\\n---\\n\\n# Migrate a Bazel project {#migrate-a-bazel-project}\\n\\n[Bazel](https://bazel.build) is a build system that Google open-sourced in 2015. It's a powerful tool that allows you to build and test software of any size, quickly and reliably. Some large organizations like [Spotify](https://engineering.atspotify.com/2023/10/switching-build-systems-seamlessly/), [Tinder](https://medium.com/tinder/bazel-hermetic-toolchain-and-tooling-migration-c244dc0d3ae), or [Lyft](https://semaphoreci.com/blog/keith-smiley-bazel) use it, however, it requires an upfront (i.e., learning the technology) and ongoing investment (i.e., keeping up with Xcode updates) to introduce and maintain. While this works for some organizations that treat it as a cross-cutting concern, it might not be the best fit for others that want to focus on their product development. For instance, we've seen organizations whose iOS platform team introduced Bazel and had to drop it after the engineers that led the effort left the company. Apple's stance on the strong coupling between Xcode and the build system is another factor that makes it hard to maintain Bazel projects over time.\\n\\n> [!TIP] TUIST UNIQUENESS LIES IN ITS FINESSE\\n> Instead of fighting Xcode and Xcode projects, Tuist embraces it. It's the same concepts (e.g., targets, schemes, build settings), a familiar language (i.e., Swift), and a simple and enjoyable experience that makes maintaining and scaling projects everyone's job and not just the iOS platform team's.\\n\\n## Rules {#rules}\\n\\nBazel uses rules to define how to build and test software. The rules are written in [Starlark](https://github.com/bazelbuild/starlark), a Python-like language. Tuist uses Swift as a configuration language, which provides developers with the convenience of using Xcode's autocompletion, type-checking, and validation features. For example, the following rule describes how to build a Swift library in Bazel:\\n\\n::: code-group\\n```txt [BUILD (Bazel)]\\nswift_library(\\n name = \\\"MyLibrary.library\\\",\\n srcs = glob([\\\"**/*.swift\\\"]),\\n module_name = \\\"MyLibrary\\\"\\n)\\n```\\n\\n```swift [Project.swift (Tuist)]\\nlet project = Project(\\n // ...\\n targets: [\\n .target(name: \\\"MyLibrary\\\", product: .staticLibrary, sources: [\\\"**/*.swift\\\"])\\n ]\\n)\\n```\\n:::\\n\\nHere's another example but compating how to define unit tests in Bazel and Tuist:\\n\\n:::code-group\\n```txt [BUILD (Bazel)]\\nios_unit_test(\\n name = \\\"MyLibraryTests\\\",\\n bundle_id = \\\"dev.tuist.MyLibraryTests\\\",\\n minimum_os_version = \\\"16.0\\\",\\n test_host = \\\"//MyApp:MyLibrary\\\",\\n deps = [\\\":MyLibraryTests.library\\\"],\\n)\\n\\n```\\n```swift [Project.swift (Tuist)]\\nlet project = Project(\\n // ...\\n targets: [\\n .target(\\n name: \\\"MyLibraryTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"dev.tuist.MyLibraryTests\\\",\\n sources: \\\"Tests/MyLibraryTests/**\\\",\\n dependencies: [\\n .target(name: \\\"MyLibrary\\\"),\\n ]\\n )\\n ]\\n)\\n```\\n:::\\n\\n\\n## Swift Package Manager dependencies {#swift-package-manager-dependencies}\\n\\nIn Bazel, you can use the [`rules_swift_package_manager`](https://github.com/cgrindel/rules_swift_package_manager) [Gazelle](https://github.com/bazelbuild/bazel-gazelle/blob/master/extend.md) plugin to use Swift Packages as dependencies. The plugin requires a `Package.swift` as a source of truth for the dependencies. Tuist's interface is similar to Bazel's in that sense. You can use the `tuist install` command to resolve and pull the dependencies of the package. After the resolution completes, you can then generate the project with the `tuist generate` command.\\n\\n```bash\\ntuist install # Fetch dependencies defined in Tuist/Package.swift\\ntuist generate # Generate an Xcode project\\n```\\n\\n## Project generation {#project-generation}\\n\\nThe community provides a set of rules, [rules_xcodeproj](https://github.com/MobileNativeFoundation/rules_xcodeproj), to generate Xcode projects off Bazel-declared projects. Unlike Bazel, where you need to add some configuration to your `BUILD` file, Tuist doesn't require any configuration at all. You can run `tuist generate` in the root directory of your project, and Tuist will generate an Xcode project for you.\\n\",\"title\":\"Migrate a Bazel project\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/adoption/migrate/bazel-project\",\"LLMS_URL\":\"/en/guides/features/projects/adoption/migrate/bazel-project.md\",\"title\":\"Migrate a Bazel project\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to migrate your projects from Bazel to Tuist.\"}},{\"path\":\"/en/guides/features/projects/adoption/migrate/swift-package.md\",\"url\":\"/en/guides/features/projects/adoption/migrate/swift-package\",\"llmUrl\":\"/en/guides/features/projects/adoption/migrate/swift-package.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/adoption/migrate/swift-package\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/adoption/migrate/swift-package.md\\\"\\ntitle: \\\"Migrate a Swift Package\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to migrate from Swift Package Manager as a solution for managing your projects to Tuist projects.\\\"\\n---\\n\\n# Migrate a Swift Package {#migrate-a-swift-package}\\n\\nSwift Package Manager emerged as a dependency manager for Swift code that uninentionally found itself solving the problem of managing projects and supporting other programming languages like Objective-C. Because the tool was designed with a different purpose in mind, it can be challenging to use it to manage projects at scale because it lacks flexibility, performance, and power that Tuist provides. This is well captured in the [Scaling iOS at Bumble](https://medium.com/bumble-tech/scaling-ios-at-bumble-239e0fa009f2) article, which includes the following table comparing the performance of Swift Package Manager and native Xcode projects:\\n\\n\\n\\nWe often come across developers and organizations that challenge the need for Tuist considering that Swift Package Manager can take a similar project management role. Some venture into a migration to later on realize that their developer experience has degraded signicantly. For instance, the rename of a file might take up to 15 seconds to re-index. 15 seconds!\\n\\n**Whether Apple will make Swift Package Manager a built-for-scale project manager is uncertain.** However, we are not seeing any signs that it's happening. In fact, we are seeing quite the opposite. They are making Xcode-inspired decisions, like achieving convenience through implicit configurations, which as you might know, is the source of complications at scale. We believe it'd take Apple to go to first principles and revisit some decisions that made sense as a dependency manager but not as a project manager, for example the usage of a compiled language as an interface to define projects.\\n\\n> [!TIP] SPM AS JUST A DEPENDENCY MANAGER\\n> Tuist treats Swift Package Manager as a dependency manager, and it's a great one. We use it to resolve dependencies and to build them. We don't use it to define projects because it's not designed for that.\\n\\n## Migrating from Swift Package Manager to Tuist {#migrating-from-swift-package-manager-to-tuist}\\n\\nThe similarities between Swift Package Manager and Tuist make the migration process straightforward. The main difference is that you'll be defining your projects using Tuist's DSL instead of `Package.swift`.\\n\\nFirst, create a `Project.swift` file next to your `Package.swift` file. The `Project.swift` file will contain the definition of your project. Here's an example of a `Project.swift` file that defines a project with a single target:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"App\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"dev.tuist.App\\\",\\n sources: [\\\"Sources/**/*.swift\\\"]*\\n ),\\n ]\\n)\\n```\\n\\nSome things to note:\\n\\n- **ProjectDescription**: Instead of using `PackageDescription`, you'll be using `ProjectDescription`.\\n- **Project:** Instead of exporting a `package` instance, you'll be exporting a `project` instance.\\n- **Xcode language:** The primitives that you use to define your project mimic Xcode's language, so you'll find schemes, targets, and build phases among others.\\n\\nThen create a `Tuist.swift` file with the following content:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n\\nThe `Tuist.swift` contains the configuration for your project and its path serves as a reference to determine the root of your project. You can check out the directory structure document to learn more about the structure of Tuist projects.\\n\\n## Editing the project {#editing-the-project}\\n\\nYou can use `tuist edit` to edit the project in Xcode. The command will generate an Xcode project that you can open and start working on.\\n\\n```bash\\ntuist edit\\n```\\n\\nDepending on the size of the project, you might consider using it in one shot or incrementally. We recommend starting with a small project to get familiar with the DSL and the workflow. Our advise is always to start from the most depended upon target and work all the way up to the top-level target.\\n\",\"title\":\"Migrate a Swift Package\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/adoption/migrate/swift-package\",\"LLMS_URL\":\"/en/guides/features/projects/adoption/migrate/swift-package.md\",\"title\":\"Migrate a Swift Package\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to migrate from Swift Package Manager as a solution for managing your projects to Tuist projects.\"}},{\"path\":\"/en/guides/features/projects/adoption/migrate/xcode-project.md\",\"url\":\"/en/guides/features/projects/adoption/migrate/xcode-project\",\"llmUrl\":\"/en/guides/features/projects/adoption/migrate/xcode-project.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/adoption/migrate/xcode-project\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/adoption/migrate/xcode-project.md\\\"\\ntitle: \\\"Migrate an Xcode project\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to migrate an Xcode project to a Tuist project.\\\"\\n---\\n\\n# Migrate an Xcode project {#migrate-an-xcode-project}\\n\\nUnless you create a new project using Tuist, in which case you get everything configured automatically, you'll have to define your Xcode projects using Tuist's primitives. How tedious this process is, depends on how complex your projects are.\\n\\nAs you probably know, Xcode projects can become messy and complex over time: groups that don't match the directory structure, files that are shared across targets, or file references that point to nonexisting files (to mention some). All that accumulated complexity makes it hard for us to provide a command that reliably migrates project.\\n\\nMoreover, manual migration is an excellent exercise to clean up and simplify your projects. Not only the developers in your project will be thankful for that, but Xcode, who will be faster processing and indexing them. Once you have fully adopted Tuist, it will make sure that projects are consistently defined and that they remain simple.\\n\\nIn the aim of easing that work, we are giving you some guidelines based on the feedback that we have received from the users.\\n\\n## Create project scaffold {#create-project-scaffold}\\n\\nFirst of all, create a scaffold for your project with the following Tuist files:\\n\\n::: code-group\\n\\n```js [Tuist.swift]\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n\\n```js [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp-Tuist\\\",\\n targets: [\\n /** Targets will go here **/\\n ]\\n)\\n```\\n\\n```js [Tuist/Package.swift]\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n ]\\n)\\n```\\n:::\\n\\n`Project.swift` is the manifest file where you'll define your project, and `Package.swift` is the manifest file where you'll define your dependencies. The `Tuist.swift` file is where you can define project-scoped Tuist settings for your project.\\n\\n> [!TIP] PROJECT NAME WITH -TUIST SUFFIX\\n> To prevent conflicts with the existing Xcode project, we recommend adding the `-Tuist` suffix to the project name. You can drop it once you've fully migrated your project to Tuist.\\n\\n## Build and test the Tuist project in CI {#build-and-test-the-tuist-project-in-ci}\\n\\nTo ensure the migration of each change is valid, we recommend extending your continuous integration to build and test the project generated by Tuist from your manifest file:\\n\\n```bash\\ntuist install\\ntuist generate\\ntuist build -- ...{xcodebuild flags} # or tuist test\\n```\\n\\n## Extract the project build settings into `.xcconfig` files {#extract-the-project-build-settings-into-xcconfig-files}\\n\\nExtract the build settings from the project into an `.xcconfig` file to make the project leaner and easier to migrate. You can use the following command to extract the build settings from the project into an `.xcconfig` file:\\n\\n\\n```bash\\nmkdir -p xcconfigs/\\ntuist migration settings-to-xcconfig -p MyApp.xcodeproj -x xcconfigs/MyApp-Project.xcconfig\\n```\\n\\nThen update your `Project.swift` file to point to the `.xcconfig` file you've just created:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n settings: .settings(configurations: [\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/MyApp-Project.xcconfig\\\"), // [!code ++]\\n .release(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/MyApp-Project.xcconfig\\\"), // [!code ++]\\n ]),\\n targets: [\\n /** Targets will go here **/\\n ]\\n)\\n```\\n\\nThen extend your continuous integration pipeline to run the following command to ensure that changes to build settings are made directly to the `.xcconfig` files:\\n\\n```bash\\ntuist migration check-empty-settings -p Project.xcodeproj\\n```\\n\\n## Extract package dependencies {#extract-package-dependencies}\\n\\nExtract all your project's dependencies into the `Tuist/Package.swift` file:\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n .package(url: \\\"https://github.com/onevcat/Kingfisher\\\", .upToNextMajor(from: \\\"7.12.0\\\")) // [!code ++]\\n ]\\n)\\n```\\n\\n> [!TIP] PRODUCT TYPES\\n> You can override the product type for a specific package by adding it to the `productTypes` dictionary in the `PackageSettings` struct. By default, Tuist assumes that all packages are static frameworks.\\n\\n\\n## Determine the migration order {#determine-the-migration-order}\\n\\nWe recommend migrating the targets from the one that is the most dependent upon to the least. You can use the following command to list the targets of a project, sorted by the number of dependencies:\\n\\n```bash\\ntuist migration list-targets -p Project.xcodeproj\\n```\\n\\nStart migrating the targets from the top of the list, as they are the ones that are the most depended upon.\\n\\n\\n## Migrate targets {#migrate-targets}\\n\\nMigrate the targets one by one. We recommend doing a pull request for each target to ensure that the changes are reviewed and tested before merging them.\\n\\n### Extract the target build settings into `.xcconfig` files {#extract-the-target-build-settings-into-xcconfig-files}\\n\\nLike you did with the project build settings, extract the target build settings into an `.xcconfig` file to make the target leaner and easier to migrate. You can use the following command to extract the build settings from the target into an `.xcconfig` file:\\n\\n```bash\\ntuist migration settings-to-xcconfig -p MyApp.xcodeproj -t TargetX -x xcconfigs/TargetX.xcconfig\\n```\\n\\n### Define the target in the `Project.swift` file {#define-the-target-in-the-projectswift-file}\\n\\nDefine the target in `Project.targets`:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n settings: .settings(configurations: [\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/Project.xcconfig\\\"),\\n .release(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/Project.xcconfig\\\"),\\n ]),\\n targets: [\\n .target( // [!code ++]\\n name: \\\"TargetX\\\", // [!code ++]\\n destinations: .iOS, // [!code ++]\\n product: .framework, // [!code ++] // or .staticFramework, .staticLibrary...\\n bundleId: \\\"dev.tuist.targetX\\\", // [!code ++]\\n sources: [\\\"Sources/TargetX/**\\\"], // [!code ++]\\n dependencies: [ // [!code ++]\\n /** Dependencies go here **/ // [!code ++]\\n /** .external(name: \\\"Kingfisher\\\") **/ // [!code ++]\\n /** .target(name: \\\"OtherProjectTarget\\\") **/ // [!code ++]\\n ], // [!code ++]\\n settings: .settings(configurations: [ // [!code ++]\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/TargetX.xcconfig\\\"), // [!code ++]\\n .debug(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/TargetX.xcconfig\\\"), // [!code ++]\\n ]) // [!code ++]\\n ), // [!code ++]\\n ]\\n)\\n```\\n\\n> [!NOTE] TEST TARGETS\\n> If the target has an associated test target, you should define it in the `Project.swift` file as well repeating the same steps.\\n\\n### Validate the target migration {#validate-the-target-migration}\\n\\nRun `tuist build` and `tuist test` to ensure the project builds and tests pass. Additionally, you can use [xcdiff](https://github.com/bloomberg/xcdiff) to compare the generated Xcode project with the existing one to ensure that the changes are correct.\\n\\n### Repeat {#repeat}\\n\\nRepeat until all the targets are fully migrated. Once you are done, we recommend updating your CI and CD pipelines to build and test the project using `tuist build` and `tuist test` commands to benefit from the speed and reliability that Tuist provides.\\n\\n## Troubleshooting {#troubleshooting}\\n\\n### Compilation errors due to missing files. {#compilation-errors-due-to-missing-files}\\n\\nIf the files associated to your Xcode project targets were not all contained in a file-system directory representing the target, you might end up with a project that doesn't compile. Make sure the list of files after generating the project with Tuist matches the list of files in the Xcode project, and take the opportunity to align the file structure with the target structure.\\n\",\"title\":\"Migrate an Xcode project\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/adoption/migrate/xcode-project\",\"LLMS_URL\":\"/en/guides/features/projects/adoption/migrate/xcode-project.md\",\"title\":\"Migrate an Xcode project\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to migrate an Xcode project to a Tuist project.\"}},{\"path\":\"/en/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"url\":\"/en/guides/features/projects/adoption/migrate/xcodegen-project\",\"llmUrl\":\"/en/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/adoption/migrate/xcodegen-project\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/adoption/migrate/xcodegen-project.md\\\"\\ntitle: \\\"Migrate an XcodeGen project\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to migrate your projects from XcodeGen to Tuist.\\\"\\n---\\n\\n# Migrate an XcodeGen project {#migrate-an-xcodegen-project}\\n\\n[XcodeGen](https://github.com/yonaskolb/XcodeGen) is a project-generation tool that uses YAML as [a configuration format](https://github.com/yonaskolb/XcodeGen/blob/master/Docs/ProjectSpec.md) to define Xcode projects. Many organizations **adopted it trying to escape from the frequent Git conflicts that arise when working with Xcode projects.** However, frequent Git conflicts is just one of the many problems that organizations experience. Xcode exposes developers with a lot of intricacies and implicit configurations that make it hard to maintain and optimize projects at scale. XcodeGen falls short there by design because it's a tool that generates Xcode projects, not a project manager. If you need a tool that helps you beyond generating Xcode projects, you might want to consider Tuist.\\n\\n> [!TIP] SWIFT OVER YAML\\n> Many organizations prefer Tuist as a project generation tool too because it uses Swift as a configuration format. Swift is a programming language that developers are familiar with, and that provides them with the convenience of using Xcode's autocompletion, type-checking, and validation features.\\n\\nWhat follows are some considerations and guidelines to help you migrate your projects from XcodeGen to Tuist.\\n\\n## Project generation {#project-generation}\\n\\nBoth Tuist and XcodeGen provide a `generate` command that turns your project declaration into Xcode projects and workspaces.\\n\\n::: code-group\\n\\n```bash [XcodeGen]\\nxcodegen generate\\n```\\n\\n```bash [Tuist]\\ntuist generate\\n```\\n:::\\n\\nThe difference lays in the editing experience. With Tuist, you can run the `tuist edit` command, which generates an Xcode project on the fly that you can open and start working on. This is particularly useful when you want to make quick changes to your project.\\n\\n## `project.yaml` {#projectyaml}\\n\\nXcodeGen's `project.yaml` description file becomes `Project.swift`. Moreover, you can have `Workspace.swift` as a way to customize how projects are grouped in workspaces. You can also have a project `Project.swift` with targets that reference targets from other projects. In those cases, Tuist will generate an Xcode Workspace including all the projects.\\n\\n::: code-group\\n\\n```bash [XcodeGen directory structure]\\n/\\n project.yaml\\n```\\n\\n```bash [Tuist directory structure]\\n/\\n Tuist.swift\\n Project.swift\\n Workspace.swift\\n```\\n:::\\n\\n> [!TIP] XCODE'S LANGUAGE\\n> Both XcodeGen and Tuist embrace Xcode's language and concepts. However, Tuist's Swift-based configuration provides you with the convenience of using Xcode's autocompletion, type-checking, and validation features.\\n\\n## Spec templates {#spec-templates}\\n\\nOne of the disadvantages of YAML as a language for project configuration is that it doesn't support reusability across YAML files out of the box. This is a common need when describing projects, which XcodeGen had to solve with their own propietary solution named *\\\"templates\\\"*. With Tuist's re-usability is built into the language itself, Swift, and through a Swift module named project description helpers, which allow reusing code across all your manifest files.\\n\\n::: code-group\\n```swift [Tuist/ProjectDescriptionHelpers/Target+Features.swift]\\nimport ProjectDescription\\n\\nextension Target {\\n /**\\n This function is a factory of targets that together represent a feature.\\n */\\n static func featureTargets(name: String) -> [Target] {\\n // ...\\n }\\n}\\n```\\n```swift [Project.swift]\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers // [!code highlight]\\n\\nlet project = Project(name: \\\"MyProject\\\",\\n targets: Target.featureTargets(name: \\\"MyFeature\\\")) // [!code highlight]\\n```\\n\",\"title\":\"Migrate an XcodeGen project\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/adoption/migrate/xcodegen-project\",\"LLMS_URL\":\"/en/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"title\":\"Migrate an XcodeGen project\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to migrate your projects from XcodeGen to Tuist.\"}},{\"path\":\"/en/guides/features/projects/adoption/new-project.md\",\"url\":\"/en/guides/features/projects/adoption/new-project\",\"llmUrl\":\"/en/guides/features/projects/adoption/new-project.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/adoption/new-project\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/adoption/new-project.md\\\"\\ntitle: \\\"Create a new project\\\"\\ntitleTemplate: \\\":title · Adoption · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to create a new project with Tuist.\\\"\\n---\\n\\n# Create a new project {#create-a-new-project}\\n\\nThe most straightforward way to start a new project with Tuist is to use the `tuist init` command. This command launches an interactive CLI that guides you through setting up your project. When prompted, make sure to select the option to create a \\\"generated project\\\".\\n\\nYou can then edit the project running `tuist edit`, and Xcode will open a project where you can edit the project. One of the files that are generated is the `Project.swift`, which contains the definition of your project. If you are familiar with the Swift Package Manager, think of it as the `Package.swift` but with the lingo of Xcode projects.\\n\\n::: code-group\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n targets: [\\n .target(\\n name: \\\"MyApp\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"dev.tuist.MyApp\\\",\\n infoPlist: .extendingDefault(\\n with: [\\n \\\"UILaunchScreen\\\": [\\n \\\"UIColorName\\\": \\\"\\\",\\n \\\"UIImageName\\\": \\\"\\\",\\n ],\\n ]\\n ),\\n sources: [\\\"MyApp/Sources/**\\\"],\\n resources: [\\\"MyApp/Resources/**\\\"],\\n dependencies: []\\n ),\\n .target(\\n name: \\\"MyAppTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"dev.tuist.MyAppTests\\\",\\n infoPlist: .default,\\n sources: [\\\"MyApp/Tests/**\\\"],\\n resources: [],\\n dependencies: [.target(name: \\\"MyApp\\\")]\\n ),\\n ]\\n)\\n```\\n:::\\n\\n> [!NOTE]\\n> We intentionally keep the list of available templates short to minimize maintenance overhead. If you want to create a project that doesn't represent an application, for example a framework, you can use `tuist init` as a starting point and then modify the generated project to suit your needs.\\n\\n## Manually creating a project {#manually-creating-a-project}\\n\\nAlternatively, you can create the project manually. We recommend doing this only if you're already familiar with Tuist and its concepts. The first thing that you'll need to do is to create additional directories for the project structure:\\n\\n```bash\\nmkdir MyFramework\\ncd MyFramework\\n```\\n\\nThen create a `Tuist.swift` file, which will configure Tuist and is used by Tuist to determine the root directory of the project, and a `Project.swift`, where your project will be declared:\\n\\n::: code-group\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyFramework\\\",\\n targets: [\\n .target(\\n name: \\\"MyFramework\\\",\\n destinations: .macOS,\\n product: .framework,\\n bundleId: \\\"dev.tuist.MyFramework\\\",\\n sources: [\\\"MyFramework/Sources/**\\\"],\\n dependencies: []\\n )\\n ]\\n)\\n```\\n```swift [Tuist.swift]\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n:::\\n\\n> [!IMPORTANT]\\n> Tuist uses the `Tuist/` directory to determine the root of your project, and from there it looks for other manifest files globbing the directories. We recommend creating those files with your editor of choice, and from that point on, you can use `tuist edit` to edit the project with Xcode.\\n\",\"title\":\"Create a new project\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/adoption/new-project\",\"LLMS_URL\":\"/en/guides/features/projects/adoption/new-project.md\",\"title\":\"Create a new project\",\"titleTemplate\":\":title · Adoption · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to create a new project with Tuist.\"}},{\"path\":\"/en/guides/features/projects/adoption/swift-package.md\",\"url\":\"/en/guides/features/projects/adoption/swift-package\",\"llmUrl\":\"/en/guides/features/projects/adoption/swift-package.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/adoption/swift-package\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/adoption/swift-package.md\\\"\\ntitle: \\\"Use Tuist with a Swift Package\\\"\\ntitleTemplate: \\\":title · Adoption · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist with a Swift Package.\\\"\\n---\\n\\n# Using Tuist with a Swift Package {#using-tuist-with-a-swift-package-badge-typewarning-textbeta-}\\n\\nTuist supports using `Package.swift` as a DSL for your projects and it converts your package targets into a native Xcode project and targets.\\n\\n> [!WARNING]\\n> The aim of this feature is to provide an easy way for developers to assess the impact of adopting Tuist in their Swift Packages. Therefore, we don't plan to support the full range of Swift Package Manager features nor to bring every Tuist's unique features like project description helpers to the packages world.\\n\\n> [!NOTE] ROOT DIRECTORY\\n> Tuist commands expect a certain directory structure whose root is identified by a `Tuist` or a `.git` directory.\\n\\n## Using Tuist with a Swift Package {#using-tuist-with-a-swift-package}\\n\\nWe are going to use Tuist with the [TootSDK Package](https://github.com/TootSDK/TootSDK) repository, which contains a Swift Package. The first thing that we need to do is to clone the repository:\\n\\n```bash\\ngit clone https://github.com/TootSDK/TootSDK\\ncd TootSDK\\n```\\n\\nOnce in the repository's directory, we need to install the Swift Package Manager dependencies:\\n\\n```bash\\ntuist install\\n```\\n\\nUnder the hood `tuist install` uses the Swift Package Manager to resolve and pull the dependencies of the package.\\nAfter the resolution completes, you can then generate the project:\\n\\n```bash\\ntuist generate\\n```\\n\\nVoilà! You have a native Xcode project that you can open and start working on.\\n\",\"title\":\"Use Tuist with a Swift Package\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/adoption/swift-package\",\"LLMS_URL\":\"/en/guides/features/projects/adoption/swift-package.md\",\"title\":\"Use Tuist with a Swift Package\",\"titleTemplate\":\":title · Adoption · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to use Tuist with a Swift Package.\"}},{\"path\":\"/en/guides/features/projects/best-practices.md\",\"url\":\"/en/guides/features/projects/best-practices\",\"llmUrl\":\"/en/guides/features/projects/best-practices.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/best-practices\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/best-practices.md\\\"\\ntitle: \\\"Best practices\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn about the best practices for working with Tuist and Xcode projects.\\\"\\n---\\n\\n# Best practices {#best-practices}\\n\\nOver the years working with different teams and projects, we've identified a set of best practices that we recommend following when working with Tuist and Xcode projects. These practices are not mandatory, but they can help you structure your projects in a way that makes them easier to maintain and scale.\\n\\n## Xcode {#xcode}\\n\\n### Discouraged patterns {#discouraged-patterns}\\n\\n#### Configurations to model remote environments {#configurations-to-model-remote-environments}\\n\\nMany organizations use build configurations to model different remote environments (e.g., `Debug-Production` or `Release-Canary`), but this approach has some downsides:\\n\\n- **Inconsistencies:** If there are configuration inconsistencies throughout the graph, the build system might end up using the wrong configuration for some targets.\\n- **Complexity:** Projects can end up with a long list of local configurations and remote environments that are hard to reason about and maintain.\\n\\nBuild configurations were designed to embody different build settings, and projects rarely need more than just `Debug` and `Release`. The need to model different environments can be achieved differently:\\n\\n- **In Debug builds:** You can include all the configurations that should be accessible in development in the app (e.g. endpoints), and switch them at runtime. The switch can happen either using scheme launch environment variables, or with a UI within the app.\\n- **In Release builds:** In case of release, you can only include the configuration that the release build is bound to, and not include the runtime logic for switching configurations by using compiler directives.\\n\\n::: info Non-standard configurations\\nWhile Tuist supports non-standard configurations and makes them easier to manage compared to vanilla Xcode projects, you'll receive warnings if configurations are not consistent throughout the dependency graph. This helps ensure build reliability and prevents configuration-related issues.\\n:::\\n\",\"title\":\"Best practices\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/best-practices\",\"LLMS_URL\":\"/en/guides/features/projects/best-practices.md\",\"title\":\"Best practices\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn about the best practices for working with Tuist and Xcode projects.\"}},{\"path\":\"/en/guides/features/projects/code-sharing.md\",\"url\":\"/en/guides/features/projects/code-sharing\",\"llmUrl\":\"/en/guides/features/projects/code-sharing.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/code-sharing\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/code-sharing.md\\\"\\ntitle: \\\"Code sharing\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to share code across manifest files to reduce duplications and ensure consistency\\\"\\n---\\n\\n# Code sharing {#code-sharing}\\n\\nOne of the inconveniences of Xcode when we use it with large projects is that it doesn't allow reusing elements of the projects other than the build settings through `.xcconfig` files. Being able to reuse project definitions is useful for the following reasons:\\n\\n- It eases the **maintenance** because changes can be applied in one place and all the projects get the changes automatically.\\n- It makes it possible to define **conventions** that new projects can conform to.\\n- Projects are more **consistent** and therefore the likelihood of broken builds due inconsistencies is significantly less.\\n- Adding a new projects becomes an easy task because we can reuse the existing logic.\\n\\nReusing code across manifest files is possible in Tuist thanks to the concept of **project description helpers**.\\n\\n> [!TIP] A TUIST UNIQUE ASSET\\n> Many organizations like Tuist because they see in project description helpers a platform for platform teams to codify their own conventions and come up with their own language for describing their projects. For example, YAML-based project generators have to come up with their own YAML-based propietary templating solution, or force organizations onto building their tools upon.\\n\\n## Project description helpers {#project-description-helpers}\\n\\nProject description helpers are Swift files that get compiled into a module, `ProjectDescriptionHelpers`, that manifest files can import. The module is compiled by gathering all the files in the `Tuist/ProjectDescriptionHelpers` directory.\\n\\nYou can import them into your manifest file by adding an import statement at the top of the file:\\n\\n```swift\\n// Project.swift\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n```\\n\\n`ProjectDescriptionHelpers` are available in the following manifests:\\n- `Project.swift`\\n- `Package.swift` (only behind the `#TUIST` compiler flag)\\n- `Workspace.swift`\\n\\n## Example {#example}\\n\\nThe snippets below contain an example of how we extend the `Project` model to add static constructors and how we use them from a `Project.swift` file:\\n\\n::: code-group\\n```swift [Tuist/Project+Templates.swift]\\nimport ProjectDescription\\n\\nextension Project {\\n public static func featureFramework(name: String, dependencies: [TargetDependency] = []) -> Project {\\n return Project(\\n name: name,\\n targets: [\\n .target(\\n name: name,\\n destinations: .iOS,\\n product: .framework,\\n bundleId: \\\"dev.tuist.\\\\(name)\\\",\\n infoPlist: \\\"\\\\(name).plist\\\",\\n sources: [\\\"Sources/\\\\(name)/**\\\"],\\n resources: [\\\"Resources/\\\\(name)/**\\\",],\\n dependencies: dependencies\\n ),\\n .target(\\n name: \\\"\\\\(name)Tests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"dev.tuist.\\\\(name)Tests\\\",\\n infoPlist: \\\"\\\\(name)Tests.plist\\\",\\n sources: [\\\"Sources/\\\\(name)Tests/**\\\"],\\n resources: [\\\"Resources/\\\\(name)Tests/**\\\",],\\n dependencies: [.target(name: name)]\\n )\\n ]\\n )\\n }\\n}\\n```\\n\\n```swift {2} [Project.swift]\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n\\nlet project = Project.featureFramework(name: \\\"MyFeature\\\")\\n```\\n:::\\n\\n> [!TIP] A TOOL TO ESTABLISH CONVENTIONS\\n> Note how through the function we are defining conventions about the name of the targets, the bundle identifier, and the folders structure.\\n\",\"title\":\"Code sharing\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/code-sharing\",\"LLMS_URL\":\"/en/guides/features/projects/code-sharing.md\",\"title\":\"Code sharing\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to share code across manifest files to reduce duplications and ensure consistency\"}},{\"path\":\"/en/guides/features/projects/cost-of-convenience.md\",\"url\":\"/en/guides/features/projects/cost-of-convenience\",\"llmUrl\":\"/en/guides/features/projects/cost-of-convenience.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/cost-of-convenience\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/cost-of-convenience.md\\\"\\ntitle: \\\"The cost of convenience\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn about the cost of convenience in Xcode and how Tuist helps you prevent the issues that come with it.\\\"\\n---\\n\\n# The cost of convenience {#the-cost-of-convenience}\\n\\nDesigning a code editor that the spectrum **from small to large-scale projects can use** is a challenging task.\\nMany tools approach the problem by layering their solution and providing extensibility. The bottom-most layer is very low-level and close to the underlying build system, and the top-most layer is a high-level abstraction that's convenient to use but less flexible.\\nBy doing so, they make the simple things easy, and everything else possible.\\n\\nHowever,\\n**[Apple](https://www.apple.com) decided to take a different approach with Xcode**.\\nThe reason is unknown, but it's likely that optimizing for the challenges of large-scale projects has never been their goal.\\nThey overinvested in convenience for small projects,\\nprovided little flexibility,\\nand strongly coupled the tools with the underlying build system.\\nTo achieve the convenience, they provide sensible defaults, which you can easily replace,\\nand added a lot of implicit build-time-resolved behaviors that are the culprit of many issues at scale.\\n\\n## Explicitness and scale {#explicitness-and-scale}\\n\\nWhen working at scale, **explicitness is key**.\\nIt allows the build system to analyze and understand the project structure and dependencies ahead of time,\\nand perform optimizations that would be impossible otherwise.\\nThe same explicitness is also key in ensuring that editor features such as [SwiftUI previews](https://developer.apple.com/documentation/swiftui/previews-in-xcode) or [Swift Macros](https://docs.swift.org/swift-book/documentation/the-swift-programming-language/macros/) work reliably and predictably.\\nBecause Xcode and Xcode projects embraced implicitness as a valid design choice to achieve convenience,\\na principle that the Swift Package Manager has inherited,\\nthe difficulties of using Xcode are also present in the Swift Package Manager.\\n\\n> [!INFO] THE ROLE OF TUIST\\n> We could summarize Tuist's role as a tool that prevents implicitly-defined projects and leverages explicitness to provide a better developer experience (e.g. validations, optimizations). Tools like [Bazel](https://bazel.build) take it further by bringing it down to the build system level.\\n\\nThis is an issue that's barely discussed in the community, but it's a significant one.\\nWhile working on Tuist,\\nwe've noticed many organizations and developers thinking that the current challenges they face will be addressed by the [Swift Package Manager](https://www.swift.org/documentation/package-manager/),\\nbut what they don't realize is that because it's building on the same principles,\\neven though it mitigates the so well-known Git conflicts,\\nthey degrade the developer experience in other areas and continue to make the projects non-optimizable.\\n\\nIn the following sections, we'll discuss some real examples of how implicitness affects the developer experience and the project's health. The list is not exhaustive, but it should give you a good idea of the challenges that you might face when working with Xcode projects or Swift Packages.\\n\\n## Convenience getting in your way {#convenience-getting-in-your-way}\\n\\n### Shared built products directory {#shared-built-products-directory}\\n\\nXcode uses a directory inside the derived data directory for each product.\\nInside it, it stores the build artifacts, such as the compiled binaries, the dSYM files, and the logs.\\nBecause all the products of a project go into the same directory,\\nwhich is visible by default from other targets to link against,\\n**you might end up with targets that implicitly depend on each other.**\\nWhile this might not be a problem when having just a few targets,\\nit might manifest as failing builds that are hard to debug when the project grows.\\n\\nThe consequence of this design decision is that many projects acidentally compile with a graph that is not well-defined.\\n\\n> [!TIP] TUIST DETECTION OF IMPLICIT DEPENDENCIES\\n> Tuist provides a command to detect implicit dependencies. You can use the command to validate in CI that all your dependencies are explicit.\\n\\n### Find implicit dependencies in schemes {#find-implicit-dependencies-in-schemes}\\n\\nDefining and maintaining a dependency graph in Xcode gets harder as the project grows.\\nIt's hard because they are codified in the `.pbxproj` files as build phases and build settings,\\nthere are no tools to visualize and work with the graph,\\nand the changes in the graph (e.g. adding a new dynamic precompiled framework),\\nmight require configuration changes upstream (e.g. adding a new build phase to copy the framework into the bundle).\\n\\nApple decided at some point that instead of evolving the graph model into something more manageable,\\nit'd make more sense to add an option to resolve implicit dependencies at build time.\\nThis is once again a questionable design choice because you might end up with slower build times or unpredictable builds.\\nFor example, a build might pass locally due to some state in derive data,\\nwhich acts as a [singleton](https://en.wikipedia.org/wiki/Singleton_pattern),\\nbut then fail to compile on CI because the state is different.\\n\\n> [!TIP]\\n> We recommend disabling this in your project schemes, and use like Tuist that eases the management of the dependency graph.\\n\\n### SwiftUI Previews and static libraries/frameworks {#swiftui-previews-and-static-librariesframeworks}\\n\\nSome editor features like SwiftUI Previews or Swift Macros require the compilation of the dependency graph from the file that's being edited. This integration between the editor requires that the build system resolves any implicitness and output the right artifacts that are necessary for those features to work. As you can imagine, **the more implicit the graph is, the more challenging the task is for the build system**, and therefore it's not surprising that many of these features don't work reliably. We often hear from developers that they stopped using SwiftUI previews long time ago because they were too unreliable. Instead, they are using either example apps, or avoiding certaing things, like the usage of static libraries or script build phases, because they cause the feature to break.\\n\\n### Mergeable libraries {#mergeable-libraries}\\n\\nDynamic frameworks, while more flexible and easier to work with, have a negative impact in the launch time of apps. On the other side, static libraries are faster to launch, but impact the compilation time and are a bit harder to work with, specially in complex graph scenarios. *Wouldn't it be great if you could change between one or the other depending on the configuration?* That's what Apple must have thought when they decided to work on mergeable libraries. But once again, they moved more build-time inference to the build-time. If reasoning about a dependency graph, imagine having to do so when the static or dynamic nature of the target will be resolved at build-time based on some build settings in some targets. Good luck making that work reliably while ensuring features like SwiftUI previews don't break.\\n\\n**Many users come to Tuist wanting to use mergeable libraries and our answer is always the same. You don't need to.** You can control the static or dynamic nature of your targets at generation-time leading to a project whose graph is known ahead of compilation. No variables need to be resolved at build-time.\\n\\n```bash\\n# The value of TUIST_DYNAMIC can be read from the project {#the-value-of-tuist_dynamic-can-be-read-from-the-project}\\n# to set the product as static or dynamic based on the value. {#to-set-the-product-as-static-or-dynamic-based-on-the-value}\\nTUIST_DYNAMIC=1 tuist generate\\n```\\n\\n## Explicit, explicit, and explicit {#explicit-explicit-and-explicit}\\n\\nIf there's an important non-written principle that we recommend every developer or organization that wants their development with Xcode to scale, is that they should embrace explicitness. And if explicitness is hard to manage with raw Xcode projects, they should consider something else, either [Tuist](https://tuist.io) or [Bazel](https://bazel.build). **Only then reliability, predicability, and optimizations will be possible.**\\n\\n## Future {#future}\\n\\nWhether Apple will do something to prevent all the above issues is unknown.\\nTheir continuous decisions embedded into Xcode and the Swift Package Manager don't suggest that they will.\\nOnce you allow implicit configuration as a valid state,\\n**it's hard to move from there without introducing breaking changes.**\\nGoing back to first principles and rethinking the design of the tools might lead to breaking many Xcode projects that accidentally compiled for years. Imagine the community uproar if that happened.\\n\\nApple finds itself in a bit of a chicken-and-egg problem.\\nConvenience is what helps developers get started quickly and build more apps for their ecosystem.\\nBut their decisions to make the experience convenience at that scale,\\nis making it hard for them to ensure some of the Xcode features work reliably.\\n\\nBecause the future is unknown,\\nwe try to **be as close as possible to the industry standards and Xcode projects**.\\nWe prevent the above issues,\\nand leverage the knowledge that we have to provide a better developer experience.\\nIdeally we wouldn't have to resort to project generation for that,\\nbut the lack of extensibility of Xcode and the Swift Package Manager make it the only viable option.\\nAnd it's also a safe option because they'll have to break the Xcode projects to break Tuist projects.\\n\\nIdeally, **the build system was more extensible**,\\nbut wouldn't it be a bad idea to have plugins/extensions that contract with a world of implicitness?\\nIt doesn't seem like a good idea.\\nSo it seems like we'll need external tools like Tuist or [Bazel](https://bazel.build) to provide a better developer experience.\\nOr maybe Apple will surprise us all and make Xcode more extensible and explicit...\\n\\nUntil that happens, you have to choose whether you want to embrace the convencience of Xcode and take on the debt that comes with it, or trust us on this journey to provide a better developer experience.\\nWe won't disappoint you.\\n\",\"title\":\"The cost of convenience\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/cost-of-convenience\",\"LLMS_URL\":\"/en/guides/features/projects/cost-of-convenience.md\",\"title\":\"The cost of convenience\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn about the cost of convenience in Xcode and how Tuist helps you prevent the issues that come with it.\"}},{\"path\":\"/en/guides/features/projects/dependencies.md\",\"url\":\"/en/guides/features/projects/dependencies\",\"llmUrl\":\"/en/guides/features/projects/dependencies.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/dependencies\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/dependencies.md\\\"\\ntitle: \\\"Dependencies\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to declare dependencies in your Tuist project.\\\"\\n---\\n\\n# Dependencies {#dependencies}\\n\\nWhen a project grows, it's common to split it into multiple targets to share code, define boundaries, and improve build times.\\nMultiple targets means defining dependencies between them forming a **dependency graph**, which might include external dependencies as well.\\n\\n## XcodeProj-codified graphs {#xcodeprojcodified-graphs}\\n\\nDue to Xcode and XcodeProj's design,\\nthe maintenance of a dependency graph can be a tedious and error-prone task.\\nHere are some examples of the problems that you might encounter:\\n\\n- Because Xcode's build system outputs all the project's products into the same directory in derived data, targets might be able to import products that they shouldn't. Compilations might fail on CI, where clean builds are more common, or later on when a different configuration is used.\\n- The transitive dynamic dependencies of a target need to be copied into any of the directories that are part of the `LD_RUNPATH_SEARCH_PATHS` build setting. If they aren't, the target won't be able to find them at runtime. This is easy to think about and set up when the graph is small, but it becomes a problem as the graph grows.\\n- When a target links a static [XCFramework](https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle), the target needs an additional build phase for Xcode to process the bundle and extract the right binary for the current platform and architecture. This build phase is not added automatically, and it's easy to forget to add it.\\n\\nThe above are just a few examples, but there are many more that we've encountered over the years.\\nImagine if you required a team of engineers to maintain a dependency graph and ensure its validity.\\nOr even worse,\\nthat the intricacies were resolved at build-time by a closed-source build system that you can't control or customize.\\nSounds familiar? This is the approach that Apple took with Xcode and XcodeProj and that the Swift Package Manager has inherited.\\n\\nWe strongly believe that the dependency graph should be **explicit** and **static** because only then can it be **validated** and **optimized**.\\nWith Tuist, you focus on describing what depends on what, and we take care of the rest.\\nThe intricacies and implementation details are abstracted away from you.\\n\\nIn the following sections you'll learn how to declare dependencies in your project.\\n\\n> [!TIP] GRAPH VALIDATION\\n> Tuist validates the graph when generating the project to ensure that there are no cycles and that all the dependencies are valid. Thanks to this, any team can take part in evolving the dependency graph without worrying about breaking it.\\n\\n## Local dependencies {#local-dependencies}\\n\\nTargets can depend on other targets in the same and different projects, and on binaries.\\nWhen instantiating a `Target`, you can pass the `dependencies` argument with any of the following options:\\n\\n- `Target`: Declares a dependency with a target within the same project.\\n- `Project`: Declares a dependency with a target in a different project.\\n- `Framework`: Declares a dependency with a binary framework.\\n- `Library`: Declares a dependency with a binary library.\\n- `XCFramework`: Declares a dependency with a binary XCFramework.\\n- `SDK`: Declares a dependency with a system SDK.\\n- `XCTest`: Declares a dependency with XCTest.\\n\\n> [!NOTE] DEPENDENCY CONDITIONS\\n> Every dependency type accepts a `condition` option to conditionally link the dependency based on the platform. By default, it links the dependency for all platforms the target supports.\\n\\n## External dependencies {#external-dependencies}\\n\\nTuist also allows you to declare external dependencies in your project.\\n\\n### Swift Packages {#swift-packages}\\n\\nSwift Packages are our recommended way of declaring dependencies in your project.\\nYou can integrate them using Xcode's default integration mechanism or using Tuist's XcodeProj-based integration.\\n\\n#### Tuist's XcodeProj-based integration {#tuists-xcodeprojbased-integration}\\n\\nXcode's default integration while being the most convenient one,\\nlacks flexibility and control that's required for medium and large projects.\\nTo overcome this, Tuist offers an XcodeProj-based integration that allows you to integrate Swift Packages in your project using XcodeProj's targets.\\nThanks to that, we can not only give you more control over the integration but also make it compatible with workflows like caching and selective test runs.\\n\\nXcodeProj's integration is more likely to take more time to support new Swift Package features or handle more package configurations. However, the mapping logic between Swift Packages and XcodeProj targets is open-source and can be contributed to by the community. This is contrary to Xcode's default integration, which is closed-source and maintained by Apple.\\n\\nTo add external dependencies, you'll have to create a `Package.swift` either under `Tuist/` or at the root of the project.\\n\\n::: code-group\\n```swift [Tuist/Package.swift]\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n import ProjectDescriptionHelpers\\n\\n let packageSettings = PackageSettings(\\n productTypes: [\\n \\\"Alamofire\\\": .framework, // default is .staticFramework\\n ]\\n )\\n\\n#endif\\n\\nlet package = Package(\\n name: \\\"PackageName\\\",\\n dependencies: [\\n .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n ],\\n targets: [\\n .binaryTarget(\\n name: \\\"Sentry\\\",\\n url: \\\"https://github.com/getsentry/sentry-cocoa/releases/download/8.40.1/Sentry.xcframework.zip\\\",\\n checksum: \\\"db928e6fdc30de1aa97200576d86d467880df710cf5eeb76af23997968d7b2c7\\\"\\n ),\\n ]\\n)\\n```\\n:::\\n\\n> [!TIP] PACKAGE SETTINGS\\n> The `PackageSettings` instance wrapped in a compiler directive allows you to configure how packages are integrated. For example, in the example above it's used to override the default product type used for packages. By default, you shouldn't need it.\\n\\nThe `Package.swift` file is just an interface to declare external dependencies, nothing else. That's why you don't define any targets or products in the package. Once you have the dependencies defined, you can run the following command to resolve and pull the dependencies into the `Tuist/Dependencies` directory:\\n\\n```bash\\ntuist install\\n# Resolving and fetching dependencies. {#resolving-and-fetching-dependencies}\\n# Installing Swift Package Manager dependencies. {#installing-swift-package-manager-dependencies}\\n```\\n\\nAs you might have noticed, we take an approach similar to [CocoaPods](https://cocoapods.org)', where the resolution of dependencies is its own command. This gives control to the users over when they'd like dependencies to be resolved and updated, and allows opening the Xcode in project and have it ready to compile. This is an area where we believe the developer experience provided by Apple's integration with the Swift Package Manager degrades over time as the project grows.\\n\\nFrom your project targets you can then reference those dependencies using the `TargetDependency.external` dependency type:\\n\\n::: code-group\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"App\\\",\\n organizationName: \\\"tuist.io\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: [.iPhone],\\n product: .app,\\n bundleId: \\\"dev.tuist.app\\\",\\n deploymentTargets: .iOS(\\\"13.0\\\"),\\n infoPlist: .default,\\n sources: [\\\"Targets/App/Sources/**\\\"],\\n dependencies: [\\n .external(name: \\\"Alamofire\\\"), // [!code ++]\\n ]\\n ),\\n ]\\n)\\n```\\n:::\\n\\n> [!NOTE] NO SCHEMES GENERATED FOR EXTERNAL PACKAGES\\n> The **schemes** are not automatically created for Swift Package projects to keep the schemes list clean. You can create them via Xcode's UI.\\n\\n#### Xcode's default integration {#xcodes-default-integration}\\n\\nIf you want to use Xcode's default integration mechanism, you can pass the list `packages` when instantiating a project:\\n\\n```swift\\nlet project = Project(name: \\\"MyProject\\\", packages: [\\n .remote(url: \\\"https://github.com/krzyzanowskim/CryptoSwift\\\", requirement: .exact(\\\"1.8.0\\\"))\\n])\\n```\\n\\nAnd then reference them from your targets:\\n\\n```swift\\nlet target = .target(name: \\\"MyTarget\\\", dependencies: [\\n .package(product: \\\"CryptoSwift\\\", type: .runtime)\\n])\\n```\\n\\nFor Swift Macros and Build Tool Plugins, you'll need to use the types `.macro` and `.plugin` respectively.\\n\\n> [!WARNING] SPM Build Tool Plugins\\n> SPM build tool plugins must be declared using [Xcode's default integration](#xcode-s-default-integration) mechanism, even when using Tuist's [XcodeProj-based integration](#tuist-s-xcodeproj-based-integration) for your project dependencies.\\n\\nA practical application of an SPM build tool plugin is performing code linting during Xcode's \\\"Run Build Tool Plug-ins\\\" build phase. In a package manifest this is defined as follows:\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\nlet package = Package(\\n name: \\\"Framework\\\",\\n products: [\\n .library(name: \\\"Framework\\\", targets: [\\\"Framework\\\"]),\\n ],\\n dependencies: [\\n .package(url: \\\"https://github.com/SimplyDanny/SwiftLintPlugins\\\", .upToNextMajor(from: \\\"0.56.1\\\")),\\n ],\\n targets: [\\n .target(\\n name: \\\"Framework\\\",\\n plugins: [\\n .plugin(name: \\\"SwiftLint\\\", package: \\\"SwiftLintPlugin\\\"),\\n ]\\n ),\\n ]\\n)\\n```\\n\\nTo generate an Xcode project with the build tool plugin intact, you must declare the package in the project manifest's `packages` array, and then include a package with type `.plugin` in a target's dependencies.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"Framework\\\",\\n packages: [\\n .remote(url: \\\"https://github.com/SimplyDanny/SwiftLintPlugins\\\", requirement: .upToNextMajor(from: \\\"0.56.1\\\")),\\n ],\\n targets: [\\n .target(\\n name: \\\"Framework\\\",\\n dependencies: [\\n .package(product: \\\"SwiftLintBuildToolPlugin\\\", type: .plugin),\\n ]\\n ),\\n ]\\n)\\n```\\n\\n### Carthage {#carthage}\\n\\nSince [Carthage](https://github.com/carthage/carthage) outputs `frameworks` or `xcframeworks`, you can run `carthage update` to output the dependencies in the `Carthage/Build` directory and then use the `.framework` or `.xcframework` target dependency type to declare the dependency in your target. You can wrap this in a script that you can run before generating the project.\\n\\n```bash\\n#!/usr/bin/env bash\\n\\ncarthage update\\ntuist generate\\n```\\n\\n> [!WARNING] BUILD AND TEST\\n> If you build and test your project through `tuist build` and `tuist test`, you will similarly need to ensure that the Carthage-resolved dependencies are present by running the `carthage update` command before `tuist build` or `tuist test` are run.\\n\\n### CocoaPods {#cocoapods}\\n\\n[CocoaPods](https://cocoapods.org) expects an Xcode project to integrate the dependencies. You can use Tuist to generate the project, and then run `pod install` to integrate the dependencies by creating a workspace that contains your project and the Pods dependencies. You can wrap this in a script that you can run before generating the project.\\n\\n```bash\\n#!/usr/bin/env bash\\n\\ntuist generate\\npod install\\n```\\n\\n> [!WARNING]\\n> CocoaPods dependencies are not compatible with workflows like `build` or `test` that run `xcodebuild` right after generating the project. They are also incompatible with binary caching and selective testing since the fingerprinting logic doesn't account for the Pods dependencies.\\n\\n## Static or dynamic {#static-or-dynamic}\\n\\nFrameworks and libraries can be linked either statically or dynamically, **a choice that has significant implications for aspects like app size and boot time**. Despite its importance, this decision is often made without much consideration.\\n\\nThe **general rule of thumb** is that you want as many things as possible to be statically linked in release builds to achieve fast boot times, and as many things as possible to be dynamically linked in debug builds to achieve fast iteration times.\\n\\nThe challenge with changing between static and dynamic linking in a project graph is that is not trivial in Xcode because a change has cascading effect on the entire graph (e.g. libraries can't contain resources, static frameworks don't need to be embedded). Apple tried to solve the problem with compile time solutions like Swift Package Manager's automatic decision between static and dynamic linking, or [Mergeable Libraries](https://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries). However, this adds new dynamic variables to the compilation graph, adding new sources of non-determinism, and potentially causing some features like Swift Previews that rely on the compilation graph to become unreliable.\\n\\nLuckily, Tuist conceptually compresses the complexity associated with changing between static and dynamic and synthesizes bundle accessors that are standard across linking types. In combination with dynamic configurations via environment variables, you can pass the linking type at invocation time, and use the value in your manifests to set the product type of your targets.\\n\\n```swift\\n// Use the value returned by this function to set the product type of your targets.\\nfunc productType() -> Product {\\n if case let .string(linking) = Environment.linking {\\n return linking == \\\"static\\\" ? .staticFramework : .framework\\n } else {\\n return .framework\\n }\\n}\\n```\\n\\nNote that Tuist does not default to convenience through implicit configuration due to its costs. What this means is that we rely on you setting the linking type and any additional build settings that are sometimes required, like the [`-ObjC` linker flag](https://github.com/pointfreeco/swift-composable-architecture/discussions/1657#discussioncomment-4119184), to ensure the resulting binaries are correct. Therefore, the stance that we take is providing you with the resources, usually in the shape of documentation, to make the right decisions.\\n\\n> [!TIP] EXAMPLE: COMPOSABLE ARCHITECTURE\\n> A Swift Package that many projects integrate is [Composable Architecture](https://github.com/pointfreeco/swift-composable-architecture). As described [here](https://github.com/pointfreeco/swift-composable-architecture/discussions/1657#discussioncomment-4119184) and the [troubleshooting section](#troubleshooting), you'll need to set the `OTHER_LDFLAGS` build setting to `$(inherited) -ObjC` when linking the packages statically, which is Tuist's default linking type. Alternatively, you can override the product type for the package to be dynamic.\\n\\n### Scenarios {#scenarios}\\n\\nThere are some scenarios where setting the linking entirely to static or dynamic is not feasible or a good idea. The following is a non-exhaustive list of scenarios where you might need to mix static and dynamic linking:\\n\\n- **Apps with extensions:** Since apps and their extensions need to share code, you might need to make those targets dynamic. Otherwise, you'll end up with the same code duplicated in both the app and the extension, causing the binary size to increase.\\n- **Pre-compiled external dependencies:** Sometimes you are provided with pre-compiled binaries that are either static or dynamic. Static binaries can be wrapped in dynamic frameworks or libraries to be linked dynamically.\\n\\nWhen making changes to the graph, Tuist will analyze it and display a warning if it detects a \\\"static side effect\\\". This warning is meant to help you identify issues that might arise from linking a target statically that depends transitively on a static target through dynamic targets. These side effects often manifest as increased binary size or, in the worst cases, runtime crashes.\\n\\n## Troubleshooting {#troubleshooting}\\n\\n### Objective-C Dependencies {#objectivec-dependencies}\\n\\nWhen integrating Objective-C dependencies, the inclusion of certain flags on the consuming target may be necessary to avoid runtime crashes as detailed in [Apple Technical Q&A QA1490](https://developer.apple.com/library/archive/qa/qa1490/_index.html).\\n\\nSince the build system and Tuist have no way of inferring whether the flag is necessary or not, and since the flag comes with potentially undesirable side effects, Tuist will not automatically apply any of these flags, and because Swift Package Manager considers `-ObjC` to be included via an `.unsafeFlag` most packages cannot include it as part of their default linking settings when required.\\n\\nConsumers of Objective-C dependencies (or internal Objective-C targets) should apply `-ObjC` or `-force_load` flags when required by setting `OTHER_LDFLAGS` on consuming targets.\\n\\n### Firebase & Other Google Libraries {#firebase-other-google-libraries}\\n\\nGoogle's open source libraries — while powerful — can be difficult to integrate within Tuist as they often use non-standard architecture and techniques in how they are built.\\n\\nHere are a few tips that may be necessary to follow to integrate Firebase and Google's other Apple-platform libraries:\\n\\n#### Ensure `-ObjC` is added to `OTHER_LDFLAGS` {#ensure-objc-is-added-to-other_ldflags}\\n\\nMany of Google's libraries are written in Objective-C. Because of this, any consuming target will need to include the `-ObjC` tag in its `OTHER_LDFLAGS` build setting. This can either be set in an `.xcconfig` file or manually specified in the target's settings within your Tuist manifests. An example:\\n\\n```swift\\nTarget.target(\\n ...\\n settings: .settings(\\n base: [\\\"OTHER_LDFLAGS\\\": \\\"$(inherited) -ObjC\\\"]\\n )\\n ...\\n)\\n```\\n\\nRefer to the [Objective-C Dependencies](#objective-c-dependencies) section above for more details.\\n\\n#### Set the product type for `FBLPromises` to dynamic framework {#set-the-product-type-for-fblpromises-to-dynamic-framework}\\n\\nCertain Google libraries depend on `FBLPromises`, another of Google's libraries. You may encounter a crash that mentions `FBLPromises`, looking something like this:\\n\\n```\\nNSInvalidArgumentException. Reason: -[FBLPromise HTTPBody]: unrecognized selector sent to instance 0x600000cb2640.\\n```\\n\\nExplicitly setting the product type of `FBLPromises` to `.framework` in your `Package.swift` file should fix the issue:\\n\\n```swift [Tuist/Package.swift]\\n// swift-tools-version: 5.10\\n\\nimport PackageDescription\\n\\n#if TUIST\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n\\nlet packageSettings = PackageSettings(\\n productTypes: [\\n \\\"FBLPromises\\\": .framework,\\n ]\\n)\\n#endif\\n\\nlet package = Package(\\n...\\n```\\n\\n### Transitive static dependencies leaking through `.swiftmodule` {#transitive-static-dependencies-leaking-through-swiftmodule}\\n\\nWhen a dynamic framework or library depends on static ones through `import StaticSwiftModule`, the symbols are included in the `.swiftmodule` of the dynamic framework or library, potentially causing the compilation to fail. To prevent that, you'll have to import the static dependency using `internal import`:\\n\\n```swift\\ninternal import StaticModule\\n```\\n\\n> [!NOTE]\\n> Access level on imports was included in Swift 6. If you're using older versions of Swift, you need to use `@_implementationOnly` instead:\\n\\n```swift\\n@_implementationOnly import StaticModule\\n```\\n\",\"title\":\"Dependencies\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/dependencies\",\"LLMS_URL\":\"/en/guides/features/projects/dependencies.md\",\"title\":\"Dependencies\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to declare dependencies in your Tuist project.\"}},{\"path\":\"/en/guides/features/projects/directory-structure.md\",\"url\":\"/en/guides/features/projects/directory-structure\",\"llmUrl\":\"/en/guides/features/projects/directory-structure.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/directory-structure\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/directory-structure.md\\\"\\ntitle: \\\"Directory structure\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn about the structure of Tuist projects and how to organize them.\\\"\\n---\\n\\n# Directory structure {#directory-structure}\\n\\nAlthough Tuist projects are commonly used to supersede Xcode projects, they are not limited to this use case. Tuist projects are also used to generate other types of projects, such as SPM packages, templates, plugins, and tasks. This document describes the structure of Tuist projects and how to organize them. In later sections, we'll cover how to define templates, plugins, and tasks.\\n\\n## Standard Tuist projects {#standard-tuist-projects}\\n\\nTuist projects are **the most common type of project generated by Tuist.** They are used to build apps, frameworks, and libraries among others. Unlike Xcode projects, Tuist projects are defined in Swift, which makes them more flexible and easier to maintain. Tuist projects are also more declarative, which makes them easier to understand and reason about. The following structure shows a typical Tuist project that generates an Xcode project:\\n\\n```bash\\nTuist.swift\\nTuist/\\n Package.swift\\n ProjectDescriptionHelpers/\\nProjects/\\n App/\\n Project.swift\\n Feature/\\n Project.swift\\nWorkspace.swift\\n```\\n\\n- **Tuist directory:** This directory has two purposes. First, it signals **where the root of the project is**. This allows constructing paths relative to the root of the project, and also running Tuist commands from any directory within the project. Second, it's the container for the following files:\\n - **ProjectDescriptionHelpers:** This directory contains Swift code that's shared across all the manifest files. Manifest files can `import ProjectDescriptionHelpers` to use the code defined in this directory. Sharing code is useful to avoid duplications and ensure consistency across the projects.\\n - **Package.swift:** This file contains Swift Package dependencies for Tuist to integrate them using Xcode projects and targets (like [CocoaPods](https://cococapods)) that are configurable and optimizable. Learn more here.\\n\\n- **Root directory**: The root directory of your project that also contains the `Tuist` directory.\\n - Tuist.swift: This file contains configuration for Tuist that's shared across all the projects, workspaces, and environments. For example, it can be used to disable automatic generation of schemes, or to define the deployment target of the projects.\\n - Workspace.swift: This manifest represents an Xcode workspace. It's used to group other projects and can also add additional files and schemes.\\n - Project.swift: This manifest represents an Xcode project. It's used to define the targets that are part of the project, and their dependencies.\\n\\nWhen interacting with the above project, commands expect to find either a `Workspace.swift` or a `Project.swift` file in the working directory or the directory indicated via the `--path` flag. The manifest should be in a directory or subdirectory of a directory containing a `Tuist` directory, which represents the root of the project.\\n\\n> [!TIP]\\n> Xcode workspaces allowed splitting projects into multiple Xcode projects to reduce the likelihood of merge conflicts. If that's what you were using workspaces for, you don't need them in Tuist. Tuist auto-generates a workspace containing a project and its dependencies' projects.\\n\\n## Swift Package {#swift-package-badge-typewarning-textbeta-}\\n\\nTuist also supports SPM package projects. If you are working on an SPM package, you shouldn't need to update anything. Tuist automatically picks up on your root `Package.swift` and all the features of Tuist work as if it was a `Project.swift` manifest.\\n\\nTo get started, run `tuist install` and `tuist generate` in your SPM package. Your project should now have all the same schemes and files that you would see in the vanilla Xcode SPM integration. However, now you can also run `tuist cache` and have majority of your SPM dependencies and modules precompiled, making subsequent builds extremely fast.\\n\",\"title\":\"Directory structure\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/directory-structure\",\"LLMS_URL\":\"/en/guides/features/projects/directory-structure.md\",\"title\":\"Directory structure\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn about the structure of Tuist projects and how to organize them.\"}},{\"path\":\"/en/guides/features/projects/dynamic-configuration.md\",\"url\":\"/en/guides/features/projects/dynamic-configuration\",\"llmUrl\":\"/en/guides/features/projects/dynamic-configuration.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/dynamic-configuration\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/dynamic-configuration.md\\\"\\ntitle: \\\"Dynamic configuration\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how how to use environment variables to dynamically configure your project.\\\"\\n---\\n\\n# Dynamic configuration {#dynamic-configuration}\\n\\nThere are certain scenarios where you might need to dynamically configure your project at generation time. For example, you might want to change the name of the app, the bundle identifier, or the deployment target based on the environment where the project is being generated. Tuist supports that via environment variables, which can be accessed from the manifest files.\\n\\n## Configuration through environment variables {#configuration-through-environment-variables}\\n\\nTuist allows passing configuration through environment variables that can be accessed from the manifest files. For example:\\n\\n```bash\\nTUIST_APP_NAME=MyApp tuist generate\\n```\\n\\nIf you want to pass multiple environment variables just separate them with a space. For example:\\n\\n```bash\\nTUIST_APP_NAME=MyApp TUIST_APP_LOCALE=pl tuist generate\\n```\\n\\n## Reading the environment variables from manifests {#reading-the-environment-variables-from-manifests}\\n\\nVariables can be accessed using the `Environment` type. Any variables following the convention `TUIST_XXX` defined in the environment or passed to Tuist when running commands will be accessible using the `Environment` type. The following example shows how we access the `TUIST_APP_NAME` variable:\\n\\n```swift\\nfunc appName() -> String {\\n if case let .string(environmentAppName) = Environment.appName {\\n return environmentAppName\\n } else {\\n return \\\"MyApp\\\"\\n }\\n}\\n```\\n\\nAccessing variables returns an instance of type `Environment.Value?` which can take any of the following values:\\n\\n| Case | Description |\\n| --- | --- |\\n| `.string(String)` | Used when the variable represents a string. |\\n\\nYou can also retrieve the string or boolean `Environment` variable using either of the helper methods defined below, these methods require a default value to be passed to ensure the user gets consistent results each time. This avoids the need to define the function appName() defined above.\\n\\n::: code-group\\n\\n```swift [String]\\nEnvironment.appName.getString(default: \\\"TuistServer\\\")\\n```\\n\\n```swift [Boolean]\\nEnvironment.isCI.getBoolean(default: false)\\n```\\n:::\\n\",\"title\":\"Dynamic configuration\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/dynamic-configuration\",\"LLMS_URL\":\"/en/guides/features/projects/dynamic-configuration.md\",\"title\":\"Dynamic configuration\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn how how to use environment variables to dynamically configure your project.\"}},{\"path\":\"/en/guides/features/projects/editing.md\",\"url\":\"/en/guides/features/projects/editing\",\"llmUrl\":\"/en/guides/features/projects/editing.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/editing\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/editing.md\\\"\\ntitle: \\\"Editing\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist's edit workflow to declare your project leveraging Xcode's build system and editor capabilities.\\\"\\n---\\n\\n# Editing {#editing}\\n\\nUnlike traditional Xcode projects or Swift Packages,\\nwhere changes are done through Xcode's UI,\\nTuist-managed projects are defined in Swift code contained in **manifest files**.\\nIf you're familiar with Swift Packages and the `Package.swift` file,\\nthe approach is very similar.\\n\\nYou could edit these files using any text editor,\\nbut we recommend to use Tuist-provided workflow for that,\\n`tuist edit`.\\nThe workflow creates an Xcode project that contains all manifest files and allows you to edit and compile them.\\nThanks to using Xcode,\\nyou get all the benefits of **code completion, syntax highlighting, and error checking**.\\n\\n## Edit the project {#edit-the-project}\\n\\nTo edit your project, you can run the following command in a Tuist project directory or a sub-directory:\\n\\n```bash\\ntuist edit\\n```\\n\\nThe command creates an Xcode project in a global directory and opens it in Xcode.\\nThe project includes a `Manifests` directory that you can build to ensure all your manifests are valid.\\n\\n> [!INFO] GLOB-RESOLVED MANIFESTS\\n> `tuist edit` resolves the manifests to be included by using the glob `**/{Manifest}.swift` from the project's root directory (the one containing the `Tuist.swift` file). Make sure there's a valid `Tuist.swift` at the root of the project.\\n\\n## Edit and generate workflow {#edit-and-generate-workflow}\\n\\nAs you might have noticed, the editing can't be done from the generated Xcode project.\\nThat's by design to prevent the generated project from having a dependency on Tuist,\\nensuring you can move from Tuist in the future with little effort.\\n\\nWhen iterating on a project, we recommend running `tuist edit` from a terminal session to get an Xcode project to edit the project, and use another terminal session to run `tuist generate`.\\n\",\"title\":\"Editing\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/editing\",\"LLMS_URL\":\"/en/guides/features/projects/editing.md\",\"title\":\"Editing\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to use Tuist's edit workflow to declare your project leveraging Xcode's build system and editor capabilities.\"}},{\"path\":\"/en/guides/features/projects/hashing.md\",\"url\":\"/en/guides/features/projects/hashing\",\"llmUrl\":\"/en/guides/features/projects/hashing.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/hashing\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/hashing.md\\\"\\ntitle: \\\"Hashing\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn about Tuist's hashing logic upon which features like binary caching and selective testing are built.\\\"\\n---\\n\\n# Hashing {#hashing}\\n\\nFeatures like caching or selective test execution require a way to determine whether a target has changed. Tuist calculates a hash for each target in the dependency graph to determine if a target has changed. The hash is calculated based on the following attributes:\\n\\n- The target's attributes (e.g., name, platform, product, etc.)\\n- The target's files\\n- The hash of the target's dependencies\\n\\n### Cache attributes {#cache-attributes}\\n\\nAdditionally, when calculating the hash for caching, we also hash the following attributes.\\n\\n#### Swift version {#swift-version}\\n\\nWe hash the Swift version obtained from running the command `/usr/bin/xcrun swift --version` to prevent compilation errors due to Swift version mismatches between the targets and the binaries.\\n\\n> [!NOTE] MODULE STABILITY\\n> Previous versions of binary caching relied on the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting to enable [module stability](https://www.swift.org/blog/library-evolution#enabling-library-evolution-support) and enable using binaries with any compiler version. However, it caused compilation issues in projects with targets that don't support module stability. Generated binaries are bound to the Swift version used to compile them, and the Swift version must match the one used to compile the project.\\n\\n#### Configuration {#configuration}\\n\\nThe idea behind the flag `-configuration` was to ensure debug binaries were not used in release builds and viceversa. However, we are still missing a mechanism to remove the other configurations from the projects to prevent them from being used.\\n\\n## Debugging {#debugging}\\n\\nIf you notice non-deterministic behaviors when using the caching across environments or invocations, it might be related to differences across the environments or a bug in the hashing logic. We recommend following these steps to debug the issue:\\n\\n1. Ensure the same [configuration](#configuration) and [Swift version](#swift-version) is used across environments.\\n2. Check if there are differences between the Xcode projects generated by two consecutive invocations of `tuist generate` or across environments. You can use the `diff` command to compare the projects. The generated projects might include **absolute paths** causing the hashing logic to be non-deterministic.\\n\\n> [!NOTE] BETTER DEBUGGING EXPERIENCE PLANNED\\n> Improving our debugging experience is in our roadmap. The print-hashes command, which lacks the context to understand the differences, will be replaced by a more user-friendly command that uses a tree-like structure to show the differences between the hashes.\\n\",\"title\":\"Hashing\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/hashing\",\"LLMS_URL\":\"/en/guides/features/projects/hashing.md\",\"title\":\"Hashing\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn about Tuist's hashing logic upon which features like binary caching and selective testing are built.\"}},{\"path\":\"/en/guides/features/projects/inspect/implicit-dependencies.md\",\"url\":\"/en/guides/features/projects/inspect/implicit-dependencies\",\"llmUrl\":\"/en/guides/features/projects/inspect/implicit-dependencies.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/inspect/implicit-dependencies\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/inspect/implicit-dependencies.md\\\"\\ntitle: \\\"Implicit imports\\\"\\ntitleTemplate: \\\":title · Inspect · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist to find implicit imports.\\\"\\n---\\n\\n# Implicit imports {#implicit-imports}\\n\\nTo alleviate the complexity of maintaining an Xcode project graph with raw Xcode project, Apple designed the build system in a way that allows dependencies to be implicitly defined. This means that a product, for example an app, can depend on a framework, even without declaring the dependency explicitly. At a small scale, this is is fine, but as the project graph grows in complexity, the implicitness might manifest as unreliable incremental builds or editor-based features such as previews or code completion.\\n\\nThe problem is that you can't prevent implicit dependencies from happening. Any developer can add an `import` statement to their Swift code, and the implicit dependency will be created. This is where Tuist comes in. Tuist provides a command to inspect the implicit dependencies by statically analyzing the code in your project. The following command will output the implicit dependencies of your project:\\n\\n```bash\\ntuist inspect implicit-imports\\n```\\n\\nIf the command detects any implicit imports, it exits with an exit code other than zero.\\n\\n> [!TIP] VALIDATE IN CI\\n> We strongly recommend to run this command as part of your continuous integration command every time new code is pushed upstream.\\n\\n> [!IMPORTANT] NOT ALL IMPLICIT CASES ARE DETECTED\\n> Since Tuist relies on static code analysis to detect implicit dependencies, it might not catch all cases. For example, Tuist is unable to understand conditional imports through compiler directives in code.\\n\",\"title\":\"Implicit imports\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/inspect/implicit-dependencies\",\"LLMS_URL\":\"/en/guides/features/projects/inspect/implicit-dependencies.md\",\"title\":\"Implicit imports\",\"titleTemplate\":\":title · Inspect · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to use Tuist to find implicit imports.\"}},{\"path\":\"/en/guides/features/projects/manifests.md\",\"url\":\"/en/guides/features/projects/manifests\",\"llmUrl\":\"/en/guides/features/projects/manifests.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/manifests\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/manifests.md\\\"\\ntitle: \\\"Manifests\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn about the manifest files that Tuist uses to define projects and workspaces and configure the generation process.\\\"\\n---\\n\\n# Manifests {#manifests}\\n\\nTuist defaults to Swift files as the primary way to define projects and workspaces and configure the generation process. These files are referred to as **manifest files** throughout the documentation.\\n\\nThe decision of using Swift was inspired by the [Swift Package Manager](https://www.swift.org/documentation/package-manager/), which also uses Swift files to define packages. Thanks to the usage of Swift, we can leverage the compiler to validate the correctness of the content and reuse code across different manifest files, and Xcode to provide a first-class editing experience thanks to the syntax highlighting, auto-completion, and validation.\\n\\n> [!NOTE] CACHING\\n> Since manifest files are Swift files that need to be compiled, Tuist caches the compilation results to speed up the parsing process. Therefore, you'll notice that the first time you run Tuist, it might take a bit longer to generate the project. Subsequent runs will be faster.\\n\\n## Project.swift {#projectswift}\\n\\nThe `Project.swift` manifest declares an Xcode project. The project gets generated in the same directory where the manifest file is located with the name indicated in the `name` property.\\n\\n```swift\\n// Project.swift\\nlet project = Project(\\n name: \\\"App\\\",\\n targets: [\\n // ....\\n ]\\n)\\n```\\n\\n\\n> [!WARNING] ROOT VARIABLES\\n> The only variable that should be at the root of the manifest is `let project = Project(...)`. If you need to reuse code across various parts of the manifest, you can use Swift functions.\\n\\n## Workspace.swift {#workspaceswift}\\n\\nBy default, Tuist generates an [Xcode Workspace](https://developer.apple.com/documentation/xcode/projects-and-workspaces) containing the project being generated and the projects of its dependencies. If for any reason you'd like to customize the workspace to add additional projects or include files and groups, you can do so by defining a `Workspace.swift` manifest.\\n\\n```swift\\n// Workspace.swift\\nimport ProjectDescription\\n\\nlet workspace = Workspace(\\n name: \\\"App-Workspace\\\",\\n projects: [\\n \\\"./App\\\", // Path to directory containing the Project.swift file\\n ]\\n)\\n```\\n\\n> [!NOTE]\\n> Tuist will resolve the dependency graph and include the projects of the dependencies in the workspace. You don't need to include them manually. This is necessary for the build system to resolve the dependencies correctly.\\n\\n### Multi or mono-project {#multi-or-monoproject}\\n\\nA question that often comes up is whether to use a single project or multiple projects in a workspace. In a world without Tuist where a mono-project setup would lead to frequent Git conflicts the usage of workspaces is encouraged. However, since we don't recommend including the Tuist-generated Xcode projects in the Git repository, Git conflicts are not an issue. Therefore, the decision of using a single project or multiple projects in a workspace is up to you.\\n\\nIn the Tuist project we lean on mono-projects because the cold generation time is faster (fewer manifest files to compile) and we leverage project description helpers as a unit of encapsulation. However, you might want to use Xcode projects as a unit of encapsulation to represent different domains of your application, which aligns more closely with the Xcode's recommended project structure.\\n\\n## Tuist.swift {#tuistswift}\\n\\nTuist provides sensible defaults to simplify project configuration. However, you can customize the configuration by defining a `Tuist.swift` at the root of the project, which is used by Tuist to determine the root of the project.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(\\n project: .tuist(generationOptions: .options(enforceExplicitDependencies: true))\\n)\\n```\\n\",\"title\":\"Manifests\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/manifests\",\"LLMS_URL\":\"/en/guides/features/projects/manifests.md\",\"title\":\"Manifests\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn about the manifest files that Tuist uses to define projects and workspaces and configure the generation process.\"}},{\"path\":\"/en/guides/features/projects/plugins.md\",\"url\":\"/en/guides/features/projects/plugins\",\"llmUrl\":\"/en/guides/features/projects/plugins.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/plugins\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/plugins.md\\\"\\ntitle: \\\"Plugins\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to create and use plugins in Tuist to extend its functionality.\\\"\\n---\\n\\n# Plugins {#plugins}\\n\\nPlugins are a tool to share and reuse Tuist artifacts across multiple projects. The following artifacts are supported:\\n\\n- Project description helpers across multiple projects.\\n- Templates across multiple projects.\\n- Tasks across multiple projects.\\n- Resource accessor template across multiple projects\\n\\nNote that plugins are designed to be a simple way to extend Tuist's functionality. Therefore there are **some limitations to consider**:\\n\\n- A plugin cannot depend on another plugin.\\n- A plugin cannot depend on third-party Swift packages\\n- A plugin cannot use project description helpers from the project that uses the plugin.\\n\\nIf you need more flexibility, consider suggesting a feature for the tool or building your own solution upon Tuist's generation framework, [`TuistGenerator`](https://github.com/tuist/tuist/tree/main/Sources/TuistGenerator).\\n\\n## Plugin types {#plugin-types}\\n\\n### Project description helper plugin {#project-description-helper-plugin}\\n\\nA project description helper plugin is represented by a directory containing a `Plugin.swift` manifest file that declares the plugin's name and a `ProjectDescriptionHelpers` directory containing the helper Swift files.\\n\\n::: code-group\\n```bash [Plugin.swift]\\nimport ProjectDescription\\n\\nlet plugin = Plugin(name: \\\"MyPlugin\\\")\\n```\\n```bash [Directory structure]\\n.\\n├── ...\\n├── Plugin.swift\\n├── ProjectDescriptionHelpers\\n└── ...\\n```\\n:::\\n\\n### Resource accessor templates plugin {#resource-accessor-templates-plugin}\\n\\nIf you need to share synthesized resource accessors you can use\\nthis type of plugin. The plugin is represented by a directory containing a `Plugin.swift` manifest file that declares the plugin's name and a `ResourceSynthesizers` directory containing the resource accessor template files.\\n\\n\\n::: code-group\\n```bash [Plugin.swift]\\nimport ProjectDescription\\n\\nlet plugin = Plugin(name: \\\"MyPlugin\\\")\\n```\\n```bash [Directory structure]\\n.\\n├── ...\\n├── Plugin.swift\\n├── ResourceSynthesizers\\n├───── Strings.stencil\\n├───── Plists.stencil\\n├───── CustomTemplate.stencil\\n└── ...\\n```\\n:::\\n\\nThe name of the template is the [camel case](https://en.wikipedia.org/wiki/Camel_case) version of the resource type:\\n\\n| Resource type | Template file name |\\n| ------------- | ------------------ |\\n| Strings | Strings.stencil |\\n| Assets | Assets.stencil |\\n| Property Lists | Plists.stencil |\\n| Fonts | Fonts.stencil |\\n| Core Data | CoreData.stencil |\\n| Interface Builder | InterfaceBuilder.stencil |\\n| JSON | JSON.stencil |\\n| YAML | YAML.stencil |\\n\\nWhen defining the resource synthesizers in the project, you can specify the plugin name to use the templates from the plugin:\\n\\n```swift\\nlet project = Project(resourceSynthesizers: [.strings(plugin: \\\"MyPlugin\\\")])\\n```\\n\\n### Task plugin {#task-plugin-badge-typewarning-textdeprecated-}\\n\\n> [!WARNING] DEPRECATED\\n> Task plugins are deprecated. Check out [this blog post](https://tuist.dev/blog/2025/04/15/automation-in-swift-projects) if you are looking for an automation solution for your project.\\n\\nTasks are `$PATH`-exposed executables that are invocable through the `tuist` command if they follow the naming convention `tuist-`. In earlier versions, Tuist provided some weak conventions and tools under `tuist plugin` to `build`, `run`, `test` and `archive` tasks represented by executables in Swift Packages, but we have deprecated this feature since it increases the maintenance burden and complexity of the tool.\\n\\nIf you were using Tuist for distributing tasks, we recommend building your\\n- You can continue using the `ProjectAutomation.xcframework` distributed with every Tuist release to have access to the project graph from your logic with `let graph = try Tuist.graph()`. The command uses sytem process to run the `tuist` command, and return the in-memory representation of the project graph.\\n- To distribute tasks, we recommend including the a fat binary that supports the `arm64` and `x86_64` in GitHub releases, and using [Mise](https://mise.jdx.dev) as an installation tool. To instruct Mise on how to install your tool, you'll need a plugin repository. You can use [Tuist's](https://github.com/asdf-community/asdf-tuist) as a reference.\\n- If you name your tool `tuist-{xxx}` and users can install it by running `mise install`, they can run it either invoking it directly, or through `tuist xxx`.\\n\\n> [!NOTE] THE FUTURE OF PROJECTAUTOMATION\\n> We plan to consolidate the models of `ProjectAutomation` and `XcodeGraph` into a single backward-compatible framework that exposes the entirity of the project graph to the user. Moreover, we'll extract the generation logic into a new layer, `XcodeGraph` that you can also use from your own CLI. Think of it as building your own Tuist.\\n\\n## Using plugins {#using-plugins}\\n\\nTo use a plugin, you'll have to add it to your project's `Tuist.swift` manifest file:\\n\\n```swift\\nimport ProjectDescription\\n\\n\\nlet tuist = Tuist(\\n project: .tuist(plugins: [\\n .local(path: \\\"/Plugins/MyPlugin\\\")\\n ])\\n)\\n```\\n\\nIf you want to reuse a plugin across projects that live in different repositories, you can push your plugin to a Git repository and reference it in the `Tuist.swift` file:\\n\\n```swift\\nimport ProjectDescription\\n\\n\\nlet tuist = Tuist(\\n project: .tuist(plugins: [\\n .git(url: \\\"https://url/to/plugin.git\\\", tag: \\\"1.0.0\\\"),\\n .git(url: \\\"https://url/to/plugin.git\\\", sha: \\\"e34c5ba\\\")\\n ])\\n)\\n```\\n\\nAfter adding the plugins, `tuist install` will fetch the plugins in a global cache directory.\\n\\n> [!NOTE] NO VERSION RESOLUTION\\n> As you might have noted, we don't provide version resolution for plugins. We recommend using Git tags or SHAs to ensure reproducibility.\\n\\n> [!TIP] PROJECT DESCRIPTION HELPERS PLUGINS\\n> When using a project description helpers plugin, the name of the module that contains the helpers is the name of the plugin\\n> ```swift\\n> import ProjectDescription\\n> import MyTuistPlugin\\n> let project = Project.app(name: \\\"MyCoolApp\\\", platform: .iOS)\\n> ```\\n\",\"title\":\"Plugins\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/plugins\",\"LLMS_URL\":\"/en/guides/features/projects/plugins.md\",\"title\":\"Plugins\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to create and use plugins in Tuist to extend its functionality.\"}},{\"path\":\"/en/guides/features/projects/synthesized-files.md\",\"url\":\"/en/guides/features/projects/synthesized-files\",\"llmUrl\":\"/en/guides/features/projects/synthesized-files.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/synthesized-files\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/synthesized-files.md\\\"\\ntitle: \\\"Synthesized files\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn about synthesized files in Tuist projects.\\\"\\n---\\n\\n# Synthesized files {#synthesized-files}\\n\\nTuist can generate files and code at generation-time to bring some convenience to managing and working with Xcode projects. In this page you'll learn about this functionality, and how you can use it in your projects.\\n\\n## Target resources {#target-resources}\\n\\nXcode projects support adding resources to targets. However, they present teams with a few challenges, specially when working with a modular project where sources and resources are often moved around:\\n\\n- **Inconsistent runtime access**: Where the resources end up in the final product and how you access them depends on the target product. For example, if your target represents an application, the resources are copied to the application bundle. This leads to code accessing the resources that makes assumptions on the bundle structure, which is not ideal because it makes the code harder to reason about and the resources to move around.\\n- **Products that don't support resources**: There are certain products like static libraries that are not bundles and therefore don't support resources. Because of that, you either have to resort to a different product type, for example frameworks, that might add some overhead on your project or app. For example, static frameworks will be linked statically to the final product, and a build phase is required to only copy the resources to the final product. Or dynamic frameworks, where Xcode will copy both the binary and the resources into the final product, but it'll increase the startup time of your app because the framework needs to be loaded dynamically.\\n- **Prone to runtime errors**: Resources are identified by their name and extension (strings). Therefore, a typo in any of those will lead to a runtime error when trying to access the resource. This is not ideal because it's not caught at compile time and might lead to crashes in release.\\n\\nTuist solves the problems above by **synthesizing a unified interface to access bundles and resources** that abstracts away the implementation details.\\n\\n> [!IMPORTANT] RECOMMENDED\\n> Even though accessing resources through the Tuist-synthesized interface is not mandatory, we recommend it because it makes the code easier to reason about and the resources to move around.\\n\\n## Resources {#resources}\\n\\nTuist provides interfaces to declare the content of files such as `Info.plist` or entitlements in Swift.\\nThis is useful to ensure consistency across targets and projects,\\nand leverage the compiler to catch issues at compile time.\\nYou can also come up with your own abstractions to model the content and share it across targets and projects.\\n\\nWhen your project is generated,\\nTuist will synthesize the content of those files and write them into the `Derived` directory relative to the directory containing the project that defines them.\\n\\n> [!TIP] GITIGNORE THE DERIVED DIRECTORY\\n> We recommend adding the `Derived` directory to the `.gitignore` file of your project.\\n\\n## Bundle accessors {#bundle-accessors}\\n\\nTuist synthesizes an interface to access the bundle that contains the target resources.\\n\\n### Swift {#swift}\\n\\nThe target will contain an extension of the `Bundle` type that exposes the bundle:\\n\\n```swift\\nlet bundle = Bundle.module\\n```\\n\\n### Objective-C {#objectivec}\\n\\nIn Objective-C, you'll get an interface `{Target}Resources` to access the bundle:\\n\\n```objc\\nNSBundle *bundle = [MyFeatureResources bundle];\\n```\\n\\n> [!WARNING] LIMITATION WITH INTERNAL TARGETS\\n> Currently, Tuist does not generate resource bundle accessors for internal targets that contain only Objective-C sources. This is a known limitation tracked in [issue #6456](https://github.com/tuist/tuist/issues/6456).\\n\\n> [!TIP] SUPPORTING RESOURCES IN LIBRARIES THROUGH BUNDLES\\n> If a target product, for example a library, doesn't support resources, Tuist will include the resources in a target of product type `bundle` ensuring that it ends up in the final product and that the interface points to the right bundle.\\n\\n## Resource accessors {#resource-accessors}\\n\\nResources are identified by their name and extension using strings. This is not ideal because it's not caught at compile time and might lead to crashes in release. To prevent that, Tuist integrates [SwiftGen](https://github.com/SwiftGen/SwiftGen) into the project generation process to synthesize an interface to access the resources. Thanks to that, you can confidently access the resources leveraging the compiler to catch any issues.\\n\\nTuist includes [templates](https://github.com/tuist/tuist/tree/main/Sources/TuistGenerator/Templates) to synthesize accessors for the following resource types by default:\\n\\n| Resource type | Synthesized file |\\n| --- | ---- |\\n| Images and colors | `Assets+{Target}.swift` |\\n| Strings | `Strings+{Target}.swift` |\\n| Plists | `{NameOfPlist}.swift` |\\n| Fonts | `Fonts+{Target}.swift` |\\n| Files | `Files+{Target}.swift` |\\n\\n> Note: You can disable the synthesizing of resource accessors on a per-project basis by passing the `disableSynthesizedResourceAccessors` option to the project options.\\n\\n#### Custom templates {#custom-templates}\\n\\nIf you want to provide your own templates to synthesize accessors to other resource types,\\nwhich must be supported by [SwiftGen](https://github.com/SwiftGen/SwiftGen),\\nyou can create them at `Tuist/ResourceSynthesizers/{name}.stencil`,\\nwhere the name is the camel-case version of the resource.\\n\\n| Resource | Template name |\\n| --- | --- |\\n| strings | `Strings.stencil` |\\n| assets | `Assets.stencil` |\\n| plists | `Plists.stencil` |\\n| fonts | `Fonts.stencil` |\\n| coreData | `CoreData.stencil` |\\n| interfaceBuilder | `InterfaceBuilder.stencil` |\\n| json | `JSON.stencil` |\\n| yaml | `YAML.stencil` |\\n| files | `Files.stencil` |\\n\\nIf you want to configure the list of resource types to synthesize accessors for,\\nyou can use the `Project.resourceSynthesizers` property passing the list of resource synthesizers you want to use:\\n\\n```swift\\nlet project = Project(resourceSynthesizers: [.string(), .fonts()])\\n```\\n\\n> [!NOTE] REFERENCE\\n> You can check out [this fixture](https://github.com/tuist/tuist/tree/main/cli/Fixtures/ios_app_with_templates) to see an example of how to use custom templates to synthesize accessors to resources.\\n\",\"title\":\"Synthesized files\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/synthesized-files\",\"LLMS_URL\":\"/en/guides/features/projects/synthesized-files.md\",\"title\":\"Synthesized files\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn about synthesized files in Tuist projects.\"}},{\"path\":\"/en/guides/features/projects/templates.md\",\"url\":\"/en/guides/features/projects/templates\",\"llmUrl\":\"/en/guides/features/projects/templates.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/templates\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/templates.md\\\"\\ntitle: \\\"Templates\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to create and use templates in Tuist to generate code in your projects.\\\"\\n---\\n\\n# Templates {#templates}\\n\\nIn projects with an established architecture, developers might want to bootstrap new components or features that are consistent with the project. With `tuist scaffold` you can generate files from a template. You can define your own templates or use the ones that are vendored with Tuist. These are some scenarios where scaffolding might be useful:\\n\\n- Create a new feature that follows a given architecture: `tuist scaffold viper --name MyFeature`.\\n- Create new projects: `tuist scaffold feature-project --name Home`\\n\\n> [!NOTE] NON-OPINIONATED\\n> Tuist is not opinionated about the content of your templates, and what you use them for. They are only required to be in a specific directory.\\n\\n## Defining a template {#defining-a-template}\\n\\nTo define templates, you can run `tuist edit` and then create a directory called `name_of_template` under `Tuist/Templates` that represents your template. Templates need a manifest file, `name_of_template.swift` that describes the template. So if you are creating a template called `framework`, you should create a new directory `framework` at `Tuist/Templates` with a manifest file called `framework.swift` that could look like this:\\n\\n\\n```swift\\nimport ProjectDescription\\n\\nlet nameAttribute: Template.Attribute = .required(\\\"name\\\")\\n\\nlet template = Template(\\n description: \\\"Custom template\\\",\\n attributes: [\\n nameAttribute,\\n .optional(\\\"platform\\\", default: \\\"ios\\\"),\\n ],\\n items: [\\n .string(\\n path: \\\"Project.swift\\\",\\n contents: \\\"My template contents of name \\\\(nameAttribute)\\\"\\n ),\\n .file(\\n path: \\\"generated/Up.swift\\\",\\n templatePath: \\\"generate.stencil\\\"\\n ),\\n .directory(\\n path: \\\"destinationFolder\\\",\\n sourcePath: \\\"sourceFolder\\\"\\n ),\\n ]\\n)\\n```\\n\\n## Using a template {#using-a-template}\\n\\nAfter defining the template, we can use it from the `scaffold` command:\\n\\n```bash\\ntuist scaffold name_of_template --name Name --platform macos\\n```\\n\\n> [!NOTE]\\n> Since platform is an optional argument, we can also call the command without the `--platform macos` argument.\\n\\nIf `.string` and `.files` don't provide enough flexibility, you can leverage the [Stencil](https://stencil.fuller.li/en/latest/) templating language via the `.file` case. Besides that, you can also use additional filters defined here.\\n\\nUsing string interpolation, `\\\\(nameAttribute)` above would resolve to `{{ name }}`. If you'd like to use Stencil filters in the template definition, you can use that interpolation manually and add any filters you like. For example, you might use `{ { name | lowercase } }` instead of `\\\\(nameAttribute)` to get the lowercased value of the name attribute.\\n\\nYou can also use `.directory` which gives the possibility to copy entire folders to a given path.\\n\\n> [!TIP] PROJECT DESCRIPTION HELPERS\\n> Templates support the use of project description helpers to reuse code across templates.\\n\",\"title\":\"Templates\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/templates\",\"LLMS_URL\":\"/en/guides/features/projects/templates.md\",\"title\":\"Templates\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn how to create and use templates in Tuist to generate code in your projects.\"}},{\"path\":\"/en/guides/features/projects/tma-architecture.md\",\"url\":\"/en/guides/features/projects/tma-architecture\",\"llmUrl\":\"/en/guides/features/projects/tma-architecture.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/projects/tma-architecture\\\"\\nLLMS_URL: \\\"/en/guides/features/projects/tma-architecture.md\\\"\\ntitle: \\\"The Modular Architecture (TMA)\\\"\\ntitleTemplate: \\\":title · Projects · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn about The Modular Architecture (TMA) and how to structure your projects using it.\\\"\\n---\\n\\n# The Modular Architecture (TMA) {#the-modular-architecture-tma}\\n\\nTMA is an architectural approach to structure Apple OS applications to enable scalability, optimize build and test cycles, and ensure good practices in your team. Its core idea is to build your apps by building independent features that are interconnected using clear and concise APIs.\\n\\nThese guidelines introduce the principles of the architecture, helping you identify and organize your application features in different layers. It also introduces tips, tools, and advice if you decide to use this architecture.\\n\\n> [!INFO] µFEATURES\\n> This architecture was previously known as µFeatures. We've renamed it to The Modular Architecture (TMA) to better reflect its purpose and the principles behind it.\\n\\n## Core principle {#core-principle}\\n\\nDevelopers should be able to **build, test, and try** their features fast, independently of the main app, and while ensuring Xcode features like UI previews, code completion, and debugging work reliably.\\n\\n## What is a module {#what-is-a-module}\\n\\nA module represents an application feature and is a combination of the following five targets (where target referts to an Xcode target):\\n\\n- **Source:** Contains the feature source code (Swift, Objective-C, C++, JavaScript...) and its resources (images, fonts, storyboards, xibs).\\n- **Interface:** It's a companion target that contains the public interface and models of the feature.\\n- **Tests:** Contains the feature unit and integration tests.\\n- **Testing:** Provides testing data that can be used in tests and the example app. It also provides mocks for module classes and protocols that can be used by other features as we'll see later.\\n- **Example:** Contains an example app that developers can use to try out the feature under certain conditions (different languages, screen sizes, settings).\\n\\nWe recommend following a naming convention for targets, something that you can enforce in your project thanks to Tuist's DSL.\\n\\n| Target | Dependencies | Content |\\n| ---- | ---- | ---- |\\n| `Feature` | `FeatureInterface` | Source code and resources |\\n| `FeatureInterface` | - | Public interface and models |\\n| `FeatureTests` | `Feature`, `FeatureTesting` | Unit and integration tests |\\n| `FeatureTesting` | `FeatureInterface` | Testing data and mocks |\\n| `FeatureExample` | `FeatureTesting`, `Feature` | Example app |\\n\\n> [!TIP] UI Previews\\n> `Feature` can use `FeatureTesting` as a Development Asset to allow for UI previews\\n\\n> [!IMPORTANT] COMPILER DIRECTIVES INSTEAD OF TESTING TARGETS\\n> Alternatively, you can use compiler directives to include test data and mocks in the `Feature` or `FeatureInterface` targets when compiling for `Debug`. You simplify the graph, but you'll end up compiling code that you won't need for running the app.\\n\\n## Why a module {#why-a-module}\\n\\n### Clear and concise APIs {#clear-and-concise-apis}\\n\\nWhen all the app source code lives in the same target it is very easy to build implicit dependencies in code and end up with the so well-known spaghetti code. Everything is strongly coupled, the state is sometimes unpredictable, and introducing new changes become a nightmare. When we define features in independent targets we need to design public APIs as part of our feature implementation. We need to decide what should be public, how our feature should be consumed, what should remain private. We have more control over how we want our feature clients to use the feature and we can enforce good practices by designing safe APIs.\\n\\n### Small modules {#small-modules}\\n\\n[Divide and conquer](https://en.wikipedia.org/wiki/Divide_and_conquer). Working in small modules allows you to have more focus and test and try the feature in isolation. Moreover, development cycles are much faster since we have a more selective compilation, compiling only the components that are necessary to get our feature working. The compilation of the whole app is only necessary at the very end of our work, when we need to integrate the feature into the app.\\n\\n### Reusability {#reusability}\\n\\nReusing code across apps and other products like extensions is encouraged using frameworks or libraries. By building modules reusing them is pretty straightforward. We can build an iMessage extension, a Today Extension, or a watchOS application by just combining existing modules and adding _(when necessary)_ platform-specific UI layers.\\n\\n## Dependencies {#dependencies}\\n\\nWhen a module depends on another module, it declares a dependency against its interface target. The benefit of this is two-fold. It prevents the implementation of a module to be coupled to the implementation of another module, and it speeds up clean builds because they only have to compile the implementation of our feature, and the interfaces of direct and transitive dependencies. This approach is inspired by SwiftRock's idea of [Reducing iOS Build Times by using Interface Modules](https://swiftrocks.com/reducing-ios-build-times-by-using-interface-targets).\\n\\nDepending on interfaces requires apps to build the graph of implementations at runtime, and dependency-inject it into the modules that need it. Although TMA is non-opinionated about how to do this, we recommend using dependency-injection solutions or patterns or solutions that don't add built-time indirections or use platform APIs that were not designed for this purpose.\\n\\n## Product types {#product-types}\\n\\nWhen building a module, you can choose between **libraries and frameworks**, and **static and dynamic linking** for the targets. Without Tuist, making this decision is a bit more complex because you need to configure the dependency graph manually. However, thanks to Tuist Projects, this is no longer a problem.\\n\\nWe recommend using dynamic libraries or frameworks during development using bundle accessors to decouple the bundle-accessing logic from the library or framework nature of the target. This is key for fast compilation times and to ensure [SwiftUI Previews](https://developer.apple.com/documentation/swiftui/previews-in-xcode) work reliably. And static libraries or frameworks for the release builds to ensure the app boots fast. You can leverage dynamic configuration to change the product type at generation-time:\\n\\n```bash\\n# You'll have to read the value of the variable from the manifest {#youll-have-to-read-the-value-of-the-variable-from-the-manifest}\\n# and use it to change the linking type {#and-use-it-to-change-the-linking-type}\\nTUIST_PRODUCT_TYPE=static-library tuist generate\\n```\\n\\n```swift\\n// You can place this in your manifest files or helpers\\n// and use the returned value when instantiating targets.\\nfunc productType() -> Product {\\n if case let .string(productType) = Environment.productType {\\n return productType == \\\"static-library\\\" ? .staticLibrary : .framework\\n } else {\\n return .framework\\n }\\n}\\n```\\n\\n\\n> [!IMPORTANT] MERGEABLE LIBRARIES\\n> Apple attempted to alleviate the cumbersomeness of switching between static and dynamic libraries by introducing [mergeable libraries](https://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries). However, that introduces build-time non-determinism that makes your build non-reproducible and harder to optimize so we don't recommend using it.\\n\\n## Code {#code}\\n\\nTMA is non-opinionated about the code architecture and patterns for your modules. However, we'd like to share some tips based on our experience:\\n\\n- **Leveraging the compiler is great.** Over-leveraging the compiler might end up being non-productive and cause some Xcode features like previews to work unreliably. We recommend using the compiler to enforce good practices and catch errors early, but not to the point that it makes the code harder to read and maintain.\\n- **Use Swift Macros sparingly.** They can be very powerful but can also make the code harder to read and maintain.\\n- **Embrace the platform and the language, don't abstract them.** Trying to come up with ellaborated abstraction layers might end up being counterproductive. The platform and the language are powerful enough to build great apps without the need for additional abstraction layers. Use good programming and design patterns as a reference to build your features.\\n\\n\\n## Resources {#resources}\\n\\n- [Building µFeatures](https://speakerdeck.com/pepibumur/building-ufeatures)\\n- [Framework Oriented Programming](https://speakerdeck.com/pepibumur/framework-oriented-programming-mobilization-dot-pl)\\n- [A Journey into frameworks and Swift](https://speakerdeck.com/pepibumur/a-journey-into-frameworks-and-swift)\\n- [Leveraging frameworks to speed up our development on iOS - Part 1](https://developers.soundcloud.com/blog/leveraging-frameworks-to-speed-up-our-development-on-ios-part-1)\\n- [Library Oriented Programming](https://academy.realm.io/posts/justin-spahr-summers-library-oriented-programming/)\\n- [Building Modern Frameworks](https://developer.apple.com/videos/play/wwdc2014/416/)\\n- [The Unofficial Guide to xcconfig files](https://pewpewthespells.com/blog/xcconfig_guide.html)\\n- [Static and Dynamic Libraries](https://pewpewthespells.com/blog/static_and_dynamic_libraries.html)\\n\",\"title\":\"The Modular Architecture (TMA)\",\"frontmatter\":{\"URL\":\"/en/guides/features/projects/tma-architecture\",\"LLMS_URL\":\"/en/guides/features/projects/tma-architecture.md\",\"title\":\"The Modular Architecture (TMA)\",\"titleTemplate\":\":title · Projects · Features · Guides · Tuist\",\"description\":\"Learn about The Modular Architecture (TMA) and how to structure your projects using it.\"}},{\"path\":\"/en/guides/features/registry.md\",\"url\":\"/en/guides/features/registry\",\"llmUrl\":\"/en/guides/features/registry.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/registry\\\"\\nLLMS_URL: \\\"/en/guides/features/registry.md\\\"\\ntitle: \\\"Registry\\\"\\ntitleTemplate: \\\":title · Features · Guides · Tuist\\\"\\ndescription: \\\"Optimize your Swift package resolution times by leveraging the Tuist Registry.\\\"\\n---\\n\\n# Registry {#registry}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n> - A Tuist account and project\\n\\nAs the number of dependencies grows, so does the time to resolve them. While other package managers like [CocoaPods](https://cocoapods.org/) or [npm](https://www.npmjs.com/) are centralized, Swift Package Manager is not. Because of that, SwiftPM needs to resolve dependencies by doing a deep clone of each repository, which can be time-consuming and takes up more memory than a centralized approach would. To address this, Tuist provides an implementation of the [Package Registry](https://github.com/swiftlang/swift-package-manager/blob/main/Documentation/PackageRegistry/PackageRegistryUsage.md), so you can download only the commits you _actually need_. The packages in the registry are based on the [Swift Package Index](https://swiftpackageindex.com/) – if you can find a package there, the package is also available in the Tuist Registry. Additionally, the packages are distributed across the globe using an edge storage for minimum latency when resolving them.\\n\\n## Usage {#usage}\\n\\nTo set up and log in to the registry, run the following command in your project's directory:\\n\\n```bash\\ntuist registry setup\\n```\\n\\nThis command generates a registry configuration files and logs you in to the registry. To ensure the rest of your team can access the registry, ensure the generated files is committed and that your team members run the following command to log in:\\n\\n```bash\\ntuist registry login\\n```\\n\\nNow you can access the registry! To resolve dependencies from the registry instead of from source control, continue reading based on your project setup:\\n- Xcode project\\n- Generated project with the Xcode package integration\\n- Generated project with the XcodeProj-based package integration\\n- Swift package\\n\\nTo set up the registry on the CI, follow this guide: Continuous integration.\\n\\n### Package registry identifiers {#package-registry-identifiers}\\n\\nWhen you use package registry identifiers in a `Package.swift` or `Project.swift` file, you need to convert the URL of the package to the registry convention. The registry identifier is always in the form of `{organization}.{repository}`. For example, to use the registry for the `https://github.com/pointfreeco/swift-composable-architecture` package, the package registry identifier would be `pointfreeco.swift-composable-architecture`.\\n\\n> [!NOTE]\\n> The identifier can't contain more than one dot. If the repository name contains a dot, it's replaced with an underscore.\\n> For example, the `https://github.com/groue/GRDB.swift` package would have the registry identifier `groue.GRDB_swift`.\\n\",\"title\":\"Registry\",\"frontmatter\":{\"URL\":\"/en/guides/features/registry\",\"LLMS_URL\":\"/en/guides/features/registry.md\",\"title\":\"Registry\",\"titleTemplate\":\":title · Features · Guides · Tuist\",\"description\":\"Optimize your Swift package resolution times by leveraging the Tuist Registry.\"}},{\"path\":\"/en/guides/features/registry/continuous-integration.md\",\"url\":\"/en/guides/features/registry/continuous-integration\",\"llmUrl\":\"/en/guides/features/registry/continuous-integration.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/registry/continuous-integration\\\"\\nLLMS_URL: \\\"/en/guides/features/registry/continuous-integration.md\\\"\\ntitle: \\\"Continuous integration\\\"\\ntitleTemplate: \\\":title · Registry · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in continuous integration.\\\"\\n---\\n\\n# Continuous Integration (CI) {#continuous-integration-ci}\\n\\nTo use the registry on your CI, you need to ensure that you have logged in to the registry by running `tuist registry login` as part of your workflow.\\n\\n> [!NOTE] ONLY XCODE INTEGRATION\\n> Creating a new pre-unlocked keychain is required only if you are using the Xcode integration of packages.\\n\\nSince the registry credentials are stored in a keychain, you need to ensure the keychain can be accessed in the CI environment. Note some CI providers or automation tools like [Fastlane](https://fastlane.tools/) already create a temporary keychain or provide a built-in way how to create one. However, you can also create one by creating a custom step with the following code:\\n```bash\\nTMP_DIRECTORY=$(mktemp -d)\\nKEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain\\nKEYCHAIN_PASSWORD=$(uuidgen)\\nsecurity create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\nsecurity set-keychain-settings -lut 21600 $KEYCHAIN_PATH\\nsecurity default-keychain -s $KEYCHAIN_PATH\\nsecurity unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n```\\n\\n`tuist registry login` will then store the credentials in the default keychain. Ensure that your default keychain is created and unlocked _before_ `tuist registry login` is run.\\n\\nAdditionally, you need to ensure the `TUIST_CONFIG_TOKEN` environment variable is set. You can create one by following the documentation here.\\n\\nAn example workflow for GitHub Actions could then look like this:\\n```yaml\\nname: Build\\n\\njobs:\\n build:\\n steps:\\n - # Your set up steps...\\n - name: Create keychain\\n run: |\\n TMP_DIRECTORY=$(mktemp -d)\\n KEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain\\n KEYCHAIN_PASSWORD=$(uuidgen)\\n security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n security set-keychain-settings -lut 21600 $KEYCHAIN_PATH\\n security default-keychain -s $KEYCHAIN_PATH\\n security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n - name: Log in to the Tuist Registry\\n env:\\n TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}\\n run: tuist registry login\\n - # Your build steps\\n```\\n\\n### Incremental resolution across environments {#incremental-resolution-across-environments}\\n\\nClean/cold resolutions are slightly faster with our registry, and you can experience even greater improvements if you persist the resolved dependencies across CI builds. Note that thanks to the registry, the size of the directory that you need to store and restore is much smaller than without the registry, taking significantly less time.\\nTo cache dependencies when using the default Xcode package integration, the best way is to specify a custom `-clonedSourcePackagesDirPath` when resolving dependencies via `xcodebuild`, such as:\\n```sh\\nxcodebuild -resolvePackageDependencies -clonedSourcePackagesDirPath .build\\n```\\n\\nAdditionally, you will need to find a path of the `Package.resolved`. You can grab the path by running `ls **/Package.resolved`. The path should look something like `App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved`.\\n\\nFor Swift packages and the XcodeProj-based integration, we can use the default `.build` directory located either in the root of the project or in the `Tuist` directory. Make sure the path is correct when setting up your pipeline.\\n\\nHere's an example workflow for GitHub Actions for resolving and caching dependencies when using the default Xcode package integration:\\n```yaml\\n- name: Restore cache\\n id: cache-restore\\n uses: actions/cache/restore@v4\\n with:\\n path: .build\\n key: ${{ runner.os }}-${{ hashFiles('App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved') }}\\n restore-keys: .build\\n- name: Resolve dependencies\\n if: steps.cache-restore.outputs.cache-hit != 'true'\\n run: xcodebuild -resolvePackageDependencies -clonedSourcePackagesDirPath .build\\n- name: Save cache\\n id: cache-save\\n uses: actions/cache/save@v4\\n with:\\n path: .build\\n key: ${{ steps.cache-restore.outputs.cache-primary-key }}\\n```\\n\",\"title\":\"Continuous integration\",\"frontmatter\":{\"URL\":\"/en/guides/features/registry/continuous-integration\",\"LLMS_URL\":\"/en/guides/features/registry/continuous-integration.md\",\"title\":\"Continuous integration\",\"titleTemplate\":\":title · Registry · Features · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in continuous integration.\"}},{\"path\":\"/en/guides/features/registry/generated-project.md\",\"url\":\"/en/guides/features/registry/generated-project\",\"llmUrl\":\"/en/guides/features/registry/generated-project.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/registry/generated-project\\\"\\nLLMS_URL: \\\"/en/guides/features/registry/generated-project.md\\\"\\ntitle: \\\"Generated project with the Xcode package integration\\\"\\ntitleTemplate: \\\":title · Registry · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in a generated Xcode project with the Xcode package integration.\\\"\\n---\\n\\n# Generated project with the Xcode package integration {#generated-project-with-xcode-based-integration}\\n\\nIf you are using the Xcode's default integration of packages with Tuist Projects, you need to use the registry identifier instead of a URL when adding a package:\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n packages: [\\n // Source control resolution\\n // .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n // Registry resolution\\n .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n ],\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n product: .app,\\n bundleId: \\\"dev.tuist.App\\\",\\n dependencies: [\\n .package(product: \\\"ComposableArchitecture\\\"),\\n ]\\n )\\n ]\\n)\\n```\\n\",\"title\":\"Generated project with the Xcode package integration\",\"frontmatter\":{\"URL\":\"/en/guides/features/registry/generated-project\",\"LLMS_URL\":\"/en/guides/features/registry/generated-project.md\",\"title\":\"Generated project with the Xcode package integration\",\"titleTemplate\":\":title · Registry · Features · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in a generated Xcode project with the Xcode package integration.\"}},{\"path\":\"/en/guides/features/registry/swift-package.md\",\"url\":\"/en/guides/features/registry/swift-package\",\"llmUrl\":\"/en/guides/features/registry/swift-package.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/registry/swift-package\\\"\\nLLMS_URL: \\\"/en/guides/features/registry/swift-package.md\\\"\\ntitle: \\\"Swift package\\\"\\ntitleTemplate: \\\":title · Registry · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in a Swift package.\\\"\\n---\\n\\n# Swift package {#swift-package}\\n\\nIf you are working on a Swift package, you can use the `--replace-scm-with-registry` flag to resolve dependencies from the registry if they are available:\\n\\n```bash\\nswift package --replace-scm-with-registry resolve\\n```\\n\\nIf you want to ensure that the registry is used every time you resolve dependencies, you will need to update `dependencies` in your `Package.swift` file to use the registry identifier instead of a URL. The registry identifier is always in the form of `{organization}.{repository}`. For example, to use the registry for the `swift-composable-architecture` package, do the following:\\n```diff\\ndependencies: [\\n- .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n+ .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n]\\n```\\n\",\"title\":\"Swift package\",\"frontmatter\":{\"URL\":\"/en/guides/features/registry/swift-package\",\"LLMS_URL\":\"/en/guides/features/registry/swift-package.md\",\"title\":\"Swift package\",\"titleTemplate\":\":title · Registry · Features · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in a Swift package.\"}},{\"path\":\"/en/guides/features/registry/xcode-project.md\",\"url\":\"/en/guides/features/registry/xcode-project\",\"llmUrl\":\"/en/guides/features/registry/xcode-project.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/registry/xcode-project\\\"\\nLLMS_URL: \\\"/en/guides/features/registry/xcode-project.md\\\"\\ntitle: \\\"Xcode project\\\"\\ntitleTemplate: \\\":title · Registry · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in an Xcode project.\\\"\\n---\\n\\n# Xcode project {#xcode-project}\\n\\nTo add packages using the registry in your Xcode project, use the default Xcode UI. You can search for packages in the registry by clicking on the `+` button in the `Package Dependencies` tab in Xcode. If the package is available in the registry, you will see the `tuist.dev` registry in the top right:\\n\\n\\n\\n> [!NOTE]\\n> Xcode currently doesn't support automatically replacing source control packages with their registry equivalents. You will need to manually remove the source control package and add the registry package to speed up the resolution.\\n\",\"title\":\"Xcode project\",\"frontmatter\":{\"URL\":\"/en/guides/features/registry/xcode-project\",\"LLMS_URL\":\"/en/guides/features/registry/xcode-project.md\",\"title\":\"Xcode project\",\"titleTemplate\":\":title · Registry · Features · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in an Xcode project.\"}},{\"path\":\"/en/guides/features/registry/xcodeproj-integration.md\",\"url\":\"/en/guides/features/registry/xcodeproj-integration\",\"llmUrl\":\"/en/guides/features/registry/xcodeproj-integration.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/registry/xcodeproj-integration\\\"\\nLLMS_URL: \\\"/en/guides/features/registry/xcodeproj-integration.md\\\"\\ntitle: \\\"Generated project with the XcodeProj-based package integration\\\"\\ntitleTemplate: \\\":title · Registry · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in a generated Xcode project with the XcodeProj-based package integration.\\\"\\n---\\n\\n# Generated project with the XcodeProj-based package integration {#generated-project-with-xcodeproj-based-integration}\\n\\nWhen using the XcodeProj-based integration, you can use the ``--replace-scm-with-registry`` flag to resolve dependencies from the registry if they are available. Add it to the `installOptions` in your `Tuist.swift` file:\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(\\n fullHandle: \\\"{account-handle}/{project-handle}\\\",\\n project: .tuist(\\n installOptions: .options(passthroughSwiftPackageManagerArguments: [\\\"--replace-scm-with-registry\\\"])\\n )\\n)\\n```\\n\\nIf you want to ensure that the registry is used every time you resolve dependencies, you will need to update `dependencies` in your `Tuist/Package.swift` file to use the registry identifier instead of a URL. The registry identifier is always in the form of `{organization}.{repository}`. For example, to use the registry for the `swift-composable-architecture` package, do the following:\\n```diff\\ndependencies: [\\n- .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n+ .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n]\\n```\\n\",\"title\":\"Generated project with the XcodeProj-based package integration\",\"frontmatter\":{\"URL\":\"/en/guides/features/registry/xcodeproj-integration\",\"LLMS_URL\":\"/en/guides/features/registry/xcodeproj-integration.md\",\"title\":\"Generated project with the XcodeProj-based package integration\",\"titleTemplate\":\":title · Registry · Features · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in a generated Xcode project with the XcodeProj-based package integration.\"}},{\"path\":\"/en/guides/features/selective-testing.md\",\"url\":\"/en/guides/features/selective-testing\",\"llmUrl\":\"/en/guides/features/selective-testing.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/selective-testing\\\"\\nLLMS_URL: \\\"/en/guides/features/selective-testing.md\\\"\\ntitle: \\\"Selective testing\\\"\\ntitleTemplate: \\\":title · Features · Guides · Tuist\\\"\\ndescription: \\\"Use selective testing to run only the tests that have changed since the last successful test run.\\\"\\n---\\n\\n# Selective testing {#selective-testing}\\n\\nAs your project grows, so does the amount of your tests. For a long time, running all tests on every PR or push to `main` takes tens of seconds. But this solution does not scale to thousands of tests your team might have.\\n\\nOn every test run on the CI, you most likely re-run all the tests, regardless of the changes. Tuist's selective testing helps you to drastically speed up running the tests themselves by running only the tests that have changed since the last successful test run based on our hashing algorithm.\\n\\nSelective testing works with `xcodebuild`, which supports any Xcode project, or if you generate your projects with Tuist, you can use the `tuist test` command instead that provides some extra convenience such as integration with the binary cache. To get started with selective testing, follow the instructions based on your project setup:\\n\\n- xcodebuild\\n- Generated project\\n\\n> [!WARNING] MODULE VS FILE-LEVEL GRANULARITY\\n> Due to the impossibility of detecting the in-code dependencies between tests and sources, the maximum granularity of selective testing is at the target level. Therefore, we recommend keeping your targets small and focused to maximize the benefits of selective testing.\\n\\n> [!WARNING] TEST COVERAGE\\n> Test coverage tools assume that the whole test suite runs at once, which makes them incompatible with selective test runs—this means the coverage data might not reflect reality when using test selection. That’s a known limitation, and it doesn’t mean you’re doing anything wrong. We encourage teams to reflect on whether coverage is still bringing meaningful insights in this context, and if it is, rest assured that we’re already thinking about how to make coverage work properly with selective runs in the future.\\n\\n\\n## Pull/merge request comments {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] INTEGRATION WITH GIT PLATFORM REQUIRED\\n> To get automatic pull/merge request comments, integrate your Tuist project with a Git platform.\\n\\nOnce your Tuist project is connected with your Git platform such as [GitHub](https://github.com), and you start using `tuist xcodebuild test` or `tuist test` as part of your CI wortkflow, Tuist will post a comment directly in your pull/merge requests, including which tests were run and which skipped:\\n\\n\",\"title\":\"Selective testing\",\"frontmatter\":{\"URL\":\"/en/guides/features/selective-testing\",\"LLMS_URL\":\"/en/guides/features/selective-testing.md\",\"title\":\"Selective testing\",\"titleTemplate\":\":title · Features · Guides · Tuist\",\"description\":\"Use selective testing to run only the tests that have changed since the last successful test run.\"}},{\"path\":\"/en/guides/features/selective-testing/generated-project.md\",\"url\":\"/en/guides/features/selective-testing/generated-project\",\"llmUrl\":\"/en/guides/features/selective-testing/generated-project.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/selective-testing/generated-project\\\"\\nLLMS_URL: \\\"/en/guides/features/selective-testing/generated-project.md\\\"\\ntitle: \\\"Generated project\\\"\\ntitleTemplate: \\\":title · Selective testing · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to leverage selective testing with a generated project.\\\"\\n---\\n\\n# Generated project {#generated-project}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n> - A generated project\\n> - A Tuist account and project\\n\\nTo run tests selectively with your generated project, use the `tuist test` command. The command hashes your Xcode project the same way it does for warming the cache, and on success, it persists the hashes on to determine what has changed in future runs.\\n\\nIn future runs `tuist test` transparently uses the hashes to filter down the tests to run only the ones that have changed since the last successful test run.\\n\\nFor example, assuming the following dependency graph:\\n\\n- `FeatureA` has tests `FeatureATests`, and depends on `Core`\\n- `FeatureB` has tests `FeatureBTests`, and depends on `Core`\\n- `Core` has tests `CoreTests`\\n\\n`tuist test` will behave as such:\\n\\n| Action | Description | Internal state |\\n| ---- | --- | ---- |\\n| `tuist test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The hashes of `FeatureATests`, `FeatureBTests` and `CoreTests` are persisted |\\n| `FeatureA` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist test` invocation | Runs the tests in `FeatureATests` because it hash has changed | The new hash of `FeatureATests` is persisted |\\n| `Core` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The new hash of `FeatureATests` `FeatureBTests`, and `CoreTests` are persisted |\\n\\n`tuist test` integrates directly with binary caching to use as many binaries from your local or remote storage to improve the build time when running your test suite. The combination of selective testing with binary caching can dramatically reduce the time it takes to run tests on your CI.\\n\\n## UI Tests {#ui-tests}\\n\\nTuist supports selective testing of UI tests. However, Tuist needs to know the destination in advance. Only if you specify the `destination` parameter, Tuist will run the UI tests selectively, such as:\\n```sh\\ntuist test --device 'iPhone 14 Pro'\\n# or\\ntuist test -- -destination 'name=iPhone 14 Pro'\\n# or\\ntuist test -- -destination 'id=SIMULATOR_ID'\\n```\\n\",\"title\":\"Generated project\",\"frontmatter\":{\"URL\":\"/en/guides/features/selective-testing/generated-project\",\"LLMS_URL\":\"/en/guides/features/selective-testing/generated-project.md\",\"title\":\"Generated project\",\"titleTemplate\":\":title · Selective testing · Features · Guides · Tuist\",\"description\":\"Learn how to leverage selective testing with a generated project.\"}},{\"path\":\"/en/guides/features/selective-testing/xcode-project.md\",\"url\":\"/en/guides/features/selective-testing/xcode-project\",\"llmUrl\":\"/en/guides/features/selective-testing/xcode-project.md\",\"content\":\"---\\nURL: \\\"/en/guides/features/selective-testing/xcode-project\\\"\\nLLMS_URL: \\\"/en/guides/features/selective-testing/xcode-project.md\\\"\\ntitle: \\\"Xcode project\\\"\\ntitleTemplate: \\\":title · Selective testing · Features · Guides · Tuist\\\"\\ndescription: \\\"Learn how to leverage selective testing with `xcodebuild`.\\\"\\n---\\n\\n# Xcode project {#xcode-project}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n> - A Tuist account and project\\n\\nYou can run the tests of your Xcode projects selectively through the command line. For that, you can prepend your `xcodebuild` command with `tuist` – for example, `tuist xcodebuild test -scheme App`. The command hashes your project and on success, it persists the hashes to determine what has changed in future runs.\\n\\nIn future runs `tuist xcodebuild test` transparently uses the hashes to filter down the tests to run only the ones that have changed since the last successful test run.\\n\\nFor example, assuming the following dependency graph:\\n\\n- `FeatureA` has tests `FeatureATests`, and depends on `Core`\\n- `FeatureB` has tests `FeatureBTests`, and depends on `Core`\\n- `Core` has tests `CoreTests`\\n\\n`tuist xcodebuild test` will behave as such:\\n\\n| Action | Description | Internal state |\\n| ---- | --- | ---- |\\n| `tuist xcodebuild test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The hashes of `FeatureATests`, `FeatureBTests` and `CoreTests` are persisted |\\n| `FeatureA` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist xcodebuild test` invocation | Runs the tests in `FeatureATests` because it hash has changed | The new hash of `FeatureATests` is persisted |\\n| `Core` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist xcodebuild test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The new hash of `FeatureATests` `FeatureBTests`, and `CoreTests` are persisted |\\n\\nTo use `tuist xcodebuild test` on your CI, follow the instructions in the Continuous integration guide.\\n\\nCheck out the following video to see selective testing in action:\\n\\n\\n\",\"title\":\"Xcode project\",\"frontmatter\":{\"URL\":\"/en/guides/features/selective-testing/xcode-project\",\"LLMS_URL\":\"/en/guides/features/selective-testing/xcode-project.md\",\"title\":\"Xcode project\",\"titleTemplate\":\":title · Selective testing · Features · Guides · Tuist\",\"description\":\"Learn how to leverage selective testing with `xcodebuild`.\"}},{\"path\":\"/en/guides/integrations/continuous-integration.md\",\"url\":\"/en/guides/integrations/continuous-integration\",\"llmUrl\":\"/en/guides/integrations/continuous-integration.md\",\"content\":\"---\\nURL: \\\"/en/guides/integrations/continuous-integration\\\"\\nLLMS_URL: \\\"/en/guides/integrations/continuous-integration.md\\\"\\ntitle: \\\"Continuous Integration (CI)\\\"\\ntitleTemplate: \\\":title · Automate · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist in your CI workflows.\\\"\\n---\\n\\n# Continuous Integration (CI) {#continuous-integration-ci}\\n\\nYou can use Tuist in [continuous integration](https://en.wikipedia.org/wiki/Continuous_integration) environments. The following sections provide examples of how to do this on different CI platforms.\\n\\n## Examples {#examples}\\n\\nTo run Tuist commands in your CI workflows, you’ll need to install it in your CI environment.\\n\\n### Xcode Cloud {#xcode-cloud}\\n\\nIn [Xcode Cloud](https://developer.apple.com/xcode-cloud/), which uses Xcode projects as the source of truth, you'll need to add a [post-clone](https://developer.apple.com/documentation/xcode/writing-custom-build-scripts#Create-a-custom-build-script) script to install Tuist and run the commands you need, for example `tuist generate`:\\n\\n:::code-group\\n\\n```bash [Mise]\\n#!/bin/sh\\ncurl https://mise.jdx.dev/install.sh | sh\\nmise install # Installs the version from .mise.toml\\n\\n# Runs the version of Tuist indicated in the .mise.toml file {#runs-the-version-of-tuist-indicated-in-the-misetoml-file}\\nmise exec -- tuist generate\\n```\\n```bash [Homebrew]\\n#!/bin/sh\\nbrew install --formula [email protected]\\n\\ntuist generate\\n```\\n:::\\n### Codemagic {#codemagic}\\n\\nIn [Codemagic](https://codemagic.io), you can add an additional step to your workflow to install Tuist:\\n\\n::: code-group\\n```yaml [Mise]\\nworkflows:\\n lint:\\n name: Build\\n max_build_duration: 30\\n environment:\\n xcode: 15.0.1\\n scripts:\\n - name: Install Mise\\n script: |\\n curl https://mise.jdx.dev/install.sh | sh\\n mise install # Installs the version from .mise.toml\\n - name: Build\\n script: mise exec -- tuist build\\n```\\n```yaml [Homebrew]\\nworkflows:\\n lint:\\n name: Build\\n max_build_duration: 30\\n environment:\\n xcode: 15.0.1\\n scripts:\\n - name: Install Tuist\\n script: |\\n brew install --formula [email protected]\\n - name: Build\\n script: tuist build\\n```\\n:::\\n\\n### GitHub Actions {#github-actions}\\n\\nOn [GitHub Actions](https://docs.github.com/en/actions) you can add an additional step to install Tuist, and in the case of managing the installation of Mise, you can use the [mise-action](https://github.com/jdx/mise-action), which abstracts the installation of Mise and Tuist:\\n\\n::: code-group\\n```yaml [Mise]\\nname: Build Application\\non:\\n pull_request:\\n branches:\\n - main\\n push:\\n branches:\\n - main\\njobs:\\n build:\\n runs-on: macos-latest\\n steps:\\n - uses: actions/checkout@v3\\n - uses: jdx/mise-action@v2\\n - run: tuist build\\n```\\n```yaml [Homebrew]\\nname: test\\non:\\n pull_request:\\n branches:\\n - main\\n push:\\n branches:\\n - main\\njobs:\\n lint:\\n runs-on: macos-latest\\n steps:\\n - uses: actions/checkout@v3\\n - run: brew install --formula [email protected]\\n - run: tuist build\\n```\\n:::\\n\\n::: tip\\nWe recommend using `mise use --pin` in your Tuist projects to pin the version of Tuist across environments. The command will create a `.tool-versions` file containing the version of Tuist.\\n:::\\n\\n## Authentication {#authentication}\\n\\nWhen using server-side features such as cache, you'll need a way to authenticate requests going from your CI workflows to the server. For that, you can generate a project-scoped token by running the following command:\\n\\n```bash\\ntuist project tokens create my-handle/MyApp\\n```\\n\\nThe command will generate a token for the project with full handle `my-account/my-project`. Set the value to the environment variable\\n`TUIST_CONFIG_TOKEN` in your CI environment ensuring it's configured as a secret so it's not exposed.\\n\\n> [!IMPORTANT] CI ENVIRONMENT DETECTION\\n> Tuist only uses the token when it detects it's running on a CI environment. If your CI environment is not detected, you can force the token usage by setting the environment variable `CI` to `1`.\\n\",\"title\":\"Continuous Integration (CI)\",\"frontmatter\":{\"URL\":\"/en/guides/integrations/continuous-integration\",\"LLMS_URL\":\"/en/guides/integrations/continuous-integration.md\",\"title\":\"Continuous Integration (CI)\",\"titleTemplate\":\":title · Automate · Guides · Tuist\",\"description\":\"Learn how to use Tuist in your CI workflows.\"}},{\"path\":\"/en/guides/integrations/gitforge/github.md\",\"url\":\"/en/guides/integrations/gitforge/github\",\"llmUrl\":\"/en/guides/integrations/gitforge/github.md\",\"content\":\"---\\nURL: \\\"/en/guides/integrations/gitforge/github\\\"\\nLLMS_URL: \\\"/en/guides/integrations/gitforge/github.md\\\"\\ntitle: \\\"GitHub\\\"\\ntitleTemplate: \\\":title | Git forges | Integrations | Guides | Tuist\\\"\\ndescription: \\\"Learn how to integrate Tuist with GitHub for enhanced workflows.\\\"\\n---\\n\\n# GitHub integration {#github}\\n\\nGit repositories are the centerpiece of the vast majority of software projects out there. We integrate with GitHub to provide Tuist insights right in your pull requests and to save you some configuration such as syncing your default branch.\\n\\n## Setup {#setup}\\n\\nInstall the [Tuist GitHub app](https://github.com/marketplace/tuist). Once installed, you will need to tell Tuist the URL of your repository, such as:\\n\\n```sh\\ntuist project update tuist/tuist --repository-url https://github.com/tuist/tuist\\n```\\n\",\"title\":\"GitHub\",\"frontmatter\":{\"URL\":\"/en/guides/integrations/gitforge/github\",\"LLMS_URL\":\"/en/guides/integrations/gitforge/github.md\",\"title\":\"GitHub\",\"titleTemplate\":\":title | Git forges | Integrations | Guides | Tuist\",\"description\":\"Learn how to integrate Tuist with GitHub for enhanced workflows.\"}},{\"path\":\"/en/guides/integrations/sso.md\",\"url\":\"/en/guides/integrations/sso\",\"llmUrl\":\"/en/guides/integrations/sso.md\",\"content\":\"---\\nURL: \\\"/en/guides/integrations/sso\\\"\\nLLMS_URL: \\\"/en/guides/integrations/sso.md\\\"\\ntitle: \\\"SSO\\\"\\ntitleTemplate: \\\":title | Integrations | Guides | Tuist\\\"\\ndescription: \\\"Learn how to set up Single Sign-On (SSO) with your organization.\\\"\\n---\\n\\n# SSO {#sso}\\n\\n## Google {#google}\\n\\nIf you have a Google Workspace organization and you want any developer who signs in with the same Google hosted domain to be added to your Tuist organization, you can set it up with:\\n```bash\\ntuist organization update sso my-organization --provider google --organization-id my-google-domain.com\\n```\\n\\n> [!IMPORTANT]\\n> You must be authenticated with Google using an email tied to the organization whose domain you are setting up.\\n\\n## Okta {#okta}\\n\\nSSO with Okta is available only for enterprise customers. If you are interested in setting it up, please contact us at [[email protected]](mailto:[email protected]).\\n\\nDuring the process, you will be assigned a point of contact to help you set up the Okta SSO.\\n\\nFirstly, you will need to create an Okta application and configure it to work with Tuist:\\n1. Go to Okta admin dashboard\\n2. Applications > Applications > Create App Integration\\n3. Select \\\"OIDC - OpenID Connect\\\" and \\\"Web Application\\\"\\n4. Enter the display name for the application, for example, \\\"Tuist\\\". Upload a Tuist logo located at [this URL](https://tuist.dev/images/tuist_dashboard.png).\\n5. Leave sign-in redirect URIs as it is for now\\n6. Under \\\"Assignments\\\" choose the desired access control to the SSO Application and save.\\n7. After saving, the general settings for the application will be available. Copy the \\\"Client ID\\\" and \\\"Client Secret\\\" – you will need to safely share this with your point of contact.\\n8. The Tuist team will need to redeploy the Tuist server with the provided client ID and secret. This may take up to one business day.\\n9. Once the server is deployed, click on General Settings \\\"Edit\\\" button.\\n10. Paste the following redirect URL: `https://tuist.dev/users/auth/okta/callback`\\n13. Change \\\"Login initiated by\\\" to \\\"Either Okta or App\\\".\\n14. Select \\\"Display application icon to users\\\"\\n15. Update the \\\"Initiate login URL\\\" with `https://tuist.dev/users/auth/okta?organization_id=1`. The `organization_id` will be supplied by your point of contact.\\n16. Click \\\"Save\\\".\\n17. Initiate Tuist login from your Okta dashboard.\\n18. Give automatically access to your Tuist organization to users signed from your Okta domain by running the following command:\\n```bash\\ntuist organization update sso my-organization --provider okta --organization-id my-okta-domain.com\\n```\\n\\n> [!IMPORTANT]\\n> Users need to initially sign in via their Okta dashboard as Tuist currently doesn't support automatic provisioning and deprovisioning of users from your Okta organization. Once they sign in via their Okta dashboard, they will be automatically added to your Tuist organization.\\n\",\"title\":\"SSO\",\"frontmatter\":{\"URL\":\"/en/guides/integrations/sso\",\"LLMS_URL\":\"/en/guides/integrations/sso.md\",\"title\":\"SSO\",\"titleTemplate\":\":title | Integrations | Guides | Tuist\",\"description\":\"Learn how to set up Single Sign-On (SSO) with your organization.\"}},{\"path\":\"/en/guides/quick-start/add-dependencies.md\",\"url\":\"/en/guides/quick-start/add-dependencies\",\"llmUrl\":\"/en/guides/quick-start/add-dependencies.md\",\"content\":\"---\\nURL: \\\"/en/guides/quick-start/add-dependencies\\\"\\nLLMS_URL: \\\"/en/guides/quick-start/add-dependencies.md\\\"\\ntitle: \\\"Add dependencies\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"Learn how to add dependencies to your first Swift project\\\"\\n---\\n\\n# Add dependencies {#add-dependencies}\\n\\nIt's common for projects to depend on third-party libraries to provide additional functionality. To do so, run the following command to have the best experience editing your project:\\n\\n```bash\\ntuist edit\\n```\\n\\nAn Xcode project will open containing your project files. Edit the `Package.swift` and add the\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n .package(url: \\\"https://github.com/onevcat/Kingfisher\\\", .upToNextMajor(from: \\\"7.12.0\\\")) // [!code ++]\\n ]\\n)\\n```\\n\\nThen edit the application target in your project to declare `Kingfisher` as a dependency:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n targets: [\\n .target(\\n name: \\\"MyApp\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"dev.tuist.MyApp\\\",\\n infoPlist: .extendingDefault(\\n with: [\\n \\\"UILaunchStoryboardName\\\": \\\"LaunchScreen.storyboard\\\",\\n ]\\n ),\\n sources: [\\\"MyApp/Sources/**\\\"],\\n resources: [\\\"MyApp/Resources/**\\\"],\\n dependencies: [\\n .external(name: \\\"Kingfisher\\\") // [!code ++]\\n ]\\n ),\\n .target(\\n name: \\\"MyAppTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"dev.tuist.MyAppTests\\\",\\n infoPlist: .default,\\n sources: [\\\"MyApp/Tests/**\\\"],\\n resources: [],\\n dependencies: [.target(name: \\\"MyApp\\\")]\\n ),\\n ]\\n)\\n```\\n\\nThen run `tuist install` to resolve and pull the dependencies using the [Swift Package Manager](https://www.swift.org/documentation/package-manager/).\\n\\n> [!NOTE] SPM AS A DEPENDENCY RESOLVER\\n> Tuist recommended approach to dependencies uses the Swift Package Manager (SPM) only to resolve dependencies. Tuist then converts them into Xcode projects and targets for maximum configurability and control.\\n\\n## Visualize the project {#visualize-the-project}\\n\\nYou can visualize the project structure by running:\\n\\n```bash\\ntuist graph\\n```\\n\\nThe command will output and open a `graph.png` file in the project's directory:\\n\\n\\n\\n## Use the dependency {#use-the-dependency}\\n\\nRun `tuist generate` to open the project in Xcode, and make the following changes to the `ContentView.swift` file:\\n\\n```swift\\nimport SwiftUI\\nimport Kingfisher // [!code ++]\\n\\npublic struct ContentView: View {\\n public init() {}\\n\\n public var body: some View {\\n Text(\\\"Hello, World!\\\") // [!code --]\\n .padding() // [!code --]\\n KFImage(URL(string: \\\"https://cloud.tuist.io/images/[email protected]\\\")!) // [!code ++]\\n }\\n}\\n\\n\\nstruct ContentView_Previews: PreviewProvider {\\n static var previews: some View {\\n ContentView()\\n }\\n}\\n```\\n\\nRun the app from Xcode, and you should see the image loaded from the URL.\\n\",\"title\":\"Add dependencies\",\"frontmatter\":{\"URL\":\"/en/guides/quick-start/add-dependencies\",\"LLMS_URL\":\"/en/guides/quick-start/add-dependencies.md\",\"title\":\"Add dependencies\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"Learn how to add dependencies to your first Swift project\"}},{\"path\":\"/en/guides/quick-start/gather-insights.md\",\"url\":\"/en/guides/quick-start/gather-insights\",\"llmUrl\":\"/en/guides/quick-start/gather-insights.md\",\"content\":\"---\\nURL: \\\"/en/guides/quick-start/gather-insights\\\"\\nLLMS_URL: \\\"/en/guides/quick-start/gather-insights.md\\\"\\ntitle: \\\"Gather insights\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"Learn how to gather insights about your project.\\\"\\n---\\n\\n# Gather insights {#gather-insights}\\n\\nTuist can integrate with a server to extend its capabilities. One of those capabilities is gathering insights about your project and builds. All you need is to have an account with a project in the server.\\n\\nFirst of all, you'll need to authenticate by running:\\n\\n```bash\\ntuist auth login\\n```\\n\\n## Create a project {#create-a-project}\\n\\nYou can then create a project by running:\\n\\n```bash\\ntuist project create my-handle/MyApp\\n\\n# Tuist project my-handle/MyApp was successfully created 🎉 {#tuist-project-myhandlemyapp-was-successfully-created-}\\n```\\n\\nCopy `my-handle/MyApp`, which represents the full handle of the project.\\n\\n## Connect projects {#connect-projects}\\n\\nAfter creating the project on the server, you'll have to connect it to your local project. Run `tuist edit` and edit the `Tuist.swift` file to include the full handle of the project:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(fullHandle: \\\"my-handle/MyApp\\\")\\n```\\n\\nVoilà! You're now ready to gather insights about your project and builds. Run `tuist test` to run the tests reporting the results to the server.\\n\\n> [!NOTE]\\n> Tuist enqueues the results locally and tries to send them without blocking the command. Therefore, they might not be sent immediately after the command finishes. In CI, the results are sent immediately.\\n\\n\\n\\n\\nHaving data from your projects and builds is crucial in making informed decisions.\\nTuist will continue to extend its capabilities, and you'll benefit from them without having to change your project configuration. Magic, right? 🪄\\n\",\"title\":\"Gather insights\",\"frontmatter\":{\"URL\":\"/en/guides/quick-start/gather-insights\",\"LLMS_URL\":\"/en/guides/quick-start/gather-insights.md\",\"title\":\"Gather insights\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"Learn how to gather insights about your project.\"}},{\"path\":\"/en/guides/quick-start/get-started.md\",\"url\":\"/en/guides/quick-start/get-started\",\"llmUrl\":\"/en/guides/quick-start/get-started.md\",\"content\":\"---\\nURL: \\\"/en/guides/quick-start/get-started\\\"\\nLLMS_URL: \\\"/en/guides/quick-start/get-started.md\\\"\\ntitle: \\\"Get started\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"Learn how to install Tuist in your environment.\\\"\\n---\\n\\n# Get started {#get-started}\\n\\nThe easiest way to get started with Tuist in any directory or in the directory of your Xcode project or workspace:\\n\\n::: code-group\\n\\n```bash [Mise]\\nmise x tuist@latest -- tuist init\\n```\\n\\n```bash [Global Tuist (Homebrew)]\\ntuist init\\n```\\n:::\\n\\nThe command will walk you through the steps to create a generated project or integrate an existing Xcode project or workspace. It helps you connect your setup to the remote server, giving you access to features like selective testing, previews, and the registry.\\n\\n> [!NOTE] MIGRATE AN EXISTING PROJECT\\n> If you want to migrate an existing project to generated projects to improve the developer experience and take advantage of our cache, check out our migration guide.\\n\",\"title\":\"Get started\",\"frontmatter\":{\"URL\":\"/en/guides/quick-start/get-started\",\"LLMS_URL\":\"/en/guides/quick-start/get-started.md\",\"title\":\"Get started\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"Learn how to install Tuist in your environment.\"}},{\"path\":\"/en/guides/quick-start/install-tuist.md\",\"url\":\"/en/guides/quick-start/install-tuist\",\"llmUrl\":\"/en/guides/quick-start/install-tuist.md\",\"content\":\"---\\nURL: \\\"/en/guides/quick-start/install-tuist\\\"\\nLLMS_URL: \\\"/en/guides/quick-start/install-tuist.md\\\"\\ntitle: \\\"Install Tuist\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"Learn how to install Tuist in your environment.\\\"\\n---\\n\\n# Install Tuist {#install-tuist}\\n\\nThe Tuist CLI consists of an executable, dynamic frameworks, and a set of resources (for example, templates). Although you could manually build Tuist from [the sources](https://github.com/tuist/tuist), **we recommend using one of the following installation methods to ensure a valid installation.**\\n\\n### Mise {#recommended-mise}\\n\\n::: info\\nMise is a recommended alternative to [Homebrew](https://brew.sh) if you are a team or organization that needs to ensure deterministic versions of tools across different environments.\\n:::\\n\\nYou can install Tuist through any of the following commands:\\n\\n```bash\\nmise install tuist # Install the current version specified in .tool-versions/.mise.toml\\nmise install [email protected] # Install a specific version number\\nmise install tuist@3 # Install a fuzzy version number\\n```\\n\\nNote that unlike tools like Homebrew, which install and activate a single version of the tool globally, **Mise requires the activation of a version** either globally or scoped to a project. This is done by running `mise use`:\\n\\n```bash\\nmise use [email protected] # Use tuist-x.y.z in the current project\\nmise use tuist@latest # Use the latest tuist in the current directory\\nmise use -g [email protected] # Use tuist-x.y.z as the global default\\nmise use -g tuist@system # Use the system's tuist as the global default\\n```\\n\\n### Homebrew {#recommended-homebrew}\\n\\nYou can install Tuist using [Homebrew](https://brew.sh) and [our formulas](https://github.com/tuist/homebrew-tuist):\\n\\n```bash\\nbrew tap tuist/tuist\\nbrew install --formula tuist\\nbrew install --formula [email protected]\\n```\\n\\n::: tip VERIFYING THE AUTHENTICITY OF THE BINARIES\\nYou can verify that your installation's binaries have been built by us by running the following command, which checks if the certificate's team is `U6LC622NKF`:\\n\\n```bash\\ncurl -fsSL \\\"https://docs.tuist.dev/verify.sh\\\" | bash\\n```\\n:::\\n\",\"title\":\"Install Tuist\",\"frontmatter\":{\"URL\":\"/en/guides/quick-start/install-tuist\",\"LLMS_URL\":\"/en/guides/quick-start/install-tuist.md\",\"title\":\"Install Tuist\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"Learn how to install Tuist in your environment.\"}},{\"path\":\"/en/guides/server/accounts-and-projects.md\",\"url\":\"/en/guides/server/accounts-and-projects\",\"llmUrl\":\"/en/guides/server/accounts-and-projects.md\",\"content\":\"---\\nURL: \\\"/en/guides/server/accounts-and-projects\\\"\\nLLMS_URL: \\\"/en/guides/server/accounts-and-projects.md\\\"\\ntitle: \\\"Accounts and projects\\\"\\ntitleTemplate: \\\":title | Server | Guides | Tuist\\\"\\ndescription: \\\"Learn how to create and manage accounts and projects in Tuist.\\\"\\n---\\n\\n# Accounts and projects {#accounts-and-projects}\\n\\nSome Tuist features require a server which adds persistence of data and can interact with other services. To interact with the server, you need an account and a project that you connect to your local project.\\n\\n## Accounts {#accounts}\\n\\nTo use the server, you'll need an account. There are two types of accounts:\\n\\n- **Personal account:** Those accounts are created automaticaly when you sign up and are identified by a handle that's obtained either from the identity provider (e.g. GitHub) or the first part of the email address.\\n- **Organization account:** Those accounts are manually created and are identified by a handle that's defined by the developer. Organizations allow inviting other members to collaborate on projects.\\n\\nIf you are familiar with [GitHub](https://github.com), the concept is similar to theirs, where you can have personal and organization accounts, and they are identified by a *handle* that's used when constructing URLs.\\n\\n> [!NOTE] CLI-FIRST\\n> Most operations to manage accounts and projects are done through the CLI. We are working on a web interface that will make it easier to manage accounts and projects.\\n\\nYou can manage the organization through the subcommands under `tuist organization`. To create a new organization account, run:\\n```bash\\ntuist organization create {account-handle}\\n```\\n\\n## Projects {#projects}\\n\\nYour projects, either Tuist's or raw Xcode's, need to be integrated with your account through a remote project. Continuing with the comparison with GitHub, it's like having a local and a remote repository where you push your changes. You can use the `tuist project` to create and manage projects.\\n\\nProjects are identified by a full handle, which is the result of concatenating the organization handle and the project handle. For example, if you have an organization with the handle `tuist`, and a project with the handle `tuist`, the full handle would be `tuist/tuist`.\\n\\nThe binding between the local and the remote project is done through the configuration file. If you don't have any, create it at `Tuist.swift` and add the following content:\\n\\n```swift\\nlet tuist = Tuist(fullHandle: \\\"{account-handle}/{project-handle}\\\") // e.g. tuist/tuist\\n```\\n\\n> [!IMPORTANT] TUIST PROJECT-ONLY FEATURES\\n> Note that there are some features like binary caching that require you having a Tuist project. If you are using raw Xcode projects, you won't be able to use those features.\\n\\nYour project's URL is constructed by using the full handle. For example, Tuist's dashboard, which is public, is accessible at [tuist.dev/tuist/tuist](https://tuist.dev/tuist/tuist), where `tuist/tuist` is the project's full handle.\\n\",\"title\":\"Accounts and projects\",\"frontmatter\":{\"URL\":\"/en/guides/server/accounts-and-projects\",\"LLMS_URL\":\"/en/guides/server/accounts-and-projects.md\",\"title\":\"Accounts and projects\",\"titleTemplate\":\":title | Server | Guides | Tuist\",\"description\":\"Learn how to create and manage accounts and projects in Tuist.\"}},{\"path\":\"/en/guides/server/authentication.md\",\"url\":\"/en/guides/server/authentication\",\"llmUrl\":\"/en/guides/server/authentication.md\",\"content\":\"---\\nURL: \\\"/en/guides/server/authentication\\\"\\nLLMS_URL: \\\"/en/guides/server/authentication.md\\\"\\ntitle: \\\"Authentication\\\"\\ntitleTemplate: \\\":title | Server | Guides | Tuist\\\"\\ndescription: \\\"Learn how to authenticate with the Tuist server from the CLI.\\\"\\n---\\n\\n# Authentication {#authentication}\\n\\nTo interact with the server, the CLI needs to authenticate the requests using [bearer authentication](https://swagger.io/docs/specification/authentication/bearer-authentication/). The CLI supports authenticating as a user or as a project.\\n\\n## As a user {#as-a-user}\\n\\nWhen using the CLI locally on your machine, we recommend authenticating as a user. To authenticate as a user, you need to run the following command:\\n\\n```bash\\ntuist auth login\\n```\\n\\nThe command will take you through a web-based authentication flow. Once you authenticate, the CLI will store a long-lived refresh token and a short-lived access token under `~/.config/tuist/credentials`. Each file in the directory represents the domain you authenticated against, which by default should be `tuist.dev.json`. The information stored in that directory is sensitive, so **make sure to keep it safe**.\\n\\nThe CLI will automatically look up the credentials when making requests to the server. If the access token is expired, the CLI will use the refresh token to get a new access token.\\n\\n## As a project {#as-a-project}\\n\\nIn non-interactive environments like continuous integrations', you can't authenticate through an interactive flow. For those environments, we recommend authenticating as a project by using a project-scoped token:\\n\\n```bash\\ntuist project tokens create\\n```\\n\\nThe CLI expects the token to be defined as the environment variable `TUIST_CONFIG_TOKEN`, and the `CI=1` environment variable to be set. The CLI will use the token to authenticate the requests.\\n\\n> [!IMPORTANT] LIMITED SCOPE\\n> The permissions of the project-scoped token are limited to the actions that we consider safe for projects to perform from a CI environment. We plan to document the permissions that the token has in the future.\\n\",\"title\":\"Authentication\",\"frontmatter\":{\"URL\":\"/en/guides/server/authentication\",\"LLMS_URL\":\"/en/guides/server/authentication.md\",\"title\":\"Authentication\",\"titleTemplate\":\":title | Server | Guides | Tuist\",\"description\":\"Learn how to authenticate with the Tuist server from the CLI.\"}},{\"path\":\"/en/guides/server/self-host/install.md\",\"url\":\"/en/guides/server/self-host/install\",\"llmUrl\":\"/en/guides/server/self-host/install.md\",\"content\":\"---\\nURL: \\\"/en/guides/server/self-host/install\\\"\\nLLMS_URL: \\\"/en/guides/server/self-host/install.md\\\"\\ntitle: \\\"Installation\\\"\\ntitleTemplate: \\\":title | Self-hosting | Server | Guides | Tuist\\\"\\ndescription: \\\"Learn how to install Tuist on your infrastructure.\\\"\\n---\\n\\n# Self-host installation {#self-host-installation}\\n\\nWe offer a self-hosted version of the Tuist server for organizations that require more control over their infrastructure. This version allows you to host Tuist on your own infrastructure, ensuring that your data remains secure and private.\\n\\n> [!IMPORTANT] LICENSE REQUIRED\\n> Self-hosting Tuist requires a legally valid paid license. The on-premise version of Tuist is available only for organizations on the Enterprise plan. If you are interested in this version, please reach out to [[email protected]](mailto:[email protected]).\\n\\n## Release cadence {#release-cadence}\\n\\nWe release new versions of Tuist continuously as new releasable changes land on main. We follow [semantic versioning](https://semver.org/) to ensure predictable versioning and compatibility.\\n\\nThe major component is used to flag breaking changes in the Tuist server that will require coordination with the on-premise users. You should not expect us to use it, and in case we needed, rest assured we'll work with you in making the transition smooth.\\n\\n## Continuous deployment {#continuous-deployment}\\n\\nWe strongly recommend setting up a continuous deployment pipeline that automatically deploys the latest version of Tuist every day. This ensures you always have access to the latest features, improvements, and security updates.\\n\\nHere's an example GitHub Actions workflow that checks for and deploys new versions daily:\\n\\n```yaml\\nname: Update Tuist Server\\non:\\n schedule:\\n - cron: '0 3 * * *' # Run daily at 3 AM UTC\\n workflow_dispatch: # Allow manual runs\\n\\njobs:\\n update:\\n runs-on: ubuntu-latest\\n steps:\\n - name: Check and deploy latest version\\n run: |\\n # Your deployment commands here\\n # Example: docker pull ghcr.io/tuist/tuist:latest\\n # Deploy to your infrastructure\\n```\\n\\n## Runtime requirements {#runtime-requirements}\\n\\nThis section outlines the requirements for hosting the Tuist server on your infrastructure.\\n\\n### Running Docker-virtualized images {#running-dockervirtualized-images}\\n\\nWe distribute the server as a [Docker](https://www.docker.com/) image via [GitHub’s Container Registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry).\\n\\nTo run it, your infrastructure must support running Docker images. Note that most infrastructure providers support it because it’s become the standard container for distributing and running software in production environments.\\n\\n### Postgres database {#postgres-database}\\n\\nIn addition to running the Docker images, you’ll need a [Postgres database](https://www.postgresql.org/) to store relational data. Most infrastructure providers include Posgres databases in their offering (e.g., [AWS](https://aws.amazon.com/rds/postgresql/) & [Google Cloud](https://cloud.google.com/sql/docs/postgres)).\\n\\nFor performant analytics, we use a [Timescale Postgres extension](https://www.timescale.com/). You need to make sure that TimescaleDB is installed on the machine running the Postgres database. Follow the installation instructions [here](https://docs.timescale.com/self-hosted/latest/install/) to learn more. If you are unable to install the Timescale extension, you can set up your own dashboard using the Prometheus metrics.\\n\\n> [!INFO] MIGRATIONS\\n> The Docker image's entrypoint automatically runs any pending schema migrations before starting the service.\\n\\n### ClickHouse database {#clickhouse-database}\\n\\nTo store large amount of data, we are using [ClickHouse](https://clickhouse.com/). Some features, like build insights, will only work with ClickHouse enabled. ClickHouse will eventually replace the Timescale Postgres extension. You can choose whether to self-host ClickHouse or use their hosted service.\\n\\n> [!INFO] MIGRATIONS\\n> The Docker image's entrypoint automatically runs any pending ClickHouse schema migrations before starting the service.\\n\\n### Storage {#storage}\\n\\nYou’ll also need a solution to store files (e.g. framework and library binaries). Currently we support any storage that's S3-compliant.\\n\\n## Configuration {#configuration}\\n\\nThe configuration of the service is done at runtime through environment variables. Given the sensitive nature of these variables, we advise encrypting and storing them in secure password management solutions. Rest assured, Tuist handles these variables with utmost care, ensuring they are never displayed in logs.\\n\\n> [!NOTE] LAUNCH CHECKS\\n> The necessary variables are verified at startup. If any are missing, the launch will fail and the error message will detail the absent variables.\\n\\n### License configuration {#license-configuration}\\n\\nAs an on-premise user, you'll receive a license key that you'll need to expose as an environment variable. This key is used to validate the license and ensure that the service is running within the terms of the agreement.\\n\\n| Environment variable | Description | Required | Default | Example |\\n| --- | --- | --- | --- | --- |\\n| `TUIST_LICENSE` | The license provided after signing the service level agreement | Yes | | `******` |\\n\\n> [!IMPORTANT] EXPIRATION DATE\\n> Licenses have an expiration date. Users will receive a warning while using Tuist commands that interact with the server if the license expires in less than 30 days. If you are interested in renewing your license, please reach out to [[email protected]](mailto:[email protected]).\\n\\n### Base environment configuration {#base-environment-configuration}\\n\\n| Environment variable | Description | Required | Default | Example |\\n| --- | --- | --- | --- | --- |\\n| `TUIST_APP_URL` | The base URL to access the instance from the Internet | Yes | | https://tuist.dev |\\n| `TUIST_SECRET_KEY_BASE` | The key to use to encrypt information (e.g. sessions in a cookie) | Yes | | | `c5786d9f869239cbddeca645575349a570ffebb332b64400c37256e1c9cb7ec831345d03dc0188edd129d09580d8cbf3ceaf17768e2048c037d9c31da5dcacfa` |\\n| `TUIST_SECRET_KEY_PASSWORD` | Pepper to generate hashed passwords | No | `$TUIST_SECRET_KEY_BASE` | |\\n| `TUIST_SECRET_KEY_TOKENS` | Secret key to generate random tokens | No | `$TUIST_SECRET_KEY_BASE` | |\\n| `TUIST_SECRET_KEY_ENCRYPTION` | 32-byte key for AES-GCM encryption of sensitive data | No | `$TUIST_SECRET_KEY_BASE` | |\\n| `TUIST_USE_IPV6` | When `1` it configures the app to use IPv6 addresses | No | `0` | `1`|\\n| `TUIST_LOG_LEVEL` | The log level to use for the app | No | `info` | [Log levels](https://hexdocs.pm/logger/1.12.3/Logger.html#module-levels) |\\n| `TUIST_GITHUB_APP_PRIVATE_KEY` | The private key used for the GitHub app to unlock extra functionality such as posting automatic PR comments | No | `-----BEGIN RSA...` | |\\n| `TUIST_OPS_USER_HANDLES` | A comma-separated list of user handles that have access to the operations URLs | No | | `user1,user2` |\\n| `TUIST_WEB` | Whether to run the web server component | No | `1` | `1` or `0` |\\n| `TUIST_WORKER` | Whether to run the background job processing component | No | `1` | `1` or `0` |\\n\\n> [!NOTE] WEB SERVER AND BACKGROUND WORKER SEPARATION\\n> By default, both the web server and background job processing run in the same process for simplicity. However, you can separate them by running multiple instances of the Docker image with different configurations:\\n> - **Web server only:** Set `TUIST_WEB=1` and `TUIST_WORKER=0`\\n> - **Background workers only:** Set `TUIST_WEB=0` and `TUIST_WORKER=1`\\n> \\n> This separation allows you to scale web servers and background workers independently based on your workload requirements.\\n\\n### Database configuration {#database-configuration}\\n\\nThe following environment variables are used to configure the database connection:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| --- | --- | --- | --- | --- |\\n| `DATABASE_URL` | The URL to access the Postgres database. Note that the URL should contain the authentication information | Yes | | `postgres://username:[email protected]/production` |\\n| `TUIST_CLICKHOUSE_URL` | The URL to access the ClickHouse database. Note that the URL should contain the authentication information | No | | `http://username:[email protected]/production` |\\n| `TUIST_USE_SSL_FOR_DATABASE` | When true, it uses [SSL](https://en.wikipedia.org/wiki/Transport_Layer_Security) to connect to the database | No | `1` | `1` |\\n| `TUIST_DATABASE_POOL_SIZE` | The number of connections to keep open in the connection pool | No | `10` | `10` |\\n| `TUIST_DATABASE_QUEUE_TARGET` | The interval (in miliseconds) for checking if all the connections checked out from the pool took more than the queue interval [(More information)](https://hexdocs.pm/db_connection/DBConnection.html#start_link/2-queue-config) | No | `300` | `300` |\\n| `TUIST_DATABASE_QUEUE_INTERVAL` | The threshold time (in miliseconds) in the queue that the pool uses to determine if it should start dropping new connections [(More information)](https://hexdocs.pm/db_connection/DBConnection.html#start_link/2-queue-config) | No | `1000` | `1000` |\\n\\n### Authentication environment configuration {#authentication-environment-configuration}\\n\\nWe facilitate authentication through [identity providers (IdP)](https://en.wikipedia.org/wiki/Identity_provider). To utilize this, ensure all necessary environment variables for the chosen provider are present in the server's environment. **Missing variables** will result in Tuist bypassing that provider.\\n\\n#### GitHub {#github}\\n\\nWe recommend authenticating using a [GitHub App](https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps) but you can also use the [OAuth App](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app). Make sure to include all essential environment variables specified by GitHub in the server environment. Absent variables will cause Tuist to overlook the GitHub authentication. To properly set up the GitHub app:\\n- In the GitHub app's general settings:\\n - Copy the `Client ID` and set it as `TUIST_GITHUB_APP_CLIENT_ID`\\n - Create and copy a new `client secret` and set it as `TUIST_GITHUB_APP_CLIENT_SECRET`\\n - Set the `Callback URL` as `http://YOUR_APP_URL/users/auth/github/callback`. `YOUR_APP_URL` can also be your server's IP address.\\n- The following permissions are required:\\n - Repositories:\\n - Pull requests: Read and write\\n - Accounts:\\n - Email addresses: Read-only\\n\\nIn the `Permissions and events`'s `Account permissions` section, set the `Email addresses` permission to `Read-only`.\\n\\nYou'll then need to expose the following environment variables in the environment where the Tuist server runs:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| --- | --- | --- | --- | --- |\\n| `TUIST_GITHUB_APP_CLIENT_ID` | The client ID of the GitHub application | Yes | | `Iv1.a629723000043722` |\\n| `TUIST_GITHUB_APP_CLIENT_SECRET` | The client secret of the application | Yes | | `232f972951033b89799b0fd24566a04d83f44ccc` |\\n\\n#### Google {#google}\\n\\nYou can set up authentication with Google using [OAuth 2](https://developers.google.com/identity/protocols/oauth2). For that, you'll need to create a new credential of type OAuth client ID. When creating the credentials, select \\\"Web Application\\\" as application type, name it `Tuist`, and set the redirect URI to `{base_url}/users/auth/google/callback` where `base_url` is the URL your hosted-service is running at. Once you create the app, copy the client ID and secret and set them as environment variables `GOOGLE_CLIENT_ID` and `GOOGLE_CLIENT_SECRET` respectively.\\n\\n> [!NOTE] CONSENT SCREEN SCOPES\\n> You might need to create a consent screen. When you do so, make sure to add the `userinfo.email` and `openid` scopes and mark the app as internal.\\n\\n#### Okta {#okta}\\n\\nYou can enable authentication with Okta through the [OAuth 2.0](https://oauth.net/2/) protocol. You'll have to [create an app](https://developer.okta.com/docs/en/guides/implement-oauth-for-okta/main/#create-an-oauth-2-0-app-in-okta) on Okta following these instructions.\\n\\nYou will need to set the following environment variables once you obtain the client id and secret during the set up of the Okta application:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| --- | --- | --- | --- | --- |\\n| `TUIST_OKTA_1_CLIENT_ID` | The client ID to authenticate against Okta. The number should be your organization ID | Yes | | |\\n| `TUIST_OKTA_1_CLIENT_SECRET` | The client secret to authenticate against Okta | Yes | | |\\n\\nThe number `1` needs to be replaced with your organization ID. This will typically be 1, but check in your database.\\n\\n### Storage environment configuration {#storage-environment-configuration}\\n\\n Tuist needs storage to house artifacts uploaded through the API. It's **essential to configure one of the supported storage solutions** for Tuist to operate effectively.\\n\\n#### S3-compliant storages {#s3compliant-storages}\\n\\nYou can use any S3-compliant storage provider to store artifacts. The following environment variables are required to authenticate and configure the integration with the storage provider:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| --- | --- | --- | --- | --- |\\n| `TUIST_ACCESS_KEY_ID` or `AWS_ACCESS_KEY_ID` | The access key ID to authenticate against the storage provider | Yes | | `AKIAIOSFOD` |\\n| `TUIST_SECRET_ACCESS_KEY` or `AWS_SECRET_ACCESS_KEY` | The secret access key to authenticate against the storage provider | Yes | | `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` |\\n| `TUIST_S3_REGION` or `AWS_REGION` | The region where the bucket is located | Yes | | `us-west-2` |\\n| `TUIST_S3_ENDPOINT` or `AWS_ENDPOINT` | The endpoint of the storage provider | Yes | | `https://s3.us-west-2.amazonaws.com` |\\n| `TUIST_S3_BUCKET_NAME` | The name of the bucket where the artifacts will be stored | Yes | | `tuist-artifacts` |\\n| `TUIST_S3_REQUEST_TIMEOUT` | The timeout (in seconds) for requests to the storage provider | No | `30` | `30` |\\n| `TUIST_S3_POOL_TIMEOUT` | The timeout (in seconds) for the connection pool to the storage provider | No | `5` | `5` |\\n| `TUIST_S3_POOL_COUNT` | The number of pools to use for connections to the storage provider | No | `1` | `1` |\\n| `TUIST_S3_PROTOCOL` | The protocol to use when connecting to the storage provider (`http1` or `http2`) | No | `http2` | `http2` |\\n| `TUIST_S3_VIRTUAL_HOST` | Whether the URL should be constructed with the bucket name as a sub-domain (virtual host). | No | No | `1` |\\n\\n> [!NOTE] AWS authentication with Web Identity Token from environment variables\\n> If your storage provider is AWS and you'd like to authenticate using a web identity token, you can set the environment variable `TUIST_S3_AUTHENTICATION_METHOD` to `aws_web_identity_token_from_env_vars`, and Tuist will use that method using the conventional AWS environment variables.\\n\\n#### Google Cloud Storage {#google-cloud-storage}\\nFor Google Cloud Storage, follow [these docs](https://cloud.google.com/storage/docs/authentication/managing-hmackeys) to get the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` pair. The `AWS_ENDPOINT` should be set to `https://storage.googleapis.com`. Other environment variables are the same as for any other S3-compliant storage.\\n\\n### Git platform configuration {#git-platform-configuration}\\n\\nTuist can integrate with Git platforms to provide extra features such as automatically posting comments in your pull requests.\\n\\n#### GitHub {#platform-github}\\n\\nYou will need to [create a GitHub app](https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps). You can reuse the one you created for authentication, unless you created an OAuth GitHub app. In the `Permissions and events`'s `Repository permissions` section, you will need to additionally set the `Pull requests` permission to `Read and write`.\\n\\nOn top of the `TUIST_GITHUB_APP_CLIENT_ID` and `TUIST_GITHUB_APP_CLIENT_SECRET`, you will need the following environment variables:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| --- | --- | --- | --- | --- |\\n| `TUIST_GITHUB_APP_PRIVATE_KEY` | The private key of the GitHub application | Yes | | `-----BEGIN RSA PRIVATE KEY-----...` |\\n\\n## Deployment {#deployment}\\n\\nThe official Tuist Docker image is available at:\\n```\\nghcr.io/tuist/tuist\\n```\\n\\n### Pulling the Docker image {#pulling-the-docker-image}\\n\\nYou can retrieve the image by executing the following command:\\n\\n```bash\\ndocker pull ghcr.io/tuist/tuist:latest\\n```\\n\\nOr pull a specific version:\\n```bash\\ndocker pull ghcr.io/tuist/tuist:0.1.0\\n```\\n\\n### Deploying the Docker image {#deploying-the-docker-image}\\n\\nThe deployment process for the Docker image will differ based on your chosen cloud provider and your organization's continuous deployment approach. Since most cloud solutions and tools, like [Kubernetes](https://kubernetes.io/), utilize Docker images as fundamental units, the examples in this section should align well with your existing setup.\\n\\n> [!IMPORTANT]\\n> If your deployment pipeline needs to validate that the server is up and running, you can send a `GET` HTTP request to `/ready` and assert a `200` status code in the response.\\n\\n#### Fly {#fly}\\n\\nTo deploy the app on [Fly](https://fly.io/), you'll require a `fly.toml` configuration file. Consider generating it dynamically within your Continuous Deployment (CD) pipeline. Below is a reference example for your use:\\n\\n```toml\\napp = \\\"tuist\\\"\\nprimary_region = \\\"fra\\\"\\nkill_signal = \\\"SIGINT\\\"\\nkill_timeout = \\\"5s\\\"\\n\\n[experimental]\\n auto_rollback = true\\n\\n[env]\\n # Your environment configuration goes here\\n # Or exposed through Fly secrets\\n\\n[processes]\\n app = \\\"/usr/local/bin/hivemind /app/Procfile\\\"\\n\\n[[services]]\\n protocol = \\\"tcp\\\"\\n internal_port = 8080\\n auto_stop_machines = false\\n auto_start_machines = false\\n processes = [\\\"app\\\"]\\n http_options = { h2_backend = true }\\n\\n [[services.ports]]\\n port = 80\\n handlers = [\\\"http\\\"]\\n force_https = true\\n\\n [[services.ports]]\\n port = 443\\n handlers = [\\\"tls\\\", \\\"http\\\"]\\n [services.concurrency]\\n type = \\\"connections\\\"\\n hard_limit = 100\\n soft_limit = 80\\n\\n [[services.http_checks]]\\n interval = 10000\\n grace_period = \\\"10s\\\"\\n method = \\\"get\\\"\\n path = \\\"/ready\\\"\\n protocol = \\\"http\\\"\\n timeout = 2000\\n tls_skip_verify = false\\n [services.http_checks.headers]\\n\\n[[statics]]\\n guest_path = \\\"/app/public\\\"\\n url_prefix = \\\"/\\\"\\n```\\n\\nThen you can run `fly launch --local-only --no-deploy` to launch the app. On subsequent deploys, instead of running `fly launch --local-only`, you will need to run `fly deploy --local-only`. Fly.io doesn't allow to pull private Docker images, which is why we need to use the `--local-only` flag.\\n\\n### Docker Compose {#docker-compose}\\n\\nBelow is an example of a `docker-compose.yml` file that you can use as a reference to deploy the service:\\n\\n```yaml\\nversion: '3.8'\\nservices:\\n db:\\n image: timescale/timescaledb-ha:pg16\\n restart: always\\n environment:\\n - POSTGRES_USER=postgres\\n - POSTGRES_PASSWORD=postgres\\n - PGDATA=/var/lib/postgresql/data/pgdata\\n ports:\\n - '5432:5432'\\n volumes:\\n - db:/var/lib/postgresql/data\\n healthcheck:\\n test: [\\\"CMD-SHELL\\\", \\\"pg_isready -U postgres\\\"]\\n interval: 5s\\n timeout: 5s\\n retries: 5\\n\\n pgweb:\\n container_name: pgweb\\n restart: always\\n image: sosedoff/pgweb\\n ports:\\n - \\\"8081:8081\\\"\\n links:\\n - db:db\\n environment:\\n PGWEB_DATABASE_URL: postgres://postgres:postgres@db:5432/postgres?sslmode=disable\\n depends_on:\\n - db\\n\\n tuist:\\n image: ghcr.io/tuist/tuist:latest\\n container_name: tuist\\n depends_on:\\n - db\\n ports:\\n - \\\"80:80\\\"\\n - \\\"8080:8080\\\"\\n - \\\"443:443\\\"\\n expose:\\n - \\\"80\\\"\\n - \\\"8080\\\"\\n - \\\"443:443\\\"\\n environment:\\n # Base Tuist Env - https://docs.tuist.io/en/guides/dashboard/on-premise/install#base-environment-configuration\\n TUIST_USE_SSL_FOR_DATABASE: \\\"0\\\"\\n TUIST_LICENSE: # ...\\n DATABASE_URL: postgres://postgres:postgres@db:5432/postgres?sslmode=disable\\n TUIST_APP_URL: https://localhost:8080\\n TUIST_SECRET_KEY_BASE: # ...\\n WEB_CONCURRENCY: 80\\n\\n # Auth - one method\\n # GitHub Auth - https://docs.tuist.io/en/guides/dashboard/on-premise/install#github\\n TUIST_GITHUB_OAUTH_ID:\\n TUIST_GITHUB_APP_CLIENT_SECRET:\\n\\n # Okta Auth - https://docs.tuist.io/en/guides/dashboard/on-premise/install#okta\\n TUIST_OKTA_SITE:\\n TUIST_OKTA_CLIENT_ID:\\n TUIST_OKTA_CLIENT_SECRET:\\n TUIST_OKTA_AUTHORIZE_URL: # Optional\\n TUIST_OKTA_TOKEN_URL: # Optional\\n TUIST_OKTA_USER_INFO_URL: # Optional\\n TUIST_OKTA_EVENT_HOOK_SECRET: # Optional\\n\\n # Storage\\n AWS_ACCESS_KEY_ID: # ...\\n AWS_SECRET_ACCESS_KEY: # ...\\n AWS_S3_REGION: # ...\\n AWS_ENDPOINT: # https://amazonaws.com\\n TUIST_S3_BUCKET_NAME: # ...\\n\\n # Other\\n\\nvolumes:\\n db:\\n driver: local\\n```\\n\\n## Operations {#operations}\\n\\nTuist provides a set of utilities under `/ops/` that you can use to manage your instance.\\n\\n> [!IMPORTANT] Authorization\\n> Only people whose handles are listed in the `TUIST_OPS_USER_HANDLES` environment variable can access the `/ops/` endpoints.\\n\\n- **Errors (`/ops/errors`):** You can view unexpected errors that ocurred in the application. This is useful for debugging and understanding what went wrong and we might ask you to share this information with us if you're facing issues.\\n- **Dashboard (`/ops/dashboard`):** You can view a dashboard that provides insights into the application's performance and health (e.g. memory consumption, processes running, number of requests). This dashboard can be quite useful to understand if the hardware you're using is enough to handle the load.\\n\",\"title\":\"Installation\",\"frontmatter\":{\"URL\":\"/en/guides/server/self-host/install\",\"LLMS_URL\":\"/en/guides/server/self-host/install.md\",\"title\":\"Installation\",\"titleTemplate\":\":title | Self-hosting | Server | Guides | Tuist\",\"description\":\"Learn how to install Tuist on your infrastructure.\"}},{\"path\":\"/en/guides/server/self-host/telemetry.md\",\"url\":\"/en/guides/server/self-host/telemetry\",\"llmUrl\":\"/en/guides/server/self-host/telemetry.md\",\"content\":\"---\\nURL: \\\"/en/guides/server/self-host/telemetry\\\"\\nLLMS_URL: \\\"/en/guides/server/self-host/telemetry.md\\\"\\ntitle: \\\"Telemetry\\\"\\ntitleTemplate: \\\":title | Self-hosting | Server | Guides | Tuist\\\"\\ndescription: \\\"Monitor your Tuist server with Prometheus and Grafana telemetry.\\\"\\n---\\n\\n# Telemetry {#telemetry}\\n\\nYou can ingest metrics gathered by the Tuist server using [Prometheus](https://prometheus.io/) and a visualization tool such as [Grafana](https://grafana.com/) to create a custom dashboard tailored to your needs. The Prometheus metrics are served via the `/metrics` endpoint on port 9091. The Prometheus' [scrape_interval](https://prometheus.io/docs/introduction/first_steps/#configuring-prometheus) should be set as less than 10_000 seconds (we recommend keeping the default of 15 seconds).\\n\\n## Elixir metrics {#elixir-metrics}\\n\\nBy default we include metrics of the Elixir runtime, BEAM, Elixir, and some of the libraries we use. The following are some of the metrics you can expect to see:\\n\\n- [Application](https://hexdocs.pm/prom_ex/PromEx.Plugins.Application.html)\\n- [BEAM](https://hexdocs.pm/prom_ex/PromEx.Plugins.Beam.html)\\n- [Phoenix](https://hexdocs.pm/prom_ex/PromEx.Plugins.Phoenix.html)\\n- [Phoenix LiveView](https://hexdocs.pm/prom_ex/PromEx.Plugins.PhoenixLiveView.html)\\n- [Ecto](https://hexdocs.pm/prom_ex/PromEx.Plugins.Ecto.html)\\n- [Oban](https://hexdocs.pm/prom_ex/PromEx.Plugins.Oban.html)\\n\\nWe recommend checking those pages to know which metrics are available and how to use them.\\n\\n## Runs metrics {#runs-metrics}\\n\\nA set of metrics related to Tuist Runs.\\n\\n### `tuist_runs_total` (counter) {#tuist_runs_total-counter}\\n\\nThe total number of Tuist Runs.\\n\\n#### Tags {#tuist-runs-total-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `name` | The name of the `tuist` command that was run, such as `build`, `test`, etc. |\\n| `is_ci` | A boolean indicating if the executor was a CI or a developer's machine. |\\n| `status` | `0` in case of `success`, `1` in case of `failure`. |\\n\\n### `tuist_runs_duration_milliseconds` (histogram) {#tuist_runs_duration_milliseconds-histogram}\\n\\nThe total duration of each tuist run in milliseconds.\\n\\n#### Tags {#tuist-runs-duration-miliseconds-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `name` | The name of the `tuist` command that was run, such as `build`, `test`, etc. |\\n| `is_ci` | A boolean indicating if the executor was a CI or a developer's machine. |\\n| `status` | `0` in case of `success`, `1` in case of `failure`. |\\n\\n## Cache metrics {#cache-metrics}\\n\\nA set of metrics related to the Tuist Cache.\\n\\n### `tuist_cache_events_total` (counter) {#tuist_cache_events_total-counter}\\n\\nThe total number of binary cache events.\\n\\n#### Tags {#tuist-cache-events-total-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `event_type` | Can be either of `local_hit`, `remote_hit`, or `miss`. |\\n\\n### `tuist_cache_uploads_total` (counter) {#tuist_cache_uploads_total-counter}\\n\\nThe number of uploads to the binary cache.\\n\\n### `tuist_cache_uploaded_bytes` (sum) {#tuist_cache_uploaded_bytes-sum}\\n\\nThe number of bytes uploaded to the binary cache.\\n\\n### `tuist_cache_downloads_total` (counter) {#tuist_cache_downloads_total-counter}\\n\\nThe number of downloads to the binary cache.\\n\\n### `tuist_cache_downloaded_bytes` (sum) {#tuist_cache_downloaded_bytes-sum}\\n\\nThe number of bytes downloaded from the binary cache.\\n\\n---\\n\\n## Previews metrics {#previews-metrics}\\n\\nA set of metrics related to the previews feature.\\n\\n### `tuist_previews_uploads_total` (sum) {#tuist_previews_uploads_total-counter}\\n\\nThe total number of previews uploaded.\\n\\n### `tuist_previews_downloads_total` (sum) {#tuist_previews_downloads_total-counter}\\n\\nThe total number of previews downloaded.\\n\\n---\\n\\n## Storage metrics {#storage-metrics}\\n\\nA set of metrics related to the storage of artifacts in a remote storage (e.g. s3).\\n\\n> [!TIP]\\n> These metrics are useful to understand the performance of the storage operations and to identify potential bottlenecks.\\n\\n### `tuist_storage_get_object_size_size_bytes` (histogram) {#tuist_storage_get_object_size_size_bytes-histogram}\\n\\nThe size (in bytes) of an object fetched from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-size-size-bytes-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n\\n### `tuist_storage_get_object_size_duration_miliseconds` (histogram) {#tuist_storage_get_object_size_duration_miliseconds-histogram}\\n\\nThe duration (in milliseconds) of fetching an object size from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-size-duration-miliseconds-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n\\n### `tuist_storage_get_object_size_count` (counter) {#tuist_storage_get_object_size_count-counter}\\n\\nThe number of times an object size was fetched from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-size-count-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_delete_all_objects_duration_milliseconds` (histogram) {#tuist_storage_delete_all_objects_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of deleting all objects from the remote storage.\\n\\n#### Tags {#tuist-storage-delete-all-objects-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `project_slug` | The project slug of the project whose objects are being deleted. |\\n\\n\\n### `tuist_storage_delete_all_objects_count` (counter) {#tuist_storage_delete_all_objects_count-counter}\\n\\nThe number of times all project objects were deleted from the remote storage.\\n\\n#### Tags {#tuist-storage-delete-all-objects-count-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `project_slug` | The project slug of the project whose objects are being deleted. |\\n\\n\\n### `tuist_storage_multipart_start_upload_duration_milliseconds` (histogram) {#tuist_storage_multipart_start_upload_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of starting an upload to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-start-upload-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_multipart_start_upload_duration_count` (counter) {#tuist_storage_multipart_start_upload_duration_count-counter}\\n\\nThe number of times an upload was started to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-start-upload-duration-count-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n\\n### `tuist_storage_get_object_as_string_duration_milliseconds` (histogram) {#tuist_storage_get_object_as_string_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of fetching an object as a string from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-as-string-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_get_object_as_string_count` (count) {#tuist_storage_get_object_as_string_count-count}\\n\\nThe number of times an object was fetched as a string from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-as-string-count-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n\\n### `tuist_storage_check_object_existence_duration_milliseconds` (histogram) {#tuist_storage_check_object_existence_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of checking the existence of an object in the remote storage.\\n\\n#### Tags {#tuist-storage-check-object-existence-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_check_object_existence_count` (count) {#tuist_storage_check_object_existence_count-count}\\n\\nThe number of times the existence of an object was checked in the remote storage.\\n\\n#### Tags {#tuist-storage-check-object-existence-count-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_generate_download_presigned_url_duration_milliseconds` (histogram) {#tuist_storage_generate_download_presigned_url_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of generating a download presigned URL for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-generate-download-presigned-url-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n\\n### `tuist_storage_generate_download_presigned_url_count` (count) {#tuist_storage_generate_download_presigned_url_count-count}\\n\\nThe number of times a download presigned URL was generated for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-generate-download-presigned-url-count-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_multipart_generate_upload_part_presigned_url_duration_milliseconds` (histogram) {#tuist_storage_multipart_generate_upload_part_presigned_url_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of generating a part upload presigned URL for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-generate-upload-part-presigned-url-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `part_number` | The part number of the object being uploaded. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n### `tuist_storage_multipart_generate_upload_part_presigned_url_count` (count) {#tuist_storage_multipart_generate_upload_part_presigned_url_count-count}\\n\\nThe number of times a part upload presigned URL was generated for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-generate-upload-part-presigned-url-count-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `part_number` | The part number of the object being uploaded. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n### `tuist_storage_multipart_complete_upload_duration_milliseconds` (histogram) {#tuist_storage_multipart_complete_upload_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of completing an upload to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-complete-upload-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n\\n### `tuist_storage_multipart_complete_upload_count` (count) {#tuist_storage_multipart_complete_upload_count-count}\\n\\nThe total number of times an upload was completed to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-complete-upload-count-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n---\\n\\n## Authentication metrics {#authentication-metrics}\\n\\nA set of metrics related to authentication.\\n\\n### `tuist_authentication_token_refresh_error_total` (counter) {#tuist_authentication_token_refresh_error_total-counter}\\n\\nThe total number of token refresh errors.\\n\\n#### Tags {#tuist-authentication-token-refresh-error-total-tags}\\n\\n| Tag | Description |\\n|--- | ---- |\\n| `cli_version` | The version of the Tuist CLI that encountered the error. |\\n| `reason` | The reason for the token refresh error, such as `invalid_token_type` or `invalid_token`. |\\n\\n---\\n\\n## Projects metrics {#projects-metrics}\\n\\nA set of metrics related to the projects.\\n\\n### `tuist_projects_total` (last_value) {#tuist_projects_total-last_value}\\n\\nThe total number of projects.\\n\\n---\\n\\n## Accounts metrics {#accounts-metrics}\\n\\nA set of metrics related to accounts (users and organizations).\\n\\n### `tuist_accounts_organizations_total` (last_value) {#tuist_accounts_organizations_total-last_value}\\n\\nThe total number of organizations.\\n\\n### `tuist_accounts_users_total` (last_value) {#tuist_accounts_users_total-last_value}\\n\\nThe total number of users.\\n\\n\\n## Database metrics {#database-metrics}\\n\\nA set of metrics related to the database connection.\\n\\n### `tuist_repo_pool_checkout_queue_length` (last_value) {#tuist_repo_pool_checkout_queue_length-last_value}\\n\\nThe number of database queries that are sitting in a queue waiting to be assigned to a database connection.\\n\\n### `tuist_repo_pool_ready_conn_count` (last_value) {#tuist_repo_pool_ready_conn_count-last_value}\\n\\nThe number of database connections that are ready to be assigned to a database query.\\n\\n\\n### `tuist_repo_pool_db_connection_connected` (counter) {#tuist_repo_pool_db_connection_connected-counter}\\n\\nThe number of connections that have been established to the database.\\n\\n### `tuist_repo_pool_db_connection_disconnected` (counter) {#tuist_repo_pool_db_connection_disconnected-counter}\\n\\nThe number of connections that have been disconnected from the database.\\n\\n## HTTP metrics {#http-metrics}\\n\\nA set of metrics related to Tuist's interactions with other services via HTTP.\\n\\n### `tuist_http_request_count` (counter) {#tuist_http_request_count-last_value}\\n\\nThe number of outgoing HTTP requests.\\n\\n### `tuist_http_request_duration_nanosecond_sum` (sum) {#tuist_http_request_duration_nanosecond_sum-last_value}\\n\\nThe sum of the duration of the outgoing requests (including the time that they spent waiting to be assigned to a connection).\\n\\n### `tuist_http_request_duration_nanosecond_bucket` (distribution) {#tuist_http_request_duration_nanosecond_bucket-distribution}\\nThe distribution of the duration of outgoing requests (including the time that they spent waiting to be assigned to a connection).\\n\\n### `tuist_http_queue_count` (counter) {#tuist_http_queue_count-counter}\\n\\nThe number of requests that have been retrieved from the pool.\\n\\n### `tuist_http_queue_duration_nanoseconds_sum` (sum) {#tuist_http_queue_duration_nanoseconds_sum-sum}\\n\\nThe time it takes to retrieve a connection from the pool.\\n\\n### `tuist_http_queue_idle_time_nanoseconds_sum` (sum) {#tuist_http_queue_idle_time_nanoseconds_sum-sum}\\n\\nThe time a connection has been idle waiting to be retrieved.\\n\\n### `tuist_http_queue_duration_nanoseconds_bucket` (distribution) {#tuist_http_queue_duration_nanoseconds_bucket-distribution}\\n\\nThe time it takes to retrieve a connection from the pool.\\n\\n### `tuist_http_queue_idle_time_nanoseconds_bucket` (distribution) {#tuist_http_queue_idle_time_nanoseconds_bucket-distribution}\\n\\nThe time a connection has been idle waiting to be retrieved.\\n\\n### `tuist_http_connection_count` (counter) {#tuist_http_connection_count-counter}\\n\\nThe number of connections that have been established.\\n\\n### `tuist_http_connection_duration_nanoseconds_sum` (sum) {#tuist_http_connection_duration_nanoseconds_sum-sum}\\n\\nThe time it takes to establish a connection against a host.\\n\\n### `tuist_http_connection_duration_nanoseconds_bucket` (distribution) {#tuist_http_connection_duration_nanoseconds_bucket-distribution}\\n\\nThe distribution of the time it takes to establish a connection against a host.\\n\\n### `tuist_http_send_count` (counter) {#tuist_http_send_count-counter}\\n\\nThe number of requests that have been sent once assigned to a connection from the pool.\\n\\n### `tuist_http_send_duration_nanoseconds_sum` (sum) {#tuist_http_send_duration_nanoseconds_sum-sum}\\n\\nThe time that it takes for requests to complete once assigned to a connection from the pool.\\n\\n### `tuist_http_send_duration_nanoseconds_bucket` (distribution) {#tuist_http_send_duration_nanoseconds_bucket-distribution}\\n\\nThe distribution of the time that it takes for requests to complete once assigned to a connection from the pool.\\n\\n### `tuist_http_receive_count` (counter) {#tuist_http_receive_count-counter}\\n\\nThe number of responses that have been received from sent requests.\\n\\n### `tuist_http_receive_duration_nanoseconds_sum` (sum) {#tuist_http_receive_duration_nanoseconds_sum-sum}\\n\\nThe time spent receiving responses.\\n\\n### `tuist_http_receive_duration_nanoseconds_bucket` (distribution) {#tuist_http_receive_duration_nanoseconds_bucket-distribution}\\n\\nThe distribution of the time spent receiving responses.\\n\\n### `tuist_http_queue_available_connections` (last_value) {#tuist_http_queue_available_connections-last_value}\\n\\nThe number of connections available in the queue.\\n\\n### `tuist_http_queue_in_use_connections` (last_value) {#tuist_http_queue_in_use_connections-last_value}\\n\\nThe number of queue connections that are in use.\\n\",\"title\":\"Telemetry\",\"frontmatter\":{\"URL\":\"/en/guides/server/self-host/telemetry\",\"LLMS_URL\":\"/en/guides/server/self-host/telemetry.md\",\"title\":\"Telemetry\",\"titleTemplate\":\":title | Self-hosting | Server | Guides | Tuist\",\"description\":\"Monitor your Tuist server with Prometheus and Grafana telemetry.\"}},{\"path\":\"/en/references/examples.md\",\"url\":\"/en/references/examples\",\"llmUrl\":\"/en/references/examples.md\",\"content\":\"---\\nURL: \\\"/en/references/examples\\\"\\nLLMS_URL: \\\"/en/references/examples.md\\\"\\ntitle: \\\"Examples\\\"\\ntitleTemplate: \\\":title · References · Tuist\\\"\\ndescription: \\\"This page documents how to migrate the Tuist CLI from the version 3 to version 4.\\\"\\n---\\n\\n# Examples\\n\\nIn this section you'll find examples of generated projects which we use as [fixtures](https://github.com/tuist/tuist/tree/main/cli/Fixtures) to run acceptance tests against. You might find them useful when creating a new generated project, or migrating an existing Xcode project to be generated by Tuist.\\n\",\"title\":\"Examples\",\"frontmatter\":{\"URL\":\"/en/references/examples\",\"LLMS_URL\":\"/en/references/examples.md\",\"title\":\"Examples\",\"titleTemplate\":\":title · References · Tuist\",\"description\":\"This page documents how to migrate the Tuist CLI from the version 3 to version 4.\"}},{\"path\":\"/en/references/examples/app_with_airship_sdk.md\",\"url\":\"/en/references/examples/app_with_airship_sdk\",\"llmUrl\":\"/en/references/examples/app_with_airship_sdk.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_airship_sdk\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_airship_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Airship SDK\\n\\nThis example contains an example that showcases how to integrate the [Airship](https://github.com/urbanairship/ios-library) SDK.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Airship SDK\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_airship_sdk\",\"LLMS_URL\":\"/en/references/examples/app_with_airship_sdk.md\"}},{\"path\":\"/en/references/examples/app_with_build_rules.md\",\"url\":\"/en/references/examples/app_with_build_rules\",\"llmUrl\":\"/en/references/examples/app_with_build_rules.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_build_rules\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_build_rules.md\\\"\\n---\\n\\n\\n\\n# Application with build rules\\n\\nThis example contains an example that uses [build rules](https://developer.apple.com/documentation/xcode/creating-build-rules-for-custom-file-types), which instruct Xcode on how to compile a particular file.\\n\\nCheck out example\\n\",\"title\":\"Application with build rules\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_build_rules\",\"LLMS_URL\":\"/en/references/examples/app_with_build_rules.md\"}},{\"path\":\"/en/references/examples/app_with_composable_architecture.md\",\"url\":\"/en/references/examples/app_with_composable_architecture\",\"llmUrl\":\"/en/references/examples/app_with_composable_architecture.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_composable_architecture\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_composable_architecture.md\\\"\\n---\\n\\n\\n\\n# Application with the Composable Architecture (TCA)\\n\\nThis example contains an example that uses the Composable Architecture.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Composable Architecture (TCA)\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_composable_architecture\",\"LLMS_URL\":\"/en/references/examples/app_with_composable_architecture.md\"}},{\"path\":\"/en/references/examples/app_with_custom_default_configuration.md\",\"url\":\"/en/references/examples/app_with_custom_default_configuration\",\"llmUrl\":\"/en/references/examples/app_with_custom_default_configuration.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_custom_default_configuration\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_custom_default_configuration.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration\\n\\nApp that showcases a custom default configuration generationo option.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_custom_default_configuration\",\"LLMS_URL\":\"/en/references/examples/app_with_custom_default_configuration.md\"}},{\"path\":\"/en/references/examples/app_with_custom_default_configuration_settings.md\",\"url\":\"/en/references/examples/app_with_custom_default_configuration_settings\",\"llmUrl\":\"/en/references/examples/app_with_custom_default_configuration_settings.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_custom_default_configuration_settings\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_custom_default_configuration_settings.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration settings\\n\\nThis example demonstrates how to set a [default configuration](https://developer.apple.com/library/archive/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-MY_APP_HAS_MULTIPLE_BUILD_CONFIGURATIONS__HOW_DO_I_SET_A_DEFAULT_BUILD_CONFIGURATION_FOR_XCODEBUILD_) in the project settings, which will be used by `xcodebuild` when building from the command-line.\\n\\nThe default build configuration is also used to [visually activate code](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Source-Editor) in `#if…#endif` blocks when working with custom configurations other than Debug or Release in Xcode 15 and later.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration settings\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_custom_default_configuration_settings\",\"LLMS_URL\":\"/en/references/examples/app_with_custom_default_configuration_settings.md\"}},{\"path\":\"/en/references/examples/app_with_custom_scheme.md\",\"url\":\"/en/references/examples/app_with_custom_scheme\",\"llmUrl\":\"/en/references/examples/app_with_custom_scheme.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_custom_scheme\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_custom_scheme.md\\\"\\n---\\n\\n\\n\\n# Application with custom scheme\\n\\nThis example contains an example that uses a custom scheme to demonstrate how to modify schemes to ones needs.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with custom scheme\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_custom_scheme\",\"LLMS_URL\":\"/en/references/examples/app_with_custom_scheme.md\"}},{\"path\":\"/en/references/examples/app_with_executable_non_local_dependencies.md\",\"url\":\"/en/references/examples/app_with_executable_non_local_dependencies\",\"llmUrl\":\"/en/references/examples/app_with_executable_non_local_dependencies.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_executable_non_local_dependencies\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_executable_non_local_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application with Executable Non Local Dependencies\\n\\nThis example consists of two projects:\\n- Main app project, which contains the main iOS application\\n- Helper targets project, which includes various targets that the main app relies on\\n\\nIt demonstrates a scenario where the main app depends on executable targets from another project.\\nThere are three such targets:\\n1. `AppExtension` - an app extension target\\n2. `WatchApp` - a watchOS app target\\n3. `TestHost` - an app target intended to serve as the test host for test targets (and also exemplifies a regular app target)\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Executable Non Local Dependencies\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_executable_non_local_dependencies\",\"LLMS_URL\":\"/en/references/examples/app_with_executable_non_local_dependencies.md\"}},{\"path\":\"/en/references/examples/app_with_exponea_sdk.md\",\"url\":\"/en/references/examples/app_with_exponea_sdk\",\"llmUrl\":\"/en/references/examples/app_with_exponea_sdk.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_exponea_sdk\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_exponea_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Exponea SDK\\n\\nThis example contains an example that showcases how to integrate the [Exponea](https://github.com/exponea/exponea-ios-sdk) SDK. This SDK includes a core data model.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Exponea SDK\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_exponea_sdk\",\"LLMS_URL\":\"/en/references/examples/app_with_exponea_sdk.md\"}},{\"path\":\"/en/references/examples/app_with_generated_sources.md\",\"url\":\"/en/references/examples/app_with_generated_sources\",\"llmUrl\":\"/en/references/examples/app_with_generated_sources.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_generated_sources\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_generated_sources.md\\\"\\n---\\n\\n\\n\\n# App with generated sources\\n\\nThis app is to showcase using sources that are generated during the build process (as oppose to sources that already exist when buildig).\\n\\n\\nCheck out example\\n\",\"title\":\"App with generated sources\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_generated_sources\",\"LLMS_URL\":\"/en/references/examples/app_with_generated_sources.md\"}},{\"path\":\"/en/references/examples/app_with_globs.md\",\"url\":\"/en/references/examples/app_with_globs\",\"llmUrl\":\"/en/references/examples/app_with_globs.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_globs\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_globs.md\\\"\\n---\\n\\n\\n\\n# App with globs\\n\\nThis app is to showcase and test complex glob patterns for sources, resources, additional files, etc.\\n\\n\\nCheck out example\\n\",\"title\":\"App with globs\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_globs\",\"LLMS_URL\":\"/en/references/examples/app_with_globs.md\"}},{\"path\":\"/en/references/examples/app_with_google_maps.md\",\"url\":\"/en/references/examples/app_with_google_maps\",\"llmUrl\":\"/en/references/examples/app_with_google_maps.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_google_maps\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_google_maps.md\\\"\\n---\\n\\n\\n\\n# App with Google Maps\\n\\nAn example of integrating an app with Google Maps. The `GoogleMaps` dependency is imported into the App through a dynamic framework.\\n\\nCheck out example\\n\",\"title\":\"App with Google Maps\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_google_maps\",\"LLMS_URL\":\"/en/references/examples/app_with_google_maps.md\"}},{\"path\":\"/en/references/examples/app_with_local_spm_module_with_embed_frameworks.md\",\"url\":\"/en/references/examples/app_with_local_spm_module_with_embed_frameworks\",\"llmUrl\":\"/en/references/examples/app_with_local_spm_module_with_embed_frameworks.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_local_spm_module_with_embed_frameworks\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_local_spm_module_with_embed_frameworks.md\\\"\\n---\\n\\n\\n\\n# Application with Embedded Local SPM Module\\n\\nThis example project demonstrates an application that includes a local Swift Package Manager (SPM) module (`LocalSwiftPackage`) configured as an embedded framework.\\n\\nThe project leverages a local SPM module added to the Embed Frameworks section, showing that local SPM packages can now be embedded within the application.\\n\\nThis demo project exists to validate and showcase the capability to embed local SPM modules as frameworks, allowing seamless integration into the main app.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Embedded Local SPM Module\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_local_spm_module_with_embed_frameworks\",\"LLMS_URL\":\"/en/references/examples/app_with_local_spm_module_with_embed_frameworks.md\"}},{\"path\":\"/en/references/examples/app_with_local_spm_module_with_remote_dependencies.md\",\"url\":\"/en/references/examples/app_with_local_spm_module_with_remote_dependencies\",\"llmUrl\":\"/en/references/examples/app_with_local_spm_module_with_remote_dependencies.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_local_spm_module_with_remote_dependencies\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_local_spm_module_with_remote_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application wih Local SPM Module with Remote Dependencies\\n\\nThis example contains a project that depends upon a local SPM module (`LocalSwiftPackage`) colocated within this directory.\\n\\nThis project does NOT contain any direct remote dependencies.\\nHowever, `LocalSwiftPackage` DOES have remote dependencies.\\n\\nThis example application exists to ensure that package resolution occurs even in the case of solely transitive remote dependencies.\\n\\nCheck out example\\n\",\"title\":\"Application wih Local SPM Module with Remote Dependencies\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_local_spm_module_with_remote_dependencies\",\"LLMS_URL\":\"/en/references/examples/app_with_local_spm_module_with_remote_dependencies.md\"}},{\"path\":\"/en/references/examples/app_with_metal_options.md\",\"url\":\"/en/references/examples/app_with_metal_options\",\"llmUrl\":\"/en/references/examples/app_with_metal_options.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_metal_options\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_metal_options.md\\\"\\n---\\n\\n\\n\\n# App with a metal diagnostic configuration\\n\\nApp that showcases a custom and default configuration for metal diagnostics.\\n\\n\\nCheck out example\\n\",\"title\":\"App with a metal diagnostic configuration\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_metal_options\",\"LLMS_URL\":\"/en/references/examples/app_with_metal_options.md\"}},{\"path\":\"/en/references/examples/app_with_organization_name_project.md\",\"url\":\"/en/references/examples/app_with_organization_name_project\",\"llmUrl\":\"/en/references/examples/app_with_organization_name_project.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_organization_name_project\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_organization_name_project.md\\\"\\n---\\n\\n\\n\\n# App with organization name defined in `Project`\\n\\nAn iOS app where the organization name is defined at the `Project` level.\\n\\nCheck out example\\n\",\"title\":\"App with organization name defined in `Project`\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_organization_name_project\",\"LLMS_URL\":\"/en/references/examples/app_with_organization_name_project.md\"}},{\"path\":\"/en/references/examples/app_with_realm.md\",\"url\":\"/en/references/examples/app_with_realm\",\"llmUrl\":\"/en/references/examples/app_with_realm.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_realm\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_realm.md\\\"\\n---\\n\\n\\n\\n# Application with Realm\\n\\nThis example contains an example that showcases how to integrate the [Realm Swift](https://github.com/realm/realm-swift) library.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Realm\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_realm\",\"LLMS_URL\":\"/en/references/examples/app_with_realm.md\"}},{\"path\":\"/en/references/examples/app_with_signed_xcframework_dependencies.md\",\"url\":\"/en/references/examples/app_with_signed_xcframework_dependencies\",\"llmUrl\":\"/en/references/examples/app_with_signed_xcframework_dependencies.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_signed_xcframework_dependencies\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_signed_xcframework_dependencies.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies\\n\\nAn example of an application which depends on XCFrameworks with different kinds of signatures:\\n- Signature not specified (signature validation should be skipped)\\n- Unsigned\\n- Signed with Apple certificate\\n- Self signed\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_signed_xcframework_dependencies\",\"LLMS_URL\":\"/en/references/examples/app_with_signed_xcframework_dependencies.md\"}},{\"path\":\"/en/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"url\":\"/en/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\",\"llmUrl\":\"/en/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies - Mismatching Signature\\n\\nExample of an app with a signed XCFramework dependency, where the XCFramework is declared to have a signature that\\ndoesn't match the actual signature.\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies - Mismatching Signature\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\",\"LLMS_URL\":\"/en/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\"}},{\"path\":\"/en/references/examples/app_with_spm_xcframework_dependency.md\",\"url\":\"/en/references/examples/app_with_spm_xcframework_dependency\",\"llmUrl\":\"/en/references/examples/app_with_spm_xcframework_dependency.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/app_with_spm_xcframework_dependency\\\"\\nLLMS_URL: \\\"/en/references/examples/app_with_spm_xcframework_dependency.md\\\"\\n---\\n\\n\\n\\n# Application with XCFramework Swift Package Manager Dependenciy\\n\\nThis example contains an example that imports an external XCFramework using Swift Package Manager dependencies.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with XCFramework Swift Package Manager Dependenciy\",\"frontmatter\":{\"URL\":\"/en/references/examples/app_with_spm_xcframework_dependency\",\"LLMS_URL\":\"/en/references/examples/app_with_spm_xcframework_dependency.md\"}},{\"path\":\"/en/references/examples/framework_with_environment_variables.md\",\"url\":\"/en/references/examples/framework_with_environment_variables\",\"llmUrl\":\"/en/references/examples/framework_with_environment_variables.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/framework_with_environment_variables\\\"\\nLLMS_URL: \\\"/en/references/examples/framework_with_environment_variables.md\\\"\\n---\\n\\n\\n\\n# Framework with environment variables\\n\\nA framework project that leverages environment variables to change the name of the framework.\\n\\nCheck out example\\n\",\"title\":\"Framework with environment variables\",\"frontmatter\":{\"URL\":\"/en/references/examples/framework_with_environment_variables\",\"LLMS_URL\":\"/en/references/examples/framework_with_environment_variables.md\"}},{\"path\":\"/en/references/examples/framework_with_macro_and_plugin_packages.md\",\"url\":\"/en/references/examples/framework_with_macro_and_plugin_packages\",\"llmUrl\":\"/en/references/examples/framework_with_macro_and_plugin_packages.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/framework_with_macro_and_plugin_packages\\\"\\nLLMS_URL: \\\"/en/references/examples/framework_with_macro_and_plugin_packages.md\\\"\\n---\\n\\n\\n\\n# Framework with native Swift Macro and Plugin packages\\n\\nThis project represents a project with a framework that integrates the following Swift Packages:\\n\\n- A [build tool plugin](https://github.com/apple/swift-package-manager/blob/main/Documentation/Plugins.md) using Xcode's native integration.\\n- A Swift Macro using Tuist's integration based on XcodeProj primitives.\\n\\nCheck out example\\n\",\"title\":\"Framework with native Swift Macro and Plugin packages\",\"frontmatter\":{\"URL\":\"/en/references/examples/framework_with_macro_and_plugin_packages\",\"LLMS_URL\":\"/en/references/examples/framework_with_macro_and_plugin_packages.md\"}},{\"path\":\"/en/references/examples/generated_ios_app_without_config_manifest.md\",\"url\":\"/en/references/examples/generated_ios_app_without_config_manifest\",\"llmUrl\":\"/en/references/examples/generated_ios_app_without_config_manifest.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/generated_ios_app_without_config_manifest\\\"\\nLLMS_URL: \\\"/en/references/examples/generated_ios_app_without_config_manifest.md\\\"\\n---\\n\\n\\n\\n# Generated iOS App without a config manifest\\n\\nThe presence of `Tuist.swift` is optional. When absent, Tuist provides a default configuration based on the type project detected in the file-system.\\n\\n\\nCheck out example\\n\",\"title\":\"Generated iOS App without a config manifest\",\"frontmatter\":{\"URL\":\"/en/references/examples/generated_ios_app_without_config_manifest\",\"LLMS_URL\":\"/en/references/examples/generated_ios_app_without_config_manifest.md\"}},{\"path\":\"/en/references/examples/ios_app_with_actions.md\",\"url\":\"/en/references/examples/ios_app_with_actions\",\"llmUrl\":\"/en/references/examples/ios_app_with_actions.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_actions\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_actions.md\\\"\\n---\\n\\n\\n\\n# iOS app with actions\\n\\nAn iOS app with a target that has pre and post actions.\\n\\nCheck out example\\n\",\"title\":\"iOS app with actions\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_actions\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_actions.md\"}},{\"path\":\"/en/references/examples/ios_app_with_build_variables.md\",\"url\":\"/en/references/examples/ios_app_with_build_variables\",\"llmUrl\":\"/en/references/examples/ios_app_with_build_variables.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_build_variables\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_build_variables.md\\\"\\n---\\n\\n\\n\\n# iOS app with build variables\\n\\nAn iOS app with a Xcode build variables defined in pre action.\\n\\nCheck out example\\n\",\"title\":\"iOS app with build variables\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_build_variables\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_build_variables.md\"}},{\"path\":\"/en/references/examples/ios_app_with_coredata.md\",\"url\":\"/en/references/examples/ios_app_with_coredata\",\"llmUrl\":\"/en/references/examples/ios_app_with_coredata.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_coredata\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_coredata.md\\\"\\n---\\n\\n\\n\\n# Application with CoreData models\\n\\nThis example showcases a project that utilizes CoreData models and code generation for these models using resourceSynthesizer.\\n\\nCheck out example\\n\",\"title\":\"Application with CoreData models\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_coredata\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_coredata.md\"}},{\"path\":\"/en/references/examples/ios_app_with_cplusplus_interoperability.md\",\"url\":\"/en/references/examples/ios_app_with_cplusplus_interoperability\",\"llmUrl\":\"/en/references/examples/ios_app_with_cplusplus_interoperability.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_cplusplus_interoperability\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_cplusplus_interoperability.md\\\"\\n---\\n\\n\\n\\n# iOS App with C++ Interoperability\\n\\nThis repository contains dependencies with the `.interoperabilityMode(.Cxx)` and ensures when Tuist converts those into Xcode targets, the right build settings are applied to the generated targets.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS App with C++ Interoperability\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_cplusplus_interoperability\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_cplusplus_interoperability.md\"}},{\"path\":\"/en/references/examples/ios_app_with_custom_workspace.md\",\"url\":\"/en/references/examples/ios_app_with_custom_workspace\",\"llmUrl\":\"/en/references/examples/ios_app_with_custom_workspace.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_custom_workspace\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_custom_workspace.md\\\"\\n---\\n\\n\\n\\n# iOS app with a custom workspace\\n\\niOS with a few projects and a `Workspace.swift` manifest file.\\n\\nThe workspace manifest defines:\\n\\n- glob patterns to list projects\\n- glob patterns to include documentation files\\n- folder reference to directory with html files\\n\\nThe App's project manifest leverages `additionalFiles` that:\\n\\n- defines glob patterns to include documentation files\\n- includes a Swift `Danger.swift` file that shouldn't get included in any build phase\\n- defines folder references to a directory with json files\\n\\nCheck out example\\n\",\"title\":\"iOS app with a custom workspace\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_custom_workspace\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_custom_workspace.md\"}},{\"path\":\"/en/references/examples/ios_app_with_extensions.md\",\"url\":\"/en/references/examples/ios_app_with_extensions\",\"llmUrl\":\"/en/references/examples/ios_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_extensions\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# iOS app with extensions\\n\\nSample iOS application with extension targets.\\n\\nCheck out example\\n\",\"title\":\"iOS app with extensions\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_extensions\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_extensions.md\"}},{\"path\":\"/en/references/examples/ios_app_with_framework_and_resources.md\",\"url\":\"/en/references/examples/ios_app_with_framework_and_resources\",\"llmUrl\":\"/en/references/examples/ios_app_with_framework_and_resources.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_framework_and_resources\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_framework_and_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with a framework and resources\\n\\nA workspace with an application that includes resources.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - StaticFramework\\n - StaticFramework (static iOS framework)\\n - StaticFrameworkResources (iOS bundle)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> StaticFramework\\n- App -> StaticFrameworkResources\\n\\nCheck out example\\n\",\"title\":\"iOS app with a framework and resources\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_framework_and_resources\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_framework_and_resources.md\"}},{\"path\":\"/en/references/examples/ios_app_with_framework_linking_static_framework.md\",\"url\":\"/en/references/examples/ios_app_with_framework_linking_static_framework\",\"llmUrl\":\"/en/references/examples/ios_app_with_framework_linking_static_framework.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_framework_linking_static_framework\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_framework_linking_static_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a dynamic framework that links a static framework\\n\\n\\nAn example project demonstrating an iOS application linking a dynamic framework which itself depends on a static framework with transitive static dependencies.\\n\\nOnly `Framework1.framework` should be linked and included into App, everything else should be statically linked into the Framework1 executable.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (static iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (static iOS framework)\\n - Framework3Tests (iOS unit tests)\\n - Framework4:\\n - Framework4 (static iOS framework)\\n - Framework4Tests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2\\n- Framework1 -> Framework3\\n- Framework3 -> Framework4\\n\\n\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with a dynamic framework that links a static framework\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_framework_linking_static_framework\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_framework_linking_static_framework.md\"}},{\"path\":\"/en/references/examples/ios_app_with_frameworks.md\",\"url\":\"/en/references/examples/ios_app_with_frameworks\",\"llmUrl\":\"/en/references/examples/ios_app_with_frameworks.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_frameworks\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with frameworks\\n\\n\\nSlightly more complicated project that consists of an iOS app and few frameworks.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (dynamic iOS framework)\\n - Framework4:\\n - Framework4 (dynamic iOS framework)\\n - Framework5:\\n - Framework5 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> Framework2\\n- Framework1 -> Framework2\\n- Framework2 -> Framework3\\n- Framework3 -> Framework4\\n- Framework4 -> Framework5\\n\\nCheck out example\\n\",\"title\":\"iOS app with frameworks\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_frameworks\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_frameworks.md\"}},{\"path\":\"/en/references/examples/ios_app_with_helpers.md\",\"url\":\"/en/references/examples/ios_app_with_helpers\",\"llmUrl\":\"/en/references/examples/ios_app_with_helpers.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_helpers\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_helpers.md\\\"\\n---\\n\\n\\n\\n# iOS app with helpers\\n\\nA basic iOS app that leverages `ProjectDescriptionHelpers`.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with helpers\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_helpers\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_helpers.md\"}},{\"path\":\"/en/references/examples/ios_app_with_incompatible_dependencies.md\",\"url\":\"/en/references/examples/ios_app_with_incompatible_dependencies\",\"llmUrl\":\"/en/references/examples/ios_app_with_incompatible_dependencies.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_incompatible_dependencies\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_incompatible_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible dependencies\\n\\nAn iOS app that has a dependency with a dependency on a framework for macOS.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible dependencies\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_incompatible_dependencies\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_incompatible_dependencies.md\"}},{\"path\":\"/en/references/examples/ios_app_with_incompatible_xcode.md\",\"url\":\"/en/references/examples/ios_app_with_incompatible_xcode\",\"llmUrl\":\"/en/references/examples/ios_app_with_incompatible_xcode.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_incompatible_xcode\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_incompatible_xcode.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible Xcode\\n\\nAn iOS app whose Config file requires an Xcode version that is not available in the system.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible Xcode\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_incompatible_xcode\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_incompatible_xcode.md\"}},{\"path\":\"/en/references/examples/ios_app_with_local_swift_package.md\",\"url\":\"/en/references/examples/ios_app_with_local_swift_package\",\"llmUrl\":\"/en/references/examples/ios_app_with_local_swift_package.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_local_swift_package\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_local_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a local Swift package\\n\\nAn iOS application that depends on a local Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS app with a local Swift package\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_local_swift_package\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_local_swift_package.md\"}},{\"path\":\"/en/references/examples/ios_app_with_multi_configs.md\",\"url\":\"/en/references/examples/ios_app_with_multi_configs\",\"llmUrl\":\"/en/references/examples/ios_app_with_multi_configs.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_multi_configs\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_multi_configs.md\\\"\\n---\\n\\n\\n\\n# iOS app with multiple configurations and an xcconfig\\n\\nA workspace that contains an application and frameworks that leverage multiple configurations (Debug, Beta and Release) each of which also has an associated xcconfig file within `ConfigurationFiles`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with multiple configurations and an xcconfig\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_multi_configs\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_multi_configs.md\"}},{\"path\":\"/en/references/examples/ios_app_with_on_demand_resources.md\",\"url\":\"/en/references/examples/ios_app_with_on_demand_resources\",\"llmUrl\":\"/en/references/examples/ios_app_with_on_demand_resources.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_on_demand_resources\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_on_demand_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with on demand resources\\n\\nAn iOS applicaiton with on-demand resources. It contains file resources and asset catalogs associated with tags which in turn are distributed between three categories:\\n- Initial install tags\\n- Prefetch tag order\\n- Dowloaded only on demand\\n\\nCheck out example\\n\",\"title\":\"iOS app with on demand resources\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_on_demand_resources\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_on_demand_resources.md\"}},{\"path\":\"/en/references/examples/ios_app_with_privacy_manifest.md\",\"url\":\"/en/references/examples/ios_app_with_privacy_manifest\",\"llmUrl\":\"/en/references/examples/ios_app_with_privacy_manifest.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_privacy_manifest\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_privacy_manifest.md\\\"\\n---\\n\\n\\n\\n# Application with Privacy Manifest\\n\\nThis example contains an example that uses a [Privacy Manifest](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files), which describe the data the app collects and the reasons required APIs it uses.\\n\\nCheck out example\\n\",\"title\":\"Application with Privacy Manifest\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_privacy_manifest\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_privacy_manifest.md\"}},{\"path\":\"/en/references/examples/ios_app_with_remote_swift_package.md\",\"url\":\"/en/references/examples/ios_app_with_remote_swift_package\",\"llmUrl\":\"/en/references/examples/ios_app_with_remote_swift_package.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_remote_swift_package\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_remote_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS App with a remote Swift package\\n\\nAn iOS application with a remote Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS App with a remote Swift package\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_remote_swift_package\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_remote_swift_package.md\"}},{\"path\":\"/en/references/examples/ios_app_with_sandbox_disabled.md\",\"url\":\"/en/references/examples/ios_app_with_sandbox_disabled\",\"llmUrl\":\"/en/references/examples/ios_app_with_sandbox_disabled.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_sandbox_disabled\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_sandbox_disabled.md\\\"\\n---\\n\\n\\n\\n# iOS app with sandbox disabled\\n\\nAn example of a project manifest that accesses the file system, and therefore requires the sandbox to be disabled.\\n\\n*Note: disabling the sandbox is discouraged and should only be used if absolutely necessary.*\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with sandbox disabled\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_sandbox_disabled\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_sandbox_disabled.md\"}},{\"path\":\"/en/references/examples/ios_app_with_sdk.md\",\"url\":\"/en/references/examples/ios_app_with_sdk\",\"llmUrl\":\"/en/references/examples/ios_app_with_sdk.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_sdk\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_sdk.md\\\"\\n---\\n\\n\\n\\n# iOS app with an SDK\\n\\nAn application that contains an application target that depends on system libraries and frameworks (`.framework` and `.tbd`).\\n\\nOne of the dependencies is declared as `.optional` i.e. will be linked weakly.\\n\\nCheck out example\\n\",\"title\":\"iOS app with an SDK\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_sdk\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_sdk.md\"}},{\"path\":\"/en/references/examples/ios_app_with_spm_dependencies.md\",\"url\":\"/en/references/examples/ios_app_with_spm_dependencies\",\"llmUrl\":\"/en/references/examples/ios_app_with_spm_dependencies.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_spm_dependencies\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_spm_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependencies\\n\\nAn iOS application project with various SPM dependencies.\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependencies\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_spm_dependencies\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_spm_dependencies.md\"}},{\"path\":\"/en/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"url\":\"/en/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\",\"llmUrl\":\"/en/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependency and force resolved versions flag\\n\\nAn iOS application project with one SPM dependency and --force-resolved-versions config flag\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependency and force resolved versions flag\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\"}},{\"path\":\"/en/references/examples/ios_app_with_static_frameworks.md\",\"url\":\"/en/references/examples/ios_app_with_static_frameworks\",\"llmUrl\":\"/en/references/examples/ios_app_with_static_frameworks.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_static_frameworks\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_static_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with static frameworks\\n\\n\\nThis fixture contains an application that depends on static frameworks, both directly and transitively.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Modules\\n - A:\\n - A (static framework iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static framework iOS)\\n - BTests (iOS unit tests)\\n - C:\\n - C (static framework iOS)\\n - CTests (iOS unit tests)\\n - D:\\n - D (dynamic framework iOS)\\n```\\n\\nA standalone `Prebuilt` project is used to generate a prebuilt static framework:\\n\\n```\\n- Prebuilt\\n - PrebuiltStaticFramework (static framework iOS)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- App -> C\\n- App -> PrebuiltStaticFramework\\n- A -> B\\n- A -> C\\n- C -> D\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_frameworks/Prebuilt//build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static frameworks\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_static_frameworks\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_static_frameworks.md\"}},{\"path\":\"/en/references/examples/ios_app_with_static_libraries.md\",\"url\":\"/en/references/examples/ios_app_with_static_libraries\",\"llmUrl\":\"/en/references/examples/ios_app_with_static_libraries.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_static_libraries\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_static_libraries.md\\\"\\n---\\n\\n\\n\\n# iOS app with static libraries\\n\\n\\nThis application provides a top level application with two static library dependencies. The first static library dependency has another static library dependency so that we are able to test how Tuist handles the transitiveness of the static libraries in the linked frameworks of the main app.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - A:\\n - A (static library iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static library iOS)\\n - BTests (iOS unit tests)\\n```\\n\\nA standalone C project is used to generate a prebuilt static library:\\n\\n```\\n - C:\\n - C (static library iOS)\\n - CTests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- A -> B\\n- A -> prebuild C (libC.a)\\n\\nNote: to re-create `libC.a` run `ios_app_with_static_libraries/Modules/C/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static libraries\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_static_libraries\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_static_libraries.md\"}},{\"path\":\"/en/references/examples/ios_app_with_static_library_and_package.md\",\"url\":\"/en/references/examples/ios_app_with_static_library_and_package\",\"llmUrl\":\"/en/references/examples/ios_app_with_static_library_and_package.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_static_library_and_package\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_static_library_and_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a static library and a package\\n\\nAn iOS application that depends on static library that depends on Swift package where static library is defined first.\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_library_and_package/Prebuilt/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a static library and a package\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_static_library_and_package\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_static_library_and_package.md\"}},{\"path\":\"/en/references/examples/ios_app_with_tests.md\",\"url\":\"/en/references/examples/ios_app_with_tests\",\"llmUrl\":\"/en/references/examples/ios_app_with_tests.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_tests\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_tests.md\\\"\\n---\\n\\n\\n\\n# iOS app with tests\\n\\nA simple iOS app with tests, which includes a setup manifest and uses `.notGrouped` autogenerated schemes.\\n\\nCheck out example\\n\",\"title\":\"iOS app with tests\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_tests\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_tests.md\"}},{\"path\":\"/en/references/examples/ios_app_with_transitive_framework.md\",\"url\":\"/en/references/examples/ios_app_with_transitive_framework\",\"llmUrl\":\"/en/references/examples/ios_app_with_transitive_framework.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_transitive_framework\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_transitive_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a transitive framework\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n```\\n\\nA standalone Framework2 project is used to generate a prebuilt dynamic framework:\\n\\n```\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2 (prebuilt)\\n\\nNote: to re-create `Framework2.framework` run `ios_app_with_transitive_framework/Framework2/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a transitive framework\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_transitive_framework\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_transitive_framework.md\"}},{\"path\":\"/en/references/examples/ios_app_with_transitive_framework_through_macro.md\",\"url\":\"/en/references/examples/ios_app_with_transitive_framework_through_macro\",\"llmUrl\":\"/en/references/examples/ios_app_with_transitive_framework_through_macro.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_transitive_framework_through_macro\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_transitive_framework_through_macro.md\\\"\\n---\\n\\n\\n\\n# iOS app with transitive framework through macro executable\\n\\nThis fixture contains an iOS app that transitively and directly depends on a Swift Macro (executable)'s direct dependency.\\nIt was included [in this issue](https://github.com/tuist/tuist/issues/5988) because the set up caused the warming of the binary cache to fail due to \\\"multiple commands produce the same output\\\" error when archiving.\\nAs a solution, we moved away from using archive, and instead use the build action to warm the cache.\\n\\nCheck out example\\n\",\"title\":\"iOS app with transitive framework through macro executable\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_transitive_framework_through_macro\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_transitive_framework_through_macro.md\"}},{\"path\":\"/en/references/examples/ios_app_with_xcframeworks.md\",\"url\":\"/en/references/examples/ios_app_with_xcframeworks\",\"llmUrl\":\"/en/references/examples/ios_app_with_xcframeworks.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_app_with_xcframeworks\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_app_with_xcframeworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with xcframeworks\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - MyFramework:\\n - MyFramework (dynamic iOS framework)\\n - MyStaticFramework:\\n - MyStaticFramework (static iOS framework)\\n - MyStaticLibirary:\\n - MyStaticLibrary (static iOS libraries)\\n```\\n\\nAn example of an application which depends on prebuilt `.xcframework`s.\\n\\nThe `.xcframework` can be obtained by running the `build.sh` script within the each of the xcframework directories\\ne.g. `ios_app_with_xcframeworks/XCFrameworks/MyFramework/build.sh`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with xcframeworks\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_app_with_xcframeworks\",\"LLMS_URL\":\"/en/references/examples/ios_app_with_xcframeworks.md\"}},{\"path\":\"/en/references/examples/ios_workspace_with_dependency_cycle.md\",\"url\":\"/en/references/examples/ios_workspace_with_dependency_cycle\",\"llmUrl\":\"/en/references/examples/ios_workspace_with_dependency_cycle.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/ios_workspace_with_dependency_cycle\\\"\\nLLMS_URL: \\\"/en/references/examples/ios_workspace_with_dependency_cycle.md\\\"\\n---\\n\\n\\n\\n# iOS workspace with a dependency cycle\\n\\nAn example of a workspace that has a dependency cycle between targets in different projects.\\n\\nCheck out example\\n\",\"title\":\"iOS workspace with a dependency cycle\",\"frontmatter\":{\"URL\":\"/en/references/examples/ios_workspace_with_dependency_cycle\",\"LLMS_URL\":\"/en/references/examples/ios_workspace_with_dependency_cycle.md\"}},{\"path\":\"/en/references/examples/macos_app_with_extensions.md\",\"url\":\"/en/references/examples/macos_app_with_extensions\",\"llmUrl\":\"/en/references/examples/macos_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/macos_app_with_extensions\\\"\\nLLMS_URL: \\\"/en/references/examples/macos_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# macOS app with extensions\\n\\nThe project contains a macOS app with various types of extensions.\\n\\nCheck out example\\n\",\"title\":\"macOS app with extensions\",\"frontmatter\":{\"URL\":\"/en/references/examples/macos_app_with_extensions\",\"LLMS_URL\":\"/en/references/examples/macos_app_with_extensions.md\"}},{\"path\":\"/en/references/examples/package_with_registry_and_alamofire.md\",\"url\":\"/en/references/examples/package_with_registry_and_alamofire\",\"llmUrl\":\"/en/references/examples/package_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/package_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/en/references/examples/package_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Swift package with registry and Alamofire\\n\\nA simple Swift package that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Swift package with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/en/references/examples/package_with_registry_and_alamofire\",\"LLMS_URL\":\"/en/references/examples/package_with_registry_and_alamofire.md\"}},{\"path\":\"/en/references/examples/project_with_class_prefix.md\",\"url\":\"/en/references/examples/project_with_class_prefix\",\"llmUrl\":\"/en/references/examples/project_with_class_prefix.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/project_with_class_prefix\\\"\\nLLMS_URL: \\\"/en/references/examples/project_with_class_prefix.md\\\"\\n---\\n\\n\\n\\n# Project with class prefix\\n\\nThis example generate Xcode project with custom class prefix setting.\\n\\nCheck out example\\n\",\"title\":\"Project with class prefix\",\"frontmatter\":{\"URL\":\"/en/references/examples/project_with_class_prefix\",\"LLMS_URL\":\"/en/references/examples/project_with_class_prefix.md\"}},{\"path\":\"/en/references/examples/xcode_app.md\",\"url\":\"/en/references/examples/xcode_app\",\"llmUrl\":\"/en/references/examples/xcode_app.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/xcode_app\\\"\\nLLMS_URL: \\\"/en/references/examples/xcode_app.md\\\"\\n---\\n\\n\\n\\n# Xcode app\\n\\nA simple app created with Xcode. This fixture is _not_ using Tuist projects and it is meant to test features that don't require Tuist projects, such as `tuist share`.\\n\\nCheck out example\\n\",\"title\":\"Xcode app\",\"frontmatter\":{\"URL\":\"/en/references/examples/xcode_app\",\"LLMS_URL\":\"/en/references/examples/xcode_app.md\"}},{\"path\":\"/en/references/examples/xcode_project_with_registry_and_alamofire.md\",\"url\":\"/en/references/examples/xcode_project_with_registry_and_alamofire\",\"llmUrl\":\"/en/references/examples/xcode_project_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/en/references/examples/xcode_project_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/en/references/examples/xcode_project_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Xcode project with registry and Alamofire\\n\\nA simple app created with Xcode that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Xcode project with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/en/references/examples/xcode_project_with_registry_and_alamofire\",\"LLMS_URL\":\"/en/references/examples/xcode_project_with_registry_and_alamofire.md\"}},{\"path\":\"/en/references/migrations/from-v3-to-v4.md\",\"url\":\"/en/references/migrations/from-v3-to-v4\",\"llmUrl\":\"/en/references/migrations/from-v3-to-v4.md\",\"content\":\"---\\nURL: \\\"/en/references/migrations/from-v3-to-v4\\\"\\nLLMS_URL: \\\"/en/references/migrations/from-v3-to-v4.md\\\"\\ntitle: \\\"From v3 to v4\\\"\\ntitleTemplate: \\\":title · Migrations · References · Tuist\\\"\\ndescription: \\\"This page documents how to migrate the Tuist CLI from the version 3 to version 4.\\\"\\n---\\n\\n# From Tuist v3 to v4 {#from-tuist-v3-to-v4}\\n\\nWith the release of [Tuist 4](https://github.com/tuist/tuist/releases/tag/4.0.0), we took the opportunity to introduce some breaking changes to the project, which we believed would make the project easier to use and maintain in the long run. This document outlines the changes you will need to make to your project to upgrade from Tuist 3 to Tuist 4.\\n\\n### Dropped version management through `tuistenv` {#dropped-version-management-through-tuistenv}\\n\\nPrior to Tuist 4, the installation script installed a tool, `tuistenv`, that would get renamed to `tuist` at installation time. The tool would take care of installing and activating versions of Tuist ensuring determinism across environments. With the aim of reducing the feature surface of Tuist, we decided to drop `tuistenv` in favor of [Mise](https://mise.jdx.dev/), a tool that does the same job but is more flexible and can be used across different tools. If you were using `tuistenv`, you'll have to uninstall the current version of Tuist by running `curl -Ls https://uninstall.tuist.io | bash` and then install it using the installation method of your choice. We strongly recommend the usage of Mise because it's able to install and activate versions deterministically across environments.\\n\\n::: code-group\\n\\n```bash [Uninstall tuistenv]\\ncurl -Ls https://uninstall.tuist.io | bash\\n```\\n:::\\n\\n> [!IMPORTANT] MISE IN CI ENVIRONMENTS AND XCODE PROJECTS\\n> If you decide to embrace the determinism that Mise brings across the board, we recommend checking out the documentation for how to use Mise in [CI environments](https://mise.jdx.dev/continuous-integration.html) and [Xcode projects](https://mise.jdx.dev/ide-integration.html#xcode).\\n\\n> [!NOTE] HOMEBREW IS SUPPORTED\\n> Note that you can still install Tuist using Homebrew, which is a popular package manager for macOS. You can find the instructions on how to install Tuist using Homebrew in the installation guide.\\n\\n### Dropped `init` constructors from `ProjectDescription` models {#dropped-init-constructors-from-projectdescription-models}\\n\\nWith the aim of improving the readability and expressiveness of the APIs, we decided to remove the `init` constructors from all the `ProjectDescription` models. Every model now provides a static constructor that you can use to create instances of the models. If you were using the `init` constructors, you'll have to update your project to use the static constructors instead.\\n\\n> [!TIP] NAMING CONVENTION\\n> The naming convention that we follow is to use the name of the model as the name of the static constructor. For example, the static constructor for the `Target` model is `Target.target`.\\n\\n### Renamed `--no-cache` to `--no-binary-cache` {#renamed-nocache-to-nobinarycache}\\n\\nBecause the `--no-cache` flag was ambiguous, we decided to rename it to `--no-binary-cache` to make it clear that it refers to the binary cache. If you were using the `--no-cache` flag, you'll have to update your project to use the `--no-binary-cache` flag instead.\\n\\n### Renamed `tuist fetch` to `tuist install` {#renamed-tuist-fetch-to-tuist-install}\\n\\nWe renamed the `tuist fetch` command to `tuist install` to align with the industry convention. If you were using the `tuist fetch` command, you'll have to update your project to use the `tuist install` command instead.\\n\\n### [Adopt `Package.swift` as the DSL for dependencies](https://github.com/tuist/tuist/pull/5862) {#adopt-packageswift-as-the-dsl-for-dependencieshttpsgithubcomtuisttuistpull5862}\\n\\nBefore Tuist 4, you could define dependencies in a `Dependencies.swift` file. This proprietary format broke the support in tools like [Dependabot](https://github.com/dependabot) or [Renovatebot](https://github.com/renovatebot/renovate) to automatically update dependencies. Moreover, it introduced unnecessary indirections for users. Therefore, we decided to embrace `Package.swift` as the only way to define dependencies in Tuist. If you were using the `Dependencies.swift` file, you'll have to move the content from your `Tuist/Dependencies.swift` to a `Package.swift` at the root, and use the `#if TUIST` directive to configure the integration. You can read more about how to integrate Swift Package dependencies here\\n\\n### Renamed `tuist cache warm` to `tuist cache` {#renamed-tuist-cache-warm-to-tuist-cache}\\n\\nFor brevity, we decided to rename the `tuist cache warm` command to `tuist cache`. If you were using the `tuist cache warm` command, you'll have to update your project to use the `tuist cache` command instead.\\n\\n\\n### Renamed `tuist cache print-hashes` to `tuist cache --print-hashes` {#renamed-tuist-cache-printhashes-to-tuist-cache-printhashes}\\n\\nWe decided to rename the `tuist cache print-hashes` command to `tuist cache --print-hashes` to make it clear that it's a flag of the `tuist cache` command. If you were using the `tuist cache print-hashes` command, you'll have to update your project to use the `tuist cache --print-hashes` flag instead.\\n\\n### Removed caching profiles {#removed-caching-profiles}\\n\\nBefore Tuist 4, you could define caching profiles in `Tuist/Config.swift` which contained a configuration for the cache. We decided to remove this feature because it could lead to confusion when using it in the generation process with a profile other than the one that was used to generate the project. Moreover, it could lead to users using a debug profile to build a release version of the app, which could lead to unexpected results. In its place, we introduced the `--configuration` option, which you can use to specify the configuration you want to use when generating the project. If you were using caching profiles, you'll have to update your project to use the `--configuration` option instead.\\n\\n### Removed `--skip-cache` in favor of arguments {#removed-skipcache-in-favor-of-arguments}\\n\\nWe removed the flag `--skip-cache` from the `generate` command in favor of controlling for which targets the binary cache should be skipped by using the arguments. If you were using the `--skip-cache` flag, you'll have to update your project to use the arguments instead.\\n\\n::: code-group\\n\\n```bash [Before]\\ntuist generate --skip-cache Foo\\n```\\n\\n```bash [After]\\ntuist generate Foo\\n```\\n:::\\n\\n### [Dropped signing capabilities](https://github.com/tuist/tuist/pull/5716) {#dropped-signing-capabilitieshttpsgithubcomtuisttuistpull5716}\\n\\nSigning is already solved by community tooling like [Fastlane](https://fastlane.tools/) and Xcode itself, which do a much better job at that. We felt that signing was an stretch goal for Tuist, and that it was better to focus on the core features of the project. If you were using Tuist signing capabilities, which consisted of encrypting the certificates and profiles in the repository and installing them in the right places at generation time, you might want to replicate that logic in your own scripts that run before project generation. In particular:\\n - A script that decrypts the certificates and profiles using a key either stored in the file-system or in an environment variable, and installs certificates in the keychain, and the provisioning profiles in the directory `~/Library/MobileDevice/Provisioning\\\\ Profiles`.\\n - A script that can take an existing profiles and certificates and encrypt them.\\n\\n> [!TIP] SIGNING REQUIREMENTS\\n> Signing requires the right certificates to be present in the keychain and the provisioning profiles to be present in the directory `~/Library/MobileDevice/Provisioning\\\\ Profiles`. You can use the `security` command-line tool to install certificates in the keychain and the `cp` command to copy the provisioning profiles to the right directory.\\n\\n### Dropped Carthage integration via `Dependencies.swift` {#dropped-carthage-integration-via-dependenciesswift}\\n\\nBefore Tuist 4, Carthage dependencies could be defined in a `Dependencies.swift` file, which users could then fetch by running `tuist fetch`. We also felt that this was a stretch goal for Tuist, specially considering a future where Swift Package Manager would be the preferred way to manage dependencies. If you were using Carthage dependencies, you'll have to use `Carthage` directly to pull the pre-compiled frameworks and XCFrameworks into Carthage's standard directory, and then reference those binaries from your tagets using the `TargetDependency.xcframework` and `TargetDependency.framework` cases.\\n\\n> [!NOTE] CARTHAGE IS STILL SUPPORTED\\n> Some users understood that we dropped Carthage support. We didn't. The contract between Tuist and Carthage's output is to system-stored frameworks and XCFrameworks. The only thing that changed is who is responsible for fetching the dependencies. It used to be Tuist through Carthage, now it's Carthage.\\n\\n### Dropped the `TargetDependency.packagePlugin` API {#dropped-the-targetdependencypackageplugin-api}\\n\\nBefore Tuist 4, you could define a package plugin dependency using the `TargetDependency.packagePlugin` case. After seeing the Swift Package Manager introducing new package types, we decided to iterate on the API towards something that would be more flexible and future-proof. If you were using `TargetDependency.packagePlugin`, you'll have to use `TargetDependency.package` instead, and pass the type of package you want to use as an argument.\\n\\n### [Dropped deprecated APIs](https://github.com/tuist/tuist/pull/5560) {#dropped-deprecated-apishttpsgithubcomtuisttuistpull5560}\\n\\nWe removed the APIs that were marked as deprecated in Tuist 3. If you were using any of the deprecated APIs, you'll have to update your project to use the new APIs.\\n\",\"title\":\"From v3 to v4\",\"frontmatter\":{\"URL\":\"/en/references/migrations/from-v3-to-v4\",\"LLMS_URL\":\"/en/references/migrations/from-v3-to-v4.md\",\"title\":\"From v3 to v4\",\"titleTemplate\":\":title · Migrations · References · Tuist\",\"description\":\"This page documents how to migrate the Tuist CLI from the version 3 to version 4.\"}},{\"path\":\"/en/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\",\"url\":\"/en/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\",\"llmUrl\":\"/en/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `AutogeneratedWorkspaceSchemes.CodeCoverageMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `relevant`\\n - `targets(_:)`\\n - `disabled`\\n\\n```swift\\npublic enum CodeCoverageMode: Codable, Equatable, Sendable\\n```\\n\\nContains options for code coverage\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\nGather code coverage data for all targets in workspace.\\n\\n### `relevant`\\n\\n```swift\\ncase relevant\\n```\\n\\nEnable code coverage for targets that have enabled code coverage in any of schemes in workspace.\\n\\n### `targets(_:)`\\n\\n```swift\\ncase targets([TargetReference])\\n```\\n\\nGather code coverage for specified target references.\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDo not gather code coverage data.\\n\\n\",\"title\":\"`AutogeneratedWorkspaceSchemes.CodeCoverageMode`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\",\"LLMS_URL\":\"/en/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\"}},{\"path\":\"/en/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\",\"url\":\"/en/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\",\"llmUrl\":\"/en/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `AutomaticSchemesOptions.TargetSchemesGrouping`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `singleScheme`\\n - `byNameSuffix(build:test:run:)`\\n - `notGrouped`\\n\\n```swift\\npublic enum TargetSchemesGrouping: Codable, Equatable, Sendable\\n```\\n\\nAllows you to define what targets will be enabled for code coverage data gathering.\\n\\n## Cases\\n### `singleScheme`\\n\\n```swift\\ncase singleScheme\\n```\\n\\nGenerate a single scheme for each project.\\n\\n### `byNameSuffix(build:test:run:)`\\n\\n```swift\\ncase byNameSuffix(build: Set, test: Set, run: Set)\\n```\\n\\nGroup schemes according to the suffix of their names.\\n\\n### `notGrouped`\\n\\n```swift\\ncase notGrouped\\n```\\n\\nGenerate a scheme for each target.\\n\\n\",\"title\":\"`AutomaticSchemesOptions.TargetSchemesGrouping`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\",\"LLMS_URL\":\"/en/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\"}},{\"path\":\"/en/references/project-description/enums/buildorder.md\",\"url\":\"/en/references/project-description/enums/buildorder\",\"llmUrl\":\"/en/references/project-description/enums/buildorder.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/buildorder\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/buildorder.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildOrder`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `dependency`\\n - `manual`\\n\\n```swift\\npublic enum BuildOrder: Codable, Sendable\\n```\\n\\nRepresents the order in which targets are built within an Xcode scheme.\\n\\n## Cases\\n### `dependency`\\n\\n```swift\\ncase dependency\\n```\\n\\nBuilds targets automatically based on their dependency graph.\\nThis is the default and recommended setting for most projects.\\n\\n### `manual`\\n\\n```swift\\ncase manual\\n```\\n\\nBuilds targets in the order they appear in the scheme’s Build list.\\nUse this when you need fine-grained control.\\n\\n- Warning: This option is deprecated and may not be respected in future versions of Xcode.\\nUse `dependency` to ensure reliable and maintainable build behavior.\\n\\n\",\"title\":\"`BuildOrder`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/buildorder\",\"LLMS_URL\":\"/en/references/project-description/enums/buildorder.md\"}},{\"path\":\"/en/references/project-description/enums/buildrule.compilerspec.md\",\"url\":\"/en/references/project-description/enums/buildrule.compilerspec\",\"llmUrl\":\"/en/references/project-description/enums/buildrule.compilerspec.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/buildrule.compilerspec\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/buildrule.compilerspec.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildRule.CompilerSpec`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `appIntentsMetadataExtractor`\\n - `appShortcutStringsMetadataExtractor`\\n - `appleClang`\\n - `assetCatalogCompiler`\\n - `codeSign`\\n - `compileRealityComposerProject`\\n - `compileSceneKitShaders`\\n - `compileSkybox`\\n - `compileUSDZ`\\n - `compressPNG`\\n - `copyPlistFile`\\n - `copySceneKitAssets`\\n - `copyStringsFile`\\n - `copyTiffFile`\\n - `coreDataMappingModelCompiler`\\n - `coreMLModelCompiler`\\n - `dataModelCompiler`\\n - `defaultCompiler`\\n - `dTrace`\\n - `generateSpriteKitTextureAtlas`\\n - `iconutil`\\n - `instrumetsPackageBuilder`\\n - `intentDefinitionCompiler`\\n - `interfaceBuilderNIBPostprocessor`\\n - `interfaceBuilderStoryboardCompiler`\\n - `interfaceBuilderStoryboardLinker`\\n - `interfaceBuilderStoryboardPostprocessor`\\n - `interfaceBuilderXIBCompiler`\\n - `ioKitInterfaceGenerator`\\n - `lex`\\n - `lsRegisterURL`\\n - `metalCompiler`\\n - `metalLinker`\\n - `mig`\\n - `nasm`\\n - `nmedit`\\n - `openCL`\\n - `osaCompile`\\n - `pbxcp`\\n - `processSceneKitDocument`\\n - `processXCAppExtensionPoints`\\n - `rez`\\n - `stripSymbols`\\n - `swiftCompiler`\\n - `swiftABIBaselineGenerator`\\n - `swiftFrameworkABIChecker`\\n - `textBasedAPITool`\\n - `unifdef`\\n - `yacc`\\n - `customScript`\\n\\n```swift\\npublic enum CompilerSpec: Codable, Sendable\\n```\\n\\nThe type of compiler spec which is used for a selected file type.\\nAll the values are taken from build rule options hidden under a pup-up button's menu next to a label `Using` in a target's\\n`Build Rules` section.\\n\\n## Cases\\n### `appIntentsMetadataExtractor`\\n\\n```swift\\ncase appIntentsMetadataExtractor\\n```\\n\\n### `appShortcutStringsMetadataExtractor`\\n\\n```swift\\ncase appShortcutStringsMetadataExtractor\\n```\\n\\n### `appleClang`\\n\\n```swift\\ncase appleClang\\n```\\n\\n### `assetCatalogCompiler`\\n\\n```swift\\ncase assetCatalogCompiler\\n```\\n\\n### `codeSign`\\n\\n```swift\\ncase codeSign\\n```\\n\\n### `compileRealityComposerProject`\\n\\n```swift\\ncase compileRealityComposerProject\\n```\\n\\n### `compileSceneKitShaders`\\n\\n```swift\\ncase compileSceneKitShaders\\n```\\n\\n### `compileSkybox`\\n\\n```swift\\ncase compileSkybox\\n```\\n\\n### `compileUSDZ`\\n\\n```swift\\ncase compileUSDZ\\n```\\n\\n### `compressPNG`\\n\\n```swift\\ncase compressPNG\\n```\\n\\n### `copyPlistFile`\\n\\n```swift\\ncase copyPlistFile\\n```\\n\\n### `copySceneKitAssets`\\n\\n```swift\\ncase copySceneKitAssets\\n```\\n\\n### `copyStringsFile`\\n\\n```swift\\ncase copyStringsFile\\n```\\n\\n### `copyTiffFile`\\n\\n```swift\\ncase copyTiffFile\\n```\\n\\n### `coreDataMappingModelCompiler`\\n\\n```swift\\ncase coreDataMappingModelCompiler\\n```\\n\\n### `coreMLModelCompiler`\\n\\n```swift\\ncase coreMLModelCompiler\\n```\\n\\n### `dataModelCompiler`\\n\\n```swift\\ncase dataModelCompiler\\n```\\n\\n### `defaultCompiler`\\n\\n```swift\\ncase defaultCompiler\\n```\\n\\n### `dTrace`\\n\\n```swift\\ncase dTrace\\n```\\n\\n### `generateSpriteKitTextureAtlas`\\n\\n```swift\\ncase generateSpriteKitTextureAtlas\\n```\\n\\n### `iconutil`\\n\\n```swift\\ncase iconutil\\n```\\n\\n### `instrumetsPackageBuilder`\\n\\n```swift\\ncase instrumetsPackageBuilder\\n```\\n\\n### `intentDefinitionCompiler`\\n\\n```swift\\ncase intentDefinitionCompiler\\n```\\n\\n### `interfaceBuilderNIBPostprocessor`\\n\\n```swift\\ncase interfaceBuilderNIBPostprocessor\\n```\\n\\n### `interfaceBuilderStoryboardCompiler`\\n\\n```swift\\ncase interfaceBuilderStoryboardCompiler\\n```\\n\\n### `interfaceBuilderStoryboardLinker`\\n\\n```swift\\ncase interfaceBuilderStoryboardLinker\\n```\\n\\n### `interfaceBuilderStoryboardPostprocessor`\\n\\n```swift\\ncase interfaceBuilderStoryboardPostprocessor\\n```\\n\\n### `interfaceBuilderXIBCompiler`\\n\\n```swift\\ncase interfaceBuilderXIBCompiler\\n```\\n\\n### `ioKitInterfaceGenerator`\\n\\n```swift\\ncase ioKitInterfaceGenerator\\n```\\n\\n### `lex`\\n\\n```swift\\ncase lex\\n```\\n\\n### `lsRegisterURL`\\n\\n```swift\\ncase lsRegisterURL\\n```\\n\\n### `metalCompiler`\\n\\n```swift\\ncase metalCompiler\\n```\\n\\n### `metalLinker`\\n\\n```swift\\ncase metalLinker\\n```\\n\\n### `mig`\\n\\n```swift\\ncase mig\\n```\\n\\n### `nasm`\\n\\n```swift\\ncase nasm\\n```\\n\\n### `nmedit`\\n\\n```swift\\ncase nmedit\\n```\\n\\n### `openCL`\\n\\n```swift\\ncase openCL\\n```\\n\\n### `osaCompile`\\n\\n```swift\\ncase osaCompile\\n```\\n\\n### `pbxcp`\\n\\n```swift\\ncase pbxcp\\n```\\n\\n### `processSceneKitDocument`\\n\\n```swift\\ncase processSceneKitDocument\\n```\\n\\n### `processXCAppExtensionPoints`\\n\\n```swift\\ncase processXCAppExtensionPoints\\n```\\n\\n### `rez`\\n\\n```swift\\ncase rez\\n```\\n\\n### `stripSymbols`\\n\\n```swift\\ncase stripSymbols\\n```\\n\\n### `swiftCompiler`\\n\\n```swift\\ncase swiftCompiler\\n```\\n\\n### `swiftABIBaselineGenerator`\\n\\n```swift\\ncase swiftABIBaselineGenerator\\n```\\n\\n### `swiftFrameworkABIChecker`\\n\\n```swift\\ncase swiftFrameworkABIChecker\\n```\\n\\n### `textBasedAPITool`\\n\\n```swift\\ncase textBasedAPITool\\n```\\n\\n### `unifdef`\\n\\n```swift\\ncase unifdef\\n```\\n\\n### `yacc`\\n\\n```swift\\ncase yacc\\n```\\n\\n### `customScript`\\n\\n```swift\\ncase customScript\\n```\\n\\n\",\"title\":\"`BuildRule.CompilerSpec`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/buildrule.compilerspec\",\"LLMS_URL\":\"/en/references/project-description/enums/buildrule.compilerspec.md\"}},{\"path\":\"/en/references/project-description/enums/buildrule.filetype.md\",\"url\":\"/en/references/project-description/enums/buildrule.filetype\",\"llmUrl\":\"/en/references/project-description/enums/buildrule.filetype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/buildrule.filetype\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/buildrule.filetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildRule.FileType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `instrumentsPackageDefinition`\\n - `metalAIR`\\n - `machO`\\n - `machOObject`\\n - `siriKitIntent`\\n - `coreMLMachineLearning`\\n - `rcProjectDocument`\\n - `skyboxDocument`\\n - `interfaceBuilderStoryboard`\\n - `interfaceBuilder`\\n - `documentationCatalog`\\n - `coreMLMachineLearningModelPackage`\\n - `assemblyAsm`\\n - `assemblyAsmAsm`\\n - `llvmAssembly`\\n - `cSource`\\n - `clipsSource`\\n - `cppSource`\\n - `dtraceSource`\\n - `dylanSource`\\n - `fortranSource`\\n - `glslSource`\\n - `iigSource`\\n - `javaSource`\\n - `lexSource`\\n - `metalShaderSource`\\n - `migSource`\\n - `nasmAssembly`\\n - `openCLSource`\\n - `pascalSource`\\n - `protobufSource`\\n - `rezSource`\\n - `swiftSource`\\n - `yaccSource`\\n - `localizationString`\\n - `localizationStringDictionary`\\n - `xcAppExtensionPoints`\\n - `xcodeSpecificationPlist`\\n - `dae`\\n - `nib`\\n - `interfaceBuilderStoryboardPackage`\\n - `classModel`\\n - `dataModel`\\n - `dataModelVersion`\\n - `mappingModel`\\n - `sourceFilesWithNamesMatching`\\n\\n```swift\\npublic enum FileType: Codable, Sendable\\n```\\n\\nFile types processed by a build rule.\\nAll the values are taken from build rule options hidden under a pup-up button's menu next to a label `Process` in a\\ntarget's `Build Rules` section.\\n\\n## Cases\\n### `instrumentsPackageDefinition`\\n\\n```swift\\ncase instrumentsPackageDefinition\\n```\\n\\n### `metalAIR`\\n\\n```swift\\ncase metalAIR\\n```\\n\\n### `machO`\\n\\n```swift\\ncase machO\\n```\\n\\n### `machOObject`\\n\\n```swift\\ncase machOObject\\n```\\n\\n### `siriKitIntent`\\n\\n```swift\\ncase siriKitIntent\\n```\\n\\n### `coreMLMachineLearning`\\n\\n```swift\\ncase coreMLMachineLearning\\n```\\n\\n### `rcProjectDocument`\\n\\n```swift\\ncase rcProjectDocument\\n```\\n\\n### `skyboxDocument`\\n\\n```swift\\ncase skyboxDocument\\n```\\n\\n### `interfaceBuilderStoryboard`\\n\\n```swift\\ncase interfaceBuilderStoryboard\\n```\\n\\n### `interfaceBuilder`\\n\\n```swift\\ncase interfaceBuilder\\n```\\n\\n### `documentationCatalog`\\n\\n```swift\\ncase documentationCatalog\\n```\\n\\n### `coreMLMachineLearningModelPackage`\\n\\n```swift\\ncase coreMLMachineLearningModelPackage\\n```\\n\\n### `assemblyAsm`\\n\\n```swift\\ncase assemblyAsm\\n```\\n\\n### `assemblyAsmAsm`\\n\\n```swift\\ncase assemblyAsmAsm\\n```\\n\\n### `llvmAssembly`\\n\\n```swift\\ncase llvmAssembly\\n```\\n\\n### `cSource`\\n\\n```swift\\ncase cSource\\n```\\n\\n### `clipsSource`\\n\\n```swift\\ncase clipsSource\\n```\\n\\n### `cppSource`\\n\\n```swift\\ncase cppSource\\n```\\n\\n### `dtraceSource`\\n\\n```swift\\ncase dtraceSource\\n```\\n\\n### `dylanSource`\\n\\n```swift\\ncase dylanSource\\n```\\n\\n### `fortranSource`\\n\\n```swift\\ncase fortranSource\\n```\\n\\n### `glslSource`\\n\\n```swift\\ncase glslSource\\n```\\n\\n### `iigSource`\\n\\n```swift\\ncase iigSource\\n```\\n\\n### `javaSource`\\n\\n```swift\\ncase javaSource\\n```\\n\\n### `lexSource`\\n\\n```swift\\ncase lexSource\\n```\\n\\n### `metalShaderSource`\\n\\n```swift\\ncase metalShaderSource\\n```\\n\\n### `migSource`\\n\\n```swift\\ncase migSource\\n```\\n\\n### `nasmAssembly`\\n\\n```swift\\ncase nasmAssembly\\n```\\n\\n### `openCLSource`\\n\\n```swift\\ncase openCLSource\\n```\\n\\n### `pascalSource`\\n\\n```swift\\ncase pascalSource\\n```\\n\\n### `protobufSource`\\n\\n```swift\\ncase protobufSource\\n```\\n\\n### `rezSource`\\n\\n```swift\\ncase rezSource\\n```\\n\\n### `swiftSource`\\n\\n```swift\\ncase swiftSource\\n```\\n\\n### `yaccSource`\\n\\n```swift\\ncase yaccSource\\n```\\n\\n### `localizationString`\\n\\n```swift\\ncase localizationString\\n```\\n\\n### `localizationStringDictionary`\\n\\n```swift\\ncase localizationStringDictionary\\n```\\n\\n### `xcAppExtensionPoints`\\n\\n```swift\\ncase xcAppExtensionPoints\\n```\\n\\n### `xcodeSpecificationPlist`\\n\\n```swift\\ncase xcodeSpecificationPlist\\n```\\n\\n### `dae`\\n\\n```swift\\ncase dae\\n```\\n\\n### `nib`\\n\\n```swift\\ncase nib\\n```\\n\\n### `interfaceBuilderStoryboardPackage`\\n\\n```swift\\ncase interfaceBuilderStoryboardPackage\\n```\\n\\n### `classModel`\\n\\n```swift\\ncase classModel\\n```\\n\\n### `dataModel`\\n\\n```swift\\ncase dataModel\\n```\\n\\n### `dataModelVersion`\\n\\n```swift\\ncase dataModelVersion\\n```\\n\\n### `mappingModel`\\n\\n```swift\\ncase mappingModel\\n```\\n\\n### `sourceFilesWithNamesMatching`\\n\\n```swift\\ncase sourceFilesWithNamesMatching\\n```\\n\\n\",\"title\":\"`BuildRule.FileType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/buildrule.filetype\",\"LLMS_URL\":\"/en/references/project-description/enums/buildrule.filetype.md\"}},{\"path\":\"/en/references/project-description/enums/cloud.option.md\",\"url\":\"/en/references/project-description/enums/cloud.option\",\"llmUrl\":\"/en/references/project-description/enums/cloud.option.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/cloud.option\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/cloud.option.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Cloud.Option`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `optional`\\n\\n```swift\\npublic enum Option: String, Codable, Equatable, Sendable\\n```\\n\\nOptions for cloud configuration.\\n\\n## Cases\\n### `optional`\\n\\n```swift\\ncase optional\\n```\\n\\nMarks whether the Tuist server authentication is optional.\\nIf present, the interaction with the Tuist server will be skipped (instead of failing) if a user is not authenticated.\\n\\n\",\"title\":\"`Cloud.Option`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/cloud.option\",\"LLMS_URL\":\"/en/references/project-description/enums/cloud.option.md\"}},{\"path\":\"/en/references/project-description/enums/compatiblexcodeversions.md\",\"url\":\"/en/references/project-description/enums/compatiblexcodeversions\",\"llmUrl\":\"/en/references/project-description/enums/compatiblexcodeversions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/compatiblexcodeversions\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/compatiblexcodeversions.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CompatibleXcodeVersions`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `exact(_:)`\\n - `upToNextMajor(_:)`\\n - `upToNextMinor(_:)`\\n - `list(_:)`\\n- [Methods](#methods)\\n - `init(arrayLiteral:)`\\n - `init(arrayLiteral:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic enum CompatibleXcodeVersions: ExpressibleByArrayLiteral, ExpressibleByStringInterpolation, Codable, Equatable, Sendable\\n```\\n\\nOptions of compatibles Xcode versions.\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\nThe project supports all Xcode versions.\\n\\n### `exact(_:)`\\n\\n```swift\\ncase exact(Version)\\n```\\n\\nThe project supports only a specific Xcode version.\\n\\n### `upToNextMajor(_:)`\\n\\n```swift\\ncase upToNextMajor(Version)\\n```\\n\\nThe project supports all Xcode versions from the specified version up to but not including the next major version.\\n\\n### `upToNextMinor(_:)`\\n\\n```swift\\ncase upToNextMinor(Version)\\n```\\n\\nThe project supports all Xcode versions from the specified version up to but not including the next minor version.\\n\\n### `list(_:)`\\n\\n```swift\\ncase list([CompatibleXcodeVersions])\\n```\\n\\nList of versions that are supported by the project.\\n\\n## Methods\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: [CompatibleXcodeVersions])\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: CompatibleXcodeVersions...)\\n```\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`CompatibleXcodeVersions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/compatiblexcodeversions\",\"LLMS_URL\":\"/en/references/project-description/enums/compatiblexcodeversions.md\"}},{\"path\":\"/en/references/project-description/enums/configuration.variant.md\",\"url\":\"/en/references/project-description/enums/configuration.variant\",\"llmUrl\":\"/en/references/project-description/enums/configuration.variant.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/configuration.variant\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/configuration.variant.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Configuration.Variant`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `debug`\\n - `release`\\n\\n```swift\\npublic enum Variant: String, Codable, Sendable\\n```\\n\\n## Cases\\n### `debug`\\n\\n```swift\\ncase debug\\n```\\n\\n### `release`\\n\\n```swift\\ncase release\\n```\\n\\n\",\"title\":\"`Configuration.Variant`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/configuration.variant\",\"LLMS_URL\":\"/en/references/project-description/enums/configuration.variant.md\"}},{\"path\":\"/en/references/project-description/enums/copyfileelement.md\",\"url\":\"/en/references/project-description/enums/copyfileelement\",\"llmUrl\":\"/en/references/project-description/enums/copyfileelement.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/copyfileelement\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/copyfileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CopyFileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:condition:codeSignOnCopy:)`\\n - `folderReference(path:condition:codeSignOnCopy:)`\\n\\n```swift\\npublic enum CopyFileElement: Codable, Equatable, Sendable\\n```\\n\\nA file element from a glob pattern or a folder reference which is conditionally applied to specific platforms with an optional\\n\\\"Code Sign On Copy\\\" flag.\\n\\n## Cases\\n### `glob(pattern:condition:codeSignOnCopy:)`\\n\\n```swift\\ncase glob(pattern: Path, condition: PlatformCondition? = nil, codeSignOnCopy: Bool = false)\\n```\\n\\nA file path (or glob pattern) to include with an optional PlatformCondition to control which platforms it applies.\\n\\\"Code Sign on Copy\\\" can be optionally enabled for the glob.\\n\\n### `folderReference(path:condition:codeSignOnCopy:)`\\n\\n```swift\\ncase folderReference(path: Path, condition: PlatformCondition? = nil, codeSignOnCopy: Bool = false)\\n```\\n\\nA directory path to include as a folder reference with an optional PlatformCondition to control which platforms it applies\\nto. \\\"Code Sign on Copy\\\" can be optionally enabled for the folder reference.\\n\\n\",\"title\":\"`CopyFileElement`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/copyfileelement\",\"LLMS_URL\":\"/en/references/project-description/enums/copyfileelement.md\"}},{\"path\":\"/en/references/project-description/enums/copyfilesaction.destination.md\",\"url\":\"/en/references/project-description/enums/copyfilesaction.destination\",\"llmUrl\":\"/en/references/project-description/enums/copyfilesaction.destination.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/copyfilesaction.destination\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/copyfilesaction.destination.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CopyFilesAction.Destination`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `absolutePath`\\n - `productsDirectory`\\n - `wrapper`\\n - `executables`\\n - `resources`\\n - `javaResources`\\n - `frameworks`\\n - `sharedFrameworks`\\n - `sharedSupport`\\n - `plugins`\\n - `other`\\n\\n```swift\\npublic enum Destination: String, Codable, Equatable, Sendable\\n```\\n\\nDestination path.\\n\\n## Cases\\n### `absolutePath`\\n\\n```swift\\ncase absolutePath\\n```\\n\\n### `productsDirectory`\\n\\n```swift\\ncase productsDirectory\\n```\\n\\n### `wrapper`\\n\\n```swift\\ncase wrapper\\n```\\n\\n### `executables`\\n\\n```swift\\ncase executables\\n```\\n\\n### `resources`\\n\\n```swift\\ncase resources\\n```\\n\\n### `javaResources`\\n\\n```swift\\ncase javaResources\\n```\\n\\n### `frameworks`\\n\\n```swift\\ncase frameworks\\n```\\n\\n### `sharedFrameworks`\\n\\n```swift\\ncase sharedFrameworks\\n```\\n\\n### `sharedSupport`\\n\\n```swift\\ncase sharedSupport\\n```\\n\\n### `plugins`\\n\\n```swift\\ncase plugins\\n```\\n\\n### `other`\\n\\n```swift\\ncase other\\n```\\n\\n\",\"title\":\"`CopyFilesAction.Destination`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/copyfilesaction.destination\",\"LLMS_URL\":\"/en/references/project-description/enums/copyfilesaction.destination.md\"}},{\"path\":\"/en/references/project-description/enums/debuginformationformat.md\",\"url\":\"/en/references/project-description/enums/debuginformationformat\",\"llmUrl\":\"/en/references/project-description/enums/debuginformationformat.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/debuginformationformat\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/debuginformationformat.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `DebugInformationFormat`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `dwarf`\\n - `dwarfWithDsym`\\n\\n```swift\\npublic enum DebugInformationFormat: String\\n```\\n\\n## Cases\\n### `dwarf`\\n\\n```swift\\ncase dwarf\\n```\\n\\n### `dwarfWithDsym`\\n\\n```swift\\ncase dwarfWithDsym = \\\"dwarf-with-dsym\\\"\\n```\\n\\n\",\"title\":\"`DebugInformationFormat`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/debuginformationformat\",\"LLMS_URL\":\"/en/references/project-description/enums/debuginformationformat.md\"}},{\"path\":\"/en/references/project-description/enums/defaultsettings.md\",\"url\":\"/en/references/project-description/enums/defaultsettings\",\"llmUrl\":\"/en/references/project-description/enums/defaultsettings.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/defaultsettings\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/defaultsettings.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `DefaultSettings`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `recommended(excluding:)`\\n - `essential(excluding:)`\\n - `none`\\n\\n```swift\\npublic enum DefaultSettings: Codable, Equatable, Sendable\\n```\\n\\nSpecifies the default set of settings applied to all the projects and targets.\\nThe default settings can be overridden via `Settings base: SettingsDictionary`\\nand `Configuration settings: SettingsDictionary`.\\n\\n## Cases\\n### `recommended(excluding:)`\\n\\n```swift\\ncase recommended(excluding: Set = [])\\n```\\n\\nRecommended settings including warning flags to help you catch some of the bugs at the early stage of development. If you\\nneed to override certain settings in a `Configuration` it's possible to add those keys to `excluding`.\\n\\n### `essential(excluding:)`\\n\\n```swift\\ncase essential(excluding: Set = [])\\n```\\n\\nA minimal set of settings to make the project compile without any additional settings for example `PRODUCT_NAME` or\\n`TARGETED_DEVICE_FAMILY`. If you need to override certain settings in a Configuration it's possible to add those keys to\\n`excluding`.\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\nTuist won't generate any build settings for the target or project.\\n\\n\",\"title\":\"`DefaultSettings`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/defaultsettings\",\"LLMS_URL\":\"/en/references/project-description/enums/defaultsettings.md\"}},{\"path\":\"/en/references/project-description/enums/destination.md\",\"url\":\"/en/references/project-description/enums/destination\",\"llmUrl\":\"/en/references/project-description/enums/destination.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/destination\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/destination.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Destination`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iPhone`\\n - `iPad`\\n - `mac`\\n - `macWithiPadDesign`\\n - `macCatalyst`\\n - `appleWatch`\\n - `appleTv`\\n - `appleVision`\\n - `appleVisionWithiPadDesign`\\n- [Properties](#properties)\\n - `platform`\\n\\n```swift\\npublic enum Destination: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported deployment destination representation.\\n\\n## Cases\\n### `iPhone`\\n\\n```swift\\ncase iPhone\\n```\\n\\niPhone support\\n\\n### `iPad`\\n\\n```swift\\ncase iPad\\n```\\n\\niPad support\\n\\n### `mac`\\n\\n```swift\\ncase mac\\n```\\n\\nNative macOS support\\n\\n### `macWithiPadDesign`\\n\\n```swift\\ncase macWithiPadDesign\\n```\\n\\nmacOS support using iPad design\\n\\n### `macCatalyst`\\n\\n```swift\\ncase macCatalyst\\n```\\n\\nmac Catalyst support\\n\\n### `appleWatch`\\n\\n```swift\\ncase appleWatch\\n```\\n\\nwatchOS support\\n\\n### `appleTv`\\n\\n```swift\\ncase appleTv\\n```\\n\\ntvOS support\\n\\n### `appleVision`\\n\\n```swift\\ncase appleVision\\n```\\n\\nvisionOS support\\n\\n### `appleVisionWithiPadDesign`\\n\\n```swift\\ncase appleVisionWithiPadDesign\\n```\\n\\nvisionOS support using iPad design\\n\\n## Properties\\n### `platform`\\n\\n```swift\\npublic var platform: Platform\\n```\\n\\nSDK Platform of a destination\\n\\n\",\"title\":\"`Destination`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/destination\",\"LLMS_URL\":\"/en/references/project-description/enums/destination.md\"}},{\"path\":\"/en/references/project-description/enums/entitlements.md\",\"url\":\"/en/references/project-description/enums/entitlements\",\"llmUrl\":\"/en/references/project-description/enums/entitlements.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/entitlements\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/entitlements.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Entitlements`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(path:)`\\n - `dictionary(_:)`\\n - `variable(_:)`\\n- [Properties](#properties)\\n - `path`\\n\\n```swift\\npublic enum Entitlements: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `file(path:)`\\n\\n```swift\\ncase file(path: Path)\\n```\\n\\nThe path to an existing .entitlements file.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Plist.Value])\\n```\\n\\nA dictionary with the entitlements content. Tuist generates the .entitlements file at the generation time.\\n\\n### `variable(_:)`\\n\\n```swift\\ncase variable(String)\\n```\\n\\nA build setting variable that points to an .entitlements file.\\n\\nThis should be used when you have an xcconfig file or build setting that defines a variable pointing to the entitlements\\nfile path.\\nThis is particularly useful when the project has different entitlements files per configuration (e.g., debug, release,\\nstaging).\\n\\nExample:\\n\\n```\\n.target(\\n ...\\n entitlements: .variable(\\\"$(ENTITLEMENT_FILE_VARIABLE)\\\")\\n)\\n```\\n\\nOr, as literal string:\\n\\n```\\n.target(\\n ...\\n entitlements: \\\"$(ENTITLEMENT_FILE_VARIABLE)\\\"\\n)\\n```\\n\\n> Note: For per-configuration entitlements, you can also:\\n> 1. Keep `Target.entitlements` as `nil`\\n> 2. Set the `CODE_SIGN_ENTITLEMENTS` build setting using `Target.settings` for each configuration\\n> 3. If you want the entitlement files to be included in the project navigator, add them using `Project.additionalFiles`\\n>\\n> Example:\\n> ```swift\\n> let target = Target(\\n> name: \\\"MyApp\\\",\\n> // ... other properties\\n> entitlements: nil, // Important: keep this as nil\\n> settings: .settings(\\n> configurations: [\\n> .debug(name: \\\"Debug\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Debug.entitlements\\\"]),\\n> .release(name: \\\"Release\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Release.entitlements\\\"])\\n> ]\\n> )\\n> )\\n>\\n> let project = Project(\\n> name: \\\"MyProject\\\",\\n> targets: [target],\\n> additionalFiles: [\\n> \\\"Debug.entitlements\\\",\\n> \\\"Release.entitlements\\\"\\n> ]\\n> )\\n> ```\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic var path: Path?\\n```\\n\\n\",\"title\":\"`Entitlements`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/entitlements\",\"LLMS_URL\":\"/en/references/project-description/enums/entitlements.md\"}},{\"path\":\"/en/references/project-description/enums/entitlements.codingerror.md\",\"url\":\"/en/references/project-description/enums/entitlements.codingerror\",\"llmUrl\":\"/en/references/project-description/enums/entitlements.codingerror.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/entitlements.codingerror\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/entitlements.codingerror.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Entitlements.CodingError`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `invalidType(_:)`\\n\\n```swift\\npublic enum CodingError: Error\\n```\\n\\n## Cases\\n### `invalidType(_:)`\\n\\n```swift\\ncase invalidType(String)\\n```\\n\\n\",\"title\":\"`Entitlements.CodingError`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/entitlements.codingerror\",\"LLMS_URL\":\"/en/references/project-description/enums/entitlements.codingerror.md\"}},{\"path\":\"/en/references/project-description/enums/environment.md\",\"url\":\"/en/references/project-description/enums/environment\",\"llmUrl\":\"/en/references/project-description/enums/environment.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/environment\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/environment.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Environment`\\n\\n```swift\\npublic enum Environment\\n```\\n\\nA convenience structure to read environment variables.\\n\\n\",\"title\":\"`Environment`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/environment\",\"LLMS_URL\":\"/en/references/project-description/enums/environment.md\"}},{\"path\":\"/en/references/project-description/enums/environment.value.md\",\"url\":\"/en/references/project-description/enums/environment.value\",\"llmUrl\":\"/en/references/project-description/enums/environment.value.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/environment.value\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/environment.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Environment.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n\\n```swift\\npublic enum Value: Equatable\\n```\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\n\",\"title\":\"`Environment.Value`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/environment.value\",\"LLMS_URL\":\"/en/references/project-description/enums/environment.value.md\"}},{\"path\":\"/en/references/project-description/enums/filecodegen.md\",\"url\":\"/en/references/project-description/enums/filecodegen\",\"llmUrl\":\"/en/references/project-description/enums/filecodegen.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/filecodegen\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/filecodegen.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileCodeGen`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `public`\\n - `private`\\n - `project`\\n - `disabled`\\n\\n```swift\\npublic enum FileCodeGen: String, Codable, Equatable, Sendable\\n```\\n\\nOptions for source file code generation.\\n\\n## Cases\\n### `public`\\n\\n```swift\\ncase `public`\\n```\\n\\nPublic codegen\\n\\n### `private`\\n\\n```swift\\ncase `private`\\n```\\n\\nPrivate codegen\\n\\n### `project`\\n\\n```swift\\ncase project\\n```\\n\\nProject codegen\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDisabled codegen\\n\\n\",\"title\":\"`FileCodeGen`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/filecodegen\",\"LLMS_URL\":\"/en/references/project-description/enums/filecodegen.md\"}},{\"path\":\"/en/references/project-description/enums/fileelement.md\",\"url\":\"/en/references/project-description/enums/fileelement\",\"llmUrl\":\"/en/references/project-description/enums/fileelement.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/fileelement\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/fileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:)`\\n - `folderReference(path:)`\\n\\n```swift\\npublic enum FileElement: Codable, Equatable, Sendable\\n```\\n\\nA file element from a glob pattern or a folder reference.\\n\\n- glob: a glob pattern for files to include\\n- folderReference: a single path to a directory\\n\\nNote: For convenience, an element can be represented as a string literal\\n `\\\"some/pattern/**\\\"` is the equivalent of `FileElement.glob(pattern: \\\"some/pattern/**\\\")`\\n\\n## Cases\\n### `glob(pattern:)`\\n\\n```swift\\ncase glob(pattern: Path)\\n```\\n\\nA file path (or glob pattern) to include. For convenience, a string literal can be used as an alternate way to specify\\nthis option.\\n\\n### `folderReference(path:)`\\n\\n```swift\\ncase folderReference(path: Path)\\n```\\n\\nA directory path to include as a folder reference.\\n\\n\",\"title\":\"`FileElement`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/fileelement\",\"LLMS_URL\":\"/en/references/project-description/enums/fileelement.md\"}},{\"path\":\"/en/references/project-description/enums/fileheadertemplate.md\",\"url\":\"/en/references/project-description/enums/fileheadertemplate\",\"llmUrl\":\"/en/references/project-description/enums/fileheadertemplate.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/fileheadertemplate\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/fileheadertemplate.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileHeaderTemplate`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(_:)`\\n - `string(_:)`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic enum FileHeaderTemplate: Codable, Equatable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\nA header template from a file or a string.\\n\\nLets you define custom file header template for built-in Xcode templates, e.g. when you create new Swift file you can\\nautomatically have your custom define file header.\\n\\nTuist automatically performs several template transformations for you\\n - if your template starts with comment slashes (`//`) we remove them as they are added automatically by Xcode\\n - if your template doesn't start with comment and whitespace or newline, we add a space - otherwise your header would be\\nglued to implicit comment slashes which you probably do not want\\n - if your template has trailing newline, we remove it as it is implicitly added by Xcode\\n\\n## Cases\\n### `file(_:)`\\n\\n```swift\\ncase file(Path)\\n```\\n\\nLoad template stored in file\\n\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nUse inline string as template\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\nCreates file template as `.string(value)`\\n\\n\",\"title\":\"`FileHeaderTemplate`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/fileheadertemplate\",\"LLMS_URL\":\"/en/references/project-description/enums/fileheadertemplate.md\"}},{\"path\":\"/en/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\",\"url\":\"/en/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\",\"llmUrl\":\"/en/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `GenerationOptions.AutogeneratedWorkspaceSchemes`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n - `enabled(codeCoverageMode:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:)`\\n\\n```swift\\npublic enum AutogeneratedWorkspaceSchemes: Codable, Equatable, Sendable\\n```\\n\\nContains options for autogenerated workspace schemes\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nTuist will not automatically generate any schemes\\n\\n### `enabled(codeCoverageMode:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:)`\\n\\n```swift\\ncase enabled(\\n codeCoverageMode: CodeCoverageMode = .disabled,\\n testingOptions: TestingOptions = [],\\n testLanguage: SchemeLanguage? = nil,\\n testRegion: String? = nil,\\n testScreenCaptureFormat: ScreenCaptureFormat? = nil\\n)\\n```\\n\\nTuist will generate schemes with the associated testing options\\n\\n\",\"title\":\"`GenerationOptions.AutogeneratedWorkspaceSchemes`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\",\"LLMS_URL\":\"/en/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\"}},{\"path\":\"/en/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\",\"url\":\"/en/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\",\"llmUrl\":\"/en/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `GenerationOptions.StaticSideEffectsWarningTargets`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `none`\\n - `excluding(_:)`\\n\\n```swift\\npublic enum StaticSideEffectsWarningTargets: Codable, Equatable, Sendable\\n```\\n\\nThis enum represents the targets against which Tuist will run the check for potential side effects\\ncaused by static transitive dependencies.\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\n### `excluding(_:)`\\n\\n```swift\\ncase excluding([String])\\n```\\n\\n\",\"title\":\"`GenerationOptions.StaticSideEffectsWarningTargets`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\",\"LLMS_URL\":\"/en/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\"}},{\"path\":\"/en/references/project-description/enums/headers.automaticexclusionrule.md\",\"url\":\"/en/references/project-description/enums/headers.automaticexclusionrule\",\"llmUrl\":\"/en/references/project-description/enums/headers.automaticexclusionrule.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/headers.automaticexclusionrule\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/headers.automaticexclusionrule.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Headers.AutomaticExclusionRule`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `projectExcludesPrivateAndPublic`\\n - `publicExcludesPrivateAndProject`\\n\\n```swift\\npublic enum AutomaticExclusionRule: Int, Codable, Sendable\\n```\\n\\nDetermine how to resolve cases, when the same files found in different header scopes\\n\\n## Cases\\n### `projectExcludesPrivateAndPublic`\\n\\n```swift\\ncase projectExcludesPrivateAndPublic\\n```\\n\\nProject headers = all found - private headers - public headers\\n\\nOrder of tuist search:\\n 1) Public headers\\n 2) Private headers (with auto excludes all found public headers)\\n 3) Project headers (with excluding public/private headers)\\n\\n Also tuist doesn't ignore all excludes,\\n which had been set by `excluding` param\\n\\n### `publicExcludesPrivateAndProject`\\n\\n```swift\\ncase publicExcludesPrivateAndProject\\n```\\n\\nPublic headers = all found - private headers - project headers\\n\\nOrder of tuist search (reverse search):\\n 1) Project headers\\n 2) Private headers (with auto excludes all found project headers)\\n 3) Public headers (with excluding project/private headers)\\n\\n Also tuist doesn't ignore all excludes,\\n which had been set by `excluding` param\\n\\n\",\"title\":\"`Headers.AutomaticExclusionRule`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/headers.automaticexclusionrule\",\"LLMS_URL\":\"/en/references/project-description/enums/headers.automaticexclusionrule.md\"}},{\"path\":\"/en/references/project-description/enums/infoplist.md\",\"url\":\"/en/references/project-description/enums/infoplist\",\"llmUrl\":\"/en/references/project-description/enums/infoplist.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/infoplist\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/infoplist.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `InfoPlist`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(path:)`\\n - `dictionary(_:)`\\n - `extendingDefault(with:)`\\n - `variable(_:)`\\n- [Properties](#properties)\\n - `default`\\n - `path`\\n\\n```swift\\npublic enum InfoPlist: Codable, Equatable, Sendable\\n```\\n\\nA info plist from a file, a custom dictionary or a extended defaults.\\n\\n## Cases\\n### `file(path:)`\\n\\n```swift\\ncase file(path: Path)\\n```\\n\\nThe path to an existing Info.plist file.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Plist.Value])\\n```\\n\\nA dictionary with the Info.plist content. Tuist generates the Info.plist file at the generation time.\\n\\n### `extendingDefault(with:)`\\n\\n```swift\\ncase extendingDefault(with: [String: Plist.Value])\\n```\\n\\nGenerate an Info.plist file with the default content for the target product extended with the values in the given\\ndictionary.\\n\\n### `variable(_:)`\\n\\n```swift\\ncase variable(String)\\n```\\n\\nA user defined xcconfig variable map to Info.plist file.\\n\\nThis should be used when the project has different Info.plist files per config (aka: debug, release, staging, etc.).\\n\\nExample:\\n\\n```\\n.target(\\n ...\\n infoPlist: .variable(\\\"$(INFO_PLIST_FILE_VARIABLE)\\\")\\n)\\n```\\n\\nOr, as literal string:\\n\\n```\\n.target(\\n ...\\n infoPlist: $(INFO_PLIST_FILE_VARIABLE)\\n)\\n```\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: InfoPlist\\n```\\n\\nGenerate the default content for the target the InfoPlist belongs to.\\n\\n### `path`\\n\\n```swift\\npublic var path: Path?\\n```\\n\\n\",\"title\":\"`InfoPlist`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/infoplist\",\"LLMS_URL\":\"/en/references/project-description/enums/infoplist.md\"}},{\"path\":\"/en/references/project-description/enums/infoplist.codingerror.md\",\"url\":\"/en/references/project-description/enums/infoplist.codingerror\",\"llmUrl\":\"/en/references/project-description/enums/infoplist.codingerror.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/infoplist.codingerror\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/infoplist.codingerror.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `InfoPlist.CodingError`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `invalidType(_:)`\\n\\n```swift\\npublic enum CodingError: Error\\n```\\n\\n## Cases\\n### `invalidType(_:)`\\n\\n```swift\\ncase invalidType(String)\\n```\\n\\n\",\"title\":\"`InfoPlist.CodingError`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/infoplist.codingerror\",\"LLMS_URL\":\"/en/references/project-description/enums/infoplist.codingerror.md\"}},{\"path\":\"/en/references/project-description/enums/launchstyle.md\",\"url\":\"/en/references/project-description/enums/launchstyle\",\"llmUrl\":\"/en/references/project-description/enums/launchstyle.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/launchstyle\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/launchstyle.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `LaunchStyle`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `automatically`\\n - `waitForExecutableToBeLaunched`\\n\\n```swift\\npublic enum LaunchStyle: Codable, Sendable\\n```\\n\\n## Cases\\n### `automatically`\\n\\n```swift\\ncase automatically\\n```\\n\\n### `waitForExecutableToBeLaunched`\\n\\n```swift\\ncase waitForExecutableToBeLaunched\\n```\\n\\n\",\"title\":\"`LaunchStyle`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/launchstyle\",\"LLMS_URL\":\"/en/references/project-description/enums/launchstyle.md\"}},{\"path\":\"/en/references/project-description/enums/linkingstatus.md\",\"url\":\"/en/references/project-description/enums/linkingstatus\",\"llmUrl\":\"/en/references/project-description/enums/linkingstatus.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/linkingstatus\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/linkingstatus.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `LinkingStatus`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `required`\\n - `optional`\\n - `none`\\n\\n```swift\\npublic enum LinkingStatus: String, Codable, Hashable, Sendable\\n```\\n\\nDependency status used by dependencies\\n\\n## Cases\\n### `required`\\n\\n```swift\\ncase required\\n```\\n\\nRequired dependency\\n\\n### `optional`\\n\\n```swift\\ncase optional\\n```\\n\\nOptional dependency (weakly linked)\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\nSkip linking\\n\\n\",\"title\":\"`LinkingStatus`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/linkingstatus\",\"LLMS_URL\":\"/en/references/project-description/enums/linkingstatus.md\"}},{\"path\":\"/en/references/project-description/enums/mergedbinarytype.md\",\"url\":\"/en/references/project-description/enums/mergedbinarytype\",\"llmUrl\":\"/en/references/project-description/enums/mergedbinarytype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/mergedbinarytype\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/mergedbinarytype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `MergedBinaryType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n - `automatic`\\n - `manual(mergeableDependencies:)`\\n\\n```swift\\npublic enum MergedBinaryType: Equatable, Codable, Sendable\\n```\\n\\nRepresents the different options to configure a target for mergeable libraries\\n\\nhttps://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nTarget is never going to merge available dependencies\\n\\n### `automatic`\\n\\n```swift\\ncase automatic\\n```\\n\\nTarget is going to merge direct target dependencies (just the ones declared as part of it's project). With this build\\nsetting,\\nXcode treats mergeable dependencies like normal dynamic libraries in debug builds,\\nbut performs steps in release mode to automatically handle merging for **direct dependencies**\\n\\nA direct dependency is a library that meets two criteria:\\n- The library is listed in your target’s Link Binary with Libraries build phase.\\n- The library is the product of another target in your project.\\n\\n### `manual(mergeableDependencies:)`\\n\\n```swift\\ncase manual(mergeableDependencies: Set)\\n```\\n\\nTarget is going to merge direct and specified dependencies that are not part of the project. The set of dependencies\\nis going to reflect the list of precompiled dynamic dependencies you want to merge as part of the target. These binaries\\nmust be compiled with `MAKE_MERGEABLE` flag set to true\\n\\nIn some cases, you may want to manually configure merging between your app or framework target and dependent libraries.\\nFor example, you might not want to automatically merge dependencies that you share between an app and an app extension\\nif you’re concerned about the app extension’s binary size. To set up manual merging, configure your app or framework\\ntarget,\\nthen configure your dependent libraries.\\n\\nIn your app or framework target, add the flag `mergedBinaryType` and set it to manual. After you add that setting to your\\ntarget:\\n- In release builds, Xcode merges the products of any of its direct dependencies which have\\nMAKE_MERGEABLE enabled using the linker flags -merge_framework, -merge-l and so on.\\n- In debug builds, Xcode links any of your target’s direct dependencies which have MERGEABLE_LIBRARY\\n enabled, but not MAKE_MERGEABLE with the linker flags -reexport_framework, -reexport-l, and so on.\\n- Xcode uses normal linking for targets that don’t have MERGEABLE_LIBRARY enabled. This is the same linking\\nthat Xcode uses for static libraries, or dynamic libraries that aren’t mergeable.\\n\\n\",\"title\":\"`MergedBinaryType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/mergedbinarytype\",\"LLMS_URL\":\"/en/references/project-description/enums/mergedbinarytype.md\"}},{\"path\":\"/en/references/project-description/enums/package.md\",\"url\":\"/en/references/project-description/enums/package\",\"llmUrl\":\"/en/references/project-description/enums/package.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/package\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/package.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Package`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `remote(url:requirement:)`\\n - `registry(identifier:requirement:)`\\n - `local(path:)`\\n\\n```swift\\npublic enum Package: Equatable, Codable, Sendable\\n```\\n\\nA dependency of a Swift package.\\n\\nA package dependency can be either:\\n - remote: A Git URL to the source of the package,\\n and a requirement for the version of the package.\\n - local: A relative path to the package.\\n\\n## Cases\\n### `remote(url:requirement:)`\\n\\n```swift\\ncase remote(url: String, requirement: Requirement)\\n```\\n\\n### `registry(identifier:requirement:)`\\n\\n```swift\\ncase registry(identifier: String, requirement: Requirement)\\n```\\n\\n### `local(path:)`\\n\\n```swift\\ncase local(path: Path)\\n```\\n\\n\",\"title\":\"`Package`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/package\",\"LLMS_URL\":\"/en/references/project-description/enums/package.md\"}},{\"path\":\"/en/references/project-description/enums/package.requirement.md\",\"url\":\"/en/references/project-description/enums/package.requirement\",\"llmUrl\":\"/en/references/project-description/enums/package.requirement.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/package.requirement\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/package.requirement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Package.Requirement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `upToNextMajor(from:)`\\n - `upToNextMinor(from:)`\\n - `range(from:to:)`\\n - `exact(_:)`\\n - `branch(_:)`\\n - `revision(_:)`\\n\\n```swift\\npublic enum Requirement: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `upToNextMajor(from:)`\\n\\n```swift\\ncase upToNextMajor(from: Version)\\n```\\n\\n### `upToNextMinor(from:)`\\n\\n```swift\\ncase upToNextMinor(from: Version)\\n```\\n\\n### `range(from:to:)`\\n\\n```swift\\ncase range(from: Version, to: Version)\\n```\\n\\n### `exact(_:)`\\n\\n```swift\\ncase exact(Version)\\n```\\n\\n### `branch(_:)`\\n\\n```swift\\ncase branch(String)\\n```\\n\\n### `revision(_:)`\\n\\n```swift\\ncase revision(String)\\n```\\n\\n\",\"title\":\"`Package.Requirement`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/package.requirement\",\"LLMS_URL\":\"/en/references/project-description/enums/package.requirement.md\"}},{\"path\":\"/en/references/project-description/enums/packageplatform.md\",\"url\":\"/en/references/project-description/enums/packageplatform\",\"llmUrl\":\"/en/references/project-description/enums/packageplatform.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/packageplatform\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/packageplatform.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PackagePlatform`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iOS`\\n - `macOS`\\n - `macCatalyst`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n\\n```swift\\npublic enum PackagePlatform: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported Swift Package Manager platform representation.\\n\\n## Cases\\n### `iOS`\\n\\n```swift\\ncase iOS = \\\"ios\\\"\\n```\\n\\nThe iOS platform\\n\\n### `macOS`\\n\\n```swift\\ncase macOS = \\\"macos\\\"\\n```\\n\\nThe macOS platform\\n\\n### `macCatalyst`\\n\\n```swift\\ncase macCatalyst = \\\"maccatalyst\\\"\\n```\\n\\nThe Mac Catalyst platform\\n\\n### `watchOS`\\n\\n```swift\\ncase watchOS = \\\"watchos\\\"\\n```\\n\\nThe watchOS platform\\n\\n### `tvOS`\\n\\n```swift\\ncase tvOS = \\\"tvos\\\"\\n```\\n\\nThe tvOS platform\\n\\n### `visionOS`\\n\\n```swift\\ncase visionOS = \\\"visionos\\\"\\n```\\n\\nThe visionOS platform\\n\\n\",\"title\":\"`PackagePlatform`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/packageplatform\",\"LLMS_URL\":\"/en/references/project-description/enums/packageplatform.md\"}},{\"path\":\"/en/references/project-description/enums/parser.option.md\",\"url\":\"/en/references/project-description/enums/parser.option\",\"llmUrl\":\"/en/references/project-description/enums/parser.option.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/parser.option\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/parser.option.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Parser.Option`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `double(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic enum Option: Equatable, Codable, Sendable\\n```\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `double(_:)`\\n\\n```swift\\ncase double(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Option])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Option])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Parser.Option`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/parser.option\",\"LLMS_URL\":\"/en/references/project-description/enums/parser.option.md\"}},{\"path\":\"/en/references/project-description/enums/path.pathtype.md\",\"url\":\"/en/references/project-description/enums/path.pathtype\",\"llmUrl\":\"/en/references/project-description/enums/path.pathtype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/path.pathtype\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/path.pathtype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Path.PathType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `relativeToCurrentFile`\\n - `relativeToManifest`\\n - `relativeToRoot`\\n\\n```swift\\npublic enum PathType: String, Codable, Sendable\\n```\\n\\n## Cases\\n### `relativeToCurrentFile`\\n\\n```swift\\ncase relativeToCurrentFile\\n```\\n\\n### `relativeToManifest`\\n\\n```swift\\ncase relativeToManifest\\n```\\n\\n### `relativeToRoot`\\n\\n```swift\\ncase relativeToRoot\\n```\\n\\n\",\"title\":\"`Path.PathType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/path.pathtype\",\"LLMS_URL\":\"/en/references/project-description/enums/path.pathtype.md\"}},{\"path\":\"/en/references/project-description/enums/platform.md\",\"url\":\"/en/references/project-description/enums/platform\",\"llmUrl\":\"/en/references/project-description/enums/platform.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/platform\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/platform.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Platform`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iOS`\\n - `macOS`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n\\n```swift\\npublic enum Platform: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported platform representation.\\n\\n## Cases\\n### `iOS`\\n\\n```swift\\ncase iOS = \\\"ios\\\"\\n```\\n\\nThe iOS platform\\n\\n### `macOS`\\n\\n```swift\\ncase macOS = \\\"macos\\\"\\n```\\n\\nThe macOS platform\\n\\n### `watchOS`\\n\\n```swift\\ncase watchOS = \\\"watchos\\\"\\n```\\n\\nThe watchOS platform\\n\\n### `tvOS`\\n\\n```swift\\ncase tvOS = \\\"tvos\\\"\\n```\\n\\nThe tvOS platform\\n\\n### `visionOS`\\n\\n```swift\\ncase visionOS = \\\"visionos\\\"\\n```\\n\\nThe visionOS platform\\n\\n\",\"title\":\"`Platform`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/platform\",\"LLMS_URL\":\"/en/references/project-description/enums/platform.md\"}},{\"path\":\"/en/references/project-description/enums/platformfilter.md\",\"url\":\"/en/references/project-description/enums/platformfilter\",\"llmUrl\":\"/en/references/project-description/enums/platformfilter.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/platformfilter\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/platformfilter.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PlatformFilter`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `ios`\\n - `macos`\\n - `tvos`\\n - `catalyst`\\n - `driverkit`\\n - `watchos`\\n - `visionos`\\n\\n```swift\\npublic enum PlatformFilter: Comparable, Hashable, Codable, CaseIterable, Sendable\\n```\\n\\n## Cases\\n### `ios`\\n\\n```swift\\ncase ios\\n```\\n\\n### `macos`\\n\\n```swift\\ncase macos\\n```\\n\\n### `tvos`\\n\\n```swift\\ncase tvos\\n```\\n\\n### `catalyst`\\n\\n```swift\\ncase catalyst\\n```\\n\\n### `driverkit`\\n\\n```swift\\ncase driverkit\\n```\\n\\n### `watchos`\\n\\n```swift\\ncase watchos\\n```\\n\\n### `visionos`\\n\\n```swift\\ncase visionos\\n```\\n\\n\",\"title\":\"`PlatformFilter`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/platformfilter\",\"LLMS_URL\":\"/en/references/project-description/enums/platformfilter.md\"}},{\"path\":\"/en/references/project-description/enums/plist.md\",\"url\":\"/en/references/project-description/enums/plist\",\"llmUrl\":\"/en/references/project-description/enums/plist.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/plist\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/plist.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Plist`\\n\\n```swift\\npublic enum Plist\\n```\\n\\n\",\"title\":\"`Plist`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/plist\",\"LLMS_URL\":\"/en/references/project-description/enums/plist.md\"}},{\"path\":\"/en/references/project-description/enums/plist.value.md\",\"url\":\"/en/references/project-description/enums/plist.value\",\"llmUrl\":\"/en/references/project-description/enums/plist.value.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/plist.value\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/plist.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Plist.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `real(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic indirect enum Value: Codable, Equatable, Sendable\\n```\\n\\nIt represents the values of the .plist or .entitlements file dictionary.\\nIt ensures that the values used to define the content of the dynamically generated .plist or .entitlements files are valid\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `real(_:)`\\n\\n```swift\\ncase real(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Value])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Value])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Plist.Value`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/plist.value\",\"LLMS_URL\":\"/en/references/project-description/enums/plist.value.md\"}},{\"path\":\"/en/references/project-description/enums/pluginlocation.locationtype.md\",\"url\":\"/en/references/project-description/enums/pluginlocation.locationtype\",\"llmUrl\":\"/en/references/project-description/enums/pluginlocation.locationtype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/pluginlocation.locationtype\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/pluginlocation.locationtype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PluginLocation.LocationType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `local(path:)`\\n - `gitWithTag(url:tag:directory:releaseUrl:)`\\n - `gitWithSha(url:sha:directory:)`\\n\\n```swift\\npublic enum LocationType: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `local(path:)`\\n\\n```swift\\ncase local(path: Path)\\n```\\n\\n### `gitWithTag(url:tag:directory:releaseUrl:)`\\n\\n```swift\\ncase gitWithTag(url: String, tag: String, directory: String?, releaseUrl: String?)\\n```\\n\\n### `gitWithSha(url:sha:directory:)`\\n\\n```swift\\ncase gitWithSha(url: String, sha: String, directory: String?)\\n```\\n\\n\",\"title\":\"`PluginLocation.LocationType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/pluginlocation.locationtype\",\"LLMS_URL\":\"/en/references/project-description/enums/pluginlocation.locationtype.md\"}},{\"path\":\"/en/references/project-description/enums/product.md\",\"url\":\"/en/references/project-description/enums/product\",\"llmUrl\":\"/en/references/project-description/enums/product.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/product\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/product.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Product`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `app`\\n - `staticLibrary`\\n - `dynamicLibrary`\\n - `framework`\\n - `staticFramework`\\n - `unitTests`\\n - `uiTests`\\n - `bundle`\\n - `commandLineTool`\\n - `appClip`\\n - `appExtension`\\n - `watch2App`\\n - `watch2Extension`\\n - `tvTopShelfExtension`\\n - `messagesExtension`\\n - `stickerPackExtension`\\n - `xpc`\\n - `systemExtension`\\n - `extensionKitExtension`\\n - `macro`\\n\\n```swift\\npublic enum Product: String, Codable, Equatable, Sendable\\n```\\n\\nPossible products types.\\n\\n## Cases\\n### `app`\\n\\n```swift\\ncase app\\n```\\n\\nAn application.\\n\\n### `staticLibrary`\\n\\n```swift\\ncase staticLibrary = \\\"static_library\\\"\\n```\\n\\nA static library.\\n\\n### `dynamicLibrary`\\n\\n```swift\\ncase dynamicLibrary = \\\"dynamic_library\\\"\\n```\\n\\nA dynamic library.\\n\\n### `framework`\\n\\n```swift\\ncase framework\\n```\\n\\nA dynamic framework.\\n\\n### `staticFramework`\\n\\n```swift\\ncase staticFramework\\n```\\n\\nA static framework.\\n\\n### `unitTests`\\n\\n```swift\\ncase unitTests = \\\"unit_tests\\\"\\n```\\n\\nA unit tests bundle.\\n\\n### `uiTests`\\n\\n```swift\\ncase uiTests = \\\"ui_tests\\\"\\n```\\n\\nA UI tests bundle.\\n\\n### `bundle`\\n\\n```swift\\ncase bundle\\n```\\n\\nA custom bundle. (currently only iOS resource bundles are supported).\\n\\n### `commandLineTool`\\n\\n```swift\\ncase commandLineTool\\n```\\n\\nA command line tool (macOS platform only).\\n\\n### `appClip`\\n\\n```swift\\ncase appClip\\n```\\n\\nAn appClip. (iOS platform only).\\n\\n### `appExtension`\\n\\n```swift\\ncase appExtension = \\\"app_extension\\\"\\n```\\n\\nAn application extension.\\n\\n### `watch2App`\\n\\n```swift\\ncase watch2App\\n```\\n\\nA Watch application. (watchOS platform only) .\\n\\n### `watch2Extension`\\n\\n```swift\\ncase watch2Extension\\n```\\n\\nA Watch application extension. (watchOS platform only).\\n\\n### `tvTopShelfExtension`\\n\\n```swift\\ncase tvTopShelfExtension\\n```\\n\\nA TV Top Shelf Extension.\\n\\n### `messagesExtension`\\n\\n```swift\\ncase messagesExtension\\n```\\n\\nAn iMessage extension. (iOS platform only)\\n\\n### `stickerPackExtension`\\n\\n```swift\\ncase stickerPackExtension = \\\"sticker_pack_extension\\\"\\n```\\n\\nA sticker pack extension.\\n\\n### `xpc`\\n\\n```swift\\ncase xpc\\n```\\n\\nAn XPC. (macOS platform only).\\n\\n### `systemExtension`\\n\\n```swift\\ncase systemExtension\\n```\\n\\nAn system extension. (macOS platform only).\\n\\n### `extensionKitExtension`\\n\\n```swift\\ncase extensionKitExtension = \\\"extension_kit_extension\\\"\\n```\\n\\nAn ExtensionKit extension.\\n\\n### `macro`\\n\\n```swift\\ncase macro\\n```\\n\\nA Swift Macro\\nAlthough Apple doesn't officially support Swift Macro Xcode Project targets, we\\nenable them by adding a command line tool target, a target dependency in\\nthe dependent targets, and the right build settings to use the macro executable.\\n\\n\",\"title\":\"`Product`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/product\",\"LLMS_URL\":\"/en/references/project-description/enums/product.md\"}},{\"path\":\"/en/references/project-description/enums/project.options.automaticschemesoptions.md\",\"url\":\"/en/references/project-description/enums/project.options.automaticschemesoptions\",\"llmUrl\":\"/en/references/project-description/enums/project.options.automaticschemesoptions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/project.options.automaticschemesoptions\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/project.options.automaticschemesoptions.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Project.Options.AutomaticSchemesOptions`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `enabled(targetSchemesGrouping:codeCoverageEnabled:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:runLanguage:runRegion:)`\\n - `disabled`\\n\\n```swift\\npublic enum AutomaticSchemesOptions: Codable, Equatable, Sendable\\n```\\n\\nAutomatic schemes options allow customizing the generation of the target schemes.\\n\\n## Cases\\n### `enabled(targetSchemesGrouping:codeCoverageEnabled:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:runLanguage:runRegion:)`\\n\\n```swift\\ncase enabled(\\n targetSchemesGrouping: TargetSchemesGrouping = .byNameSuffix(\\n build: [\\\"Implementation\\\", \\\"Interface\\\", \\\"Mocks\\\", \\\"Testing\\\"],\\n test: [\\\"Tests\\\", \\\"IntegrationTests\\\", \\\"UITests\\\", \\\"SnapshotTests\\\"],\\n run: [\\\"App\\\", \\\"Demo\\\", \\\"Example\\\"]\\n ),\\n codeCoverageEnabled: Bool = false,\\n testingOptions: TestingOptions = [],\\n testLanguage: SchemeLanguage? = nil,\\n testRegion: String? = nil,\\n testScreenCaptureFormat: ScreenCaptureFormat? = nil,\\n runLanguage: SchemeLanguage? = nil,\\n runRegion: String? = nil\\n)\\n```\\n\\nEnable autogenerated schemes\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDisable autogenerated schemes\\n\\n\",\"title\":\"`Project.Options.AutomaticSchemesOptions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/project.options.automaticschemesoptions\",\"LLMS_URL\":\"/en/references/project-description/enums/project.options.automaticschemesoptions.md\"}},{\"path\":\"/en/references/project-description/enums/resourcefileelement.md\",\"url\":\"/en/references/project-description/enums/resourcefileelement\",\"llmUrl\":\"/en/references/project-description/enums/resourcefileelement.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/resourcefileelement\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/resourcefileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceFileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:excluding:tags:inclusionCondition:)`\\n - `folderReference(path:tags:inclusionCondition:)`\\n\\n```swift\\npublic enum ResourceFileElement: Codable, Equatable, Sendable, Hashable\\n```\\n\\nA resource file element from a glob pattern or a folder reference.\\n\\n- glob: a glob pattern for files to include\\n- folderReference: a single path to a directory\\n\\nNote: For convenience, an element can be represented as a string literal\\n `\\\"some/pattern/**\\\"` is the equivalent of `ResourceFileElement.glob(pattern: \\\"some/pattern/**\\\")`\\n\\n## Cases\\n### `glob(pattern:excluding:tags:inclusionCondition:)`\\n\\n```swift\\ncase glob(pattern: Path, excluding: [Path] = [], tags: [String] = [], inclusionCondition: PlatformCondition? = nil)\\n```\\n\\nA glob pattern of files to include and ODR tags\\n\\n### `folderReference(path:tags:inclusionCondition:)`\\n\\n```swift\\ncase folderReference(path: Path, tags: [String] = [], inclusionCondition: PlatformCondition? = nil)\\n```\\n\\nRelative path to a directory to include as a folder reference and ODR tags\\n\\n\",\"title\":\"`ResourceFileElement`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/resourcefileelement\",\"LLMS_URL\":\"/en/references/project-description/enums/resourcefileelement.md\"}},{\"path\":\"/en/references/project-description/enums/resourcesynthesizer.parser.md\",\"url\":\"/en/references/project-description/enums/resourcesynthesizer.parser\",\"llmUrl\":\"/en/references/project-description/enums/resourcesynthesizer.parser.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/resourcesynthesizer.parser\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/resourcesynthesizer.parser.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceSynthesizer.Parser`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `strings`\\n - `assets`\\n - `plists`\\n - `fonts`\\n - `coreData`\\n - `interfaceBuilder`\\n - `json`\\n - `yaml`\\n - `files`\\n\\n```swift\\npublic enum Parser: String, Codable, Sendable\\n```\\n\\nThere are multiple parsers you can choose from\\nEach parser will give you different metadata from a file\\nYou can read more about available parsers and how to use their metadata here:\\nhttps://github.com/SwiftGen/SwiftGen#available-parsers\\n\\n## Cases\\n### `strings`\\n\\n```swift\\ncase strings\\n```\\n\\n### `assets`\\n\\n```swift\\ncase assets\\n```\\n\\n### `plists`\\n\\n```swift\\ncase plists\\n```\\n\\n### `fonts`\\n\\n```swift\\ncase fonts\\n```\\n\\n### `coreData`\\n\\n```swift\\ncase coreData\\n```\\n\\n### `interfaceBuilder`\\n\\n```swift\\ncase interfaceBuilder\\n```\\n\\n### `json`\\n\\n```swift\\ncase json\\n```\\n\\n### `yaml`\\n\\n```swift\\ncase yaml\\n```\\n\\n### `files`\\n\\n```swift\\ncase files\\n```\\n\\n\",\"title\":\"`ResourceSynthesizer.Parser`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/resourcesynthesizer.parser\",\"LLMS_URL\":\"/en/references/project-description/enums/resourcesynthesizer.parser.md\"}},{\"path\":\"/en/references/project-description/enums/resourcesynthesizer.templatetype.md\",\"url\":\"/en/references/project-description/enums/resourcesynthesizer.templatetype\",\"llmUrl\":\"/en/references/project-description/enums/resourcesynthesizer.templatetype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/resourcesynthesizer.templatetype\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/resourcesynthesizer.templatetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceSynthesizer.TemplateType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `plugin(name:resourceName:)`\\n - `defaultTemplate(resourceName:)`\\n\\n```swift\\npublic enum TemplateType: Codable, Equatable, Sendable\\n```\\n\\nTemplates can be either a local template file, from a plugin, or a default template from tuist\\n\\n## Cases\\n### `plugin(name:resourceName:)`\\n\\n```swift\\ncase plugin(name: String, resourceName: String)\\n```\\n\\nPlugin template file\\n`name` is a name of a plugin\\n`resourceName` is a name of the resource - that is used for finding a template as well as naming the resulting\\n`.swift` file\\n\\n### `defaultTemplate(resourceName:)`\\n\\n```swift\\ncase defaultTemplate(resourceName: String)\\n```\\n\\nDefault template defined `Tuist/{ProjectName}`, or if not present there, in tuist itself\\n`resourceName` is used for the name of the resulting `.swift` file\\n\\n\",\"title\":\"`ResourceSynthesizer.TemplateType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/resourcesynthesizer.templatetype\",\"LLMS_URL\":\"/en/references/project-description/enums/resourcesynthesizer.templatetype.md\"}},{\"path\":\"/en/references/project-description/enums/runactionoptions.gpuframecapturemode.md\",\"url\":\"/en/references/project-description/enums/runactionoptions.gpuframecapturemode\",\"llmUrl\":\"/en/references/project-description/enums/runactionoptions.gpuframecapturemode.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/runactionoptions.gpuframecapturemode\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/runactionoptions.gpuframecapturemode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `RunActionOptions.GPUFrameCaptureMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `autoEnabled`\\n - `metal`\\n - `openGL`\\n - `disabled`\\n- [Properties](#properties)\\n - `default`\\n\\n```swift\\npublic enum GPUFrameCaptureMode: String, Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `autoEnabled`\\n\\n```swift\\ncase autoEnabled\\n```\\n\\n### `metal`\\n\\n```swift\\ncase metal\\n```\\n\\n### `openGL`\\n\\n```swift\\ncase openGL\\n```\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: GPUFrameCaptureMode\\n```\\n\\n\",\"title\":\"`RunActionOptions.GPUFrameCaptureMode`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/runactionoptions.gpuframecapturemode\",\"LLMS_URL\":\"/en/references/project-description/enums/runactionoptions.gpuframecapturemode.md\"}},{\"path\":\"/en/references/project-description/enums/screencaptureformat.md\",\"url\":\"/en/references/project-description/enums/screencaptureformat\",\"llmUrl\":\"/en/references/project-description/enums/screencaptureformat.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/screencaptureformat\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/screencaptureformat.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ScreenCaptureFormat`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `screenshots`\\n - `screenRecording`\\n\\n```swift\\npublic enum ScreenCaptureFormat: String, Codable, Sendable\\n```\\n\\nPreferred screen capture format for UI tests results in Xcode 15+\\n\\nAvailable options are screen recordings and screenshots.\\n\\nIn Xcode 15 screen recordings are enabled by default (in favour of screenshots).\\nThis setting is ignored by Xcode 14.x and prior.\\n\\n## Cases\\n### `screenshots`\\n\\n```swift\\ncase screenshots\\n```\\n\\nScreenshots\\n\\n### `screenRecording`\\n\\n```swift\\ncase screenRecording\\n```\\n\\nAutomatic screen recordings\\n\\n\",\"title\":\"`ScreenCaptureFormat`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/screencaptureformat\",\"LLMS_URL\":\"/en/references/project-description/enums/screencaptureformat.md\"}},{\"path\":\"/en/references/project-description/enums/sdktype.md\",\"url\":\"/en/references/project-description/enums/sdktype\",\"llmUrl\":\"/en/references/project-description/enums/sdktype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/sdktype\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/sdktype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SDKType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `library`\\n - `swiftLibrary`\\n - `framework`\\n\\n```swift\\npublic enum SDKType: String, Codable, Hashable, Sendable\\n```\\n\\nDependency type used by `.sdk` target dependencies\\n\\n## Cases\\n### `library`\\n\\n```swift\\ncase library\\n```\\n\\nLibrary SDK dependency\\nLibraries are located in:\\n`{path-to-xcode}.app/Contents/Developer/Platforms/{platform}.platform/Developer/SDKs/{runtime}.sdk/usr/lib`\\n\\n### `swiftLibrary`\\n\\n```swift\\ncase swiftLibrary\\n```\\n\\nSwift library SDK dependency\\nSwift libraries are located in:\\n`{path-to-xcode}.app/Contents/Developer/Platforms/{platform}.platform/Developer/SDKs/{runtime}.sdk/usr/lib/swift`\\n\\n### `framework`\\n\\n```swift\\ncase framework\\n```\\n\\nFramework SDK dependency\\n\\n\",\"title\":\"`SDKType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/sdktype\",\"LLMS_URL\":\"/en/references/project-description/enums/sdktype.md\"}},{\"path\":\"/en/references/project-description/enums/settingvalue.md\",\"url\":\"/en/references/project-description/enums/settingvalue\",\"llmUrl\":\"/en/references/project-description/enums/settingvalue.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/settingvalue\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/settingvalue.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SettingValue`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `array(_:)`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `init(arrayLiteral:)`\\n - `init(booleanLiteral:)`\\n - `init(_:)`\\n\\n```swift\\npublic enum SettingValue: ExpressibleByStringInterpolation, ExpressibleByArrayLiteral, ExpressibleByBooleanLiteral, Equatable,\\n Codable, Sendable\\n```\\n\\nA value or a collection of values used for settings configuration.\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([String])\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: String...)\\n```\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(_:)`\\n\\n```swift\\npublic init(_ stringRawRepresentable: T) where T: RawRepresentable, T.RawValue == String\\n```\\n\\n\",\"title\":\"`SettingValue`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/settingvalue\",\"LLMS_URL\":\"/en/references/project-description/enums/settingvalue.md\"}},{\"path\":\"/en/references/project-description/enums/sourcefileglob.filetype.md\",\"url\":\"/en/references/project-description/enums/sourcefileglob.filetype\",\"llmUrl\":\"/en/references/project-description/enums/sourcefileglob.filetype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/sourcefileglob.filetype\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/sourcefileglob.filetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SourceFileGlob.FileType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `alwaysPresent`\\n - `generated`\\n\\n```swift\\npublic enum FileType: String, Codable, Sendable\\n```\\n\\nType of the source file.\\n\\n## Cases\\n### `alwaysPresent`\\n\\n```swift\\ncase alwaysPresent\\n```\\n\\nFile is already present on disk before generating the project.\\n\\n### `generated`\\n\\n```swift\\ncase generated\\n```\\n\\nFile is generated, meaning it wasn't initially present on disk at the time of project generation.\\nFor example, a file created by a pre-build phase script.\\n\\n- Important: Since generated files do not exist at the time of project generation, their content cannot be hashed,\\nwhich affects the ability to identify changes in their content during caching.\\nNote that specifically for files generated by a pre-build phase script, the input and output file paths are part of\\nthe target's hash, if they are specified.\\n\\n\",\"title\":\"`SourceFileGlob.FileType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/sourcefileglob.filetype\",\"LLMS_URL\":\"/en/references/project-description/enums/sourcefileglob.filetype.md\"}},{\"path\":\"/en/references/project-description/enums/swiftcompilationmode.md\",\"url\":\"/en/references/project-description/enums/swiftcompilationmode\",\"llmUrl\":\"/en/references/project-description/enums/swiftcompilationmode.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/swiftcompilationmode\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/swiftcompilationmode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SwiftCompilationMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `singlefile`\\n - `wholemodule`\\n\\n```swift\\npublic enum SwiftCompilationMode: String\\n```\\n\\n## Cases\\n### `singlefile`\\n\\n```swift\\ncase singlefile\\n```\\n\\n### `wholemodule`\\n\\n```swift\\ncase wholemodule\\n```\\n\\n\",\"title\":\"`SwiftCompilationMode`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/swiftcompilationmode\",\"LLMS_URL\":\"/en/references/project-description/enums/swiftcompilationmode.md\"}},{\"path\":\"/en/references/project-description/enums/swiftoptimizationlevel.md\",\"url\":\"/en/references/project-description/enums/swiftoptimizationlevel\",\"llmUrl\":\"/en/references/project-description/enums/swiftoptimizationlevel.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/swiftoptimizationlevel\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/swiftoptimizationlevel.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SwiftOptimizationLevel`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `o`\\n - `oNone`\\n - `oSize`\\n\\n```swift\\npublic enum SwiftOptimizationLevel: String\\n```\\n\\n## Cases\\n### `o`\\n\\n```swift\\ncase o = \\\"-O\\\"\\n```\\n\\n### `oNone`\\n\\n```swift\\ncase oNone = \\\"-Onone\\\"\\n```\\n\\n### `oSize`\\n\\n```swift\\ncase oSize = \\\"-Osize\\\"\\n```\\n\\n\",\"title\":\"`SwiftOptimizationLevel`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/swiftoptimizationlevel\",\"LLMS_URL\":\"/en/references/project-description/enums/swiftoptimizationlevel.md\"}},{\"path\":\"/en/references/project-description/enums/targetdependency.md\",\"url\":\"/en/references/project-description/enums/targetdependency\",\"llmUrl\":\"/en/references/project-description/enums/targetdependency.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/targetdependency\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/targetdependency.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetDependency`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `target(name:status:condition:)`\\n - `macro(name:)`\\n - `project(target:path:status:condition:)`\\n - `framework(path:status:condition:)`\\n - `library(path:publicHeaders:swiftModuleMap:condition:)`\\n - `package(product:type:condition:)`\\n - `sdk(name:type:status:condition:)`\\n - `xcframework(path:expectedSignature:status:condition:)`\\n - `xctest`\\n - `external(name:condition:)`\\n- [Properties](#properties)\\n - `typeName`\\n- [Methods](#methods)\\n - `sdk(name:type:condition:)`\\n - `target(_:condition:)`\\n\\n```swift\\npublic enum TargetDependency: Codable, Hashable, Sendable\\n```\\n\\nA target dependency.\\n\\n## Cases\\n### `target(name:status:condition:)`\\n\\n```swift\\ncase target(name: String, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on another target within the same project\\n\\n- Parameters:\\n - name: Name of the target to depend on\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `macro(name:)`\\n\\n```swift\\ncase macro(name: String)\\n```\\n\\nDependency on a macro target within the same project\\n\\n- Parameters:\\n - name: Name of the target to depend on\\n\\n### `project(target:path:status:condition:)`\\n\\n```swift\\ncase project(target: String, path: Path, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a target within another project\\n\\n- Parameters:\\n - target: Name of the target to depend on\\n - path: Relative path to the other project directory\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `framework(path:status:condition:)`\\n\\n```swift\\ncase framework(path: Path, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a prebuilt framework\\n\\n- Parameters:\\n - path: Relative path to the prebuilt framework\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `library(path:publicHeaders:swiftModuleMap:condition:)`\\n\\n```swift\\ncase library(path: Path, publicHeaders: Path, swiftModuleMap: Path?, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on prebuilt library\\n\\n- Parameters:\\n - path: Relative path to the prebuilt library\\n - publicHeaders: Relative path to the library's public headers directory\\n - swiftModuleMap: Relative path to the library's swift module map file\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `package(product:type:condition:)`\\n\\n```swift\\ncase package(product: String, type: PackageType = .runtime, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a swift package manager product using Xcode native integration. It's recommended to use `external` instead.\\nFor more info, check the [external dependencies documentation\\n](https://docs.tuist.dev/en/guides/features/projects/dependencies#external-dependencies).\\n\\n- Parameters:\\n - product: The name of the output product. ${PRODUCT_NAME} inside Xcode.\\n e.g. RxSwift\\n - type: The type of package being integrated.\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `sdk(name:type:status:condition:)`\\n\\n```swift\\ncase sdk(name: String, type: SDKType, status: LinkingStatus, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on system library or framework\\n\\n- Parameters:\\n - name: Name of the system library or framework (not including extension)\\n e.g. `ARKit`, `c++`\\n - type: The dependency type\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `xcframework(path:expectedSignature:status:condition:)`\\n\\n```swift\\ncase xcframework(\\n path: Path,\\n expectedSignature: XCFrameworkSignature? = nil,\\n status: LinkingStatus = .required,\\n condition: PlatformCondition? = nil\\n)\\n```\\n\\nDependency on a xcframework\\n\\n- Parameters:\\n - path: Relative path to the xcframework\\n - expectedSignature: The expected signature if the xcframework is signed.\\n Used for verifying the xcframework's integrity against the actual fingerprint derived from the given xcframeowrk\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `xctest`\\n\\n```swift\\ncase xctest\\n```\\n\\nDependency on XCTest.\\n\\n### `external(name:condition:)`\\n\\n```swift\\ncase external(name: String, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on an external dependency imported through `Package.swift`.\\n\\n- Parameters:\\n - name: Name of the external dependency\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n## Properties\\n### `typeName`\\n\\n```swift\\npublic var typeName: String\\n```\\n\\n## Methods\\n### `sdk(name:type:condition:)`\\n\\n```swift\\npublic static func sdk(name: String, type: SDKType, condition: PlatformCondition? = nil) -> TargetDependency\\n```\\n\\nDependency on system library or framework\\n\\n- Parameters:\\n - name: Name of the system library or framework (including extension)\\n e.g. `ARKit.framework`, `libc++.tbd`\\n - type: Whether or not this dependecy is required. Defaults to `.required`\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the system library or framework (including extension) e.g. `ARKit.framework`, `libc++.tbd` |\\n| type | Whether or not this dependecy is required. Defaults to `.required` |\\n| condition | condition under which to use this dependency, `nil` if this should always be used |\\n\\n### `target(_:condition:)`\\n\\n```swift\\npublic static func target(_ target: Target, condition: PlatformCondition? = nil) -> TargetDependency\\n```\\n\\nDependency on another target within the same project. This is just syntactic sugar for `.target(name: target.name)`.\\n\\n- Parameters:\\n - target: Instance of the target to depend on\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | Instance of the target to depend on |\\n| condition | condition under which to use this dependency, `nil` if this should always be used |\\n\",\"title\":\"`TargetDependency`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/targetdependency\",\"LLMS_URL\":\"/en/references/project-description/enums/targetdependency.md\"}},{\"path\":\"/en/references/project-description/enums/targetdependency.packagetype.md\",\"url\":\"/en/references/project-description/enums/targetdependency.packagetype\",\"llmUrl\":\"/en/references/project-description/enums/targetdependency.packagetype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/targetdependency.packagetype\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/targetdependency.packagetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetDependency.PackageType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `runtime`\\n - `runtimeEmbedded`\\n - `plugin`\\n - `macro`\\n\\n```swift\\npublic enum PackageType: Codable, Hashable, Sendable\\n```\\n\\n## Cases\\n### `runtime`\\n\\n```swift\\ncase runtime\\n```\\n\\nA runtime package type represents a standard package whose sources are linked at runtime.\\nFor example importing the framework and consuming from dependent targets.\\n\\n### `runtimeEmbedded`\\n\\n```swift\\ncase runtimeEmbedded\\n```\\n\\nA runtime embedded package type represents a package that's embedded in the product at runtime.\\n\\n### `plugin`\\n\\n```swift\\ncase plugin\\n```\\n\\nA plugin package represents a package that's loaded by the build system at compile-time to\\nextend the compilation process.\\n\\n### `macro`\\n\\n```swift\\ncase macro\\n```\\n\\nA macro package represents a package that contains a Swift Macro.\\n\\n\",\"title\":\"`TargetDependency.PackageType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/targetdependency.packagetype\",\"LLMS_URL\":\"/en/references/project-description/enums/targetdependency.packagetype.md\"}},{\"path\":\"/en/references/project-description/enums/targetscript.order.md\",\"url\":\"/en/references/project-description/enums/targetscript.order\",\"llmUrl\":\"/en/references/project-description/enums/targetscript.order.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/targetscript.order\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/targetscript.order.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetScript.Order`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `pre`\\n - `post`\\n\\n```swift\\npublic enum Order: String, Codable, Equatable, Sendable\\n```\\n\\nOrder when the script gets executed.\\n\\n- pre: Before the sources and resources build phase.\\n- post: After the sources and resources build phase.\\n\\n## Cases\\n### `pre`\\n\\n```swift\\ncase pre\\n```\\n\\n### `post`\\n\\n```swift\\ncase post\\n```\\n\\n\",\"title\":\"`TargetScript.Order`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/targetscript.order\",\"LLMS_URL\":\"/en/references/project-description/enums/targetscript.order.md\"}},{\"path\":\"/en/references/project-description/enums/targetscript.script.md\",\"url\":\"/en/references/project-description/enums/targetscript.script\",\"llmUrl\":\"/en/references/project-description/enums/targetscript.script.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/targetscript.script\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/targetscript.script.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetScript.Script`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `tool(path:args:)`\\n - `scriptPath(path:args:)`\\n - `embedded(_:)`\\n\\n```swift\\npublic enum Script: Equatable, Codable, Sendable\\n```\\n\\nSpecifies how to execute the target script\\n\\n- tool: Executes the tool with the given arguments. Tuist will look up the tool on the environment's PATH.\\n- scriptPath: Executes the file at the path with the given arguments.\\n- text: Executes the embedded script. This should be a short command.\\n\\n## Cases\\n### `tool(path:args:)`\\n\\n```swift\\ncase tool(path: String, args: [String])\\n```\\n\\n### `scriptPath(path:args:)`\\n\\n```swift\\ncase scriptPath(path: Path, args: [String])\\n```\\n\\n### `embedded(_:)`\\n\\n```swift\\ncase embedded(String)\\n```\\n\\n\",\"title\":\"`TargetScript.Script`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/targetscript.script\",\"LLMS_URL\":\"/en/references/project-description/enums/targetscript.script.md\"}},{\"path\":\"/en/references/project-description/enums/template.attribute.md\",\"url\":\"/en/references/project-description/enums/template.attribute\",\"llmUrl\":\"/en/references/project-description/enums/template.attribute.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/template.attribute\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/template.attribute.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Attribute`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `required(_:)`\\n - `optional(_:default:)`\\n\\n```swift\\npublic enum Attribute: Codable, Equatable, Sendable\\n```\\n\\nAttribute to be passed to `tuist scaffold` for generating with `Template`\\n\\n## Cases\\n### `required(_:)`\\n\\n```swift\\ncase required(String)\\n```\\n\\nRequired attribute with a given name\\n\\n### `optional(_:default:)`\\n\\n```swift\\ncase optional(String, default: Value)\\n```\\n\\nOptional attribute with a given name and a default value used when attribute not provided by user\\n\\n\",\"title\":\"`Template.Attribute`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/template.attribute\",\"LLMS_URL\":\"/en/references/project-description/enums/template.attribute.md\"}},{\"path\":\"/en/references/project-description/enums/template.attribute.value.md\",\"url\":\"/en/references/project-description/enums/template.attribute.value\",\"llmUrl\":\"/en/references/project-description/enums/template.attribute.value.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/template.attribute.value\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/template.attribute.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Attribute.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `real(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic indirect enum Value: Codable, Equatable, Sendable\\n```\\n\\nThis represents the default value type of Attribute\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `real(_:)`\\n\\n```swift\\ncase real(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Value])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Value])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Template.Attribute.Value`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/template.attribute.value\",\"LLMS_URL\":\"/en/references/project-description/enums/template.attribute.value.md\"}},{\"path\":\"/en/references/project-description/enums/template.contents.md\",\"url\":\"/en/references/project-description/enums/template.contents\",\"llmUrl\":\"/en/references/project-description/enums/template.contents.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/template.contents\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/template.contents.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Contents`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `file(_:)`\\n - `directory(_:)`\\n\\n```swift\\npublic enum Contents: Codable, Equatable, Sendable\\n```\\n\\nEnum containing information about how to generate item\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nString Contents is defined in `name_of_template.swift` and contains a simple `String`\\nCan not contain any additional logic apart from plain `String` from `arguments`\\n\\n### `file(_:)`\\n\\n```swift\\ncase file(Path)\\n```\\n\\nFile content is defined in a different file from `name_of_template.swift`\\nCan contain additional logic and anything that is defined in `ProjectDescriptionHelpers`\\n\\n### `directory(_:)`\\n\\n```swift\\ncase directory(Path)\\n```\\n\\nDirectory content is defined in a path\\nIt is just for copying files without modifications and logic inside\\n\\n\",\"title\":\"`Template.Contents`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/template.contents\",\"LLMS_URL\":\"/en/references/project-description/enums/template.contents.md\"}},{\"path\":\"/en/references/project-description/enums/templatestring.token.md\",\"url\":\"/en/references/project-description/enums/templatestring.token\",\"llmUrl\":\"/en/references/project-description/enums/templatestring.token.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/templatestring.token\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/templatestring.token.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TemplateString.Token`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `projectName`\\n\\n```swift\\npublic enum Token: String, Equatable\\n```\\n\\nProvides a template for existing project properties.\\n\\n- projectName: The name of the project.\\n\\n## Cases\\n### `projectName`\\n\\n```swift\\ncase projectName = \\\"${project_name}\\\"\\n```\\n\\n\",\"title\":\"`TemplateString.Token`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/templatestring.token\",\"LLMS_URL\":\"/en/references/project-description/enums/templatestring.token.md\"}},{\"path\":\"/en/references/project-description/enums/testabletarget.parallelization.md\",\"url\":\"/en/references/project-description/enums/testabletarget.parallelization\",\"llmUrl\":\"/en/references/project-description/enums/testabletarget.parallelization.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/testabletarget.parallelization\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/testabletarget.parallelization.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TestableTarget.Parallelization`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n\\n```swift\\npublic enum Parallelization: Equatable, Codable, Sendable\\n```\\n\\nWith the introduction of Swift Testing and Xcode 16, you can now choose to run your tests\\nin parallel across either the full suite of tests in a target with `.enabled`, just those created\\nunder Swift Testing with `.swiftTestingOnly`, or run them serially with the `.disabled` option.\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\n\",\"title\":\"`TestableTarget.Parallelization`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/testabletarget.parallelization\",\"LLMS_URL\":\"/en/references/project-description/enums/testabletarget.parallelization.md\"}},{\"path\":\"/en/references/project-description/enums/tuistproject.md\",\"url\":\"/en/references/project-description/enums/tuistproject\",\"llmUrl\":\"/en/references/project-description/enums/tuistproject.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/tuistproject\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/tuistproject.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TuistProject`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `tuist(compatibleXcodeVersions:swiftVersion:plugins:generationOptions:installOptions:)`\\n - `xcode(_:)`\\n\\n```swift\\npublic enum TuistProject: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `tuist(compatibleXcodeVersions:swiftVersion:plugins:generationOptions:installOptions:)`\\n\\n```swift\\ncase tuist(\\n compatibleXcodeVersions: CompatibleXcodeVersions = .all,\\n swiftVersion: Version? = nil,\\n plugins: [PluginLocation] = [],\\n generationOptions: Tuist.GenerationOptions = .options(),\\n installOptions: Tuist.InstallOptions = .options()\\n)\\n```\\n\\nCreates a configuration for a Tuist project.\\n\\n- Parameters:\\n - compatibleXcodeVersions: List of Xcode versions the project is compatible with.\\n - swiftVersion: The version of Swift that will be used by Tuist.\\n - plugins: A list of plugins to extend Tuist.\\n - generationOptions: List of options to use when generating the project.\\n - installOptions: List of options to use when running `tuist install`.\\n\\n### `xcode(_:)`\\n\\n```swift\\ncase xcode(TuistXcodeProjectOptions = TuistXcodeProjectOptions.options())\\n```\\n\\n\",\"title\":\"`TuistProject`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/tuistproject\",\"LLMS_URL\":\"/en/references/project-description/enums/tuistproject.md\"}},{\"path\":\"/en/references/project-description/enums/xcframeworksignature.md\",\"url\":\"/en/references/project-description/enums/xcframeworksignature\",\"llmUrl\":\"/en/references/project-description/enums/xcframeworksignature.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/enums/xcframeworksignature\\\"\\nLLMS_URL: \\\"/en/references/project-description/enums/xcframeworksignature.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `XCFrameworkSignature`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `unsigned`\\n - `signedWithAppleCertificate(teamIdentifier:teamName:)`\\n - `selfSigned(fingerprint:)`\\n\\n```swift\\npublic enum XCFrameworkSignature: Equatable, Hashable, Codable, Sendable\\n```\\n\\nExpected signature for XCFramework. Can be used to verify the authenticity of the XCFramework against the actual signature\\ncalculated from it.\\n\\n## Cases\\n### `unsigned`\\n\\n```swift\\ncase unsigned\\n```\\n\\nThe XCFramework is not signed.\\n\\n### `signedWithAppleCertificate(teamIdentifier:teamName:)`\\n\\n```swift\\ncase signedWithAppleCertificate(teamIdentifier: String, teamName: String)\\n```\\n\\nThe XCFramework is signed with an Apple Development certificate.\\n\\n### `selfSigned(fingerprint:)`\\n\\n```swift\\ncase selfSigned(fingerprint: String)\\n```\\n\\nThe XCFramework is signed by a self issued code signing identity.\\n\\n\",\"title\":\"`XCFrameworkSignature`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/enums/xcframeworksignature\",\"LLMS_URL\":\"/en/references/project-description/enums/xcframeworksignature.md\"}},{\"path\":\"/en/references/project-description/extensions/array.md\",\"url\":\"/en/references/project-description/extensions/array\",\"llmUrl\":\"/en/references/project-description/extensions/array.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/array\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/array.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `[FileElement]`\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`[FileElement]`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/array\",\"LLMS_URL\":\"/en/references/project-description/extensions/array.md\"}},{\"path\":\"/en/references/project-description/extensions/array.md\",\"url\":\"/en/references/project-description/extensions/array\",\"llmUrl\":\"/en/references/project-description/extensions/array.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/array\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/array.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `[ResourceSynthesizer]`\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: Self\\n```\\n\\n\",\"title\":\"`[ResourceSynthesizer]`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/array\",\"LLMS_URL\":\"/en/references/project-description/extensions/array.md\"}},{\"path\":\"/en/references/project-description/extensions/closedrange.md\",\"url\":\"/en/references/project-description/extensions/closedrange\",\"llmUrl\":\"/en/references/project-description/extensions/closedrange.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/closedrange\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/closedrange.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ClosedRange`\\n```swift\\nextension ClosedRange where Bound == Version\\n```\\n\\n## Methods\\n### `contains(_:)`\\n\\n```swift\\npublic func contains(_: Version) -> Bool\\n```\\n\\nMarked as unavailable because we have custom rules for contains.\\n\\n\",\"title\":\"`ClosedRange`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/closedrange\",\"LLMS_URL\":\"/en/references/project-description/extensions/closedrange.md\"}},{\"path\":\"/en/references/project-description/extensions/copyfileelement.md\",\"url\":\"/en/references/project-description/extensions/copyfileelement\",\"llmUrl\":\"/en/references/project-description/extensions/copyfileelement.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/copyfileelement\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/copyfileelement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `CopyFileElement`\\n```swift\\nextension CopyFileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`CopyFileElement`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/copyfileelement\",\"LLMS_URL\":\"/en/references/project-description/extensions/copyfileelement.md\"}},{\"path\":\"/en/references/project-description/extensions/defaultsettings.md\",\"url\":\"/en/references/project-description/extensions/defaultsettings\",\"llmUrl\":\"/en/references/project-description/extensions/defaultsettings.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/defaultsettings\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/defaultsettings.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `DefaultSettings`\\n```swift\\nextension DefaultSettings\\n```\\n\\n## Properties\\n### `recommended`\\n\\n```swift\\npublic static var recommended: DefaultSettings\\n```\\n\\n### `essential`\\n\\n```swift\\npublic static var essential: DefaultSettings\\n```\\n\\n\",\"title\":\"`DefaultSettings`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/defaultsettings\",\"LLMS_URL\":\"/en/references/project-description/extensions/defaultsettings.md\"}},{\"path\":\"/en/references/project-description/extensions/destinations.md\",\"url\":\"/en/references/project-description/extensions/destinations\",\"llmUrl\":\"/en/references/project-description/extensions/destinations.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/destinations\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/destinations.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Destinations`\\n```swift\\nextension Destinations\\n```\\n\\n## Properties\\n### `watchOS`\\n\\n```swift\\npublic static let watchOS: Destinations = [.appleWatch]\\n```\\n\\n### `iOS`\\n\\n```swift\\npublic static let iOS: Destinations = [.iPhone, .iPad, .macWithiPadDesign]\\n```\\n\\nCurrently we omit `.visionOSwithiPadDesign` from our default because `visionOS` is unreleased.\\n\\n### `macOS`\\n\\n```swift\\npublic static let macOS: Destinations = [.mac]\\n```\\n\\n### `tvOS`\\n\\n```swift\\npublic static let tvOS: Destinations = [.appleTv]\\n```\\n\\n### `visionOS`\\n\\n```swift\\npublic static let visionOS: Destinations = [.appleVision]\\n```\\n\\n### `platforms`\\n\\n```swift\\npublic var platforms: Set\\n```\\n\\nConvenience set of platforms that are supported by a set of destinations\\n\\n\",\"title\":\"`Destinations`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/destinations\",\"LLMS_URL\":\"/en/references/project-description/extensions/destinations.md\"}},{\"path\":\"/en/references/project-description/extensions/entitlements.md\",\"url\":\"/en/references/project-description/extensions/entitlements\",\"llmUrl\":\"/en/references/project-description/extensions/entitlements.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/entitlements\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/entitlements.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Entitlements`\\n```swift\\nextension Entitlements: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`Entitlements`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/entitlements\",\"LLMS_URL\":\"/en/references/project-description/extensions/entitlements.md\"}},{\"path\":\"/en/references/project-description/extensions/environment.value_.md\",\"url\":\"/en/references/project-description/extensions/environment.value_\",\"llmUrl\":\"/en/references/project-description/extensions/environment.value_.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/environment.value_\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/environment.value_.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Environment.Value?`\\n```swift\\nextension Environment.Value?\\n```\\n\\n## Methods\\n### `getString(default:)`\\n\\n```swift\\npublic func getString(default defaultString: String) -> String\\n```\\n\\nRetrieve the Environment value as a string or return the specified default string value\\n- Parameters:\\n - default: default String value to be returned\\n- Returns: String\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| default | default String value to be returned |\\n\\n### `getBoolean(default:)`\\n\\n```swift\\npublic func getBoolean(default defaultBoolean: Bool) -> Bool\\n```\\n\\nRetrieve the Environment value as a boolean or return the specified default boolean value\\n- Parameters:\\n - default: default Boolean value to be returned\\n- Returns: Bool\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| default | default Boolean value to be returned |\\n\",\"title\":\"`Environment.Value?`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/environment.value_\",\"LLMS_URL\":\"/en/references/project-description/extensions/environment.value_.md\"}},{\"path\":\"/en/references/project-description/extensions/fileelement.md\",\"url\":\"/en/references/project-description/extensions/fileelement\",\"llmUrl\":\"/en/references/project-description/extensions/fileelement.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/fileelement\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/fileelement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileElement`\\n```swift\\nextension FileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`FileElement`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/fileelement\",\"LLMS_URL\":\"/en/references/project-description/extensions/fileelement.md\"}},{\"path\":\"/en/references/project-description/extensions/filelist.md\",\"url\":\"/en/references/project-description/extensions/filelist\",\"llmUrl\":\"/en/references/project-description/extensions/filelist.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/filelist\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/filelist.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileList`\\n```swift\\nextension FileList: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: String...)\\n```\\n\\n\",\"title\":\"`FileList`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/filelist\",\"LLMS_URL\":\"/en/references/project-description/extensions/filelist.md\"}},{\"path\":\"/en/references/project-description/extensions/filelistglob.md\",\"url\":\"/en/references/project-description/extensions/filelistglob\",\"llmUrl\":\"/en/references/project-description/extensions/filelistglob.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/filelistglob\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/filelistglob.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileListGlob`\\n```swift\\nextension FileListGlob: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`FileListGlob`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/filelistglob\",\"LLMS_URL\":\"/en/references/project-description/extensions/filelistglob.md\"}},{\"path\":\"/en/references/project-description/extensions/infoplist.md\",\"url\":\"/en/references/project-description/extensions/infoplist\",\"llmUrl\":\"/en/references/project-description/extensions/infoplist.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/infoplist\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/infoplist.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `InfoPlist`\\n```swift\\nextension InfoPlist: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`InfoPlist`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/infoplist\",\"LLMS_URL\":\"/en/references/project-description/extensions/infoplist.md\"}},{\"path\":\"/en/references/project-description/extensions/package.md\",\"url\":\"/en/references/project-description/extensions/package\",\"llmUrl\":\"/en/references/project-description/extensions/package.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/package\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/package.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Package`\\n```swift\\nextension Package\\n```\\n\\n## Methods\\n### `package(url:from:)`\\n\\n```swift\\npublic static func package(url: String, from version: Version) -> Package\\n```\\n\\nCreate a package dependency that uses the version requirement, starting with the given minimum version,\\ngoing up to the next major version.\\n\\nThis is the recommended way to specify a remote package dependency.\\nIt allows you to specify the minimum version you require, allows updates that include bug fixes\\nand backward-compatible feature updates, but requires you to explicitly update to a new major version of the dependency.\\nThis approach provides the maximum flexibility on which version to use,\\nwhile making sure you don't update to a version with breaking changes,\\nand helps to prevent conflicts in your dependency graph.\\n\\nThe following example allows the Swift package manager to select a version\\nlike a `1.2.3`, `1.2.4`, or `1.3.0`, but not `2.0.0`.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", from: \\\"1.2.3\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - version: The minimum version requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| version | The minimum version requirement. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ requirement: Package.Requirement) -> Package\\n```\\n\\nAdd a remote package dependency given a version requirement.\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - requirement: A dependency requirement. See static methods on `Package.Requirement` for available options.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| requirement | A dependency requirement. See static methods on `Package.Requirement` for available options. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ range: Range) -> Package\\n```\\n\\nAdd a package dependency starting with a specific minimum version, up to\\nbut not including a specified maximum version.\\n\\nThe following example allows the Swift package manager to pick\\nversions `1.2.3`, `1.2.4`, `1.2.5`, but not `1.2.6`.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", \\\"1.2.3\\\"..<\\\"1.2.6\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - range: The custom version range requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| range | The custom version range requirement. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ range: ClosedRange) -> Package\\n```\\n\\nAdd a package dependency starting with a specific minimum version, going\\nup to and including a specific maximum version.\\n\\nThe following example allows the Swift package manager to pick\\nversions 1.2.3, 1.2.4, 1.2.5, as well as 1.2.6.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", \\\"1.2.3\\\"...\\\"1.2.6\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - range: The closed version range requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| range | The closed version range requirement. |\\n\\n### `package(path:)`\\n\\n```swift\\npublic static func package(path: Path) -> Package\\n```\\n\\nAdd a dependency to a local package on the filesystem.\\n\\nThe Swift Package Manager uses the package dependency as-is\\nand does not perform any source control access. Local package dependencies\\nare especially useful during development of a new package or when working\\non multiple tightly coupled packages.\\n\\n- Parameter path: The path of the package.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | The path of the package. |\\n\\n### `package(id:from:)`\\n\\n```swift\\npublic static func package(id: String, from version: Version) -> Package\\n```\\n\\nAdds a package dependency that uses the version requirement, starting with the given minimum version,\\ngoing up to the next major version.\\n\\nThis is the recommended way to specify a remote package dependency.\\nIt allows you to specify the minimum version you require, allows updates that include bug fixes\\nand backward-compatible feature updates, but requires you to explicitly update to a new major version of the dependency.\\nThis approach provides the maximum flexibility on which version to use,\\nwhile making sure you don't update to a version with breaking changes,\\nand helps to prevent conflicts in your dependency graph.\\n\\nThe following example allows the Swift Package Manager to select a version\\nlike a `1.2.3`, `1.2.4`, or `1.3.0`, but not `2.0.0`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", from: \\\"1.2.3\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - version: The minimum version requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| version | The minimum version requirement. |\\n\\n### `package(id:exact:)`\\n\\n```swift\\npublic static func package(id: String, exact version: Version) -> Package\\n```\\n\\nAdds a package dependency that uses the exact version requirement.\\n\\nSpecifying exact version requirements are not recommended as\\nthey can cause conflicts in your dependency graph when multiple other packages depend on a package.\\nBecause Swift packages follow the semantic versioning convention,\\nthink about specifying a version range instead.\\n\\nThe following example instructs the Swift Package Manager to use version `1.2.3`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", exact: \\\"1.2.3\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - version: The exact version of the dependency for this requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| version | The exact version of the dependency for this requirement. |\\n\\n### `package(id:_:)`\\n\\n```swift\\npublic static func package(id: String, _ range: Range) -> Package\\n```\\n\\nAdds a package dependency starting with a specific minimum version, up to\\nbut not including a specified maximum version.\\n\\nThe following example allows the Swift Package Manager to pick\\nversions `1.2.3`, `1.2.4`, `1.2.5`, but not `1.2.6`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", \\\"1.2.3\\\"..<\\\"1.2.6\\\"),\\n```\\n\\nThe following example allows the Swift Package Manager to pick\\nversions between 1.0.0 and 2.0.0\\n\\n```swift\\n.package(id: \\\"scope.name\\\", .upToNextMajor(from: \\\"1.0.0\\\")),\\n```\\n\\nThe following example allows the Swift Package Manager to pick\\nversions between 1.0.0 and 1.1.0\\n\\n```swift\\n.package(id: \\\"scope.name\\\", .upToNextMinor(from: \\\"1.0.0\\\")),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - range: The custom version range requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| range | The custom version range requirement. |\\n\\n### `package(id:_:)`\\n\\n```swift\\npublic static func package(id: String, _ range: ClosedRange) -> Package\\n```\\n\\nAdds a package dependency starting with a specific minimum version, going\\nup to and including a specific maximum version.\\n\\nThe following example allows the Swift Package Manager to pick\\nversions 1.2.3, 1.2.4, 1.2.5, as well as 1.2.6.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", \\\"1.2.3\\\"...\\\"1.2.6\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - range: The closed version range requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| range | The closed version range requirement. |\\n\\n### `package(url:version:)`\\n\\n### `package(url:branch:)`\\n\\n### `package(url:revision:)`\\n\\n### `package(url:range:)`\\n\\n\",\"title\":\"`Package`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/package\",\"LLMS_URL\":\"/en/references/project-description/extensions/package.md\"}},{\"path\":\"/en/references/project-description/extensions/platformfilters.md\",\"url\":\"/en/references/project-description/extensions/platformfilters\",\"llmUrl\":\"/en/references/project-description/extensions/platformfilters.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/platformfilters\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/platformfilters.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `PlatformFilters`\\n```swift\\nextension PlatformFilters\\n```\\n\\n## Properties\\n### `all`\\n\\n```swift\\npublic static let all = Set(PlatformFilter.allCases)\\n```\\n\\n\",\"title\":\"`PlatformFilters`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/platformfilters\",\"LLMS_URL\":\"/en/references/project-description/extensions/platformfilters.md\"}},{\"path\":\"/en/references/project-description/extensions/plist.value.md\",\"url\":\"/en/references/project-description/extensions/plist.value\",\"llmUrl\":\"/en/references/project-description/extensions/plist.value.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/plist.value\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/plist.value.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Plist.Value`\\n```swift\\nextension Plist.Value: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Plist.Value)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Plist.Value...)\\n```\\n\\n\",\"title\":\"`Plist.Value`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/plist.value\",\"LLMS_URL\":\"/en/references/project-description/extensions/plist.value.md\"}},{\"path\":\"/en/references/project-description/extensions/range.md\",\"url\":\"/en/references/project-description/extensions/range\",\"llmUrl\":\"/en/references/project-description/extensions/range.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/range\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/range.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Range`\\n```swift\\nextension Range where Bound == Version\\n```\\n\\n## Methods\\n### `contains(_:)`\\n\\n```swift\\npublic func contains(_: Version) -> Bool\\n```\\n\\nMarked as unavailable because we have custom rules for contains.\\n\\n### `contains(version:)`\\n\\n```swift\\npublic func contains(version: Version) -> Bool\\n```\\n\\n\",\"title\":\"`Range`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/range\",\"LLMS_URL\":\"/en/references/project-description/extensions/range.md\"}},{\"path\":\"/en/references/project-description/extensions/resourcefileelement.md\",\"url\":\"/en/references/project-description/extensions/resourcefileelement\",\"llmUrl\":\"/en/references/project-description/extensions/resourcefileelement.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/resourcefileelement\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/resourcefileelement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceFileElement`\\n```swift\\nextension ResourceFileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`ResourceFileElement`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/resourcefileelement\",\"LLMS_URL\":\"/en/references/project-description/extensions/resourcefileelement.md\"}},{\"path\":\"/en/references/project-description/extensions/resourcefileelements.md\",\"url\":\"/en/references/project-description/extensions/resourcefileelements\",\"llmUrl\":\"/en/references/project-description/extensions/resourcefileelements.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/resourcefileelements\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/resourcefileelements.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceFileElements`\\n```swift\\nextension ResourceFileElements: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: ResourceFileElement...)\\n```\\n\\n\",\"title\":\"`ResourceFileElements`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/resourcefileelements\",\"LLMS_URL\":\"/en/references/project-description/extensions/resourcefileelements.md\"}},{\"path\":\"/en/references/project-description/extensions/resourcesynthesizer.parser.option.md\",\"url\":\"/en/references/project-description/extensions/resourcesynthesizer.parser.option\",\"llmUrl\":\"/en/references/project-description/extensions/resourcesynthesizer.parser.option.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/resourcesynthesizer.parser.option\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/resourcesynthesizer.parser.option.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceSynthesizer.Parser.Option`\\n```swift\\nextension ResourceSynthesizer.Parser.Option: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Self)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Self...)\\n```\\n\\n\",\"title\":\"`ResourceSynthesizer.Parser.Option`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/resourcesynthesizer.parser.option\",\"LLMS_URL\":\"/en/references/project-description/extensions/resourcesynthesizer.parser.option.md\"}},{\"path\":\"/en/references/project-description/extensions/schemelanguage.md\",\"url\":\"/en/references/project-description/extensions/schemelanguage\",\"llmUrl\":\"/en/references/project-description/extensions/schemelanguage.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/schemelanguage\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/schemelanguage.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SchemeLanguage`\\n```swift\\nextension SchemeLanguage\\n```\\n\\n## Properties\\n### `doubleLengthPseudoLanguage`\\n\\n```swift\\npublic static var doubleLengthPseudoLanguage: SchemeLanguage\\n```\\n\\n### `rightToLeftPseudoLanguage`\\n\\n```swift\\npublic static var rightToLeftPseudoLanguage: SchemeLanguage\\n```\\n\\n### `accentedPseudoLanguage`\\n\\n```swift\\npublic static var accentedPseudoLanguage: SchemeLanguage\\n```\\n\\n### `boundedStringPseudoLanguage`\\n\\n```swift\\npublic static var boundedStringPseudoLanguage: SchemeLanguage\\n```\\n\\n### `rightToLeftWithStringsPseudoLanguage`\\n\\n```swift\\npublic static var rightToLeftWithStringsPseudoLanguage: SchemeLanguage\\n```\\n\\n\",\"title\":\"`SchemeLanguage`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/schemelanguage\",\"LLMS_URL\":\"/en/references/project-description/extensions/schemelanguage.md\"}},{\"path\":\"/en/references/project-description/extensions/settingsdictionary.md\",\"url\":\"/en/references/project-description/extensions/settingsdictionary\",\"llmUrl\":\"/en/references/project-description/extensions/settingsdictionary.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/settingsdictionary\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/settingsdictionary.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SettingsDictionary`\\n```swift\\nextension SettingsDictionary\\n```\\n\\n## Methods\\n### `merge(_:)`\\n\\n```swift\\npublic mutating func merge(_ other: SettingsDictionary)\\n```\\n\\n### `merging(_:)`\\n\\n```swift\\npublic func merging(_ other: SettingsDictionary) -> SettingsDictionary\\n```\\n\\n### `manualCodeSigning(identity:provisioningProfileSpecifier:)`\\n\\n```swift\\npublic func manualCodeSigning(identity: String? = nil, provisioningProfileSpecifier: String? = nil) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_STYLE\\\"` to `\\\"Manual\\\"`,` \\\"CODE_SIGN_IDENTITY\\\"` to `identity`, and `\\\"PROVISIONING_PROFILE_SPECIFIER\\\"` to\\n`provisioningProfileSpecifier`\\n\\n### `automaticCodeSigning(devTeam:)`\\n\\n```swift\\npublic func automaticCodeSigning(devTeam: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_STYLE\\\"` to `\\\"Automatic\\\"` and `\\\"DEVELOPMENT_TEAM\\\"` to `devTeam`\\n- Parameters:\\n - devTeam: Your Apple Developer Team ID. See\\n[here](https://developer.apple.com/help/account/manage-your-team/locate-your-team-id/) how you can find it.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| devTeam | Your Apple Developer Team ID. See how you can find it. |\\n\\n### `codeSignIdentityAppleDevelopment()`\\n\\n```swift\\npublic func codeSignIdentityAppleDevelopment() -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_IDENTITY\\\"` to `\\\"Apple Development\\\"`\\n\\n### `codeSignIdentity(_:)`\\n\\n```swift\\npublic func codeSignIdentity(_ identity: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_IDENTITY\\\"` to `identity`\\n\\n### `currentProjectVersion(_:)`\\n\\n```swift\\npublic func currentProjectVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CURRENT_PROJECT_VERSION\\\"` to `version`\\n\\n### `marketingVersion(_:)`\\n\\n```swift\\npublic func marketingVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"MARKETING_VERSION\\\"` to `version`\\n\\n### `appleGenericVersioningSystem()`\\n\\n```swift\\npublic func appleGenericVersioningSystem() -> SettingsDictionary\\n```\\n\\nSets `\\\"VERSIONING_SYSTEM\\\"` to `\\\"apple-generic\\\"`\\n\\n### `versionInfo(_:prefix:suffix:)`\\n\\n```swift\\npublic func versionInfo(_ version: String, prefix: String? = nil, suffix: String? = nil) -> SettingsDictionary\\n```\\n\\nSets \\\"VERSION_INFO_STRING\\\" to `version`. If `prefix` and `suffix` are not `nil`, they're used as `\\\"VERSION_INFO_PREFIX\\\"`\\nand `\\\"VERSION_INFO_SUFFIX\\\"` respectively.\\n\\n### `swiftVersion(_:)`\\n\\n```swift\\npublic func swiftVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_VERSION\\\"` to `version`\\n\\n### `otherSwiftFlags(_:)`\\n\\n```swift\\npublic func otherSwiftFlags(_ flags: String...) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_SWIFT_FLAGS\\\"` to `flags`\\n\\n### `otherSwiftFlags(_:)`\\n\\n```swift\\npublic func otherSwiftFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_SWIFT_FLAGS\\\"` to `flags`\\n\\n### `swiftActiveCompilationConditions(_:)`\\n\\n```swift\\npublic func swiftActiveCompilationConditions(_ conditions: String...) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_ACTIVE_COMPILATION_CONDITIONS\\\"` to `conditions`\\n\\n### `swiftActiveCompilationConditions(_:)`\\n\\n```swift\\npublic func swiftActiveCompilationConditions(_ conditions: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_ACTIVE_COMPILATION_CONDITIONS\\\"` to `conditions`\\n\\n### `swiftCompilationMode(_:)`\\n\\n```swift\\npublic func swiftCompilationMode(_ mode: SwiftCompilationMode) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_COMPILATION_MODE\\\"` to the available `SwiftCompilationMode` (`\\\"singlefile\\\"` or `\\\"wholemodule\\\"`)\\n\\n### `swiftOptimizationLevel(_:)`\\n\\n```swift\\npublic func swiftOptimizationLevel(_ level: SwiftOptimizationLevel) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OPTIMIZATION_LEVEL\\\"` to the available `SwiftOptimizationLevel` (`\\\"-O\\\"`, `\\\"-Onone\\\"` or `\\\"-Osize\\\"`)\\n\\n### `swiftOptimizeObjectLifetimes(_:)`\\n\\n```swift\\npublic func swiftOptimizeObjectLifetimes(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OPTIMIZE_OBJECT_LIFETIME\\\"` to `\\\"YES\\\"` or `\\\"NO\\\"`\\n\\n### `swiftObjcBridgingHeaderPath(_:)`\\n\\n```swift\\npublic func swiftObjcBridgingHeaderPath(_ path: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OBJC_BRIDGING_HEADER\\\"` to `path`\\n\\n### `otherCFlags(_:)`\\n\\n```swift\\npublic func otherCFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_CFLAGS\\\"` to `flags`\\n\\n### `otherLinkerFlags(_:)`\\n\\n```swift\\npublic func otherLinkerFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_LDFLAGS\\\"` to `flags`\\n\\n### `bitcodeEnabled(_:)`\\n\\n```swift\\npublic func bitcodeEnabled(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"ENABLE_BITCODE\\\"` to `\\\"YES\\\"` or `\\\"NO\\\"`\\n\\n### `debugInformationFormat(_:)`\\n\\n```swift\\npublic func debugInformationFormat(_ format: DebugInformationFormat) -> SettingsDictionary\\n```\\n\\nSets `\\\"DEBUG_INFORMATION_FORMAT\\\"`to `\\\"dwarf\\\"` or `\\\"dwarf-with-dsym\\\"`\\n\\n### `betaFeature_enableExplicitModules(_:)`\\n\\n```swift\\npublic func betaFeature_enableExplicitModules(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"_EXPERIMENTAL_SWIFT_EXPLICIT_MODULES\\\"`\\nNOTE: This is only available when using Xcode 16 or later.\\nThis setting may change and is not guaranteed to work across all beta versions.\\n\\n\",\"title\":\"`SettingsDictionary`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/settingsdictionary\",\"LLMS_URL\":\"/en/references/project-description/extensions/settingsdictionary.md\"}},{\"path\":\"/en/references/project-description/extensions/sourcefileglob.md\",\"url\":\"/en/references/project-description/extensions/sourcefileglob\",\"llmUrl\":\"/en/references/project-description/extensions/sourcefileglob.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/sourcefileglob\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/sourcefileglob.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SourceFileGlob`\\n```swift\\nextension SourceFileGlob: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`SourceFileGlob`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/sourcefileglob\",\"LLMS_URL\":\"/en/references/project-description/extensions/sourcefileglob.md\"}},{\"path\":\"/en/references/project-description/extensions/sourcefileslist.md\",\"url\":\"/en/references/project-description/extensions/sourcefileslist\",\"llmUrl\":\"/en/references/project-description/extensions/sourcefileslist.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/sourcefileslist\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/sourcefileslist.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SourceFilesList`\\n```swift\\nextension SourceFilesList: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: SourceFileGlob...)\\n```\\n\\n\",\"title\":\"`SourceFilesList`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/sourcefileslist\",\"LLMS_URL\":\"/en/references/project-description/extensions/sourcefileslist.md\"}},{\"path\":\"/en/references/project-description/extensions/string.stringinterpolation.md\",\"url\":\"/en/references/project-description/extensions/string.stringinterpolation\",\"llmUrl\":\"/en/references/project-description/extensions/string.stringinterpolation.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/string.stringinterpolation\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/string.stringinterpolation.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `String.StringInterpolation`\\n```swift\\nextension String.StringInterpolation\\n```\\n\\n## Methods\\n### `appendInterpolation(_:)`\\n\\n```swift\\npublic mutating func appendInterpolation(_ value: Template.Attribute)\\n```\\n\\n\",\"title\":\"`String.StringInterpolation`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/string.stringinterpolation\",\"LLMS_URL\":\"/en/references/project-description/extensions/string.stringinterpolation.md\"}},{\"path\":\"/en/references/project-description/extensions/template.attribute.value.md\",\"url\":\"/en/references/project-description/extensions/template.attribute.value\",\"llmUrl\":\"/en/references/project-description/extensions/template.attribute.value.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/template.attribute.value\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/template.attribute.value.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Template.Attribute.Value`\\n```swift\\nextension Template.Attribute.Value: ExpressibleByStringLiteral\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Template.Attribute.Value)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Template.Attribute.Value...)\\n```\\n\\n\",\"title\":\"`Template.Attribute.Value`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/template.attribute.value\",\"LLMS_URL\":\"/en/references/project-description/extensions/template.attribute.value.md\"}},{\"path\":\"/en/references/project-description/extensions/template.item.md\",\"url\":\"/en/references/project-description/extensions/template.item\",\"llmUrl\":\"/en/references/project-description/extensions/template.item.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/template.item\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/template.item.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Template.Item`\\n```swift\\nextension Template.Item\\n```\\n\\n## Methods\\n### `string(path:contents:)`\\n\\n```swift\\npublic static func string(path: String, contents: String) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where to generate file\\n - contents: String Contents\\n- Returns: `Template.Item` that is `.string`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where to generate file |\\n| contents | String Contents |\\n\\n### `file(path:templatePath:)`\\n\\n```swift\\npublic static func file(path: String, templatePath: Path) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where to generate file\\n - templatePath: Path of file where the template is defined\\n- Returns: `Template.Item` that is `.file`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where to generate file |\\n| templatePath | Path of file where the template is defined |\\n\\n### `directory(path:sourcePath:)`\\n\\n```swift\\npublic static func directory(path: String, sourcePath: Path) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where will be copied the folder\\n - sourcePath: Path of folder which will be copied\\n- Returns: `Template.Item` that is `.directory`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where will be copied the folder |\\n| sourcePath | Path of folder which will be copied |\\n\",\"title\":\"`Template.Item`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/template.item\",\"LLMS_URL\":\"/en/references/project-description/extensions/template.item.md\"}},{\"path\":\"/en/references/project-description/extensions/templatestring.md\",\"url\":\"/en/references/project-description/extensions/templatestring\",\"llmUrl\":\"/en/references/project-description/extensions/templatestring.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/templatestring\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/templatestring.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `TemplateString`\\n```swift\\nextension TemplateString: ExpressibleByStringLiteral\\n```\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic var description: String\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(stringInterpolation:)`\\n\\n```swift\\npublic init(stringInterpolation: StringInterpolation)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| stringInterpolation | An instance of `StringInterpolation` which has had each segment of the string literal appended to it. |\\n\",\"title\":\"`TemplateString`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/templatestring\",\"LLMS_URL\":\"/en/references/project-description/extensions/templatestring.md\"}},{\"path\":\"/en/references/project-description/extensions/version.md\",\"url\":\"/en/references/project-description/extensions/version\",\"llmUrl\":\"/en/references/project-description/extensions/version.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/extensions/version\\\"\\nLLMS_URL: \\\"/en/references/project-description/extensions/version.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Version`\\n```swift\\nextension Version: Comparable\\n```\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic var description: String\\n```\\n\\n## Methods\\n### `<(_:_:)`\\n\\n```swift\\npublic static func < (lhs: Version, rhs: Version) -> Bool\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| lhs | A value to compare. |\\n| rhs | Another value to compare. |\\n\\n### `init(string:)`\\n\\n```swift\\npublic init?(string: String)\\n```\\n\\nCreate a version object from string.\\n\\n- Parameters:\\n - string: The string to parse.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| string | The string to parse. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`Version`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/extensions/version\",\"LLMS_URL\":\"/en/references/project-description/extensions/version.md\"}},{\"path\":\"/en/references/project-description/structs/analyzeaction.md\",\"url\":\"/en/references/project-description/structs/analyzeaction\",\"llmUrl\":\"/en/references/project-description/structs/analyzeaction.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/analyzeaction\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/analyzeaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `AnalyzeAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n- [Methods](#methods)\\n - `analyzeAction(configuration:)`\\n\\n```swift\\npublic struct AnalyzeAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that analyzes the built products.\\n\\nIt's initialized with the `.analyzeAction` static method\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should be analyzed with.\\n\\n## Methods\\n### `analyzeAction(configuration:)`\\n\\n```swift\\npublic static func analyzeAction(configuration: ConfigurationName) -> AnalyzeAction\\n```\\n\\nReturns an analyze action.\\n- Parameter configuration: Indicates the build configuration the product should be analyzed with.\\n- Returns: Analyze action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should be analyzed with. |\\n\",\"title\":\"`AnalyzeAction`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/analyzeaction\",\"LLMS_URL\":\"/en/references/project-description/structs/analyzeaction.md\"}},{\"path\":\"/en/references/project-description/structs/archiveaction.md\",\"url\":\"/en/references/project-description/structs/archiveaction\",\"llmUrl\":\"/en/references/project-description/structs/archiveaction.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/archiveaction\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/archiveaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ArchiveAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `revealArchiveInOrganizer`\\n - `customArchiveName`\\n - `preActions`\\n - `postActions`\\n- [Methods](#methods)\\n - `archiveAction(configuration:revealArchiveInOrganizer:customArchiveName:preActions:postActions:)`\\n\\n```swift\\npublic struct ArchiveAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that archives the built products.\\n\\nIt's initialized with the `.archiveAction` static method.\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration to run the archive with.\\n\\n### `revealArchiveInOrganizer`\\n\\n```swift\\npublic var revealArchiveInOrganizer: Bool\\n```\\n\\nIf set to true, Xcode will reveal the Organizer on completion.\\n\\n### `customArchiveName`\\n\\n```swift\\npublic var customArchiveName: String?\\n```\\n\\nSet if you want to override Xcode's default archive name.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the archive process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the archive process.\\n\\n## Methods\\n### `archiveAction(configuration:revealArchiveInOrganizer:customArchiveName:preActions:postActions:)`\\n\\n```swift\\npublic static func archiveAction(\\n configuration: ConfigurationName,\\n revealArchiveInOrganizer: Bool = true,\\n customArchiveName: String? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = []\\n) -> ArchiveAction\\n```\\n\\nInitialize a `ArchiveAction`\\n- Parameters:\\n - configuration: Indicates the build configuration to run the archive with.\\n - revealArchiveInOrganizer: If set to true, Xcode will reveal the Organizer on completion.\\n - customArchiveName: Set if you want to override Xcode's default archive name.\\n - preActions: A list of actions that are executed before starting the archive process.\\n - postActions: A list of actions that are executed after the archive process.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration to run the archive with. |\\n| revealArchiveInOrganizer | If set to true, Xcode will reveal the Organizer on completion. |\\n| customArchiveName | Set if you want to override Xcode’s default archive name. |\\n| preActions | A list of actions that are executed before starting the archive process. |\\n| postActions | A list of actions that are executed after the archive process. |\\n\",\"title\":\"`ArchiveAction`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/archiveaction\",\"LLMS_URL\":\"/en/references/project-description/structs/archiveaction.md\"}},{\"path\":\"/en/references/project-description/structs/arguments.md\",\"url\":\"/en/references/project-description/structs/arguments\",\"llmUrl\":\"/en/references/project-description/structs/arguments.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/arguments\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/arguments.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Arguments`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `environmentVariables`\\n - `launchArguments`\\n- [Methods](#methods)\\n - `arguments(environmentVariables:launchArguments:)`\\n\\n```swift\\npublic struct Arguments: Equatable, Codable, Sendable\\n```\\n\\nA collection of arguments and environment variables.\\n\\n## Properties\\n### `environmentVariables`\\n\\n```swift\\npublic var environmentVariables: [String: EnvironmentVariable]\\n```\\n\\n### `launchArguments`\\n\\n```swift\\npublic var launchArguments: [LaunchArgument]\\n```\\n\\n## Methods\\n### `arguments(environmentVariables:launchArguments:)`\\n\\n```swift\\npublic static func arguments(\\n environmentVariables: [String: EnvironmentVariable] = [:],\\n launchArguments: [LaunchArgument] = []\\n) -> Self\\n```\\n\\n\",\"title\":\"`Arguments`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/arguments\",\"LLMS_URL\":\"/en/references/project-description/structs/arguments.md\"}},{\"path\":\"/en/references/project-description/structs/buildaction.md\",\"url\":\"/en/references/project-description/structs/buildaction\",\"llmUrl\":\"/en/references/project-description/structs/buildaction.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/buildaction\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/buildaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `BuildAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `targets`\\n - `preActions`\\n - `postActions`\\n - `buildOrder`\\n - `runPostActionsOnFailure`\\n - `findImplicitDependencies`\\n- [Methods](#methods)\\n - `buildAction(targets:preActions:postActions:buildOrder:runPostActionsOnFailure:findImplicitDependencies:)`\\n\\n```swift\\npublic struct BuildAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that builds products.\\n\\nIt's initialized with the `.buildAction` static method.\\n\\n## Properties\\n### `targets`\\n\\n```swift\\npublic var targets: [TargetReference]\\n```\\n\\nA list of targets to build, which are defined in the project.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the build process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the build process.\\n\\n### `buildOrder`\\n\\n```swift\\npublic var buildOrder: BuildOrder\\n```\\n\\nDefines the order in which targets are built.\\n\\n### `runPostActionsOnFailure`\\n\\n```swift\\npublic var runPostActionsOnFailure: Bool\\n```\\n\\nWhether the post actions should be run in the case of a failure\\n\\n### `findImplicitDependencies`\\n\\n```swift\\npublic var findImplicitDependencies: Bool\\n```\\n\\nWhether Xcode should be allowed to find dependencies implicitly. The default is `true`.\\n\\n## Methods\\n### `buildAction(targets:preActions:postActions:buildOrder:runPostActionsOnFailure:findImplicitDependencies:)`\\n\\n```swift\\npublic static func buildAction(\\n targets: [TargetReference],\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n buildOrder: BuildOrder = .dependency,\\n runPostActionsOnFailure: Bool = false,\\n findImplicitDependencies: Bool = true\\n) -> BuildAction\\n```\\n\\nReturns a build action.\\n- Parameters:\\n - targets: A list of targets to build, which are defined in the project.\\n - preActions: A list of actions that are executed before starting the build process.\\n - postActions: A list of actions that are executed after the build process.\\n - buildOrder: Defines the order in which targets are built. Defaults to `.dependency`.\\n - runPostActionsOnFailure: Whether the post actions should be run in the case of a failure\\n - findImplicitDependencies: Whether Xcode should be allowed to find dependencies implicitly. The default is `true`.\\n- Returns: Initialized build action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| targets | A list of targets to build, which are defined in the project. |\\n| preActions | A list of actions that are executed before starting the build process. |\\n| postActions | A list of actions that are executed after the build process. |\\n| buildOrder | Defines the order in which targets are built. Defaults to `.dependency`. |\\n| runPostActionsOnFailure | Whether the post actions should be run in the case of a failure |\\n| findImplicitDependencies | Whether Xcode should be allowed to find dependencies implicitly. The default is `true`. |\\n\",\"title\":\"`BuildAction`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/buildaction\",\"LLMS_URL\":\"/en/references/project-description/structs/buildaction.md\"}},{\"path\":\"/en/references/project-description/structs/buildrule.md\",\"url\":\"/en/references/project-description/structs/buildrule\",\"llmUrl\":\"/en/references/project-description/structs/buildrule.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/buildrule\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/buildrule.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `BuildRule`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `compilerSpec`\\n - `filePatterns`\\n - `fileType`\\n - `name`\\n - `outputFiles`\\n - `inputFiles`\\n - `outputFilesCompilerFlags`\\n - `script`\\n - `runOncePerArchitecture`\\n- [Methods](#methods)\\n - `buildRule(name:fileType:filePatterns:compilerSpec:inputFiles:outputFiles:outputFilesCompilerFlags:script:runOncePerArchitecture:)`\\n\\n```swift\\npublic struct BuildRule: Codable, Equatable, Sendable\\n```\\n\\nA BuildRule is used to specify a method for transforming an input file in to an output file(s).\\n\\n## Properties\\n### `compilerSpec`\\n\\n```swift\\npublic var compilerSpec: CompilerSpec\\n```\\n\\nCompiler specification for element transformation.\\n\\n### `filePatterns`\\n\\n```swift\\npublic var filePatterns: String?\\n```\\n\\nRegex pattern when `sourceFilesWithNamesMatching` is used.\\n\\n### `fileType`\\n\\n```swift\\npublic var fileType: FileType\\n```\\n\\nFile types which are processed by build rule.\\n\\n### `name`\\n\\n```swift\\npublic var name: String?\\n```\\n\\nBuild rule name.\\n\\n### `outputFiles`\\n\\n```swift\\npublic var outputFiles: [String]\\n```\\n\\nBuild rule output files.\\n\\n### `inputFiles`\\n\\n```swift\\npublic var inputFiles: [String]\\n```\\n\\nBuild rule input files.\\n\\n### `outputFilesCompilerFlags`\\n\\n```swift\\npublic var outputFilesCompilerFlags: [String]\\n```\\n\\nBuild rule output files compiler flags.\\n\\n### `script`\\n\\n```swift\\npublic var script: String?\\n```\\n\\nBuild rule custom script when `customScript` is used.\\n\\n### `runOncePerArchitecture`\\n\\n```swift\\npublic var runOncePerArchitecture: Bool?\\n```\\n\\nBuild rule run once per architecture.\\n\\n## Methods\\n### `buildRule(name:fileType:filePatterns:compilerSpec:inputFiles:outputFiles:outputFilesCompilerFlags:script:runOncePerArchitecture:)`\\n\\n```swift\\npublic static func buildRule(\\n name: String? = nil,\\n fileType: FileType,\\n filePatterns: String? = nil,\\n compilerSpec: CompilerSpec,\\n inputFiles: [String] = [],\\n outputFiles: [String] = [],\\n outputFilesCompilerFlags: [String] = [],\\n script: String? = nil,\\n runOncePerArchitecture: Bool = false\\n) -> Self\\n```\\n\\n\",\"title\":\"`BuildRule`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/buildrule\",\"LLMS_URL\":\"/en/references/project-description/structs/buildrule.md\"}},{\"path\":\"/en/references/project-description/structs/cloud.md\",\"url\":\"/en/references/project-description/structs/cloud\",\"llmUrl\":\"/en/references/project-description/structs/cloud.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/cloud\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/cloud.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Cloud`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `url`\\n - `projectId`\\n - `options`\\n- [Methods](#methods)\\n - `cloud(projectId:url:options:)`\\n\\n```swift\\npublic struct Cloud: Codable, Equatable, Sendable\\n```\\n\\nA cloud configuration, used for remote caching.\\n\\n## Properties\\n### `url`\\n\\n```swift\\npublic var url: String\\n```\\n\\nThe base URL that points to the Cloud server.\\n\\n### `projectId`\\n\\n```swift\\npublic var projectId: String\\n```\\n\\nThe project unique identifier.\\n\\n### `options`\\n\\n```swift\\npublic var options: [Option]\\n```\\n\\nThe configuration options.\\n\\n## Methods\\n### `cloud(projectId:url:options:)`\\n\\n```swift\\npublic static func cloud(projectId: String, url: String = \\\"https://tuist.dev\\\", options: [Option] = []) -> Cloud\\n```\\n\\nReturns a generic cloud configuration.\\n- Parameters:\\n - projectId: Project unique identifier.\\n - url: Base URL to the Cloud server.\\n - options: Cloud options.\\n- Returns: A Cloud instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| projectId | Project unique identifier. |\\n| url | Base URL to the Cloud server. |\\n| options | Cloud options. |\\n\",\"title\":\"`Cloud`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/cloud\",\"LLMS_URL\":\"/en/references/project-description/structs/cloud.md\"}},{\"path\":\"/en/references/project-description/structs/config.inspectoptions.md\",\"url\":\"/en/references/project-description/structs/config.inspectoptions\",\"llmUrl\":\"/en/references/project-description/structs/config.inspectoptions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/config.inspectoptions\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/config.inspectoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Config.InspectOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `redundantDependencies`\\n- [Methods](#methods)\\n - `options(redundantDependencies:)`\\n\\n```swift\\npublic struct InspectOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for inspect.\\n\\n## Properties\\n### `redundantDependencies`\\n\\n```swift\\npublic var redundantDependencies: RedundantDependencies\\n```\\n\\nOptions for inspect redundant dependencies.\\n\\n## Methods\\n### `options(redundantDependencies:)`\\n\\n```swift\\npublic static func options(\\n redundantDependencies: RedundantDependencies = .redundantDependencies()\\n) -> Self\\n```\\n\\n\",\"title\":\"`Config.InspectOptions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/config.inspectoptions\",\"LLMS_URL\":\"/en/references/project-description/structs/config.inspectoptions.md\"}},{\"path\":\"/en/references/project-description/structs/config.installoptions.md\",\"url\":\"/en/references/project-description/structs/config.installoptions\",\"llmUrl\":\"/en/references/project-description/structs/config.installoptions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/config.installoptions\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/config.installoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Config.InstallOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `passthroughSwiftPackageManagerArguments`\\n- [Methods](#methods)\\n - `options(passthroughSwiftPackageManagerArguments:)`\\n\\n```swift\\npublic struct InstallOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for install.\\n\\n## Properties\\n### `passthroughSwiftPackageManagerArguments`\\n\\n```swift\\npublic var passthroughSwiftPackageManagerArguments: [String]\\n```\\n\\nArguments passed to the Swift Package Manager's `swift package` command when running `swift package resolve`.\\n\\n## Methods\\n### `options(passthroughSwiftPackageManagerArguments:)`\\n\\n```swift\\npublic static func options(\\n passthroughSwiftPackageManagerArguments: [String] = []\\n) -> Self\\n```\\n\\n\",\"title\":\"`Config.InstallOptions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/config.installoptions\",\"LLMS_URL\":\"/en/references/project-description/structs/config.installoptions.md\"}},{\"path\":\"/en/references/project-description/structs/configuration.md\",\"url\":\"/en/references/project-description/structs/configuration\",\"llmUrl\":\"/en/references/project-description/structs/configuration.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/configuration\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/configuration.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Configuration`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `variant`\\n - `settings`\\n - `xcconfig`\\n- [Methods](#methods)\\n - `debug(name:settings:xcconfig:)`\\n - `release(name:settings:xcconfig:)`\\n\\n```swift\\npublic struct Configuration: Equatable, Codable, Sendable\\n```\\n\\nA the build settings and the .xcconfig file of a project or target. It is initialized with either the `.debug` or `.release`\\nstatic method.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: ConfigurationName\\n```\\n\\n### `variant`\\n\\n```swift\\npublic var variant: Variant\\n```\\n\\n### `settings`\\n\\n```swift\\npublic var settings: SettingsDictionary\\n```\\n\\n### `xcconfig`\\n\\n```swift\\npublic var xcconfig: Path?\\n```\\n\\n## Methods\\n### `debug(name:settings:xcconfig:)`\\n\\n```swift\\npublic static func debug(\\n name: ConfigurationName,\\n settings: SettingsDictionary = [:],\\n xcconfig: Path? = nil\\n) -> Configuration\\n```\\n\\nReturns a debug configuration.\\n\\n- Parameters:\\n - name: The name of the configuration to use\\n - settings: The base build settings to apply\\n - xcconfig: The xcconfig file to associate with this configuration\\n- Returns: A debug `CustomConfiguration`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the configuration to use |\\n| settings | The base build settings to apply |\\n| xcconfig | The xcconfig file to associate with this configuration |\\n\\n### `release(name:settings:xcconfig:)`\\n\\n```swift\\npublic static func release(\\n name: ConfigurationName,\\n settings: SettingsDictionary = [:],\\n xcconfig: Path? = nil\\n) -> Configuration\\n```\\n\\nCreates a release configuration\\n\\n- Parameters:\\n - name: The name of the configuration to use\\n - settings: The base build settings to apply\\n - xcconfig: The xcconfig file to associate with this configuration\\n- Returns: A release `CustomConfiguration`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the configuration to use |\\n| settings | The base build settings to apply |\\n| xcconfig | The xcconfig file to associate with this configuration |\\n\",\"title\":\"`Configuration`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/configuration\",\"LLMS_URL\":\"/en/references/project-description/structs/configuration.md\"}},{\"path\":\"/en/references/project-description/structs/configurationname.md\",\"url\":\"/en/references/project-description/structs/configurationname\",\"llmUrl\":\"/en/references/project-description/structs/configurationname.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/configurationname\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/configurationname.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ConfigurationName`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `rawValue`\\n - `debug`\\n - `release`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `configuration(_:)`\\n\\n```swift\\npublic struct ConfigurationName: ExpressibleByStringLiteral, Codable, Equatable, Sendable\\n```\\n\\nA configuration name.\\n\\nIt has build-in support for ``debug`` and ``release`` configurations.\\n\\nYou can extend with your own configurations using a extension:\\n```\\nimport ProjectDescription\\nextension ConfigurationName {\\n static var beta: ConfigurationName {\\n ConfigurationName(\\\"Beta\\\")\\n }\\n}\\n```\\n\\n## Properties\\n### `rawValue`\\n\\n```swift\\npublic var rawValue: String\\n```\\n\\nThe configuration name.\\n\\n### `debug`\\n\\n```swift\\npublic static var debug: ConfigurationName\\n```\\n\\nReturns a configuration named \\\"Debug\\\"\\n\\n### `release`\\n\\n```swift\\npublic static var release: ConfigurationName\\n```\\n\\nReturns a configuration named \\\"Release\\\"\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: StringLiteralType)\\n```\\n\\nCreates a configuration name with its name.\\n- Parameter value: Configuration name.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | Configuration name. |\\n\\n### `configuration(_:)`\\n\\n```swift\\npublic static func configuration(_ name: String) -> ConfigurationName\\n```\\n\\nReturns a configuration name with its name.\\n- Parameter name: Configuration name.\\n- Returns: Initialized configuration name.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Configuration name. |\\n\",\"title\":\"`ConfigurationName`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/configurationname\",\"LLMS_URL\":\"/en/references/project-description/structs/configurationname.md\"}},{\"path\":\"/en/references/project-description/structs/copyfilesaction.md\",\"url\":\"/en/references/project-description/structs/copyfilesaction\",\"llmUrl\":\"/en/references/project-description/structs/copyfilesaction.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/copyfilesaction\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/copyfilesaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `CopyFilesAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `destination`\\n - `subpath`\\n - `files`\\n- [Methods](#methods)\\n - `absolutePath(name:subpath:files:)`\\n - `productsDirectory(name:subpath:files:)`\\n - `wrapper(name:subpath:files:)`\\n - `executables(name:subpath:files:)`\\n - `resources(name:subpath:files:)`\\n - `javaResources(name:subpath:files:)`\\n - `frameworks(name:subpath:files:)`\\n - `sharedFrameworks(name:subpath:files:)`\\n - `sharedSupport(name:subpath:files:)`\\n - `plugins(name:subpath:files:)`\\n\\n```swift\\npublic struct CopyFilesAction: Codable, Equatable, Sendable\\n```\\n\\nA build phase action used to copy files.\\n\\nCopy files actions, represented as target copy files build phases, are useful to associate project files\\nand products of other targets with the target and copies them to a specified destination, typically a\\nsubfolder within a product. This action may be used multiple times per target.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of the build phase when the project gets generated.\\n\\n### `destination`\\n\\n```swift\\npublic var destination: Destination\\n```\\n\\nDestination to copy files to.\\n\\n### `subpath`\\n\\n```swift\\npublic var subpath: String?\\n```\\n\\nPath to a folder inside the destination.\\n\\n### `files`\\n\\n```swift\\npublic var files: [CopyFileElement]\\n```\\n\\nRelative paths to the files to be copied.\\n\\n## Methods\\n### `absolutePath(name:subpath:files:)`\\n\\n```swift\\npublic static func absolutePath(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for an absolute path.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `productsDirectory(name:subpath:files:)`\\n\\n```swift\\npublic static func productsDirectory(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the products directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `wrapper(name:subpath:files:)`\\n\\n```swift\\npublic static func wrapper(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the wrapper directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `executables(name:subpath:files:)`\\n\\n```swift\\npublic static func executables(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the executables directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `resources(name:subpath:files:)`\\n\\n```swift\\npublic static func resources(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the resources directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `javaResources(name:subpath:files:)`\\n\\n```swift\\npublic static func javaResources(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the java resources directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `frameworks(name:subpath:files:)`\\n\\n```swift\\npublic static func frameworks(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the frameworks directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `sharedFrameworks(name:subpath:files:)`\\n\\n```swift\\npublic static func sharedFrameworks(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the shared frameworks directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `sharedSupport(name:subpath:files:)`\\n\\n```swift\\npublic static func sharedSupport(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the shared support directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `plugins(name:subpath:files:)`\\n\\n```swift\\npublic static func plugins(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the plugins directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\",\"title\":\"`CopyFilesAction`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/copyfilesaction\",\"LLMS_URL\":\"/en/references/project-description/structs/copyfilesaction.md\"}},{\"path\":\"/en/references/project-description/structs/coredatamodel.md\",\"url\":\"/en/references/project-description/structs/coredatamodel\",\"llmUrl\":\"/en/references/project-description/structs/coredatamodel.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/coredatamodel\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/coredatamodel.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `CoreDataModel`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `path`\\n - `currentVersion`\\n- [Methods](#methods)\\n - `coreDataModel(_:currentVersion:)`\\n\\n```swift\\npublic struct CoreDataModel: Codable, Equatable, Sendable\\n```\\n\\nA Core Data model.\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic var path: Path\\n```\\n\\nRelative path to the model.\\n\\n### `currentVersion`\\n\\n```swift\\npublic var currentVersion: String?\\n```\\n\\nOptional Current version (with or without extension)\\n\\n## Methods\\n### `coreDataModel(_:currentVersion:)`\\n\\n```swift\\npublic static func coreDataModel(\\n _ path: Path,\\n currentVersion: String? = nil\\n) -> Self\\n```\\n\\nCreates a Core Data model from a path.\\n\\n- Parameters:\\n - path: relative path to the Core Data model.\\n - currentVersion: optional current version name (with or without the extension)\\n By providing nil, it will try to read it from the .xccurrentversion file.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | relative path to the Core Data model. |\\n| currentVersion | optional current version name (with or without the extension) By providing nil, it will try to read it from the .xccurrentversion file. |\\n\",\"title\":\"`CoreDataModel`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/coredatamodel\",\"LLMS_URL\":\"/en/references/project-description/structs/coredatamodel.md\"}},{\"path\":\"/en/references/project-description/structs/deploymenttargets.md\",\"url\":\"/en/references/project-description/structs/deploymenttargets\",\"llmUrl\":\"/en/references/project-description/structs/deploymenttargets.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/deploymenttargets\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/deploymenttargets.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `DeploymentTargets`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `iOS`\\n - `macOS`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n- [Methods](#methods)\\n - `multiplatform(iOS:macOS:watchOS:tvOS:visionOS:)`\\n - `iOS(_:)`\\n - `macOS(_:)`\\n - `watchOS(_:)`\\n - `tvOS(_:)`\\n - `visionOS(_:)`\\n\\n```swift\\npublic struct DeploymentTargets: Hashable, Codable, Sendable\\n```\\n\\nA struct representing the minimum deployment versions for each platform.\\n\\n## Properties\\n### `iOS`\\n\\n```swift\\npublic var iOS: String?\\n```\\n\\nMinimum deployment version for iOS\\n\\n### `macOS`\\n\\n```swift\\npublic var macOS: String?\\n```\\n\\nMinimum deployment version for macOS\\n\\n### `watchOS`\\n\\n```swift\\npublic var watchOS: String?\\n```\\n\\nMinimum deployment version for watchOS\\n\\n### `tvOS`\\n\\n```swift\\npublic var tvOS: String?\\n```\\n\\nMinimum deployment version for tvOS\\n\\n### `visionOS`\\n\\n```swift\\npublic var visionOS: String?\\n```\\n\\nMinimum deployment version for visionOS\\n\\n## Methods\\n### `multiplatform(iOS:macOS:watchOS:tvOS:visionOS:)`\\n\\n```swift\\npublic static func multiplatform(\\n iOS: String? = nil,\\n macOS: String? = nil,\\n watchOS: String? = nil,\\n tvOS: String? = nil,\\n visionOS: String? = nil\\n) -> Self\\n```\\n\\nMultiplatform deployment target\\n\\n### `iOS(_:)`\\n\\n```swift\\npublic static func iOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `iOS` only minimum version\\n\\n### `macOS(_:)`\\n\\n```swift\\npublic static func macOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `macOS` only minimum version\\n\\n### `watchOS(_:)`\\n\\n```swift\\npublic static func watchOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `watchOS` only minimum version\\n\\n### `tvOS(_:)`\\n\\n```swift\\npublic static func tvOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `tvOS` only minimum version\\n\\n### `visionOS(_:)`\\n\\n```swift\\npublic static func visionOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `visionOS` only minimum version\\n\\n\",\"title\":\"`DeploymentTargets`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/deploymenttargets\",\"LLMS_URL\":\"/en/references/project-description/structs/deploymenttargets.md\"}},{\"path\":\"/en/references/project-description/structs/environmentvariable.md\",\"url\":\"/en/references/project-description/structs/environmentvariable\",\"llmUrl\":\"/en/references/project-description/structs/environmentvariable.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/environmentvariable\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/environmentvariable.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `EnvironmentVariable`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `value`\\n - `isEnabled`\\n- [Methods](#methods)\\n - `environmentVariable(value:isEnabled:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct EnvironmentVariable: Equatable, Codable, Hashable, ExpressibleByStringLiteral, Sendable\\n```\\n\\nIt represents an environment variable that is passed when running a scheme's action\\n\\n## Properties\\n### `value`\\n\\n```swift\\npublic var value: String\\n```\\n\\nThe value of the environment variable\\n\\n### `isEnabled`\\n\\n```swift\\npublic var isEnabled: Bool\\n```\\n\\nWhether the variable is enabled or not\\n\\n## Methods\\n### `environmentVariable(value:isEnabled:)`\\n\\n```swift\\npublic static func environmentVariable(value: String, isEnabled: Bool) -> Self\\n```\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`EnvironmentVariable`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/environmentvariable\",\"LLMS_URL\":\"/en/references/project-description/structs/environmentvariable.md\"}},{\"path\":\"/en/references/project-description/structs/executionaction.md\",\"url\":\"/en/references/project-description/structs/executionaction\",\"llmUrl\":\"/en/references/project-description/structs/executionaction.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/executionaction\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/executionaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ExecutionAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `title`\\n - `scriptText`\\n - `target`\\n - `shellPath`\\n- [Methods](#methods)\\n - `executionAction(title:scriptText:target:shellPath:)`\\n\\n```swift\\npublic struct ExecutionAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that can be executed as part of another action for pre or post execution.\\n\\n## Properties\\n### `title`\\n\\n```swift\\npublic var title: String\\n```\\n\\n### `scriptText`\\n\\n```swift\\npublic var scriptText: String\\n```\\n\\n### `target`\\n\\n```swift\\npublic var target: TargetReference?\\n```\\n\\n### `shellPath`\\n\\n```swift\\npublic var shellPath: String?\\n```\\n\\nThe path to the shell which shall execute this script. if it is nil, Xcode will use default value.\\n\\n## Methods\\n### `executionAction(title:scriptText:target:shellPath:)`\\n\\n```swift\\npublic static func executionAction(\\n title: String = \\\"Run Script\\\",\\n scriptText: String,\\n target: TargetReference? = nil,\\n shellPath: String? = nil\\n) -> Self\\n```\\n\\n\",\"title\":\"`ExecutionAction`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/executionaction\",\"LLMS_URL\":\"/en/references/project-description/structs/executionaction.md\"}},{\"path\":\"/en/references/project-description/structs/filelist.md\",\"url\":\"/en/references/project-description/structs/filelist\",\"llmUrl\":\"/en/references/project-description/structs/filelist.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/filelist\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/filelist.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `FileList`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `globs`\\n- [Methods](#methods)\\n - `list(_:)`\\n\\n```swift\\npublic struct FileList: Codable, Equatable, Sendable\\n```\\n\\nA collection of file globs.\\n\\nThe list of files can be initialized with a string that represents the glob pattern, or an array of strings, which represents\\na list of glob patterns.\\n\\n## Properties\\n### `globs`\\n\\n```swift\\npublic let globs: [FileListGlob]\\n```\\n\\nGlob pattern to the files.\\n\\n## Methods\\n### `list(_:)`\\n\\n```swift\\npublic static func list(_ globs: [FileListGlob]) -> FileList\\n```\\n\\nCreates a file list from a collection of glob patterns.\\n\\n - glob: Relative glob pattern.\\n - excluding: Relative glob patterns for excluded files.\\n\\n\",\"title\":\"`FileList`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/filelist\",\"LLMS_URL\":\"/en/references/project-description/structs/filelist.md\"}},{\"path\":\"/en/references/project-description/structs/filelistglob.md\",\"url\":\"/en/references/project-description/structs/filelistglob\",\"llmUrl\":\"/en/references/project-description/structs/filelistglob.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/filelistglob\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/filelistglob.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `FileListGlob`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `glob`\\n - `excluding`\\n- [Methods](#methods)\\n - `glob(_:excluding:)`\\n - `glob(_:excluding:)`\\n\\n```swift\\npublic struct FileListGlob: Codable, Equatable, Sendable\\n```\\n\\nA glob pattern that refers to files.\\n\\n## Properties\\n### `glob`\\n\\n```swift\\npublic var glob: Path\\n```\\n\\nThe path with a glob pattern.\\n\\n### `excluding`\\n\\n```swift\\npublic var excluding: [Path]\\n```\\n\\nThe excluding paths.\\n\\n## Methods\\n### `glob(_:excluding:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: [Path] = []\\n) -> FileListGlob\\n```\\n\\nReturns a generic file list glob.\\n- Parameters:\\n - glob: The path with a glob pattern.\\n - excluding: The excluding paths.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| glob | The path with a glob pattern. |\\n| excluding | The excluding paths. |\\n\\n### `glob(_:excluding:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: Path?\\n) -> FileListGlob\\n```\\n\\nReturns a file list glob with an optional excluding path.\\n\\n\",\"title\":\"`FileListGlob`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/filelistglob\",\"LLMS_URL\":\"/en/references/project-description/structs/filelistglob.md\"}},{\"path\":\"/en/references/project-description/structs/headers.md\",\"url\":\"/en/references/project-description/structs/headers\",\"llmUrl\":\"/en/references/project-description/structs/headers.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/headers\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/headers.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Headers`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `umbrellaHeader`\\n - `public`\\n - `private`\\n - `project`\\n - `exclusionRule`\\n- [Methods](#methods)\\n - `headers(public:private:project:exclusionRule:)`\\n - `allHeaders(from:umbrella:private:)`\\n - `onlyHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic struct Headers: Codable, Equatable, Sendable\\n```\\n\\nA group of public, private and project headers.\\n\\n## Properties\\n### `umbrellaHeader`\\n\\n```swift\\npublic var umbrellaHeader: Path?\\n```\\n\\nPath to an umbrella header, which will be used to get list of public headers.\\n\\n### `public`\\n\\n```swift\\npublic var `public`: FileList?\\n```\\n\\nRelative glob pattern that points to the public headers.\\n\\n### `private`\\n\\n```swift\\npublic var `private`: FileList?\\n```\\n\\nRelative glob pattern that points to the private headers.\\n\\n### `project`\\n\\n```swift\\npublic var project: FileList?\\n```\\n\\nRelative glob pattern that points to the project headers.\\n\\n### `exclusionRule`\\n\\n```swift\\npublic var exclusionRule: AutomaticExclusionRule\\n```\\n\\nRule, which determines how to resolve found duplicates in public/private/project scopes\\n\\n## Methods\\n### `headers(public:private:project:exclusionRule:)`\\n\\n```swift\\npublic static func headers(\\n public: FileList? = nil,\\n private: FileList? = nil,\\n project: FileList? = nil,\\n exclusionRule: AutomaticExclusionRule = .projectExcludesPrivateAndPublic\\n) -> Headers\\n```\\n\\n### `allHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic static func allHeaders(\\n from list: FileList,\\n umbrella: Path,\\n private privateHeaders: FileList? = nil\\n) -> Headers\\n```\\n\\nHeaders from the file list are included as:\\n- `public`, if the header is present in the umbrella header\\n- `private`, if the header is present in the `private` list\\n- `project`, otherwise\\n- Parameters:\\n - from: File list, which contains `public` and `project` headers\\n - umbrella: File path to the umbrella header\\n - private: File list, which contains `private` headers\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| from | File list, which contains `public` and `project` headers |\\n| umbrella | File path to the umbrella header |\\n| private | File list, which contains `private` headers |\\n\\n### `onlyHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic static func onlyHeaders(\\n from list: FileList,\\n umbrella: Path,\\n private privateHeaders: FileList? = nil\\n) -> Headers\\n```\\n\\nHeaders from the file list are included as:\\n- `public`, if the header is present in the umbrella header\\n- `private`, if the header is present in the `private` list\\n- not included, otherwise\\n- Parameters:\\n - from: File list, which contains `public` and `project` headers\\n - umbrella: File path to the umbrella header\\n - private: File list, which contains `private` headers\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| from | File list, which contains `public` and `project` headers |\\n| umbrella | File path to the umbrella header |\\n| private | File list, which contains `private` headers |\\n\",\"title\":\"`Headers`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/headers\",\"LLMS_URL\":\"/en/references/project-description/structs/headers.md\"}},{\"path\":\"/en/references/project-description/structs/inspectoptions.redundantdependencies.md\",\"url\":\"/en/references/project-description/structs/inspectoptions.redundantdependencies\",\"llmUrl\":\"/en/references/project-description/structs/inspectoptions.redundantdependencies.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/inspectoptions.redundantdependencies\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/inspectoptions.redundantdependencies.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `InspectOptions.RedundantDependencies`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `ignoreTagsMatching`\\n- [Methods](#methods)\\n - `redundantDependencies(ignoreTagsMatching:)`\\n\\n```swift\\npublic struct RedundantDependencies: Codable, Equatable, Sendable\\n```\\n\\nOptions for inspect redundant dependencies.\\n\\n## Properties\\n### `ignoreTagsMatching`\\n\\n```swift\\npublic let ignoreTagsMatching: Set\\n```\\n\\nThe set of tags which targets should be ignored when inspecting redundant dependencies\\n\\n## Methods\\n### `redundantDependencies(ignoreTagsMatching:)`\\n\\n```swift\\npublic static func redundantDependencies(\\n ignoreTagsMatching: Set = []\\n) -> Self\\n```\\n\\n\",\"title\":\"`InspectOptions.RedundantDependencies`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/inspectoptions.redundantdependencies\",\"LLMS_URL\":\"/en/references/project-description/structs/inspectoptions.redundantdependencies.md\"}},{\"path\":\"/en/references/project-description/structs/launchargument.md\",\"url\":\"/en/references/project-description/structs/launchargument\",\"llmUrl\":\"/en/references/project-description/structs/launchargument.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/launchargument\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/launchargument.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `LaunchArgument`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `isEnabled`\\n- [Methods](#methods)\\n - `launchArgument(name:isEnabled:)`\\n\\n```swift\\npublic struct LaunchArgument: Equatable, Codable, Sendable\\n```\\n\\nA launch argument, passed when running a scheme.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of argument\\n\\n### `isEnabled`\\n\\n```swift\\npublic var isEnabled: Bool\\n```\\n\\nIf enabled then argument is marked as active\\n\\n## Methods\\n### `launchArgument(name:isEnabled:)`\\n\\n```swift\\npublic static func launchArgument(name: String, isEnabled: Bool) -> Self\\n```\\n\\nCreate new launch argument\\n- Parameters:\\n - name: Name of argument\\n - isEnabled: If enabled then argument is marked as active\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of argument |\\n| isEnabled | If enabled then argument is marked as active |\\n\",\"title\":\"`LaunchArgument`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/launchargument\",\"LLMS_URL\":\"/en/references/project-description/structs/launchargument.md\"}},{\"path\":\"/en/references/project-description/structs/metaloptions.md\",\"url\":\"/en/references/project-description/structs/metaloptions\",\"llmUrl\":\"/en/references/project-description/structs/metaloptions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/metaloptions\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/metaloptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `MetalOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `apiValidation`\\n - `shaderValidation`\\n - `showGraphicsOverview`\\n - `logGraphicsOverview`\\n- [Methods](#methods)\\n - `options(apiValidation:shaderValidation:showGraphicsOverview:logGraphicsOverview:)`\\n\\n```swift\\npublic struct MetalOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions to configure scheme metal options for run and test actions.\\n\\n## Properties\\n### `apiValidation`\\n\\n```swift\\npublic var apiValidation: Bool\\n```\\n\\nAPI Validation\\n\\n### `shaderValidation`\\n\\n```swift\\npublic var shaderValidation: Bool\\n```\\n\\nShader Validation\\n\\n### `showGraphicsOverview`\\n\\n```swift\\npublic var showGraphicsOverview: Bool\\n```\\n\\nShows graphics overview\\n\\n### `logGraphicsOverview`\\n\\n```swift\\npublic var logGraphicsOverview: Bool\\n```\\n\\nLog graphics overview\\n\\n## Methods\\n### `options(apiValidation:shaderValidation:showGraphicsOverview:logGraphicsOverview:)`\\n\\n```swift\\npublic static func options(\\n apiValidation: Bool = true,\\n shaderValidation: Bool = false,\\n showGraphicsOverview: Bool = false,\\n logGraphicsOverview: Bool = false\\n) -> MetalOptions\\n```\\n\\nCreates a `MetalOptions` instance\\n\\n- Parameters:\\n - apiValidation: Specifies whether API validation is enabled.\\n - shaderValidation: Specifies whether shader validation is enabled.\\n - showGraphicsOverview: Specifies whether to show the graphics overview.\\n - logGraphicsOverview: Specifies whether to log the graphics overview.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| apiValidation | Specifies whether API validation is enabled. |\\n| shaderValidation | Specifies whether shader validation is enabled. |\\n| showGraphicsOverview | Specifies whether to show the graphics overview. |\\n| logGraphicsOverview | Specifies whether to log the graphics overview. |\\n\",\"title\":\"`MetalOptions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/metaloptions\",\"LLMS_URL\":\"/en/references/project-description/structs/metaloptions.md\"}},{\"path\":\"/en/references/project-description/structs/ondemandresourcestags.md\",\"url\":\"/en/references/project-description/structs/ondemandresourcestags\",\"llmUrl\":\"/en/references/project-description/structs/ondemandresourcestags.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/ondemandresourcestags\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/ondemandresourcestags.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `OnDemandResourcesTags`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `initialInstall`\\n - `prefetchOrder`\\n- [Methods](#methods)\\n - `tags(initialInstall:prefetchOrder:)`\\n\\n```swift\\npublic struct OnDemandResourcesTags: Codable, Equatable, Sendable\\n```\\n\\nOn-demand resources tags associated with Initial Install and Prefetched Order categories\\n\\n## Properties\\n### `initialInstall`\\n\\n```swift\\npublic let initialInstall: [String]?\\n```\\n\\nInitial install tags associated with on demand resources\\n\\n### `prefetchOrder`\\n\\n```swift\\npublic let prefetchOrder: [String]?\\n```\\n\\nPrefetched tag order associated with on demand resources\\n\\n## Methods\\n### `tags(initialInstall:prefetchOrder:)`\\n\\n```swift\\npublic static func tags(initialInstall: [String]?, prefetchOrder: [String]?) -> Self\\n```\\n\\nReturns OnDemandResourcesTags.\\n- Parameter initialInstall: An array of strings that lists the tags assosiated with the Initial install tags category.\\n- Parameter prefetchOrder: An array of strings that lists the tags associated with the Prefetch tag order category.\\n- Returns: OnDemandResourcesTags.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| initialInstall | An array of strings that lists the tags assosiated with the Initial install tags category. |\\n| prefetchOrder | An array of strings that lists the tags associated with the Prefetch tag order category. |\\n\",\"title\":\"`OnDemandResourcesTags`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/ondemandresourcestags\",\"LLMS_URL\":\"/en/references/project-description/structs/ondemandresourcestags.md\"}},{\"path\":\"/en/references/project-description/structs/packagesettings.md\",\"url\":\"/en/references/project-description/structs/packagesettings\",\"llmUrl\":\"/en/references/project-description/structs/packagesettings.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/packagesettings\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/packagesettings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PackageSettings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `productTypes`\\n - `productDestinations`\\n - `baseSettings`\\n - `targetSettings`\\n - `projectOptions`\\n- [Methods](#methods)\\n - `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n - `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic struct PackageSettings: Codable, Equatable, Sendable\\n```\\n\\nA custom Swift Package Manager configuration\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n import ProjectDescriptionHelpers\\n\\n let packageSettings = PackageSettings(\\n productTypes: [\\n \\\"Alamofire\\\": .framework, // default is .staticFramework\\n ]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"PackageName\\\",\\n dependencies: [\\n .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n ]\\n)\\n```\\n\\n## Properties\\n### `productTypes`\\n\\n```swift\\npublic var productTypes: [String: Product]\\n```\\n\\nThe custom `Product` type to be used for SPM targets.\\n\\n### `productDestinations`\\n\\n```swift\\npublic var productDestinations: [String: Destinations]\\n```\\n\\nCustom product destinations where key of the dictionary is the name of the SPM product and the value contains the\\nsupported destinations.\\n**Note**: This setting should only be used when using Tuist for SPM package projects, _not_ for your external\\ndependencies.\\nSPM implicitly always supports all platforms, but some commands like `tuist cache` depend on destinations being explicit.\\nIf a product does not support all destinations, you can use `productDestinations` to make the supported destinations\\nexplicit.\\n\\n### `baseSettings`\\n\\n```swift\\npublic var baseSettings: Settings\\n```\\n\\nThe base settings to be used for targets generated from SwiftPackageManager\\n\\n### `targetSettings`\\n\\n```swift\\npublic var targetSettings: [String: Settings]\\n```\\n\\nAdditional settings to be added to targets generated from SwiftPackageManager.\\n\\n### `projectOptions`\\n\\n```swift\\npublic var projectOptions: [String: Project.Options]\\n```\\n\\nCustom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n## Methods\\n### `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic init(\\n productTypes: [String: Product] = [:],\\n productDestinations: [String: Destinations] = [:],\\n baseSettings: Settings = .settings(),\\n targetSettings: [String: Settings] = [:],\\n projectOptions: [String: Project.Options] = [:]\\n)\\n```\\n\\nCreates `PackageSettings` instance for custom Swift Package Manager configuration.\\n- Parameters:\\n - productTypes: The custom `Product` types to be used for SPM targets.\\n - productDestinations: Custom destinations to be used for SPM products.\\n - baseSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - targetSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - projectOptions: Custom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| productTypes | The custom `Product` types to be used for SPM targets. |\\n| productDestinations | Custom destinations to be used for SPM products. |\\n| baseSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| targetSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| projectOptions | Custom project configurations to be used for projects generated from SwiftPackageManager. |\\n\\n### `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic init(\\n productTypes: [String: Product] = [:],\\n productDestinations: [String: Destinations] = [:],\\n baseSettings: Settings = .settings(),\\n targetSettings: [String: SettingsDictionary],\\n projectOptions: [String: Project.Options] = [:]\\n)\\n```\\n\\nCreates `PackageSettings` instance for custom Swift Package Manager configuration.\\n- Parameters:\\n - productTypes: The custom `Product` types to be used for SPM targets.\\n - productDestinations: Custom destinations to be used for SPM products.\\n - baseSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - targetSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - projectOptions: Custom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| productTypes | The custom `Product` types to be used for SPM targets. |\\n| productDestinations | Custom destinations to be used for SPM products. |\\n| baseSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| targetSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| projectOptions | Custom project configurations to be used for projects generated from SwiftPackageManager. |\\n\",\"title\":\"`PackageSettings`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/packagesettings\",\"LLMS_URL\":\"/en/references/project-description/structs/packagesettings.md\"}},{\"path\":\"/en/references/project-description/structs/path.md\",\"url\":\"/en/references/project-description/structs/path\",\"llmUrl\":\"/en/references/project-description/structs/path.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/path\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/path.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Path`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `type`\\n - `pathString`\\n - `callerPath`\\n- [Methods](#methods)\\n - `path(_:)`\\n - `relativeToCurrentFile(_:callerPath:)`\\n - `relativeToManifest(_:)`\\n - `relativeToRoot(_:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct Path: ExpressibleByStringInterpolation, Codable, Hashable, Sendable\\n```\\n\\nA path represents to a file, directory, or a group of files represented by a glob expression.\\n\\nPaths can be relative and absolute. We discourage using absolute paths because they create a dependency with the environment\\nwhere they are defined.\\n\\n## Properties\\n### `type`\\n\\n```swift\\npublic var type: PathType\\n```\\n\\n### `pathString`\\n\\n```swift\\npublic var pathString: String\\n```\\n\\n### `callerPath`\\n\\n```swift\\npublic var callerPath: String?\\n```\\n\\n## Methods\\n### `path(_:)`\\n\\n```swift\\npublic static func path(_ path: String) -> Self\\n```\\n\\nDefault PathType is `.relativeToManifest`\\n\\n### `relativeToCurrentFile(_:callerPath:)`\\n\\n```swift\\npublic static func relativeToCurrentFile(_ pathString: String, callerPath: StaticString = #file) -> Path\\n```\\n\\nInitialize a path that is relative to the file that defines the path.\\n\\n### `relativeToManifest(_:)`\\n\\n```swift\\npublic static func relativeToManifest(_ pathString: String) -> Path\\n```\\n\\nInitialize a path that is relative to the directory that contains the manifest file being loaded, for example the\\ndirectory that contains the Project.swift file.\\n\\n### `relativeToRoot(_:)`\\n\\n```swift\\npublic static func relativeToRoot(_ pathString: String) -> Path\\n```\\n\\nInitialize a path that is relative to the closest directory that contains a Tuist or a .git directory.\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\nInitializer uses `.relativeToRoot` if path starts with `//` otherwise it is `.relativeToManifest` by default\\n\\n\",\"title\":\"`Path`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/path\",\"LLMS_URL\":\"/en/references/project-description/structs/path.md\"}},{\"path\":\"/en/references/project-description/structs/platformcondition.md\",\"url\":\"/en/references/project-description/structs/platformcondition\",\"llmUrl\":\"/en/references/project-description/structs/platformcondition.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/platformcondition\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/platformcondition.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PlatformCondition`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `platformFilters`\\n- [Methods](#methods)\\n - `when(_:)`\\n\\n```swift\\npublic struct PlatformCondition: Codable, Hashable, Equatable, Sendable\\n```\\n\\nA condition applied to an \\\"entity\\\" allowing it to only be used in certain circumstances\\n\\n## Properties\\n### `platformFilters`\\n\\n```swift\\npublic let platformFilters: Set\\n```\\n\\n## Methods\\n### `when(_:)`\\n\\n```swift\\npublic static func when(_ platformFilters: Set) -> PlatformCondition?\\n```\\n\\nCreates a condition using the specified set of filters.\\n- Parameter platformFilters: filters to define which platforms this condition supports\\n- Returns: a `Condition` with the given set of filters or `nil` if empty.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| platformFilters | filters to define which platforms this condition supports |\\n\",\"title\":\"`PlatformCondition`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/platformcondition\",\"LLMS_URL\":\"/en/references/project-description/structs/platformcondition.md\"}},{\"path\":\"/en/references/project-description/structs/plugin.md\",\"url\":\"/en/references/project-description/structs/plugin\",\"llmUrl\":\"/en/references/project-description/structs/plugin.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/plugin\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/plugin.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Plugin`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n- [Methods](#methods)\\n - `init(name:)`\\n\\n```swift\\npublic struct Plugin: Codable, Equatable, Sendable\\n```\\n\\nA plugin representation.\\n\\nSupported plugins include:\\n- ProjectDescriptionHelpers\\n - These are plugins designed to be usable by any other manifest excluding `Config` and `Plugin`.\\n - The source files for these helpers must live under a ProjectDescriptionHelpers directory in the location where `Plugin`\\nmanifest lives.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the `Plugin`.\\n\\n## Methods\\n### `init(name:)`\\n\\n```swift\\npublic init(name: String)\\n```\\n\\nCreates a new plugin.\\n- Parameters:\\n - name: The name of the plugin.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the plugin. |\\n\",\"title\":\"`Plugin`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/plugin\",\"LLMS_URL\":\"/en/references/project-description/structs/plugin.md\"}},{\"path\":\"/en/references/project-description/structs/pluginlocation.md\",\"url\":\"/en/references/project-description/structs/pluginlocation\",\"llmUrl\":\"/en/references/project-description/structs/pluginlocation.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/pluginlocation\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/pluginlocation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PluginLocation`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `type`\\n- [Methods](#methods)\\n - `local(path:)`\\n - `git(url:tag:directory:releaseUrl:)`\\n - `git(url:sha:directory:)`\\n\\n```swift\\npublic struct PluginLocation: Codable, Equatable, Sendable\\n```\\n\\nA location to a plugin, either local or remote.\\n\\n## Properties\\n### `type`\\n\\n```swift\\npublic var type: LocationType\\n```\\n\\nThe type of location `local` or `git`.\\n\\n## Methods\\n### `local(path:)`\\n\\n```swift\\npublic static func local(path: Path) -> Self\\n```\\n\\nA `Path` to a directory containing a `Plugin` manifest.\\n\\nExample:\\n```\\n.local(path: \\\"/User/local/bin\\\")\\n```\\n\\n### `git(url:tag:directory:releaseUrl:)`\\n\\n```swift\\npublic static func git(url: String, tag: String, directory: String? = nil, releaseUrl: String? = nil) -> Self\\n```\\n\\nA `URL` to a `git` repository pointing at a `tag`.\\nYou can also specify a custom directory in case the plugin is not located at the root of the repository.\\nYou can also specify a custom release URL from where the plugin binary should be downloaded. If not specified,\\nit defaults to the GitHub release URL. Note that the URL should be publicly reachable.\\n\\nExample:\\n```\\n.git(url: \\\"https://git/plugin.git\\\", tag: \\\"1.0.0\\\", directory: \\\"PluginDirectory\\\")\\n```\\n\\n### `git(url:sha:directory:)`\\n\\n```swift\\npublic static func git(url: String, sha: String, directory: String? = nil) -> Self\\n```\\n\\nA `URL` to a `git` repository pointing at a commit `sha`.\\nYou can also specify a custom directory in case the plugin is not located at the root of the repository.\\n\\nExample:\\n```\\n.git(url: \\\"https://git/plugin.git\\\", sha: \\\"d06b4b3d\\\")\\n```\\n\\n\",\"title\":\"`PluginLocation`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/pluginlocation\",\"LLMS_URL\":\"/en/references/project-description/structs/pluginlocation.md\"}},{\"path\":\"/en/references/project-description/structs/privacymanifest.md\",\"url\":\"/en/references/project-description/structs/privacymanifest\",\"llmUrl\":\"/en/references/project-description/structs/privacymanifest.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/privacymanifest\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/privacymanifest.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PrivacyManifest`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `tracking`\\n - `trackingDomains`\\n - `collectedDataTypes`\\n - `accessedApiTypes`\\n- [Methods](#methods)\\n - `privacyManifest(tracking:trackingDomains:collectedDataTypes:accessedApiTypes:)`\\n\\n```swift\\npublic struct PrivacyManifest: Codable, Equatable, Sendable\\n```\\n\\nDescribe the data your app or third-party SDK collects and the reasons required APIs it uses.\\n\\n## Properties\\n### `tracking`\\n\\n```swift\\npublic var tracking: Bool\\n```\\n\\nA Boolean that indicates whether your app or third-party SDK uses data for tracking as defined under the App\\nTracking Transparency framework. For more information, see [User Privacy and Data\\nUse](https://developer.apple.com/app-store/user-privacy-and-data-use/).\\n\\n### `trackingDomains`\\n\\n```swift\\npublic var trackingDomains: [String]\\n```\\n\\nAn array of strings that lists the internet domains your app or third-party SDK connects to that\\nengage in tracking. If the user has not granted tracking permission through the App Tracking Transparency framework,\\nnetwork requests to these domains fail and your app receives an error. If you set `tracking` to true then you need to\\nprovide at least one internet domain in NSPrivacyTrackingDomains; otherwise, you can provide zero or more domains.\\n\\n### `collectedDataTypes`\\n\\n```swift\\npublic var collectedDataTypes: [[String: Plist.Value]]\\n```\\n\\nAn array of dictionaries that describes the data types your app or third-party SDK collects. For\\ninformation on the keys and values to use in the dictionaries, see [Describing data use in privacy manifests](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests).\\n\\n### `accessedApiTypes`\\n\\n```swift\\npublic var accessedApiTypes: [[String: Plist.Value]]\\n```\\n\\nAn array of dictionaries that describe the API types your app or third-party SDK accesses that have\\nbeen designated as APIs that require reasons to access. For information on the keys and values to use in the dictionaries,\\nsee [Describing use of required reason API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api).\\n\\n## Methods\\n### `privacyManifest(tracking:trackingDomains:collectedDataTypes:accessedApiTypes:)`\\n\\n```swift\\npublic static func privacyManifest(\\n tracking: Bool,\\n trackingDomains: [String],\\n collectedDataTypes: [[String: Plist.Value]],\\n accessedApiTypes: [[String: Plist.Value]]\\n) -> Self\\n```\\n\\nReturns a PrivacyManifest.\\n- Parameter tracking: A Boolean that indicates whether your app or third-party SDK uses data for tracking.\\n- Parameter trackingDomains: An array of strings that lists the internet domains your app or third-party SDK connects to\\nthat engage in tracking.\\n- Parameter collectedDataTypes: An array of dictionaries that describes the data types your app or third-party SDK\\ncollects.\\n- Parameter accessedApiTypes: An array of dictionaries that describe the API types your app or third-party SDK accesses\\nthat have\\nbeen designated as APIs that require reasons to access.\\n- Returns: PrivacyManifest.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tracking | A Boolean that indicates whether your app or third-party SDK uses data for tracking. |\\n| trackingDomains | An array of strings that lists the internet domains your app or third-party SDK connects to that engage in tracking. |\\n| collectedDataTypes | An array of dictionaries that describes the data types your app or third-party SDK collects. |\\n| accessedApiTypes | An array of dictionaries that describe the API types your app or third-party SDK accesses that have been designated as APIs that require reasons to access. |\\n\",\"title\":\"`PrivacyManifest`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/privacymanifest\",\"LLMS_URL\":\"/en/references/project-description/structs/privacymanifest.md\"}},{\"path\":\"/en/references/project-description/structs/profileaction.md\",\"url\":\"/en/references/project-description/structs/profileaction\",\"llmUrl\":\"/en/references/project-description/structs/profileaction.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/profileaction\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/profileaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ProfileAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `preActions`\\n - `postActions`\\n - `executable`\\n - `arguments`\\n- [Methods](#methods)\\n - `profileAction(configuration:preActions:postActions:executable:arguments:)`\\n\\n```swift\\npublic struct ProfileAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that profiles the built products.\\n\\nIt's initialized with the `.profileAction` static method\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should be profiled with.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the profile process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the profile process.\\n\\n### `executable`\\n\\n```swift\\npublic var executable: TargetReference?\\n```\\n\\nThe name of the executable or target to profile.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n## Methods\\n### `profileAction(configuration:preActions:postActions:executable:arguments:)`\\n\\n```swift\\npublic static func profileAction(\\n configuration: ConfigurationName = .release,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n executable: TargetReference? = nil,\\n arguments: Arguments? = nil\\n) -> ProfileAction\\n```\\n\\nReturns a profile action.\\n- Parameters:\\n - configuration: Indicates the build configuration the product should be profiled with.\\n - preActions: A list of actions that are executed before starting the profile process.\\n - postActions: A list of actions that are executed after the profile process.\\n - executable: The name of the executable or target to profile.\\n - arguments: Command line arguments passed on launch and environment variables.\\n- Returns: Initialized profile action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should be profiled with. |\\n| preActions | A list of actions that are executed before starting the profile process. |\\n| postActions | A list of actions that are executed after the profile process. |\\n| executable | The name of the executable or target to profile. |\\n| arguments | Command line arguments passed on launch and environment variables. |\\n\",\"title\":\"`ProfileAction`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/profileaction\",\"LLMS_URL\":\"/en/references/project-description/structs/profileaction.md\"}},{\"path\":\"/en/references/project-description/structs/project.md\",\"url\":\"/en/references/project-description/structs/project\",\"llmUrl\":\"/en/references/project-description/structs/project.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/project\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/project.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `organizationName`\\n - `classPrefix`\\n - `options`\\n - `packages`\\n - `targets`\\n - `schemes`\\n - `settings`\\n - `fileHeaderTemplate`\\n - `additionalFiles`\\n - `resourceSynthesizers`\\n - `containsExternalDependencies`\\n- [Methods](#methods)\\n - `init(name:organizationName:classPrefix:options:packages:settings:targets:schemes:fileHeaderTemplate:additionalFiles:resourceSynthesizers:)`\\n\\n```swift\\npublic struct Project: Codable, Equatable, Sendable\\n```\\n\\nA project representation.\\n\\nA project manifest needs to be defined in a `Project.swift` manifest file.\\nManifests need to import the framework ProjectDescription which contains all\\nthe classes and enums that are available for you to describe your projects.\\n\\nThe snippet below shows an example project manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n organizationName: \\\"MyOrg\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"dev.tuist.App\\\",\\n infoPlist: \\\"Config/App-Info.plist\\\",\\n sources: [\\\"Sources/**\\\"],\\n resources: [\\n \\\"Resources/**\\\",\\n .folderReference(path: \\\"Stubs\\\"),\\n .folderReference(path: \\\"ODR\\\", tags: [\\\"odr_tag\\\"])\\n ],\\n headers: .headers(\\n public: [\\\"Sources/public/A/**\\\", \\\"Sources/public/B/**\\\"],\\n private: \\\"Sources/private/**\\\",\\n project: [\\\"Sources/project/A/**\\\", \\\"Sources/project/B/**\\\"]\\n ),\\n dependencies: [\\n .project(target: \\\"Framework1\\\", path: \\\"../Framework1\\\"),\\n .project(target: \\\"Framework2\\\", path: \\\"../Framework2\\\")\\n ]\\n )\\n ],\\n schemes: [\\n Scheme(\\n name: \\\"App-Debug\\\",\\n shared: true,\\n buildAction: .buildAction(targets: [\\\"App\\\"]),\\n testAction: .targets([\\\"AppTests\\\"]),\\n runAction: .runAction(executable: \\\"App\\\")\\n ),\\n Scheme(\\n name: \\\"App-Release\\\",\\n shared: true,\\n buildAction: .buildAction(targets: [\\\"App\\\"]),\\n runAction: .runAction(executable: \\\"App\\\")\\n )\\n ],\\n additionalFiles: [\\n \\\"Dangerfile.swift\\\",\\n \\\"Documentation/**\\\",\\n .folderReference(path: \\\"Website\\\")\\n ]\\n)\\n```\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the project. Also, the file name of the generated Xcode project.\\n\\n### `organizationName`\\n\\n```swift\\npublic let organizationName: String?\\n```\\n\\nThe name of the organization used by Xcode as copyright.\\n\\n### `classPrefix`\\n\\n```swift\\npublic let classPrefix: String?\\n```\\n\\nThe prefix for class files Xcode generates when you create a project or class file.\\n\\n### `options`\\n\\n```swift\\npublic let options: Options\\n```\\n\\nThe project options.\\n\\n### `packages`\\n\\n```swift\\npublic let packages: [Package]\\n```\\n\\nThe Swift Packages used by the project.\\n\\n### `targets`\\n\\n```swift\\npublic let targets: [Target]\\n```\\n\\nThe targets of the project.\\n\\n### `schemes`\\n\\n```swift\\npublic let schemes: [Scheme]\\n```\\n\\nThe custom schemes for the project. Default schemes for each target are generated by default.\\n\\n### `settings`\\n\\n```swift\\npublic let settings: Settings?\\n```\\n\\nThe build settings and configuration for the project.\\n\\n### `fileHeaderTemplate`\\n\\n```swift\\npublic let fileHeaderTemplate: FileHeaderTemplate?\\n```\\n\\nThe custom file header template for Xcode built-in file templates.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic let additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the project. For target's additional files, see ``Target/additionalFiles``.\\n\\n### `resourceSynthesizers`\\n\\n```swift\\npublic let resourceSynthesizers: [ResourceSynthesizer]\\n```\\n\\nThe resource synthesizers for the project to generate accessors for resources.\\n\\n### `containsExternalDependencies`\\n\\n```swift\\npublic var containsExternalDependencies: Bool\\n```\\n\\nThe project contains targets that depend on external dependencies\\n\\n## Methods\\n### `init(name:organizationName:classPrefix:options:packages:settings:targets:schemes:fileHeaderTemplate:additionalFiles:resourceSynthesizers:)`\\n\\n```swift\\npublic init(\\n name: String,\\n organizationName: String? = nil,\\n classPrefix: String? = nil,\\n options: Options = .options(),\\n packages: [Package] = [],\\n settings: Settings? = nil,\\n targets: [Target] = [],\\n schemes: [Scheme] = [],\\n fileHeaderTemplate: FileHeaderTemplate? = nil,\\n additionalFiles: [FileElement] = [],\\n resourceSynthesizers: [ResourceSynthesizer] = .default\\n)\\n```\\n\\n\",\"title\":\"`Project`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/project\",\"LLMS_URL\":\"/en/references/project-description/structs/project.md\"}},{\"path\":\"/en/references/project-description/structs/project.options.md\",\"url\":\"/en/references/project-description/structs/project.options\",\"llmUrl\":\"/en/references/project-description/structs/project.options.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/project.options\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/project.options.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project.Options`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `automaticSchemesOptions`\\n - `defaultKnownRegions`\\n - `developmentRegion`\\n - `disableBundleAccessors`\\n - `disableShowEnvironmentVarsInScriptPhases`\\n - `disableSynthesizedResourceAccessors`\\n - `textSettings`\\n - `xcodeProjectName`\\n- [Methods](#methods)\\n - `options(automaticSchemesOptions:defaultKnownRegions:developmentRegion:disableBundleAccessors:disableShowEnvironmentVarsInScriptPhases:disableSynthesizedResourceAccessors:textSettings:xcodeProjectName:)`\\n\\n```swift\\npublic struct Options: Codable, Equatable, Sendable\\n```\\n\\nOptions to configure a project.\\n\\n## Properties\\n### `automaticSchemesOptions`\\n\\n```swift\\npublic var automaticSchemesOptions: AutomaticSchemesOptions\\n```\\n\\nConfigures automatic target schemes generation.\\n\\n### `defaultKnownRegions`\\n\\n```swift\\npublic var defaultKnownRegions: [String]?\\n```\\n\\nConfigures the default known regions\\n\\n### `developmentRegion`\\n\\n```swift\\npublic var developmentRegion: String?\\n```\\n\\nConfigures the development region.\\n\\n### `disableBundleAccessors`\\n\\n```swift\\npublic var disableBundleAccessors: Bool\\n```\\n\\nDisables generating Bundle accessors.\\n\\n### `disableShowEnvironmentVarsInScriptPhases`\\n\\n```swift\\npublic var disableShowEnvironmentVarsInScriptPhases: Bool\\n```\\n\\nSuppress logging of environment in Run Script build phases.\\n\\n### `disableSynthesizedResourceAccessors`\\n\\n```swift\\npublic var disableSynthesizedResourceAccessors: Bool\\n```\\n\\nDisable synthesized resource accessors.\\n\\n### `textSettings`\\n\\n```swift\\npublic var textSettings: TextSettings\\n```\\n\\nConfigures text settings.\\n\\n### `xcodeProjectName`\\n\\n```swift\\npublic var xcodeProjectName: String?\\n```\\n\\nConfigures the name of the generated .xcodeproj.\\n\\n## Methods\\n### `options(automaticSchemesOptions:defaultKnownRegions:developmentRegion:disableBundleAccessors:disableShowEnvironmentVarsInScriptPhases:disableSynthesizedResourceAccessors:textSettings:xcodeProjectName:)`\\n\\n```swift\\npublic static func options(\\n automaticSchemesOptions: AutomaticSchemesOptions = .enabled(),\\n defaultKnownRegions: [String]? = nil,\\n developmentRegion: String? = nil,\\n disableBundleAccessors: Bool = false,\\n disableShowEnvironmentVarsInScriptPhases: Bool = false,\\n disableSynthesizedResourceAccessors: Bool = false,\\n textSettings: TextSettings = .textSettings(),\\n xcodeProjectName: String? = nil\\n) -> Self\\n```\\n\\n\",\"title\":\"`Project.Options`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/project.options\",\"LLMS_URL\":\"/en/references/project-description/structs/project.options.md\"}},{\"path\":\"/en/references/project-description/structs/project.options.textsettings.md\",\"url\":\"/en/references/project-description/structs/project.options.textsettings\",\"llmUrl\":\"/en/references/project-description/structs/project.options.textsettings.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/project.options.textsettings\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/project.options.textsettings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project.Options.TextSettings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `usesTabs`\\n - `indentWidth`\\n - `tabWidth`\\n - `wrapsLines`\\n- [Methods](#methods)\\n - `textSettings(usesTabs:indentWidth:tabWidth:wrapsLines:)`\\n\\n```swift\\npublic struct TextSettings: Codable, Equatable, Sendable\\n```\\n\\nThe text settings options\\n\\n## Properties\\n### `usesTabs`\\n\\n```swift\\npublic var usesTabs: Bool?\\n```\\n\\nWhether tabs should be used instead of spaces\\n\\n### `indentWidth`\\n\\n```swift\\npublic var indentWidth: UInt?\\n```\\n\\nThe width of space indent\\n\\n### `tabWidth`\\n\\n```swift\\npublic var tabWidth: UInt?\\n```\\n\\nThe width of tab indent\\n\\n### `wrapsLines`\\n\\n```swift\\npublic var wrapsLines: Bool?\\n```\\n\\nWhether lines should be wrapped or not\\n\\n## Methods\\n### `textSettings(usesTabs:indentWidth:tabWidth:wrapsLines:)`\\n\\n```swift\\npublic static func textSettings(\\n usesTabs: Bool? = nil,\\n indentWidth: UInt? = nil,\\n tabWidth: UInt? = nil,\\n wrapsLines: Bool? = nil\\n) -> Self\\n```\\n\\n\",\"title\":\"`Project.Options.TextSettings`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/project.options.textsettings\",\"LLMS_URL\":\"/en/references/project-description/structs/project.options.textsettings.md\"}},{\"path\":\"/en/references/project-description/structs/resourcefileelements.md\",\"url\":\"/en/references/project-description/structs/resourcefileelements\",\"llmUrl\":\"/en/references/project-description/structs/resourcefileelements.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/resourcefileelements\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/resourcefileelements.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ResourceFileElements`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `resources`\\n - `privacyManifest`\\n- [Methods](#methods)\\n - `resources(_:privacyManifest:)`\\n\\n```swift\\npublic struct ResourceFileElements: Codable, Equatable, Sendable\\n```\\n\\nA collection of resource file.\\n\\n## Properties\\n### `resources`\\n\\n```swift\\npublic var resources: [ResourceFileElement]\\n```\\n\\nList of resource file elements\\n\\n### `privacyManifest`\\n\\n```swift\\npublic var privacyManifest: PrivacyManifest?\\n```\\n\\nDefine your apps privacy manifest\\n\\n## Methods\\n### `resources(_:privacyManifest:)`\\n\\n```swift\\npublic static func resources(_ resources: [ResourceFileElement], privacyManifest: PrivacyManifest? = nil) -> Self\\n```\\n\\n\",\"title\":\"`ResourceFileElements`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/resourcefileelements\",\"LLMS_URL\":\"/en/references/project-description/structs/resourcefileelements.md\"}},{\"path\":\"/en/references/project-description/structs/resourcesynthesizer.md\",\"url\":\"/en/references/project-description/structs/resourcesynthesizer\",\"llmUrl\":\"/en/references/project-description/structs/resourcesynthesizer.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/resourcesynthesizer\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/resourcesynthesizer.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ResourceSynthesizer`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `templateType`\\n - `parser`\\n - `parserOptions`\\n - `extensions`\\n- [Methods](#methods)\\n - `strings(parserOptions:)`\\n - `strings(plugin:parserOptions:)`\\n - `assets(parserOptions:)`\\n - `assets(plugin:parserOptions:)`\\n - `fonts(parserOptions:)`\\n - `fonts(plugin:parserOptions:)`\\n - `plists(parserOptions:)`\\n - `plists(plugin:parserOptions:)`\\n - `coreData(plugin:parserOptions:)`\\n - `coreData(parserOptions:)`\\n - `interfaceBuilder(plugin:parserOptions:)`\\n - `interfaceBuilder(parserOptions:)`\\n - `json(plugin:parserOptions:)`\\n - `json(parserOptions:)`\\n - `yaml(plugin:parserOptions:)`\\n - `yaml(parserOptions:)`\\n - `files(plugin:parserOptions:extensions:)`\\n - `files(parserOptions:extensions:)`\\n - `custom(plugin:parser:parserOptions:extensions:resourceName:)`\\n - `custom(name:parser:parserOptions:extensions:)`\\n\\n```swift\\npublic struct ResourceSynthesizer: Codable, Equatable, Sendable\\n```\\n\\nA resource synthesizer for given file extensions.\\n\\nFor example to synthesize resource accessors for strings, you can use:\\n- `.strings()` for tuist's default\\n- `.strings(parserOptions: [\\\"separator\\\": \\\"/\\\"])` to use strings template with SwiftGen Parser Options\\n- `.strings(plugin: \\\"MyPlugin\\\")` to use strings template from a plugin\\n- `.strings(templatePath: \\\"Templates/Strings.stencil\\\")` to use strings template at a given path\\n\\n## Properties\\n### `templateType`\\n\\n```swift\\npublic var templateType: TemplateType\\n```\\n\\nTemplates can be of multiple types\\n\\n### `parser`\\n\\n```swift\\npublic var parser: Parser\\n```\\n\\n### `parserOptions`\\n\\n```swift\\npublic var parserOptions: [String: Parser.Option]\\n```\\n\\n### `extensions`\\n\\n```swift\\npublic var extensions: Set\\n```\\n\\n## Methods\\n### `strings(parserOptions:)`\\n\\n```swift\\npublic static func strings(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault strings synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `strings(plugin:parserOptions:)`\\n\\n```swift\\npublic static func strings(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nStrings synthesizer defined in a plugin\\n\\n### `assets(parserOptions:)`\\n\\n```swift\\npublic static func assets(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault assets synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `assets(plugin:parserOptions:)`\\n\\n```swift\\npublic static func assets(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nAssets synthesizer defined in a plugin\\n\\n### `fonts(parserOptions:)`\\n\\n```swift\\npublic static func fonts(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault fonts synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `fonts(plugin:parserOptions:)`\\n\\n```swift\\npublic static func fonts(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nFonts synthesizer defined in a plugin\\n\\n### `plists(parserOptions:)`\\n\\n```swift\\npublic static func plists(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault plists synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `plists(plugin:parserOptions:)`\\n\\n```swift\\npublic static func plists(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nPlists synthesizer defined in a plugin\\n\\n### `coreData(plugin:parserOptions:)`\\n\\n```swift\\npublic static func coreData(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nCoreData synthesizer defined in a plugin\\n\\n### `coreData(parserOptions:)`\\n\\n```swift\\npublic static func coreData(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault CoreData synthesizer defined in `Tuist/{ProjectName}`\\n\\n### `interfaceBuilder(plugin:parserOptions:)`\\n\\n```swift\\npublic static func interfaceBuilder(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nInterfaceBuilder synthesizer defined in a plugin\\n\\n### `interfaceBuilder(parserOptions:)`\\n\\n```swift\\npublic static func interfaceBuilder(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nInterfaceBuilder synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `json(plugin:parserOptions:)`\\n\\n```swift\\npublic static func json(plugin: String, parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nJSON synthesizer defined in a plugin\\n\\n### `json(parserOptions:)`\\n\\n```swift\\npublic static func json(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nJSON synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `yaml(plugin:parserOptions:)`\\n\\n```swift\\npublic static func yaml(plugin: String, parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nYAML synthesizer defined in a plugin\\n\\n### `yaml(parserOptions:)`\\n\\n```swift\\npublic static func yaml(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nCoreData synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `files(plugin:parserOptions:extensions:)`\\n\\n```swift\\npublic static func files(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nFiles synthesizer defined in a plugin\\n\\n### `files(parserOptions:extensions:)`\\n\\n```swift\\npublic static func files(\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nFiles synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `custom(plugin:parser:parserOptions:extensions:resourceName:)`\\n\\n```swift\\npublic static func custom(\\n plugin: String,\\n parser: Parser,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set,\\n resourceName: String\\n) -> Self\\n```\\n\\nCustom synthesizer from a plugin\\n- Parameters:\\n - plugin: Name of a plugin where resource synthesizer template is located\\n - parser: `Parser` to use for parsing the file to obtain its data\\n - extensions: Set of extensions that should be parsed\\n - resourceName: Name of the template file and the resulting `.swift` file\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| plugin | Name of a plugin where resource synthesizer template is located |\\n| parser | `Parser` to use for parsing the file to obtain its data |\\n| extensions | Set of extensions that should be parsed |\\n| resourceName | Name of the template file and the resulting `.swift` file |\\n\\n### `custom(name:parser:parserOptions:extensions:)`\\n\\n```swift\\npublic static func custom(\\n name: String,\\n parser: Parser,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nCustom local synthesizer defined `Tuist/ResourceSynthesizers/{name}.stencil`\\n- Parameters:\\n - name: Name of synthesizer\\n - parser: `Parser` to use for parsing the file to obtain its data\\n - extensions: Set of extensions that should be parsed\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of synthesizer |\\n| parser | `Parser` to use for parsing the file to obtain its data |\\n| extensions | Set of extensions that should be parsed |\\n\",\"title\":\"`ResourceSynthesizer`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/resourcesynthesizer\",\"LLMS_URL\":\"/en/references/project-description/structs/resourcesynthesizer.md\"}},{\"path\":\"/en/references/project-description/structs/runaction.md\",\"url\":\"/en/references/project-description/structs/runaction\",\"llmUrl\":\"/en/references/project-description/structs/runaction.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/runaction\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/runaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `RunAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `attachDebugger`\\n - `customLLDBInitFile`\\n - `preActions`\\n - `postActions`\\n - `executable`\\n - `arguments`\\n - `options`\\n - `diagnosticsOptions`\\n - `metalOptions`\\n - `expandVariableFromTarget`\\n - `launchStyle`\\n - `appClipInvocationURLString`\\n- [Methods](#methods)\\n - `runAction(configuration:attachDebugger:customLLDBInitFile:preActions:postActions:executable:arguments:options:diagnosticsOptions:metalOptions:expandVariableFromTarget:launchStyle:appClipInvocationURLString:)`\\n\\n```swift\\npublic struct RunAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that runs the built products.\\n\\nIt's initialized with the .runAction static method.\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should run with.\\n\\n### `attachDebugger`\\n\\n```swift\\npublic var attachDebugger: Bool\\n```\\n\\nWhether a debugger should be attached to the run process or not.\\n\\n### `customLLDBInitFile`\\n\\n```swift\\npublic var customLLDBInitFile: Path?\\n```\\n\\nThe path of custom lldbinit file.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the run process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the run process.\\n\\n### `executable`\\n\\n```swift\\npublic var executable: TargetReference?\\n```\\n\\nThe name of the executable or target to run.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n### `options`\\n\\n```swift\\npublic var options: RunActionOptions\\n```\\n\\nList of options to set to the action.\\n\\n### `diagnosticsOptions`\\n\\n```swift\\npublic var diagnosticsOptions: SchemeDiagnosticsOptions\\n```\\n\\nList of diagnostics options to set to the action.\\n\\n### `metalOptions`\\n\\n```swift\\npublic var metalOptions: MetalOptions\\n```\\n\\nList of metal options to set to the action\\n\\n### `expandVariableFromTarget`\\n\\n```swift\\npublic var expandVariableFromTarget: TargetReference?\\n```\\n\\nA target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT)\\n\\n### `launchStyle`\\n\\n```swift\\npublic var launchStyle: LaunchStyle\\n```\\n\\nThe launch style of the action\\n\\n### `appClipInvocationURLString`\\n\\n```swift\\npublic var appClipInvocationURLString: String?\\n```\\n\\nThe URL string used to invoke the app clip, if available.\\n\\n## Methods\\n### `runAction(configuration:attachDebugger:customLLDBInitFile:preActions:postActions:executable:arguments:options:diagnosticsOptions:metalOptions:expandVariableFromTarget:launchStyle:appClipInvocationURLString:)`\\n\\n```swift\\npublic static func runAction(\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n customLLDBInitFile: Path? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n executable: TargetReference? = nil,\\n arguments: Arguments? = nil,\\n options: RunActionOptions = .options(),\\n diagnosticsOptions: SchemeDiagnosticsOptions = .options(),\\n metalOptions: MetalOptions = .options(),\\n expandVariableFromTarget: TargetReference? = nil,\\n launchStyle: LaunchStyle = .automatically,\\n appClipInvocationURLString: String? = nil\\n) -> RunAction\\n```\\n\\nReturns a run action.\\n- Parameters:\\n - configuration: Indicates the build configuration the product should run with.\\n - attachDebugger: Whether a debugger should be attached to the run process or not.\\n - preActions: A list of actions that are executed before starting the run process.\\n - postActions: A list of actions that are executed after the run process.\\n - executable: The name of the executable or target to run.\\n - arguments: Command line arguments passed on launch and environment variables.\\n - options: List of options to set to the action.\\n - diagnosticsOptions: List of diagnostics options to set to the action.\\n - metalOptions: List of metal options to set to the action.\\n - expandVariableFromTarget: A target that will be used to expand the variables defined inside Environment Variables\\ndefinition (e.g. $SOURCE_ROOT). When nil, it does not expand any variables.\\n - appClipInvocationURLString: The URL string used to invoke the app clip, if available.\\n - launchStyle: The launch style of the action\\n- Returns: Run action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should run with. |\\n| attachDebugger | Whether a debugger should be attached to the run process or not. |\\n| preActions | A list of actions that are executed before starting the run process. |\\n| postActions | A list of actions that are executed after the run process. |\\n| executable | The name of the executable or target to run. |\\n| arguments | Command line arguments passed on launch and environment variables. |\\n| options | List of options to set to the action. |\\n| diagnosticsOptions | List of diagnostics options to set to the action. |\\n| metalOptions | List of metal options to set to the action. |\\n| expandVariableFromTarget | A target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT). When nil, it does not expand any variables. |\\n| appClipInvocationURLString | The URL string used to invoke the app clip, if available. |\\n| launchStyle | The launch style of the action |\\n\",\"title\":\"`RunAction`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/runaction\",\"LLMS_URL\":\"/en/references/project-description/structs/runaction.md\"}},{\"path\":\"/en/references/project-description/structs/runactionoptions.md\",\"url\":\"/en/references/project-description/structs/runactionoptions\",\"llmUrl\":\"/en/references/project-description/structs/runactionoptions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/runactionoptions\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/runactionoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `RunActionOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `language`\\n - `region`\\n - `storeKitConfigurationPath`\\n - `simulatedLocation`\\n - `enableGPUFrameCaptureMode`\\n- [Methods](#methods)\\n - `options(language:region:storeKitConfigurationPath:simulatedLocation:enableGPUFrameCaptureMode:)`\\n\\n```swift\\npublic struct RunActionOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions for the `RunAction` action\\n\\n## Properties\\n### `language`\\n\\n```swift\\npublic var language: SchemeLanguage?\\n```\\n\\nLanguage to use when running the app.\\n\\n### `region`\\n\\n```swift\\npublic var region: String?\\n```\\n\\nRegion to use when running the app.\\n\\n### `storeKitConfigurationPath`\\n\\n```swift\\npublic var storeKitConfigurationPath: Path?\\n```\\n\\nThe path of the\\n[StoreKit configuration\\nfile](https://developer.apple.com/documentation/xcode/setting_up_storekit_testing_in_xcode#3625700).\\n\\n### `simulatedLocation`\\n\\n```swift\\npublic var simulatedLocation: ProjectDescription.SimulatedLocation?\\n```\\n\\nA simulated GPS location to use when running the app.\\n\\n### `enableGPUFrameCaptureMode`\\n\\n```swift\\npublic var enableGPUFrameCaptureMode: GPUFrameCaptureMode\\n```\\n\\nConfigure your project to work with the Metal frame debugger.\\n\\n## Methods\\n### `options(language:region:storeKitConfigurationPath:simulatedLocation:enableGPUFrameCaptureMode:)`\\n\\n```swift\\npublic static func options(\\n language: SchemeLanguage? = nil,\\n region: String? = nil,\\n storeKitConfigurationPath: Path? = nil,\\n simulatedLocation: ProjectDescription.SimulatedLocation? = nil,\\n enableGPUFrameCaptureMode: GPUFrameCaptureMode = GPUFrameCaptureMode.default\\n) -> Self\\n```\\n\\nCreates an `RunActionOptions` instance\\n\\n- Parameters:\\n - language: language (e.g. \\\"en\\\").\\n\\n - region: region (e.g. \\\"US\\\").\\n\\n - storeKitConfigurationPath: The path of the\\n [StoreKit configuration\\nfile](https://developer.apple.com/documentation/xcode/setting_up_storekit_testing_in_xcode#3625700).\\n Please note that this file is automatically added to the Project/Workspace. You should not add it manually.\\n The default value is `nil`, which results in no configuration defined for the scheme\\n\\n - simulatedLocation: The simulated GPS location to use when running the app.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project's resources.\\n\\n - enableGPUFrameCaptureMode: The Metal Frame Capture mode to use. e.g: .disabled\\n If your target links to the Metal framework, Xcode enables GPU Frame Capture.\\n You can disable it to test your app in best performance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| language | language (e.g. “en”). |\\n| region | region (e.g. “US”). |\\n| storeKitConfigurationPath | The path of the . Please note that this file is automatically added to the Project/Workspace. You should not add it manually. The default value is `nil`, which results in no configuration defined for the scheme |\\n| simulatedLocation | The simulated GPS location to use when running the app. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n| enableGPUFrameCaptureMode | The Metal Frame Capture mode to use. e.g: .disabled If your target links to the Metal framework, Xcode enables GPU Frame Capture. You can disable it to test your app in best performance. |\\n\",\"title\":\"`RunActionOptions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/runactionoptions\",\"LLMS_URL\":\"/en/references/project-description/structs/runactionoptions.md\"}},{\"path\":\"/en/references/project-description/structs/scheme.md\",\"url\":\"/en/references/project-description/structs/scheme\",\"llmUrl\":\"/en/references/project-description/structs/scheme.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/scheme\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/scheme.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Scheme`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `shared`\\n - `hidden`\\n - `buildAction`\\n - `testAction`\\n - `runAction`\\n - `archiveAction`\\n - `profileAction`\\n - `analyzeAction`\\n- [Methods](#methods)\\n - `scheme(name:shared:hidden:buildAction:testAction:runAction:archiveAction:profileAction:analyzeAction:)`\\n\\n```swift\\npublic struct Scheme: Equatable, Codable, Sendable\\n```\\n\\nA custom scheme for a project.\\n\\nA scheme defines a collection of targets to Build, Run, Test, Profile, Analyze and Archive.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nThe name of the scheme.\\n\\n### `shared`\\n\\n```swift\\npublic var shared: Bool\\n```\\n\\nMarks the scheme as shared (i.e. one that is checked in to the repository and is visible to xcodebuild from the command\\nline).\\n\\n### `hidden`\\n\\n```swift\\npublic var hidden: Bool\\n```\\n\\nWhen `true` the scheme doesn't show up in the dropdown scheme's list.\\n\\n### `buildAction`\\n\\n```swift\\npublic var buildAction: BuildAction?\\n```\\n\\nAction that builds the project targets.\\n\\n### `testAction`\\n\\n```swift\\npublic var testAction: TestAction?\\n```\\n\\nAction that runs the project tests.\\n\\n### `runAction`\\n\\n```swift\\npublic var runAction: RunAction?\\n```\\n\\nAction that runs project built products.\\n\\n### `archiveAction`\\n\\n```swift\\npublic var archiveAction: ArchiveAction?\\n```\\n\\nAction that runs the project archive.\\n\\n### `profileAction`\\n\\n```swift\\npublic var profileAction: ProfileAction?\\n```\\n\\nAction that profiles the project.\\n\\n### `analyzeAction`\\n\\n```swift\\npublic var analyzeAction: AnalyzeAction?\\n```\\n\\nAction that analyze the project.\\n\\n## Methods\\n### `scheme(name:shared:hidden:buildAction:testAction:runAction:archiveAction:profileAction:analyzeAction:)`\\n\\n```swift\\npublic static func scheme(\\n name: String,\\n shared: Bool = true,\\n hidden: Bool = false,\\n buildAction: BuildAction? = nil,\\n testAction: TestAction? = nil,\\n runAction: RunAction? = nil,\\n archiveAction: ArchiveAction? = nil,\\n profileAction: ProfileAction? = nil,\\n analyzeAction: AnalyzeAction? = nil\\n) -> Self\\n```\\n\\nCreates a new instance of a scheme.\\n- Parameters:\\n - name: Name of the scheme.\\n - shared: Whether the scheme is shared.\\n - hidden: When true, the scheme is hidden in the list of schemes from Xcode's dropdown.\\n - buildAction: Action that builds the project targets.\\n - testAction: Action that runs the project tests.\\n - runAction: Action that runs project built products.\\n - archiveAction: Action that runs the project archive.\\n - profileAction: Action that profiles the project.\\n - analyzeAction: Action that analyze the project.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the scheme. |\\n| shared | Whether the scheme is shared. |\\n| hidden | When true, the scheme is hidden in the list of schemes from Xcode’s dropdown. |\\n| buildAction | Action that builds the project targets. |\\n| testAction | Action that runs the project tests. |\\n| runAction | Action that runs project built products. |\\n| archiveAction | Action that runs the project archive. |\\n| profileAction | Action that profiles the project. |\\n| analyzeAction | Action that analyze the project. |\\n\",\"title\":\"`Scheme`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/scheme\",\"LLMS_URL\":\"/en/references/project-description/structs/scheme.md\"}},{\"path\":\"/en/references/project-description/structs/schemediagnosticsoptions.md\",\"url\":\"/en/references/project-description/structs/schemediagnosticsoptions\",\"llmUrl\":\"/en/references/project-description/structs/schemediagnosticsoptions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/schemediagnosticsoptions\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/schemediagnosticsoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SchemeDiagnosticsOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `addressSanitizerEnabled`\\n - `detectStackUseAfterReturnEnabled`\\n - `threadSanitizerEnabled`\\n - `mainThreadCheckerEnabled`\\n - `performanceAntipatternCheckerEnabled`\\n- [Methods](#methods)\\n - `options(addressSanitizerEnabled:detectStackUseAfterReturnEnabled:threadSanitizerEnabled:mainThreadCheckerEnabled:performanceAntipatternCheckerEnabled:)`\\n\\n```swift\\npublic struct SchemeDiagnosticsOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions to configure scheme diagnostics for run and test actions.\\n\\n## Properties\\n### `addressSanitizerEnabled`\\n\\n```swift\\npublic var addressSanitizerEnabled: Bool\\n```\\n\\nEnable the address sanitizer\\n\\n### `detectStackUseAfterReturnEnabled`\\n\\n```swift\\npublic var detectStackUseAfterReturnEnabled: Bool\\n```\\n\\nEnable the detect use of stack after return of address sanitizer\\n\\n### `threadSanitizerEnabled`\\n\\n```swift\\npublic var threadSanitizerEnabled: Bool\\n```\\n\\nEnable the thread sanitizer\\n\\n### `mainThreadCheckerEnabled`\\n\\n```swift\\npublic var mainThreadCheckerEnabled: Bool\\n```\\n\\nEnable the main thread cheker\\n\\n### `performanceAntipatternCheckerEnabled`\\n\\n```swift\\npublic var performanceAntipatternCheckerEnabled: Bool\\n```\\n\\nEnable thread performance checker\\n\\n## Methods\\n### `options(addressSanitizerEnabled:detectStackUseAfterReturnEnabled:threadSanitizerEnabled:mainThreadCheckerEnabled:performanceAntipatternCheckerEnabled:)`\\n\\n```swift\\npublic static func options(\\n addressSanitizerEnabled: Bool = false,\\n detectStackUseAfterReturnEnabled: Bool = false,\\n threadSanitizerEnabled: Bool = false,\\n mainThreadCheckerEnabled: Bool = true,\\n performanceAntipatternCheckerEnabled: Bool = true\\n) -> SchemeDiagnosticsOptions\\n```\\n\\n\",\"title\":\"`SchemeDiagnosticsOptions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/schemediagnosticsoptions\",\"LLMS_URL\":\"/en/references/project-description/structs/schemediagnosticsoptions.md\"}},{\"path\":\"/en/references/project-description/structs/schemelanguage.md\",\"url\":\"/en/references/project-description/structs/schemelanguage\",\"llmUrl\":\"/en/references/project-description/structs/schemelanguage.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/schemelanguage\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/schemelanguage.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SchemeLanguage`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `identifier`\\n- [Methods](#methods)\\n - `init(identifier:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct SchemeLanguage: Codable, Equatable, ExpressibleByStringLiteral, Sendable\\n```\\n\\nA language to use for run and test actions.\\n\\n## Properties\\n### `identifier`\\n\\n```swift\\npublic let identifier: String\\n```\\n\\n## Methods\\n### `init(identifier:)`\\n\\n```swift\\npublic init(identifier: String)\\n```\\n\\nCreates a new scheme language.\\n- Parameter identifier: A valid language code or a pre-defined pseudo language.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| identifier | A valid language code or a pre-defined pseudo language. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\nCreates a new scheme language.\\n- Parameter stringLiteral: A valid language code or a pre-defined pseudo language.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| stringLiteral | A valid language code or a pre-defined pseudo language. |\\n\",\"title\":\"`SchemeLanguage`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/schemelanguage\",\"LLMS_URL\":\"/en/references/project-description/structs/schemelanguage.md\"}},{\"path\":\"/en/references/project-description/structs/settings.md\",\"url\":\"/en/references/project-description/structs/settings\",\"llmUrl\":\"/en/references/project-description/structs/settings.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/settings\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/settings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Settings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `base`\\n - `configurations`\\n - `defaultSettings`\\n - `defaultConfiguration`\\n- [Methods](#methods)\\n - `settings(base:debug:release:defaultSettings:defaultConfiguration:)`\\n - `settings(base:configurations:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic struct Settings: Equatable, Codable, Sendable\\n```\\n\\nA group of settings configuration.\\n\\n## Properties\\n### `base`\\n\\n```swift\\npublic var base: SettingsDictionary\\n```\\n\\nA dictionary with build settings that are inherited from all the configurations.\\n\\n### `configurations`\\n\\n```swift\\npublic var configurations: [Configuration]\\n```\\n\\n### `defaultSettings`\\n\\n```swift\\npublic var defaultSettings: DefaultSettings\\n```\\n\\n### `defaultConfiguration`\\n\\n```swift\\npublic var defaultConfiguration: String?\\n```\\n\\n## Methods\\n### `settings(base:debug:release:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic static func settings(\\n base: SettingsDictionary = [:],\\n debug: SettingsDictionary = [:],\\n release: SettingsDictionary = [:],\\n defaultSettings: DefaultSettings = .recommended,\\n defaultConfiguration: String? = nil\\n) -> Settings\\n```\\n\\nCreates settings with default.configurations `Debug` and `Release`\\n\\n- Parameters:\\n - base: A dictionary with build settings that are inherited from all the configurations.\\n - debug: The debug configuration settings.\\n - release: The release configuration settings.\\n - defaultSettings: An enum specifying the set of default settings.\\n - defaultConfiguration: The default configuration to be used when building the project from command-line.\\n\\n- Note: To specify custom configurations (e.g. `Debug`, `Beta` & `Release`) or to specify xcconfigs, you can use the\\nalternate static method\\n `.settings(base:configurations:defaultSettings:)`\\n\\n- seealso: Configuration\\n- seealso: DefaultSettings\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| base | A dictionary with build settings that are inherited from all the configurations. |\\n| debug | The debug configuration settings. |\\n| release | The release configuration settings. |\\n| defaultSettings | An enum specifying the set of default settings. |\\n| defaultConfiguration | The default configuration to be used when building the project from command-line. |\\n\\n### `settings(base:configurations:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic static func settings(\\n base: SettingsDictionary = [:],\\n configurations: [Configuration],\\n defaultSettings: DefaultSettings = .recommended,\\n defaultConfiguration: String? = nil\\n) -> Settings\\n```\\n\\nCreates settings with any number of configurations.\\n\\n- Parameters:\\n - base: A dictionary with build settings that are inherited from all the configurations.\\n - configurations: A list of configurations.\\n - defaultSettings: An enum specifying the set of default settings.\\n - defaultConfiguration: The default configuration to be used when building the project from command-line.\\n\\n- Note: Configurations shouldn't be empty, please use the alternate static method\\n `.settings(base:debug:release:defaultSettings:)` to leverage the default configurations\\n if you don't have any custom configurations.\\n\\n- seealso: Configuration\\n- seealso: DefaultSettings\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| base | A dictionary with build settings that are inherited from all the configurations. |\\n| configurations | A list of configurations. |\\n| defaultSettings | An enum specifying the set of default settings. |\\n| defaultConfiguration | The default configuration to be used when building the project from command-line. |\\n\",\"title\":\"`Settings`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/settings\",\"LLMS_URL\":\"/en/references/project-description/structs/settings.md\"}},{\"path\":\"/en/references/project-description/structs/simulatedlocation.md\",\"url\":\"/en/references/project-description/structs/simulatedlocation\",\"llmUrl\":\"/en/references/project-description/structs/simulatedlocation.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/simulatedlocation\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/simulatedlocation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SimulatedLocation`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `identifier`\\n - `gpxFile`\\n - `london`\\n - `johannesburg`\\n - `moscow`\\n - `mumbai`\\n - `tokyo`\\n - `sydney`\\n - `hongKong`\\n - `honolulu`\\n - `sanFrancisco`\\n - `mexicoCity`\\n - `newYork`\\n - `rioDeJaneiro`\\n- [Methods](#methods)\\n - `custom(gpxFile:)`\\n\\n```swift\\npublic struct SimulatedLocation: Codable, Equatable, Sendable\\n```\\n\\nSimulated location represents a GPS location that is used when running an app on the simulator.\\n\\n## Properties\\n### `identifier`\\n\\n```swift\\npublic var identifier: String?\\n```\\n\\nThe identifier of the location (e.g. London, England)\\n\\n### `gpxFile`\\n\\n```swift\\npublic var gpxFile: Path?\\n```\\n\\nPath to a .gpx file that indicates the location\\n\\n### `london`\\n\\n```swift\\npublic static var london: SimulatedLocation\\n```\\n\\n### `johannesburg`\\n\\n```swift\\npublic static var johannesburg: SimulatedLocation\\n```\\n\\n### `moscow`\\n\\n```swift\\npublic static var moscow: SimulatedLocation\\n```\\n\\n### `mumbai`\\n\\n```swift\\npublic static var mumbai: SimulatedLocation\\n```\\n\\n### `tokyo`\\n\\n```swift\\npublic static var tokyo: SimulatedLocation\\n```\\n\\n### `sydney`\\n\\n```swift\\npublic static var sydney: SimulatedLocation\\n```\\n\\n### `hongKong`\\n\\n```swift\\npublic static var hongKong: SimulatedLocation\\n```\\n\\n### `honolulu`\\n\\n```swift\\npublic static var honolulu: SimulatedLocation\\n```\\n\\n### `sanFrancisco`\\n\\n```swift\\npublic static var sanFrancisco: SimulatedLocation\\n```\\n\\n### `mexicoCity`\\n\\n```swift\\npublic static var mexicoCity: SimulatedLocation\\n```\\n\\n### `newYork`\\n\\n```swift\\npublic static var newYork: SimulatedLocation\\n```\\n\\n### `rioDeJaneiro`\\n\\n```swift\\npublic static var rioDeJaneiro: SimulatedLocation\\n```\\n\\n## Methods\\n### `custom(gpxFile:)`\\n\\n```swift\\npublic static func custom(gpxFile: Path) -> SimulatedLocation\\n```\\n\\n\",\"title\":\"`SimulatedLocation`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/simulatedlocation\",\"LLMS_URL\":\"/en/references/project-description/structs/simulatedlocation.md\"}},{\"path\":\"/en/references/project-description/structs/sourcefileglob.md\",\"url\":\"/en/references/project-description/structs/sourcefileglob\",\"llmUrl\":\"/en/references/project-description/structs/sourcefileglob.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/sourcefileglob\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/sourcefileglob.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SourceFileGlob`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `glob`\\n - `excluding`\\n - `compilerFlags`\\n - `codeGen`\\n - `compilationCondition`\\n - `type`\\n- [Methods](#methods)\\n - `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n - `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n - `generated(_:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic struct SourceFileGlob: Codable, Equatable, Sendable\\n```\\n\\nA glob pattern configuration representing source files and its compiler flags, if any.\\n\\n## Properties\\n### `glob`\\n\\n```swift\\npublic var glob: Path\\n```\\n\\nGlob pattern to the source files.\\n\\n### `excluding`\\n\\n```swift\\npublic var excluding: [Path]\\n```\\n\\nGlob patterns for source files that will be excluded.\\n\\n### `compilerFlags`\\n\\n```swift\\npublic var compilerFlags: String?\\n```\\n\\nThe compiler flags to be set to the source files in the sources build phase.\\n\\n### `codeGen`\\n\\n```swift\\npublic var codeGen: FileCodeGen?\\n```\\n\\nThe source file attribute to be set in the build phase.\\n\\n### `compilationCondition`\\n\\n```swift\\npublic var compilationCondition: PlatformCondition?\\n```\\n\\nSource file condition for compilation\\n\\n### `type`\\n\\n```swift\\npublic var type: FileType\\n```\\n\\nType of the file.\\n\\n## Methods\\n### `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: [Path] = [],\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\nReturns a source glob pattern configuration.\\nUsed for file there were already present during the generation.\\n\\n- Parameters:\\n - glob: Glob pattern to the source files.\\n - excluding: Glob patterns for source files that will be excluded.\\n - compilerFlags: The compiler flags to be set to the source files in the sources build phase.\\n - codeGen: The source file attribute to be set in the build phase.\\n - compilationCondition: Condition for file compilation.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| glob | Glob pattern to the source files. |\\n| excluding | Glob patterns for source files that will be excluded. |\\n| compilerFlags | The compiler flags to be set to the source files in the sources build phase. |\\n| codeGen | The source file attribute to be set in the build phase. |\\n| compilationCondition | Condition for file compilation. |\\n\\n### `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: Path?,\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\n### `generated(_:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func generated(\\n _ path: Path,\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\nReturns a source generated source file configuration, for a single generated file.\\n\\n- Parameters:\\n - path: Path to the generated file. Assumed to be a specific path (as oppose to a glob pattern).\\n - compilerFlags: The compiler flags to be set to the source files in the sources build phase.\\n - codeGen: The source file attribute to be set in the build phase.\\n - compilationCondition: Condition for file compilation.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the generated file. Assumed to be a specific path (as oppose to a glob pattern). |\\n| compilerFlags | The compiler flags to be set to the source files in the sources build phase. |\\n| codeGen | The source file attribute to be set in the build phase. |\\n| compilationCondition | Condition for file compilation. |\\n\",\"title\":\"`SourceFileGlob`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/sourcefileglob\",\"LLMS_URL\":\"/en/references/project-description/structs/sourcefileglob.md\"}},{\"path\":\"/en/references/project-description/structs/sourcefileslist.md\",\"url\":\"/en/references/project-description/structs/sourcefileslist\",\"llmUrl\":\"/en/references/project-description/structs/sourcefileslist.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/sourcefileslist\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/sourcefileslist.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SourceFilesList`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `globs`\\n- [Methods](#methods)\\n - `sourceFilesList(globs:)`\\n - `sourceFilesList(globs:)`\\n - `paths(_:)`\\n\\n```swift\\npublic struct SourceFilesList: Codable, Equatable, Sendable\\n```\\n\\nA collection of source file globs.\\n\\n## Properties\\n### `globs`\\n\\n```swift\\npublic var globs: [SourceFileGlob]\\n```\\n\\nList glob patterns.\\n\\n## Methods\\n### `sourceFilesList(globs:)`\\n\\n```swift\\npublic static func sourceFilesList(globs: [SourceFileGlob]) -> Self\\n```\\n\\nCreates the source files list with the glob patterns.\\n\\n- Parameter globs: Glob patterns.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| globs | Glob patterns. |\\n\\n### `sourceFilesList(globs:)`\\n\\n```swift\\npublic static func sourceFilesList(globs: [String]) -> Self\\n```\\n\\nCreates the source files list with the glob patterns as strings.\\n\\n- Parameter globs: Glob patterns.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| globs | Glob patterns. |\\n\\n### `paths(_:)`\\n\\n```swift\\npublic static func paths(_ paths: [Path]) -> SourceFilesList\\n```\\n\\nReturns a sources list from a list of paths.\\n- Parameter paths: Source paths.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| paths | Source paths. |\\n\",\"title\":\"`SourceFilesList`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/sourcefileslist\",\"LLMS_URL\":\"/en/references/project-description/structs/sourcefileslist.md\"}},{\"path\":\"/en/references/project-description/structs/target.md\",\"url\":\"/en/references/project-description/structs/target\",\"llmUrl\":\"/en/references/project-description/structs/target.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/target\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/target.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Target`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `destinations`\\n - `product`\\n - `productName`\\n - `bundleId`\\n - `deploymentTargets`\\n - `infoPlist`\\n - `sources`\\n - `resources`\\n - `copyFiles`\\n - `headers`\\n - `entitlements`\\n - `scripts`\\n - `dependencies`\\n - `settings`\\n - `coreDataModels`\\n - `environmentVariables`\\n - `launchArguments`\\n - `additionalFiles`\\n - `buildRules`\\n - `mergedBinaryType`\\n - `mergeable`\\n - `onDemandResourcesTags`\\n - `metadata`\\n- [Methods](#methods)\\n - `target(name:destinations:product:productName:bundleId:deploymentTargets:infoPlist:sources:resources:copyFiles:headers:entitlements:scripts:dependencies:settings:coreDataModels:environmentVariables:launchArguments:additionalFiles:buildRules:mergedBinaryType:mergeable:onDemandResourcesTags:metadata:)`\\n\\n```swift\\npublic struct Target: Codable, Equatable, Sendable\\n```\\n\\nA target of a project.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nThe name of the target. Also, the product name if not specified with ``productName``.\\n\\n### `destinations`\\n\\n```swift\\npublic var destinations: Destinations\\n```\\n\\nThe destinations this target supports, e.g. iPhone, appleVision, macCatalyst\\n\\n### `product`\\n\\n```swift\\npublic var product: Product\\n```\\n\\nThe type of build product this target will output.\\n\\n### `productName`\\n\\n```swift\\npublic var productName: String?\\n```\\n\\nThe built product name. If nil, it will be equal to ``name``.\\n\\n### `bundleId`\\n\\n```swift\\npublic var bundleId: String\\n```\\n\\nThe product bundle identifier.\\n\\n### `deploymentTargets`\\n\\n```swift\\npublic var deploymentTargets: DeploymentTargets?\\n```\\n\\nThe minimum deployment targets your product will support.\\n\\n### `infoPlist`\\n\\n```swift\\npublic var infoPlist: InfoPlist?\\n```\\n\\nThe Info.plist representation.\\n\\n### `sources`\\n\\n```swift\\npublic var sources: SourceFilesList?\\n```\\n\\nThe source files of the target.\\nNote: any playgrounds matched by the globs used in this property will be automatically added.\\n\\n### `resources`\\n\\n```swift\\npublic var resources: ResourceFileElements?\\n```\\n\\nThe resource files of target.\\nNote: localizable files, `*.lproj`, are supported.\\n\\n### `copyFiles`\\n\\n```swift\\npublic var copyFiles: [CopyFilesAction]?\\n```\\n\\nThe build phase copy files actions for the target.\\n\\n### `headers`\\n\\n```swift\\npublic var headers: Headers?\\n```\\n\\nThe headers for the target.\\n\\n### `entitlements`\\n\\n```swift\\npublic var entitlements: Entitlements?\\n```\\n\\nThe entitlements representation.\\n\\n> Note: For per-configuration entitlements, you should:\\n> 1. Keep this property as `nil`\\n> 2. Set the `CODE_SIGN_ENTITLEMENTS` build setting using `Target.settings` for each configuration\\n> 3. If you want the entitlement files to be included in the project navigator, add them using `Project.additionalFiles`\\n>\\n> Example:\\n> ```swift\\n> let target = Target(\\n> name: \\\"MyApp\\\",\\n> // ... other properties\\n> entitlements: nil, // Important: keep this as nil\\n> settings: .settings(\\n> configurations: [\\n> .debug(name: \\\"Debug\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Debug.entitlements\\\"]),\\n> .release(name: \\\"Release\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Release.entitlements\\\"])\\n> ]\\n> )\\n> )\\n>\\n> let project = Project(\\n> name: \\\"MyProject\\\",\\n> targets: [target],\\n> additionalFiles: [\\n> \\\"Debug.entitlements\\\",\\n> \\\"Release.entitlements\\\"\\n> ]\\n> )\\n> ```\\n\\n### `scripts`\\n\\n```swift\\npublic var scripts: [TargetScript]\\n```\\n\\nThe build phase scripts actions for the target.\\n\\n### `dependencies`\\n\\n```swift\\npublic var dependencies: [TargetDependency]\\n```\\n\\nThe target's dependencies.\\n\\n### `settings`\\n\\n```swift\\npublic var settings: Settings?\\n```\\n\\nThe target's settings.\\n\\n### `coreDataModels`\\n\\n```swift\\npublic var coreDataModels: [CoreDataModel]\\n```\\n\\nThe Core Data models.\\n\\n### `environmentVariables`\\n\\n```swift\\npublic var environmentVariables: [String: EnvironmentVariable]\\n```\\n\\nThe environment variables. Used by autogenerated schemes for the target.\\n\\n### `launchArguments`\\n\\n```swift\\npublic var launchArguments: [LaunchArgument]\\n```\\n\\nThe launch arguments. Used by autogenerated schemes for the target.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic var additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the target. For project's additional files, see ``Project/additionalFiles``.\\n\\n### `buildRules`\\n\\n```swift\\npublic var buildRules: [BuildRule]\\n```\\n\\nThe build rules used for transformation of source files during compilation.\\n\\n### `mergedBinaryType`\\n\\n```swift\\npublic var mergedBinaryType: MergedBinaryType\\n```\\n\\nSpecifies whether if the target can merge or not the dynamic dependencies as part of its binary\\n\\n### `mergeable`\\n\\n```swift\\npublic var mergeable: Bool\\n```\\n\\nSpecifies whether if the target can be merged as part of another binary or not\\n\\n### `onDemandResourcesTags`\\n\\n```swift\\npublic var onDemandResourcesTags: OnDemandResourcesTags?\\n```\\n\\nThe target's tags associated with on demand resources\\n\\n### `metadata`\\n\\n```swift\\npublic var metadata: TargetMetadata\\n```\\n\\nThe target's metadata.\\n\\n## Methods\\n### `target(name:destinations:product:productName:bundleId:deploymentTargets:infoPlist:sources:resources:copyFiles:headers:entitlements:scripts:dependencies:settings:coreDataModels:environmentVariables:launchArguments:additionalFiles:buildRules:mergedBinaryType:mergeable:onDemandResourcesTags:metadata:)`\\n\\n```swift\\npublic static func target(\\n name: String,\\n destinations: Destinations,\\n product: Product,\\n productName: String? = nil,\\n bundleId: String,\\n deploymentTargets: DeploymentTargets? = nil,\\n infoPlist: InfoPlist? = .default,\\n sources: SourceFilesList? = nil,\\n resources: ResourceFileElements? = nil,\\n copyFiles: [CopyFilesAction]? = nil,\\n headers: Headers? = nil,\\n entitlements: Entitlements? = nil,\\n scripts: [TargetScript] = [],\\n dependencies: [TargetDependency] = [],\\n settings: Settings? = nil,\\n coreDataModels: [CoreDataModel] = [],\\n environmentVariables: [String: EnvironmentVariable] = [:],\\n launchArguments: [LaunchArgument] = [],\\n additionalFiles: [FileElement] = [],\\n buildRules: [BuildRule] = [],\\n mergedBinaryType: MergedBinaryType = .disabled,\\n mergeable: Bool = false,\\n onDemandResourcesTags: OnDemandResourcesTags? = nil,\\n metadata: TargetMetadata = .default\\n) -> Self\\n```\\n\\n\",\"title\":\"`Target`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/target\",\"LLMS_URL\":\"/en/references/project-description/structs/target.md\"}},{\"path\":\"/en/references/project-description/structs/targetmetadata.md\",\"url\":\"/en/references/project-description/structs/targetmetadata\",\"llmUrl\":\"/en/references/project-description/structs/targetmetadata.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/targetmetadata\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/targetmetadata.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetMetadata`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `tags`\\n - `default`\\n- [Methods](#methods)\\n - `metadata(tags:)`\\n\\n```swift\\npublic struct TargetMetadata: Codable, Equatable, Sendable\\n```\\n\\n## Properties\\n### `tags`\\n\\n```swift\\npublic var tags: [String]\\n```\\n\\n### `default`\\n\\n```swift\\npublic static var `default`: TargetMetadata\\n```\\n\\n## Methods\\n### `metadata(tags:)`\\n\\n```swift\\npublic static func metadata(\\n tags: [String] = []\\n) -> TargetMetadata\\n```\\n\\nReturns a target metadata.\\n\\n- Parameters:\\n - tags: The list of tags to use. Used to select focused targets when generating the project.\\n- Returns: Target metadata\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tags | The list of tags to use. Used to select focused targets when generating the project. |\\n\",\"title\":\"`TargetMetadata`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/targetmetadata\",\"LLMS_URL\":\"/en/references/project-description/structs/targetmetadata.md\"}},{\"path\":\"/en/references/project-description/structs/targetreference.md\",\"url\":\"/en/references/project-description/structs/targetreference\",\"llmUrl\":\"/en/references/project-description/structs/targetreference.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/targetreference\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/targetreference.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetReference`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `projectPath`\\n - `targetName`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `project(path:target:)`\\n - `target(_:)`\\n\\n```swift\\npublic struct TargetReference: Hashable, Codable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\nA target reference for a specified project.\\n\\nThe project is specified through the path and should contain the target name.\\n\\n## Properties\\n### `projectPath`\\n\\n```swift\\npublic var projectPath: Path?\\n```\\n\\nPath to the target's project directory.\\n\\n### `targetName`\\n\\n```swift\\npublic var targetName: String\\n```\\n\\nName of the target.\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `project(path:target:)`\\n\\n```swift\\npublic static func project(path: Path, target: String) -> TargetReference\\n```\\n\\n### `target(_:)`\\n\\n```swift\\npublic static func target(_ name: String) -> TargetReference\\n```\\n\\n\",\"title\":\"`TargetReference`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/targetreference\",\"LLMS_URL\":\"/en/references/project-description/structs/targetreference.md\"}},{\"path\":\"/en/references/project-description/structs/targetscript.md\",\"url\":\"/en/references/project-description/structs/targetscript\",\"llmUrl\":\"/en/references/project-description/structs/targetscript.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/targetscript\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/targetscript.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetScript`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `script`\\n - `order`\\n - `inputPaths`\\n - `inputFileListPaths`\\n - `outputPaths`\\n - `outputFileListPaths`\\n - `basedOnDependencyAnalysis`\\n - `runForInstallBuildsOnly`\\n - `shellPath`\\n - `dependencyFile`\\n- [Methods](#methods)\\n - `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic struct TargetScript: Codable, Equatable, Sendable\\n```\\n\\nA build phase action used to run a script.\\n\\nTarget scripts, represented as target script build phases in the generated Xcode projects, are useful to define actions to be\\nexecuted before of after the build process of a target.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of the build phase when the project gets generated.\\n\\n### `script`\\n\\n```swift\\npublic var script: Script\\n```\\n\\nThe script that is to be executed\\n\\n### `order`\\n\\n```swift\\npublic var order: Order\\n```\\n\\nTarget script order.\\n\\n### `inputPaths`\\n\\n```swift\\npublic var inputPaths: [FileListGlob]\\n```\\n\\nList of input file paths\\n\\n### `inputFileListPaths`\\n\\n```swift\\npublic var inputFileListPaths: [Path]\\n```\\n\\nList of input filelist paths\\n\\n### `outputPaths`\\n\\n```swift\\npublic var outputPaths: [Path]\\n```\\n\\nList of output file paths\\n\\n### `outputFileListPaths`\\n\\n```swift\\npublic var outputFileListPaths: [Path]\\n```\\n\\nList of output filelist paths\\n\\n### `basedOnDependencyAnalysis`\\n\\n```swift\\npublic var basedOnDependencyAnalysis: Bool?\\n```\\n\\nWhether to skip running this script in incremental builds, if nothing has changed\\n\\n### `runForInstallBuildsOnly`\\n\\n```swift\\npublic var runForInstallBuildsOnly: Bool\\n```\\n\\nWhether this script only runs on install builds (default is false)\\n\\n### `shellPath`\\n\\n```swift\\npublic var shellPath: String\\n```\\n\\nThe path to the shell which shall execute this script.\\n\\n### `dependencyFile`\\n\\n```swift\\npublic var dependencyFile: Path?\\n```\\n\\nThe path to the dependency file\\n\\n## Methods\\n### `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n path: Path,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n path: Path,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n path: Path,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n path: Path,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n tool: String,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n tool: String,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n tool: String,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n tool: String,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n script: String,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - script: The text of the script to run. This should be kept small.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| script | The text of the script to run. This should be kept small. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n script: String,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - script: The script to be executed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| script | The script to be executed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\",\"title\":\"`TargetScript`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/targetscript\",\"LLMS_URL\":\"/en/references/project-description/structs/targetscript.md\"}},{\"path\":\"/en/references/project-description/structs/template.md\",\"url\":\"/en/references/project-description/structs/template\",\"llmUrl\":\"/en/references/project-description/structs/template.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/template\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/template.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Template`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `description`\\n - `attributes`\\n - `items`\\n- [Methods](#methods)\\n - `init(description:attributes:items:)`\\n\\n```swift\\npublic struct Template: Codable, Equatable, Sendable\\n```\\n\\nA scaffold template model.\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic let description: String\\n```\\n\\nDescription of template\\n\\n### `attributes`\\n\\n```swift\\npublic let attributes: [Attribute]\\n```\\n\\nAttributes to be passed to template\\n\\n### `items`\\n\\n```swift\\npublic let items: [Item]\\n```\\n\\nItems to generate\\n\\n## Methods\\n### `init(description:attributes:items:)`\\n\\n```swift\\npublic init(\\n description: String,\\n attributes: [Attribute] = [],\\n items: [Item] = []\\n)\\n```\\n\\n\",\"title\":\"`Template`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/template\",\"LLMS_URL\":\"/en/references/project-description/structs/template.md\"}},{\"path\":\"/en/references/project-description/structs/template.item.md\",\"url\":\"/en/references/project-description/structs/template.item\",\"llmUrl\":\"/en/references/project-description/structs/template.item.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/template.item\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/template.item.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Template.Item`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `path`\\n - `contents`\\n- [Methods](#methods)\\n - `item(path:contents:)`\\n\\n```swift\\npublic struct Item: Codable, Equatable, Sendable\\n```\\n\\nFile description for generating\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic let path: String\\n```\\n\\n### `contents`\\n\\n```swift\\npublic let contents: Contents\\n```\\n\\n## Methods\\n### `item(path:contents:)`\\n\\n```swift\\npublic static func item(path: String, contents: Contents) -> Self\\n```\\n\\n\",\"title\":\"`Template.Item`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/template.item\",\"LLMS_URL\":\"/en/references/project-description/structs/template.item.md\"}},{\"path\":\"/en/references/project-description/structs/templatestring.md\",\"url\":\"/en/references/project-description/structs/templatestring\",\"llmUrl\":\"/en/references/project-description/structs/templatestring.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/templatestring\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/templatestring.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TemplateString`\\n\\n```swift\\npublic struct TemplateString: Encodable, Decodable, Equatable\\n```\\n\\n\",\"title\":\"`TemplateString`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/templatestring\",\"LLMS_URL\":\"/en/references/project-description/structs/templatestring.md\"}},{\"path\":\"/en/references/project-description/structs/templatestring.stringinterpolation.md\",\"url\":\"/en/references/project-description/structs/templatestring.stringinterpolation\",\"llmUrl\":\"/en/references/project-description/structs/templatestring.stringinterpolation.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/templatestring.stringinterpolation\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/templatestring.stringinterpolation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TemplateString.StringInterpolation`\\n\\n**Contents**\\n\\n- [Methods](#methods)\\n - `init(literalCapacity:interpolationCount:)`\\n - `appendLiteral(_:)`\\n - `appendInterpolation(_:)`\\n\\n```swift\\npublic struct StringInterpolation: StringInterpolationProtocol\\n```\\n\\n## Methods\\n### `init(literalCapacity:interpolationCount:)`\\n\\n```swift\\npublic init(literalCapacity _: Int, interpolationCount _: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| literalCapacity | The approximate size of all literal segments combined. This is meant to be passed to `String.reserveCapacity(_:)`; it may be slightly larger or smaller than the sum of the counts of each literal segment. |\\n| interpolationCount | The number of interpolations which will be appended. Use this value to estimate how much additional capacity will be needed for the interpolated segments. |\\n\\n### `appendLiteral(_:)`\\n\\n```swift\\npublic mutating func appendLiteral(_ literal: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| literal | A string literal containing the characters that appear next in the string literal. |\\n\\n### `appendInterpolation(_:)`\\n\\n```swift\\npublic mutating func appendInterpolation(_ token: TemplateString.Token)\\n```\\n\\n\",\"title\":\"`TemplateString.StringInterpolation`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/templatestring.stringinterpolation\",\"LLMS_URL\":\"/en/references/project-description/structs/templatestring.stringinterpolation.md\"}},{\"path\":\"/en/references/project-description/structs/testabletarget.md\",\"url\":\"/en/references/project-description/structs/testabletarget\",\"llmUrl\":\"/en/references/project-description/structs/testabletarget.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/testabletarget\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/testabletarget.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestableTarget`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `target`\\n - `isSkipped`\\n - `isParallelizable`\\n - `parallelization`\\n - `isRandomExecutionOrdering`\\n - `simulatedLocation`\\n- [Methods](#methods)\\n - `testableTarget(target:isSkipped:isParallelizable:isRandomExecutionOrdering:simulatedLocation:)`\\n - `testableTarget(target:isSkipped:parallelization:isRandomExecutionOrdering:simulatedLocation:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct TestableTarget: Equatable, Codable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\n## Properties\\n### `target`\\n\\n```swift\\npublic var target: TargetReference\\n```\\n\\n### `isSkipped`\\n\\n```swift\\npublic var isSkipped: Bool\\n```\\n\\n### `isParallelizable`\\n\\n```swift\\npublic var isParallelizable: Bool\\n```\\n\\n### `parallelization`\\n\\n```swift\\npublic var parallelization: Parallelization\\n```\\n\\n### `isRandomExecutionOrdering`\\n\\n```swift\\npublic var isRandomExecutionOrdering: Bool\\n```\\n\\n### `simulatedLocation`\\n\\n```swift\\npublic var simulatedLocation: SimulatedLocation?\\n```\\n\\n## Methods\\n### `testableTarget(target:isSkipped:isParallelizable:isRandomExecutionOrdering:simulatedLocation:)`\\n\\n```swift\\npublic static func testableTarget(\\n target: TargetReference,\\n isSkipped: Bool = false,\\n isParallelizable: Bool,\\n isRandomExecutionOrdering: Bool = false,\\n simulatedLocation: SimulatedLocation? = nil\\n) -> Self\\n```\\n\\nReturns a testable target.\\n\\n- Parameters:\\n - target: The name or reference of target to test.\\n - isSkipped: Whether to skip this test target. If true, the test target is disabled.\\n - isParallelizable: Whether to run in parallel.\\n - isRandomExecutionOrdering: Whether to test in random order.\\n - simulatedLocation: The simulated GPS location to use when testing this target.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | The name or reference of target to test. |\\n| isSkipped | Whether to skip this test target. If true, the test target is disabled. |\\n| isParallelizable | Whether to run in parallel. |\\n| isRandomExecutionOrdering | Whether to test in random order. |\\n| simulatedLocation | The simulated GPS location to use when testing this target. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n\\n### `testableTarget(target:isSkipped:parallelization:isRandomExecutionOrdering:simulatedLocation:)`\\n\\n```swift\\npublic static func testableTarget(\\n target: TargetReference,\\n isSkipped: Bool = false,\\n parallelization: Parallelization = .disabled,\\n isRandomExecutionOrdering: Bool = false,\\n simulatedLocation: SimulatedLocation? = nil\\n) -> Self\\n```\\n\\nReturns a testable target.\\n\\n- Parameters:\\n - target: The name or reference of target to test.\\n - isSkipped: Whether to skip this test target. If true, the test target is disabled.\\n - parallelization: Whether to run tests in parallel. Can be either `.disabled`, `.enabled`, or `.swiftTestingOnly`. The\\ndefault value is `.disabled`.\\n - isRandomExecutionOrdering: Whether to test in random order.\\n - simulatedLocation: The simulated GPS location to use when testing this target.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | The name or reference of target to test. |\\n| isSkipped | Whether to skip this test target. If true, the test target is disabled. |\\n| parallelization | Whether to run tests in parallel. Can be either `.disabled`, `.enabled`, or `.swiftTestingOnly`. The default value is `.disabled`. |\\n| isRandomExecutionOrdering | Whether to test in random order. |\\n| simulatedLocation | The simulated GPS location to use when testing this target. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`TestableTarget`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/testabletarget\",\"LLMS_URL\":\"/en/references/project-description/structs/testabletarget.md\"}},{\"path\":\"/en/references/project-description/structs/testaction.md\",\"url\":\"/en/references/project-description/structs/testaction\",\"llmUrl\":\"/en/references/project-description/structs/testaction.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/testaction\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/testaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `testPlans`\\n - `targets`\\n - `arguments`\\n - `configuration`\\n - `attachDebugger`\\n - `expandVariableFromTarget`\\n - `preActions`\\n - `postActions`\\n - `options`\\n - `diagnosticsOptions`\\n - `skippedTests`\\n- [Methods](#methods)\\n - `targets(_:arguments:configuration:attachDebugger:expandVariableFromTarget:preActions:postActions:options:diagnosticsOptions:skippedTests:)`\\n - `testPlans(_:configuration:attachDebugger:preActions:postActions:)`\\n\\n```swift\\npublic struct TestAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that tests the built products.\\n\\nYou can create a test action with either a set of test targets or test plans using the `.targets` or `.testPlans` static\\nmethods respectively.\\n\\n## Properties\\n### `testPlans`\\n\\n```swift\\npublic var testPlans: [Path]?\\n```\\n\\nList of test plans. The first in the list will be the default plan.\\n\\n### `targets`\\n\\n```swift\\npublic var targets: [TestableTarget]\\n```\\n\\nA list of testable targets, that are targets which are defined in the project with testable information.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nBuild configuration to run the test with.\\n\\n### `attachDebugger`\\n\\n```swift\\npublic var attachDebugger: Bool\\n```\\n\\nWhether a debugger should be attached to the test process or not.\\n\\n### `expandVariableFromTarget`\\n\\n```swift\\npublic var expandVariableFromTarget: TargetReference?\\n```\\n\\nA target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT)\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the tests-run process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the tests-run process.\\n\\n### `options`\\n\\n```swift\\npublic var options: TestActionOptions\\n```\\n\\nList of options to set to the action.\\n\\n### `diagnosticsOptions`\\n\\n```swift\\npublic var diagnosticsOptions: SchemeDiagnosticsOptions\\n```\\n\\nList of diagnostics options to set to the action.\\n\\n### `skippedTests`\\n\\n```swift\\npublic var skippedTests: [String]?\\n```\\n\\nList of testIdentifiers to skip to the test\\n\\n## Methods\\n### `targets(_:arguments:configuration:attachDebugger:expandVariableFromTarget:preActions:postActions:options:diagnosticsOptions:skippedTests:)`\\n\\n```swift\\npublic static func targets(\\n _ targets: [TestableTarget],\\n arguments: Arguments? = nil,\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n expandVariableFromTarget: TargetReference? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n options: TestActionOptions = .options(),\\n diagnosticsOptions: SchemeDiagnosticsOptions = .options(),\\n skippedTests: [String] = []\\n) -> Self\\n```\\n\\nReturns a test action from a list of targets to be tested.\\n- Parameters:\\n - targets: List of targets to be tested.\\n - arguments: Arguments passed when running the tests.\\n - configuration: Configuration to be used.\\n - attachDebugger: A boolean controlling whether a debugger is attached to the process running the tests.\\n - expandVariableFromTarget: A target that will be used to expand the variables defined inside Environment Variables\\ndefinition. When nil, it does not expand any variables.\\n - preActions: Actions to execute before running the tests.\\n - postActions: Actions to execute after running the tests.\\n - options: Test options.\\n - diagnosticsOptions: Diagnostics options.\\n- Returns: An initialized test action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| targets | List of targets to be tested. |\\n| arguments | Arguments passed when running the tests. |\\n| configuration | Configuration to be used. |\\n| attachDebugger | A boolean controlling whether a debugger is attached to the process running the tests. |\\n| expandVariableFromTarget | A target that will be used to expand the variables defined inside Environment Variables definition. When nil, it does not expand any variables. |\\n| preActions | Actions to execute before running the tests. |\\n| postActions | Actions to execute after running the tests. |\\n| options | Test options. |\\n| diagnosticsOptions | Diagnostics options. |\\n\\n### `testPlans(_:configuration:attachDebugger:preActions:postActions:)`\\n\\n```swift\\npublic static func testPlans(\\n _ testPlans: [Path],\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = []\\n) -> Self\\n```\\n\\nReturns a test action from a list of test plans.\\n- Parameters:\\n - testPlans: List of test plans to run.\\n - configuration: Configuration to be used.\\n - attachDebugger: A boolean controlling whether a debugger is attached to the process running the tests.\\n - preActions: Actions to execute before running the tests.\\n - postActions: Actions to execute after running the tests.\\n- Returns: A test action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| testPlans | List of test plans to run. |\\n| configuration | Configuration to be used. |\\n| attachDebugger | A boolean controlling whether a debugger is attached to the process running the tests. |\\n| preActions | Actions to execute before running the tests. |\\n| postActions | Actions to execute after running the tests. |\\n\",\"title\":\"`TestAction`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/testaction\",\"LLMS_URL\":\"/en/references/project-description/structs/testaction.md\"}},{\"path\":\"/en/references/project-description/structs/testactionoptions.md\",\"url\":\"/en/references/project-description/structs/testactionoptions\",\"llmUrl\":\"/en/references/project-description/structs/testactionoptions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/testactionoptions\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/testactionoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestActionOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `language`\\n - `region`\\n - `preferredScreenCaptureFormat`\\n - `coverage`\\n - `codeCoverageTargets`\\n- [Methods](#methods)\\n - `options(language:region:preferredScreenCaptureFormat:coverage:codeCoverageTargets:)`\\n\\n```swift\\npublic struct TestActionOptions: Equatable, Codable, Sendable\\n```\\n\\nThe type `TestActionOptions` represents a set of options for a test action.\\n\\n## Properties\\n### `language`\\n\\n```swift\\npublic var language: SchemeLanguage?\\n```\\n\\nLanguage used to run the tests.\\n\\n### `region`\\n\\n```swift\\npublic var region: String?\\n```\\n\\nRegion used to run the tests.\\n\\n### `preferredScreenCaptureFormat`\\n\\n```swift\\npublic var preferredScreenCaptureFormat: ScreenCaptureFormat?\\n```\\n\\nPreferred screen capture format for UI tests results in Xcode 15+\\n\\n### `coverage`\\n\\n```swift\\npublic var coverage: Bool\\n```\\n\\nWhether the scheme should or not gather the test coverage data.\\n\\n### `codeCoverageTargets`\\n\\n```swift\\npublic var codeCoverageTargets: [TargetReference]\\n```\\n\\nA list of targets you want to gather the test coverage data for them, which are defined in the project.\\n\\n## Methods\\n### `options(language:region:preferredScreenCaptureFormat:coverage:codeCoverageTargets:)`\\n\\n```swift\\npublic static func options(\\n language: SchemeLanguage? = nil,\\n region: String? = nil,\\n preferredScreenCaptureFormat: ScreenCaptureFormat? = nil,\\n coverage: Bool = false,\\n codeCoverageTargets: [TargetReference] = []\\n) -> TestActionOptions\\n```\\n\\nReturns a set of options for a test action.\\n- Parameters:\\n - language: Language used for running the tests.\\n - region: Region used for running the tests.\\n - coverage: Whether test coverage should be collected.\\n - codeCoverageTargets: List of test targets whose code coverage information should be collected.\\n- Returns: A set of options.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| language | Language used for running the tests. |\\n| region | Region used for running the tests. |\\n| coverage | Whether test coverage should be collected. |\\n| codeCoverageTargets | List of test targets whose code coverage information should be collected. |\\n\",\"title\":\"`TestActionOptions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/testactionoptions\",\"LLMS_URL\":\"/en/references/project-description/structs/testactionoptions.md\"}},{\"path\":\"/en/references/project-description/structs/testingoptions.md\",\"url\":\"/en/references/project-description/structs/testingoptions\",\"llmUrl\":\"/en/references/project-description/structs/testingoptions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/testingoptions\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/testingoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestingOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `rawValue`\\n - `parallelizable`\\n - `randomExecutionOrdering`\\n- [Methods](#methods)\\n - `init(rawValue:)`\\n\\n```swift\\npublic struct TestingOptions: OptionSet, Codable, Equatable, Sendable\\n```\\n\\nOptions to configure testing of autogenerated schemes.\\n\\n## Properties\\n### `rawValue`\\n\\n```swift\\npublic let rawValue: Int\\n```\\n\\n### `parallelizable`\\n\\n```swift\\npublic static let parallelizable = TestingOptions(rawValue: 1 << 0)\\n```\\n\\nRun tests on multiple destinations in parallel\\n\\n### `randomExecutionOrdering`\\n\\n```swift\\npublic static let randomExecutionOrdering = TestingOptions(rawValue: 1 << 1)\\n```\\n\\nExecute tests in random order\\n\\n## Methods\\n### `init(rawValue:)`\\n\\n```swift\\npublic init(rawValue: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| rawValue | The raw value of the option set to create. Each bit of `rawValue` potentially represents an element of the option set, though raw values may include bits that are not defined as distinct values of the `OptionSet` type. |\\n\",\"title\":\"`TestingOptions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/testingoptions\",\"LLMS_URL\":\"/en/references/project-description/structs/testingoptions.md\"}},{\"path\":\"/en/references/project-description/structs/tuist.md\",\"url\":\"/en/references/project-description/structs/tuist\",\"llmUrl\":\"/en/references/project-description/structs/tuist.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/tuist\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/tuist.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Tuist`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `project`\\n - `fullHandle`\\n - `inspectOptions`\\n - `url`\\n- [Methods](#methods)\\n - `init(compatibleXcodeVersions:cloud:fullHandle:url:swiftVersion:plugins:generationOptions:inspectOptions:installOptions:)`\\n - `init(fullHandle:inspectOptions:url:project:)`\\n\\n```swift\\npublic struct Tuist: Codable, Equatable, Sendable\\n```\\n\\n## Properties\\n### `project`\\n\\n```swift\\npublic let project: TuistProject\\n```\\n\\nConfigures the project Tuist will interact with.\\nWhen no project is provided, Tuist defaults to the workspace or project in the current directory.\\n\\n### `fullHandle`\\n\\n```swift\\npublic let fullHandle: String?\\n```\\n\\nThe full project handle such as tuist-org/tuist.\\n\\n### `inspectOptions`\\n\\n```swift\\npublic let inspectOptions: InspectOptions\\n```\\n\\nThe options to use when running `tuist inspect`.\\n\\n### `url`\\n\\n```swift\\npublic let url: String\\n```\\n\\nThe base URL that points to the Tuist server.\\n\\n## Methods\\n### `init(compatibleXcodeVersions:cloud:fullHandle:url:swiftVersion:plugins:generationOptions:inspectOptions:installOptions:)`\\n\\n```swift\\npublic init(\\n compatibleXcodeVersions: CompatibleXcodeVersions = .all,\\n cloud: Cloud? = nil,\\n fullHandle: String? = nil,\\n url: String = \\\"https://tuist.dev\\\",\\n swiftVersion: Version? = nil,\\n plugins: [PluginLocation] = [],\\n generationOptions: GenerationOptions = .options(),\\n inspectOptions: InspectOptions = .options(),\\n installOptions: InstallOptions = .options()\\n)\\n```\\n\\nCreates a tuist configuration.\\n\\n- Parameters:\\n - compatibleXcodeVersions: List of Xcode versions the project is compatible with.\\n - cloud: Cloud configuration.\\n - swiftVersion: The version of Swift that will be used by Tuist.\\n - plugins: A list of plugins to extend Tuist.\\n - generationOptions: List of options to use when generating the project.\\n - installOptions: List of options to use when running `tuist install`.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| compatibleXcodeVersions | List of Xcode versions the project is compatible with. |\\n| cloud | Cloud configuration. |\\n| swiftVersion | The version of Swift that will be used by Tuist. |\\n| plugins | A list of plugins to extend Tuist. |\\n| generationOptions | List of options to use when generating the project. |\\n| installOptions | List of options to use when running `tuist install`. |\\n\\n### `init(fullHandle:inspectOptions:url:project:)`\\n\\n```swift\\npublic init(\\n fullHandle: String? = nil,\\n inspectOptions: InspectOptions = .options(),\\n url: String = \\\"https://tuist.dev\\\",\\n project: TuistProject\\n)\\n```\\n\\n\",\"title\":\"`Tuist`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/tuist\",\"LLMS_URL\":\"/en/references/project-description/structs/tuist.md\"}},{\"path\":\"/en/references/project-description/structs/tuist.generationoptions.md\",\"url\":\"/en/references/project-description/structs/tuist.generationoptions\",\"llmUrl\":\"/en/references/project-description/structs/tuist.generationoptions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/tuist.generationoptions\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/tuist.generationoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Tuist.GenerationOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `resolveDependenciesWithSystemScm`\\n - `disablePackageVersionLocking`\\n - `clonedSourcePackagesDirPath`\\n - `staticSideEffectsWarningTargets`\\n - `enforceExplicitDependencies`\\n - `defaultConfiguration`\\n - `optionalAuthentication`\\n - `buildInsightsDisabled`\\n - `disableSandbox`\\n- [Methods](#methods)\\n - `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:)`\\n - `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:defaultConfiguration:optionalAuthentication:)`\\n\\n```swift\\npublic struct GenerationOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for project generation.\\n\\n## Properties\\n### `resolveDependenciesWithSystemScm`\\n\\n```swift\\npublic var resolveDependenciesWithSystemScm: Bool\\n```\\n\\nWhen passed, Xcode will resolve its Package Manager dependencies using the system-defined\\naccounts (for example, git) instead of the Xcode-defined accounts\\n\\n### `disablePackageVersionLocking`\\n\\n```swift\\npublic var disablePackageVersionLocking: Bool\\n```\\n\\nDisables locking Swift packages. This can speed up generation but does increase risk if packages are not locked\\nin their declarations.\\n\\n### `clonedSourcePackagesDirPath`\\n\\n```swift\\npublic var clonedSourcePackagesDirPath: Path?\\n```\\n\\nAllows setting a custom directory to be used when resolving package dependencies\\nThis path is passed to `xcodebuild` via the `-clonedSourcePackagesDirPath` argument\\n\\n### `staticSideEffectsWarningTargets`\\n\\n```swift\\npublic var staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets\\n```\\n\\nAllows configuring which targets Tuist checks for potential side effects due multiple branches of the graph\\nincluding the same static library of framework as a transitive dependency.\\n\\n### `enforceExplicitDependencies`\\n\\n```swift\\npublic let enforceExplicitDependencies: Bool\\n```\\n\\nThe generated project has build settings and build paths modified in such a way that projects with implicit\\ndependencies won't build until all dependencies are declared explicitly.\\n\\n### `defaultConfiguration`\\n\\n```swift\\npublic var defaultConfiguration: String?\\n```\\n\\nThe default configuration to be used when generating the project.\\nIf not specified, Tuist generates for the first (when alphabetically sorted) debug configuration.\\n\\n### `optionalAuthentication`\\n\\n```swift\\npublic var optionalAuthentication: Bool\\n```\\n\\nMarks whether the Tuist server authentication is optional.\\nIf present, the interaction with the Tuist server will be skipped (instead of failing) if a user is not authenticated.\\n\\n### `buildInsightsDisabled`\\n\\n```swift\\npublic var buildInsightsDisabled: Bool\\n```\\n\\nWhen disabled, build insights are not collected. Build insights are never collected unless you are connected to a\\nremote Tuist project.\\nDefault value is `true`.\\n\\n### `disableSandbox`\\n\\n```swift\\npublic var disableSandbox: Bool\\n```\\n\\nDisables building manifests in a sandboxed environment.\\n\\n- Warning: This is discouraged and should only be used if absolutely necessary. It guards against using file system\\noperations which:\\n - Make generation slow\\n - Cause issues with manifest caching\\n\\n## Methods\\n### `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:)`\\n\\n```swift\\npublic static func options(\\n resolveDependenciesWithSystemScm: Bool = false,\\n disablePackageVersionLocking: Bool = false,\\n clonedSourcePackagesDirPath: Path? = nil,\\n staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,\\n defaultConfiguration: String? = nil,\\n optionalAuthentication: Bool = false,\\n buildInsightsDisabled: Bool = false,\\n disableSandbox: Bool = false\\n) -> Self\\n```\\n\\n### `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:defaultConfiguration:optionalAuthentication:)`\\n\\n```swift\\npublic static func options(\\n resolveDependenciesWithSystemScm: Bool = false,\\n disablePackageVersionLocking: Bool = false,\\n clonedSourcePackagesDirPath: Path? = nil,\\n staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,\\n enforceExplicitDependencies: Bool,\\n defaultConfiguration: String? = nil,\\n optionalAuthentication: Bool = false\\n) -> Self\\n```\\n\\n\",\"title\":\"`Tuist.GenerationOptions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/tuist.generationoptions\",\"LLMS_URL\":\"/en/references/project-description/structs/tuist.generationoptions.md\"}},{\"path\":\"/en/references/project-description/structs/tuistxcodeprojectoptions.md\",\"url\":\"/en/references/project-description/structs/tuistxcodeprojectoptions\",\"llmUrl\":\"/en/references/project-description/structs/tuistxcodeprojectoptions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/tuistxcodeprojectoptions\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/tuistxcodeprojectoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TuistXcodeProjectOptions`\\n\\n**Contents**\\n\\n- [Methods](#methods)\\n - `options()`\\n\\n```swift\\npublic struct TuistXcodeProjectOptions: Codable, Equatable, Sendable\\n```\\n\\n## Methods\\n### `options()`\\n\\n```swift\\npublic static func options() -> Self\\n```\\n\\n\",\"title\":\"`TuistXcodeProjectOptions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/tuistxcodeprojectoptions\",\"LLMS_URL\":\"/en/references/project-description/structs/tuistxcodeprojectoptions.md\"}},{\"path\":\"/en/references/project-description/structs/version.md\",\"url\":\"/en/references/project-description/structs/version\",\"llmUrl\":\"/en/references/project-description/structs/version.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/version\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/version.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Version`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `major`\\n - `minor`\\n - `patch`\\n - `prereleaseIdentifiers`\\n - `buildMetadataIdentifiers`\\n- [Methods](#methods)\\n - `init(_:_:_:prereleaseIdentifiers:buildMetadataIdentifiers:)`\\n\\n```swift\\npublic struct Version: Hashable, Codable, Sendable\\n```\\n\\nA struct representing a semver version.\\nThis is taken from SPMUtility and copied here so we do not create a direct dependency for ProjectDescription. Used for\\nspecifying version number requirements inside of Project.swift\\n\\n## Properties\\n### `major`\\n\\n```swift\\npublic var major: Int\\n```\\n\\nThe major version.\\n\\n### `minor`\\n\\n```swift\\npublic var minor: Int\\n```\\n\\nThe minor version.\\n\\n### `patch`\\n\\n```swift\\npublic var patch: Int\\n```\\n\\nThe patch version.\\n\\n### `prereleaseIdentifiers`\\n\\n```swift\\npublic var prereleaseIdentifiers: [String]\\n```\\n\\nThe pre-release identifier.\\n\\n### `buildMetadataIdentifiers`\\n\\n```swift\\npublic var buildMetadataIdentifiers: [String]\\n```\\n\\nThe build metadata.\\n\\n## Methods\\n### `init(_:_:_:prereleaseIdentifiers:buildMetadataIdentifiers:)`\\n\\n```swift\\npublic init(\\n _ major: Int,\\n _ minor: Int,\\n _ patch: Int,\\n prereleaseIdentifiers: [String] = [],\\n buildMetadataIdentifiers: [String] = []\\n)\\n```\\n\\nCreate a version object.\\n\\n\",\"title\":\"`Version`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/version\",\"LLMS_URL\":\"/en/references/project-description/structs/version.md\"}},{\"path\":\"/en/references/project-description/structs/workspace.md\",\"url\":\"/en/references/project-description/structs/workspace\",\"llmUrl\":\"/en/references/project-description/structs/workspace.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/workspace\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/workspace.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Workspace`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `projects`\\n - `schemes`\\n - `fileHeaderTemplate`\\n - `additionalFiles`\\n - `generationOptions`\\n- [Methods](#methods)\\n - `init(name:projects:schemes:fileHeaderTemplate:additionalFiles:generationOptions:)`\\n\\n```swift\\npublic struct Workspace: Codable, Equatable, Sendable\\n```\\n\\nA workspace representation.\\n\\nBy default, `tuist generate` generates an Xcode workspace that has the same name as the current project.\\nIt includes the project and all its dependencies.\\n\\nTuist allows customizing this behaviour by defining a workspace manifest within a `Workspace.swift` file.\\n\\nWorkspace manifests allow specifying a list of projects to generate and include in an Xcode workspace.\\nThose projects don’t necessarily have to depend on one another.\\nAdditionally, files and folder references _(such as documentation files)_ can be included in a workspace manifest.\\n\\nThe snippet below shows an example workspace manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet workspace = Workspace(\\n name: \\\"Workspace\\\",\\n projects: [\\\"Projects/**\\\"]\\n)\\n```\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the workspace. Also, the file name of the generated Xcode workspace.\\n\\n### `projects`\\n\\n```swift\\npublic let projects: [Path]\\n```\\n\\nThe paths (or glob patterns) to manifest projects.\\n\\n### `schemes`\\n\\n```swift\\npublic let schemes: [Scheme]\\n```\\n\\nThe custom schemes for the workspace. Default schemes for each target are generated by default.\\n\\n### `fileHeaderTemplate`\\n\\n```swift\\npublic let fileHeaderTemplate: FileHeaderTemplate?\\n```\\n\\nThe custom file header template for Xcode built-in file templates.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic let additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the workspace. For project's additional files, see ``Project/additionalFiles``.\\n\\n### `generationOptions`\\n\\n```swift\\npublic let generationOptions: GenerationOptions\\n```\\n\\nThe generation configuration of the workspace.\\n\\n## Methods\\n### `init(name:projects:schemes:fileHeaderTemplate:additionalFiles:generationOptions:)`\\n\\n```swift\\npublic init(\\n name: String,\\n projects: [Path],\\n schemes: [Scheme] = [],\\n fileHeaderTemplate: FileHeaderTemplate? = nil,\\n additionalFiles: [FileElement] = [],\\n generationOptions: GenerationOptions = .options()\\n)\\n```\\n\\n\",\"title\":\"`Workspace`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/workspace\",\"LLMS_URL\":\"/en/references/project-description/structs/workspace.md\"}},{\"path\":\"/en/references/project-description/structs/workspace.generationoptions.md\",\"url\":\"/en/references/project-description/structs/workspace.generationoptions\",\"llmUrl\":\"/en/references/project-description/structs/workspace.generationoptions.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/structs/workspace.generationoptions\\\"\\nLLMS_URL: \\\"/en/references/project-description/structs/workspace.generationoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Workspace.GenerationOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `enableAutomaticXcodeSchemes`\\n - `autogeneratedWorkspaceSchemes`\\n - `lastXcodeUpgradeCheck`\\n - `renderMarkdownReadme`\\n- [Methods](#methods)\\n - `options(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:)`\\n\\n```swift\\npublic struct GenerationOptions: Codable, Equatable, Sendable\\n```\\n\\nGeneration options allow customizing the generation of the Xcode workspace.\\n\\n## Properties\\n### `enableAutomaticXcodeSchemes`\\n\\n```swift\\npublic var enableAutomaticXcodeSchemes: Bool?\\n```\\n\\nEnable or disable automatic generation of schemes by Xcode.\\n\\n### `autogeneratedWorkspaceSchemes`\\n\\n```swift\\npublic var autogeneratedWorkspaceSchemes: AutogeneratedWorkspaceSchemes\\n```\\n\\nEnable or disable automatic generation of `Workspace` schemes. If enabled, options to configure code coverage and test\\ntargets can be passed in via associated values.\\n\\n### `lastXcodeUpgradeCheck`\\n\\n```swift\\npublic var lastXcodeUpgradeCheck: Version?\\n```\\n\\nAllows to suppress warnings in Xcode about updates to recommended settings added in or below the specified Xcode\\nversion. The warnings appear when Xcode version has been upgraded.\\nIt is recommended to set the version option to Xcode's version that is used for development of a project, for example\\n`.lastXcodeUpgradeCheck(Version(13, 0, 0))` for Xcode 13.0.0.\\n\\n### `renderMarkdownReadme`\\n\\n```swift\\npublic var renderMarkdownReadme: Bool\\n```\\n\\nAllows to render markdown files inside the workspace including an .xcodesamples.plist inside it.\\n\\n## Methods\\n### `options(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:)`\\n\\n```swift\\npublic static func options(\\n enableAutomaticXcodeSchemes: Bool? = false,\\n autogeneratedWorkspaceSchemes: AutogeneratedWorkspaceSchemes = .enabled(),\\n lastXcodeUpgradeCheck: Version? = nil,\\n renderMarkdownReadme: Bool = false\\n) -> Self\\n```\\n\\n\",\"title\":\"`Workspace.GenerationOptions`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/structs/workspace.generationoptions\",\"LLMS_URL\":\"/en/references/project-description/structs/workspace.generationoptions.md\"}},{\"path\":\"/en/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\",\"url\":\"/en/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype\",\"llmUrl\":\"/en/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype\\\"\\nLLMS_URL: \\\"/en/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].ExtendedGraphemeClusterLiteralType`\\n\\n```swift\\npublic typealias ExtendedGraphemeClusterLiteralType = String\\n```\\n\\n\",\"title\":\"`[FileElement].ExtendedGraphemeClusterLiteralType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype\",\"LLMS_URL\":\"/en/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\"}},{\"path\":\"/en/references/project-description/typealiases/array.stringliteraltype.md\",\"url\":\"/en/references/project-description/typealiases/array.stringliteraltype\",\"llmUrl\":\"/en/references/project-description/typealiases/array.stringliteraltype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/typealiases/array.stringliteraltype\\\"\\nLLMS_URL: \\\"/en/references/project-description/typealiases/array.stringliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].StringLiteralType`\\n\\n```swift\\npublic typealias StringLiteralType = String\\n```\\n\\n\",\"title\":\"`[FileElement].StringLiteralType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/typealiases/array.stringliteraltype\",\"LLMS_URL\":\"/en/references/project-description/typealiases/array.stringliteraltype.md\"}},{\"path\":\"/en/references/project-description/typealiases/array.unicodescalarliteraltype.md\",\"url\":\"/en/references/project-description/typealiases/array.unicodescalarliteraltype\",\"llmUrl\":\"/en/references/project-description/typealiases/array.unicodescalarliteraltype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/typealiases/array.unicodescalarliteraltype\\\"\\nLLMS_URL: \\\"/en/references/project-description/typealiases/array.unicodescalarliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].UnicodeScalarLiteralType`\\n\\n```swift\\npublic typealias UnicodeScalarLiteralType = String\\n```\\n\\n\",\"title\":\"`[FileElement].UnicodeScalarLiteralType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/typealiases/array.unicodescalarliteraltype\",\"LLMS_URL\":\"/en/references/project-description/typealiases/array.unicodescalarliteraltype.md\"}},{\"path\":\"/en/references/project-description/typealiases/config.md\",\"url\":\"/en/references/project-description/typealiases/config\",\"llmUrl\":\"/en/references/project-description/typealiases/config.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/typealiases/config\\\"\\nLLMS_URL: \\\"/en/references/project-description/typealiases/config.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `Config`\\n\\n```swift\\npublic typealias Config = Tuist\\n```\\n\\nThe configuration of your environment.\\n\\nTuist can be configured through a shared `Tuist.swift` manifest.\\nWhen Tuist is executed, it traverses up the directories to find `Tuist.swift` file.\\nDefining a configuration manifest is not required, but recommended to ensure a consistent behaviour across all the projects\\nthat are part of the repository.\\n\\nThe example below shows a project that has a global `Tuist.swift` file that will be used when Tuist is run from any of the\\nsubdirectories:\\n\\n```bash\\n/Workspace.swift\\n/Tuist.swift # Configuration manifest\\n/Framework/Project.swift\\n/App/Project.swift\\n```\\n\\nThat way, when executing Tuist in any of the subdirectories, it will use the shared configuration.\\n\\nThe snippet below shows an example configuration manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Config(project: .tuist(generationOptions: .options(resolveDependenciesWithSystemScm: false)))\\n\\n```\\n\",\"title\":\"`Config`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/typealiases/config\",\"LLMS_URL\":\"/en/references/project-description/typealiases/config.md\"}},{\"path\":\"/en/references/project-description/typealiases/destinations.md\",\"url\":\"/en/references/project-description/typealiases/destinations\",\"llmUrl\":\"/en/references/project-description/typealiases/destinations.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/typealiases/destinations\\\"\\nLLMS_URL: \\\"/en/references/project-description/typealiases/destinations.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `Destinations`\\n\\n```swift\\npublic typealias Destinations = Set\\n```\\n\\nSet of deployment destinations\\n\",\"title\":\"`Destinations`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/typealiases/destinations\",\"LLMS_URL\":\"/en/references/project-description/typealiases/destinations.md\"}},{\"path\":\"/en/references/project-description/typealiases/platformfilters.md\",\"url\":\"/en/references/project-description/typealiases/platformfilters\",\"llmUrl\":\"/en/references/project-description/typealiases/platformfilters.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/typealiases/platformfilters\\\"\\nLLMS_URL: \\\"/en/references/project-description/typealiases/platformfilters.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `PlatformFilters`\\n\\n```swift\\npublic typealias PlatformFilters = Set\\n```\\n\\n\",\"title\":\"`PlatformFilters`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/typealiases/platformfilters\",\"LLMS_URL\":\"/en/references/project-description/typealiases/platformfilters.md\"}},{\"path\":\"/en/references/project-description/typealiases/runactionoptions.simulatedlocation.md\",\"url\":\"/en/references/project-description/typealiases/runactionoptions.simulatedlocation\",\"llmUrl\":\"/en/references/project-description/typealiases/runactionoptions.simulatedlocation.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/typealiases/runactionoptions.simulatedlocation\\\"\\nLLMS_URL: \\\"/en/references/project-description/typealiases/runactionoptions.simulatedlocation.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `RunActionOptions.SimulatedLocation`\\n\\n```swift\\npublic typealias SimulatedLocation = ProjectDescription.SimulatedLocation\\n```\\n\\n\",\"title\":\"`RunActionOptions.SimulatedLocation`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/typealiases/runactionoptions.simulatedlocation\",\"LLMS_URL\":\"/en/references/project-description/typealiases/runactionoptions.simulatedlocation.md\"}},{\"path\":\"/en/references/project-description/typealiases/settingsdictionary.md\",\"url\":\"/en/references/project-description/typealiases/settingsdictionary\",\"llmUrl\":\"/en/references/project-description/typealiases/settingsdictionary.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/typealiases/settingsdictionary\\\"\\nLLMS_URL: \\\"/en/references/project-description/typealiases/settingsdictionary.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `SettingsDictionary`\\n\\n```swift\\npublic typealias SettingsDictionary = [String: SettingValue]\\n```\\n\\n\",\"title\":\"`SettingsDictionary`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/typealiases/settingsdictionary\",\"LLMS_URL\":\"/en/references/project-description/typealiases/settingsdictionary.md\"}},{\"path\":\"/en/references/project-description/typealiases/settingvalue.booleanliteraltype.md\",\"url\":\"/en/references/project-description/typealiases/settingvalue.booleanliteraltype\",\"llmUrl\":\"/en/references/project-description/typealiases/settingvalue.booleanliteraltype.md\",\"content\":\"---\\nURL: \\\"/en/references/project-description/typealiases/settingvalue.booleanliteraltype\\\"\\nLLMS_URL: \\\"/en/references/project-description/typealiases/settingvalue.booleanliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `SettingValue.BooleanLiteralType`\\n\\n```swift\\npublic typealias BooleanLiteralType = Bool\\n```\\n\\n\",\"title\":\"`SettingValue.BooleanLiteralType`\",\"frontmatter\":{\"URL\":\"/en/references/project-description/typealiases/settingvalue.booleanliteraltype\",\"LLMS_URL\":\"/en/references/project-description/typealiases/settingvalue.booleanliteraltype.md\"}},{\"path\":\"/es.md\",\"url\":\"/es\",\"llmUrl\":\"/es.md\",\"content\":\"---\\nURL: \\\"/es\\\"\\nLLMS_URL: \\\"/es.md\\\"\\ntitle: \\\"What is Tuist?\\\"\\ndescription: \\\"Extend your Apple native tooling to better apps at scale.\\\"\\n---\\n\\n\\n\\n# From idea to the store\\n\\nWe are the only **integrated extension of Apple's native toolchain to build better apps faster.**\\n\\n \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n\\n\\n## Installation\\n\\nInstall Tuist and run `tuist init` to get started:\\n\\n::: code-group\\n\\n```bash [Homebrew]\\nbrew tap tuist/tuist\\nbrew install --formula tuist\\n\\ntuist init\\n```\\n\\n```bash [Mise]\\nmise x tuist@latest -- tuist init\\n```\\n\\n:::\\n\\nCheck out our installation guide for more details.\\n\\n## Discover more\\n\\nTry out Tuist in minutes and learn how to get the most out of Tuist.\\n\\n\\n \\n \\n \\n\\n\\n## Watch our latest talks\\n\\nExplore our team's presentations. Stay informed and gain expertise.\\n\\n\\n\\n## Join the community\\n\\nSee the source code, connect with others, and get connected.\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\",\"title\":\"What is Tuist?\",\"frontmatter\":{\"URL\":\"/es\",\"LLMS_URL\":\"/es.md\",\"title\":\"What is Tuist?\",\"description\":\"Extend your Apple native tooling to better apps at scale.\"}},{\"path\":\"/es/cli/account.md\",\"url\":\"/es/cli/account\",\"llmUrl\":\"/es/cli/account.md\",\"content\":\"---\\nURL: \\\"/es/cli/account\\\"\\nLLMS_URL: \\\"/es/cli/account.md\\\"\\n---\\n\\n# tuist account\\nA set of commands to manage your Tuist account\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist account -h\\ntuist account --help\\n```\\n\\n\",\"title\":\"tuist account\",\"frontmatter\":{\"URL\":\"/es/cli/account\",\"LLMS_URL\":\"/es/cli/account.md\"}},{\"path\":\"/es/cli/account/update.md\",\"url\":\"/es/cli/account/update\",\"llmUrl\":\"/es/cli/account/update.md\",\"content\":\"---\\nURL: \\\"/es/cli/account/update\\\"\\nLLMS_URL: \\\"/es/cli/account/update.md\\\"\\n---\\n\\n# tuist account update\\nUpdate account settings.\\n\\n## Arguments\\n\\n### account-handle \\n\\nThe account handle of the account to update. If omitted, defaults to the account you're currently authenticated as.\\n```bash\\ntuist account update [account-handle]\\n```\\n\\n### handle \\n\\nThe new handle.\\n```bash\\ntuist account update --handle [handle]\\n```\\n\\n### path \\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist account update --path [path]\\ntuist account update -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist account update -h\\ntuist account update --help\\n```\\n\\n\",\"title\":\"tuist account update\",\"frontmatter\":{\"URL\":\"/es/cli/account/update\",\"LLMS_URL\":\"/es/cli/account/update.md\"}},{\"path\":\"/es/cli/auth.md\",\"url\":\"/es/cli/auth\",\"llmUrl\":\"/es/cli/auth.md\",\"content\":\"---\\nURL: \\\"/es/cli/auth\\\"\\nLLMS_URL: \\\"/es/cli/auth.md\\\"\\n---\\n\\n# tuist auth\\nManage authentication\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth -h\\ntuist auth --help\\n```\\n\\n\",\"title\":\"tuist auth\",\"frontmatter\":{\"URL\":\"/es/cli/auth\",\"LLMS_URL\":\"/es/cli/auth.md\"}},{\"path\":\"/es/cli/auth/login.md\",\"url\":\"/es/cli/auth/login\",\"llmUrl\":\"/es/cli/auth/login.md\",\"content\":\"---\\nURL: \\\"/es/cli/auth/login\\\"\\nLLMS_URL: \\\"/es/cli/auth/login.md\\\"\\n---\\n\\n# tuist auth login\\nLog in a user\\n\\n## Arguments\\n\\n### email \\n\\n**Environment variable** `TUIST_AUTH_EMAIL`\\n\\nEmail to authenticate with.\\n```bash\\ntuist auth login --email [email]\\n```\\n\\n### password \\n\\n**Environment variable** `TUIST_AUTH_PASSWORD`\\n\\nPassword to authenticate with.\\n```bash\\ntuist auth login --password [password]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_AUTH_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth login --path [path]\\ntuist auth login -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth login -h\\ntuist auth login --help\\n```\\n\\n\",\"title\":\"tuist auth login\",\"frontmatter\":{\"URL\":\"/es/cli/auth/login\",\"LLMS_URL\":\"/es/cli/auth/login.md\"}},{\"path\":\"/es/cli/auth/logout.md\",\"url\":\"/es/cli/auth/logout\",\"llmUrl\":\"/es/cli/auth/logout.md\",\"content\":\"---\\nURL: \\\"/es/cli/auth/logout\\\"\\nLLMS_URL: \\\"/es/cli/auth/logout.md\\\"\\n---\\n\\n# tuist auth logout\\nRemoves an existing Tuist session.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LOGOUT_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth logout --path [path]\\ntuist auth logout -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth logout -h\\ntuist auth logout --help\\n```\\n\\n\",\"title\":\"tuist auth logout\",\"frontmatter\":{\"URL\":\"/es/cli/auth/logout\",\"LLMS_URL\":\"/es/cli/auth/logout.md\"}},{\"path\":\"/es/cli/auth/refresh-token.md\",\"url\":\"/es/cli/auth/refresh-token\",\"llmUrl\":\"/es/cli/auth/refresh-token.md\",\"content\":\"---\\nURL: \\\"/es/cli/auth/refresh-token\\\"\\nLLMS_URL: \\\"/es/cli/auth/refresh-token.md\\\"\\n---\\n\\n# tuist auth refresh-token\\nRefreshes the token for a particular URL\\n\\n## Arguments\\n\\n### server-url \\n\\n**Environment variable** `TUIST_AUTH_REFRESH_TOKEN_SERVER_URL`\\n\\nThe URL of the server the token is being refreshed for.\\n```bash\\ntuist auth refresh-token [server-url]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth refresh-token -h\\ntuist auth refresh-token --help\\n```\\n\\n\",\"title\":\"tuist auth refresh-token\",\"frontmatter\":{\"URL\":\"/es/cli/auth/refresh-token\",\"LLMS_URL\":\"/es/cli/auth/refresh-token.md\"}},{\"path\":\"/es/cli/auth/whoami.md\",\"url\":\"/es/cli/auth/whoami\",\"llmUrl\":\"/es/cli/auth/whoami.md\",\"content\":\"---\\nURL: \\\"/es/cli/auth/whoami\\\"\\nLLMS_URL: \\\"/es/cli/auth/whoami.md\\\"\\n---\\n\\n# tuist auth whoami\\nDisplay the user's email identity currently authenticated and in use.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_WHOAMI_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth whoami --path [path]\\ntuist auth whoami -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth whoami -h\\ntuist auth whoami --help\\n```\\n\\n\",\"title\":\"tuist auth whoami\",\"frontmatter\":{\"URL\":\"/es/cli/auth/whoami\",\"LLMS_URL\":\"/es/cli/auth/whoami.md\"}},{\"path\":\"/es/cli/build.md\",\"url\":\"/es/cli/build\",\"llmUrl\":\"/es/cli/build.md\",\"content\":\"---\\nURL: \\\"/es/cli/build\\\"\\nLLMS_URL: \\\"/es/cli/build.md\\\"\\n---\\n\\n# tuist build\\nBuilds a project\\n\\n## Arguments\\n\\n### scheme \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_SCHEME`\\n\\nThe scheme to be built. By default it builds all the buildable schemes of the project in the current directory.\\n```bash\\ntuist build [scheme]\\n```\\n\\n### generate \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_GENERATE`\\n\\nForce the generation of the project before building.\\n```bash\\ntuist build --generate\\ntuist build --no-generate\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_CLEAN`\\n\\nWhen passed, it cleans the project before building it\\n```bash\\ntuist build --clean\\ntuist build --no-clean\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PATH`\\n\\nThe path to the directory that contains the project to be built.\\n```bash\\ntuist build --path [path]\\ntuist build -p [path]\\n```\\n\\n### device \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_DEVICE`\\n\\nBuild on a specific device.\\n```bash\\ntuist build --device [device]\\ntuist build -d [device]\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PLATFORM`\\n\\nBuild for a specific platform.\\n```bash\\ntuist build --platform [platform]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_OS`\\n\\nBuild with a specific version of the OS.\\n```bash\\ntuist build --os [os]\\ntuist build -o [os]\\n```\\n\\n### rosetta \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_ROSETTA`\\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist build --rosetta\\ntuist build --no-rosetta\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_CONFIGURATION`\\n\\nThe configuration to be used when building the scheme.\\n```bash\\ntuist build --configuration [configuration]\\ntuist build -C [configuration]\\n```\\n\\n### build-output-path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_BUILD_OUTPUT_PATH`\\n\\nThe directory where build products will be copied to when the project is built.\\n```bash\\ntuist build --build-output-path [build-output-path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_DERIVED_DATA_PATH`\\n\\nOverrides the folder that should be used for derived data when building the project.\\n```bash\\ntuist build --derived-data-path [derived-data-path]\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips building. This is useful for debugging purposes.\\n```bash\\ntuist build --generate-only\\ntuist build --no-generate-only\\n```\\n\\n### passthrough-xcode-build-arguments \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PASSTHROUGH_XCODE_BUILD_ARGUMENTS`\\n\\nArguments that will be passed through to xcodebuild\\n```bash\\ntuist build [passthrough-xcode-build-arguments]\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_BUILD_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist build --binary-cache\\ntuist build --no-binary-cache\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist build -h\\ntuist build --help\\n```\\n\\n\",\"title\":\"tuist build\",\"frontmatter\":{\"URL\":\"/es/cli/build\",\"LLMS_URL\":\"/es/cli/build.md\"}},{\"path\":\"/es/cli/cache.md\",\"url\":\"/es/cli/cache\",\"llmUrl\":\"/es/cli/cache.md\",\"content\":\"---\\nURL: \\\"/es/cli/cache\\\"\\nLLMS_URL: \\\"/es/cli/cache.md\\\"\\n---\\n\\n# tuist cache\\nWarms the local and remote cache.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist cache --path [path]\\ntuist cache -p [path]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_CACHE_CONFIGURATION`\\n\\nConfiguration to use for binary caching.\\n```bash\\ntuist cache --configuration [configuration]\\ntuist cache -c [configuration]\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_CACHE_TARGETS`\\n\\nA list of targets to cache. Those and their dependant targets will be cached. If no target is specified, all the project targets (excluding the external ones) and their dependencies will be cached.\\n```bash\\ntuist cache [targets]\\n```\\n\\n### external-only \\n\\n**Environment variable** `TUIST_CACHE_EXTERNAL_ONLY`\\n\\nIf passed, the command doesn't cache the targets passed in the `--targets` argument, but only their dependencies\\n```bash\\ntuist cache --external-only\\ntuist cache --no-external-only\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_CACHE_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips warming the cache. This is useful for debugging purposes.\\n```bash\\ntuist cache --generate-only\\ntuist cache --no-generate-only\\n```\\n\\n### print-hashes \\n\\n**Environment variable** `TUIST_CACHE_PRINT_HASHES`\\n\\nWhen passed, the hashes of the cacheable frameworks in the given project are printed.\\n```bash\\ntuist cache --print-hashes\\ntuist cache --no-print-hashes\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist cache -h\\ntuist cache --help\\n```\\n\\n\",\"title\":\"tuist cache\",\"frontmatter\":{\"URL\":\"/es/cli/cache\",\"LLMS_URL\":\"/es/cli/cache.md\"}},{\"path\":\"/es/cli/clean.md\",\"url\":\"/es/cli/clean\",\"llmUrl\":\"/es/cli/clean.md\",\"content\":\"---\\nURL: \\\"/es/cli/clean\\\"\\nLLMS_URL: \\\"/es/cli/clean.md\\\"\\n---\\n\\n# tuist clean\\nClean all the artifacts stored locally\\n\\n## Arguments\\n\\n### clean-categories \\n\\n**Environment variable** `TUIST_CLEAN_CLEAN_CATEGORIES`\\n\\nThe cache and artifact categories to be cleaned. If no category is specified, everything is cleaned.\\n```bash\\ntuist clean [clean-categories]\\n```\\n\\n### remote \\n\\n**Environment variable** `TUIST_CLEAN_REMOTE`\\n\\nClean the remote cache\\n```bash\\ntuist clean --remote\\ntuist clean --no-remote\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_CLEAN_PATH`\\n\\nThe path to the directory that contains the project that should be cleaned.\\n```bash\\ntuist clean --path [path]\\ntuist clean -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist clean -h\\ntuist clean --help\\n```\\n\\n\",\"title\":\"tuist clean\",\"frontmatter\":{\"URL\":\"/es/cli/clean\",\"LLMS_URL\":\"/es/cli/clean.md\"}},{\"path\":\"/es/cli/dump.md\",\"url\":\"/es/cli/dump\",\"llmUrl\":\"/es/cli/dump.md\",\"content\":\"---\\nURL: \\\"/es/cli/dump\\\"\\nLLMS_URL: \\\"/es/cli/dump.md\\\"\\n---\\n\\n# tuist dump\\nOutputs the manifest as a JSON\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_DUMP_PATH`\\n\\nThe path to the folder where the manifest is\\n```bash\\ntuist dump --path [path]\\ntuist dump -p [path]\\n```\\n\\n### manifest \\n\\n**Environment variable** `TUIST_DUMP_MANIFEST`\\n\\nThe manifest to be dumped\\n```bash\\ntuist dump [manifest]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist dump -h\\ntuist dump --help\\n```\\n\\n\",\"title\":\"tuist dump\",\"frontmatter\":{\"URL\":\"/es/cli/dump\",\"LLMS_URL\":\"/es/cli/dump.md\"}},{\"path\":\"/es/cli/edit.md\",\"url\":\"/es/cli/edit\",\"llmUrl\":\"/es/cli/edit.md\",\"content\":\"---\\nURL: \\\"/es/cli/edit\\\"\\nLLMS_URL: \\\"/es/cli/edit.md\\\"\\n---\\n\\n# tuist edit\\nGenerates a temporary project to edit the project in the current directory\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_EDIT_PATH`\\n\\nThe path to the directory whose project will be edited\\n```bash\\ntuist edit --path [path]\\ntuist edit -p [path]\\n```\\n\\n### permanent \\n\\n**Environment variable** `TUIST_EDIT_PERMANENT`\\n\\nIt creates the project in the current directory or the one indicated by -p and doesn't block the process\\n```bash\\ntuist edit --permanent\\ntuist edit -P\\ntuist edit --no-permanent\\n```\\n\\n### only-current-directory \\n\\n**Environment variable** `TUIST_EDIT_ONLY_CURRENT_DIRECTORY`\\n\\nIt only includes the manifest in the current directory.\\n```bash\\ntuist edit --only-current-directory\\ntuist edit -o\\ntuist edit --no-only-current-directory\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist edit -h\\ntuist edit --help\\n```\\n\\n\",\"title\":\"tuist edit\",\"frontmatter\":{\"URL\":\"/es/cli/edit\",\"LLMS_URL\":\"/es/cli/edit.md\"}},{\"path\":\"/es/cli/generate.md\",\"url\":\"/es/cli/generate\",\"llmUrl\":\"/es/cli/generate.md\",\"content\":\"---\\nURL: \\\"/es/cli/generate\\\"\\nLLMS_URL: \\\"/es/cli/generate.md\\\"\\n---\\n\\n# tuist generate\\nGenerates an Xcode workspace to start working on the project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_GENERATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist generate --path [path]\\ntuist generate -p [path]\\n```\\n\\n### query \\n\\nTargets 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 the project targets will be generated (except external ones, such as Swift packages).\\n```bash\\ntuist generate [query]\\n```\\n\\n### open \\n\\n**Environment variable** `TUIST_GENERATE_OPEN`\\n\\nDon't open the project after generating it.\\n```bash\\ntuist generate --open\\ntuist generate -o\\ntuist generate --no-open\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_GENERATE_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist generate --binary-cache\\ntuist generate --no-binary-cache\\n```\\n\\n### configuration \\n\\nConfiguration to generate for.\\n```bash\\ntuist generate --configuration [configuration]\\ntuist generate -c [configuration]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist generate -h\\ntuist generate --help\\n```\\n\\n\",\"title\":\"tuist generate\",\"frontmatter\":{\"URL\":\"/es/cli/generate\",\"LLMS_URL\":\"/es/cli/generate.md\"}},{\"path\":\"/es/cli/graph.md\",\"url\":\"/es/cli/graph\",\"llmUrl\":\"/es/cli/graph.md\",\"content\":\"---\\nURL: \\\"/es/cli/graph\\\"\\nLLMS_URL: \\\"/es/cli/graph.md\\\"\\n---\\n\\n# tuist graph\\nGenerates a graph from the workspace or project in the current directory\\n\\n## Arguments\\n\\n### skip-test-targets \\n\\n**Environment variable** `TUIST_GRAPH_SKIP_TEST_TARGETS`\\n\\nSkip Test targets during graph rendering.\\n```bash\\ntuist graph -t\\ntuist graph --skip-test-targets\\ntuist graph --no-skip-test-targets\\n```\\n\\n### skip-external-dependencies \\n\\n**Environment variable** `TUIST_GRAPH_SKIP_EXTERNAL_DEPENDENCIES`\\n\\nSkip external dependencies.\\n```bash\\ntuist graph -d\\ntuist graph --skip-external-dependencies\\ntuist graph --no-skip-external-dependencies\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_GRAPH_PLATFORM`\\n\\nA platform to filter. Only targets for this platform will be showed in the graph. Available platforms: ios, macos, tvos, watchos\\n```bash\\ntuist graph -l [platform]\\ntuist graph --platform [platform]\\n```\\n\\n### format \\n\\n**Environment variable** `TUIST_GRAPH_FORMAT`\\n\\nAvailable formats: dot, json, png, svg\\n```bash\\ntuist graph -f [format]\\ntuist graph --format [format]\\n```\\n\\n### open \\n\\n**Environment variable** `TUIST_GRAPH_OPEN`\\n\\nDon't open the file after generating it.\\n```bash\\ntuist graph --open\\ntuist graph --no-open\\n```\\n\\n### algorithm \\n\\n**Environment variable** `TUIST_GRAPH_LAYOUT_ALGORITHM`\\n\\nAvailable formats: dot, neato, twopi, circo, fdp, sfdp, patchwork\\n```bash\\ntuist graph -a [algorithm]\\ntuist graph --algorithm [algorithm]\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_GRAPH_TARGETS`\\n\\nA list of targets to filter. Those and their dependent targets will be showed in the graph.\\n```bash\\ntuist graph [targets]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_GRAPH_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist graph --path [path]\\ntuist graph -p [path]\\n```\\n\\n### output-path \\n\\n**Environment variable** `TUIST_GRAPH_OUTPUT_PATH`\\n\\nThe path where the graph will be generated.\\n```bash\\ntuist graph --output-path [output-path]\\ntuist graph -o [output-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist graph -h\\ntuist graph --help\\n```\\n\\n\",\"title\":\"tuist graph\",\"frontmatter\":{\"URL\":\"/es/cli/graph\",\"LLMS_URL\":\"/es/cli/graph.md\"}},{\"path\":\"/es/cli/hash.md\",\"url\":\"/es/cli/hash\",\"llmUrl\":\"/es/cli/hash.md\",\"content\":\"---\\nURL: \\\"/es/cli/hash\\\"\\nLLMS_URL: \\\"/es/cli/hash.md\\\"\\n---\\n\\n# tuist hash\\nUtilities to debug the hashing logic used by features like binary caching or selective testing.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash -h\\ntuist hash --help\\n```\\n\\n\",\"title\":\"tuist hash\",\"frontmatter\":{\"URL\":\"/es/cli/hash\",\"LLMS_URL\":\"/es/cli/hash.md\"}},{\"path\":\"/es/cli/hash/cache.md\",\"url\":\"/es/cli/hash/cache\",\"llmUrl\":\"/es/cli/hash/cache.md\",\"content\":\"---\\nURL: \\\"/es/cli/hash/cache\\\"\\nLLMS_URL: \\\"/es/cli/hash/cache.md\\\"\\n---\\n\\n# tuist hash cache\\nReturns the hashes that will be used to persist binaries of the graph in its current state to the cache.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_HASH_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist hash cache --path [path]\\ntuist hash cache -p [path]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_HASH_CACHE_CONFIGURATION`\\n\\nThe project configuration the cache binaries will be bound to.\\n```bash\\ntuist hash cache --configuration [configuration]\\ntuist hash cache -c [configuration]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash cache -h\\ntuist hash cache --help\\n```\\n\\n\",\"title\":\"tuist hash cache\",\"frontmatter\":{\"URL\":\"/es/cli/hash/cache\",\"LLMS_URL\":\"/es/cli/hash/cache.md\"}},{\"path\":\"/es/cli/hash/selective-testing.md\",\"url\":\"/es/cli/hash/selective-testing\",\"llmUrl\":\"/es/cli/hash/selective-testing.md\",\"content\":\"---\\nURL: \\\"/es/cli/hash/selective-testing\\\"\\nLLMS_URL: \\\"/es/cli/hash/selective-testing.md\\\"\\n---\\n\\n# tuist hash selective-testing\\nReturns the hashes that will be used to persist targets' test results to select tests in future test runs.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_HASH_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose tests will run selectively.\\n```bash\\ntuist hash selective-testing --path [path]\\ntuist hash selective-testing -p [path]\\n```\\n\\n### passthrough-xcodebuild-arguments \\n\\nWhen running tests selectively through 'tuist xcodebuild test', the additional 'xcodebuild' arguments that you'd pass, some of which are hashed.\\n```bash\\ntuist hash selective-testing [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash selective-testing -h\\ntuist hash selective-testing --help\\n```\\n\\n\",\"title\":\"tuist hash selective-testing\",\"frontmatter\":{\"URL\":\"/es/cli/hash/selective-testing\",\"LLMS_URL\":\"/es/cli/hash/selective-testing.md\"}},{\"path\":\"/es/cli/init.md\",\"url\":\"/es/cli/init\",\"llmUrl\":\"/es/cli/init.md\",\"content\":\"---\\nURL: \\\"/es/cli/init\\\"\\nLLMS_URL: \\\"/es/cli/init.md\\\"\\n---\\n\\n# tuist init\\nGet started with Tuist in your Xcode project or create a generated project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INIT_PATH`\\n\\nThe path to the directory from where to start.\\n```bash\\ntuist init --path [path]\\ntuist init -p [path]\\n```\\n\\n### answers \\n\\n**Environment variable** `TUIST_INIT_PATH`\\n\\nBase64-encoded prompt answers\\n```bash\\ntuist init --answers [answers]\\ntuist init -a [answers]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist init -h\\ntuist init --help\\n```\\n\\n\",\"title\":\"tuist init\",\"frontmatter\":{\"URL\":\"/es/cli/init\",\"LLMS_URL\":\"/es/cli/init.md\"}},{\"path\":\"/es/cli/inspect.md\",\"url\":\"/es/cli/inspect\",\"llmUrl\":\"/es/cli/inspect.md\",\"content\":\"---\\nURL: \\\"/es/cli/inspect\\\"\\nLLMS_URL: \\\"/es/cli/inspect.md\\\"\\n---\\n\\n# tuist inspect\\nInspect your project to identify issues such as implicit or redundant dependencies.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect -h\\ntuist inspect --help\\n```\\n\\n\",\"title\":\"tuist inspect\",\"frontmatter\":{\"URL\":\"/es/cli/inspect\",\"LLMS_URL\":\"/es/cli/inspect.md\"}},{\"path\":\"/es/cli/inspect/build.md\",\"url\":\"/es/cli/inspect/build\",\"llmUrl\":\"/es/cli/inspect/build.md\",\"content\":\"---\\nURL: \\\"/es/cli/inspect/build\\\"\\nLLMS_URL: \\\"/es/cli/inspect/build.md\\\"\\n---\\n\\n# tuist inspect build\\nInspects the latest build.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INSPECT_BUILD_PATH`\\n\\nThe path to the directory that contains the project to inspect the latest build for.\\n```bash\\ntuist inspect build --path [path]\\ntuist inspect build -p [path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_INSPECT_BUILD_DERIVED_DATA_PATH`\\n\\nThe path to the directory containing the project's derived data artifacts.\\n```bash\\ntuist inspect build --derived-data-path [derived-data-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect build -h\\ntuist inspect build --help\\n```\\n\\n\",\"title\":\"tuist inspect build\",\"frontmatter\":{\"URL\":\"/es/cli/inspect/build\",\"LLMS_URL\":\"/es/cli/inspect/build.md\"}},{\"path\":\"/es/cli/inspect/bundle.md\",\"url\":\"/es/cli/inspect/bundle\",\"llmUrl\":\"/es/cli/inspect/bundle.md\",\"content\":\"---\\nURL: \\\"/es/cli/inspect/bundle\\\"\\nLLMS_URL: \\\"/es/cli/inspect/bundle.md\\\"\\n---\\n\\n# tuist inspect bundle\\nInspects an app bundle. The app bundle has to be either `.app`, `.xcarchive` or `.ipa`.\\n\\n## Arguments\\n\\n### bundle \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE`\\n\\nThe path to the bundle.\\n```bash\\ntuist inspect bundle [bundle]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist inspect bundle --json\\ntuist inspect bundle --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE_PATH`\\n\\nThe path to the directory that contains the project associated with the inspected bundle.\\n```bash\\ntuist inspect bundle --path [path]\\ntuist inspect bundle -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect bundle -h\\ntuist inspect bundle --help\\n```\\n\\n\",\"title\":\"tuist inspect bundle\",\"frontmatter\":{\"URL\":\"/es/cli/inspect/bundle\",\"LLMS_URL\":\"/es/cli/inspect/bundle.md\"}},{\"path\":\"/es/cli/inspect/implicit-imports.md\",\"url\":\"/es/cli/inspect/implicit-imports\",\"llmUrl\":\"/es/cli/inspect/implicit-imports.md\",\"content\":\"---\\nURL: \\\"/es/cli/inspect/implicit-imports\\\"\\nLLMS_URL: \\\"/es/cli/inspect/implicit-imports.md\\\"\\n---\\n\\n# tuist inspect implicit-imports\\nFind implicit imports in Tuist projects failing when cases are found.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LINT_IMPLICIT_DEPENDENCIES_PATH`\\n\\nThe path to the directory that contains the project.\\n```bash\\ntuist inspect implicit-imports --path [path]\\ntuist inspect implicit-imports -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect implicit-imports -h\\ntuist inspect implicit-imports --help\\n```\\n\\n\",\"title\":\"tuist inspect implicit-imports\",\"frontmatter\":{\"URL\":\"/es/cli/inspect/implicit-imports\",\"LLMS_URL\":\"/es/cli/inspect/implicit-imports.md\"}},{\"path\":\"/es/cli/inspect/redundant-imports.md\",\"url\":\"/es/cli/inspect/redundant-imports\",\"llmUrl\":\"/es/cli/inspect/redundant-imports.md\",\"content\":\"---\\nURL: \\\"/es/cli/inspect/redundant-imports\\\"\\nLLMS_URL: \\\"/es/cli/inspect/redundant-imports.md\\\"\\n---\\n\\n# tuist inspect redundant-imports\\nFind redundant imports in Tuist projects failing when cases are found.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LINT_REDUNDANT_DEPENDENCIES_PATH`\\n\\nThe path to the directory that contains the project.\\n```bash\\ntuist inspect redundant-imports --path [path]\\ntuist inspect redundant-imports -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect redundant-imports -h\\ntuist inspect redundant-imports --help\\n```\\n\\n\",\"title\":\"tuist inspect redundant-imports\",\"frontmatter\":{\"URL\":\"/es/cli/inspect/redundant-imports\",\"LLMS_URL\":\"/es/cli/inspect/redundant-imports.md\"}},{\"path\":\"/es/cli/install.md\",\"url\":\"/es/cli/install\",\"llmUrl\":\"/es/cli/install.md\",\"content\":\"---\\nURL: \\\"/es/cli/install\\\"\\nLLMS_URL: \\\"/es/cli/install.md\\\"\\n---\\n\\n# tuist install\\nInstalls any remote content (e.g. dependencies) necessary to interact with the project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INSTALL_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist install --path [path]\\ntuist install -p [path]\\n```\\n\\n### update \\n\\n**Environment variable** `TUIST_INSTALL_UPDATE`\\n\\nInstead of simple install, update external content when available.\\n```bash\\ntuist install --update\\ntuist install -u\\ntuist install --no-update\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist install -h\\ntuist install --help\\n```\\n\\n\",\"title\":\"tuist install\",\"frontmatter\":{\"URL\":\"/es/cli/install\",\"LLMS_URL\":\"/es/cli/install.md\"}},{\"path\":\"/es/cli/logging.md\",\"url\":\"/es/cli/logging\",\"llmUrl\":\"/es/cli/logging.md\",\"content\":\"---\\nURL: \\\"/es/cli/logging\\\"\\nLLMS_URL: \\\"/es/cli/logging.md\\\"\\ntitle: \\\"Logging\\\"\\ntitleTemplate: \\\":title · CLI · Tuist\\\"\\ndescription: \\\"Learn how to enable and configure logging in Tuist.\\\"\\n---\\n\\n# Logging {#logging}\\n\\nThe CLI logs messages internally to help you diagnose issues.\\n\\n## Diagnose issues using logs {#diagnose-issues-using-logs}\\n\\nIf a command invocation doesn't yield the intended results, you can diagnose the issue by inspecting the logs. The CLI forwards the logs to [OSLog](https://developer.apple.com/documentation/os/oslog) and the file-system.\\n\\nIn every run, it creates a log file at `$XDG_STATE_HOME/tuist/logs/{uuid}.log` where `$XDG_STATE_HOME` takes the value `~/.local/state` if the environment variable is not set.\\n\\nBy default, the CLI outputs the logs path when the execution exits unexpectedly. If it doesn't, you can find the logs in the path mentioned above (i.e., the most recent log file).\\n\\n> [!IMPORTANT]\\n> Sensitive information is not redacted, so be cautious when sharing logs.\\n\\n### Continuous integration {#diagnose-issues-using-logs-ci}\\n\\nIn CI, where environments are disposable, you might want to configure your CI pipeline to export Tuist logs.\\nExporting artifacts is a common capability across CI services, and the configuration depends on the service you use.\\nFor example, in GitHub Actions, you can use the `actions/upload-artifact` action to upload the logs as an artifact:\\n\\n```yaml\\nname: Node CI\\n\\non: [push]\\n\\nenv:\\n XDG_STATE_HOME: /tmp\\n\\njobs:\\n build:\\n runs-on: ubuntu-latest\\n steps:\\n - name: Checkout repository\\n uses: actions/checkout@v4\\n # ... other steps\\n - run: tuist generate\\n # ... do something with the project\\n - name: Export Tuist logs\\n uses: actions/upload-artifact@v4\\n with:\\n name: tuist-logs\\n path: /tmp/tuist/logs/*.log\\n```\\n\",\"title\":\"Logging\",\"frontmatter\":{\"URL\":\"/es/cli/logging\",\"LLMS_URL\":\"/es/cli/logging.md\",\"title\":\"Logging\",\"titleTemplate\":\":title · CLI · Tuist\",\"description\":\"Learn how to enable and configure logging in Tuist.\"}},{\"path\":\"/es/cli/mcp.md\",\"url\":\"/es/cli/mcp\",\"llmUrl\":\"/es/cli/mcp.md\",\"content\":\"---\\nURL: \\\"/es/cli/mcp\\\"\\nLLMS_URL: \\\"/es/cli/mcp.md\\\"\\n---\\n\\n# tuist mcp\\nCommands for interfacing with Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp -h\\ntuist mcp --help\\n```\\n\\n\",\"title\":\"tuist mcp\",\"frontmatter\":{\"URL\":\"/es/cli/mcp\",\"LLMS_URL\":\"/es/cli/mcp.md\"}},{\"path\":\"/es/cli/mcp/setup.md\",\"url\":\"/es/cli/mcp/setup\",\"llmUrl\":\"/es/cli/mcp/setup.md\",\"content\":\"---\\nURL: \\\"/es/cli/mcp/setup\\\"\\nLLMS_URL: \\\"/es/cli/mcp/setup.md\\\"\\n---\\n\\n# tuist mcp setup\\nCommands to automate integrating clients with Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup -h\\ntuist mcp setup --help\\n```\\n\\n\",\"title\":\"tuist mcp setup\",\"frontmatter\":{\"URL\":\"/es/cli/mcp/setup\",\"LLMS_URL\":\"/es/cli/mcp/setup.md\"}},{\"path\":\"/es/cli/mcp/setup/claude.md\",\"url\":\"/es/cli/mcp/setup/claude\",\"llmUrl\":\"/es/cli/mcp/setup/claude.md\",\"content\":\"---\\nURL: \\\"/es/cli/mcp/setup/claude\\\"\\nLLMS_URL: \\\"/es/cli/mcp/setup/claude.md\\\"\\n---\\n\\n# tuist mcp setup claude\\nConfigure your environment's Claude application to point to the Tuist's MCP server.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup claude -h\\ntuist mcp setup claude --help\\n```\\n\\n\",\"title\":\"tuist mcp setup claude\",\"frontmatter\":{\"URL\":\"/es/cli/mcp/setup/claude\",\"LLMS_URL\":\"/es/cli/mcp/setup/claude.md\"}},{\"path\":\"/es/cli/mcp/setup/claude-code.md\",\"url\":\"/es/cli/mcp/setup/claude-code\",\"llmUrl\":\"/es/cli/mcp/setup/claude-code.md\",\"content\":\"---\\nURL: \\\"/es/cli/mcp/setup/claude-code\\\"\\nLLMS_URL: \\\"/es/cli/mcp/setup/claude-code.md\\\"\\n---\\n\\n# tuist mcp setup claude-code\\nSetup Claude Code to use Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup claude-code -h\\ntuist mcp setup claude-code --help\\n```\\n\\n\",\"title\":\"tuist mcp setup claude-code\",\"frontmatter\":{\"URL\":\"/es/cli/mcp/setup/claude-code\",\"LLMS_URL\":\"/es/cli/mcp/setup/claude-code.md\"}},{\"path\":\"/es/cli/mcp/setup/cursor.md\",\"url\":\"/es/cli/mcp/setup/cursor\",\"llmUrl\":\"/es/cli/mcp/setup/cursor.md\",\"content\":\"---\\nURL: \\\"/es/cli/mcp/setup/cursor\\\"\\nLLMS_URL: \\\"/es/cli/mcp/setup/cursor.md\\\"\\n---\\n\\n# tuist mcp setup cursor\\nSetup Cursor IDE to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup cursor --path [path]\\ntuist mcp setup cursor -p [path]\\n```\\n\\n### global \\n\\nConfigure Cursor globally instead of locally.\\n```bash\\ntuist mcp setup cursor --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup cursor -h\\ntuist mcp setup cursor --help\\n```\\n\\n\",\"title\":\"tuist mcp setup cursor\",\"frontmatter\":{\"URL\":\"/es/cli/mcp/setup/cursor\",\"LLMS_URL\":\"/es/cli/mcp/setup/cursor.md\"}},{\"path\":\"/es/cli/mcp/setup/vscode.md\",\"url\":\"/es/cli/mcp/setup/vscode\",\"llmUrl\":\"/es/cli/mcp/setup/vscode.md\",\"content\":\"---\\nURL: \\\"/es/cli/mcp/setup/vscode\\\"\\nLLMS_URL: \\\"/es/cli/mcp/setup/vscode.md\\\"\\n---\\n\\n# tuist mcp setup vscode\\nSetup VS Code to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup vscode --path [path]\\ntuist mcp setup vscode -p [path]\\n```\\n\\n### global \\n\\nConfigure VS Code globally instead of locally.\\n```bash\\ntuist mcp setup vscode --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup vscode -h\\ntuist mcp setup vscode --help\\n```\\n\\n\",\"title\":\"tuist mcp setup vscode\",\"frontmatter\":{\"URL\":\"/es/cli/mcp/setup/vscode\",\"LLMS_URL\":\"/es/cli/mcp/setup/vscode.md\"}},{\"path\":\"/es/cli/mcp/setup/zed.md\",\"url\":\"/es/cli/mcp/setup/zed\",\"llmUrl\":\"/es/cli/mcp/setup/zed.md\",\"content\":\"---\\nURL: \\\"/es/cli/mcp/setup/zed\\\"\\nLLMS_URL: \\\"/es/cli/mcp/setup/zed.md\\\"\\n---\\n\\n# tuist mcp setup zed\\nSetup Zed editor to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup zed --path [path]\\ntuist mcp setup zed -p [path]\\n```\\n\\n### global \\n\\nConfigure Zed globally instead of locally.\\n```bash\\ntuist mcp setup zed --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup zed -h\\ntuist mcp setup zed --help\\n```\\n\\n\",\"title\":\"tuist mcp setup zed\",\"frontmatter\":{\"URL\":\"/es/cli/mcp/setup/zed\",\"LLMS_URL\":\"/es/cli/mcp/setup/zed.md\"}},{\"path\":\"/es/cli/mcp/start.md\",\"url\":\"/es/cli/mcp/start\",\"llmUrl\":\"/es/cli/mcp/start.md\",\"content\":\"---\\nURL: \\\"/es/cli/mcp/start\\\"\\nLLMS_URL: \\\"/es/cli/mcp/start.md\\\"\\n---\\n\\n# tuist mcp start\\nStart an MCP server to interface LLMs with your local dev environment.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp start -h\\ntuist mcp start --help\\n```\\n\\n\",\"title\":\"tuist mcp start\",\"frontmatter\":{\"URL\":\"/es/cli/mcp/start\",\"LLMS_URL\":\"/es/cli/mcp/start.md\"}},{\"path\":\"/es/cli/migration.md\",\"url\":\"/es/cli/migration\",\"llmUrl\":\"/es/cli/migration.md\",\"content\":\"---\\nURL: \\\"/es/cli/migration\\\"\\nLLMS_URL: \\\"/es/cli/migration.md\\\"\\n---\\n\\n# tuist migration\\nA set of utilities to assist in the migration of Xcode projects to Tuist.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration -h\\ntuist migration --help\\n```\\n\\n\",\"title\":\"tuist migration\",\"frontmatter\":{\"URL\":\"/es/cli/migration\",\"LLMS_URL\":\"/es/cli/migration.md\"}},{\"path\":\"/es/cli/migration/check-empty-settings.md\",\"url\":\"/es/cli/migration/check-empty-settings\",\"llmUrl\":\"/es/cli/migration/check-empty-settings.md\",\"content\":\"---\\nURL: \\\"/es/cli/migration/check-empty-settings\\\"\\nLLMS_URL: \\\"/es/cli/migration/check-empty-settings.md\\\"\\n---\\n\\n# tuist migration check-empty-settings\\nIt checks if the build settings of a project or target are empty. Otherwise it exits unsuccessfully.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_CHECK_EMPTY_SETTINGS_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration check-empty-settings -p [xcodeproj-path]\\ntuist migration check-empty-settings --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### target \\n\\n**Environment variable** `TUIST_MIGRATION_CHECK_EMPTY_SETTINGS_TARGET`\\n\\nThe name of the target whose build settings will be checked. When not passed, it checks the build settings of the project.\\n```bash\\ntuist migration check-empty-settings --target [target]\\ntuist migration check-empty-settings -t [target]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration check-empty-settings -h\\ntuist migration check-empty-settings --help\\n```\\n\\n\",\"title\":\"tuist migration check-empty-settings\",\"frontmatter\":{\"URL\":\"/es/cli/migration/check-empty-settings\",\"LLMS_URL\":\"/es/cli/migration/check-empty-settings.md\"}},{\"path\":\"/es/cli/migration/list-targets.md\",\"url\":\"/es/cli/migration/list-targets\",\"llmUrl\":\"/es/cli/migration/list-targets.md\",\"content\":\"---\\nURL: \\\"/es/cli/migration/list-targets\\\"\\nLLMS_URL: \\\"/es/cli/migration/list-targets.md\\\"\\n---\\n\\n# tuist migration list-targets\\nIt lists the targets of a project sorted by number of dependencies.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_LIST_TARGETS_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration list-targets -p [xcodeproj-path]\\ntuist migration list-targets --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration list-targets -h\\ntuist migration list-targets --help\\n```\\n\\n\",\"title\":\"tuist migration list-targets\",\"frontmatter\":{\"URL\":\"/es/cli/migration/list-targets\",\"LLMS_URL\":\"/es/cli/migration/list-targets.md\"}},{\"path\":\"/es/cli/migration/settings-to-xcconfig.md\",\"url\":\"/es/cli/migration/settings-to-xcconfig\",\"llmUrl\":\"/es/cli/migration/settings-to-xcconfig.md\",\"content\":\"---\\nURL: \\\"/es/cli/migration/settings-to-xcconfig\\\"\\nLLMS_URL: \\\"/es/cli/migration/settings-to-xcconfig.md\\\"\\n---\\n\\n# tuist migration settings-to-xcconfig\\nIt extracts the build settings from a project or a target into an xcconfig file.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration settings-to-xcconfig -p [xcodeproj-path]\\ntuist migration settings-to-xcconfig --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### xcconfig-path \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_XCCONFIG_PATH`\\n\\nThe path to the .xcconfig file where build settings will be extracted.\\n```bash\\ntuist migration settings-to-xcconfig -x [xcconfig-path]\\ntuist migration settings-to-xcconfig --xcconfig-path [xcconfig-path]\\n```\\n\\n### target \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_TARGET`\\n\\nThe name of the target whose build settings will be extracted. When not passed, it extracts the build settings of the project.\\n```bash\\ntuist migration settings-to-xcconfig --target [target]\\ntuist migration settings-to-xcconfig -t [target]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration settings-to-xcconfig -h\\ntuist migration settings-to-xcconfig --help\\n```\\n\\n\",\"title\":\"tuist migration settings-to-xcconfig\",\"frontmatter\":{\"URL\":\"/es/cli/migration/settings-to-xcconfig\",\"LLMS_URL\":\"/es/cli/migration/settings-to-xcconfig.md\"}},{\"path\":\"/es/cli/organization.md\",\"url\":\"/es/cli/organization\",\"llmUrl\":\"/es/cli/organization.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization\\\"\\nLLMS_URL: \\\"/es/cli/organization.md\\\"\\n---\\n\\n# tuist organization\\nA set of commands to manage your Tuist organizations.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization -h\\ntuist organization --help\\n```\\n\\n\",\"title\":\"tuist organization\",\"frontmatter\":{\"URL\":\"/es/cli/organization\",\"LLMS_URL\":\"/es/cli/organization.md\"}},{\"path\":\"/es/cli/organization/billing.md\",\"url\":\"/es/cli/organization/billing\",\"llmUrl\":\"/es/cli/organization/billing.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/billing\\\"\\nLLMS_URL: \\\"/es/cli/organization/billing.md\\\"\\n---\\n\\n# tuist organization billing\\nOpen billing dashboard for the specified organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_BILLING_ORGANIZATION_NAME`\\n\\nThe name of the organization to show billing dashboard for.\\n```bash\\ntuist organization billing [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_BILLING_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization billing --path [path]\\ntuist organization billing -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization billing -h\\ntuist organization billing --help\\n```\\n\\n\",\"title\":\"tuist organization billing\",\"frontmatter\":{\"URL\":\"/es/cli/organization/billing\",\"LLMS_URL\":\"/es/cli/organization/billing.md\"}},{\"path\":\"/es/cli/organization/create.md\",\"url\":\"/es/cli/organization/create\",\"llmUrl\":\"/es/cli/organization/create.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/create\\\"\\nLLMS_URL: \\\"/es/cli/organization/create.md\\\"\\n---\\n\\n# tuist organization create\\nCreate a new organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_CREATE_ORGANIZATION_NAME`\\n\\nThe name of the organization to create.\\n```bash\\ntuist organization create [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_CREATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization create --path [path]\\ntuist organization create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization create -h\\ntuist organization create --help\\n```\\n\\n\",\"title\":\"tuist organization create\",\"frontmatter\":{\"URL\":\"/es/cli/organization/create\",\"LLMS_URL\":\"/es/cli/organization/create.md\"}},{\"path\":\"/es/cli/organization/delete.md\",\"url\":\"/es/cli/organization/delete\",\"llmUrl\":\"/es/cli/organization/delete.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/delete\\\"\\nLLMS_URL: \\\"/es/cli/organization/delete.md\\\"\\n---\\n\\n# tuist organization delete\\nDelete a new organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_DELETE_ORGANIZATION_NAME`\\n\\nThe name of the organization to delete.\\n```bash\\ntuist organization delete [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_DELETE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization delete --path [path]\\ntuist organization delete -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization delete -h\\ntuist organization delete --help\\n```\\n\\n\",\"title\":\"tuist organization delete\",\"frontmatter\":{\"URL\":\"/es/cli/organization/delete\",\"LLMS_URL\":\"/es/cli/organization/delete.md\"}},{\"path\":\"/es/cli/organization/invite.md\",\"url\":\"/es/cli/organization/invite\",\"llmUrl\":\"/es/cli/organization/invite.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/invite\\\"\\nLLMS_URL: \\\"/es/cli/organization/invite.md\\\"\\n---\\n\\n# tuist organization invite\\nInvite a new member to your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_ORGANIZATION_NAME`\\n\\nThe name of the organization to invite the user to.\\n```bash\\ntuist organization invite [organization-name]\\n```\\n\\n### email \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_EMAIL`\\n\\nThe email of the user to invite.\\n```bash\\ntuist organization invite [email]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization invite --path [path]\\ntuist organization invite -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization invite -h\\ntuist organization invite --help\\n```\\n\\n\",\"title\":\"tuist organization invite\",\"frontmatter\":{\"URL\":\"/es/cli/organization/invite\",\"LLMS_URL\":\"/es/cli/organization/invite.md\"}},{\"path\":\"/es/cli/organization/list.md\",\"url\":\"/es/cli/organization/list\",\"llmUrl\":\"/es/cli/organization/list.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/list\\\"\\nLLMS_URL: \\\"/es/cli/organization/list.md\\\"\\n---\\n\\n# tuist organization list\\nList your organizations.\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_ORGANIZATION_LIST_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist organization list --json\\ntuist organization list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_LIST_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization list --path [path]\\ntuist organization list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization list -h\\ntuist organization list --help\\n```\\n\\n\",\"title\":\"tuist organization list\",\"frontmatter\":{\"URL\":\"/es/cli/organization/list\",\"LLMS_URL\":\"/es/cli/organization/list.md\"}},{\"path\":\"/es/cli/organization/remove.md\",\"url\":\"/es/cli/organization/remove\",\"llmUrl\":\"/es/cli/organization/remove.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/remove\\\"\\nLLMS_URL: \\\"/es/cli/organization/remove.md\\\"\\n---\\n\\n# tuist organization remove\\nA set of commands to remove members or cancel pending invitations.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove -h\\ntuist organization remove --help\\n```\\n\\n\",\"title\":\"tuist organization remove\",\"frontmatter\":{\"URL\":\"/es/cli/organization/remove\",\"LLMS_URL\":\"/es/cli/organization/remove.md\"}},{\"path\":\"/es/cli/organization/remove/invite.md\",\"url\":\"/es/cli/organization/remove/invite\",\"llmUrl\":\"/es/cli/organization/remove/invite.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/remove/invite\\\"\\nLLMS_URL: \\\"/es/cli/organization/remove/invite.md\\\"\\n---\\n\\n# tuist organization remove invite\\nCancel pending invitation.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_ORGANIZATION_NAME`\\n\\nThe name of the organization to cancel the invitation for.\\n```bash\\ntuist organization remove invite [organization-name]\\n```\\n\\n### email \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_EMAIL`\\n\\nThe email of the user to cancel the invitation for.\\n```bash\\ntuist organization remove invite [email]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove invite --path [path]\\ntuist organization remove invite -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove invite -h\\ntuist organization remove invite --help\\n```\\n\\n\",\"title\":\"tuist organization remove invite\",\"frontmatter\":{\"URL\":\"/es/cli/organization/remove/invite\",\"LLMS_URL\":\"/es/cli/organization/remove/invite.md\"}},{\"path\":\"/es/cli/organization/remove/member.md\",\"url\":\"/es/cli/organization/remove/member\",\"llmUrl\":\"/es/cli/organization/remove/member.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/remove/member\\\"\\nLLMS_URL: \\\"/es/cli/organization/remove/member.md\\\"\\n---\\n\\n# tuist organization remove member\\nRemove a member from your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_ORGANIZATION_NAME`\\n\\nThe name of the organization to remove the organization member from.\\n```bash\\ntuist organization remove member [organization-name]\\n```\\n\\n### username \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_USERNAME`\\n\\nThe username of the member you want to remove from the organization.\\n```bash\\ntuist organization remove member [username]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove member --path [path]\\ntuist organization remove member -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove member -h\\ntuist organization remove member --help\\n```\\n\\n\",\"title\":\"tuist organization remove member\",\"frontmatter\":{\"URL\":\"/es/cli/organization/remove/member\",\"LLMS_URL\":\"/es/cli/organization/remove/member.md\"}},{\"path\":\"/es/cli/organization/remove/sso.md\",\"url\":\"/es/cli/organization/remove/sso\",\"llmUrl\":\"/es/cli/organization/remove/sso.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/remove/sso\\\"\\nLLMS_URL: \\\"/es/cli/organization/remove/sso.md\\\"\\n---\\n\\n# tuist organization remove sso\\nRemove the SSO provider for your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_SSO_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the SSO provider for.\\n```bash\\ntuist organization remove sso [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_SSO_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove sso --path [path]\\ntuist organization remove sso -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove sso -h\\ntuist organization remove sso --help\\n```\\n\\n\",\"title\":\"tuist organization remove sso\",\"frontmatter\":{\"URL\":\"/es/cli/organization/remove/sso\",\"LLMS_URL\":\"/es/cli/organization/remove/sso.md\"}},{\"path\":\"/es/cli/organization/show.md\",\"url\":\"/es/cli/organization/show\",\"llmUrl\":\"/es/cli/organization/show.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/show\\\"\\nLLMS_URL: \\\"/es/cli/organization/show.md\\\"\\n---\\n\\n# tuist organization show\\nShow information about the specified organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_ORGANIZATION_NAME`\\n\\nThe name of the organization to show.\\n```bash\\ntuist organization show [organization-name]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist organization show --json\\ntuist organization show --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization show --path [path]\\ntuist organization show -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization show -h\\ntuist organization show --help\\n```\\n\\n\",\"title\":\"tuist organization show\",\"frontmatter\":{\"URL\":\"/es/cli/organization/show\",\"LLMS_URL\":\"/es/cli/organization/show.md\"}},{\"path\":\"/es/cli/organization/update.md\",\"url\":\"/es/cli/organization/update\",\"llmUrl\":\"/es/cli/organization/update.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/update\\\"\\nLLMS_URL: \\\"/es/cli/organization/update.md\\\"\\n---\\n\\n# tuist organization update\\nA set of commands to update the organization.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update -h\\ntuist organization update --help\\n```\\n\\n\",\"title\":\"tuist organization update\",\"frontmatter\":{\"URL\":\"/es/cli/organization/update\",\"LLMS_URL\":\"/es/cli/organization/update.md\"}},{\"path\":\"/es/cli/organization/update/member.md\",\"url\":\"/es/cli/organization/update/member\",\"llmUrl\":\"/es/cli/organization/update/member.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/update/member\\\"\\nLLMS_URL: \\\"/es/cli/organization/update/member.md\\\"\\n---\\n\\n# tuist organization update member\\nUpdate a member from your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the member for.\\n```bash\\ntuist organization update member [organization-name]\\n```\\n\\n### username \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_USERNAME`\\n\\nThe username of the member you want to update.\\n```bash\\ntuist organization update member [username]\\n```\\n\\n### role \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_ROLE`\\n\\nThe new member role\\n```bash\\ntuist organization update member --role [role]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization update member --path [path]\\ntuist organization update member -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update member -h\\ntuist organization update member --help\\n```\\n\\n\",\"title\":\"tuist organization update member\",\"frontmatter\":{\"URL\":\"/es/cli/organization/update/member\",\"LLMS_URL\":\"/es/cli/organization/update/member.md\"}},{\"path\":\"/es/cli/organization/update/sso.md\",\"url\":\"/es/cli/organization/update/sso\",\"llmUrl\":\"/es/cli/organization/update/sso.md\",\"content\":\"---\\nURL: \\\"/es/cli/organization/update/sso\\\"\\nLLMS_URL: \\\"/es/cli/organization/update/sso.md\\\"\\n---\\n\\n# tuist organization update sso\\nUpdate the SSO provider for your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the SSO provider for.\\n```bash\\ntuist organization update sso [organization-name]\\n```\\n\\n### provider \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_PROVIDER`\\n\\nThe SSO provider to use.\\n```bash\\ntuist organization update sso --provider [provider]\\n```\\n\\n### organization-id \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_ORGANIZATION_ID`\\n\\nOrganization ID for your SSO provider. For Google, this is your Google domain (for example, if your email is [email protected], the domain would be tuist.dev). For Okta, it's the organization domain (such as my-org.okta.com)\\n```bash\\ntuist organization update sso --organization-id [organization-id]\\ntuist organization update sso -o [organization-id]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization update sso --path [path]\\ntuist organization update sso -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update sso -h\\ntuist organization update sso --help\\n```\\n\\n\",\"title\":\"tuist organization update sso\",\"frontmatter\":{\"URL\":\"/es/cli/organization/update/sso\",\"LLMS_URL\":\"/es/cli/organization/update/sso.md\"}},{\"path\":\"/es/cli/plugin.md\",\"url\":\"/es/cli/plugin\",\"llmUrl\":\"/es/cli/plugin.md\",\"content\":\"---\\nURL: \\\"/es/cli/plugin\\\"\\nLLMS_URL: \\\"/es/cli/plugin.md\\\"\\n---\\n\\n# tuist plugin\\nA set of commands for plugin's management.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin -h\\ntuist plugin --help\\n```\\n\\n\",\"title\":\"tuist plugin\",\"frontmatter\":{\"URL\":\"/es/cli/plugin\",\"LLMS_URL\":\"/es/cli/plugin.md\"}},{\"path\":\"/es/cli/plugin/archive.md\",\"url\":\"/es/cli/plugin/archive\",\"llmUrl\":\"/es/cli/plugin/archive.md\",\"content\":\"---\\nURL: \\\"/es/cli/plugin/archive\\\"\\nLLMS_URL: \\\"/es/cli/plugin/archive.md\\\"\\n---\\n\\n# tuist plugin archive\\nArchives a plugin into a NameOfPlugin.tuist-plugin.zip.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_ARCHIVE_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin archive --path [path]\\ntuist plugin archive -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin archive -h\\ntuist plugin archive --help\\n```\\n\\n\",\"title\":\"tuist plugin archive\",\"frontmatter\":{\"URL\":\"/es/cli/plugin/archive\",\"LLMS_URL\":\"/es/cli/plugin/archive.md\"}},{\"path\":\"/es/cli/plugin/build.md\",\"url\":\"/es/cli/plugin/build\",\"llmUrl\":\"/es/cli/plugin/build.md\",\"content\":\"---\\nURL: \\\"/es/cli/plugin/build\\\"\\nLLMS_URL: \\\"/es/cli/plugin/build.md\\\"\\n---\\n\\n# tuist plugin build\\nBuilds a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin build --configuration [configuration]\\ntuist plugin build -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin build --path [path]\\ntuist plugin build -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin build --build-tests\\ntuist plugin build --no-build-tests\\n```\\n\\n### show-bin-path \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_SHOW_BIN_PATH`\\n\\nPrint the binary output path.\\n```bash\\ntuist plugin build --show-bin-path\\ntuist plugin build --no-show-bin-path\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_TARGETS`\\n\\nBuild the specified targets.\\n```bash\\ntuist plugin build --targets [targets]\\n```\\n\\n### products \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_PRODUCTS`\\n\\nBuild the specified products.\\n```bash\\ntuist plugin build --products [products]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin build -h\\ntuist plugin build --help\\n```\\n\\n\",\"title\":\"tuist plugin build\",\"frontmatter\":{\"URL\":\"/es/cli/plugin/build\",\"LLMS_URL\":\"/es/cli/plugin/build.md\"}},{\"path\":\"/es/cli/plugin/run.md\",\"url\":\"/es/cli/plugin/run\",\"llmUrl\":\"/es/cli/plugin/run.md\",\"content\":\"---\\nURL: \\\"/es/cli/plugin/run\\\"\\nLLMS_URL: \\\"/es/cli/plugin/run.md\\\"\\n---\\n\\n# tuist plugin run\\nRuns a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin run --configuration [configuration]\\ntuist plugin run -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin run --path [path]\\ntuist plugin run -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin run --build-tests\\ntuist plugin run --no-build-tests\\n```\\n\\n### skip-build \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_SKIP_BUILD`\\n\\nSkip building the plugin.\\n```bash\\ntuist plugin run --skip-build\\ntuist plugin run --no-skip-build\\n```\\n\\n### task \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_TASK`\\n\\nThe plugin task to run.\\n```bash\\ntuist plugin run [task]\\n```\\n\\n### arguments \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_ARGUMENTS`\\n\\nThe arguments to pass to the plugin task.\\n```bash\\ntuist plugin run [arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin run -h\\ntuist plugin run --help\\n```\\n\\n\",\"title\":\"tuist plugin run\",\"frontmatter\":{\"URL\":\"/es/cli/plugin/run\",\"LLMS_URL\":\"/es/cli/plugin/run.md\"}},{\"path\":\"/es/cli/plugin/test.md\",\"url\":\"/es/cli/plugin/test\",\"llmUrl\":\"/es/cli/plugin/test.md\",\"content\":\"---\\nURL: \\\"/es/cli/plugin/test\\\"\\nLLMS_URL: \\\"/es/cli/plugin/test.md\\\"\\n---\\n\\n# tuist plugin test\\nTests a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin test --configuration [configuration]\\ntuist plugin test -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin test --path [path]\\ntuist plugin test -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_TEST_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin test --build-tests\\ntuist plugin test --no-build-tests\\n```\\n\\n### test-products \\n\\n**Environment variable** `TUIST_PLUGIN_TEST_TEST_PRODUCTS`\\n\\nTest the specified products.\\n```bash\\ntuist plugin test --test-products [test-products]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin test -h\\ntuist plugin test --help\\n```\\n\\n\",\"title\":\"tuist plugin test\",\"frontmatter\":{\"URL\":\"/es/cli/plugin/test\",\"LLMS_URL\":\"/es/cli/plugin/test.md\"}},{\"path\":\"/es/cli/project.md\",\"url\":\"/es/cli/project\",\"llmUrl\":\"/es/cli/project.md\",\"content\":\"---\\nURL: \\\"/es/cli/project\\\"\\nLLMS_URL: \\\"/es/cli/project.md\\\"\\n---\\n\\n# tuist project\\nA set of commands to manage your Tuist projects.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project -h\\ntuist project --help\\n```\\n\\n\",\"title\":\"tuist project\",\"frontmatter\":{\"URL\":\"/es/cli/project\",\"LLMS_URL\":\"/es/cli/project.md\"}},{\"path\":\"/es/cli/project/create.md\",\"url\":\"/es/cli/project/create\",\"llmUrl\":\"/es/cli/project/create.md\",\"content\":\"---\\nURL: \\\"/es/cli/project/create\\\"\\nLLMS_URL: \\\"/es/cli/project/create.md\\\"\\n---\\n\\n# tuist project create\\nCreate a new project.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_CREATE_FULL_HANDLE`\\n\\nThe project to create. The full handle must be in the format of account-handle/project-handle.\\n```bash\\ntuist project create [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_CREATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project create --path [path]\\ntuist project create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project create -h\\ntuist project create --help\\n```\\n\\n\",\"title\":\"tuist project create\",\"frontmatter\":{\"URL\":\"/es/cli/project/create\",\"LLMS_URL\":\"/es/cli/project/create.md\"}},{\"path\":\"/es/cli/project/delete.md\",\"url\":\"/es/cli/project/delete\",\"llmUrl\":\"/es/cli/project/delete.md\",\"content\":\"---\\nURL: \\\"/es/cli/project/delete\\\"\\nLLMS_URL: \\\"/es/cli/project/delete.md\\\"\\n---\\n\\n# tuist project delete\\nDelete a Tuist project.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_DELETE_FULL_HANDLE`\\n\\nThe project to delete. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project delete [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_DELETE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project delete --path [path]\\ntuist project delete -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project delete -h\\ntuist project delete --help\\n```\\n\\n\",\"title\":\"tuist project delete\",\"frontmatter\":{\"URL\":\"/es/cli/project/delete\",\"LLMS_URL\":\"/es/cli/project/delete.md\"}},{\"path\":\"/es/cli/project/list.md\",\"url\":\"/es/cli/project/list\",\"llmUrl\":\"/es/cli/project/list.md\",\"content\":\"---\\nURL: \\\"/es/cli/project/list\\\"\\nLLMS_URL: \\\"/es/cli/project/list.md\\\"\\n---\\n\\n# tuist project list\\nList projects you have access to.\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_PROJECT_LIST_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist project list --json\\ntuist project list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_LIST_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project list --path [path]\\ntuist project list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project list -h\\ntuist project list --help\\n```\\n\\n\",\"title\":\"tuist project list\",\"frontmatter\":{\"URL\":\"/es/cli/project/list\",\"LLMS_URL\":\"/es/cli/project/list.md\"}},{\"path\":\"/es/cli/project/show.md\",\"url\":\"/es/cli/project/show\",\"llmUrl\":\"/es/cli/project/show.md\",\"content\":\"---\\nURL: \\\"/es/cli/project/show\\\"\\nLLMS_URL: \\\"/es/cli/project/show.md\\\"\\n---\\n\\n# tuist project show\\nShow information about the specified project. Use --web flag to open the project in the browser.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_FULL_HANDLE`\\n\\nThe project to show. The full handle must be in the format of account-handle/project-handle.\\n```bash\\ntuist project show [full-handle]\\n```\\n\\n### web \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_WEB`\\n\\nOpen a project in the browser.\\n```bash\\ntuist project show --web\\ntuist project show --no-web\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_PATH`\\n\\nThe path to the Tuist project.\\n```bash\\ntuist project show --path [path]\\ntuist project show -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project show -h\\ntuist project show --help\\n```\\n\\n\",\"title\":\"tuist project show\",\"frontmatter\":{\"URL\":\"/es/cli/project/show\",\"LLMS_URL\":\"/es/cli/project/show.md\"}},{\"path\":\"/es/cli/project/tokens.md\",\"url\":\"/es/cli/project/tokens\",\"llmUrl\":\"/es/cli/project/tokens.md\",\"content\":\"---\\nURL: \\\"/es/cli/project/tokens\\\"\\nLLMS_URL: \\\"/es/cli/project/tokens.md\\\"\\n---\\n\\n# tuist project tokens\\nManage Tuist project tokens.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens -h\\ntuist project tokens --help\\n```\\n\\n\",\"title\":\"tuist project tokens\",\"frontmatter\":{\"URL\":\"/es/cli/project/tokens\",\"LLMS_URL\":\"/es/cli/project/tokens.md\"}},{\"path\":\"/es/cli/project/tokens/create.md\",\"url\":\"/es/cli/project/tokens/create\",\"llmUrl\":\"/es/cli/project/tokens/create.md\",\"content\":\"---\\nURL: \\\"/es/cli/project/tokens/create\\\"\\nLLMS_URL: \\\"/es/cli/project/tokens/create.md\\\"\\n---\\n\\n# tuist project tokens create\\nCreate a new Tuist project token. You can save this token in the `TUIST_CONFIG_TOKEN` environment variable to authenticate requests against the Tuist API.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to create the token for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens create [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens create --path [path]\\ntuist project tokens create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens create -h\\ntuist project tokens create --help\\n```\\n\\n\",\"title\":\"tuist project tokens create\",\"frontmatter\":{\"URL\":\"/es/cli/project/tokens/create\",\"LLMS_URL\":\"/es/cli/project/tokens/create.md\"}},{\"path\":\"/es/cli/project/tokens/list.md\",\"url\":\"/es/cli/project/tokens/list\",\"llmUrl\":\"/es/cli/project/tokens/list.md\",\"content\":\"---\\nURL: \\\"/es/cli/project/tokens/list\\\"\\nLLMS_URL: \\\"/es/cli/project/tokens/list.md\\\"\\n---\\n\\n# tuist project tokens list\\nList Tuist project tokens.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to list the tokens for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens list [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens list --path [path]\\ntuist project tokens list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens list -h\\ntuist project tokens list --help\\n```\\n\\n\",\"title\":\"tuist project tokens list\",\"frontmatter\":{\"URL\":\"/es/cli/project/tokens/list\",\"LLMS_URL\":\"/es/cli/project/tokens/list.md\"}},{\"path\":\"/es/cli/project/tokens/revoke.md\",\"url\":\"/es/cli/project/tokens/revoke\",\"llmUrl\":\"/es/cli/project/tokens/revoke.md\",\"content\":\"---\\nURL: \\\"/es/cli/project/tokens/revoke\\\"\\nLLMS_URL: \\\"/es/cli/project/tokens/revoke.md\\\"\\n---\\n\\n# tuist project tokens revoke\\nRevoke Tuist project tokens.\\n\\n## Arguments\\n\\n### project-token-id \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_ID`\\n\\nThe ID of the project token to revoke.\\n```bash\\ntuist project tokens revoke [project-token-id]\\n```\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to revoke the token for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens revoke [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens revoke --path [path]\\ntuist project tokens revoke -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens revoke -h\\ntuist project tokens revoke --help\\n```\\n\\n\",\"title\":\"tuist project tokens revoke\",\"frontmatter\":{\"URL\":\"/es/cli/project/tokens/revoke\",\"LLMS_URL\":\"/es/cli/project/tokens/revoke.md\"}},{\"path\":\"/es/cli/project/update.md\",\"url\":\"/es/cli/project/update\",\"llmUrl\":\"/es/cli/project/update.md\",\"content\":\"---\\nURL: \\\"/es/cli/project/update\\\"\\nLLMS_URL: \\\"/es/cli/project/update.md\\\"\\n---\\n\\n# tuist project update\\nUpdate project settings\\n\\n## Arguments\\n\\n### full-handle \\n\\nThe full handle of the project to update. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project update [full-handle]\\n```\\n\\n### default-branch \\n\\nSet the default branch name for the repository linked to the project.\\n```bash\\ntuist project update --default-branch [default-branch]\\n```\\n\\n### repository-url \\n\\nSet the connected Git repository. Example: --repository-url https://github.com/tuist/tuist\\n```bash\\ntuist project update --repository-url [repository-url]\\n```\\n\\n### visibility \\n\\nSet the project's visibility. When private, only project's members have access to the project. Public projects are accessible by anyone.\\n```bash\\ntuist project update --visibility [visibility]\\n```\\n\\n### path \\n\\nThe path to the Tuist project.\\n```bash\\ntuist project update --path [path]\\ntuist project update -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project update -h\\ntuist project update --help\\n```\\n\\n\",\"title\":\"tuist project update\",\"frontmatter\":{\"URL\":\"/es/cli/project/update\",\"LLMS_URL\":\"/es/cli/project/update.md\"}},{\"path\":\"/es/cli/registry.md\",\"url\":\"/es/cli/registry\",\"llmUrl\":\"/es/cli/registry.md\",\"content\":\"---\\nURL: \\\"/es/cli/registry\\\"\\nLLMS_URL: \\\"/es/cli/registry.md\\\"\\n---\\n\\n# tuist registry\\nA set of commands to interact with the Tuist Registry.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry -h\\ntuist registry --help\\n```\\n\\n\",\"title\":\"tuist registry\",\"frontmatter\":{\"URL\":\"/es/cli/registry\",\"LLMS_URL\":\"/es/cli/registry.md\"}},{\"path\":\"/es/cli/registry/login.md\",\"url\":\"/es/cli/registry/login\",\"llmUrl\":\"/es/cli/registry/login.md\",\"content\":\"---\\nURL: \\\"/es/cli/registry/login\\\"\\nLLMS_URL: \\\"/es/cli/registry/login.md\\\"\\n---\\n\\n# tuist registry login\\nLog in to the registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_LOGIN_PATH`\\n\\nThe path to the directory that contains the project to which registry you want to log in.\\n```bash\\ntuist registry login --path [path]\\ntuist registry login -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry login -h\\ntuist registry login --help\\n```\\n\\n\",\"title\":\"tuist registry login\",\"frontmatter\":{\"URL\":\"/es/cli/registry/login\",\"LLMS_URL\":\"/es/cli/registry/login.md\"}},{\"path\":\"/es/cli/registry/logout.md\",\"url\":\"/es/cli/registry/logout\",\"llmUrl\":\"/es/cli/registry/logout.md\",\"content\":\"---\\nURL: \\\"/es/cli/registry/logout\\\"\\nLLMS_URL: \\\"/es/cli/registry/logout.md\\\"\\n---\\n\\n# tuist registry logout\\nLog out of the registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_LOGOUT_PATH`\\n\\nThe path to the directory that contains the project to which registry you want to log out of.\\n```bash\\ntuist registry logout --path [path]\\ntuist registry logout -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry logout -h\\ntuist registry logout --help\\n```\\n\\n\",\"title\":\"tuist registry logout\",\"frontmatter\":{\"URL\":\"/es/cli/registry/logout\",\"LLMS_URL\":\"/es/cli/registry/logout.md\"}},{\"path\":\"/es/cli/registry/setup.md\",\"url\":\"/es/cli/registry/setup\",\"llmUrl\":\"/es/cli/registry/setup.md\",\"content\":\"---\\nURL: \\\"/es/cli/registry/setup\\\"\\nLLMS_URL: \\\"/es/cli/registry/setup.md\\\"\\n---\\n\\n# tuist registry setup\\nSet up the Tuist Registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_SETUP_PATH`\\n\\nThe path to the directory that contains the project to set up the registry for.\\n```bash\\ntuist registry setup --path [path]\\ntuist registry setup -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry setup -h\\ntuist registry setup --help\\n```\\n\\n\",\"title\":\"tuist registry setup\",\"frontmatter\":{\"URL\":\"/es/cli/registry/setup\",\"LLMS_URL\":\"/es/cli/registry/setup.md\"}},{\"path\":\"/es/cli/run.md\",\"url\":\"/es/cli/run\",\"llmUrl\":\"/es/cli/run.md\",\"content\":\"---\\nURL: \\\"/es/cli/run\\\"\\nLLMS_URL: \\\"/es/cli/run.md\\\"\\n---\\n\\n# tuist run\\nRuns a scheme or target in the project\\n\\n## Arguments\\n\\n### runnable \\n\\n**Environment variable** `TUIST_RUN_SCHEME`\\n\\nRunnable project scheme, a preview URL, or app name with a specifier such as App@latest or App@feature-branch.\\n```bash\\ntuist run [runnable]\\n```\\n\\n### generate \\n\\n**Environment variable** `TUIST_RUN_GENERATE`\\n\\nForce the generation of the project before running.\\n```bash\\ntuist run --generate\\ntuist run --no-generate\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_RUN_CLEAN`\\n\\nWhen passed, it cleans the project before running.\\n```bash\\ntuist run --clean\\ntuist run --no-clean\\n```\\n\\n### path \\n\\nThe path to the directory that contains the project with the target or scheme to be run.\\n```bash\\ntuist run --path [path]\\ntuist run -p [path]\\n```\\n\\n### configuration \\n\\nThe configuration to be used when building the scheme.\\n```bash\\ntuist run --configuration [configuration]\\ntuist run -C [configuration]\\n```\\n\\n### device \\n\\nThe simulator or physical device name to run the target, scheme, or preview on.\\n```bash\\ntuist run --device [device]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_RUN_OS`\\n\\nThe OS version of the simulator.\\n```bash\\ntuist run --os [os]\\ntuist run -o [os]\\n```\\n\\n### rosetta \\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist run --rosetta\\n```\\n\\n### arguments \\n\\n**Environment variable** `TUIST_RUN_ARGUMENTS`\\n\\nThe arguments to pass to the runnable target during execution.\\n```bash\\ntuist run [arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist run -h\\ntuist run --help\\n```\\n\\n\",\"title\":\"tuist run\",\"frontmatter\":{\"URL\":\"/es/cli/run\",\"LLMS_URL\":\"/es/cli/run.md\"}},{\"path\":\"/es/cli/scaffold.md\",\"url\":\"/es/cli/scaffold\",\"llmUrl\":\"/es/cli/scaffold.md\",\"content\":\"---\\nURL: \\\"/es/cli/scaffold\\\"\\nLLMS_URL: \\\"/es/cli/scaffold.md\\\"\\n---\\n\\n# tuist scaffold\\nGenerates new project based on a template\\n\\n## Arguments\\n\\n### template \\n\\n**Environment variable** `TUIST_SCAFFOLD_TEMPLATE`\\n\\nName of template you want to use\\n```bash\\ntuist scaffold [template]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_SCAFFOLD_JSON`\\n\\nThe output in JSON format\\n```bash\\ntuist scaffold --json\\ntuist scaffold --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_SCAFFOLD_PATH`\\n\\nThe path to the folder where the template will be generated (Default: Current directory)\\n```bash\\ntuist scaffold --path [path]\\ntuist scaffold -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist scaffold -h\\ntuist scaffold --help\\n```\\n\\n\",\"title\":\"tuist scaffold\",\"frontmatter\":{\"URL\":\"/es/cli/scaffold\",\"LLMS_URL\":\"/es/cli/scaffold.md\"}},{\"path\":\"/es/cli/scaffold/list.md\",\"url\":\"/es/cli/scaffold/list\",\"llmUrl\":\"/es/cli/scaffold/list.md\",\"content\":\"---\\nURL: \\\"/es/cli/scaffold/list\\\"\\nLLMS_URL: \\\"/es/cli/scaffold/list.md\\\"\\n---\\n\\n# tuist scaffold list\\nLists available scaffold templates\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_SCAFFOLD_LIST_JSON`\\n\\nThe output in JSON format\\n```bash\\ntuist scaffold list --json\\ntuist scaffold list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_SCAFFOLD_LIST_PATH`\\n\\nThe path where you want to list templates from\\n```bash\\ntuist scaffold list --path [path]\\ntuist scaffold list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist scaffold list -h\\ntuist scaffold list --help\\n```\\n\\n\",\"title\":\"tuist scaffold list\",\"frontmatter\":{\"URL\":\"/es/cli/scaffold/list\",\"LLMS_URL\":\"/es/cli/scaffold/list.md\"}},{\"path\":\"/es/cli/share.md\",\"url\":\"/es/cli/share\",\"llmUrl\":\"/es/cli/share.md\",\"content\":\"---\\nURL: \\\"/es/cli/share\\\"\\nLLMS_URL: \\\"/es/cli/share.md\\\"\\n---\\n\\n# tuist share\\nGenerate a link to share your app.\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory that contains a Tuist or Xcode project with a buildable scheme that can output runnable artifacts.\\n```bash\\ntuist share --path [path]\\ntuist share -p [path]\\n```\\n\\n### apps \\n\\n**Environment variable** `TUIST_SHARE_APP`\\n\\nThe app name to be looked up in the built products directory or the paths to the app bundles or an .ipa archive.\\n```bash\\ntuist share [apps]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_SHARE_CONFIGURATION`\\n\\nThe configuration of the app to share. Ignored when the app paths are passed directly.\\n```bash\\ntuist share --configuration [configuration]\\ntuist share -C [configuration]\\n```\\n\\n### platforms \\n\\n**Environment variable** `TUIST_SHARE_PLATFORM`\\n\\nThe platforms (iOS, tvOS, visionOS, watchOS or macOS) to share the app for. Ignored when the app paths are passed directly.\\n```bash\\ntuist share --platforms [platforms]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_SHARE_DERIVED_DATA_PATH`\\n\\nThe derived data path to find the apps in. When absent, the system-configured one.\\n```bash\\ntuist share --derived-data-path [derived-data-path]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_SHARE_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist share --json\\ntuist share --no-json\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist share -h\\ntuist share --help\\n```\\n\\n\",\"title\":\"tuist share\",\"frontmatter\":{\"URL\":\"/es/cli/share\",\"LLMS_URL\":\"/es/cli/share.md\"}},{\"path\":\"/es/cli/shell-completions.md\",\"url\":\"/es/cli/shell-completions\",\"llmUrl\":\"/es/cli/shell-completions.md\",\"content\":\"---\\nURL: \\\"/es/cli/shell-completions\\\"\\nLLMS_URL: \\\"/es/cli/shell-completions.md\\\"\\ntitle: \\\"Shell completions\\\"\\ntitleTemplate: \\\":title · CLI · Tuist\\\"\\ndescription: \\\"Learn how to configure your shell to auto-complete Tuist commands.\\\"\\n---\\n\\n# Shell completions\\n\\nIf you have Tuist **globally installed** (e.g., via Homebrew),\\nyou can install shell completions for Bash and Zsh to autocomplete commands and options.\\n\\n:::warning WHAT IS A GLOBAL INSTALLATION\\nA global installation is an installation that's available in your shell's `$PATH` environment variable. This means you can run `tuist` from any directory in your terminal. This is the default installation method for Homebrew.\\n:::\\n\\n#### Zsh {#zsh}\\n\\nIf you have [oh-my-zsh](https://ohmyz.sh/) installed, you already have a directory of automatically loading completion scripts — `.oh-my-zsh/completions`. Copy your new completion script to a new file in that directory called `_tuist`:\\n\\n```bash\\ntuist --generate-completion-script > ~/.oh-my-zsh/completions/_tuist\\n```\\n\\nWithout `oh-my-zsh`, you'll need to add a path for completion scripts to your function path, and turn on completion script autoloading. First, add these lines to `~/.zshrc`:\\n\\n```bash\\nfpath=(~/.zsh/completion $fpath)\\nautoload -U compinit\\ncompinit\\n```\\n\\nNext, create a directory at `~/.zsh/completion` and copy the completion script to the new directory, again into a file called `_tuist`.\\n\\n```bash\\ntuist --generate-completion-script > ~/.zsh/completion/_tuist\\n```\\n\\n#### Bash {#bash}\\n\\nIf you have [bash-completion](https://github.com/scop/bash-completion) installed, you can just copy your new completion script to file `/usr/local/etc/bash_completion.d/_tuist`:\\n\\n```bash\\ntuist --generate-completion-script > /usr/local/etc/bash_completion.d/_tuist\\n```\\n\\nWithout bash-completion, you'll need to source the completion script directly. Copy it to a directory such as `~/.bash_completions/`, and then add the following line to `~/.bash_profile` or `~/.bashrc`:\\n\\n```bash\\nsource ~/.bash_completions/example.bash\\n```\\n\\n#### Fish {#fish}\\n\\nIf you use [fish shell](https://fishshell.com), you can copy your new completion script to `~/.config/fish/completions/tuist.fish`:\\n\\n```bash\\nmkdir -p ~/.config/fish/completions\\ntuist --generate-completion-script > ~/.config/fish/completions/tuist.fish\\n```\\n\",\"title\":\"Shell completions\",\"frontmatter\":{\"URL\":\"/es/cli/shell-completions\",\"LLMS_URL\":\"/es/cli/shell-completions.md\",\"title\":\"Shell completions\",\"titleTemplate\":\":title · CLI · Tuist\",\"description\":\"Learn how to configure your shell to auto-complete Tuist commands.\"}},{\"path\":\"/es/cli/test.md\",\"url\":\"/es/cli/test\",\"llmUrl\":\"/es/cli/test.md\",\"content\":\"---\\nURL: \\\"/es/cli/test\\\"\\nLLMS_URL: \\\"/es/cli/test.md\\\"\\n---\\n\\n# tuist test\\nTests a project\\n\\n## Arguments\\n\\n### scheme \\n\\n**Environment variable** `TUIST_TEST_SCHEME`\\n\\nThe scheme to be tested. By default it tests all the testable targets of the project in the current directory.\\n```bash\\ntuist test [scheme]\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_TEST_CLEAN`\\n\\nWhen passed, it cleans the project before testing it.\\n```bash\\ntuist test --clean\\ntuist test -c\\ntuist test --no-clean\\n```\\n\\n### no-upload \\n\\n**Environment variable** `TUIST_TEST_NO_UPLOAD`\\n\\nWhen passed, the result necessary for test selection is not persisted to the server.\\n```bash\\ntuist test --no-upload\\ntuist test -n\\ntuist test --no-no-upload\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_TEST_PATH`\\n\\nThe path to the directory that contains the project to be tested.\\n```bash\\ntuist test --path [path]\\ntuist test -p [path]\\n```\\n\\n### device \\n\\n**Environment variable** `TUIST_TEST_DEVICE`\\n\\nTest on a specific device.\\n```bash\\ntuist test --device [device]\\ntuist test -d [device]\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_TEST_PLATFORM`\\n\\nTest on a specific platform.\\n```bash\\ntuist test --platform [platform]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_TEST_OS`\\n\\nTest with a specific version of the OS.\\n```bash\\ntuist test --os [os]\\ntuist test -o [os]\\n```\\n\\n### rosetta \\n\\n**Environment variable** `TUIST_TEST_ROSETTA`\\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist test --rosetta\\ntuist test --no-rosetta\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_TEST_CONFIGURATION`\\n\\nThe configuration to be used when testing the scheme.\\n```bash\\ntuist test --configuration [configuration]\\ntuist test -C [configuration]\\n```\\n\\n### skip-ui-tests \\n\\n**Environment variable** `TUIST_TEST_SKIP_UITESTS`\\n\\nWhen passed, it skips testing UI Tests targets.\\n```bash\\ntuist test --skip-ui-tests\\ntuist test --no-skip-ui-tests\\n```\\n\\n### result-bundle-path \\n\\n**Environment variable** `TUIST_TEST_RESULT_BUNDLE_PATH`\\n\\nPath where test result bundle will be saved.\\n```bash\\ntuist test --result-bundle-path [result-bundle-path]\\ntuist test -T [result-bundle-path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_TEST_DERIVED_DATA_PATH`\\n\\nOverrides the folder that should be used for derived data when testing a project.\\n```bash\\ntuist test --derived-data-path [derived-data-path]\\n```\\n\\n### retry-count \\n\\n**Environment variable** `TUIST_TEST_RETRY_COUNT`\\n\\nTests will retry \\\\ of times until success. Example: if 1 is specified, the test will be retried at most once, hence it will run up to 2 times.\\n```bash\\ntuist test --retry-count [retry-count]\\n```\\n\\n### test-plan \\n\\n**Environment variable** `TUIST_TEST_TEST_PLAN`\\n\\nThe test plan to run.\\n```bash\\ntuist test --test-plan [test-plan]\\n```\\n\\n### test-targets \\n\\n**Environment variable** `TUIST_TEST_TEST_TARGETS`\\n\\nThe list of test identifiers you want to test. Expected format is TestTarget[/TestClass[/TestMethod]]. It is applied before --skip-testing\\n```bash\\ntuist test --test-targets [test-targets]\\n```\\n\\n### skip-test-targets \\n\\n**Environment variable** `TUIST_TEST_SKIP_TEST_TARGETS`\\n\\nThe list of test identifiers you want to skip testing. Expected format is TestTarget[/TestClass[/TestMethod]].\\n```bash\\ntuist test --skip-test-targets [skip-test-targets]\\n```\\n\\n### filter-configurations \\n\\n**Environment variable** `TUIST_TEST_CONFIGURATIONS`\\n\\nThe list of configurations you want to test. It is applied before --skip-configuration\\n```bash\\ntuist test --filter-configurations [filter-configurations]\\n```\\n\\n### skip-configurations \\n\\n**Environment variable** `TUIST_TEST_SKIP_CONFIGURATIONS`\\n\\nThe list of configurations you want to skip testing.\\n```bash\\ntuist test --skip-configurations [skip-configurations]\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_TEST_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist test --binary-cache\\ntuist test --no-binary-cache\\n```\\n\\n### selective-testing \\n\\n**Environment variable** `TUIST_TEST_SELECTIVE_TESTING`\\n\\nWhen --no-selective-testing is passed, tuist runs all tests without using selective testing.\\n```bash\\ntuist test --selective-testing\\ntuist test --no-selective-testing\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_TEST_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips testing. This is useful for debugging purposes.\\n```bash\\ntuist test --generate-only\\ntuist test --no-generate-only\\n```\\n\\n### without-building \\n\\n**Environment variable** `TUIST_TEST_WITHOUT_BUILDING`\\n\\nWhen passed, run the tests without building.\\n```bash\\ntuist test --without-building\\ntuist test --no-without-building\\n```\\n\\n### build-only \\n\\n**Environment variable** `TUIST_TEST_BUILD_ONLY`\\n\\nWhen passed, build the tests, but don't run them\\n```bash\\ntuist test --build-only\\ntuist test --no-build-only\\n```\\n\\n### passthrough-xcode-build-arguments \\n\\nxcodebuild arguments that will be passthrough\\n```bash\\ntuist test [passthrough-xcode-build-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist test -h\\ntuist test --help\\n```\\n\\n\",\"title\":\"tuist test\",\"frontmatter\":{\"URL\":\"/es/cli/test\",\"LLMS_URL\":\"/es/cli/test.md\"}},{\"path\":\"/es/cli/version.md\",\"url\":\"/es/cli/version\",\"llmUrl\":\"/es/cli/version.md\",\"content\":\"---\\nURL: \\\"/es/cli/version\\\"\\nLLMS_URL: \\\"/es/cli/version.md\\\"\\n---\\n\\n# tuist version\\nOutputs the current version of tuist\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist version -h\\ntuist version --help\\n```\\n\\n\",\"title\":\"tuist version\",\"frontmatter\":{\"URL\":\"/es/cli/version\",\"LLMS_URL\":\"/es/cli/version.md\"}},{\"path\":\"/es/cli/xcodebuild.md\",\"url\":\"/es/cli/xcodebuild\",\"llmUrl\":\"/es/cli/xcodebuild.md\",\"content\":\"---\\nURL: \\\"/es/cli/xcodebuild\\\"\\nLLMS_URL: \\\"/es/cli/xcodebuild.md\\\"\\n---\\n\\n# tuist xcodebuild\\ntuist xcodebuild extends the xcodebuild CLI with server capabilities such as selective testing or analytics.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild -h\\ntuist xcodebuild --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild\",\"frontmatter\":{\"URL\":\"/es/cli/xcodebuild\",\"LLMS_URL\":\"/es/cli/xcodebuild.md\"}},{\"path\":\"/es/cli/xcodebuild/archive.md\",\"url\":\"/es/cli/xcodebuild/archive\",\"llmUrl\":\"/es/cli/xcodebuild/archive.md\",\"content\":\"---\\nURL: \\\"/es/cli/xcodebuild/archive\\\"\\nLLMS_URL: \\\"/es/cli/xcodebuild/archive.md\\\"\\n---\\n\\n# tuist xcodebuild archive\\ntuist xcodebuild archive extends the xcodebuild CLI archive action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild archive [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild archive -h\\ntuist xcodebuild archive --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild archive\",\"frontmatter\":{\"URL\":\"/es/cli/xcodebuild/archive\",\"LLMS_URL\":\"/es/cli/xcodebuild/archive.md\"}},{\"path\":\"/es/cli/xcodebuild/build.md\",\"url\":\"/es/cli/xcodebuild/build\",\"llmUrl\":\"/es/cli/xcodebuild/build.md\",\"content\":\"---\\nURL: \\\"/es/cli/xcodebuild/build\\\"\\nLLMS_URL: \\\"/es/cli/xcodebuild/build.md\\\"\\n---\\n\\n# tuist xcodebuild build\\ntuist xcodebuild build extends the xcodebuild CLI build action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild build [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild build -h\\ntuist xcodebuild build --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild build\",\"frontmatter\":{\"URL\":\"/es/cli/xcodebuild/build\",\"LLMS_URL\":\"/es/cli/xcodebuild/build.md\"}},{\"path\":\"/es/cli/xcodebuild/build-for-testing.md\",\"url\":\"/es/cli/xcodebuild/build-for-testing\",\"llmUrl\":\"/es/cli/xcodebuild/build-for-testing.md\",\"content\":\"---\\nURL: \\\"/es/cli/xcodebuild/build-for-testing\\\"\\nLLMS_URL: \\\"/es/cli/xcodebuild/build-for-testing.md\\\"\\n---\\n\\n# tuist xcodebuild build-for-testing\\ntuist xcodebuild build-for-testing extends the xcodebuild CLI build-for-testing action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild build-for-testing [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild build-for-testing -h\\ntuist xcodebuild build-for-testing --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild build-for-testing\",\"frontmatter\":{\"URL\":\"/es/cli/xcodebuild/build-for-testing\",\"LLMS_URL\":\"/es/cli/xcodebuild/build-for-testing.md\"}},{\"path\":\"/es/cli/xcodebuild/test.md\",\"url\":\"/es/cli/xcodebuild/test\",\"llmUrl\":\"/es/cli/xcodebuild/test.md\",\"content\":\"---\\nURL: \\\"/es/cli/xcodebuild/test\\\"\\nLLMS_URL: \\\"/es/cli/xcodebuild/test.md\\\"\\n---\\n\\n# tuist xcodebuild test\\ntuist xcodebuild test extends the xcodebuild CLI test action with insights and selective testing capabilities.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild test [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild test -h\\ntuist xcodebuild test --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild test\",\"frontmatter\":{\"URL\":\"/es/cli/xcodebuild/test\",\"LLMS_URL\":\"/es/cli/xcodebuild/test.md\"}},{\"path\":\"/es/cli/xcodebuild/test-without-building.md\",\"url\":\"/es/cli/xcodebuild/test-without-building\",\"llmUrl\":\"/es/cli/xcodebuild/test-without-building.md\",\"content\":\"---\\nURL: \\\"/es/cli/xcodebuild/test-without-building\\\"\\nLLMS_URL: \\\"/es/cli/xcodebuild/test-without-building.md\\\"\\n---\\n\\n# tuist xcodebuild test-without-building\\ntuist xcodebuild test-without-building extends the xcodebuild CLI test action with insights and selective testing capabilities.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild test-without-building [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild test-without-building -h\\ntuist xcodebuild test-without-building --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild test-without-building\",\"frontmatter\":{\"URL\":\"/es/cli/xcodebuild/test-without-building\",\"LLMS_URL\":\"/es/cli/xcodebuild/test-without-building.md\"}},{\"path\":\"/es/contributors/cli/logging.md\",\"url\":\"/es/contributors/cli/logging\",\"llmUrl\":\"/es/contributors/cli/logging.md\",\"content\":\"---\\nURL: \\\"/es/contributors/cli/logging\\\"\\nLLMS_URL: \\\"/es/contributors/cli/logging.md\\\"\\ntitle: \\\"Logging\\\"\\ntitleTemplate: \\\":title · CLI · Contributors · Tuist\\\"\\ndescription: \\\"Learn how to contribute to Tuist by reviewing code\\\"\\n---\\n\\n# Logging {#logging}\\n\\nThe CLI embraces the [swift-log](https://github.com/apple/swift-log) interface for logging. The package abstracts away the implementation details of logging, allowing the CLI to be agnostic to the logging backend. The logger is dependency-injected using task locals and can be accessed anywhere using:\\n\\n```bash\\nLogger.current\\n```\\n\\n> [!NOTE]\\n> Task locals don't propagate the value when using `Dispatch` or detached tasks, so if you use them, you'll need to get it and pass it to the asynchronous operation.\\n\\n## What to log {#what-to-log}\\n\\nLogs are not the CLI's UI. They are a tool to diagnose issues when they arise.\\nTherefore, the more information you provide, the better.\\nWhen building new features, put yourself in the shoes of a developer coming across unexpected behavior, and think about what information would be helpful to them.\\nEnsure you you use the right [log level](https://www.swift.org/documentation/server/guides/libraries/log-levels.html). Otherwise developers won't be able to filter out the noise.\\n\",\"title\":\"Logging\",\"frontmatter\":{\"URL\":\"/es/contributors/cli/logging\",\"LLMS_URL\":\"/es/contributors/cli/logging.md\",\"title\":\"Logging\",\"titleTemplate\":\":title · CLI · Contributors · Tuist\",\"description\":\"Learn how to contribute to Tuist by reviewing code\"}},{\"path\":\"/es/contributors/code-reviews.md\",\"url\":\"/es/contributors/code-reviews\",\"llmUrl\":\"/es/contributors/code-reviews.md\",\"content\":\"---\\nURL: \\\"/es/contributors/code-reviews\\\"\\nLLMS_URL: \\\"/es/contributors/code-reviews.md\\\"\\ntitle: \\\"Code reviews\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"Learn how to contribute to Tuist by reviewing code\\\"\\n---\\n\\n# Code reviews {#code-reviews}\\n\\nLa revisión de PRs es una forma típica de contribuir con el proyecto. A pesar de la integración continua (CI) validando que el código hace lo que se supone que tiene que hacer, no es suficiente. Hay rasgos de contribución que no se pueden automatizar: diseño, estructura de código y arquitectura, calidad de las pruebas, o errores tipográficos. Las siguientes secciones representan diferentes aspectos del proceso de revisión de código.\\n\\n## Legibilidad {#readability}\\n\\n¿Expresa el código claramente su intención? **Si necesitas dedicar un montón de tiempo a averiguar lo que hace el código, es necesario mejorar la implementación de código.** Sugiere dividir el código en abstracciones más pequeñas que son más fáciles de entender. De forma alternativa y como último recurso, pueden añadir un comentario explicando el razonamiento detrás de él. Pregúntate si serías capaz de entender el código en un futuro próximo, sin ningún contexto circundante como la descripción del pull request.\\n\\n## Small pull requests {#small-pull-requests}\\n\\nPRs grandes son difíciles de revisar y es más probable que se escapen detalles. Si un PR acaba siendo muy grande e inmanejable, sugiere al autor que lo divida en PRs más pequeños.\\n\\n> [!NOTE] EXCEPCIONES\\n> Hay pocos escenarios donde no es posible dividir el PR, como cuando los cambios están fuertemente acoplados y no pueden ser divididos. En esos casos, el autor debe dar una explicación clara de los cambios y del razonamiento que se esconden detrás de ellos.\\n\\n## Consistencia {#consistency}\\n\\nIt’s important that the changes are consistent with the rest of the project. Inconsistencies complicate maintenance, and therefore we should avoid them. If there’s an approach to output messages to the user, or report errors, we should stick to that. If the author disagrees with the project’s standards, suggest them to open an issue where we can discuss them further.\\n\\n## Tests {#tests}\\n\\nTests allow changing code with confidence. The code on pull requests should be tested, and all tests should pass. A good test is a test that consistently produces the same result and that it’s easy to understand and maintain. Reviewers spend most of the review time in the implementation code, but tests are equally important because they are code too.\\n\\n## Breaking changes {#breaking-changes}\\n\\nBreaking changes are a bad user experience for users of Tuist. Contributions should avoid introducing breaking changes unless it’s strictly necessary. There are many language features that we can leverage to evolve the interface of Tuist without resorting to a breaking change. Whether a change is breaking or not might not be obvious. A method to verify whether the change is breaking is running Tuist against the fixture projects in the fixtures directory. It requires putting ourselves in the user’s shoes and imagine how the changes would impact them.\\n\",\"title\":\"Code reviews\",\"frontmatter\":{\"URL\":\"/es/contributors/code-reviews\",\"LLMS_URL\":\"/es/contributors/code-reviews.md\",\"title\":\"Code reviews\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"Learn how to contribute to Tuist by reviewing code\"}},{\"path\":\"/es/contributors/get-started.md\",\"url\":\"/es/contributors/get-started\",\"llmUrl\":\"/es/contributors/get-started.md\",\"content\":\"---\\nURL: \\\"/es/contributors/get-started\\\"\\nLLMS_URL: \\\"/es/contributors/get-started.md\\\"\\ntitle: \\\"Get started\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"Get started contributing to Tuist by following this guide.\\\"\\n---\\n\\n# Get started {#get-started}\\n\\nIf you have experience building apps for Apple platforms, like iOS, adding code to Tuist shouldn’t be much different. There are two differences compared to developing apps that are worth mentioning:\\n\\n- **The interactions with CLIs happen through the terminal.** The user executes Tuist, which performs the desired task, and then returns successfully or with a status code. During the execution, the user can be notified by sending output information to the standard output and standard error. There are no gestures, or graphical interactions, just the user intent.\\n\\n- **There’s no runloop that keeps the process alive waiting for input**, like it happens in an iOS app when the app receives system or user events. CLIs run in its process and finishes when the work is done. Asynchronous work can be done using system APIs like [DispatchQueue](https://developer.apple.com/documentation/dispatch/dispatchqueue) or [structured concurrency](https://developer.apple.com/tutorials/app-dev-training/managing-structured-concurrency), but need to make sure the process is running while the asynchronous work is being executed. Otherwise, the process will terminate the asynchronous work.\\n\\nIf you don’t have any experience with Swift, we recommend [Apple’s official book](https://docs.swift.org/swift-book/) to get familiar with the language and the most used elements from the Foundation’s API.\\n\\n## Minimum requirements {#minimum-requirements}\\n\\nTo contribute to Tuist, minimum requirements are:\\n\\n- macOS 14.0+\\n- Xcode 16.3+\\n\\n## Set up the project locally {#set-up-the-project-locally}\\n\\nTo start working on the project, we can follow the steps below:\\n\\n- Clone the repository by running: `git clone [email protected]:tuist/tuist.git`\\n- [Install](https://mise.jdx.dev/getting-started.html) Mise to provision the development environment.\\n- Run `mise install` to install the system dependencies needed by Tuist\\n- Run `tuist install` to install the external dependencies needed by Tuist\\n- (Optional) Run `tuist auth login` to get access to the Tuist Cache\\n- Run `tuist generate` to generate the Tuist Xcode project using Tuist itself\\n\\n**The generated project opens automatically**. If you need to open again without generating it, run open `Tuist.xcworkspace` (or use Finder).\\n\\n> [!NOTE] XED .\\n> If you try to open the project using `xed .`, it will open the package, and not the project generated by Tuist. We recommend using the Tuist-generated project to dog-food the tool.\\n\\n## Edit the project {#edit-the-project}\\n\\nIf you needed to edit the project, for example to add dependencies or adjust targets, you can use the `tuist edit` command. This is barely used, but it's good to know that it exists.\\n\\n## Run Tuist {#run-tuist}\\n\\n### From Xcode {#from-xcode}\\n\\nTo run `tuist` from the generated Xcode project, edit the `tuist` scheme, and set the arguments that you'd like to pass to the command. For example, to run the `tuist generate` command, you can set the arguments to `generate --no-open` to prevent the project from opening after the generation.\\n\\n\\n\\nYou'll also have to set the working directory to the root of the project being generated. You can do that either by using the `--path` argument, which all the commands accept, or configuring the working directory in the scheme as shown below:\\n\\n\\n\\n> [!WARNING] PROJECTDESCRIPTION COMPILATION\\n> The `tuist` CLI depends on the `ProjectDescription` framework's presence in the built products directory. If `tuist` fails to run because it can't find the `ProjectDescription` framework, build the `Tuist-Workspace` scheme first.\\n\\n### From the terminal {#from-the-terminal}\\n\\nYou can run `tuist` using Tuist itself through its `run` command:\\n\\n```bash\\ntuist run tuist generate --path /path/to/project --no-open\\n```\\n\\nAlternatively, you can also run it through the Swift Package Manager directly:\\n\\n```bash\\nswift build --product ProjectDescription\\nswift run tuist generate --path /path/to/project --no-open\\n```\\n\",\"title\":\"Get started\",\"frontmatter\":{\"URL\":\"/es/contributors/get-started\",\"LLMS_URL\":\"/es/contributors/get-started.md\",\"title\":\"Get started\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"Get started contributing to Tuist by following this guide.\"}},{\"path\":\"/es/contributors/issue-reporting.md\",\"url\":\"/es/contributors/issue-reporting\",\"llmUrl\":\"/es/contributors/issue-reporting.md\",\"content\":\"---\\nURL: \\\"/es/contributors/issue-reporting\\\"\\nLLMS_URL: \\\"/es/contributors/issue-reporting.md\\\"\\ntitle: \\\"Issue reporting\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"Learn how to contribute to Tuist by reporting bugs\\\"\\n---\\n\\n# Issue reporting {#issue-reporting}\\n\\nAs user of Tuist, you might come across bugs or unexpected behaviors.\\nIf you do, we encourage you to report them so that we can fix them.\\n\\n## GitHub issues is our ticketing platform {#github-issues-is-our-ticketing-platform}\\n\\nIssues should be reported on GitHub as [GitHub issues](https://github.com/tuist/tuist/issues) and not on Slack or other platforms. GitHub is better for tracing and managing issues, is closer to the codebase, and allows us to track the progress of the issue. Moreover, it encourages a long-form description of the problem, which forces the reporter to think about the problem and provide more context.\\n\\n## Context is crucial {#context-is-crucial}\\n\\nAn issue without enough context will be deemed incomplete and the author will be asked for additional context. If not provided, the issue will be closed. Think about it this way: the more context you provide, the easier it is for us to understand the problem and fix it. So if you want your issue to be fixed, provide as much context as possible. Try to answer the following questions:\\n\\n- What were you trying to do?\\n- How does your graph look?\\n- What version of Tuist are you using?\\n- Is this blocking you?\\n\\nWe also require you to provide a minimal **reproducible project**.\\n\\n## Reproducible project {#reproducible-project}\\n\\n### What is a reproducible project? {#what-is-a-reproducible-project}\\n\\nA reproducible project is a small Tuist project to demonstrate a problem - often this problem is caused by a bug in Tuist. Your reproducible project should contain the bare minimum features needed to clearly demonstrate the bug.\\n\\n### Why should you create a reproducible test case? {#why-should-you-create-a-reproducible-test-case}\\n\\nA reproducible projects lets us isolate the cause of a problem, which is the first step towards fixing it! The most important part of any bug report is to describe the exact steps needed to reproduce the bug.\\n\\nA reproducible project is a great way to share a specific environment that causes a bug. Your reproducible project is the best way to help people that want to help you.\\n\\n### Steps to create a reproducible project {#steps-to-create-a-reproducible-project}\\n\\n- Create a new git repository.\\n- Initialize a project using `tuist init` in the repository directory.\\n- Add the code needed to recreate the error you’ve seen.\\n- Publish the code (your GitHub account is a good place to do this) and then link to it when creating an issue.\\n\\n### Benefits of reproducible projects {#benefits-of-reproducible-projects}\\n\\n- **Smaller surface area:** By removing everything but the error, you don’t have to dig to find the bug.\\n- **No need to publish secret code:** You might not be able to publish your main site (for many reasons). Remaking a small part of it as a reproducible test case allows you to publicly demonstrate a problem without exposing any secret code.\\n- **Proof of the bug:** Sometimes a bug is caused by some combination of settings on your machine. A reproducible test case allows contributors to pull down your build and test it on their machines as well. This helps verify and narrow down the cause of a problem.\\n- **Get help with fixing your bug:** If someone else can reproduce your problem, they often have a good chance of fixing the problem. It’s almost impossible to fix a bug without first being able to reproduce it.\\n\",\"title\":\"Issue reporting\",\"frontmatter\":{\"URL\":\"/es/contributors/issue-reporting\",\"LLMS_URL\":\"/es/contributors/issue-reporting.md\",\"title\":\"Issue reporting\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"Learn how to contribute to Tuist by reporting bugs\"}},{\"path\":\"/es/contributors/principles.md\",\"url\":\"/es/contributors/principles\",\"llmUrl\":\"/es/contributors/principles.md\",\"content\":\"---\\nURL: \\\"/es/contributors/principles\\\"\\nLLMS_URL: \\\"/es/contributors/principles.md\\\"\\ntitle: \\\"Principles\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"This document describes the principles that guide the development of Tuist.\\\"\\n---\\n\\n# Principles {#principles}\\n\\nThis page describes principles that are pillars to the design and development of Tuist. They evolve with the project and are meant to ensure a sustainable growth that is well-aligned with the project foundation.\\n\\n## Default to conventions {#default-to-conventions}\\n\\nOne of the reasons why Tuist exists is because Xcode is weak in conventions and that leads to complex projects that are hard to scale up and maintain. For that reason, Tuist takes a different approach by defaulting to simple and thoroughly designed conventions. **Developers can opt-out from the conventions, but that’s a conscious decision that doesn’t feel natural.**\\n\\nFor example, there’s a convention for defining dependencies between targets by using the provided public interface. By doing that, Tuist ensures that the projects are generated with the right configurations for the linking to work. Developers have the option to define the dependencies through build settings, but they’d be doing it implicitly and therefore breaking Tuist features such as `tuist graph` or `tuist cache` that rely on some conventions being followed.\\n\\nThe reason why we default to conventions is that the more decision we can make on behalf of the developers, the more focus they’ll have crafting features for their apps. When we are left with no conventions like it’s the case in many projects, we have to make decisions that will end up not being consistent with other decisions and as a consequence, there’ll be an accidental complexity that will be hard to manage.\\n\\n## Manifests are the source of truth {#manifests-are-the-source-of-truth}\\n\\nHaving many layers of configurations and contracts between them results in a project setup that is hard to reason about and maintain. Think for a second on an average project. The definition of the project lives in the `.xcodeproj` directories, the CLI in scripts (e.g `Fastfiles`), and the CI logic in pipelines. Those are three layers with contracts between them that we need to maintain. _How often have you been in a situation where you changed something in your projects, and then a week later you realized that the release scripts broke?_\\n\\nWe can simplify this by having a single source of truth, the manifest files. Those files provide Tuist with the information that it needs to generate Xcode projects that developers can use to edit their files. Moreover, it allows having standard commands for building projects from a local or CI environment.\\n\\n**Tuist should own the complexity and expose a simple, safe, and enjoyable interface to describe their projects as explicitly as possible.**\\n\\n## Make the implicit explicit {#make-the-implicit-explicit}\\n\\nXcode supports implicit configurations. A good example of that is inferring the implicitly defined dependencies. While implicitness is fine for small projects, where configurations are simple, as projects get larger it might cause slowness or odd behaviors.\\n\\nTuist should provide explicit APIs for implicit Xcode behaviors. It should also support defining Xcode implicitness but implemented in such a way that encourages developers to opt for the explicit approach. Supporting Xcode implicitness and intricacies facilitates the adoption of Tuist, after which teams can take some time to get rid of the implicitness.\\n\\nThe definition of dependencies is a good example of that. While developers can define dependencies through build settings and phases, Tuist provides a beautiful API that encourages its adoption.\\n\\n**Designing the API to be explicit allows Tuist to run some checks and optimizations on the projects that otherwise wouldn’t be possible.** Moreover, it enables features like `tuist graph`, which exports a representation of the dependency graph, or `tuist cache`, which caches all the targets as binaries.\\n\\n> [!TIP]\\n> We should treat each request to port features from Xcode as an opportunity to simplify concepts with simple and explicit APIs.\\n\\n## Keep it simple {#keep-it-simple}\\n\\nOne of the main challenges when scaling Xcode projects comes from the fact that **Xcode exposes a lot of complexity to the users.** Due to that, teams have a high bus factor and only a few people in the team understand the project and the errors that the build system throws. That’s a bad situation to be in because the team relies on a few people.\\n\\nXcode is a great tool, but so many years of improvements, new platforms, and programming languages, are reflected on their surface, which struggled to remain simple.\\n\\nTuist should take the opportunity to keep things simple because working on simple things is fun and motivates us. No one wants to spend time trying to debug an error that happens at the very end of the compilation process, or understanding why they are not able to run the app on their devices. Xcode delegates the tasks to its underlying build system and in some cases it does a very poor job translating errors into actionable items. Have you ever got a _“framework X not found”_ error and you didn’t know what to do? Imagine if we got a list of potential root causes for the bug.\\n\\n## Start from the developer’s experience {#start-from-the-developers-experience}\\n\\nPart of the reason why there is a lack of innovation around Xcode, or put differently, not as much as in other programming environments, is because **we often start analyzing problems from existing solutions.** As a consequence, most of the solutions that we find nowadays revolve around the same ideas and workflows. While it’s good to include existing solutions in the equations, we should not let them constrain our creativity.\\n\\nWe like to think as [Tom Preston](https://tom.preston-werner.com/) puts it in [this podcast](https://tom.preston-werner.com/): _“Most things can be achieved, whatever you have in your head you can probably pull off with code as long as is possible within the constrains of the universe”._ If **we imagine how we’d like the developer experience to be**, it’s just a matter of time to pull it off — by starting to analyze the problems from the developer experience gives us a unique point of view that will lead us to solutions that users will love to use.\\n\\nWe might feel tempted to follow what everyone is doing, even if that means sticking with the inconveniences that everyone continues to complain about. Let’s not do that. How do I imagine archiving my app? How would I love code signing to be? What processes can I help streamline with Tuist? For example, adding support for [Fastlane](https://fastlane.tools/) is a solution to a problem that we need to understand first. We can get to the root of the problem by asking “why” questions. Once we narrow down where the motivation comes from, we can think of how Tuist can help them best. Maybe the solution is integrating with Fastlane, but it’s important we don’t disregard other equally valid solutions that we can put on the table before making trade-offs.\\n\\n## Errors can and will happen {#errors-can-and-will-happen}\\n\\nWe, developers, have an inherent temptation to disregard that errors can happen. As a result, we design and test software only considering the ideal scenario.\\n\\nSwift, its type system, and a well-architected code might help prevent some errors, but not all of them because some are out of our control. We can’t assume the user will always have an internet connection, or that the system commands will return successfully. The environments in which Tuist runs are not sandboxes that we control, and hence we need to make an effort to understand how they might change and impact Tuist.\\n\\nPoorly handled errors result in bad user experience, and users might lose trust in the project. We want users to enjoy every single piece of Tuist, even the way we present errors to them.\\n\\nWe should put ourselves in the shoes of users and imagine what we’d expect the error to tell us. If the programming language is the communication channel through which errors propagate, and the users are the destination of the errors, they should be written in the same language that the target (users) speak. They should include enough information to know what happened and hide the information that is not relevant. Also, they should be actionable by telling users what steps they can take to recover from them.\\n\\nAnd last but not least, our test cases should contemplate failing scenarios. Not only they ensure that we are handling errors as we are supposed to, but prevent future developers from breaking that logic.\\n\",\"title\":\"Principles\",\"frontmatter\":{\"URL\":\"/es/contributors/principles\",\"LLMS_URL\":\"/es/contributors/principles.md\",\"title\":\"Principles\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"This document describes the principles that guide the development of Tuist.\"}},{\"path\":\"/es/contributors/translate.md\",\"url\":\"/es/contributors/translate\",\"llmUrl\":\"/es/contributors/translate.md\",\"content\":\"---\\nURL: \\\"/es/contributors/translate\\\"\\nLLMS_URL: \\\"/es/contributors/translate.md\\\"\\ntitle: \\\"Translate\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"This document describes the principles that guide the development of Tuist.\\\"\\n---\\n\\n# Translate {#translate}\\n\\nLanguages can be barriers to understanding. We want to make sure that Tuist is accessible to as many people as possible. If you speak a language that Tuist doesn't support, you can help us by translating the various surfaces of Tuist.\\n\\nSince maintaining translations is a continuous effort, we add languages as we see contributors willing to help us maintain them. The following languages are currently supported:\\n\\n- English\\n- Korean\\n- Japanese\\n- Russian\\n\\n> [!TIP] REQUEST A NEW LANGUAGE\\n> If you believe Tuist would benefit from supporting a new language, please create a new [topic in the community forum](https://community.tuist.io/c/general/4) to discuss it with the community.\\n\\n## How to translate\\n\\nWe use [Crowdin](https://crowdin.com/) to manage the translations. First, go to the project that you want to contribute to:\\n\\n- [Documentation](https://crowdin.com/project/tuist-documentation)\\n- [Website](https://crowdin.com/project/tuist-documentation)\\n\\nYou'll need an account to start translating. You can sign in with GitHub. Once you have access, you can start translating. You'll see the list of resources that are available for translation. When you click on a resource, the editor will open, and you'll see a split view with the resource in the source language on the left and the translation on the right. Translate the text on the right and save your changes.\\n\\nAs translations are updated, Crowdin will push them automatically to the right repository opening a pull request, which the maintainers will review and merge.\\n\\n> [!IMPORTANT] DON'T MODIFY THE RESOURCES IN THE TARGET LANGUAGE\\n> Crowdin segments the files to bind source and target languages. If you modify the source language, you'll break the binding, and the reconciliation might yield unexpected results.\\n\\n## Guidelines\\n\\nThe following are the guidelines we follow when translating.\\n\\n### Custom containers and GitHub alerts\\n\\nWhen translating [custom containers](https://vitepress.dev/guide/markdown#custom-containers) or [GitHub Alerts](https://docs.github.com/es/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts), only translate the title and the content **but not the type of alert**.\\n\\n:::details Example with GitHub Alert\\n\\n````markdown\\n > [!WARNING] 루트 변수\\n > 매니페스트의 루트에 있어야 하는 변수는...\\n\\n // Instead of\\n > [!주의] 루트 변수\\n > 매니페스트의 루트에 있어야 하는 변수는...\\n ```\\n:::\\n\\n\\n::: details Example with custom container\\n```markdown\\n ::: warning 루트 변수\\\\\\n 매니페스트의 루트에 있어야 하는 변수는...\\n :::\\n\\n # Instead of\\n ::: 주의 루트 변수\\\\\\n 매니페스트의 루트에 있어야 하는 변수는...\\n :::\\n````\\n\\n:::\\n\\n### Heading titles\\n\\nWhen translating headings, only translate tht title but not the id. For example, when translating the following heading:\\n\\n```markdown\\n# Add dependencies {#add-dependencies}\\n```\\n\\nIt should be translated as (note the id is not translated):\\n\\n```markdown\\n# 의존성 추가하기 {#add-dependencies}\\n```\\n\",\"title\":\"Translate\",\"frontmatter\":{\"URL\":\"/es/contributors/translate\",\"LLMS_URL\":\"/es/contributors/translate.md\",\"title\":\"Translate\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"This document describes the principles that guide the development of Tuist.\"}},{\"path\":\"/es/guides/examples/generated-projects.md\",\"url\":\"/es/guides/examples/generated-projects\",\"llmUrl\":\"/es/guides/examples/generated-projects.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects.md\\\"\\ntitle: \\\"Ejemplos de Proyectos Generados\\\"\\ntitleTemplate: \\\":title · Ejemplos · Guías · Tuist\\\"\\ndescription: \\\"Ejemplos de proyectos generados que usamos como fixtures para ejecutar pruebas de aceptación.\\\"\\n---\\n\\n# Ejemplos de Proyectos Generados\\n\\nEn esta sección encontrarás ejemplos de proyectos generados que usamos como [fixtures](https://github.com/tuist/tuist/tree/main/cli/Fixtures) para ejecutar pruebas de aceptación. Pueden ser útiles cuando crees un nuevo proyecto generado, o migres un proyecto de Xcode existente para que sea generado por Tuist.\",\"title\":\"Ejemplos de Proyectos Generados\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects\",\"LLMS_URL\":\"/es/guides/examples/generated-projects.md\",\"title\":\"Ejemplos de Proyectos Generados\",\"titleTemplate\":\":title · Ejemplos · Guías · Tuist\",\"description\":\"Ejemplos de proyectos generados que usamos como fixtures para ejecutar pruebas de aceptación.\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_airship_sdk.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_airship_sdk\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_airship_sdk.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_airship_sdk\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_airship_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Airship SDK\\n\\nThis example contains an example that showcases how to integrate the [Airship](https://github.com/urbanairship/ios-library) SDK.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Airship SDK\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_airship_sdk\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_airship_sdk.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_build_rules.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_build_rules\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_build_rules.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_build_rules\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_build_rules.md\\\"\\n---\\n\\n\\n\\n# Application with build rules\\n\\nThis example contains an example that uses [build rules](https://developer.apple.com/documentation/xcode/creating-build-rules-for-custom-file-types), which instruct Xcode on how to compile a particular file.\\n\\nCheck out example\\n\",\"title\":\"Application with build rules\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_build_rules\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_build_rules.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_composable_architecture.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_composable_architecture\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_composable_architecture.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_composable_architecture\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_composable_architecture.md\\\"\\n---\\n\\n\\n\\n# Application with the Composable Architecture (TCA)\\n\\nThis example contains an example that uses the Composable Architecture.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Composable Architecture (TCA)\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_composable_architecture\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_composable_architecture.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_custom_default_configuration.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_custom_default_configuration\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_custom_default_configuration.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_custom_default_configuration\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_custom_default_configuration.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration\\n\\nApp that showcases a custom default configuration generationo option.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_custom_default_configuration\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_custom_default_configuration.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_custom_default_configuration_settings\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_custom_default_configuration_settings\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration settings\\n\\nThis example demonstrates how to set a [default configuration](https://developer.apple.com/library/archive/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-MY_APP_HAS_MULTIPLE_BUILD_CONFIGURATIONS__HOW_DO_I_SET_A_DEFAULT_BUILD_CONFIGURATION_FOR_XCODEBUILD_) in the project settings, which will be used by `xcodebuild` when building from the command-line.\\n\\nThe default build configuration is also used to [visually activate code](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Source-Editor) in `#if…#endif` blocks when working with custom configurations other than Debug or Release in Xcode 15 and later.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration settings\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_custom_default_configuration_settings\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_custom_scheme.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_custom_scheme\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_custom_scheme.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_custom_scheme\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_custom_scheme.md\\\"\\n---\\n\\n\\n\\n# Application with custom scheme\\n\\nThis example contains an example that uses a custom scheme to demonstrate how to modify schemes to ones needs.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with custom scheme\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_custom_scheme\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_custom_scheme.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_executable_non_local_dependencies\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_executable_non_local_dependencies\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application with Executable Non Local Dependencies\\n\\nThis example consists of two projects:\\n- Main app project, which contains the main iOS application\\n- Helper targets project, which includes various targets that the main app relies on\\n\\nIt demonstrates a scenario where the main app depends on executable targets from another project.\\nThere are three such targets:\\n1. `AppExtension` - an app extension target\\n2. `WatchApp` - a watchOS app target\\n3. `TestHost` - an app target intended to serve as the test host for test targets (and also exemplifies a regular app target)\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Executable Non Local Dependencies\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_executable_non_local_dependencies\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_exponea_sdk.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_exponea_sdk\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_exponea_sdk.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_exponea_sdk\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_exponea_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Exponea SDK\\n\\nThis example contains an example that showcases how to integrate the [Exponea](https://github.com/exponea/exponea-ios-sdk) SDK. This SDK includes a core data model.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Exponea SDK\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_exponea_sdk\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_exponea_sdk.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_generated_sources.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_generated_sources\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_generated_sources.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_generated_sources\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_generated_sources.md\\\"\\n---\\n\\n\\n\\n# App with generated sources\\n\\nThis app is to showcase using sources that are generated during the build process (as oppose to sources that already exist when buildig).\\n\\n\\nCheck out example\\n\",\"title\":\"App with generated sources\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_generated_sources\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_generated_sources.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_globs.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_globs\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_globs.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_globs\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_globs.md\\\"\\n---\\n\\n\\n\\n# App with globs\\n\\nThis app is to showcase and test complex glob patterns for sources, resources, additional files, etc.\\n\\n\\nCheck out example\\n\",\"title\":\"App with globs\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_globs\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_globs.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_google_maps.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_google_maps\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_google_maps.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_google_maps\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_google_maps.md\\\"\\n---\\n\\n\\n\\n# App with Google Maps\\n\\nAn example of integrating an app with Google Maps. The `GoogleMaps` dependency is imported into the App through a dynamic framework.\\n\\nCheck out example\\n\",\"title\":\"App with Google Maps\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_google_maps\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_google_maps.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\\\"\\n---\\n\\n\\n\\n# Application with Embedded Local SPM Module\\n\\nThis example project demonstrates an application that includes a local Swift Package Manager (SPM) module (`LocalSwiftPackage`) configured as an embedded framework.\\n\\nThe project leverages a local SPM module added to the Embed Frameworks section, showing that local SPM packages can now be embedded within the application.\\n\\nThis demo project exists to validate and showcase the capability to embed local SPM modules as frameworks, allowing seamless integration into the main app.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Embedded Local SPM Module\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application wih Local SPM Module with Remote Dependencies\\n\\nThis example contains a project that depends upon a local SPM module (`LocalSwiftPackage`) colocated within this directory.\\n\\nThis project does NOT contain any direct remote dependencies.\\nHowever, `LocalSwiftPackage` DOES have remote dependencies.\\n\\nThis example application exists to ensure that package resolution occurs even in the case of solely transitive remote dependencies.\\n\\nCheck out example\\n\",\"title\":\"Application wih Local SPM Module with Remote Dependencies\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_metal_options.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_metal_options\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_metal_options.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_metal_options\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_metal_options.md\\\"\\n---\\n\\n\\n\\n# App with a metal diagnostic configuration\\n\\nApp that showcases a custom and default configuration for metal diagnostics.\\n\\n\\nCheck out example\\n\",\"title\":\"App with a metal diagnostic configuration\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_metal_options\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_metal_options.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_organization_name_project.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_organization_name_project\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_organization_name_project.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_organization_name_project\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_organization_name_project.md\\\"\\n---\\n\\n\\n\\n# App with organization name defined in `Project`\\n\\nAn iOS app where the organization name is defined at the `Project` level.\\n\\nCheck out example\\n\",\"title\":\"App with organization name defined in `Project`\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_organization_name_project\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_organization_name_project.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_realm.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_realm\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_realm.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_realm\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_realm.md\\\"\\n---\\n\\n\\n\\n# Application with Realm\\n\\nThis example contains an example that showcases how to integrate the [Realm Swift](https://github.com/realm/realm-swift) library.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Realm\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_realm\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_realm.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies\\n\\nAn example of an application which depends on XCFrameworks with different kinds of signatures:\\n- Signature not specified (signature validation should be skipped)\\n- Unsigned\\n- Signed with Apple certificate\\n- Self signed\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies - Mismatching Signature\\n\\nExample of an app with a signed XCFramework dependency, where the XCFramework is declared to have a signature that\\ndoesn't match the actual signature.\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies - Mismatching Signature\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\"}},{\"path\":\"/es/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\",\"url\":\"/es/guides/examples/generated-projects/app_with_spm_xcframework_dependency\",\"llmUrl\":\"/es/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/app_with_spm_xcframework_dependency\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\\\"\\n---\\n\\n\\n\\n# Application with XCFramework Swift Package Manager Dependenciy\\n\\nThis example contains an example that imports an external XCFramework using Swift Package Manager dependencies.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with XCFramework Swift Package Manager Dependenciy\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/app_with_spm_xcframework_dependency\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\"}},{\"path\":\"/es/guides/examples/generated-projects/framework_with_environment_variables.md\",\"url\":\"/es/guides/examples/generated-projects/framework_with_environment_variables\",\"llmUrl\":\"/es/guides/examples/generated-projects/framework_with_environment_variables.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/framework_with_environment_variables\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/framework_with_environment_variables.md\\\"\\n---\\n\\n\\n\\n# Framework with environment variables\\n\\nA framework project that leverages environment variables to change the name of the framework.\\n\\nCheck out example\\n\",\"title\":\"Framework with environment variables\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/framework_with_environment_variables\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/framework_with_environment_variables.md\"}},{\"path\":\"/es/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\",\"url\":\"/es/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\",\"llmUrl\":\"/es/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\\\"\\n---\\n\\n\\n\\n# Framework with native Swift Macro and Plugin packages\\n\\nThis project represents a project with a framework that integrates the following Swift Packages:\\n\\n- A [build tool plugin](https://github.com/apple/swift-package-manager/blob/main/Documentation/Plugins.md) using Xcode's native integration.\\n- A Swift Macro using Tuist's integration based on XcodeProj primitives.\\n\\nCheck out example\\n\",\"title\":\"Framework with native Swift Macro and Plugin packages\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\"}},{\"path\":\"/es/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\",\"url\":\"/es/guides/examples/generated-projects/generated_ios_app_without_config_manifest\",\"llmUrl\":\"/es/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/generated_ios_app_without_config_manifest\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\\\"\\n---\\n\\n\\n\\n# Generated iOS App without a config manifest\\n\\nThe presence of `Tuist.swift` is optional. When absent, Tuist provides a default configuration based on the type project detected in the file-system.\\n\\n\\nCheck out example\\n\",\"title\":\"Generated iOS App without a config manifest\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/generated_ios_app_without_config_manifest\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_actions.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_actions\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_actions.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_actions\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_actions.md\\\"\\n---\\n\\n\\n\\n# iOS app with actions\\n\\nAn iOS app with a target that has pre and post actions.\\n\\nCheck out example\\n\",\"title\":\"iOS app with actions\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_actions\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_actions.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_build_variables.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_build_variables\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_build_variables.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_build_variables\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_build_variables.md\\\"\\n---\\n\\n\\n\\n# iOS app with build variables\\n\\nAn iOS app with a Xcode build variables defined in pre action.\\n\\nCheck out example\\n\",\"title\":\"iOS app with build variables\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_build_variables\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_build_variables.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_coredata.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_coredata\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_coredata.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_coredata\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_coredata.md\\\"\\n---\\n\\n\\n\\n# Application with CoreData models\\n\\nThis example showcases a project that utilizes CoreData models and code generation for these models using resourceSynthesizer.\\n\\nCheck out example\\n\",\"title\":\"Application with CoreData models\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_coredata\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_coredata.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\\\"\\n---\\n\\n\\n\\n# iOS App with C++ Interoperability\\n\\nThis repository contains dependencies with the `.interoperabilityMode(.Cxx)` and ensures when Tuist converts those into Xcode targets, the right build settings are applied to the generated targets.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS App with C++ Interoperability\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_custom_workspace.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_custom_workspace\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_custom_workspace.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_custom_workspace\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_custom_workspace.md\\\"\\n---\\n\\n\\n\\n# iOS app with a custom workspace\\n\\niOS with a few projects and a `Workspace.swift` manifest file.\\n\\nThe workspace manifest defines:\\n\\n- glob patterns to list projects\\n- glob patterns to include documentation files\\n- folder reference to directory with html files\\n\\nThe App's project manifest leverages `additionalFiles` that:\\n\\n- defines glob patterns to include documentation files\\n- includes a Swift `Danger.swift` file that shouldn't get included in any build phase\\n- defines folder references to a directory with json files\\n\\nCheck out example\\n\",\"title\":\"iOS app with a custom workspace\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_custom_workspace\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_custom_workspace.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_extensions.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_extensions\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_extensions\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# iOS app with extensions\\n\\nSample iOS application with extension targets.\\n\\nCheck out example\\n\",\"title\":\"iOS app with extensions\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_extensions\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_extensions.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_framework_and_resources\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_framework_and_resources\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with a framework and resources\\n\\nA workspace with an application that includes resources.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - StaticFramework\\n - StaticFramework (static iOS framework)\\n - StaticFrameworkResources (iOS bundle)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> StaticFramework\\n- App -> StaticFrameworkResources\\n\\nCheck out example\\n\",\"title\":\"iOS app with a framework and resources\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_framework_and_resources\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a dynamic framework that links a static framework\\n\\n\\nAn example project demonstrating an iOS application linking a dynamic framework which itself depends on a static framework with transitive static dependencies.\\n\\nOnly `Framework1.framework` should be linked and included into App, everything else should be statically linked into the Framework1 executable.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (static iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (static iOS framework)\\n - Framework3Tests (iOS unit tests)\\n - Framework4:\\n - Framework4 (static iOS framework)\\n - Framework4Tests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2\\n- Framework1 -> Framework3\\n- Framework3 -> Framework4\\n\\n\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with a dynamic framework that links a static framework\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_frameworks.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_frameworks\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_frameworks.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_frameworks\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with frameworks\\n\\n\\nSlightly more complicated project that consists of an iOS app and few frameworks.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (dynamic iOS framework)\\n - Framework4:\\n - Framework4 (dynamic iOS framework)\\n - Framework5:\\n - Framework5 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> Framework2\\n- Framework1 -> Framework2\\n- Framework2 -> Framework3\\n- Framework3 -> Framework4\\n- Framework4 -> Framework5\\n\\nCheck out example\\n\",\"title\":\"iOS app with frameworks\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_frameworks\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_frameworks.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_helpers.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_helpers\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_helpers.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_helpers\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_helpers.md\\\"\\n---\\n\\n\\n\\n# iOS app with helpers\\n\\nA basic iOS app that leverages `ProjectDescriptionHelpers`.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with helpers\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_helpers\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_helpers.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible dependencies\\n\\nAn iOS app that has a dependency with a dependency on a framework for macOS.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible dependencies\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_incompatible_xcode\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_incompatible_xcode\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible Xcode\\n\\nAn iOS app whose Config file requires an Xcode version that is not available in the system.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible Xcode\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_incompatible_xcode\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_local_swift_package.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_local_swift_package\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_local_swift_package.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_local_swift_package\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_local_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a local Swift package\\n\\nAn iOS application that depends on a local Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS app with a local Swift package\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_local_swift_package\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_local_swift_package.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_multi_configs.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_multi_configs\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_multi_configs.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_multi_configs\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_multi_configs.md\\\"\\n---\\n\\n\\n\\n# iOS app with multiple configurations and an xcconfig\\n\\nA workspace that contains an application and frameworks that leverage multiple configurations (Debug, Beta and Release) each of which also has an associated xcconfig file within `ConfigurationFiles`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with multiple configurations and an xcconfig\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_multi_configs\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_multi_configs.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_on_demand_resources\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_on_demand_resources\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with on demand resources\\n\\nAn iOS applicaiton with on-demand resources. It contains file resources and asset catalogs associated with tags which in turn are distributed between three categories:\\n- Initial install tags\\n- Prefetch tag order\\n- Dowloaded only on demand\\n\\nCheck out example\\n\",\"title\":\"iOS app with on demand resources\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_on_demand_resources\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_privacy_manifest\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_privacy_manifest\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\\\"\\n---\\n\\n\\n\\n# Application with Privacy Manifest\\n\\nThis example contains an example that uses a [Privacy Manifest](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files), which describe the data the app collects and the reasons required APIs it uses.\\n\\nCheck out example\\n\",\"title\":\"Application with Privacy Manifest\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_privacy_manifest\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_remote_swift_package\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_remote_swift_package\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS App with a remote Swift package\\n\\nAn iOS application with a remote Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS App with a remote Swift package\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_remote_swift_package\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_sandbox_disabled\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_sandbox_disabled\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\\\"\\n---\\n\\n\\n\\n# iOS app with sandbox disabled\\n\\nAn example of a project manifest that accesses the file system, and therefore requires the sandbox to be disabled.\\n\\n*Note: disabling the sandbox is discouraged and should only be used if absolutely necessary.*\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with sandbox disabled\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_sandbox_disabled\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_sdk.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_sdk\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_sdk.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_sdk\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_sdk.md\\\"\\n---\\n\\n\\n\\n# iOS app with an SDK\\n\\nAn application that contains an application target that depends on system libraries and frameworks (`.framework` and `.tbd`).\\n\\nOne of the dependencies is declared as `.optional` i.e. will be linked weakly.\\n\\nCheck out example\\n\",\"title\":\"iOS app with an SDK\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_sdk\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_sdk.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependencies\\n\\nAn iOS application project with various SPM dependencies.\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependencies\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependency and force resolved versions flag\\n\\nAn iOS application project with one SPM dependency and --force-resolved-versions config flag\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependency and force resolved versions flag\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_static_frameworks.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_static_frameworks\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_static_frameworks.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_static_frameworks\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_static_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with static frameworks\\n\\n\\nThis fixture contains an application that depends on static frameworks, both directly and transitively.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Modules\\n - A:\\n - A (static framework iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static framework iOS)\\n - BTests (iOS unit tests)\\n - C:\\n - C (static framework iOS)\\n - CTests (iOS unit tests)\\n - D:\\n - D (dynamic framework iOS)\\n```\\n\\nA standalone `Prebuilt` project is used to generate a prebuilt static framework:\\n\\n```\\n- Prebuilt\\n - PrebuiltStaticFramework (static framework iOS)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- App -> C\\n- App -> PrebuiltStaticFramework\\n- A -> B\\n- A -> C\\n- C -> D\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_frameworks/Prebuilt//build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static frameworks\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_static_frameworks\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_static_frameworks.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_static_libraries.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_static_libraries\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_static_libraries.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_static_libraries\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_static_libraries.md\\\"\\n---\\n\\n\\n\\n# iOS app with static libraries\\n\\n\\nThis application provides a top level application with two static library dependencies. The first static library dependency has another static library dependency so that we are able to test how Tuist handles the transitiveness of the static libraries in the linked frameworks of the main app.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - A:\\n - A (static library iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static library iOS)\\n - BTests (iOS unit tests)\\n```\\n\\nA standalone C project is used to generate a prebuilt static library:\\n\\n```\\n - C:\\n - C (static library iOS)\\n - CTests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- A -> B\\n- A -> prebuild C (libC.a)\\n\\nNote: to re-create `libC.a` run `ios_app_with_static_libraries/Modules/C/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static libraries\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_static_libraries\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_static_libraries.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_static_library_and_package\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_static_library_and_package\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a static library and a package\\n\\nAn iOS application that depends on static library that depends on Swift package where static library is defined first.\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_library_and_package/Prebuilt/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a static library and a package\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_static_library_and_package\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_tests.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_tests\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_tests.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_tests\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_tests.md\\\"\\n---\\n\\n\\n\\n# iOS app with tests\\n\\nA simple iOS app with tests, which includes a setup manifest and uses `.notGrouped` autogenerated schemes.\\n\\nCheck out example\\n\",\"title\":\"iOS app with tests\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_tests\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_tests.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a transitive framework\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n```\\n\\nA standalone Framework2 project is used to generate a prebuilt dynamic framework:\\n\\n```\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2 (prebuilt)\\n\\nNote: to re-create `Framework2.framework` run `ios_app_with_transitive_framework/Framework2/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a transitive framework\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\\\"\\n---\\n\\n\\n\\n# iOS app with transitive framework through macro executable\\n\\nThis fixture contains an iOS app that transitively and directly depends on a Swift Macro (executable)'s direct dependency.\\nIt was included [in this issue](https://github.com/tuist/tuist/issues/5988) because the set up caused the warming of the binary cache to fail due to \\\"multiple commands produce the same output\\\" error when archiving.\\nAs a solution, we moved away from using archive, and instead use the build action to warm the cache.\\n\\nCheck out example\\n\",\"title\":\"iOS app with transitive framework through macro executable\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_app_with_xcframeworks.md\",\"url\":\"/es/guides/examples/generated-projects/ios_app_with_xcframeworks\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_app_with_xcframeworks.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_app_with_xcframeworks\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_app_with_xcframeworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with xcframeworks\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - MyFramework:\\n - MyFramework (dynamic iOS framework)\\n - MyStaticFramework:\\n - MyStaticFramework (static iOS framework)\\n - MyStaticLibirary:\\n - MyStaticLibrary (static iOS libraries)\\n```\\n\\nAn example of an application which depends on prebuilt `.xcframework`s.\\n\\nThe `.xcframework` can be obtained by running the `build.sh` script within the each of the xcframework directories\\ne.g. `ios_app_with_xcframeworks/XCFrameworks/MyFramework/build.sh`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with xcframeworks\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_app_with_xcframeworks\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_app_with_xcframeworks.md\"}},{\"path\":\"/es/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\",\"url\":\"/es/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\",\"llmUrl\":\"/es/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\\\"\\n---\\n\\n\\n\\n# iOS workspace with a dependency cycle\\n\\nAn example of a workspace that has a dependency cycle between targets in different projects.\\n\\nCheck out example\\n\",\"title\":\"iOS workspace with a dependency cycle\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\"}},{\"path\":\"/es/guides/examples/generated-projects/macos_app_with_extensions.md\",\"url\":\"/es/guides/examples/generated-projects/macos_app_with_extensions\",\"llmUrl\":\"/es/guides/examples/generated-projects/macos_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/macos_app_with_extensions\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/macos_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# macOS app with extensions\\n\\nThe project contains a macOS app with various types of extensions.\\n\\nCheck out example\\n\",\"title\":\"macOS app with extensions\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/macos_app_with_extensions\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/macos_app_with_extensions.md\"}},{\"path\":\"/es/guides/examples/generated-projects/package_with_registry_and_alamofire.md\",\"url\":\"/es/guides/examples/generated-projects/package_with_registry_and_alamofire\",\"llmUrl\":\"/es/guides/examples/generated-projects/package_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/package_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/package_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Swift package with registry and Alamofire\\n\\nA simple Swift package that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Swift package with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/package_with_registry_and_alamofire\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/package_with_registry_and_alamofire.md\"}},{\"path\":\"/es/guides/examples/generated-projects/project_with_class_prefix.md\",\"url\":\"/es/guides/examples/generated-projects/project_with_class_prefix\",\"llmUrl\":\"/es/guides/examples/generated-projects/project_with_class_prefix.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/project_with_class_prefix\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/project_with_class_prefix.md\\\"\\n---\\n\\n\\n\\n# Project with class prefix\\n\\nThis example generate Xcode project with custom class prefix setting.\\n\\nCheck out example\\n\",\"title\":\"Project with class prefix\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/project_with_class_prefix\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/project_with_class_prefix.md\"}},{\"path\":\"/es/guides/examples/generated-projects/xcode_app.md\",\"url\":\"/es/guides/examples/generated-projects/xcode_app\",\"llmUrl\":\"/es/guides/examples/generated-projects/xcode_app.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/xcode_app\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/xcode_app.md\\\"\\n---\\n\\n\\n\\n# Xcode app\\n\\nA simple app created with Xcode. This fixture is _not_ using Tuist projects and it is meant to test features that don't require Tuist projects, such as `tuist share`.\\n\\nCheck out example\\n\",\"title\":\"Xcode app\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/xcode_app\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/xcode_app.md\"}},{\"path\":\"/es/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\",\"url\":\"/es/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\",\"llmUrl\":\"/es/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/es/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/es/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Xcode project with registry and Alamofire\\n\\nA simple app created with Xcode that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Xcode project with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/es/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\",\"LLMS_URL\":\"/es/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\"}},{\"path\":\"/es/guides/features/agentic-coding/mcp.md\",\"url\":\"/es/guides/features/agentic-coding/mcp\",\"llmUrl\":\"/es/guides/features/agentic-coding/mcp.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/agentic-coding/mcp\\\"\\nLLMS_URL: \\\"/es/guides/features/agentic-coding/mcp.md\\\"\\ntitle: \\\"Model Context Protocol (MCP)\\\"\\ntitleTemplate: \\\":title · AI · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist's MCP server to have a language-based interface for your app development environment.\\\"\\n---\\n\\n# Model Context Protocol (MCP)\\n\\n[Model Context Protocol (MCP)](https://www.claudemcp.com) is a standard proposed by [Claude](https://claude.ai) for LLMs to interact with development environments.\\nYou can think of it as the USB-C of LLMs.\\nLike shipping containers, which made cargo and transportation more interoperable,\\nor protocols like TCP, which decoupled the application layer from the transport layer,\\nMCP makes LLM-powered applications such as [Claude](https://claude.ai/) and editors like [Zed](https://zed.dev) or [Cursor](https://www.cursor.com) interoperable with other domains.\\n\\nTuist provides a local server through its CLI so that you can interact with your **app development environment**.\\nBy connecting your client apps to it, you can use language to interact with your projects.\\n\\nIn this page you'll learn about how to set it up and its capabilities.\\n\\n> [!NOTE]\\n> Tuist MCP server uses Xcode's most-recent projects as the source of truth for projects you want to interact with.\\n\\n## Set it up\\n\\n### [Claude](https://claude.ai)\\n\\nIf you are using [Claude desktop](https://claude.ai/download), you can run the tuist mcp setup claude command to configure your Claude environment.\\n\\nAlternatively, can manually edit the file at `~/Library/Application\\\\ Support/Claude/claude_desktop_config.json`, and add the Tuist MCP server:\\n\\n:::code-group\\n\\n```json [Global Tuist installation (e.g. Homebrew)]\\n{\\n \\\"mcpServers\\\": {\\n \\\"tuist\\\": {\\n \\\"command\\\": \\\"tuist\\\",\\n \\\"args\\\": [\\\"mcp\\\", \\\"start\\\"]\\n }\\n }\\n}\\n```\\n\\n```json [Mise installation]\\n{\\n \\\"mcpServers\\\": {\\n \\\"tuist\\\": {\\n \\\"command\\\": \\\"mise\\\",\\n \\\"args\\\": [\\\"x\\\", \\\"tuist@latest\\\", \\\"--\\\", \\\"tuist\\\", \\\"mcp\\\", \\\"start\\\"] // Or [email protected] to fix the version\\n }\\n }\\n}\\n```\\n\\n:::\\n\\n## Capabilities\\n\\nIn the following sections you'll learn about the capabilities of the Tuist MCP server.\\n\\n### Recursos\\n\\n#### Recent projects and workspaces\\n\\nTuist keeps a record of the Xcode projects and workspaces you’ve recently worked with, giving your application access to their dependency graphs for powerful insights. You can query this data to uncover details about your project structure and relationships, such as:\\n\\n- What are the direct and transitive dependencies of a specific target?\\n- Which target has the most source files, and how many does it include?\\n- What are all the static products (e.g., static libraries or frameworks) in the graph?\\n- Can you list all targets, sorted alphabetically, along with their names and product types (e.g., app, framework, unit test)?\\n- Which targets depend on a particular framework or external dependency?\\n- What’s the total number of source files across all targets in the project?\\n- Are there any circular dependencies between targets, and if so, where?\\n- Which targets use a specific resource (e.g., an image or plist file)?\\n- What’s the deepest dependency chain in the graph, and which targets are involved?\\n- Can you show me all the test targets and their associated app or framework targets?\\n- Which targets have the longest build times based on recent interactions?\\n- What are the differences in dependencies between two specific targets?\\n- Are there any unused source files or resources in the project?\\n- Which targets share common dependencies, and what are they?\\n\\nWith Tuist, you can dig into your Xcode projects like never before, making it easier to understand, optimize, and manage even the most complex setups!\\n\",\"title\":\"Model Context Protocol (MCP)\",\"frontmatter\":{\"URL\":\"/es/guides/features/agentic-coding/mcp\",\"LLMS_URL\":\"/es/guides/features/agentic-coding/mcp.md\",\"title\":\"Model Context Protocol (MCP)\",\"titleTemplate\":\":title · AI · Guides · Tuist\",\"description\":\"Learn how to use Tuist's MCP server to have a language-based interface for your app development environment.\"}},{\"path\":\"/es/guides/features/build.md\",\"url\":\"/es/guides/features/build\",\"llmUrl\":\"/es/guides/features/build.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/build\\\"\\nLLMS_URL: \\\"/es/guides/features/build.md\\\"\\ntitle: \\\"Build\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist to build your projects efficiently.\\\"\\n---\\n\\n# Build {#build}\\n\\nProjects are usually built through a build-system-provided CLI (e.g. `xcodebuild`). Tuist wraps them to improve the user experience and integrate the workflows with the platform to provide optimizations and analytics.\\n\\nYou might wonder what's the value of using `tuist build` over generating the project with `tuist generate` (if needed) and building it with the platform-specific CLI. Here are some reasons:\\n\\n- **Single command:** `tuist build` ensures the project is generated if needed before compiling the project.\\n- **Beautified output:** Tuist enriches the output using tools like [xcbeautify](https://github.com/cpisciotta/xcbeautify) that make the output more user-friendly.\\n- Cache: It optimizes the build by deterministically reusing the build artifacts from a remote cache.\\n- **Analytics:** It collects and reports metrics that are correlated with other data points to provide you with actionable information to make informed decisions.\\n\\n## Usage {#usage}\\n\\n`tuist build` generates the project if needed, and then build it using the platform-specific build tool. We support the use of the `--` terminator to forward all subsequent arguments directly to the underlying build tool. This is useful when you need to pass arguments that are not supported by `tuist build` but are supported by the underlying build tool.\\n\\n::: code-group\\n\\n```bash [Build a scheme]\\ntuist build MyScheme\\n```\\n\\n```bash [Build a specific configuration]\\ntuist build MyScheme -- -configuration Debug\\n```\\n\\n```bash [Build all schemes without binary cache]\\ntuist build --no-binary-cache\\n```\\n\\n:::\\n\",\"title\":\"Build\",\"frontmatter\":{\"URL\":\"/es/guides/features/build\",\"LLMS_URL\":\"/es/guides/features/build.md\",\"title\":\"Build\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Learn how to use Tuist to build your projects efficiently.\"}},{\"path\":\"/es/guides/features/bundle-size.md\",\"url\":\"/es/guides/features/bundle-size\",\"llmUrl\":\"/es/guides/features/bundle-size.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/bundle-size\\\"\\nLLMS_URL: \\\"/es/guides/features/bundle-size.md\\\"\\ntitle: \\\"Bundle Size\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Find out how to make and keep your app's memory footprint as small as possible.\\\"\\n---\\n\\n# Bundle Size {#bundle-size}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A Tuist account and project\\n\\nAs you add more features to your app, your app bundle size keeps growing. While some of the bundle size growth is inevitable as you ship more code and assets, there are many ways to minimze that growth, such as by ensuring your assets are not duplicated across your bundles or stripping unused binary symbols. Tuist provides you with tools and insights to help your app size stay small – and we also monitor your app size over time.\\n\\n## Usage {#usage}\\n\\nTo analyze a bundle, you can use the `tuist inspect bundle` command:\\n\\n::: code-group\\n\\n```bash [Analyze an .ipa]\\ntuist inspect bundle App.ipa\\n```\\n\\n```bash [Analyze an .xcarchive]\\ntuist inspect bundle App.xcarchive\\n```\\n\\n```bash [Analyze an app bundle]\\ntuist inspect bundle App.app\\n```\\n\\n:::\\n\\nThe `tuist inspect bundle` command analyzes the bundle and provides you with a link to see a detailed overview of the bundle including a scan of the contents of the bundle or a module breakdown:\\n\\n\\n\\n## Continuous integration {#continuous-integration}\\n\\nTo track bundle size over time, you will need to analyze the bundle on the CI. First, you will need to ensure that your CI is authenticated:\\n\\nAn example workflow for GitHub Actions could then look like this:\\n\\n```yaml\\nname: Build\\n\\njobs:\\n build:\\n steps:\\n - # Build your app\\n - name: Analyze bundle\\n run: tuist inspect bundle App.ipa\\n env:\\n TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}\\n```\\n\\nOnce set up, you will be able to see how your bundle size evolves over time:\\n\\n\\n\\n## Pull/merge request comments {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] INTEGRATION WITH GIT PLATFORM REQUIRED\\n> To get automatic pull/merge request comments, integrate your Tuist project with a Git platform.\\n\\nOnce your Tuist project is connected with your Git platform such as [GitHub](https://github.com), Tuist will post a comment directly in your pull/merge requests whenever you run `tuist inspect bundle`:\\n\\n\",\"title\":\"Bundle Size\",\"frontmatter\":{\"URL\":\"/es/guides/features/bundle-size\",\"LLMS_URL\":\"/es/guides/features/bundle-size.md\",\"title\":\"Bundle Size\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Find out how to make and keep your app's memory footprint as small as possible.\"}},{\"path\":\"/es/guides/features/cache.md\",\"url\":\"/es/guides/features/cache\",\"llmUrl\":\"/es/guides/features/cache.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/cache\\\"\\nLLMS_URL: \\\"/es/guides/features/cache.md\\\"\\ntitle: \\\"Cache\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Optimize your build times by caching compiled binaries and sharing them across different environments.\\\"\\n---\\n\\n# Cache {#cache}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A generated project\\n> - A Tuist account and project\\n\\nXcode's build system provides [incremental builds](https://en.wikipedia.org/wiki/Incremental_build_model), enhancing efficiency under normal circumstances. However, this feature falls short in [Continuous Integration (CI) environments](https://en.wikipedia.org/wiki/Continuous_integration), where data essential for incremental builds is not shared across different builds. Additionally, **developers often reset this data locally to troubleshoot complex compilation problems**, leading to more frequent clean builds. This results in teams spending excessive time waiting for local builds to finish or for Continuous Integration pipelines to provide feedback on pull requests. Furthermore, the frequent context switching in such an environment compounds this unproductiveness.\\n\\nTuist addresses these challenges effectively with its caching feature. This tool optimizes the build process by caching compiled binaries, significantly reducing build times both in local development and CI environments. This approach not only accelerates feedback loops but also minimizes the need for context switching, ultimately boosting productivity.\\n\\n## Warming {#warming}\\n\\nTuist efficiently utilizes hashes for each target in the dependency graph to detect changes. Utilizing this data, it builds and assigns unique identifiers to binaries derived from these targets. At the time of graph generation, Tuist then seamlessly substitutes the original targets with their corresponding binary versions.\\n\\nThis operation, known as _\\\"warming,\\\"_ produces binaries for local use or for sharing with teammates and CI environments via Tuist. The process of warming the cache is straightforward and can be initiated with a simple command:\\n\\n```bash\\ntuist cache\\n```\\n\\nThe command re-uses binaries to speed up the process.\\n\\n## Usage {#usage}\\n\\nBy default, when Tuist commands necessitate project generation, they automatically substitute dependencies with their binary equivalents from the cache, if available. Additionally, if you specify a list of targets to focus on, Tuist will also replace any dependent targets with their cached binaries, provided they are available. For those who prefer a different approach, there is an option to opt out of this behavior entirely by using a specific flag:\\n\\n::: code-group\\n\\n```bash [Project generation]\\ntuist generate # Only dependencies\\ntuist generate Search # Dependencies + Search dependencies\\ntuist generate Search Settings # Dependencies, and Search and Settings dependencies\\ntuist generate --no-binary-cache # No cache at all\\n```\\n\\n```bash [Testing]\\ntuist test\\n```\\n\\n:::\\n\\n> [!WARNING]\\n> Binary caching is a feature designed for development workflows such as running the app on a simulator or device, or running tests. It is not intended for release builds. When archiving the app, generate a project with the sources by using the `--no-binary-cache` flag.\\n\\n## Supported products {#supported-products}\\n\\nOnly the following target products are cacheable by Tuist:\\n\\n- Frameworks (static and dynamic) that don't depend on [XCTest](https://developer.apple.com/documentation/xctest)\\n- Bundles\\n- Swift Macros\\n\\nWe are working on supporting libraries and targets that depend on XCTest.\\n\\n> [!NOTE] UPSTREAM DEPENDENCIES\\n> When a target is non-cacheable it makes the upstream targets non-cacheable too. For example, if you have the dependency graph `A > B`, where A depends on B, if B is non-cacheable, A will also be non-cacheable.\\n\\n## Efficiency {#efficiency}\\n\\nThe level of efficiency that can be achieved with binary caching depends strongly on the graph structure. To achieve the best results, we recommend the following:\\n\\n1. Avoid very nested dependency graphs. The shallower the graph, the better.\\n2. Define dependencies with protocol/interface targets instead of implementation ones, and dependency-inject implementations from the top-most targets.\\n3. Split frequently-modified targets into smaller ones whose likelihood of change is lower.\\n\\nThe above suggestions are part of the The Modular Architecture, which we propose as a way to structure your projects to maximize the benefits not only of binary caching but also of Xcode's capabilities.\\n\\n## Recommended setup {#recommended-setup}\\n\\nWe recommend having a CI job that **runs in every commit in the main branch** to warm the cache. This will ensure the cache always contains binaries for the changes in `main` so local and CI branch build incrementally upon them.\\n\\n> [!TIP] CACHE WARMING USES BINARIES\\n> The `tuist cache` command also makes use of the binary cache to speed up the warming.\\n\\nThe following are some examples of common workflows:\\n\\n### A developer starts to work on a new feature {#a-developer-starts-to-work-on-a-new-feature}\\n\\n1. They create a new branch from `main`.\\n2. They run `tuist generate`.\\n3. Tuist pulls the most recent binaries from `main` and generates the project with them.\\n\\n### A developer pushes changes upstream {#a-developer-pushes-changes-upstream}\\n\\n1. The CI pipeline will run `tuist build` or `tuist test` to build or test the project.\\n2. The workflow will pull the most recent binaries from `main` and generate the project with them.\\n3. It will then build or test the project incrementally.\\n\\n## Troubleshooting {#troubleshooting}\\n\\n### It doesn't use binaries for my targets {#it-doesnt-use-binaries-for-my-targets}\\n\\nEnsure that the hashes are deterministic across environments and runs. This might happen if the project has references to the environment, for example through absolute paths. You can use the `diff` command to compare the projects generated by two consecutive invocations of `tuist generate` or across environments or runs.\\n\\nAlso make sure that the target doesn't depend either directly or indirectly on a non-cacheable target.\\n\",\"title\":\"Cache\",\"frontmatter\":{\"URL\":\"/es/guides/features/cache\",\"LLMS_URL\":\"/es/guides/features/cache.md\",\"title\":\"Cache\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Optimize your build times by caching compiled binaries and sharing them across different environments.\"}},{\"path\":\"/es/guides/features/insights.md\",\"url\":\"/es/guides/features/insights\",\"llmUrl\":\"/es/guides/features/insights.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/insights\\\"\\nLLMS_URL: \\\"/es/guides/features/insights.md\\\"\\ntitle: \\\"Insights\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Get insights into your projects to maintain a product developer environment.\\\"\\n---\\n\\n# Insights {#insights}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A Tuist account and project\\n\\nWorking on large projects shouldn't feel like a chore. In fact, it should be as enjoyable as working on a project you started just two weeks ago. One of the reasons it is not is because as the project grows, the developer experience suffers. The build times increase and tests become slow and flaky. It's often easy to overlook these issues until it gets to a point where they become unbearable – however, at that point, it's difficult to address them. Tuist Insights provides you with the tools to monitor the health of your project and maintain a productive developer environment as your project scales.\\n\\nIn other words, Tuist Insights helps you to anwer questions such as:\\n\\n- Has the build time significantly increased in the last week?\\n- Have my tests become slower? Which ones?\\n\\n> [!NOTE]\\n> Tuist Insights are in early development.\\n\\n## Builds {#builds}\\n\\nWhile you probably have some metrics for the performance of CI workflows, you might not have the same visibility into the local development environment. However, local build times are one of the most important factors that contribute to the developer experience.\\n\\nTo start tracking local build times, you can leverage the `tuist inspect build` command by adding it to your scheme's post-action:\\n\\n\\n\\nIn case you're using [Mise](https://mise.jdx.dev/), your script will need to activate `tuist` in the post-action environment:\\n\\n```sh\\n# -C ensures that Mise loads the configuration from the Mise configuration\\n# file in the project's root directory.\\neval \\\"$($HOME/.local/bin/mise activate -C $SRCROOT bash --shims)\\\"\\n\\ntuist inspect build\\n```\\n\\nYour local builds are now tracked as long as you are logged in to your Tuist account. You can now access your build times in the Tuist dashboard and see how they evolve over time:\\n\\n> [!TIP]\\n> To quickly access the dashboard, run `tuist project show --web` from the CLI.\\n\\n\\n\\n## Projects {#projects}\\n\\n> [!NOTE]\\n> Auto-generated schemes automatically include the `tuist inspect build` post-action.\\n>\\n> If you are not interested in tracking build insights in your auto-generated schemes, disable them using the buildInsightsDisabled generation option.\\n\\nIf you are using generated projects, you can set up a custom build post-action using a custom scheme, such as:\\n\\n```swift\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n targets: [\\n // Your targets\\n ],\\n schemes: [\\n .scheme(\\n name: \\\"MyApp\\\",\\n shared: true,\\n buildAction: .buildAction(\\n targets: [\\\"MyApp\\\"],\\n postActions: [\\n .executionAction(\\n name: \\\"Inspect Build\\\",\\n scriptText: \\\"\\\"\\\"\\n eval \\\\\\\"$($HOME/.local/bin/mise activate -C $SRCROOT bash --shims)\\\\\\\"\\n tuist inspect build\\n \\\"\\\"\\\"\\n )\\n ],\\n runPostActionsOnFailure: true\\n ),\\n testAction: .testAction(targets: [\\\"MyAppTests\\\"]),\\n runAction: .runAction(configuration: \\\"Debug\\\")\\n )\\n ]\\n)\\n```\\n\\nIf you're not using Mise, your script can be simplified to just:\\n\\n```swift\\n.postAction(\\n name: \\\"Inspect Build\\\",\\n script: \\\"tuist inspect build\\\",\\n execution: .always\\n)\\n```\\n\\n## Continuous integration {#continuous-integration}\\n\\nTo track build times also on the CI, you will need to ensure that your CI is authenticated.\\n\\nAdditionally, you will either need to:\\n\\n- Use the `tuist xcodebuild` command when invoking `xcodebuild` actions.\\n- Add `-resultBundlePath` to your `xcodebuild` invocation.\\n\\nWhen `xcodebuild` builds your project without `-resultBundlePath`, the `.xcactivitylog` file is not generated. But the `tuist inspect build` post-action requires that file to be generated to analyze your build.\\n\",\"title\":\"Insights\",\"frontmatter\":{\"URL\":\"/es/guides/features/insights\",\"LLMS_URL\":\"/es/guides/features/insights.md\",\"title\":\"Insights\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Get insights into your projects to maintain a product developer environment.\"}},{\"path\":\"/es/guides/features/previews.md\",\"url\":\"/es/guides/features/previews\",\"llmUrl\":\"/es/guides/features/previews.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/previews\\\"\\nLLMS_URL: \\\"/es/guides/features/previews.md\\\"\\ntitle: \\\"Previews\\\"\\ntitleTemplate: \\\":title · Share · Guides · Tuist\\\"\\ndescription: \\\"Learn how to generate and share previews of your apps with anyone.\\\"\\n---\\n\\n# Previews {#previews}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A Tuist account and project\\n\\nWhen building an app, you may want to share it with others to get feedback.\\nTraditionally, this is something that teams do by building, signing, and pushing their apps to platforms like Apple's [TestFlight](https://developer.apple.com/testflight/).\\nHowever, this process can be cumbersome and slow, especially when you're just looking for quick feedback from a colleague or a friend.\\n\\nTo make this process more streamlined, Tuist provides a way to generate and share previews of your apps with anyone.\\n\\n> [!IMPORTANT] DEVICE BUILDS NEED TO BE SIGNED\\n> When building for device, it is currently your responsibility to ensure the app is signed correctly. We plan to streamline this in the future.\\n\\n:::code-group\\n\\n```bash [Tuist Project]\\ntuist build App # Build the app for the simulator\\ntuist build App -- -destination 'generic/platform=iOS' # Build the app for the device\\ntuist share App\\n```\\n\\n```bash [Xcode Project]\\nxcodebuild -scheme App -project App.xcodeproj -configuration Debug # Build the app for the simulator\\nxcodebuild -scheme App -project App.xcodeproj -configuration Debug -destination 'generic/platform=iOS' # Build the app for the device\\ntuist share App --configuration Debug --platforms iOS\\ntuist share App.ipa # Share an existing .ipa file\\n```\\n\\n:::\\n\\nThe command will generate a link that you can share with anyone to run the app – either on a simulator or an actual device. All they'll need to do is to run the command below:\\n\\n```bash\\ntuist run {url}\\ntuist run --device \\\"My iPhone\\\" {url} # Run the app on a specific device\\n```\\n\\nWhen sharing an `.ipa` file, you can download the app directly from the mobile device using the Preview link.\\nThe links to `.ipa` previews are by default _public_. In the future, you will have an option to make them private, so that the recipient of the link would need to authenticate with their Tuist account to download the app.\\n\\n`tuist run` also enables you to run a latest preview based on a specifier such as `latest`, branch name, or a specific commit hash:\\n\\n```bash\\ntuist run App@latest # Runs latest App preview associated with the project's default branch\\ntuist run App@my-feature-branch # Runs latest App preview associated with a given branch\\ntuist run App@00dde7f56b1b8795a26b8085a781fb3715e834be # Runs latest App preview associated with a given git commit sha\\n```\\n\\n> [!IMPORTANT] PREVIEWS' VISIBILITY\\n> Only people with access to the organization the project belongs to can access the previews. We plan to add support for expiring links.\\n\\n## Tuist macOS app {#tuist-macos-app}\\n\\n
\\n\\nTo make running Tuist Previews even easier, we developed a Tuist macOS menu bar app. Instead of running Previews via the Tuist CLI, you can [download](https://tuist.dev/download) the macOS app. You can also install the app by running `brew install --cask tuist/tuist/tuist`.\\n\\nWhen you now click on \\\"Run\\\" in the Preview page, the macOS app will automatically launch it on your currently selected device.\\n\\n> [!IMPORTANT] REQUIREMENTS\\n> To download Previews, you need to first authenticate with the `tuist auth login` command.\\n> In the future, you will be able to authenticate directly in the app.\\n>\\n> Additionally, you need to have Xcode locally installed.\\n\\n## Pull/merge request comments {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] INTEGRATION WITH GIT PLATFORM REQUIRED\\n> To get automatic pull/merge request comments, integrate your remote project with a Git platform.\\n\\nTesting new functionality should be a part of any code review. But having to build an app locally adds unnecessary friction, often leading to developers skipping testing functionality on their device at all. But _what if each pull request contained a link to the build that would automatically run the app on a device you selected in the Tuist macOS app?_\\n\\nOnce your Tuist project is connected with your Git platform such as [GitHub](https://github.com), add a `tuist share MyApp` to your CI workflow. Tuist will then post a Preview link directly in your pull requests:\\n\\n\\n## README badge {#readme-badge}\\n\\nTo make Tuist Previews more visible in your repository, you can add a badge to your `README` file that points to the latest Tuist Preview:\\n\\n[](https://tuist.dev/Dimillian/IcySky/previews/latest)\\n\\nTo add the badge to your `README`, use the following markdown and replace the account and project handles with your own:\\n\\n```\\n[](https://tuist.dev/{account-handle}/{project-handle}/previews/latest)\\n```\\n\\n## Automations {#automations}\\n\\nYou can use the `--json` flag to get a JSON output from the `tuist share` command:\\n\\n```\\ntuist share --json\\n```\\n\\nThe JSON output is useful to create custom automations, such as posting a Slack message using your CI provider.\\nThe JSON contains a `url` key with the full preview link and a `qrCodeURL` key with the URL to the QR code image\\nto make it easier to download previews from a real device. An example of a JSON output is below:\\n\\n```json\\n{\\n \\\"id\\\": 1234567890,\\n \\\"url\\\": \\\"https://cloud.tuist.io/preview/1234567890\\\",\\n \\\"qrCodeURL\\\": \\\"https://cloud.tuist.io/preview/1234567890/qr-code.svg\\\"\\n}\\n```\\n\",\"title\":\"Previews\",\"frontmatter\":{\"URL\":\"/es/guides/features/previews\",\"LLMS_URL\":\"/es/guides/features/previews.md\",\"title\":\"Previews\",\"titleTemplate\":\":title · Share · Guides · Tuist\",\"description\":\"Learn how to generate and share previews of your apps with anyone.\"}},{\"path\":\"/es/guides/features/projects.md\",\"url\":\"/es/guides/features/projects\",\"llmUrl\":\"/es/guides/features/projects.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects\\\"\\nLLMS_URL: \\\"/es/guides/features/projects.md\\\"\\ntitle: \\\"Projects\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about Tuist's DSL for defining Xcode projects.\\\"\\n---\\n\\n# Projects {#projects}\\n\\nGenerated is a viable alternative that helps to overcome these challenges while keeping complexity and costs at an acceptable level. It considers Xcode projects as a fundamental element, ensuring resilience against future Xcode updates, and leverages Xcode project generation to provide teams with a modularization-focused declarative API. Tuist uses the project declaration to simplify the complexities of modularization\\\\*\\\\*, optimize workflows like build or test across various environments, and facilitate and democratize the evolution of Xcode projects.\\n\\n## How does it work? {#how-does-it-work}\\n\\nTo get started with generated projects, all you need is to define your project using **Tuist's Domain Specific Language (DSL)**. This entails using manifest files such as `Workspace.swift` or `Project.swift`. If you've worked with the Swift Package Manager before, the approach is very similar.\\n\\nOnce you've defined your project, Tuist offers various workflows to manage and interact with it:\\n\\n- **Generate:** This is a foundational workflow. Use it to create an Xcode project that's compatible with Xcode.\\n- **Build:** This workflow not only generates the Xcode project but also employs `xcodebuild` to compile it.\\n- **Test:** Operating much like the build workflow, this not only generates the Xcode project but utilizes `xcodebuild` to test it.\\n\\n## Challenges with Xcode projects {#challenges-with-xcode-projects}\\n\\nAs Xcode projects grow, **organizations may face a decline in productivity** due to several factors, including unreliable incremental builds, frequent clearing of Xcode's global cache by developers encountering issues, and fragile project configurations. To maintain rapid feature development, organizations typically explore various strategies.\\n\\nSome organizations choose to bypass the compiler by abstracting the platform using JavaScript-based dynamic runtimes, such as [React Native](https://reactnative.dev/). While this approach may be effective, it [complicates access to the platform's native features](https://shopify.engineering/building-app-clip-react-native). Other organizations opt for **modularizing the codebase**, which helps establish clear boundaries, making the codebase easier to work with and improving the reliability of build times. However, the Xcode project format is not designed for modularity and results in implicit configurations that few understand and frequent conflicts. This leads to a bad bus factor, and although incremental builds may improve, developers might still frequently clear Xcode's build cache (i.e., derived data) when builds fail. To address this, some organizations choose to **abandon Xcode's build system** and adopt alternatives like [Buck](https://buck.build/) or [Bazel](https://bazel.build/). However, this comes with a [high complexity and maintenance burden](https://bazel.build/migrate/xcode).\\n\\n## Alternatives {#alternatives}\\n\\n### Swift Package Manager {#swift-package-manager}\\n\\nWhile the Swift Package Manager (SPM) primarily focuses on dependencies, Tuist offers a different approach. With Tuist, you don't just define packages for SPM integration; you shape your projects using familiar concepts like projects, workspaces, targets, and schemes.\\n\\n### XcodeGen {#xcodegen}\\n\\n[XcodeGen](https://github.com/yonaskolb/XcodeGen) is a dedicated project generator designed to reduce conflicts in collaborative Xcode projects and simplify some complexities of Xcode's internal workings. However, projects are defined using serializable formats like [YAML](https://yaml.org/). Unlike Swift, this doesn't allow developers to build upon abstractions or checks without incorporating additional tools. While XcodeGen does offer a way to map dependencies to an internal representation for validation and optimization, it still exposes developers to the nuances of Xcode. This might make XcodeGen a suitable foundation for [building tools](https://github.com/MobileNativeFoundation/rules_xcodeproj), as seen in the Bazel community, but it's not optimal for inclusive project evolution that aims to maintain a healthy and productive environment.\\n\\n### Bazel {#bazel}\\n\\n[Bazel](https://bazel.build) is an advanced build system renowned for its remote caching features, gaining popularity within the Swift community primarily for this capability. However, given the limited extensibility of Xcode and its build system, substituting it with Bazel's system demands significant effort and maintenance. Only a few companies with abundant resources can bear this overhead, as evident from the select list of firms investing heavily to integrate Bazel with Xcode. Interestingly, the community created a [tool](https://github.com/MobileNativeFoundation/rules_xcodeproj) that employs Bazel's XcodeGen to generate an Xcode project. This results in a convoluted chain of conversions: from Bazel files to XcodeGen YAML and finally to Xcode Projects. Such layered indirection often complicates troubleshooting, making issues more challenging to diagnose and resolve.\\n\",\"title\":\"Projects\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects\",\"LLMS_URL\":\"/es/guides/features/projects.md\",\"title\":\"Projects\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Learn about Tuist's DSL for defining Xcode projects.\"}},{\"path\":\"/es/guides/features/projects/adoption/migrate/bazel-project.md\",\"url\":\"/es/guides/features/projects/adoption/migrate/bazel-project\",\"llmUrl\":\"/es/guides/features/projects/adoption/migrate/bazel-project.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/adoption/migrate/bazel-project\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/adoption/migrate/bazel-project.md\\\"\\ntitle: \\\"Migrate a Bazel project\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to migrate your projects from Bazel to Tuist.\\\"\\n---\\n\\n# Migrate a Bazel project {#migrate-a-bazel-project}\\n\\n[Bazel](https://bazel.build) is a build system that Google open-sourced in 2015. It's a powerful tool that allows you to build and test software of any size, quickly and reliably. Some large organizations like [Spotify](https://engineering.atspotify.com/2023/10/switching-build-systems-seamlessly/), [Tinder](https://medium.com/tinder/bazel-hermetic-toolchain-and-tooling-migration-c244dc0d3ae), or [Lyft](https://semaphoreci.com/blog/keith-smiley-bazel) use it, however, it requires an upfront (i.e., learning the technology) and ongoing investment (i.e., keeping up with Xcode updates) to introduce and maintain. While this works for some organizations that treat it as a cross-cutting concern, it might not be the best fit for others that want to focus on their product development. For instance, we've seen organizations whose iOS platform team introduced Bazel and had to drop it after the engineers that led the effort left the company. Apple's stance on the strong coupling between Xcode and the build system is another factor that makes it hard to maintain Bazel projects over time.\\n\\n> [!TIP] TUIST UNIQUENESS LIES IN ITS FINESSE\\n> Instead of fighting Xcode and Xcode projects, Tuist embraces it. It's the same concepts (e.g., targets, schemes, build settings), a familiar language (i.e., Swift), and a simple and enjoyable experience that makes maintaining and scaling projects everyone's job and not just the iOS platform team's.\\n\\n## Rules {#rules}\\n\\nBazel uses rules to define how to build and test software. The rules are written in [Starlark](https://github.com/bazelbuild/starlark), a Python-like language. Tuist uses Swift as a configuration language, which provides developers with the convenience of using Xcode's autocompletion, type-checking, and validation features. For example, the following rule describes how to build a Swift library in Bazel:\\n\\n::: code-group\\n\\n```txt [BUILD (Bazel)]\\nswift_library(\\n name = \\\"MyLibrary.library\\\",\\n srcs = glob([\\\"**/*.swift\\\"]),\\n module_name = \\\"MyLibrary\\\"\\n)\\n```\\n\\n```swift [Project.swift (Tuist)]\\nlet project = Project(\\n // ...\\n targets: [\\n .target(name: \\\"MyLibrary\\\", product: .staticLibrary, sources: [\\\"**/*.swift\\\"])\\n ]\\n)\\n```\\n\\n:::\\n\\nHere's another example but compating how to define unit tests in Bazel and Tuist:\\n\\n:::code-group\\n\\n```txt [BUILD (Bazel)]\\nios_unit_test(\\n name = \\\"MyLibraryTests\\\",\\n bundle_id = \\\"io.tuist.MyLibraryTests\\\",\\n minimum_os_version = \\\"16.0\\\",\\n test_host = \\\"//MyApp:MyLibrary\\\",\\n deps = [\\\":MyLibraryTests.library\\\"],\\n)\\n\\n```\\n\\n```swift [Project.swift (Tuist)]\\nlet project = Project(\\n // ...\\n targets: [\\n .target(\\n name: \\\"MyLibraryTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.MyLibraryTests\\\",\\n sources: \\\"Tests/MyLibraryTests/**\\\",\\n dependencies: [\\n .target(name: \\\"MyLibrary\\\"),\\n ]\\n )\\n ]\\n)\\n```\\n\\n:::\\n\\n## Swift Package Manager dependencies {#swift-package-manager-dependencies}\\n\\nIn Bazel, you can use the [`rules_swift_package_manager`](https://github.com/cgrindel/rules_swift_package_manager) [Gazelle](https://github.com/bazelbuild/bazel-gazelle/blob/master/extend.md) plugin to use Swift Packages as dependencies. The plugin requires a `Package.swift` as a source of truth for the dependencies. Tuist's interface is similar to Bazel's in that sense. You can use the `tuist install` command to resolve and pull the dependencies of the package. After the resolution completes, you can then generate the project with the `tuist generate` command.\\n\\n```bash\\ntuist install # Fetch dependencies defined in Tuist/Package.swift\\ntuist generate # Generate an Xcode project\\n```\\n\\n## Project generation {#project-generation}\\n\\nThe community provides a set of rules, [rules_xcodeproj](https://github.com/MobileNativeFoundation/rules_xcodeproj), to generate Xcode projects off Bazel-declared projects. Unlike Bazel, where you need to add some configuration to your `BUILD` file, Tuist doesn't require any configuration at all. You can run `tuist generate` in the root directory of your project, and Tuist will generate an Xcode project for you.\\n\",\"title\":\"Migrate a Bazel project\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/adoption/migrate/bazel-project\",\"LLMS_URL\":\"/es/guides/features/projects/adoption/migrate/bazel-project.md\",\"title\":\"Migrate a Bazel project\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to migrate your projects from Bazel to Tuist.\"}},{\"path\":\"/es/guides/features/projects/adoption/migrate/swift-package.md\",\"url\":\"/es/guides/features/projects/adoption/migrate/swift-package\",\"llmUrl\":\"/es/guides/features/projects/adoption/migrate/swift-package.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/adoption/migrate/swift-package\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/adoption/migrate/swift-package.md\\\"\\ntitle: \\\"Migrate a Swift Package\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to migrate from Swift Package Manager as a solution for managing your projects to Tuist projects.\\\"\\n---\\n\\n# Migrate a Swift Package {#migrate-a-swift-package}\\n\\nSwift Package Manager emerged as a dependency manager for Swift code that uninentionally found itself solving the problem of managing projects and supporting other programming languages like Objective-C. Because the tool was designed with a different purpose in mind, it can be challenging to use it to manage projects at scale because it lacks flexibility, performance, and power that Tuist provides. This is well captured in the [Scaling iOS at Bumble](https://medium.com/bumble-tech/scaling-ios-at-bumble-239e0fa009f2) article, which includes the following table comparing the performance of Swift Package Manager and native Xcode projects:\\n\\n\\n\\nWe often come across developers and organizations that challenge the need for Tuist considering that Swift Package Manager can take a similar project management role. Some venture into a migration to later on realize that their developer experience has degraded signicantly. For instance, the rename of a file might take up to 15 seconds to re-index. 15 seconds!\\n\\n**Whether Apple will make Swift Package Manager a built-for-scale project manager is uncertain.** However, we are not seeing any signs that it's happening. In fact, we are seeing quite the opposite. They are making Xcode-inspired decisions, like achieving convenience through implicit configurations, which as you might know, is the source of complications at scale. We believe it'd take Apple to go to first principles and revisit some decisions that made sense as a dependency manager but not as a project manager, for example the usage of a compiled language as an interface to define projects.\\n\\n> [!TIP] SPM AS JUST A DEPENDENCY MANAGER\\n> Tuist treats Swift Package Manager as a dependency manager, and it's a great one. We use it to resolve dependencies and to build them. We don't use it to define projects because it's not designed for that.\\n\\n## Migrating from Swift Package Manager to Tuist {#migrating-from-swift-package-manager-to-tuist}\\n\\nThe similarities between Swift Package Manager and Tuist make the migration process straightforward. The main difference is that you'll be defining your projects using Tuist's DSL instead of `Package.swift`.\\n\\nFirst, create a `Project.swift` file next to your `Package.swift` file. The `Project.swift` file will contain the definition of your project. Here's an example of a `Project.swift` file that defines a project with a single target:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"App\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"io.tuist.App\\\",\\n sources: [\\\"Sources/**/*.swift\\\"]*\\n ),\\n ]\\n)\\n```\\n\\nSome things to note:\\n\\n- **ProjectDescription**: Instead of using `PackageDescription`, you'll be using `ProjectDescription`.\\n- **Project:** Instead of exporting a `package` instance, you'll be exporting a `project` instance.\\n- **Xcode language:** The primitives that you use to define your project mimic Xcode's language, so you'll find schemes, targets, and build phases among others.\\n\\nThen create a `Tuist.swift` file with the following content:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n\\nThe `Tuist.swift` contains the configuration for your project and its path serves as a reference to determine the root of your project. You can check out the directory structure document to learn more about the structure of Tuist projects.\\n\\n## Editing the project {#editing-the-project}\\n\\nYou can use `tuist edit` to edit the project in Xcode. The command will generate an Xcode project that you can open and start working on.\\n\\n```bash\\ntuist edit\\n```\\n\\nDepending on the size of the project, you might consider using it in one shot or incrementally. We recommend starting with a small project to get familiar with the DSL and the workflow. Our advise is always to start from the most depended upon target and work all the way up to the top-level target.\\n\",\"title\":\"Migrate a Swift Package\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/adoption/migrate/swift-package\",\"LLMS_URL\":\"/es/guides/features/projects/adoption/migrate/swift-package.md\",\"title\":\"Migrate a Swift Package\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to migrate from Swift Package Manager as a solution for managing your projects to Tuist projects.\"}},{\"path\":\"/es/guides/features/projects/adoption/migrate/xcode-project.md\",\"url\":\"/es/guides/features/projects/adoption/migrate/xcode-project\",\"llmUrl\":\"/es/guides/features/projects/adoption/migrate/xcode-project.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/adoption/migrate/xcode-project\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/adoption/migrate/xcode-project.md\\\"\\ntitle: \\\"Migrate an Xcode project\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to migrate an Xcode project to a Tuist project.\\\"\\n---\\n\\n# Migrate an Xcode project {#migrate-an-xcode-project}\\n\\nUnless you create a new project using Tuist, in which case you get everything configured automatically, you'll have to define your Xcode projects using Tuist's primitives. How tedious this process is, depends on how complex your projects are.\\n\\nAs you probably know, Xcode projects can become messy and complex over time: groups that don't match the directory structure, files that are shared across targets, or file references that point to nonexisting files (to mention some). All that accumulated complexity makes it hard for us to provide a command that reliably migrates project.\\n\\nMoreover, manual migration is an excellent exercise to clean up and simplify your projects. Not only the developers in your project will be thankful for that, but Xcode, who will be faster processing and indexing them. Once you have fully adopted Tuist, it will make sure that projects are consistently defined and that they remain simple.\\n\\nIn the aim of easing that work, we are giving you some guidelines based on the feedback that we have received from the users.\\n\\n## Create project scaffold {#create-project-scaffold}\\n\\nFirst of all, create a scaffold for your project with the following Tuist files:\\n\\n::: code-group\\n\\n```js [Tuist.swift]\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n\\n```js [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp-Tuist\\\",\\n targets: [\\n /** Targets will go here **/\\n ]\\n)\\n```\\n\\n```js [Tuist/Package.swift]\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n ]\\n)\\n```\\n\\n:::\\n\\n`Project.swift` is the manifest file where you'll define your project, and `Package.swift` is the manifest file where you'll define your dependencies. The `Tuist.swift` file is where you can define project-scoped Tuist settings for your project.\\n\\n> [!TIP] PROJECT NAME WITH -TUIST SUFFIX\\n> To prevent conflicts with the existing Xcode project, we recommend adding the `-Tuist` suffix to the project name. You can drop it once you've fully migrated your project to Tuist.\\n\\n## Build and test the Tuist project in CI {#build-and-test-the-tuist-project-in-ci}\\n\\nTo ensure the migration of each change is valid, we recommend extending your continuous integration to build and test the project generated by Tuist from your manifest file:\\n\\n```bash\\ntuist install\\ntuist generate\\ntuist build -- ...{xcodebuild flags} # or tuist test\\n```\\n\\n## Extract the project build settings into `.xcconfig` files {#extract-the-project-build-settings-into-xcconfig-files}\\n\\nExtract the build settings from the project into an `.xcconfig` file to make the project leaner and easier to migrate. You can use the following command to extract the build settings from the project into an `.xcconfig` file:\\n\\n```bash\\nmkdir -p xcconfigs/\\ntuist migration settings-to-xcconfig -p MyApp.xcodeproj -x xcconfigs/MyApp-Project.xcconfig\\n```\\n\\nThen update your `Project.swift` file to point to the `.xcconfig` file you've just created:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n settings: .settings(configurations: [\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/MyApp-Project.xcconfig\\\"), // [!code ++]\\n .release(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/MyApp-Project.xcconfig\\\"), // [!code ++]\\n ]),\\n targets: [\\n /** Targets will go here **/\\n ]\\n)\\n```\\n\\nThen extend your continuous integration pipeline to run the following command to ensure that changes to build settings are made directly to the `.xcconfig` files:\\n\\n```bash\\ntuist migration check-empty-settings -p Project.xcodeproj\\n```\\n\\n## Extract package dependencies {#extract-package-dependencies}\\n\\nExtract all your project's dependencies into the `Tuist/Package.swift` file:\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n .package(url: \\\"https://github.com/onevcat/Kingfisher\\\", .upToNextMajor(from: \\\"7.12.0\\\")) // [!code ++]\\n ]\\n)\\n```\\n\\n> [!TIP] PRODUCT TYPES\\n> You can override the product type for a specific package by adding it to the `productTypes` dictionary in the `PackageSettings` struct. By default, Tuist assumes that all packages are static frameworks.\\n\\n## Determine the migration order {#determine-the-migration-order}\\n\\nWe recommend migrating the targets from the one that is the most dependent upon to the least. You can use the following command to list the targets of a project, sorted by the number of dependencies:\\n\\n```bash\\ntuist migration list-targets -p Project.xcodeproj\\n```\\n\\nStart migrating the targets from the top of the list, as they are the ones that are the most depended upon.\\n\\n## Migrate targets {#migrate-targets}\\n\\nMigrate the targets one by one. We recommend doing a pull request for each target to ensure that the changes are reviewed and tested before merging them.\\n\\n### Extract the target build settings into `.xcconfig` files {#extract-the-target-build-settings-into-xcconfig-files}\\n\\nLike you did with the project build settings, extract the target build settings into an `.xcconfig` file to make the target leaner and easier to migrate. You can use the following command to extract the build settings from the target into an `.xcconfig` file:\\n\\n```bash\\ntuist migration settings-to-xcconfig -p MyApp.xcodeproj -t TargetX -x xcconfigs/TargetX.xcconfig\\n```\\n\\n### Define the target in the `Project.swift` file {#define-the-target-in-the-projectswift-file}\\n\\nDefine the target in `Project.targets`:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n settings: .settings(configurations: [\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/Project.xcconfig\\\"),\\n .release(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/Project.xcconfig\\\"),\\n ]),\\n targets: [\\n .target( // [!code ++]\\n name: \\\"TargetX\\\", // [!code ++]\\n destinations: .iOS, // [!code ++]\\n product: .framework, // [!code ++] // or .staticFramework, .staticLibrary...\\n bundleId: \\\"io.tuist.targetX\\\", // [!code ++]\\n sources: [\\\"Sources/TargetX/**\\\"], // [!code ++]\\n dependencies: [ // [!code ++]\\n /** Dependencies go here **/ // [!code ++]\\n /** .external(name: \\\"Kingfisher\\\") **/ // [!code ++]\\n /** .target(name: \\\"OtherProjectTarget\\\") **/ // [!code ++]\\n ], // [!code ++]\\n settings: .settings(configurations: [ // [!code ++]\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/TargetX.xcconfig\\\"), // [!code ++]\\n .debug(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/TargetX.xcconfig\\\"), // [!code ++]\\n ]) // [!code ++]\\n ), // [!code ++]\\n ]\\n)\\n```\\n\\n> [!NOTE] TEST TARGETS\\n> If the target has an associated test target, you should define it in the `Project.swift` file as well repeating the same steps.\\n\\n### Validate the target migration {#validate-the-target-migration}\\n\\nRun `tuist build` and `tuist test` to ensure the project builds and tests pass. Additionally, you can use [xcdiff](https://github.com/bloomberg/xcdiff) to compare the generated Xcode project with the existing one to ensure that the changes are correct.\\n\\n### Repeat {#repeat}\\n\\nRepeat until all the targets are fully migrated. Once you are done, we recommend updating your CI and CD pipelines to build and test the project using `tuist build` and `tuist test` commands to benefit from the speed and reliability that Tuist provides.\\n\\n## Troubleshooting {#troubleshooting}\\n\\n### Compilation errors due to missing files. {#compilation-errors-due-to-missing-files}\\n\\nIf the files associated to your Xcode project targets were not all contained in a file-system directory representing the target, you might end up with a project that doesn't compile. Make sure the list of files after generating the project with Tuist matches the list of files in the Xcode project, and take the opportunity to align the file structure with the target structure.\\n\",\"title\":\"Migrate an Xcode project\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/adoption/migrate/xcode-project\",\"LLMS_URL\":\"/es/guides/features/projects/adoption/migrate/xcode-project.md\",\"title\":\"Migrate an Xcode project\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to migrate an Xcode project to a Tuist project.\"}},{\"path\":\"/es/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"url\":\"/es/guides/features/projects/adoption/migrate/xcodegen-project\",\"llmUrl\":\"/es/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/adoption/migrate/xcodegen-project\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/adoption/migrate/xcodegen-project.md\\\"\\ntitle: \\\"Migrate an XcodeGen project\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to migrate your projects from XcodeGen to Tuist.\\\"\\n---\\n\\n# Migrate an XcodeGen project {#migrate-an-xcodegen-project}\\n\\n[XcodeGen](https://github.com/yonaskolb/XcodeGen) is a project-generation tool that uses YAML as [a configuration format](https://github.com/yonaskolb/XcodeGen/blob/master/Docs/ProjectSpec.md) to define Xcode projects. Many organizations **adopted it trying to escape from the frequent Git conflicts that arise when working with Xcode projects.** However, frequent Git conflicts is just one of the many problems that organizations experience. Xcode exposes developers with a lot of intricacies and implicit configurations that make it hard to maintain and optimize projects at scale. XcodeGen falls short there by design because it's a tool that generates Xcode projects, not a project manager. If you need a tool that helps you beyond generating Xcode projects, you might want to consider Tuist.\\n\\n> [!TIP] SWIFT OVER YAML\\n> Many organizations prefer Tuist as a project generation tool too because it uses Swift as a configuration format. Swift is a programming language that developers are familiar with, and that provides them with the convenience of using Xcode's autocompletion, type-checking, and validation features.\\n\\nWhat follows are some considerations and guidelines to help you migrate your projects from XcodeGen to Tuist.\\n\\n## Project generation {#project-generation}\\n\\nBoth Tuist and XcodeGen provide a `generate` command that turns your project declaration into Xcode projects and workspaces.\\n\\n::: code-group\\n\\n```bash [XcodeGen]\\nxcodegen generate\\n```\\n\\n```bash [Tuist]\\ntuist generate\\n```\\n\\n:::\\n\\nThe difference lays in the editing experience. With Tuist, you can run the `tuist edit` command, which generates an Xcode project on the fly that you can open and start working on. This is particularly useful when you want to make quick changes to your project.\\n\\n## `project.yaml` {#projectyaml}\\n\\nXcodeGen's `project.yaml` description file becomes `Project.swift`. Moreover, you can have `Workspace.swift` as a way to customize how projects are grouped in workspaces. You can also have a project `Project.swift` with targets that reference targets from other projects. In those cases, Tuist will generate an Xcode Workspace including all the projects.\\n\\n::: code-group\\n\\n```bash [XcodeGen directory structure]\\n/\\n project.yaml\\n```\\n\\n```bash [Tuist directory structure]\\n/\\n Tuist.swift\\n Project.swift\\n Workspace.swift\\n```\\n\\n:::\\n\\n> [!TIP] XCODE'S LANGUAGE\\n> Both XcodeGen and Tuist embrace Xcode's language and concepts. However, Tuist's Swift-based configuration provides you with the convenience of using Xcode's autocompletion, type-checking, and validation features.\\n\\n## Spec templates {#spec-templates}\\n\\nOne of the disadvantages of YAML as a language for project configuration is that it doesn't support reusability across YAML files out of the box. This is a common need when describing projects, which XcodeGen had to solve with their own propietary solution named _\\\"templates\\\"_. With Tuist's re-usability is built into the language itself, Swift, and through a Swift module named project description helpers, which allow reusing code across all your manifest files.\\n\\n::: code-group\\n\\n```swift [Tuist/ProjectDescriptionHelpers/Target+Features.swift]\\nimport ProjectDescription\\n\\nextension Target {\\n /**\\n This function is a factory of targets that together represent a feature.\\n */\\n static func featureTargets(name: String) -> [Target] {\\n // ...\\n }\\n}\\n```\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers // [!code highlight]\\n\\nlet project = Project(name: \\\"MyProject\\\",\\n targets: Target.featureTargets(name: \\\"MyFeature\\\")) // [!code highlight]\\n```\\n\",\"title\":\"Migrate an XcodeGen project\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/adoption/migrate/xcodegen-project\",\"LLMS_URL\":\"/es/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"title\":\"Migrate an XcodeGen project\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to migrate your projects from XcodeGen to Tuist.\"}},{\"path\":\"/es/guides/features/projects/adoption/new-project.md\",\"url\":\"/es/guides/features/projects/adoption/new-project\",\"llmUrl\":\"/es/guides/features/projects/adoption/new-project.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/adoption/new-project\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/adoption/new-project.md\\\"\\ntitle: \\\"Create a new project\\\"\\ntitleTemplate: \\\":title · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to create a new project with Tuist.\\\"\\n---\\n\\n# Create a new project {#create-a-new-project}\\n\\nThe most straightforward way to start a new project with Tuist is to use the `tuist init` command. This command launches an interactive CLI that guides you through setting up your project. When prompted, make sure to select the option to create a \\\"generated project\\\".\\n\\nYou can then edit the project running `tuist edit`, and Xcode will open a project where you can edit the project. One of the files that are generated is the `Project.swift`, which contains the definition of your project. If you are familiar with the Swift Package Manager, think of it as the `Package.swift` but with the lingo of Xcode projects.\\n\\n::: code-group\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n targets: [\\n .target(\\n name: \\\"MyApp\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"io.tuist.MyApp\\\",\\n infoPlist: .extendingDefault(\\n with: [\\n \\\"UILaunchScreen\\\": [\\n \\\"UIColorName\\\": \\\"\\\",\\n \\\"UIImageName\\\": \\\"\\\",\\n ],\\n ]\\n ),\\n sources: [\\\"MyApp/Sources/**\\\"],\\n resources: [\\\"MyApp/Resources/**\\\"],\\n dependencies: []\\n ),\\n .target(\\n name: \\\"MyAppTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.MyAppTests\\\",\\n infoPlist: .default,\\n sources: [\\\"MyApp/Tests/**\\\"],\\n resources: [],\\n dependencies: [.target(name: \\\"MyApp\\\")]\\n ),\\n ]\\n)\\n```\\n\\n:::\\n\\n> [!NOTE]\\n> We intentionally keep the list of available templates short to minimize maintenance overhead. If you want to create a project that doesn't represent an application, for example a framework, you can use `tuist init` as a starting point and then modify the generated project to suit your needs.\\n\\n## Manually creating a project {#manually-creating-a-project}\\n\\nAlternatively, you can create the project manually. We recommend doing this only if you're already familiar with Tuist and its concepts. The first thing that you'll need to do is to create additional directories for the project structure:\\n\\n```bash\\nmkdir MyFramework\\ncd MyFramework\\n```\\n\\nThen create a `Tuist.swift` file, which will configure Tuist and is used by Tuist to determine the root directory of the project, and a `Project.swift`, where your project will be declared:\\n\\n::: code-group\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyFramework\\\",\\n targets: [\\n .target(\\n name: \\\"MyFramework\\\",\\n destinations: .macOS,\\n product: .framework,\\n bundleId: \\\"io.tuist.MyFramework\\\",\\n sources: [\\\"MyFramework/Sources/**\\\"],\\n dependencies: []\\n )\\n ]\\n)\\n```\\n\\n```swift [Tuist.swift]\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n\\n:::\\n\\n> [!IMPORTANT]\\n> Tuist uses the `Tuist/` directory to determine the root of your project, and from there it looks for other manifest files globbing the directories. We recommend creating those files with your editor of choice, and from that point on, you can use `tuist edit` to edit the project with Xcode.\\n\",\"title\":\"Create a new project\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/adoption/new-project\",\"LLMS_URL\":\"/es/guides/features/projects/adoption/new-project.md\",\"title\":\"Create a new project\",\"titleTemplate\":\":title · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to create a new project with Tuist.\"}},{\"path\":\"/es/guides/features/projects/adoption/swift-package.md\",\"url\":\"/es/guides/features/projects/adoption/swift-package\",\"llmUrl\":\"/es/guides/features/projects/adoption/swift-package.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/adoption/swift-package\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/adoption/swift-package.md\\\"\\ntitle: \\\"Use Tuist with a Swift Package\\\"\\ntitleTemplate: \\\":title · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist with a Swift Package.\\\"\\n---\\n\\n# Using Tuist with a Swift Package {#using-tuist-with-a-swift-package-badge-typewarning-textbeta-}\\n\\nTuist supports using `Package.swift` as a DSL for your projects and it converts your package targets into a native Xcode project and targets.\\n\\n> [!WARNING]\\n> The aim of this feature is to provide an easy way for developers to assess the impact of adopting Tuist in their Swift Packages. Therefore, we don't plan to support the full range of Swift Package Manager features nor to bring every Tuist's unique features like project description helpers to the packages world.\\n\\n> [!NOTE] ROOT DIRECTORY\\n> Tuist commands expect a certain directory structure whose root is identified by a `Tuist` or a `.git` directory.\\n\\n## Using Tuist with a Swift Package {#using-tuist-with-a-swift-package}\\n\\nWe are going to use Tuist with the [TootSDK Package](https://github.com/TootSDK/TootSDK) repository, which contains a Swift Package. The first thing that we need to do is to clone the repository:\\n\\n```bash\\ngit clone https://github.com/TootSDK/TootSDK\\ncd TootSDK\\n```\\n\\nOnce in the repository's directory, we need to install the Swift Package Manager dependencies:\\n\\n```bash\\ntuist install\\n```\\n\\nUnder the hood `tuist install` uses the Swift Package Manager to resolve and pull the dependencies of the package.\\nAfter the resolution completes, you can then generate the project:\\n\\n```bash\\ntuist generate\\n```\\n\\nVoilà! You have a native Xcode project that you can open and start working on.\\n\",\"title\":\"Use Tuist with a Swift Package\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/adoption/swift-package\",\"LLMS_URL\":\"/es/guides/features/projects/adoption/swift-package.md\",\"title\":\"Use Tuist with a Swift Package\",\"titleTemplate\":\":title · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to use Tuist with a Swift Package.\"}},{\"path\":\"/es/guides/features/projects/best-practices.md\",\"url\":\"/es/guides/features/projects/best-practices\",\"llmUrl\":\"/es/guides/features/projects/best-practices.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/best-practices\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/best-practices.md\\\"\\ntitle: \\\"Best practices\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about the best practices for working with Tuist and Xcode projects.\\\"\\n---\\n\\n# Best practices {#best-practices}\\n\\nOver the years working with different teams and projects, we've identified a set of best practices that we recommend following when working with Tuist and Xcode projects. These practices are not mandatory, but they can help you structure your projects in a way that makes them easier to maintain and scale.\\n\\n## Xcode {#xcode}\\n\\n### Discouraged patterns {#discouraged-patterns}\\n\\n#### Configurations to model remote environments {#configurations-to-model-remote-environments}\\n\\nMany organizations use build configurations to model different remote environments (e.g., `Debug-Production` or `Release-Canary`), but this approach has some downsides:\\n\\n- **Inconsistencies:** If there are configuration inconsistencies throughout the graph, the build system might end up using the wrong configuration for some targets.\\n- **Complexity:** Projects can end up with a long list of local configurations and remote environments that are hard to reason about and maintain.\\n\\nBuild configurations were designed to embody different build settings, and projects rarely need more than just `Debug` and `Release`. The need to model different environments can be achieved by using schemes:\\n\\n- **In Debug builds:** You can include all the configurations that should be accessible in development in the app (e.g. endpoints), and switch them at runtime. The switch can happen either using scheme launch environment variables, or with a UI within the app.\\n- **In Release builds:** In case of release, you can only include the configuration that the release build is bound to, and not include the runtime logic for switching configurations by using compiler directives.\\n\",\"title\":\"Best practices\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/best-practices\",\"LLMS_URL\":\"/es/guides/features/projects/best-practices.md\",\"title\":\"Best practices\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about the best practices for working with Tuist and Xcode projects.\"}},{\"path\":\"/es/guides/features/projects/code-sharing.md\",\"url\":\"/es/guides/features/projects/code-sharing\",\"llmUrl\":\"/es/guides/features/projects/code-sharing.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/code-sharing\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/code-sharing.md\\\"\\ntitle: \\\"Code sharing\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to share code across manifest files to reduce duplications and ensure consistency\\\"\\n---\\n\\n# Code sharing {#code-sharing}\\n\\nOne of the inconveniences of Xcode when we use it with large projects is that it doesn't allow reusing elements of the projects other than the build settings through `.xcconfig` files. Being able to reuse project definitions is useful for the following reasons:\\n\\n- It eases the **maintenance** because changes can be applied in one place and all the projects get the changes automatically.\\n- It makes it possible to define **conventions** that new projects can conform to.\\n- Projects are more **consistent** and therefore the likelihood of broken builds due inconsistencies is significantly less.\\n- Adding a new projects becomes an easy task because we can reuse the existing logic.\\n\\nReusing code across manifest files is possible in Tuist thanks to the concept of **project description helpers**.\\n\\n> [!TIP] A TUIST UNIQUE ASSET\\n> Many organizations like Tuist because they see in project description helpers a platform for platform teams to codify their own conventions and come up with their own language for describing their projects. For example, YAML-based project generators have to come up with their own YAML-based propietary templating solution, or force organizations onto building their tools upon.\\n\\n## Project description helpers {#project-description-helpers}\\n\\nProject description helpers are Swift files that get compiled into a module, `ProjectDescriptionHelpers`, that manifest files can import. The module is compiled by gathering all the files in the `Tuist/ProjectDescriptionHelpers` directory.\\n\\nYou can import them into your manifest file by adding an import statement at the top of the file:\\n\\n```swift\\n// Project.swift\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n```\\n\\n`ProjectDescriptionHelpers` are available in the following manifests:\\n\\n- `Project.swift`\\n- `Package.swift` (only behind the `#TUIST` compiler flag)\\n- `Workspace.swift`\\n\\n## Example {#example}\\n\\nThe snippets below contain an example of how we extend the `Project` model to add static constructors and how we use them from a `Project.swift` file:\\n\\n::: code-group\\n\\n```swift [Tuist/Project+Templates.swift]\\nimport ProjectDescription\\n\\nextension Project {\\n public static func featureFramework(name: String, dependencies: [TargetDependency] = []) -> Project {\\n return Project(\\n name: name,\\n targets: [\\n .target(\\n name: name,\\n destinations: .iOS,\\n product: .framework,\\n bundleId: \\\"io.tuist.\\\\(name)\\\",\\n infoPlist: \\\"\\\\(name).plist\\\",\\n sources: [\\\"Sources/\\\\(name)/**\\\"],\\n resources: [\\\"Resources/\\\\(name)/**\\\",],\\n dependencies: dependencies\\n ),\\n .target(\\n name: \\\"\\\\(name)Tests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.\\\\(name)Tests\\\",\\n infoPlist: \\\"\\\\(name)Tests.plist\\\",\\n sources: [\\\"Sources/\\\\(name)Tests/**\\\"],\\n resources: [\\\"Resources/\\\\(name)Tests/**\\\",],\\n dependencies: [.target(name: name)]\\n )\\n ]\\n )\\n }\\n}\\n```\\n\\n```swift {2} [Project.swift]\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n\\nlet project = Project.featureFramework(name: \\\"MyFeature\\\")\\n```\\n\\n:::\\n\\n> [!TIP] A TOOL TO ESTABLISH CONVENTIONS\\n> Note how through the function we are defining conventions about the name of the targets, the bundle identifier, and the folders structure.\\n\",\"title\":\"Code sharing\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/code-sharing\",\"LLMS_URL\":\"/es/guides/features/projects/code-sharing.md\",\"title\":\"Code sharing\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to share code across manifest files to reduce duplications and ensure consistency\"}},{\"path\":\"/es/guides/features/projects/cost-of-convenience.md\",\"url\":\"/es/guides/features/projects/cost-of-convenience\",\"llmUrl\":\"/es/guides/features/projects/cost-of-convenience.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/cost-of-convenience\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/cost-of-convenience.md\\\"\\ntitle: \\\"The cost of convenience\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about the cost of convenience in Xcode and how Tuist helps you prevent the issues that come with it.\\\"\\n---\\n\\n# The cost of convenience {#the-cost-of-convenience}\\n\\nDesigning a code editor that the spectrum **from small to large-scale projects can use** is a challenging task.\\nMany tools approach the problem by layering their solution and providing extensibility. The bottom-most layer is very low-level and close to the underlying build system, and the top-most layer is a high-level abstraction that's convenient to use but less flexible.\\nBy doing so, they make the simple things easy, and everything else possible.\\n\\nHowever,\\n**[Apple](https://www.apple.com) decided to take a different approach with Xcode**.\\nThe reason is unknown, but it's likely that optimizing for the challenges of large-scale projects has never been their goal.\\nThey overinvested in convenience for small projects,\\nprovided little flexibility,\\nand strongly coupled the tools with the underlying build system.\\nTo achieve the convenience, they provide sensible defaults, which you can easily replace,\\nand added a lot of implicit build-time-resolved behaviors that are the culprit of many issues at scale.\\n\\n## Explicitness and scale {#explicitness-and-scale}\\n\\nWhen working at scale, **explicitness is key**.\\nIt allows the build system to analyze and understand the project structure and dependencies ahead of time,\\nand perform optimizations that would be impossible otherwise.\\nThe same explicitness is also key in ensuring that editor features such as [SwiftUI previews](https://developer.apple.com/documentation/swiftui/previews-in-xcode) or [Swift Macros](https://docs.swift.org/swift-book/documentation/the-swift-programming-language/macros/) work reliably and predictably.\\nBecause Xcode and Xcode projects embraced implicitness as a valid design choice to achieve convenience,\\na principle that the Swift Package Manager has inherited,\\nthe difficulties of using Xcode are also present in the Swift Package Manager.\\n\\n> [!INFO] THE ROLE OF TUIST\\n> We could summarize Tuist's role as a tool that prevents implicitly-defined projects and leverages explicitness to provide a better developer experience (e.g. validations, optimizations). Tools like [Bazel](https://bazel.build) take it further by bringing it down to the build system level.\\n\\nThis is an issue that's barely discussed in the community, but it's a significant one.\\nWhile working on Tuist,\\nwe've noticed many organizations and developers thinking that the current challenges they face will be addressed by the [Swift Package Manager](https://www.swift.org/documentation/package-manager/),\\nbut what they don't realize is that because it's building on the same principles,\\neven though it mitigates the so well-known Git conflicts,\\nthey degrade the developer experience in other areas and continue to make the projects non-optimizable.\\n\\nIn the following sections, we'll discuss some real examples of how implicitness affects the developer experience and the project's health. The list is not exhaustive, but it should give you a good idea of the challenges that you might face when working with Xcode projects or Swift Packages.\\n\\n## Convenience getting in your way {#convenience-getting-in-your-way}\\n\\n### Shared built products directory {#shared-built-products-directory}\\n\\nXcode uses a directory inside the derived data directory for each product.\\nInside it, it stores the build artifacts, such as the compiled binaries, the dSYM files, and the logs.\\nBecause all the products of a project go into the same directory,\\nwhich is visible by default from other targets to link against,\\n**you might end up with targets that implicitly depend on each other.**\\nWhile this might not be a problem when having just a few targets,\\nit might manifest as failing builds that are hard to debug when the project grows.\\n\\nThe consequence of this design decision is that many projects acidentally compile with a graph that is not well-defined.\\n\\n> [!TIP] TUIST DETECTION OF IMPLICIT DEPENDENCIES\\n> Tuist provides a command to detect implicit dependencies. You can use the command to validate in CI that all your dependencies are explicit.\\n\\n### Find implicit dependencies in schemes {#find-implicit-dependencies-in-schemes}\\n\\nDefining and maintaining a dependency graph in Xcode gets harder as the project grows.\\nIt's hard because they are codified in the `.pbxproj` files as build phases and build settings,\\nthere are no tools to visualize and work with the graph,\\nand the changes in the graph (e.g. adding a new dynamic precompiled framework),\\nmight require configuration changes upstream (e.g. adding a new build phase to copy the framework into the bundle).\\n\\nApple decided at some point that instead of evolving the graph model into something more manageable,\\nit'd make more sense to add an option to resolve implicit dependencies at build time.\\nThis is once again a questionable design choice because you might end up with slower build times or unpredictable builds.\\nFor example, a build might pass locally due to some state in derive data,\\nwhich acts as a [singleton](https://en.wikipedia.org/wiki/Singleton_pattern),\\nbut then fail to compile on CI because the state is different.\\n\\n> [!TIP]\\n> We recommend disabling this in your project schemes, and use like Tuist that eases the management of the dependency graph.\\n\\n### SwiftUI Previews and static libraries/frameworks {#swiftui-previews-and-static-librariesframeworks}\\n\\nSome editor features like SwiftUI Previews or Swift Macros require the compilation of the dependency graph from the file that's being edited. This integration between the editor requires that the build system resolves any implicitness and output the right artifacts that are necessary for those features to work. As you can imagine, **the more implicit the graph is, the more challenging the task is for the build system**, and therefore it's not surprising that many of these features don't work reliably. We often hear from developers that they stopped using SwiftUI previews long time ago because they were too unreliable. Instead, they are using either example apps, or avoiding certaing things, like the usage of static libraries or script build phases, because they cause the feature to break.\\n\\n### Mergeable libraries {#mergeable-libraries}\\n\\nDynamic frameworks, while more flexible and easier to work with, have a negative impact in the launch time of apps. On the other side, static libraries are faster to launch, but impact the compilation time and are a bit harder to work with, specially in complex graph scenarios. _Wouldn't it be great if you could change between one or the other depending on the configuration?_ That's what Apple must have thought when they decided to work on mergeable libraries. But once again, they moved more build-time inference to the build-time. If reasoning about a dependency graph, imagine having to do so when the static or dynamic nature of the target will be resolved at build-time based on some build settings in some targets. Good luck making that work reliably while ensuring features like SwiftUI previews don't break.\\n\\n**Many users come to Tuist wanting to use mergeable libraries and our answer is always the same. You don't need to.** You can control the static or dynamic nature of your targets at generation-time leading to a project whose graph is known ahead of compilation. No variables need to be resolved at build-time.\\n\\n```bash\\n# The value of TUIST_DYNAMIC can be read from the project {#the-value-of-tuist_dynamic-can-be-read-from-the-project}\\n# to set the product as static or dynamic based on the value. {#to-set-the-product-as-static-or-dynamic-based-on-the-value}\\nTUIST_DYNAMIC=1 tuist generate\\n```\\n\\n## Explicit, explicit, and explicit {#explicit-explicit-and-explicit}\\n\\nIf there's an important non-written principle that we recommend every developer or organization that wants their development with Xcode to scale, is that they should embrace explicitness. And if explicitness is hard to manage with raw Xcode projects, they should consider something else, either [Tuist](https://tuist.io) or [Bazel](https://bazel.build). **Only then reliability, predicability, and optimizations will be possible.**\\n\\n## Future {#future}\\n\\nWhether Apple will do something to prevent all the above issues is unknown.\\nTheir continuous decisions embedded into Xcode and the Swift Package Manager don't suggest that they will.\\nOnce you allow implicit configuration as a valid state,\\n**it's hard to move from there without introducing breaking changes.**\\nGoing back to first principles and rethinking the design of the tools might lead to breaking many Xcode projects that accidentally compiled for years. Imagine the community uproar if that happened.\\n\\nApple finds itself in a bit of a chicken-and-egg problem.\\nConvenience is what helps developers get started quickly and build more apps for their ecosystem.\\nBut their decisions to make the experience convenience at that scale,\\nis making it hard for them to ensure some of the Xcode features work reliably.\\n\\nBecause the future is unknown,\\nwe try to **be as close as possible to the industry standards and Xcode projects**.\\nWe prevent the above issues,\\nand leverage the knowledge that we have to provide a better developer experience.\\nIdeally we wouldn't have to resort to project generation for that,\\nbut the lack of extensibility of Xcode and the Swift Package Manager make it the only viable option.\\nAnd it's also a safe option because they'll have to break the Xcode projects to break Tuist projects.\\n\\nIdeally, **the build system was more extensible**,\\nbut wouldn't it be a bad idea to have plugins/extensions that contract with a world of implicitness?\\nIt doesn't seem like a good idea.\\nSo it seems like we'll need external tools like Tuist or [Bazel](https://bazel.build) to provide a better developer experience.\\nOr maybe Apple will surprise us all and make Xcode more extensible and explicit...\\n\\nUntil that happens, you have to choose whether you want to embrace the convencience of Xcode and take on the debt that comes with it, or trust us on this journey to provide a better developer experience.\\nWe won't disappoint you.\\n\",\"title\":\"The cost of convenience\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/cost-of-convenience\",\"LLMS_URL\":\"/es/guides/features/projects/cost-of-convenience.md\",\"title\":\"The cost of convenience\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about the cost of convenience in Xcode and how Tuist helps you prevent the issues that come with it.\"}},{\"path\":\"/es/guides/features/projects/dependencies.md\",\"url\":\"/es/guides/features/projects/dependencies\",\"llmUrl\":\"/es/guides/features/projects/dependencies.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/dependencies\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/dependencies.md\\\"\\ntitle: \\\"Dependencies\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to declare dependencies in your Tuist project.\\\"\\n---\\n\\n# Dependencies {#dependencies}\\n\\nWhen a project grows, it's common to split it into multiple targets to share code, define boundaries, and improve build times.\\nMultiple targets means defining dependencies between them forming a **dependency graph**, which might include external dependencies as well.\\n\\n## XcodeProj-codified graphs {#xcodeprojcodified-graphs}\\n\\nDue to Xcode and XcodeProj's design,\\nthe maintenance of a dependency graph can be a tedious and error-prone task.\\nHere are some examples of the problems that you might encounter:\\n\\n- Because Xcode's build system outputs all the project's products into the same directory in derived data, targets might be able to import products that they shouldn't. Compilations might fail on CI, where clean builds are more common, or later on when a different configuration is used.\\n- The transitive dynamic dependencies of a target need to be copied into any of the directories that are part of the `LD_RUNPATH_SEARCH_PATHS` build setting. If they aren't, the target won't be able to find them at runtime. This is easy to think about and set up when the graph is small, but it becomes a problem as the graph grows.\\n- When a target links a static [XCFramework](https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle), the target needs an additional build phase for Xcode to process the bundle and extract the right binary for the current platform and architecture. This build phase is not added automatically, and it's easy to forget to add it.\\n\\nThe above are just a few examples, but there are many more that we've encountered over the years.\\nImagine if you required a team of engineers to maintain a dependency graph and ensure its validity.\\nOr even worse,\\nthat the intricacies were resolved at build-time by a closed-source build system that you can't control or customize.\\nSounds familiar? This is the approach that Apple took with Xcode and XcodeProj and that the Swift Package Manager has inherited.\\n\\nWe strongly believe that the dependency graph should be **explicit** and **static** because only then can it be **validated** and **optimized**.\\nWith Tuist, you focus on describing what depends on what, and we take care of the rest.\\nThe intricacies and implementation details are abstracted away from you.\\n\\nIn the following sections you'll learn how to declare dependencies in your project.\\n\\n> [!TIP] GRAPH VALIDATION\\n> Tuist validates the graph when generating the project to ensure that there are no cycles and that all the dependencies are valid. Thanks to this, any team can take part in evolving the dependency graph without worrying about breaking it.\\n\\n## Local dependencies {#local-dependencies}\\n\\nTargets can depend on other targets in the same and different projects, and on binaries.\\nWhen instantiating a `Target`, you can pass the `dependencies` argument with any of the following options:\\n\\n- `Target`: Declares a dependency with a target within the same project.\\n- `Project`: Declares a dependency with a target in a different project.\\n- `Framework`: Declares a dependency with a binary framework.\\n- `Library`: Declares a dependency with a binary library.\\n- `XCFramework`: Declares a dependency with a binary XCFramework.\\n- `SDK`: Declares a dependency with a system SDK.\\n- `XCTest`: Declares a dependency with XCTest.\\n\\n> [!NOTE] DEPENDENCY CONDITIONS\\n> Every dependency type accepts a `condition` option to conditionally link the dependency based on the platform. By default, it links the dependency for all platforms the target supports.\\n\\n## External dependencies {#external-dependencies}\\n\\nTuist also allows you to declare external dependencies in your project.\\n\\n### Swift Packages {#swift-packages}\\n\\nSwift Packages are our recommended way of declaring dependencies in your project.\\nYou can integrate them using Xcode's default integration mechanism or using Tuist's XcodeProj-based integration.\\n\\n#### Tuist's XcodeProj-based integration {#tuists-xcodeprojbased-integration}\\n\\nXcode's default integration while being the most convenient one,\\nlacks flexibility and control that's required for medium and large projects.\\nTo overcome this, Tuist offers an XcodeProj-based integration that allows you to integrate Swift Packages in your project using XcodeProj's targets.\\nThanks to that, we can not only give you more control over the integration but also make it compatible with workflows like caching and selective test runs.\\n\\nXcodeProj's integration is more likely to take more time to support new Swift Package features or handle more package configurations. However, the mapping logic between Swift Packages and XcodeProj targets is open-source and can be contributed to by the community. This is contrary to Xcode's default integration, which is closed-source and maintained by Apple.\\n\\nTo add external dependencies, you'll have to create a `Package.swift` either under `Tuist/` or at the root of the project.\\n\\n::: code-group\\n\\n```swift [Tuist/Package.swift]\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n import ProjectDescriptionHelpers\\n\\n let packageSettings = PackageSettings(\\n productTypes: [\\n \\\"Alamofire\\\": .framework, // default is .staticFramework\\n ]\\n )\\n\\n#endif\\n\\nlet package = Package(\\n name: \\\"PackageName\\\",\\n dependencies: [\\n .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n ],\\n targets: [\\n .binaryTarget(\\n name: \\\"Sentry\\\",\\n url: \\\"https://github.com/getsentry/sentry-cocoa/releases/download/8.40.1/Sentry.xcframework.zip\\\",\\n checksum: \\\"db928e6fdc30de1aa97200576d86d467880df710cf5eeb76af23997968d7b2c7\\\"\\n ),\\n ]\\n)\\n```\\n\\n:::\\n\\n> [!TIP] PACKAGE SETTINGS\\n> The `PackageSettings` instance wrapped in a compiler directive allows you to configure how packages are integrated. For example, in the example above it's used to override the default product type used for packages. By default, you shouldn't need it.\\n\\nThe `Package.swift` file is just an interface to declare external dependencies, nothing else. That's why you don't define any targets or products in the package. Once you have the dependencies defined, you can run the following command to resolve and pull the dependencies into the `Tuist/Dependencies` directory:\\n\\n```bash\\ntuist install\\n# Resolving and fetching dependencies. {#resolving-and-fetching-dependencies}\\n# Installing Swift Package Manager dependencies. {#installing-swift-package-manager-dependencies}\\n```\\n\\nAs you might have noticed, we take an approach similar to [CocoaPods](https://cocoapods.org)', where the resolution of dependencies is its own command. This gives control to the users over when they'd like dependencies to be resolved and updated, and allows opening the Xcode in project and have it ready to compile. This is an area where we believe the developer experience provided by Apple's integration with the Swift Package Manager degrades over time as the project grows.\\n\\nFrom your project targets you can then reference those dependencies using the `TargetDependency.external` dependency type:\\n\\n::: code-group\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"App\\\",\\n organizationName: \\\"tuist.io\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: [.iPhone],\\n product: .app,\\n bundleId: \\\"io.tuist.app\\\",\\n deploymentTargets: .iOS(\\\"13.0\\\"),\\n infoPlist: .default,\\n sources: [\\\"Targets/App/Sources/**\\\"],\\n dependencies: [\\n .external(name: \\\"Alamofire\\\"), // [!code ++]\\n ]\\n ),\\n ]\\n)\\n```\\n\\n:::\\n\\n> [!NOTE] NO SCHEMES GENERATED FOR EXTERNAL PACKAGES\\n> The **schemes** are not automatically created for Swift Package projects to keep the schemes list clean. You can create them via Xcode's UI.\\n\\n#### Xcode's default integration {#xcodes-default-integration}\\n\\nIf you want to use Xcode's default integration mechanism, you can pass the list `packages` when instantiating a project:\\n\\n```swift\\nlet project = Project(name: \\\"MyProject\\\", packages: [\\n .remote(url: \\\"https://github.com/krzyzanowskim/CryptoSwift\\\", requirement: .exact(\\\"1.8.0\\\"))\\n])\\n```\\n\\nAnd then reference them from your targets:\\n\\n```swift\\nlet target = .target(name: \\\"MyTarget\\\", dependencies: [\\n .package(product: \\\"CryptoSwift\\\", type: .runtime)\\n])\\n```\\n\\nFor Swift Macros and Build Tool Plugins, you'll need to use the types `.macro` and `.plugin` respectively.\\n\\n> [!WARNING] SPM Build Tool Plugins\\n> SPM build tool plugins must be declared using [Xcode's default integration](#xcode-s-default-integration) mechanism, even when using Tuist's [XcodeProj-based integration](#tuist-s-xcodeproj-based-integration) for your project dependencies.\\n\\nA practical application of an SPM build tool plugin is performing code linting during Xcode's \\\"Run Build Tool Plug-ins\\\" build phase. In a package manifest this is defined as follows:\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\nlet package = Package(\\n name: \\\"Framework\\\",\\n products: [\\n .library(name: \\\"Framework\\\", targets: [\\\"Framework\\\"]),\\n ],\\n dependencies: [\\n .package(url: \\\"https://github.com/SimplyDanny/SwiftLintPlugins\\\", .upToNextMajor(from: \\\"0.56.1\\\")),\\n ],\\n targets: [\\n .target(\\n name: \\\"Framework\\\",\\n plugins: [\\n .plugin(name: \\\"SwiftLint\\\", package: \\\"SwiftLintPlugin\\\"),\\n ]\\n ),\\n ]\\n)\\n```\\n\\nTo generate an Xcode project with the build tool plugin intact, you must declare the package in the project manifest's `packages` array, and then include a package with type `.plugin` in a target's dependencies.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"Framework\\\",\\n packages: [\\n .remote(url: \\\"https://github.com/SimplyDanny/SwiftLintPlugins\\\", requirement: .upToNextMajor(from: \\\"0.56.1\\\")),\\n ],\\n targets: [\\n .target(\\n name: \\\"Framework\\\",\\n dependencies: [\\n .package(product: \\\"SwiftLintBuildToolPlugin\\\", type: .plugin),\\n ]\\n ),\\n ]\\n)\\n```\\n\\n### Carthage {#carthage}\\n\\nSince [Carthage](https://github.com/carthage/carthage) outputs `frameworks` or `xcframeworks`, you can run `carthage update` to output the dependencies in the `Carthage/Build` directory and then use the `.framework` or `.xcframework` target dependency type to declare the dependency in your target. You can wrap this in a script that you can run before generating the project.\\n\\n```bash\\n#!/usr/bin/env bash\\n\\ncarthage update\\ntuist generate\\n```\\n\\n> [!WARNING] BUILD AND TEST\\n> If you build and test your project through `tuist build` and `tuist test`, you will similarly need to ensure that the Carthage-resolved dependencies are present by running the `carthage update` command before `tuist build` or `tuist test` are run.\\n\\n### CocoaPods {#cocoapods}\\n\\n[CocoaPods](https://cocoapods.org) expects an Xcode project to integrate the dependencies. You can use Tuist to generate the project, and then run `pod install` to integrate the dependencies by creating a workspace that contains your project and the Pods dependencies. You can wrap this in a script that you can run before generating the project.\\n\\n```bash\\n#!/usr/bin/env bash\\n\\ntuist generate\\npod install\\n```\\n\\n> [!WARNING]\\n> CocoaPods dependencies are not compatible with workflows like `build` or `test` that run `xcodebuild` right after generating the project. They are also incompatible with binary caching and selective testing since the fingerprinting logic doesn't account for the Pods dependencies.\\n\\n## Static or dynamic {#static-or-dynamic}\\n\\nFrameworks and libraries can be linked either statically or dynamically, **a choice that has significant implications for aspects like app size and boot time**. Despite its importance, this decision is often made without much consideration.\\n\\nThe **general rule of thumb** is that you want as many things as possible to be statically linked in release builds to achieve fast boot times, and as many things as possible to be dynamically linked in debug builds to achieve fast iteration times.\\n\\nThe challenge with changing between static and dynamic linking in a project graph is that is not trivial in Xcode because a change has cascading effect on the entire graph (e.g. libraries can't contain resources, static frameworks don't need to be embedded). Apple tried to solve the problem with compile time solutions like Swift Package Manager's automatic decision between static and dynamic linking, or [Mergeable Libraries](https://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries). However, this adds new dynamic variables to the compilation graph, adding new sources of non-determinism, and potentially causing some features like Swift Previews that rely on the compilation graph to become unreliable.\\n\\nLuckily, Tuist conceptually compresses the complexity associated with changing between static and dynamic and synthesizes bundle accessors that are standard across linking types. In combination with dynamic configurations via environment variables, you can pass the linking type at invocation time, and use the value in your manifests to set the product type of your targets.\\n\\n```swift\\n// Use the value returned by this function to set the product type of your targets.\\nfunc productType() -> Product {\\n if case let .string(linking) = Environment.linking {\\n return linking == \\\"static\\\" ? .staticFramework : .framework\\n } else {\\n return .framework\\n }\\n}\\n```\\n\\nNote that Tuist does not default to convenience through implicit configuration due to its costs. What this means is that we rely on you setting the linking type and any additional build settings that are sometimes required, like the [`-ObjC` linker flag](https://github.com/pointfreeco/swift-composable-architecture/discussions/1657#discussioncomment-4119184), to ensure the resulting binaries are correct. Therefore, the stance that we take is providing you with the resources, usually in the shape of documentation, to make the right decisions.\\n\\n> [!TIP] EXAMPLE: COMPOSABLE ARCHITECTURE\\n> A Swift Package that many projects integrate is [Composable Architecture](https://github.com/pointfreeco/swift-composable-architecture). As described [here](https://github.com/pointfreeco/swift-composable-architecture/discussions/1657#discussioncomment-4119184) and the [troubleshooting section](#troubleshooting), you'll need to set the `OTHER_LDFLAGS` build setting to `$(inherited) -ObjC` when linking the packages statically, which is Tuist's default linking type. Alternatively, you can override the product type for the package to be dynamic.\\n\\n### Scenarios {#scenarios}\\n\\nThere are some scenarios where setting the linking entirely to static or dynamic is not feasible or a good idea. The following is a non-exhaustive list of scenarios where you might need to mix static and dynamic linking:\\n\\n- **Apps with extensions:** Since apps and their extensions need to share code, you might need to make those targets dynamic. Otherwise, you'll end up with the same code duplicated in both the app and the extension, causing the binary size to increase.\\n- **Pre-compiled external dependencies:** Sometimes you are provided with pre-compiled binaries that are either static or dynamic. Static binaries can be wrapped in dynamic frameworks or libraries to be linked dynamically.\\n\\nWhen making changes to the graph, Tuist will analyze it and display a warning if it detects a \\\"static side effect\\\". This warning is meant to help you identify issues that might arise from linking a target statically that depends transitively on a static target through dynamic targets. These side effects often manifest as increased binary size or, in the worst cases, runtime crashes.\\n\\n## Troubleshooting {#troubleshooting}\\n\\n### Objective-C Dependencies {#objectivec-dependencies}\\n\\nWhen integrating Objective-C dependencies, the inclusion of certain flags on the consuming target may be necessary to avoid runtime crashes as detailed in [Apple Technical Q&A QA1490](https://developer.apple.com/library/archive/qa/qa1490/_index.html).\\n\\nSince the build system and Tuist have no way of inferring whether the flag is necessary or not, and since the flag comes with potentially undesirable side effects, Tuist will not automatically apply any of these flags, and because Swift Package Manager considers `-ObjC` to be included via an `.unsafeFlag` most packages cannot include it as part of their default linking settings when required.\\n\\nConsumers of Objective-C dependencies (or internal Objective-C targets) should apply `-ObjC` or `-force_load` flags when required by setting `OTHER_LDFLAGS` on consuming targets.\\n\\n### Firebase & Other Google Libraries {#firebase-other-google-libraries}\\n\\nGoogle's open source libraries — while powerful — can be difficult to integrate within Tuist as they often use non-standard architecture and techniques in how they are built.\\n\\nHere are a few tips that may be necessary to follow to integrate Firebase and Google's other Apple-platform libraries:\\n\\n#### Ensure `-ObjC` is added to `OTHER_LDFLAGS` {#ensure-objc-is-added-to-other_ldflags}\\n\\nMany of Google's libraries are written in Objective-C. Because of this, any consuming target will need to include the `-ObjC` tag in its `OTHER_LDFLAGS` build setting. This can either be set in an `.xcconfig` file or manually specified in the target's settings within your Tuist manifests. An example:\\n\\n```swift\\nTarget.target(\\n ...\\n settings: .settings(\\n base: [\\\"OTHER_LDFLAGS\\\": \\\"$(inherited) -ObjC\\\"]\\n )\\n ...\\n)\\n```\\n\\nRefer to the [Objective-C Dependencies](#objective-c-dependencies) section above for more details.\\n\\n#### Set the product type for `FBLPromises` to dynamic framework {#set-the-product-type-for-fblpromises-to-dynamic-framework}\\n\\nCertain Google libraries depend on `FBLPromises`, another of Google's libraries. You may encounter a crash that mentions `FBLPromises`, looking something like this:\\n\\n```\\nNSInvalidArgumentException. Reason: -[FBLPromise HTTPBody]: unrecognized selector sent to instance 0x600000cb2640.\\n```\\n\\nExplicitly setting the product type of `FBLPromises` to `.framework` in your `Package.swift` file should fix the issue:\\n\\n```swift [Tuist/Package.swift]\\n// swift-tools-version: 5.10\\n\\nimport PackageDescription\\n\\n#if TUIST\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n\\nlet packageSettings = PackageSettings(\\n productTypes: [\\n \\\"FBLPromises\\\": .framework,\\n ]\\n)\\n#endif\\n\\nlet package = Package(\\n...\\n```\\n\\n### Transitive static dependencies leaking through `.swiftmodule` {#transitive-static-dependencies-leaking-through-swiftmodule}\\n\\nWhen a dynamic framework or library depends on static ones through `import StaticSwiftModule`, the symbols are included in the `.swiftmodule` of the dynamic framework or library, potentially causing the compilation to fail. To prevent that, you'll have to import the static dependency using `internal import`:\\n\\n```swift\\ninternal import StaticModule\\n```\\n\\n> [!NOTE]\\n> Access level on imports was included in Swift 6. If you're using older versions of Swift, you need to use `@_implementationOnly` instead:\\n\\n```swift\\n@_implementationOnly import StaticModule\\n```\\n\",\"title\":\"Dependencies\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/dependencies\",\"LLMS_URL\":\"/es/guides/features/projects/dependencies.md\",\"title\":\"Dependencies\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to declare dependencies in your Tuist project.\"}},{\"path\":\"/es/guides/features/projects/directory-structure.md\",\"url\":\"/es/guides/features/projects/directory-structure\",\"llmUrl\":\"/es/guides/features/projects/directory-structure.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/directory-structure\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/directory-structure.md\\\"\\ntitle: \\\"Directory structure\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about the structure of Tuist projects and how to organize them.\\\"\\n---\\n\\n# Directory structure {#directory-structure}\\n\\nAlthough Tuist projects are commonly used to supersede Xcode projects, they are not limited to this use case. Tuist projects are also used to generate other types of projects, such as SPM packages, templates, plugins, and tasks. This document describes the structure of Tuist projects and how to organize them. In later sections, we'll cover how to define templates, plugins, and tasks.\\n\\n## Standard Tuist projects {#standard-tuist-projects}\\n\\nTuist projects are **the most common type of project generated by Tuist.** They are used to build apps, frameworks, and libraries among others. Unlike Xcode projects, Tuist projects are defined in Swift, which makes them more flexible and easier to maintain. Tuist projects are also more declarative, which makes them easier to understand and reason about. The following structure shows a typical Tuist project that generates an Xcode project:\\n\\n```bash\\nTuist.swift\\nTuist/\\n Package.swift\\n ProjectDescriptionHelpers/\\nProjects/\\n App/\\n Project.swift\\n Feature/\\n Project.swift\\nWorkspace.swift\\n```\\n\\n- **Tuist directory:** This directory has two purposes. First, it signals **where the root of the project is**. Second, it's the container for the following files: This allows constructing paths relative to the root of the project, and also running Tuist commands from any directory within the project. Second, it's the container for the following files: This allows constructing paths relative to the root of the project, and also running Tuist commands from any directory within the project.\\n - **ProjectDescriptionHelpers:** This directory contains Swift code that's shared across all the manifest files. Manifest files can `import ProjectDescriptionHelpers` to use the code defined in this directory. Sharing code is useful to avoid duplications and ensure consistency across the projects.\\n - **Package.swift:** This file contains Swift Package dependencies for Tuist to integrate them using Xcode projects and targets (like [CocoaPods](https://cococapods)) that are configurable and optimizable. Learn more here.\\n\\n- **Root directory**: The root directory of your project that also contains the `Tuist` directory.\\n - Tuist.swift: This file contains configuration for Tuist that's shared across all the projects, workspaces, and environments. For example, it can be used to disable automatic generation of schemes, or to define the deployment target of the projects.\\n - Workspace.swift: This manifest represents an Xcode workspace. It's used to group other projects and can also add additional files and schemes.\\n - Project.swift: This manifest represents an Xcode project. It's used to define the targets that are part of the project, and their dependencies.\\n\\nWhen interacting with the above project, commands expect to find either a `Workspace.swift` or a `Project.swift` file in the working directory or the directory indicated via the `--path` flag. The manifest should be in a directory or subdirectory of a directory containing a `Tuist` directory, which represents the root of the project.\\n\\n> [!TIP]\\n> Xcode workspaces allowed splitting projects into multiple Xcode projects to reduce the likelihood of merge conflicts. If that's what you were using workspaces for, you don't need them in Tuist. Tuist auto-generates a workspace containing a project and its dependencies' projects.\\n\\n## Swift Package {#swift-package-badge-typewarning-textbeta-}\\n\\nTuist also supports SPM package projects. If you are working on an SPM package, you shouldn't need to update anything. Tuist automatically picks up on your root `Package.swift` and all the features of Tuist work as if it was a `Project.swift` manifest.\\n\\nTo get started, run `tuist install` and `tuist generate` in your SPM package. Your project should now have all the same schemes and files that you would see in the vanilla Xcode SPM integration. However, now you can also run `tuist cache` and have majority of your SPM dependencies and modules precompiled, making subsequent builds extremely fast.\\n\",\"title\":\"Directory structure\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/directory-structure\",\"LLMS_URL\":\"/es/guides/features/projects/directory-structure.md\",\"title\":\"Directory structure\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about the structure of Tuist projects and how to organize them.\"}},{\"path\":\"/es/guides/features/projects/dynamic-configuration.md\",\"url\":\"/es/guides/features/projects/dynamic-configuration\",\"llmUrl\":\"/es/guides/features/projects/dynamic-configuration.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/dynamic-configuration\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/dynamic-configuration.md\\\"\\ntitle: \\\"Dynamic configuration\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how how to use environment variables to dynamically configure your project.\\\"\\n---\\n\\n# Dynamic configuration {#dynamic-configuration}\\n\\nThere are certain scenarios where you might need to dynamically configure your project at generation time. For example, you might want to change the name of the app, the bundle identifier, or the deployment target based on the environment where the project is being generated. Tuist supports that via environment variables, which can be accessed from the manifest files.\\n\\n## Configuration through environment variables {#configuration-through-environment-variables}\\n\\nTuist allows passing configuration through environment variables that can be accessed from the manifest files. For example:\\n\\n```bash\\nTUIST_APP_NAME=MyApp tuist generate\\n```\\n\\nIf you want to pass multiple environment variables just separate them with a space. For example:\\n\\n```bash\\nTUIST_APP_NAME=MyApp TUIST_APP_LOCALE=pl tuist generate\\n```\\n\\n## Reading the environment variables from manifests {#reading-the-environment-variables-from-manifests}\\n\\nVariables can be accessed using the `Environment` type. Any variables following the convention `TUIST_XXX` defined in the environment or passed to Tuist when running commands will be accessible using the `Environment` type. The following example shows how we access the `TUIST_APP_NAME` variable:\\n\\n```swift\\nfunc appName() -> String {\\n if case let .string(environmentAppName) = Environment.appName {\\n return environmentAppName\\n } else {\\n return \\\"MyApp\\\"\\n }\\n}\\n```\\n\\nAccessing variables returns an instance of type `Environment.Value?` which can take any of the following values:\\n\\n| Case | Description |\\n| ----------------- | ----------------------------------------------------------- |\\n| `.string(String)` | Used when the variable represents a string. |\\n\\nYou can also retrieve the string or boolean `Environment` variable using either of the helper methods defined below, these methods require a default value to be passed to ensure the user gets consistent results each time. This avoids the need to define the function appName() defined above.\\n\\n::: code-group\\n\\n```swift [String]\\nEnvironment.appName.getString(default: \\\"TuistServer\\\")\\n```\\n\\n```swift [Boolean]\\nEnvironment.isCI.getBoolean(default: false)\\n```\\n\\n:::\\n\",\"title\":\"Dynamic configuration\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/dynamic-configuration\",\"LLMS_URL\":\"/es/guides/features/projects/dynamic-configuration.md\",\"title\":\"Dynamic configuration\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how how to use environment variables to dynamically configure your project.\"}},{\"path\":\"/es/guides/features/projects/editing.md\",\"url\":\"/es/guides/features/projects/editing\",\"llmUrl\":\"/es/guides/features/projects/editing.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/editing\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/editing.md\\\"\\ntitle: \\\"Editing\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist's edit workflow to declare your project leveraging Xcode's build system and editor capabilities.\\\"\\n---\\n\\n# Editing {#editing}\\n\\nUnlike traditional Xcode projects or Swift Packages,\\nwhere changes are done through Xcode's UI,\\nTuist-managed projects are defined in Swift code contained in **manifest files**.\\nIf you're familiar with Swift Packages and the `Package.swift` file,\\nthe approach is very similar.\\n\\nYou could edit these files using any text editor,\\nbut we recommend to use Tuist-provided workflow for that,\\n`tuist edit`.\\nThe workflow creates an Xcode project that contains all manifest files and allows you to edit and compile them.\\nThanks to using Xcode,\\nyou get all the benefits of **code completion, syntax highlighting, and error checking**.\\n\\n## Edit the project {#edit-the-project}\\n\\nTo edit your project, you can run the following command in a Tuist project directory or a sub-directory:\\n\\n```bash\\ntuist edit\\n```\\n\\nThe command creates an Xcode project in a global directory and opens it in Xcode.\\nThe project includes a `Manifests` directory that you can build to ensure all your manifests are valid.\\n\\n> [!INFO] GLOB-RESOLVED MANIFESTS\\n> `tuist edit` resolves the manifests to be included by using the glob `**/{Manifest}.swift` from the project's root directory (the one containing the `Tuist.swift` file). Make sure there's a valid `Tuist.swift` at the root of the project.\\n\\n## Edit and generate workflow {#edit-and-generate-workflow}\\n\\nAs you might have noticed, the editing can't be done from the generated Xcode project.\\nThat's by design to prevent the generated project from having a dependency on Tuist,\\nensuring you can move from Tuist in the future with little effort.\\n\\nWhen iterating on a project, we recommend running `tuist edit` from a terminal session to get an Xcode project to edit the project, and use another terminal session to run `tuist generate`.\\n\",\"title\":\"Editing\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/editing\",\"LLMS_URL\":\"/es/guides/features/projects/editing.md\",\"title\":\"Editing\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to use Tuist's edit workflow to declare your project leveraging Xcode's build system and editor capabilities.\"}},{\"path\":\"/es/guides/features/projects/hashing.md\",\"url\":\"/es/guides/features/projects/hashing\",\"llmUrl\":\"/es/guides/features/projects/hashing.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/hashing\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/hashing.md\\\"\\ntitle: \\\"Hashing\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about Tuist's hashing logic upon which features like binary caching and selective testing are built.\\\"\\n---\\n\\n# Hashing {#hashing}\\n\\nFeatures like caching or selective test execution require a way to determine whether a target has changed. Tuist calculates a hash for each target in the dependency graph to determine if a target has changed. The hash is calculated based on the following attributes:\\n\\n- The target's attributes (e.g., name, platform, product, etc.)\\n- The target's files\\n- The hash of the target's dependencies\\n\\n### Cache attributes {#cache-attributes}\\n\\nAdditionally, when calculating the hash for caching, we also hash the following attributes.\\n\\n#### Swift version {#swift-version}\\n\\nWe hash the Swift version obtained from running the command `/usr/bin/xcrun swift --version` to prevent compilation errors due to Swift version mismatches between the targets and the binaries.\\n\\n> [!NOTE] MODULE STABILITY\\n> Previous versions of binary caching relied on the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting to enable [module stability](https://www.swift.org/blog/library-evolution#enabling-library-evolution-support) and enable using binaries with any compiler version. However, it caused compilation issues in projects with targets that don't support module stability. Generated binaries are bound to the Swift version used to compile them, and the Swift version must match the one used to compile the project.\\n\\n#### Configuration {#configuration}\\n\\nThe idea behind the flag `-configuration` was to ensure debug binaries were not used in release builds and viceversa. However, we are still missing a mechanism to remove the other configurations from the projects to prevent them from being used.\\n\\n## Debugging {#debugging}\\n\\nIf you notice non-deterministic behaviors when using the caching across environments or invocations, it might be related to differences across the environments or a bug in the hashing logic. We recommend following these steps to debug the issue:\\n\\n1. Ensure the same [configuration](#configuration) and [Swift version](#swift-version) is used across environments.\\n2. Check if there are differences between the Xcode projects generated by two consecutive invocations of `tuist generate` or across environments. You can use the `diff` command to compare the projects. The generated projects might include **absolute paths** causing the hashing logic to be non-deterministic.\\n\\n> [!NOTE] BETTER DEBUGGING EXPERIENCE PLANNED\\n> Improving our debugging experience is in our roadmap. The print-hashes command, which lacks the context to understand the differences, will be replaced by a more user-friendly command that uses a tree-like structure to show the differences between the hashes.\\n\",\"title\":\"Hashing\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/hashing\",\"LLMS_URL\":\"/es/guides/features/projects/hashing.md\",\"title\":\"Hashing\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about Tuist's hashing logic upon which features like binary caching and selective testing are built.\"}},{\"path\":\"/es/guides/features/projects/inspect/implicit-dependencies.md\",\"url\":\"/es/guides/features/projects/inspect/implicit-dependencies\",\"llmUrl\":\"/es/guides/features/projects/inspect/implicit-dependencies.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/inspect/implicit-dependencies\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/inspect/implicit-dependencies.md\\\"\\ntitle: \\\"Implicit imports\\\"\\ntitleTemplate: \\\":title · Inspect · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist to find implicit imports.\\\"\\n---\\n\\n# Implicit imports {#implicit-imports}\\n\\nTo alleviate the complexity of maintaining an Xcode project graph with raw Xcode project, Apple designed the build system in a way that allows dependencies to be implicitly defined. This means that a product, for example an app, can depend on a framework, even without declaring the dependency explicitly. At a small scale, this is is fine, but as the project graph grows in complexity, the implicitness might manifest as unreliable incremental builds or editor-based features such as previews or code completion.\\n\\nThe problem is that you can't prevent implicit dependencies from happening. Any developer can add an `import` statement to their Swift code, and the implicit dependency will be created. This is where Tuist comes in. Tuist provides a command to inspect the implicit dependencies by statically analyzing the code in your project. The following command will output the implicit dependencies of your project:\\n\\n```bash\\ntuist inspect implicit-imports\\n```\\n\\nIf the command detects any implicit imports, it exits with an exit code other than zero.\\n\\n> [!TIP] VALIDATE IN CI\\n> We strongly recommend to run this command as part of your continuous integration command every time new code is pushed upstream.\\n\\n> [!IMPORTANT] NOT ALL IMPLICIT CASES ARE DETECTED\\n> Since Tuist relies on static code analysis to detect implicit dependencies, it might not catch all cases. For example, Tuist is unable to understand conditional imports through compiler directives in code.\\n\",\"title\":\"Implicit imports\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/inspect/implicit-dependencies\",\"LLMS_URL\":\"/es/guides/features/projects/inspect/implicit-dependencies.md\",\"title\":\"Implicit imports\",\"titleTemplate\":\":title · Inspect · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to use Tuist to find implicit imports.\"}},{\"path\":\"/es/guides/features/projects/manifests.md\",\"url\":\"/es/guides/features/projects/manifests\",\"llmUrl\":\"/es/guides/features/projects/manifests.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/manifests\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/manifests.md\\\"\\ntitle: \\\"Manifests\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about the manifest files that Tuist uses to define projects and workspaces and configure the generation process.\\\"\\n---\\n\\n# Manifests {#manifests}\\n\\nTuist defaults to Swift files as the primary way to define projects and workspaces and configure the generation process. These files are referred to as **manifest files** throughout the documentation.\\n\\nThe decision of using Swift was inspired by the [Swift Package Manager](https://www.swift.org/documentation/package-manager/), which also uses Swift files to define packages. Thanks to the usage of Swift, we can leverage the compiler to validate the correctness of the content and reuse code across different manifest files, and Xcode to provide a first-class editing experience thanks to the syntax highlighting, auto-completion, and validation.\\n\\n> [!NOTE] CACHING\\n> Since manifest files are Swift files that need to be compiled, Tuist caches the compilation results to speed up the parsing process. Therefore, you'll notice that the first time you run Tuist, it might take a bit longer to generate the project. Subsequent runs will be faster.\\n\\n## Project.swift {#projectswift}\\n\\nThe `Project.swift` manifest declares an Xcode project. The project gets generated in the same directory where the manifest file is located with the name indicated in the `name` property.\\n\\n```swift\\n// Project.swift\\nlet project = Project(\\n name: \\\"App\\\",\\n targets: [\\n // ....\\n ]\\n)\\n```\\n\\n> [!WARNING] ROOT VARIABLES\\n> The only variable that should be at the root of the manifest is `let project = Project(...)`. If you need to reuse code across various parts of the manifest, you can use Swift functions.\\n\\n## Workspace.swift {#workspaceswift}\\n\\nBy default, Tuist generates an [Xcode Workspace](https://developer.apple.com/documentation/xcode/projects-and-workspaces) containing the project being generated and the projects of its dependencies. If for any reason you'd like to customize the workspace to add additional projects or include files and groups, you can do so by defining a `Workspace.swift` manifest.\\n\\n```swift\\n// Workspace.swift\\nimport ProjectDescription\\n\\nlet workspace = Workspace(\\n name: \\\"App-Workspace\\\",\\n projects: [\\n \\\"./App\\\", // Path to directory containing the Project.swift file\\n ]\\n)\\n```\\n\\n> [!NOTE]\\n> Tuist will resolve the dependency graph and include the projects of the dependencies in the workspace. You don't need to include them manually. This is necessary for the build system to resolve the dependencies correctly.\\n\\n### Multi or mono-project {#multi-or-monoproject}\\n\\nA question that often comes up is whether to use a single project or multiple projects in a workspace. In a world without Tuist where a mono-project setup would lead to frequent Git conflicts the usage of workspaces is encouraged. However, since we don't recommend including the Tuist-generated Xcode projects in the Git repository, Git conflicts are not an issue. Therefore, the decision of using a single project or multiple projects in a workspace is up to you.\\n\\nIn the Tuist project we lean on mono-projects because the cold generation time is faster (fewer manifest files to compile) and we leverage project description helpers as a unit of encapsulation. However, you might want to use Xcode projects as a unit of encapsulation to represent different domains of your application, which aligns more closely with the Xcode's recommended project structure.\\n\\n## Tuist.swift {#tuistswift}\\n\\nTuist provides sensible defaults to simplify project configuration. However, you can customize the configuration by defining a `Tuist.swift` at the root of the project, which is used by Tuist to determine the root of the project.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(\\n project: .tuist(generationOptions: .options(enforceExplicitDependencies: true))\\n)\\n```\\n\",\"title\":\"Manifests\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/manifests\",\"LLMS_URL\":\"/es/guides/features/projects/manifests.md\",\"title\":\"Manifests\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about the manifest files that Tuist uses to define projects and workspaces and configure the generation process.\"}},{\"path\":\"/es/guides/features/projects/plugins.md\",\"url\":\"/es/guides/features/projects/plugins\",\"llmUrl\":\"/es/guides/features/projects/plugins.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/plugins\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/plugins.md\\\"\\ntitle: \\\"Plugins\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to create and use plugins in Tuist to extend its functionality.\\\"\\n---\\n\\n# Plugins {#plugins}\\n\\nPlugins are a tool to share and reuse Tuist artifacts across multiple projects. The following artifacts are supported:\\n\\n- Project description helpers across multiple projects.\\n- Templates across multiple projects.\\n- Tasks across multiple projects.\\n- Resource accessor template across multiple projects\\n\\nNote that plugins are designed to be a simple way to extend Tuist's functionality. Therefore there are **some limitations to consider**:\\n\\n- A plugin cannot depend on another plugin.\\n- A plugin cannot depend on third-party Swift packages\\n- A plugin cannot use project description helpers from the project that uses the plugin.\\n\\nIf you need more flexibility, consider suggesting a feature for the tool or building your own solution upon Tuist's generation framework, [`TuistGenerator`](https://github.com/tuist/tuist/tree/main/Sources/TuistGenerator).\\n\\n## Plugin types {#plugin-types}\\n\\n### Project description helper plugin {#project-description-helper-plugin}\\n\\nA project description helper plugin is represented by a directory containing a `Plugin.swift` manifest file that declares the plugin's name and a `ProjectDescriptionHelpers` directory containing the helper Swift files.\\n\\n::: code-group\\n\\n```bash [Plugin.swift]\\nimport ProjectDescription\\n\\nlet plugin = Plugin(name: \\\"MyPlugin\\\")\\n```\\n\\n```bash [Directory structure]\\n.\\n├── ...\\n├── Plugin.swift\\n├── ProjectDescriptionHelpers\\n└── ...\\n```\\n\\n:::\\n\\n### Resource accessor templates plugin {#resource-accessor-templates-plugin}\\n\\nIf you need to share synthesized resource accessors you can use\\nthis type of plugin. The plugin is represented by a directory containing a `Plugin.swift` manifest file that declares the plugin's name and a `ResourceSynthesizers` directory containing the resource accessor template files.\\n\\n::: code-group\\n\\n```bash [Plugin.swift]\\nimport ProjectDescription\\n\\nlet plugin = Plugin(name: \\\"MyPlugin\\\")\\n```\\n\\n```bash [Directory structure]\\n.\\n├── ...\\n├── Plugin.swift\\n├── ResourceSynthesizers\\n├───── Strings.stencil\\n├───── Plists.stencil\\n├───── CustomTemplate.stencil\\n└── ...\\n```\\n\\n:::\\n\\nThe name of the template is the [camel case](https://en.wikipedia.org/wiki/Camel_case) version of the resource type:\\n\\n| Resource type | Template file name |\\n| ----------------- | ---------------------------------------- |\\n| Strings | Strings.stencil |\\n| Assets | Assets.stencil |\\n| Property Lists | Plists.stencil |\\n| Fonts | Fonts.stencil |\\n| Core Data | CoreData.stencil |\\n| Interface Builder | InterfaceBuilder.stencil |\\n| JSON | JSON.stencil |\\n| YAML | YAML.stencil |\\n\\nWhen defining the resource synthesizers in the project, you can specify the plugin name to use the templates from the plugin:\\n\\n```swift\\nlet project = Project(resourceSynthesizers: [.strings(plugin: \\\"MyPlugin\\\")])\\n```\\n\\n### Task plugin {#task-plugin-badge-typewarning-textdeprecated-}\\n\\n> [!WARNING] DEPRECATED\\n> Task plugins are deprecated. Check out [this blog post](https://tuist.dev/blog/2025/04/15/automation-in-swift-projects) if you are looking for an automation solution for your project.\\n\\nTasks are `$PATH`-exposed executables that are invocable through the `tuist` command if they follow the naming convention `tuist-`. In earlier versions, Tuist provided some weak conventions and tools under `tuist plugin` to `build`, `run`, `test` and `archive` tasks represented by executables in Swift Packages, but we have deprecated this feature since it increases the maintenance burden and complexity of the tool.\\n\\nIf you were using Tuist for distributing tasks, we recommend building your\\n\\n- You can continue using the `ProjectAutomation.xcframework` distributed with every Tuist release to have access to the project graph from your logic with `let graph = try Tuist.graph()`. The command uses sytem process to run the `tuist` command, and return the in-memory representation of the project graph.\\n- To distribute tasks, we recommend including the a fat binary that supports the `arm64` and `x86_64` in GitHub releases, and using [Mise](https://mise.jdx.dev) as an installation tool. To instruct Mise on how to install your tool, you'll need a plugin repository. You can use [Tuist's](https://github.com/asdf-community/asdf-tuist) as a reference.\\n- If you name your tool `tuist-{xxx}` and users can install it by running `mise install`, they can run it either invoking it directly, or through `tuist xxx`.\\n\\n> [!NOTE] THE FUTURE OF PROJECTAUTOMATION\\n> We plan to consolidate the models of `ProjectAutomation` and `XcodeGraph` into a single backward-compatible framework that exposes the entirity of the project graph to the user. Moreover, we'll extract the generation logic into a new layer, `XcodeGraph` that you can also use from your own CLI. Think of it as building your own Tuist.\\n\\n## Using plugins {#using-plugins}\\n\\nTo use a plugin, you'll have to add it to your project's `Tuist.swift` manifest file:\\n\\n```swift\\nimport ProjectDescription\\n\\n\\nlet tuist = Tuist(\\n project: .tuist(plugins: [\\n .local(path: \\\"/Plugins/MyPlugin\\\")\\n ])\\n)\\n```\\n\\nIf you want to reuse a plugin across projects that live in different repositories, you can push your plugin to a Git repository and reference it in the `Tuist.swift` file:\\n\\n```swift\\nimport ProjectDescription\\n\\n\\nlet tuist = Tuist(\\n project: .tuist(plugins: [\\n .git(url: \\\"https://url/to/plugin.git\\\", tag: \\\"1.0.0\\\"),\\n .git(url: \\\"https://url/to/plugin.git\\\", sha: \\\"e34c5ba\\\")\\n ])\\n)\\n```\\n\\nAfter adding the plugins, `tuist install` will fetch the plugins in a global cache directory.\\n\\n> [!NOTE] NO VERSION RESOLUTION\\n> As you might have noted, we don't provide version resolution for plugins. We recommend using Git tags or SHAs to ensure reproducibility.\\n\\n> [!TIP] PROJECT DESCRIPTION HELPERS PLUGINS\\n> When using a project description helpers plugin, the name of the module that contains the helpers is the name of the plugin\\n>\\n> ```swift\\n> import ProjectDescription\\n> import MyTuistPlugin\\n> let project = Project.app(name: \\\"MyCoolApp\\\", platform: .iOS)\\n> ```\\n\",\"title\":\"Plugins\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/plugins\",\"LLMS_URL\":\"/es/guides/features/projects/plugins.md\",\"title\":\"Plugins\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to create and use plugins in Tuist to extend its functionality.\"}},{\"path\":\"/es/guides/features/projects/synthesized-files.md\",\"url\":\"/es/guides/features/projects/synthesized-files\",\"llmUrl\":\"/es/guides/features/projects/synthesized-files.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/synthesized-files\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/synthesized-files.md\\\"\\ntitle: \\\"Synthesized files\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about synthesized files in Tuist projects.\\\"\\n---\\n\\n# Synthesized files {#synthesized-files}\\n\\nTuist can generate files and code at generation-time to bring some convenience to managing and working with Xcode projects. In this page you'll learn about this functionality, and how you can use it in your projects.\\n\\n## Target resources {#target-resources}\\n\\nXcode projects support adding resources to targets. However, they present teams with a few challenges, specially when working with a modular project where sources and resources are often moved around:\\n\\n- **Inconsistent runtime access**: Where the resources end up in the final product and how you access them depends on the target product. For example, if your target represents an application, the resources are copied to the application bundle. This leads to code accessing the resources that makes assumptions on the bundle structure, which is not ideal because it makes the code harder to reason about and the resources to move around.\\n- **Products that don't support resources**: There are certain products like static libraries that are not bundles and therefore don't support resources. Because of that, you either have to resort to a different product type, for example frameworks, that might add some overhead on your project or app. For example, static frameworks will be linked statically to the final product, and a build phase is required to only copy the resources to the final product. Or dynamic frameworks, where Xcode will copy both the binary and the resources into the final product, but it'll increase the startup time of your app because the framework needs to be loaded dynamically.\\n- **Prone to runtime errors**: Resources are identified by their name and extension (strings). Therefore, a typo in any of those will lead to a runtime error when trying to access the resource. This is not ideal because it's not caught at compile time and might lead to crashes in release.\\n\\nTuist solves the problems above by **synthesizing a unified interface to access bundles and resources** that abstracts away the implementation details.\\n\\n> [!IMPORTANT] RECOMMENDED\\n> Even though accessing resources through the Tuist-synthesized interface is not mandatory, we recommend it because it makes the code easier to reason about and the resources to move around.\\n\\n## Resources {#resources}\\n\\nTuist provides interfaces to declare the content of files such as `Info.plist` or entitlements in Swift.\\nThis is useful to ensure consistency across targets and projects,\\nand leverage the compiler to catch issues at compile time.\\nYou can also come up with your own abstractions to model the content and share it across targets and projects.\\n\\nWhen your project is generated,\\nTuist will synthesize the content of those files and write them into the `Derived` directory relative to the directory containing the project that defines them.\\n\\n> [!TIP] GITIGNORE THE DERIVED DIRECTORY\\n> We recommend adding the `Derived` directory to the `.gitignore` file of your project.\\n\\n## Bundle accessors {#bundle-accessors}\\n\\nTuist synthesizes an interface to access the bundle that contains the target resources.\\n\\n### Swift {#swift}\\n\\nThe target will contain an extension of the `Bundle` type that exposes the bundle:\\n\\n```swift\\nlet bundle = Bundle.module\\n```\\n\\n### Objective-C {#objectivec}\\n\\nIn Objective-C, you'll get an interface `{Target}Resources` to access the bundle:\\n\\n```objc\\nNSBundle *bundle = [MyFeatureResources bundle];\\n```\\n\\n> [!TIP] SUPPORTING RESOURCES IN LIBRARIES THROUGH BUNDLES\\n> If a target product, for example a library, doesn't support resources, Tuist will include the resources in a target of product type `bundle` ensuring that it ends up in the final product and that the interface points to the right bundle.\\n\\n## Resource accessors {#resource-accessors}\\n\\nResources are identified by their name and extension using strings. This is not ideal because it's not caught at compile time and might lead to crashes in release. To prevent that, Tuist integrates [SwiftGen](https://github.com/SwiftGen/SwiftGen) into the project generation process to synthesize an interface to access the resources. Thanks to that, you can confidently access the resources leveraging the compiler to catch any issues.\\n\\nTuist includes [templates](https://github.com/tuist/tuist/tree/main/Sources/TuistGenerator/Templates) to synthesize accessors for the following resource types by default:\\n\\n| Resource type | Synthesized file |\\n| ----------------- | ------------------------ |\\n| Images and colors | `Assets+{Target}.swift` |\\n| Strings | `Strings+{Target}.swift` |\\n| Plists | `{NameOfPlist}.swift` |\\n| Fonts | `Fonts+{Target}.swift` |\\n| Files | `Files+{Target}.swift` |\\n\\n> Note: You can disable the synthesizing of resource accessors on a per-project basis by passing the `disableSynthesizedResourceAccessors` option to the project options.\\n\\n#### Custom templates {#custom-templates}\\n\\nIf you want to provide your own templates to synthesize accessors to other resource types,\\nwhich must be supported by [SwiftGen](https://github.com/SwiftGen/SwiftGen),\\nyou can create them at `Tuist/ResourceSynthesizers/{name}.stencil`,\\nwhere the name is the camel-case version of the resource.\\n\\n| Resource | Template name |\\n| ---------------- | -------------------------- |\\n| strings | `Strings.stencil` |\\n| assets | `Assets.stencil` |\\n| plists | `Plists.stencil` |\\n| fonts | `Fonts.stencil` |\\n| coreData | `CoreData.stencil` |\\n| interfaceBuilder | `InterfaceBuilder.stencil` |\\n| json | `JSON.stencil` |\\n| yaml | `YAML.stencil` |\\n| files | `Files.stencil` |\\n\\nIf you want to configure the list of resource types to synthesize accessors for,\\nyou can use the `Project.resourceSynthesizers` property passing the list of resource synthesizers you want to use:\\n\\n```swift\\nlet project = Project(resourceSynthesizers: [.string(), .fonts()])\\n```\\n\\n> [!NOTE] REFERENCE\\n> You can check out [this fixture](https://github.com/tuist/tuist/tree/main/fixtures/ios_app_with_templates) to see an example of how to use custom templates to synthesize accessors to resources.\\n\",\"title\":\"Synthesized files\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/synthesized-files\",\"LLMS_URL\":\"/es/guides/features/projects/synthesized-files.md\",\"title\":\"Synthesized files\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about synthesized files in Tuist projects.\"}},{\"path\":\"/es/guides/features/projects/templates.md\",\"url\":\"/es/guides/features/projects/templates\",\"llmUrl\":\"/es/guides/features/projects/templates.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/templates\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/templates.md\\\"\\ntitle: \\\"Templates\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to create and use templates in Tuist to generate code in your projects.\\\"\\n---\\n\\n# Templates {#templates}\\n\\nIn projects with an established architecture, developers might want to bootstrap new components or features that are consistent with the project. With `tuist scaffold` you can generate files from a template. You can define your own templates or use the ones that are vendored with Tuist. These are some scenarios where scaffolding might be useful:\\n\\n- Create a new feature that follows a given architecture: `tuist scaffold viper --name MyFeature`.\\n- Create new projects: `tuist scaffold feature-project --name Home`\\n\\n> [!NOTE] NON-OPINIONATED\\n> Tuist is not opinionated about the content of your templates, and what you use them for. They are only required to be in a specific directory.\\n\\n## Defining a template {#defining-a-template}\\n\\nTo define templates, you can run `tuist edit` and then create a directory called `name_of_template` under `Tuist/Templates` that represents your template. So if you are creating a template called `framework`, you should create a new directory `framework` at `Tuist/Templates` with a manifest file called `framework.swift` that could look like this: To define templates, you can run `tuist edit` and then create a directory called `name_of_template` under `Tuist/Templates` that represents your template. To define templates, you can run `tuist edit` and then create a directory called `name_of_template` under `Tuist/Templates` that represents your template.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet nameAttribute: Template.Attribute = .required(\\\"name\\\")\\n\\nlet template = Template(\\n description: \\\"Custom template\\\",\\n attributes: [\\n nameAttribute,\\n .optional(\\\"platform\\\", default: \\\"ios\\\"),\\n ],\\n items: [\\n .string(\\n path: \\\"Project.swift\\\",\\n contents: \\\"My template contents of name \\\\(nameAttribute)\\\"\\n ),\\n .file(\\n path: \\\"generated/Up.swift\\\",\\n templatePath: \\\"generate.stencil\\\"\\n ),\\n .directory(\\n path: \\\"destinationFolder\\\",\\n sourcePath: \\\"sourceFolder\\\"\\n ),\\n ]\\n)\\n```\\n\\n## Using a template {#using-a-template}\\n\\nAfter defining the template, we can use it from the `scaffold` command:\\n\\n```bash\\ntuist scaffold name_of_template --name Name --platform macos\\n```\\n\\n> [!NOTE]\\n> Since platform is an optional argument, we can also call the command without the `--platform macos` argument.\\n\\nIf `.string` and `.files` don't provide enough flexibility, you can leverage the [Stencil](https://stencil.fuller.li/en/latest/) templating language via the `.file` case. Besides that, you can also use additional filters defined here.\\n\\nUsing string interpolation, `\\\\(nameAttribute)` above would resolve to `{{ name }}`. If you'd like to use Stencil filters in the template definition, you can use that interpolation manually and add any filters you like. For example, you might use `{ { name | lowercase } }` instead of `\\\\(nameAttribute)` to get the lowercased value of the name attribute.\\n\\nYou can also use `.directory` which gives the possibility to copy entire folders to a given path.\\n\\n> [!TIP] PROJECT DESCRIPTION HELPERS\\n> Templates support the use of project description helpers to reuse code across templates.\\n\",\"title\":\"Templates\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/templates\",\"LLMS_URL\":\"/es/guides/features/projects/templates.md\",\"title\":\"Templates\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to create and use templates in Tuist to generate code in your projects.\"}},{\"path\":\"/es/guides/features/projects/tma-architecture.md\",\"url\":\"/es/guides/features/projects/tma-architecture\",\"llmUrl\":\"/es/guides/features/projects/tma-architecture.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/projects/tma-architecture\\\"\\nLLMS_URL: \\\"/es/guides/features/projects/tma-architecture.md\\\"\\ntitle: \\\"The Modular Architecture (TMA)\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about The Modular Architecture (TMA) and how to structure your projects using it.\\\"\\n---\\n\\n# The Modular Architecture (TMA) {#the-modular-architecture-tma}\\n\\nTMA is an architectural approach to structure Apple OS applications to enable scalability, optimize build and test cycles, and ensure good practices in your team. Its core idea is to build your apps by building independent features that are interconnected using clear and concise APIs.\\n\\nThese guidelines introduce the principles of the architecture, helping you identify and organize your application features in different layers. It also introduces tips, tools, and advice if you decide to use this architecture.\\n\\n> [!INFO] µFEATURES\\n> This architecture was previously known as µFeatures. We've renamed it to The Modular Architecture (TMA) to better reflect its purpose and the principles behind it.\\n\\n## Core principle {#core-principle}\\n\\nDevelopers should be able to **build, test, and try** their features fast, independently of the main app, and while ensuring Xcode features like UI previews, code completion, and debugging work reliably.\\n\\n## What is a module {#what-is-a-module}\\n\\nA module represents an application feature and is a combination of the following five targets (where target referts to an Xcode target):\\n\\n- **Source:** Contains the feature source code (Swift, Objective-C, C++, JavaScript...) and its resources (images, fonts, storyboards, xibs).\\n- **Interface:** It's a companion target that contains the public interface and models of the feature.\\n- **Tests:** Contains the feature unit and integration tests.\\n- **Testing:** Provides testing data that can be used in tests and the example app. It also provides mocks for module classes and protocols that can be used by other features as we'll see later.\\n- **Example:** Contains an example app that developers can use to try out the feature under certain conditions (different languages, screen sizes, settings).\\n\\nWe recommend following a naming convention for targets, something that you can enforce in your project thanks to Tuist's DSL.\\n\\n| Target | Dependencies | Content |\\n| ------------------ | --------------------------- | --------------------------- |\\n| `Feature` | `FeatureInterface` | Source code and resources |\\n| `FeatureInterface` | - | Public interface and models |\\n| `FeatureTests` | `Feature`, `FeatureTesting` | Unit and integration tests |\\n| `FeatureTesting` | `FeatureInterface` | Testing data and mocks |\\n| `FeatureExample` | `FeatureTesting`, `Feature` | Example app |\\n\\n> [!TIP] UI Previews\\n> `Feature` can use `FeatureTesting` as a Development Asset to allow for UI previews\\n\\n> [!IMPORTANT] COMPILER DIRECTIVES INSTEAD OF TESTING TARGETS\\n> Alternatively, you can use compiler directives to include test data and mocks in the `Feature` or `FeatureInterface` targets when compiling for `Debug`. You simplify the graph, but you'll end up compiling code that you won't need for running the app.\\n\\n## Why a module {#why-a-module}\\n\\n### Clear and concise APIs {#clear-and-concise-apis}\\n\\nWhen all the app source code lives in the same target it is very easy to build implicit dependencies in code and end up with the so well-known spaghetti code. Everything is strongly coupled, the state is sometimes unpredictable, and introducing new changes become a nightmare. When we define features in independent targets we need to design public APIs as part of our feature implementation. We need to decide what should be public, how our feature should be consumed, what should remain private. We have more control over how we want our feature clients to use the feature and we can enforce good practices by designing safe APIs.\\n\\n### Small modules {#small-modules}\\n\\n[Divide and conquer](https://en.wikipedia.org/wiki/Divide_and_conquer). Working in small modules allows you to have more focus and test and try the feature in isolation. Moreover, development cycles are much faster since we have a more selective compilation, compiling only the components that are necessary to get our feature working. The compilation of the whole app is only necessary at the very end of our work, when we need to integrate the feature into the app.\\n\\n### Reusability {#reusability}\\n\\nReusing code across apps and other products like extensions is encouraged using frameworks or libraries. By building modules reusing them is pretty straightforward. We can build an iMessage extension, a Today Extension, or a watchOS application by just combining existing modules and adding _(when necessary)_ platform-specific UI layers.\\n\\n## Dependencies {#dependencies}\\n\\nWhen a module depends on another module, it declares a dependency against its interface target. The benefit of this is two-fold. It prevents the implementation of a module to be coupled to the implementation of another module, and it speeds up clean builds because they only have to compile the implementation of our feature, and the interfaces of direct and transitive dependencies. This approach is inspired by SwiftRock's idea of [Reducing iOS Build Times by using Interface Modules](https://swiftrocks.com/reducing-ios-build-times-by-using-interface-targets).\\n\\nDepending on interfaces requires apps to build the graph of implementations at runtime, and dependency-inject it into the modules that need it. Although TMA is non-opinionated about how to do this, we recommend using dependency-injection solutions or patterns or solutions that don't add built-time indirections or use platform APIs that were not designed for this purpose.\\n\\n## Product types {#product-types}\\n\\nWhen building a module, you can choose between **libraries and frameworks**, and **static and dynamic linking** for the targets. Without Tuist, making this decision is a bit more complex because you need to configure the dependency graph manually. However, thanks to Tuist Projects, this is no longer a problem.\\n\\nWe recommend using dynamic libraries or frameworks during development using bundle accessors to decouple the bundle-accessing logic from the library or framework nature of the target. This is key for fast compilation times and to ensure [SwiftUI Previews](https://developer.apple.com/documentation/swiftui/previews-in-xcode) work reliably. And static libraries or frameworks for the release builds to ensure the app boots fast. You can leverage dynamic configuration to change the product type at generation-time:\\n\\n```bash\\n# You'll have to read the value of the variable from the manifest {#youll-have-to-read-the-value-of-the-variable-from-the-manifest}\\n# and use it to change the linking type {#and-use-it-to-change-the-linking-type}\\nTUIST_PRODUCT_TYPE=static-library tuist generate\\n```\\n\\n```swift\\n// You can place this in your manifest files or helpers\\n// and use the returned value when instantiating targets.\\nfunc productType() -> Product {\\n if case let .string(productType) = Environment.productType {\\n return productType == \\\"static-library\\\" ? .staticLibrary : .framework\\n } else {\\n return .framework\\n }\\n}\\n```\\n\\n> [!IMPORTANT] MERGEABLE LIBRARIES\\n> Apple attempted to alleviate the cumbersomeness of switching between static and dynamic libraries by introducing [mergeable libraries](https://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries). However, that introduces build-time non-determinism that makes your build non-reproducible and harder to optimize so we don't recommend using it.\\n\\n## Code {#code}\\n\\nTMA is non-opinionated about the code architecture and patterns for your modules. However, we'd like to share some tips based on our experience:\\n\\n- **Leveraging the compiler is great.** Over-leveraging the compiler might end up being non-productive and cause some Xcode features like previews to work unreliably. We recommend using the compiler to enforce good practices and catch errors early, but not to the point that it makes the code harder to read and maintain.\\n- **Use Swift Macros sparingly.** They can be very powerful but can also make the code harder to read and maintain.\\n- **Embrace the platform and the language, don't abstract them.** Trying to come up with ellaborated abstraction layers might end up being counterproductive. The platform and the language are powerful enough to build great apps without the need for additional abstraction layers. Use good programming and design patterns as a reference to build your features.\\n\\n## Resources {#resources}\\n\\n- [Building µFeatures](https://speakerdeck.com/pepibumur/building-ufeatures)\\n- [Framework Oriented Programming](https://speakerdeck.com/pepibumur/framework-oriented-programming-mobilization-dot-pl)\\n- [A Journey into frameworks and Swift](https://speakerdeck.com/pepibumur/a-journey-into-frameworks-and-swift)\\n- [Leveraging frameworks to speed up our development on iOS - Part 1](https://developers.soundcloud.com/blog/leveraging-frameworks-to-speed-up-our-development-on-ios-part-1)\\n- [Library Oriented Programming](https://academy.realm.io/posts/justin-spahr-summers-library-oriented-programming/)\\n- [Building Modern Frameworks](https://developer.apple.com/videos/play/wwdc2014/416/)\\n- [The Unofficial Guide to xcconfig files](https://pewpewthespells.com/blog/xcconfig_guide.html)\\n- [Static and Dynamic Libraries](https://pewpewthespells.com/blog/static_and_dynamic_libraries.html)\\n\",\"title\":\"The Modular Architecture (TMA)\",\"frontmatter\":{\"URL\":\"/es/guides/features/projects/tma-architecture\",\"LLMS_URL\":\"/es/guides/features/projects/tma-architecture.md\",\"title\":\"The Modular Architecture (TMA)\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about The Modular Architecture (TMA) and how to structure your projects using it.\"}},{\"path\":\"/es/guides/features/registry.md\",\"url\":\"/es/guides/features/registry\",\"llmUrl\":\"/es/guides/features/registry.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/registry\\\"\\nLLMS_URL: \\\"/es/guides/features/registry.md\\\"\\ntitle: \\\"Registry\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Optimize your Swift package resolution times by leveraging the Tuist Registry.\\\"\\n---\\n\\n# Registry {#registry}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A Tuist account and project\\n\\nAs the number of dependencies grows, so does the time to resolve them. While other package managers like [CocoaPods](https://cocoapods.org/) or [npm](https://www.npmjs.com/) are centralized, Swift Package Manager is not. Because of that, SwiftPM needs to resolve dependencies by doing a deep clone of each repository, which can be time-consuming. To address this, Tuist provides an implementation of the [Package Registry](https://github.com/swiftlang/swift-package-manager/blob/main/Documentation/PackageRegistry/PackageRegistryUsage.md), so you can download only the commit you _actually need_. The packages in the registry are based on the [Swift Package Index](https://swiftpackageindex.com/) – if you can find a package there, the package is also available in the Tuist Registry. Additionally, the packages are distributed across the globe using an edge storage for minimum latency when resolving them.\\n\\n## Usage {#usage}\\n\\nTo set up and log in to the registry, run the following command in your project's directory:\\n\\n```bash\\ntuist registry setup\\n```\\n\\nThis command generates a registry configuration files and logs you in to the registry. To ensure the rest of your team can access the registry, ensure the generated files is committed and that your team members run the following command to log in:\\n\\n```bash\\ntuist registry login\\n```\\n\\nNow you can access the registry! To resolve dependencies from the registry instead of from source control, continue reading based on your project setup:\\n\\n- Xcode project\\n- Generated project with the Xcode package integration\\n- Generated project with the XcodeProj-based package integration\\n- Swift package\\n\\nTo set up the registry on the CI, follow this guide: Continuous integration.\\n\\n### Package registry identifiers {#package-registry-identifiers}\\n\\nIf you want to ensure that the registry is used every time you resolve dependencies, you will need to update `dependencies` in your `Package.swift` file to use the registry identifier instead of a URL. The registry identifier is always in the form of `{organization}.{repository}`. For example, to use the registry for the `swift-composable-architecture` package, do the following:\\n\\n> [!NOTE]\\n> The identifier can't contain more than one dot. If the repository name contains a dot, it's replaced with an underscore.\\n> For example, the `https://github.com/groue/GRDB.swift` package would have the registry identifier `groue.GRDB_swift`.\\n\",\"title\":\"Registry\",\"frontmatter\":{\"URL\":\"/es/guides/features/registry\",\"LLMS_URL\":\"/es/guides/features/registry.md\",\"title\":\"Registry\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Optimize your Swift package resolution times by leveraging the Tuist Registry.\"}},{\"path\":\"/es/guides/features/registry/continuous-integration.md\",\"url\":\"/es/guides/features/registry/continuous-integration\",\"llmUrl\":\"/es/guides/features/registry/continuous-integration.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/registry/continuous-integration\\\"\\nLLMS_URL: \\\"/es/guides/features/registry/continuous-integration.md\\\"\\ntitle: \\\"Continuous integration\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in continuous integration.\\\"\\n---\\n\\n# Continuous Integration (CI) {#continuous-integration-ci}\\n\\nTo use the registry on your CI, you need to ensure that you have logged in to the registry by running `tuist registry login` as part of your workflow.\\n\\n> [!NOTE] ONLY XCODE INTEGRATION\\n> Creating a new pre-unlocked keychain is required only if you are using the Xcode integration of packages.\\n\\nSince the registry credentials are stored in a keychain, you need to ensure the keychain can be accessed in the CI environment. Note some CI providers or automation tools like [Fastlane](https://fastlane.tools/) already create a temporary keychain or provide a built-in way how to create one. However, you can also create one by creating a custom step with the following code:\\n\\n```bash\\nTMP_DIRECTORY=$(mktemp -d)\\nKEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain\\nKEYCHAIN_PASSWORD=$(uuidgen)\\nsecurity create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\nsecurity set-keychain-settings -lut 21600 $KEYCHAIN_PATH\\nsecurity default-keychain -s $KEYCHAIN_PATH\\nsecurity unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n```\\n\\n`tuist registry login` will then store the credentials in the default keychain. Ensure that your default keychain is created and unlocked _before_ `tuist registry login` is run.\\n\\nAdditionally, you need to ensure the `TUIST_CONFIG_TOKEN` environment variable is set. You can create one by following the documentation here.\\n\\nAn example workflow for GitHub Actions could then look like this:\\n\\n```yaml\\nname: Build\\n\\njobs:\\n build:\\n steps:\\n - # Your set up steps...\\n - name: Create keychain\\n run: |\\n TMP_DIRECTORY=$(mktemp -d)\\n KEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain\\n KEYCHAIN_PASSWORD=$(uuidgen)\\n security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n security set-keychain-settings -lut 21600 $KEYCHAIN_PATH\\n security default-keychain -s $KEYCHAIN_PATH\\n security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n - name: Log in to the Tuist Registry\\n env:\\n TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}\\n run: tuist registry login\\n - # Your build steps\\n```\\n\\n### Incremental resolution across environments {#incremental-resolution-across-environments}\\n\\nClean/cold resolutions are slightly faster with our registry, and you can experience even greater improvements if you persist the resolved dependencies across CI builds. Note that thanks to the registry, the size of the directory that you need to store and restore is much smaller than without the registry, taking significantly less time.\\nTo cache dependencies when using the default Xcode package integration, the best way is to specify a custom `-clonedSourcePackagesDirPath` when resolving dependencies via `xcodebuild`, such as:\\n\\n```sh\\nxcodebuild -resolvePackageDependencies -clonedSourcePackagesDirPath .build\\n```\\n\\nAdditionally, you will need to find a path of the `Package.resolved`. You can grab the path by running `ls **/Package.resolved`. The path should look something like `App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved`.\\n\\nFor Swift packages and the XcodeProj-based integration, we can use the default `.build` directory located either in the root of the project or in the `Tuist` directory. Make sure the path is correct when setting up your pipeline.\\n\\nHere's an example workflow for GitHub Actions for resolving and caching dependencies when using the default Xcode package integration:\\n\\n```yaml\\n- name: Restore cache\\n id: cache-restore\\n uses: actions/cache/restore@v4\\n with:\\n path: .build\\n key: ${{ runner.os }}-${{ hashFiles('App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved') }}\\n restore-keys: .build\\n- name: Resolve dependencies\\n if: steps.cache-restore.outputs.cache-hit != 'true'\\n run: xcodebuild -resolvePackageDependencies -clonedSourcePackagesDirPath .build\\n- name: Save cache\\n id: cache-save\\n uses: actions/cache/save@v4\\n with:\\n path: .build\\n key: ${{ steps.cache-restore.outputs.cache-primary-key }}\\n```\\n\",\"title\":\"Continuous integration\",\"frontmatter\":{\"URL\":\"/es/guides/features/registry/continuous-integration\",\"LLMS_URL\":\"/es/guides/features/registry/continuous-integration.md\",\"title\":\"Continuous integration\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in continuous integration.\"}},{\"path\":\"/es/guides/features/registry/generated-project.md\",\"url\":\"/es/guides/features/registry/generated-project\",\"llmUrl\":\"/es/guides/features/registry/generated-project.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/registry/generated-project\\\"\\nLLMS_URL: \\\"/es/guides/features/registry/generated-project.md\\\"\\ntitle: \\\"Generated project with the Xcode package integration\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in a generated Xcode project with the Xcode package integration.\\\"\\n---\\n\\n# Generated project with the Xcode package integration {#generated-project-with-xcode-based-integration}\\n\\nIf you are using the Xcode's default integration of packages with Tuist Projects, you need to use the registry identifier instead of a URL when adding a package:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n packages: [\\n // Source control resolution\\n // .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n // Registry resolution\\n .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n ],\\n .target(\\n name: \\\"App\\\",\\n product: .app,\\n bundleId: \\\"io.tuist.App\\\",\\n dependencies: [\\n .package(product: \\\"ComposableArchitecture\\\"),\\n ]\\n )\\n)\\n```\\n\",\"title\":\"Generated project with the Xcode package integration\",\"frontmatter\":{\"URL\":\"/es/guides/features/registry/generated-project\",\"LLMS_URL\":\"/es/guides/features/registry/generated-project.md\",\"title\":\"Generated project with the Xcode package integration\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in a generated Xcode project with the Xcode package integration.\"}},{\"path\":\"/es/guides/features/registry/swift-package.md\",\"url\":\"/es/guides/features/registry/swift-package\",\"llmUrl\":\"/es/guides/features/registry/swift-package.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/registry/swift-package\\\"\\nLLMS_URL: \\\"/es/guides/features/registry/swift-package.md\\\"\\ntitle: \\\"Swift package\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in a Swift package.\\\"\\n---\\n\\n# Swift package {#swift-package}\\n\\nIf you are working on a Swift package, you can use the `--replace-scm-with-registry` flag to resolve dependencies from the registry if they are available:\\n\\n```bash\\nswift package --replace-scm-with-registry resolve\\n```\\n\\nIf you want to ensure that the registry is used every time you resolve dependencies, you will need to update `dependencies` in your `Package.swift` file to use the registry identifier instead of a URL. The registry identifier is always in the form of `{organization}.{repository}`. For example, to use the registry for the `swift-composable-architecture` package, do the following:\\n\\n```diff\\ndependencies: [\\n- .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n+ .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n]\\n```\\n\",\"title\":\"Swift package\",\"frontmatter\":{\"URL\":\"/es/guides/features/registry/swift-package\",\"LLMS_URL\":\"/es/guides/features/registry/swift-package.md\",\"title\":\"Swift package\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in a Swift package.\"}},{\"path\":\"/es/guides/features/registry/xcode-project.md\",\"url\":\"/es/guides/features/registry/xcode-project\",\"llmUrl\":\"/es/guides/features/registry/xcode-project.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/registry/xcode-project\\\"\\nLLMS_URL: \\\"/es/guides/features/registry/xcode-project.md\\\"\\ntitle: \\\"Xcode project\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in an Xcode project.\\\"\\n---\\n\\n# Xcode project {#xcode-project}\\n\\nTo add packages using the registry in your Xcode project, use the default Xcode UI. You can search for packages in the registry by clicking on the `+` button in the `Package Dependencies` tab in Xcode. If the package is available in the registry, you will see the `tuist.dev` registry in the top right:\\n\\n\\n\\n> [!NOTE]\\n> Xcode currently doesn't support automatically replacing source control packages with their registry equivalents. You will need to manually remove the source control package and add the registry package to speed up the resolution.\\n\",\"title\":\"Xcode project\",\"frontmatter\":{\"URL\":\"/es/guides/features/registry/xcode-project\",\"LLMS_URL\":\"/es/guides/features/registry/xcode-project.md\",\"title\":\"Xcode project\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in an Xcode project.\"}},{\"path\":\"/es/guides/features/registry/xcodeproj-integration.md\",\"url\":\"/es/guides/features/registry/xcodeproj-integration\",\"llmUrl\":\"/es/guides/features/registry/xcodeproj-integration.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/registry/xcodeproj-integration\\\"\\nLLMS_URL: \\\"/es/guides/features/registry/xcodeproj-integration.md\\\"\\ntitle: \\\"Generated project with the XcodeProj-based package integration\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in a generated Xcode project with the XcodeProj-based package integration.\\\"\\n---\\n\\n# Generated project with the XcodeProj-based package integration {#generated-project-with-xcodeproj-based-integration}\\n\\nWhen using the XcodeProj-based integration, you can use the `--replace-scm-with-registry` flag to resolve dependencies from the registry if they are available. Add it to the `installOptions` in your `Tuist.swift` file:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(\\n fullHandle: \\\"{account-handle}/{project-handle}\\\",\\n project: .tuist(\\n installOptions: .options(passthroughSwiftPackageManagerArguments: [\\\"--replace-scm-with-registry\\\"])\\n )\\n)\\n```\\n\\nIf you want to ensure that the registry is used every time you resolve dependencies, you will need to update `dependencies` in your `Tuist/Package.swift` file to use the registry identifier instead of a URL. The registry identifier is always in the form of `{organization}.{repository}`. For example, to use the registry for the `swift-composable-architecture` package, do the following:\\n\\n```diff\\ndependencies: [\\n- .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n+ .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n]\\n```\\n\",\"title\":\"Generated project with the XcodeProj-based package integration\",\"frontmatter\":{\"URL\":\"/es/guides/features/registry/xcodeproj-integration\",\"LLMS_URL\":\"/es/guides/features/registry/xcodeproj-integration.md\",\"title\":\"Generated project with the XcodeProj-based package integration\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in a generated Xcode project with the XcodeProj-based package integration.\"}},{\"path\":\"/es/guides/features/selective-testing.md\",\"url\":\"/es/guides/features/selective-testing\",\"llmUrl\":\"/es/guides/features/selective-testing.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/selective-testing\\\"\\nLLMS_URL: \\\"/es/guides/features/selective-testing.md\\\"\\ntitle: \\\"Selective testing\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Use selective testing to run only the tests that have changed since the last successful test run.\\\"\\n---\\n\\n# Selective testing {#selective-testing}\\n\\nAs your project grows, so does the amount of your tests. For a long time, running all tests on every PR or push to `main` takes tens of seconds. But this solution does not scale to thousands of tests your team might have.\\n\\nOn every test run on the CI, you most likely re-run all the tests, regardless of the changes. Tuist's selective testing helps you to drastically speed up running the tests themselves by running only the tests that have changed since the last successful test run based on our hashing algorithm.\\n\\nSelective testing works with `xcodebuild`, which supports any Xcode project, or if you generate your projects with Tuist, you can use the `tuist test` command instead that provides some extra convenience such as integration with the binary cache. To get started with selective testing, follow the instructions based on your project setup:\\n\\n- xcodebuild\\n- Generated project\\n\\n> [!WARNING] MODULE VS FILE-LEVEL GRANULARITY\\n> Due to the impossibility of detecting the in-code dependencies between tests and sources, the maximum granularity of selective testing is at the target level. Therefore, we recommend keeping your targets small and focused to maximize the benefits of selective testing.\\n\\n> [!WARNING] TEST COVERAGE\\n> Test coverage tools assume that the whole test suite runs at once, which makes them incompatible with selective test runs—this means the coverage data might not reflect reality when using test selection. That’s a known limitation, and it doesn’t mean you’re doing anything wrong. We encourage teams to reflect on whether coverage is still bringing meaningful insights in this context, and if it is, rest assured that we’re already thinking about how to make coverage work properly with selective runs in the future.\\n\\n## Pull/merge request comments {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] INTEGRATION WITH GIT PLATFORM REQUIRED\\n> To get automatic pull/merge request comments, integrate your Tuist project with a Git platform.\\n\\nOnce your Tuist project is connected with your Git platform such as [GitHub](https://github.com), and you start using `tuist xcodebuild test` or `tuist test` as part of your CI wortkflow, Tuist will post a comment directly in your pull/merge requests, including which tests were run and which skipped:\\n\\n\",\"title\":\"Selective testing\",\"frontmatter\":{\"URL\":\"/es/guides/features/selective-testing\",\"LLMS_URL\":\"/es/guides/features/selective-testing.md\",\"title\":\"Selective testing\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Use selective testing to run only the tests that have changed since the last successful test run.\"}},{\"path\":\"/es/guides/features/selective-testing/generated-project.md\",\"url\":\"/es/guides/features/selective-testing/generated-project\",\"llmUrl\":\"/es/guides/features/selective-testing/generated-project.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/selective-testing/generated-project\\\"\\nLLMS_URL: \\\"/es/guides/features/selective-testing/generated-project.md\\\"\\ntitle: \\\"Generated project\\\"\\ntitleTemplate: \\\":title · Selective testing · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to leverage selective testing with a generated project.\\\"\\n---\\n\\n# Generated project {#generated-project}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A generated project\\n> - A Tuist account and project\\n\\nTo run tests selectively with your generated project, use the `tuist test` command. The command hashes your Xcode project the same way it does for warming the cache, and on success, it persists the hashes on to determine what has changed in future runs.\\n\\nIn future runs `tuist test` transparently uses the hashes to filter down the tests to run only the ones that have changed since the last successful test run.\\n\\nFor example, assuming the following dependency graph:\\n\\n- `FeatureA` has tests `FeatureATests`, and depends on `Core`\\n- `FeatureB` has tests `FeatureBTests`, and depends on `Core`\\n- `Core` has tests `CoreTests`\\n\\n`tuist test` will behave as such:\\n\\n| Action | Description | Internal state |\\n| ----------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------ |\\n| `tuist test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The hashes of `FeatureATests`, `FeatureBTests` and `CoreTests` are persisted |\\n| `FeatureA` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist test` invocation | Runs the tests in `FeatureATests` because it hash has changed | The new hash of `FeatureATests` is persisted |\\n| `Core` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The new hash of `FeatureATests` `FeatureBTests`, and `CoreTests` are persisted |\\n\\n`tuist test` integrates directly with binary caching to use as many binaries from your local or remote storage to improve the build time when running your test suite. The combination of selective testing with binary caching can dramatically reduce the time it takes to run tests on your CI.\\n\\n## UI Tests {#ui-tests}\\n\\nTuist supports selective testing of UI tests. However, Tuist needs to know the destination in advance. Only if you specify the `destination` parameter, Tuist will run the UI tests selectively, such as:\\n\\n```sh\\ntuist test --device 'iPhone 14 Pro'\\n# or\\ntuist test -- -destination 'name=iPhone 14 Pro'\\n# or\\ntuist test -- -destination 'id=SIMULATOR_ID'\\n```\\n\",\"title\":\"Generated project\",\"frontmatter\":{\"URL\":\"/es/guides/features/selective-testing/generated-project\",\"LLMS_URL\":\"/es/guides/features/selective-testing/generated-project.md\",\"title\":\"Generated project\",\"titleTemplate\":\":title · Selective testing · Develop · Guides · Tuist\",\"description\":\"Learn how to leverage selective testing with a generated project.\"}},{\"path\":\"/es/guides/features/selective-testing/xcode-project.md\",\"url\":\"/es/guides/features/selective-testing/xcode-project\",\"llmUrl\":\"/es/guides/features/selective-testing/xcode-project.md\",\"content\":\"---\\nURL: \\\"/es/guides/features/selective-testing/xcode-project\\\"\\nLLMS_URL: \\\"/es/guides/features/selective-testing/xcode-project.md\\\"\\ntitle: \\\"xcodebuild\\\"\\ntitleTemplate: \\\":title · Selective testing · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to leverage selective testing with `xcodebuild`.\\\"\\n---\\n\\n# xcodebuild {#xcodebuild}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A Tuist account and project\\n\\nYou can run the tests of your Xcode projects selectively through the command line. To run tests selectively using `xcodebuild`, you can prepend your `xcodebuild` command with `tuist` – for example, `tuist xcodebuild test -scheme App`. The command hashes your project and on success, it persists the hashes to determine what has changed in future runs.\\n\\nIn future runs `tuist xcodebuild test` transparently uses the hashes to filter down the tests to run only the ones that have changed since the last successful test run.\\n\\nFor example, assuming the following dependency graph:\\n\\n- `FeatureA` has tests `FeatureATests`, and depends on `Core`\\n- `FeatureB` has tests `FeatureBTests`, and depends on `Core`\\n- `Core` has tests `CoreTests`\\n\\n`tuist xcodebuild test` will behave as such:\\n\\n| Action | Description | Internal state |\\n| ---------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------ |\\n| `tuist xcodebuild test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The hashes of `FeatureATests`, `FeatureBTests` and `CoreTests` are persisted |\\n| `FeatureA` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist xcodebuild test` invocation | Runs the tests in `FeatureATests` because it hash has changed | The new hash of `FeatureATests` is persisted |\\n| `Core` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist xcodebuild test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The new hash of `FeatureATests` `FeatureBTests`, and `CoreTests` are persisted |\\n\\nTo use `tuist xcodebuild test` on your CI, follow the instructions in the Continuous integration guide.\\n\\nCheck out the following video to see selective testing in action:\\n\\n\\n\",\"title\":\"xcodebuild\",\"frontmatter\":{\"URL\":\"/es/guides/features/selective-testing/xcode-project\",\"LLMS_URL\":\"/es/guides/features/selective-testing/xcode-project.md\",\"title\":\"xcodebuild\",\"titleTemplate\":\":title · Selective testing · Develop · Guides · Tuist\",\"description\":\"Learn how to leverage selective testing with `xcodebuild`.\"}},{\"path\":\"/es/guides/integrations/continuous-integration.md\",\"url\":\"/es/guides/integrations/continuous-integration\",\"llmUrl\":\"/es/guides/integrations/continuous-integration.md\",\"content\":\"---\\nURL: \\\"/es/guides/integrations/continuous-integration\\\"\\nLLMS_URL: \\\"/es/guides/integrations/continuous-integration.md\\\"\\ntitle: \\\"Continuous Integration (CI)\\\"\\ntitleTemplate: \\\":title · Automate · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist in your CI workflows.\\\"\\n---\\n\\n# Continuous Integration (CI) {#continuous-integration-ci}\\n\\nYou can use Tuist in [continuous integration](https://en.wikipedia.org/wiki/Continuous_integration) environments. The following sections provide examples of how to do this on different CI platforms.\\n\\n## Examples {#examples}\\n\\nTo run Tuist commands in your CI workflows, you’ll need to install it in your CI environment.\\n\\n### Xcode Cloud {#xcode-cloud}\\n\\nIn [Xcode Cloud](https://developer.apple.com/xcode-cloud/), which uses Xcode projects as the source of truth, you'll need to add a [post-clone](https://developer.apple.com/documentation/xcode/writing-custom-build-scripts#Create-a-custom-build-script) script to install Tuist and run the commands you need, for example `tuist generate`:\\n\\n:::code-group\\n\\n```bash [Mise]\\n#!/bin/sh\\ncurl https://mise.jdx.dev/install.sh | sh\\nmise install # Installs the version from .mise.toml\\n\\n# Runs the version of Tuist indicated in the .mise.toml file {#runs-the-version-of-tuist-indicated-in-the-misetoml-file}\\nmise exec -- tuist generate\\n```\\n\\n```bash [Homebrew]\\n#!/bin/sh\\nbrew install --formula [email protected]\\n\\ntuist generate\\n```\\n\\n:::\\n\\n### Codemagic {#codemagic}\\n\\nIn [Codemagic](https://codemagic.io), you can add an additional step to your workflow to install Tuist:\\n\\n::: code-group\\n\\n```yaml [Mise]\\nworkflows:\\n lint:\\n name: Build\\n max_build_duration: 30\\n environment:\\n xcode: 15.0.1\\n scripts:\\n - name: Install Mise\\n script: |\\n curl https://mise.jdx.dev/install.sh | sh\\n mise install # Installs the version from .mise.toml\\n - name: Build\\n script: mise exec -- tuist build\\n```\\n\\n```yaml [Homebrew]\\nworkflows:\\n lint:\\n name: Build\\n max_build_duration: 30\\n environment:\\n xcode: 15.0.1\\n scripts:\\n - name: Install Tuist\\n script: |\\n brew install --formula [email protected]\\n - name: Build\\n script: tuist build\\n```\\n\\n:::\\n\\n### GitHub Actions {#github-actions}\\n\\nOn [GitHub Actions](https://docs.github.com/en/actions) you can add an additional step to install Tuist, and in the case of managing the installation of Mise, you can use the [mise-action](https://github.com/jdx/mise-action), which abstracts the installation of Mise and Tuist:\\n\\n::: code-group\\n\\n```yaml [Mise]\\nname: Build Application\\non:\\n pull_request:\\n branches:\\n - main\\n push:\\n branches:\\n - main\\njobs:\\n build:\\n runs-on: macos-latest\\n steps:\\n - uses: actions/checkout@v3\\n - uses: jdx/mise-action@v2\\n - run: tuist build\\n```\\n\\n```yaml [Homebrew]\\nname: test\\non:\\n pull_request:\\n branches:\\n - main\\n push:\\n branches:\\n - main\\njobs:\\n lint:\\n runs-on: macos-latest\\n steps:\\n - uses: actions/checkout@v3\\n - run: brew install --formula [email protected]\\n - run: tuist build\\n```\\n\\n:::\\n\\n:::tip\\nWe recommend using `mise use --pin` in your Tuist projects to pin the version of Tuist across environments. The command will create a `.tool-versions` file containing the version of Tuist.\\n:::\\n\\n## Authentication {#authentication}\\n\\nWhen using server-side features such as cache, you'll need a way to authenticate requests going from your CI workflows to the server. For that, you can generate a project-scoped token by running the following command:\\n\\n```bash\\ntuist project tokens create my-handle/MyApp\\n```\\n\\nThe command will generate a token for the project with full handle `my-account/my-project`. Set the value to the environment variable\\n`TUIST_CONFIG_TOKEN` in your CI environment ensuring it's configured as a secret so it's not exposed.\\n\\n> [!IMPORTANT] CI ENVIRONMENT DETECTION\\n> Tuist only uses the token when it detects it's running on a CI environment. If your CI environment is not detected, you can force the token usage by setting the environment variable `CI` to `1`.\\n\",\"title\":\"Continuous Integration (CI)\",\"frontmatter\":{\"URL\":\"/es/guides/integrations/continuous-integration\",\"LLMS_URL\":\"/es/guides/integrations/continuous-integration.md\",\"title\":\"Continuous Integration (CI)\",\"titleTemplate\":\":title · Automate · Guides · Tuist\",\"description\":\"Learn how to use Tuist in your CI workflows.\"}},{\"path\":\"/es/guides/integrations/gitforge/github.md\",\"url\":\"/es/guides/integrations/gitforge/github\",\"llmUrl\":\"/es/guides/integrations/gitforge/github.md\",\"content\":\"---\\nURL: \\\"/es/guides/integrations/gitforge/github\\\"\\nLLMS_URL: \\\"/es/guides/integrations/gitforge/github.md\\\"\\ntitle: \\\"GitHub\\\"\\ntitleTemplate: \\\":title | Git forges | Integrations | Guides | Tuist\\\"\\ndescription: \\\"Learn how to connect Tuist to other tools and services.\\\"\\n---\\n\\n# Integrations {#integrations}\\n\\nWe strongly believe we should meet developers where they are, and let's be honest, developers spend time outside of their coding environments, such as reviewing pull request on [GitHub](https://github.com) or communicating with their team on [Slack](https://slack.com). That's why we've built integrations with popular tools and services to make it easier for you to use Tuist in your workflows. This page lists the integrations we currently support.\\n\\n## Git platforms {#git-platforms}\\n\\nGit repositories are the centerpiece of the vast majority of software projects out there. We integrate with your Git platform to provide Tuist insights right in your pull requests or to save you some configuration such as syncing your default branch.\\n\\n### GitHub {#github}\\n\\nInstall the [Tuist GitHub app](https://github.com/marketplace/tuist). Once installed, you will need to tell Tuist the URL of your repository, such as:\\n\\n```sh\\ntuist project update tuist/tuist --repository-url https://github.com/tuist/tuist\\n```\\n\",\"title\":\"GitHub\",\"frontmatter\":{\"URL\":\"/es/guides/integrations/gitforge/github\",\"LLMS_URL\":\"/es/guides/integrations/gitforge/github.md\",\"title\":\"GitHub\",\"titleTemplate\":\":title | Git forges | Integrations | Guides | Tuist\",\"description\":\"Learn how to connect Tuist to other tools and services.\"}},{\"path\":\"/es/guides/integrations/sso.md\",\"url\":\"/es/guides/integrations/sso\",\"llmUrl\":\"/es/guides/integrations/sso.md\",\"content\":\"---\\nURL: \\\"/es/guides/integrations/sso\\\"\\nLLMS_URL: \\\"/es/guides/integrations/sso.md\\\"\\ntitle: \\\"SSO\\\"\\ntitleTemplate: \\\":title | Integrations | Guides | Tuist\\\"\\ndescription: \\\"Learn how to set up Single Sign-On (SSO) with your organization.\\\"\\n---\\n\\n# SSO {#sso}\\n\\nIf you have a Google Workspace organization and you want any developer who signs in with the same Google hosted domain to be added to your Tuist organization, you can set it up with:\\n```bash\\ntuist organization update sso my-organization --provider google --organization-id my-google-domain.com\\n```\\n\\nFor on-premise customers that have Okta set up, you can get the same behavior as for Google by running:\\n```bash\\ntuist organization update sso my-organization --provider okta --organization-id my-okta-domain.com\\n```\\n\\n> [!IMPORTANT]\\n> You must be authenticated with Google using an email tied to the organization whose domain you are setting up.\",\"title\":\"SSO\",\"frontmatter\":{\"URL\":\"/es/guides/integrations/sso\",\"LLMS_URL\":\"/es/guides/integrations/sso.md\",\"title\":\"SSO\",\"titleTemplate\":\":title | Integrations | Guides | Tuist\",\"description\":\"Learn how to set up Single Sign-On (SSO) with your organization.\"}},{\"path\":\"/es/guides/quick-start/add-dependencies.md\",\"url\":\"/es/guides/quick-start/add-dependencies\",\"llmUrl\":\"/es/guides/quick-start/add-dependencies.md\",\"content\":\"---\\nURL: \\\"/es/guides/quick-start/add-dependencies\\\"\\nLLMS_URL: \\\"/es/guides/quick-start/add-dependencies.md\\\"\\ntitle: \\\"Add dependencies\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"Learn how to add dependencies to your first Swift project\\\"\\n---\\n\\n# Add dependencies {#add-dependencies}\\n\\nIt's common for projects to depend on third-party libraries to provide additional functionality. To do so, run the following command to have the best experience editing your project:\\n\\n```bash\\ntuist edit\\n```\\n\\nAn Xcode project will open containing your project files. Edit the `Package.swift` and add the\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n .package(url: \\\"https://github.com/onevcat/Kingfisher\\\", .upToNextMajor(from: \\\"7.12.0\\\")) // [!code ++]\\n ]\\n)\\n```\\n\\nThen edit the application target in your project to declare `Kingfisher` as a dependency:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n targets: [\\n .target(\\n name: \\\"MyApp\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"io.tuist.MyApp\\\",\\n infoPlist: .extendingDefault(\\n with: [\\n \\\"UILaunchStoryboardName\\\": \\\"LaunchScreen.storyboard\\\",\\n ]\\n ),\\n sources: [\\\"MyApp/Sources/**\\\"],\\n resources: [\\\"MyApp/Resources/**\\\"],\\n dependencies: [\\n .external(name: \\\"Kingfisher\\\") // [!code ++]\\n ]\\n ),\\n .target(\\n name: \\\"MyAppTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.MyAppTests\\\",\\n infoPlist: .default,\\n sources: [\\\"MyApp/Tests/**\\\"],\\n resources: [],\\n dependencies: [.target(name: \\\"MyApp\\\")]\\n ),\\n ]\\n)\\n```\\n\\nThen run `tuist install` to resolve and pull the dependencies using the [Swift Package Manager](https://www.swift.org/documentation/package-manager/).\\n\\n> [!NOTE] SPM AS A DEPENDENCY RESOLVER\\n> Tuist recommended approach to dependencies uses the Swift Package Manager (SPM) only to resolve dependencies. Tuist then converts them into Xcode projects and targets for maximum configurability and control.\\n\\n## Visualize the project {#visualize-the-project}\\n\\nYou can visualize the project structure by running:\\n\\n```bash\\ntuist graph\\n```\\n\\nThe command will output and open a `graph.png` file in the project's directory:\\n\\n\\n\\n## Use the dependency {#use-the-dependency}\\n\\nRun `tuist generate` to open the project in Xcode, and make the following changes to the `ContentView.swift` file:\\n\\n```swift\\nimport SwiftUI\\nimport Kingfisher // [!code ++]\\n\\npublic struct ContentView: View {\\n public init() {}\\n\\n public var body: some View {\\n Text(\\\"Hello, World!\\\") // [!code --]\\n .padding() // [!code --]\\n KFImage(URL(string: \\\"https://cloud.tuist.io/images/[email protected]\\\")!) // [!code ++]\\n }\\n}\\n\\n\\nstruct ContentView_Previews: PreviewProvider {\\n static var previews: some View {\\n ContentView()\\n }\\n}\\n```\\n\\nRun the app from Xcode, and you should see the image loaded from the URL.\\n\",\"title\":\"Add dependencies\",\"frontmatter\":{\"URL\":\"/es/guides/quick-start/add-dependencies\",\"LLMS_URL\":\"/es/guides/quick-start/add-dependencies.md\",\"title\":\"Add dependencies\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"Learn how to add dependencies to your first Swift project\"}},{\"path\":\"/es/guides/quick-start/gather-insights.md\",\"url\":\"/es/guides/quick-start/gather-insights\",\"llmUrl\":\"/es/guides/quick-start/gather-insights.md\",\"content\":\"---\\nURL: \\\"/es/guides/quick-start/gather-insights\\\"\\nLLMS_URL: \\\"/es/guides/quick-start/gather-insights.md\\\"\\ntitle: \\\"Gather insights\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"Learn how to gather insights about your project.\\\"\\n---\\n\\n# Gather insights {#gather-insights}\\n\\nTuist can integrate with a server to extend its capabilities. One of those capabilities is gathering insights about your project and builds. All you need is to have an account with a project in the server.\\n\\nFirst of all, you'll need to authenticate by running:\\n\\n```bash\\ntuist auth login\\n```\\n\\n## Create a project {#create-a-project}\\n\\nYou can then create a project by running:\\n\\n```bash\\ntuist project create my-handle/MyApp\\n\\n# Tuist project my-handle/MyApp was successfully created 🎉 {#tuist-project-myhandlemyapp-was-successfully-created-}\\n```\\n\\nCopy `my-handle/MyApp`, which represents the full handle of the project.\\n\\n## Connect projects {#connect-projects}\\n\\nAfter creating the project on the server, you'll have to connect it to your local project. Run `tuist edit` and edit the `Tuist.swift` file to include the full handle of the project:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(fullHandle: \\\"my-handle/MyApp\\\")\\n```\\n\\nVoilà! You're now ready to gather insights about your project and builds. Run `tuist test` to run the tests reporting the results to the server.\\n\\n> [!NOTE]\\n> Tuist enqueues the results locally and tries to send them without blocking the command. Therefore, they might not be sent immediately after the command finishes. In CI, the results are sent immediately.\\n\\n\\n\\nHaving data from your projects and builds is crucial in making informed decisions.\\nTuist will continue to extend its capabilities, and you'll benefit from them without having to change your project configuration. Magic, right? 🪄\\n\",\"title\":\"Gather insights\",\"frontmatter\":{\"URL\":\"/es/guides/quick-start/gather-insights\",\"LLMS_URL\":\"/es/guides/quick-start/gather-insights.md\",\"title\":\"Gather insights\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"Learn how to gather insights about your project.\"}},{\"path\":\"/es/guides/quick-start/get-started.md\",\"url\":\"/es/guides/quick-start/get-started\",\"llmUrl\":\"/es/guides/quick-start/get-started.md\",\"content\":\"---\\nURL: \\\"/es/guides/quick-start/get-started\\\"\\nLLMS_URL: \\\"/es/guides/quick-start/get-started.md\\\"\\ntitle: \\\"Get started\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"Learn how to install Tuist in your environment.\\\"\\n---\\n\\n# Get started {#get-started}\\n\\nThe easiest way to get started with Tuist in any directory or in the directory of your Xcode project or workspace:\\n\\n::: code-group\\n\\n```bash [Mise]\\nmise x tuist@latest -- tuist init\\n```\\n\\n```bash [Global Tuist (Homebrew)]\\ntuist init\\n```\\n\\n:::\\n\\nThe command will walk you through the steps to create a generated project or integrate an existing Xcode project or workspace. It helps you connect your setup to the remote server, giving you access to features like selective testing, previews, and the registry.\\n\\n> [!NOTE] MIGRATE AN EXISTING PROJECT\\n> If you want to migrate an existing project to generated projects to improve the developer experience and take advantage of our cache, check out our migration guide.\\n\",\"title\":\"Get started\",\"frontmatter\":{\"URL\":\"/es/guides/quick-start/get-started\",\"LLMS_URL\":\"/es/guides/quick-start/get-started.md\",\"title\":\"Get started\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"Learn how to install Tuist in your environment.\"}},{\"path\":\"/es/guides/quick-start/install-tuist.md\",\"url\":\"/es/guides/quick-start/install-tuist\",\"llmUrl\":\"/es/guides/quick-start/install-tuist.md\",\"content\":\"---\\nURL: \\\"/es/guides/quick-start/install-tuist\\\"\\nLLMS_URL: \\\"/es/guides/quick-start/install-tuist.md\\\"\\ntitle: \\\"Install Tuist\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"Learn how to install Tuist in your environment.\\\"\\n---\\n\\n# Install Tuist {#install-tuist}\\n\\nThe Tuist CLI consists of an executable, dynamic frameworks, and a set of resources (for example, templates). Although you could manually build Tuist from [the sources](https://github.com/tuist/tuist), **we recommend using one of the following installation methods to ensure a valid installation.**\\n\\n### Mise {#recommended-mise}\\n\\n:::info\\nMise is a recommended alternative to [Homebrew](https://brew.sh) if you are a team or organization that needs to ensure deterministic versions of tools across different environments.\\n:::\\n\\nYou can install Tuist through any of the following commands:\\n\\n```bash\\nmise install tuist # Install the current version specified in .tool-versions/.mise.toml\\nmise install [email protected] # Install a specific version number\\nmise install tuist@3 # Install a fuzzy version number\\n```\\n\\nNote that unlike tools like Homebrew, which install and activate a single version of the tool globally, **Mise requires the activation of a version** either globally or scoped to a project. This is done by running `mise use`:\\n\\n```bash\\nmise use [email protected] # Use tuist-x.y.z in the current project\\nmise use tuist@latest # Use the latest tuist in the current directory\\nmise use -g [email protected] # Use tuist-x.y.z as the global default\\nmise use -g tuist@system # Use the system's tuist as the global default\\n```\\n\\n### Homebrew {#recommended-homebrew}\\n\\nYou can install Tuist using [Homebrew](https://brew.sh) and [our formulas](https://github.com/tuist/homebrew-tuist):\\n\\n```bash\\nbrew tap tuist/tuist\\nbrew install --formula tuist\\nbrew install --formula [email protected]\\n```\\n\\n:::tip VERIFYING THE AUTHENTICITY OF THE BINARIES\\n\\n```bash\\ncurl -fsSL \\\"https://docs.tuist.dev/verify.sh\\\" | bash\\n```\\n\\n:::\\n\",\"title\":\"Install Tuist\",\"frontmatter\":{\"URL\":\"/es/guides/quick-start/install-tuist\",\"LLMS_URL\":\"/es/guides/quick-start/install-tuist.md\",\"title\":\"Install Tuist\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"Learn how to install Tuist in your environment.\"}},{\"path\":\"/es/guides/server/accounts-and-projects.md\",\"url\":\"/es/guides/server/accounts-and-projects\",\"llmUrl\":\"/es/guides/server/accounts-and-projects.md\",\"content\":\"---\\nURL: \\\"/es/guides/server/accounts-and-projects\\\"\\nLLMS_URL: \\\"/es/guides/server/accounts-and-projects.md\\\"\\ntitle: \\\"Accounts and projects\\\"\\ntitleTemplate: \\\":title | Server | Guides | Tuist\\\"\\ndescription: \\\"Learn how to create and manage accounts and projects in Tuist.\\\"\\n---\\n\\n# Accounts and projects {#accounts-and-projects}\\n\\n## Accounts {#accounts}\\n\\nTo use the server, you'll need an account. There are two types of accounts:\\n\\n- **Personal account:** Those accounts are created automaticaly when you sign up and are identified by a handle that's obtained either from the identity provider (e.g. GitHub) or the first part of the email address.\\n- **Organization account:** Those accounts are manually created and are identified by a handle that's defined by the developer. Organizations allow inviting other members to collaborate on projects.\\n\\nIf you are familiar with [GitHub](https://github.com), the concept is similar to theirs, where you can have personal and organization accounts, and they are identified by a _handle_ that's used when constructing URLs.\\n\\n> [!NOTE] CLI-FIRST\\n> Most operations to manage accounts and projects are done through the CLI. We are working on a web interface that will make it easier to manage accounts and projects.\\n\\nYou can manage the organization through the subcommands under `tuist organization`. To create a new organization account, run:\\n\\n```bash\\ntuist organization create {account-handle}\\n```\\n\\n## Projects {#projects}\\n\\nYour projects, either Tuist's or raw Xcode's, need to be integrated with your account through a remote project. Continuing with the comparison with GitHub, it's like having a local and a remote repository where you push your changes. You can use the `tuist project` to create and manage projects.\\n\\nProjects are identified by a full handle, which is the result of concatenating the organization handle and the project handle. For example, if you have an organization with the handle `tuist`, and a project with the handle `tuist`, the full handle would be `tuist/tuist`.\\n\\nThe binding between the local and the remote project is done through the configuration file. If you don't have any, create it at `Tuist.swift` and add the following content:\\n\\n```swift\\nlet tuist = Tuist(fullHandle: \\\"{account-handle}/{project-handle}\\\") // e.g. tuist/tuist\\n```\\n\\n> [!IMPORTANT] TUIST PROJECT-ONLY FEATURES\\n> Note that there are some features like binary caching that require you having a Tuist project. If you are using raw Xcode projects, you won't be able to use those features.\\n\\nYour project's URL is constructed by using the full handle. For example, Tuist's dashboard, which is public, is accessible at [cloud.tuist.io/tuist/tuist](https://cloud.tuist.io/tuist/tuist), where `tuist/tuist` is the project's full handle.\\n\",\"title\":\"Accounts and projects\",\"frontmatter\":{\"URL\":\"/es/guides/server/accounts-and-projects\",\"LLMS_URL\":\"/es/guides/server/accounts-and-projects.md\",\"title\":\"Accounts and projects\",\"titleTemplate\":\":title | Server | Guides | Tuist\",\"description\":\"Learn how to create and manage accounts and projects in Tuist.\"}},{\"path\":\"/es/guides/server/authentication.md\",\"url\":\"/es/guides/server/authentication\",\"llmUrl\":\"/es/guides/server/authentication.md\",\"content\":\"---\\nURL: \\\"/es/guides/server/authentication\\\"\\nLLMS_URL: \\\"/es/guides/server/authentication.md\\\"\\ntitle: \\\"Authentication\\\"\\ntitleTemplate: \\\":title | Server | Guides | Tuist\\\"\\ndescription: \\\"Learn how to authenticate with the Tuist server from the CLI.\\\"\\n---\\n\\n# Authentication {#authentication}\\n\\nTo interact with the server, the CLI needs to authenticate the requests using [bearer authentication](https://swagger.io/docs/specification/authentication/bearer-authentication/). The CLI supports authenticating as a user or as a project.\\n\\n## As a user {#as-a-user}\\n\\nWhen using the CLI locally on your machine, we recommend authenticating as a user. To authenticate as a user, you need to run the following command:\\n\\n```bash\\ntuist auth login\\n```\\n\\nThe command will take you through a web-based authentication flow. Once you authenticate, the CLI will store a long-lived refresh token and a short-lived access token under `~/.config/tuist/credentials`. Each file in the directory represents the domain you authenticated against, which by default should be `cloud.tuist.io.json`. The information stored in that directory is sensitive, so **make sure to keep it safe**.\\n\\nThe CLI will automatically look up the credentials when making requests to the server. If the access token is expired, the CLI will use the refresh token to get a new access token.\\n\\n### Organization SSO {#organization-sso}\\n\\nIf you have a Google Workspace organization and you want any developer who signs in with the same Google hosted domain to be added to your Tuist organization, you can set it up with:\\n\\n```bash\\ntuist organization update sso my-organization --provider google --organization-id my-google-domain.com\\n```\\n\\nFor on-premise customers that have Okta set up, you can get the same behavior as for Google by running:\\n\\n```bash\\ntuist organization update sso my-organization --provider okta --organization-id my-okta-domain.com\\n```\\n\\n> [!IMPORTANT]\\n> You must be authenticated with Google using an email tied to the organization whose domain you are setting up.\\n\\n## As a project {#as-a-project}\\n\\nIn non-interactive environments like continuous integrations', you can't authenticate through an interactive flow. For those environments, we recommend authenticating as a project by using a project-scoped token:\\n\\n```bash\\ntuist project tokens create\\n```\\n\\nThe CLI expects the token to be defined as the environment variable `TUIST_CONFIG_TOKEN`, and the `CI=1` environment variable to be set. The CLI will use the token to authenticate the requests.\\n\\n> [!IMPORTANT] LIMITED SCOPE\\n> The permissions of the project-scoped token are limited to the actions that we consider safe for projects to perform from a CI environment. We plan to document the permissions that the token has in the future.\\n\",\"title\":\"Authentication\",\"frontmatter\":{\"URL\":\"/es/guides/server/authentication\",\"LLMS_URL\":\"/es/guides/server/authentication.md\",\"title\":\"Authentication\",\"titleTemplate\":\":title | Server | Guides | Tuist\",\"description\":\"Learn how to authenticate with the Tuist server from the CLI.\"}},{\"path\":\"/es/guides/server/self-host/install.md\",\"url\":\"/es/guides/server/self-host/install\",\"llmUrl\":\"/es/guides/server/self-host/install.md\",\"content\":\"---\\nURL: \\\"/es/guides/server/self-host/install\\\"\\nLLMS_URL: \\\"/es/guides/server/self-host/install.md\\\"\\ntitle: \\\"Installation\\\"\\ntitleTemplate: \\\":title | Self-hosting | Server | Guides | Tuist\\\"\\ndescription: \\\"Learn how to install Tuist on your infrastructure.\\\"\\n---\\n\\n# On-premise installation {#onpremise-installation}\\n\\nWe offer a self-hosted version of the Tuist server for organizations that require more control over their infrastructure. This version allows you to host Tuist on your own infrastructure, ensuring that your data remains secure and private.\\n\\n> [!IMPORTANT] ENTERPRISE CUSTOMERS ONLY\\n> The on-premise version of Tuist is available only for organizations on the Enterprise plan. If you are interested in this version, please reach out to [[email protected]](mailto:[email protected]).\\n\\n## Release cadence {#release-cadence}\\n\\nThe Tuist server is **released every Monday** and the version name follows the convention name `{MAJOR}.YY.MM.DD`. The date component is used to warn the CLI user if their hosted version is 60 days older than the release date of the CLI. It's crucial that on-premise organizations keep up with Tuist updates to ensure their developers benefit from the most recent improvements and that we can drop deprecated features with the confidence that we are not breaking any of the on-premise setups.\\n\\nThe major component of the CLI is used to flag breaking changes in the Tuist server that will require coordination with the on-premise users. You should not expect us to use it, and in case we needed, rest asure we'll work with you in making the transition smooth.\\n\\n> [!NOTE] RELEASE NOTES\\n> You'll be given access to a `tuist/registry` repository associated with the registry where images are published. Every new released will be published in that repository as a GitHub release and will contain release notes to inform you about what changes come with it.\\n\\n## Runtime requirements {#runtime-requirements}\\n\\nThis section outlines the requirements for hosting the Tuist server on your infrastructure.\\n\\n### Running Docker-virtualized images {#running-dockervirtualized-images}\\n\\nWe distribute the server as a [Docker](https://www.docker.com/) image via [GitHub’s Container Registry](https://docs.github.com/es/packages/working-with-a-github-packages-registry/working-with-the-container-registry).\\n\\nTo run it, your infrastructure must support running Docker images. Note that most infrastructure providers support it because it’s become the standard container for distributing and running software in production environments.\\n\\n### Postgres database {#postgres-database}\\n\\nIn addition to running the Docker images, you’ll need a [Postgres database](https://www.postgresql.org/) to store relational data. Most infrastructure providers include Posgres databases in their offering (e.g., [AWS](https://aws.amazon.com/rds/postgresql/) & [Google Cloud](https://cloud.google.com/sql/docs/postgres)).\\n\\nFor performant analytics, we use a [Timescale Postgres extension](https://www.timescale.com/). You need to make sure that TimescaleDB is installed on the machine running the Postgres database. Follow the installation instructions [here](https://docs.timescale.com/self-hosted/latest/install/) to learn more. If you are unable to install the Timescale extension, you can set up your own dashboard using the Prometheus metrics.\\n\\n> [!INFO] MIGRATIONS\\n> The Docker image's entrypoint automatically runs any pending schema migrations before starting the service.\\n\\n### ClickHouse database {#clickhouse-database}\\n\\nTo store large amount of data, we are using [ClickHouse](https://clickhouse.com/). Some features, like build insights, will only work with ClickHouse enabled. ClickHouse will eventually replace the Timescale Postgres extension. You can choose whether to self-host ClickHouse or use their hosted service.\\n\\n> [!INFO] MIGRATIONS\\n> The Docker image's entrypoint automatically runs any pending ClickHouse schema migrations before starting the service.\\n\\n### Storage {#storage}\\n\\nYou’ll also need a solution to store files (e.g. framework and library binaries). Currently we support any storage that's S3-compliant.\\n\\n## Configuration {#configuration}\\n\\nThe configuration of the service is done at runtime through environment variables. Given the sensitive nature of these variables, we advise encrypting and storing them in secure password management solutions. Rest assured, Tuist handles these variables with utmost care, ensuring they are never displayed in logs.\\n\\n> [!NOTE] LAUNCH CHECKS\\n> The necessary variables are verified at startup. If any are missing, the launch will fail and the error message will detail the absent variables.\\n\\n### License configuration {#license-configuration}\\n\\nAs an on-premise user, you'll receive a license key that you'll need to expose as an environment variable. This key is used to validate the license and ensure that the service is running within the terms of the agreement.\\n\\n| Environment variable | Description | Required | Default | Example |\\n| -------------------- | -------------------------------------------------------------- | -------- | ------- | -------- |\\n| `TUIST_LICENSE` | The license provided after signing the service level agreement | Yes | | `******` |\\n\\n> [!IMPORTANT] EXPIRATION DATE\\n> Licenses have an expiration date. Users will receive a warning while using Tuist commands that interact with the server if the license expires in less than 30 days. If you are interested in renewing your license, please reach out to [[email protected]](mailto:[email protected]).\\n\\n### Base environment configuration {#base-environment-configuration}\\n\\n| Environment variable | Description | Required | Default | Example | |\\n| ------------------------------ | -------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------ | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |\\n| `TUIST_APP_URL` | The base URL to access the instance from the Internet | Yes | | https://cloud.tuist.io | |\\n| `TUIST_SECRET_KEY_BASE` | The key to use to encrypt information (e.g. sessions in a cookie) | Yes | | | `c5786d9f869239cbddeca645575349a570ffebb332b64400c37256e1c9cb7ec831345d03dc0188edd129d09580d8cbf3ceaf17768e2048c037d9c31da5dcacfa` |\\n| `TUIST_SECRET_KEY_PASSWORD` | Pepper to generate hashed passwords | No | `$TUIST_SECRET_KEY_BASE` | | |\\n| `TUIST_SECRET_KEY_TOKENS` | Secret key to generate random tokens | No | `$TUIST_SECRET_KEY_BASE` | | |\\n| `TUIST_USE_IPV6` | When `1` it configures the app to use IPv6 addresses | No | `0` | `1` | |\\n| `TUIST_LOG_LEVEL` | The log level to use for the app | No | `info` | [Log levels](https://hexdocs.pm/logger/1.12.3/Logger.html#module-levels) | |\\n| `TUIST_GITHUB_APP_PRIVATE_KEY` | The private key used for the GitHub app to unlock extra functionality such as posting automatic PR comments | No | `-----BEGIN RSA...` | | |\\n| `TUIST_OPS_USER_HANDLES` | A comma-separated list of user handles that have access to the operations URLs | No | | `user1,user2` | |\\n\\n### Database configuration {#database-configuration}\\n\\nThe following environment variables are used to configure the database connection:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ---------------------------------------------------------------------- |\\n| `DATABASE_URL` | The URL to access the Postgres database. Note that the URL should contain the authentication information | Yes | | `postgres://username:[email protected]/production` |\\n| `TUIST_CLICKHOUSE_URL` | The URL to access the ClickHouse database. Note that the URL should contain the authentication information | No | | `http://username:[email protected]/production` |\\n| `TUIST_USE_SSL_FOR_DATABASE` | When true, it uses [SSL](https://en.wikipedia.org/wiki/Transport_Layer_Security) to connect to the database | No | `1` | `1` |\\n| `TUIST_DATABASE_POOL_SIZE` | The number of connections to keep open in the connection pool | No | `10` | `10` |\\n| `TUIST_DATABASE_QUEUE_TARGET` | The interval (in miliseconds) for checking if all the connections checked out from the pool took more than the queue interval [(More information)](https://hexdocs.pm/db_connection/DBConnection.html#start_link/2-queue-config) | No | `300` | `300` |\\n| `TUIST_DATABASE_QUEUE_INTERVAL` | The threshold time (in miliseconds) in the queue that the pool uses to determine if it should start dropping new connections [(More information)](https://hexdocs.pm/db_connection/DBConnection.html#start_link/2-queue-config) | No | `1000` | `1000` |\\n\\n### Authentication environment configuration {#authentication-environment-configuration}\\n\\nWe facilitate authentication through [identity providers (IdP)](https://en.wikipedia.org/wiki/Identity_provider). To utilize this, ensure all necessary environment variables for the chosen provider are present in the server's environment. **Missing variables** will result in Tuist bypassing that provider.\\n\\n#### GitHub {#github}\\n\\nWe recommend authenticating using a [GitHub App](https://docs.github.com/es/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps) but you can also use the [OAuth App](https://docs.github.com/es/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app). Make sure to include all essential environment variables specified by GitHub in the server environment. Absent variables will cause Tuist to overlook the GitHub authentication. To properly set up the GitHub app:\\n\\n- In the GitHub app's general settings:\\n - Copy the `Client ID` and set it as `TUIST_GITHUB_APP_CLIENT_ID`\\n - Create and copy a new `client secret` and set it as `TUIST_GITHUB_APP_CLIENT_SECRET`\\n - Set the `Callback URL` as `http://YOUR_APP_URL/users/auth/github/callback`. `YOUR_APP_URL` can also be your server's IP address.\\n- The following permissions are required:\\n - Repositories:\\n - Pull requests: Read and write\\n - Accounts:\\n - Email addresses: Read-only\\n\\nIn the `Permissions and events`'s `Account permissions` section, set the `Email addresses` permission to `Read-only`.\\n\\nYou'll then need to expose the following environment variables in the environment where the Tuist server runs:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| -------------------------------- | --------------------------------------- | -------- | ------- | ------------------------------------------ |\\n| `TUIST_GITHUB_APP_CLIENT_ID` | The client ID of the GitHub application | Yes | | `Iv1.a629723000043722` |\\n| `TUIST_GITHUB_APP_CLIENT_SECRET` | The client secret of the application | Yes | | `232f972951033b89799b0fd24566a04d83f44ccc` |\\n\\n#### Google {#google}\\n\\nYou can set up authentication with Google using [OAuth 2](https://developers.google.com/identity/protocols/oauth2). For that, you'll need to create a new credential of type OAuth client ID. When creating the credentials, select \\\"Web Application\\\" as application type, name it `Tuist`, and set the redirect URI to `{base_url}/users/auth/google/callback` where `base_url` is the URL your hosted-service is running at. Once you create the app, copy the client ID and secret and set them as environment variables `GOOGLE_CLIENT_ID` and `GOOGLE_CLIENT_SECRET` respectively.\\n\\n> [!NOTE] CONSENT SCREEN SCOPES\\n> You might need to create a consent screen. When you do so, make sure to add the `userinfo.email` and `openid` scopes and mark the app as internal.\\n\\n#### Okta {#okta}\\n\\nYou can enable authentication with Okta through the [OAuth 2.0](https://oauth.net/2/) protocol. You'll have to [create an app](https://developer.okta.com/docs/en/guides/implement-oauth-for-okta/main/#create-an-oauth-2-0-app-in-okta) on Okta with the following configuration:\\n\\n- **App integration name:** `Tuist`\\n- **Grant type:** Enable _Authorization Code_ for _Client acting on behalf of a user_\\n- **Sign-in redirect URL:** `{url}/users/auth/okta/callback` where `url` is the public URL your service is accessed through.\\n- **Assignments:** This configuration will depend on your security team requirements.\\n\\nOnce the app is created you'll need to set the following environment variables:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| -------------------------- | ---------------------------------------------- | -------- | ------- | --------------------------- |\\n| `TUIST_OKTA_SITE` | The URL of your Okta organization | Yes | | `https://your-org.okta.com` |\\n| `TUIST_OKTA_CLIENT_ID` | The client ID to authenticate against Okta | Yes | | |\\n| `TUIST_OKTA_CLIENT_SECRET` | The client secret to authenticate against Okta | Yes | | |\\n\\n### Storage environment configuration {#storage-environment-configuration}\\n\\nTuist needs storage to house artifacts uploaded through the API. It's **essential to configure one of the supported storage solutions** for Tuist to operate effectively.\\n\\n#### S3-compliant storages {#s3compliant-storages}\\n\\nYou can use any S3-compliant storage provider to store artifacts. The following environment variables are required to authenticate and configure the integration with the storage provider:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ------------------------------------------ |\\n| `TUIST_ACCESS_KEY_ID` or `AWS_ACCESS_KEY_ID` | The access key ID to authenticate against the storage provider | Yes | | `AKIAIOSFOD` |\\n| `TUIST_SECRET_ACCESS_KEY` or `AWS_SECRET_ACCESS_KEY` | The secret access key to authenticate against the storage provider | Yes | | `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` |\\n| `TUIST_S3_REGION` or `AWS_REGION` | The region where the bucket is located | Yes | | `us-west-2` |\\n| `TUIST_S3_ENDPOINT` or `AWS_ENDPOINT` | The endpoint of the storage provider | Yes | | `https://s3.us-west-2.amazonaws.com` |\\n| `TUIST_S3_BUCKET_NAME` | The name of the bucket where the artifacts will be stored | Yes | | `tuist-artifacts` |\\n| `TUIST_S3_REQUEST_TIMEOUT` | The timeout (in seconds) for requests to the storage provider | No | `30` | `30` |\\n| `TUIST_S3_POOL_TIMEOUT` | The timeout (in seconds) for the connection pool to the storage provider | No | `5` | `5` |\\n| `TUIST_S3_POOL_COUNT` | The number of pools to use for connections to the storage provider | No | `1` | `1` |\\n| `TUIST_S3_PROTOCOL` | The protocol to use when connecting to the storage provider (`http1` or `http2`) | No | `http2` | `http2` |\\n| `TUIST_S3_VIRTUAL_HOST` | Whether the URL should be constructed with the bucket name as a sub-domain (virtual host). | No | No | `1` |\\n\\n> [!NOTE] AWS authentication with Web Identity Token from environment variables\\n> If your storage provider is AWS and you'd like to authenticate using a web identity token, you can set the environment variable `TUIST_S3_AUTHENTICATION_METHOD` to `aws_web_identity_token_from_env_vars`, and Tuist will use that method using the conventional AWS environment variables.\\n\\n#### Google Cloud Storage {#google-cloud-storage}\\n\\nFor Google Cloud Storage, follow [these docs](https://cloud.google.com/storage/docs/authentication/managing-hmackeys) to get the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` pair. The `AWS_ENDPOINT` should be set to `https://storage.googleapis.com`. Other environment variables are the same as for any other S3-compliant storage.\\n\\n### Git platform configuration {#git-platform-configuration}\\n\\nTuist can integrate with Git platforms to provide extra features such as automatically posting comments in your pull requests.\\n\\n#### GitHub {#platform-github}\\n\\nYou will need to [create a GitHub app](https://docs.github.com/es/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps). You can reuse the one you created for authentication, unless you created an OAuth GitHub app. In the `Permissions and events`'s `Repository permissions` section, you will need to additionally set the `Pull requests` permission to `Read and write`.\\n\\nOn top of the `TUIST_GITHUB_APP_CLIENT_ID` and `TUIST_GITHUB_APP_CLIENT_SECRET`, you will need the following environment variables:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| ------------------------------ | ----------------------------------------- | -------- | ------- | ------------------------------------ |\\n| `TUIST_GITHUB_APP_PRIVATE_KEY` | The private key of the GitHub application | Yes | | `-----BEGIN RSA PRIVATE KEY-----...` |\\n\\n## Deployment {#deployment}\\n\\nOn-premise users are granted access to the repository located at [tuist/registry](https://github.com/cloud/registry) which has a linked container registry for pulling images. Currently, the container registry allows authentication only as an individual user. Therefore, users with repository access must generate a **personal access token** within the Tuist organization, ensuring they have the necessary permissions to read packages. After submission, we will promptly approve this token.\\n\\n> [!IMPORTANT] USER VS ORGANIZATION-SCOPED TOKENS\\n> Using a personal access token presents a challenge because it's associated with an individual who might eventually depart from the enterprise organization. GitHub recognizes this limitation and is actively developing a solution to allow GitHub apps to authenticate with app-generated tokens.\\n\\n### Pulling the Docker image {#pulling-the-docker-image}\\n\\nAfter generating the token, you can retrieve the image by executing the following command:\\n\\n```bash\\necho $TOKEN | docker login ghcr.io -u USERNAME --password-stdin\\ndocker pull ghcr.io/tuist/tuist:latest\\n```\\n\\n### Deploying the Docker image {#deploying-the-docker-image}\\n\\nThe deployment process for the Docker image will differ based on your chosen cloud provider and your organization's continuous deployment approach. Since most cloud solutions and tools, like [Kubernetes](https://kubernetes.io/), utilize Docker images as fundamental units, the examples in this section should align well with your existing setup.\\n\\nWe recommend establishing a deployment pipeline that that runs **every Tuesday**, pulling and deploying fresh images. This ensures you consistently benefit from the latest improvements.\\n\\n> [!IMPORTANT]\\n> If your deployment pipeline needs to validate that the server is up and running, you can send a `GET` HTTP request to `/ready` and assert a `200` status code in the response.\\n\\n#### Fly {#fly}\\n\\nTo deploy the app on [Fly](https://fly.io/), you'll require a `fly.toml` configuration file. Consider generating it dynamically within your Continuous Deployment (CD) pipeline. Below is a reference example for your use:\\n\\n```toml\\napp = \\\"tuist\\\"\\nprimary_region = \\\"fra\\\"\\nkill_signal = \\\"SIGINT\\\"\\nkill_timeout = \\\"5s\\\"\\n\\n[experimental]\\n auto_rollback = true\\n\\n[env]\\n # Your environment configuration goes here\\n # Or exposed through Fly secrets\\n\\n[processes]\\n app = \\\"/usr/local/bin/hivemind /app/Procfile\\\"\\n\\n[[services]]\\n protocol = \\\"tcp\\\"\\n internal_port = 8080\\n auto_stop_machines = false\\n auto_start_machines = false\\n processes = [\\\"app\\\"]\\n http_options = { h2_backend = true }\\n\\n [[services.ports]]\\n port = 80\\n handlers = [\\\"http\\\"]\\n force_https = true\\n\\n [[services.ports]]\\n port = 443\\n handlers = [\\\"tls\\\", \\\"http\\\"]\\n [services.concurrency]\\n type = \\\"connections\\\"\\n hard_limit = 100\\n soft_limit = 80\\n\\n [[services.http_checks]]\\n interval = 10000\\n grace_period = \\\"10s\\\"\\n method = \\\"get\\\"\\n path = \\\"/ready\\\"\\n protocol = \\\"http\\\"\\n timeout = 2000\\n tls_skip_verify = false\\n [services.http_checks.headers]\\n\\n[[statics]]\\n guest_path = \\\"/app/public\\\"\\n url_prefix = \\\"/\\\"\\n```\\n\\nThen you can run `fly launch --local-only --no-deploy` to launch the app. On subsequent deploys, instead of running `fly launch --local-only`, you will need to run `fly deploy --local-only`. Fly.io doesn't allow to pull private Docker images, which is why we need to use the `--local-only` flag.\\n\\n### Docker Compose {#docker-compose}\\n\\nBelow is an example of a `docker-compose.yml` file that you can use as a reference to deploy the service:\\n\\n```yaml\\nversion: '3.8'\\nservices:\\n db:\\n image: timescale/timescaledb-ha:pg16\\n restart: always\\n environment:\\n - POSTGRES_USER=postgres\\n - POSTGRES_PASSWORD=postgres\\n - PGDATA=/var/lib/postgresql/data/pgdata\\n ports:\\n - '5432:5432'\\n volumes:\\n - db:/var/lib/postgresql/data\\n healthcheck:\\n test: [\\\"CMD-SHELL\\\", \\\"pg_isready -U postgres\\\"]\\n interval: 5s\\n timeout: 5s\\n retries: 5\\n\\n pgweb:\\n container_name: pgweb\\n restart: always\\n image: sosedoff/pgweb\\n ports:\\n - \\\"8081:8081\\\"\\n links:\\n - db:db\\n environment:\\n PGWEB_DATABASE_URL: postgres://postgres:postgres@db:5432/postgres?sslmode=disable\\n depends_on:\\n - db\\n\\n tuist:\\n image: ghcr.io/tuist/tuist:latest\\n container_name: tuist\\n depends_on:\\n - db\\n ports:\\n - \\\"80:80\\\"\\n - \\\"8080:8080\\\"\\n - \\\"443:443\\\"\\n expose:\\n - \\\"80\\\"\\n - \\\"8080\\\"\\n - \\\"443:443\\\"\\n environment:\\n # Base Tuist Env - https://docs.tuist.io/es/guides/dashboard/on-premise/install#base-environment-configuration\\n TUIST_USE_SSL_FOR_DATABASE: \\\"0\\\"\\n TUIST_LICENSE: # ...\\n DATABASE_URL: postgres://postgres:postgres@db:5432/postgres?sslmode=disable\\n TUIST_APP_URL: https://localhost:8080\\n TUIST_SECRET_KEY_BASE: # ...\\n WEB_CONCURRENCY: 80\\n\\n # Auth - one method\\n # GitHub Auth - https://docs.tuist.io/es/guides/dashboard/on-premise/install#github\\n TUIST_GITHUB_OAUTH_ID:\\n TUIST_GITHUB_APP_CLIENT_SECRET:\\n\\n # Okta Auth - https://docs.tuist.io/es/guides/dashboard/on-premise/install#okta\\n TUIST_OKTA_SITE:\\n TUIST_OKTA_CLIENT_ID:\\n TUIST_OKTA_CLIENT_SECRET:\\n TUIST_OKTA_AUTHORIZE_URL: # Optional\\n TUIST_OKTA_TOKEN_URL: # Optional\\n TUIST_OKTA_USER_INFO_URL: # Optional\\n TUIST_OKTA_EVENT_HOOK_SECRET: # Optional\\n\\n # Storage\\n AWS_ACCESS_KEY_ID: # ...\\n AWS_SECRET_ACCESS_KEY: # ...\\n AWS_S3_REGION: # ...\\n AWS_ENDPOINT: # https://amazonaws.com\\n TUIST_S3_BUCKET_NAME: # ...\\n\\n # Other\\n\\nvolumes:\\n db:\\n driver: local\\n```\\n\\n## Operations {#operations}\\n\\nTuist provides a set of utilities under `/ops/` that you can use to manage your instance.\\n\\n> [!IMPORTANT] Authorization\\n> Only people whose handles are listed in the `TUIST_OPS_USER_HANDLES` environment variable can access the `/ops/` endpoints.\\n\\n- **Errors (`/ops/errors`):** You can view unexpected errors that ocurred in the application. This is useful for debugging and understanding what went wrong and we might ask you to share this information with us if you're facing issues.\\n- **Dashboard (`/ops/dashboard`):** You can view a dashboard that provides insights into the application's performance and health (e.g. memory consumption, processes running, number of requests). This dashboard can be quite useful to understand if the hardware you're using is enough to handle the load.\\n\",\"title\":\"Installation\",\"frontmatter\":{\"URL\":\"/es/guides/server/self-host/install\",\"LLMS_URL\":\"/es/guides/server/self-host/install.md\",\"title\":\"Installation\",\"titleTemplate\":\":title | Self-hosting | Server | Guides | Tuist\",\"description\":\"Learn how to install Tuist on your infrastructure.\"}},{\"path\":\"/es/guides/server/self-host/telemetry.md\",\"url\":\"/es/guides/server/self-host/telemetry\",\"llmUrl\":\"/es/guides/server/self-host/telemetry.md\",\"content\":\"---\\nURL: \\\"/es/guides/server/self-host/telemetry\\\"\\nLLMS_URL: \\\"/es/guides/server/self-host/telemetry.md\\\"\\ntitle: \\\"Metrics\\\"\\ntitleTemplate: \\\":title | Self-hosting | Server | Guides | Tuist\\\"\\ndescription: \\\"Optimize your build times by caching compiled binaries and sharing them across different environments.\\\"\\n---\\n\\n# Metrics {#metrics}\\n\\nYou can ingest metrics gathered by the Tuist server using [Prometheus](https://prometheus.io/) and a visualization tool such as [Grafana](https://grafana.com/) to create a custom dashboard tailored to your needs. The Prometheus metrics are served via the `/metrics` endpoint on port 9091. The Prometheus' [scrape_interval](https://prometheus.io/docs/introduction/first_steps/#configuring-prometheus) should be set as less than 10_000 seconds (we recommend keeping the default of 15 seconds).\\n\\n## Elixir metrics {#elixir-metrics}\\n\\nBy default we include metrics of the Elixir runtime, BEAM, Elixir, and some of the libraries we use. The following are some of the metrics you can expect to see:\\n\\n- [Application](https://hexdocs.pm/prom_ex/PromEx.Plugins.Application.html)\\n- [BEAM](https://hexdocs.pm/prom_ex/PromEx.Plugins.Beam.html)\\n- [Phoenix](https://hexdocs.pm/prom_ex/PromEx.Plugins.Phoenix.html)\\n- [Phoenix LiveView](https://hexdocs.pm/prom_ex/PromEx.Plugins.PhoenixLiveView.html)\\n- [Ecto](https://hexdocs.pm/prom_ex/PromEx.Plugins.Ecto.html)\\n- [Oban](https://hexdocs.pm/prom_ex/PromEx.Plugins.Oban.html)\\n\\nWe recommend checking those pages to know which metrics are available and how to use them.\\n\\n## Runs metrics {#runs-metrics}\\n\\nA set of metrics related to Tuist Runs.\\n\\n### `tuist_runs_total` (counter) {#tuist_runs_total-counter}\\n\\nThe total number of Tuist Runs.\\n\\n#### Tags {#tuist-runs-total-tags}\\n\\n| Tag | Description |\\n| -------- | ------------------------------------------------------------------------------------------- |\\n| `name` | The name of the `tuist` command that was run, such as `build`, `test`, etc. |\\n| `is_ci` | A boolean indicating if the executor was a CI or a developer's machine. |\\n| `status` | `0` in case of `success`, `1` in case of `failure`. |\\n\\n### `tuist_runs_duration_milliseconds` (histogram) {#tuist_runs_duration_milliseconds-histogram}\\n\\nThe total duration of each tuist run in milliseconds.\\n\\n#### Tags {#tuist-runs-duration-miliseconds-tags}\\n\\n| Tag | Description |\\n| -------- | ------------------------------------------------------------------------------------------- |\\n| `name` | The name of the `tuist` command that was run, such as `build`, `test`, etc. |\\n| `is_ci` | A boolean indicating if the executor was a CI or a developer's machine. |\\n| `status` | `0` in case of `success`, `1` in case of `failure`. |\\n\\n## Cache metrics {#cache-metrics}\\n\\nA set of metrics related to the Tuist Cache.\\n\\n### `tuist_cache_events_total` (counter) {#tuist_cache_events_total-counter}\\n\\nThe total number of binary cache events.\\n\\n#### Tags {#tuist-cache-events-total-tags}\\n\\n| Tag | Description |\\n| ------------ | ---------------------------------------------------------------------- |\\n| `event_type` | Can be either of `local_hit`, `remote_hit`, or `miss`. |\\n\\n### `tuist_cache_uploads_total` (counter) {#tuist_cache_uploads_total-counter}\\n\\nThe number of uploads to the binary cache.\\n\\n### `tuist_cache_uploaded_bytes` (sum) {#tuist_cache_uploaded_bytes-sum}\\n\\nThe number of bytes uploaded to the binary cache.\\n\\n### `tuist_cache_downloads_total` (counter) {#tuist_cache_downloads_total-counter}\\n\\nThe number of downloads to the binary cache.\\n\\n### `tuist_cache_downloaded_bytes` (sum) {#tuist_cache_downloaded_bytes-sum}\\n\\nThe number of bytes downloaded from the binary cache.\\n\\n---\\n\\n## Previews metrics {#previews-metrics}\\n\\nA set of metrics related to the previews feature.\\n\\n### `tuist_previews_uploads_total` (sum) {#tuist_previews_uploads_total-counter}\\n\\nThe total number of previews uploaded.\\n\\n### `tuist_previews_downloads_total` (sum) {#tuist_previews_downloads_total-counter}\\n\\nThe total number of previews downloaded.\\n\\n---\\n\\n## Storage metrics {#storage-metrics}\\n\\nA set of metrics related to the storage of artifacts in a remote storage (e.g. s3).\\n\\n> [!TIP]\\n> These metrics are useful to understand the performance of the storage operations and to identify potential bottlenecks.\\n\\n### `tuist_storage_get_object_size_size_bytes` (histogram) {#tuist_storage_get_object_size_size_bytes-histogram}\\n\\nThe size (in bytes) of an object fetched from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-size-size-bytes-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_get_object_size_duration_miliseconds` (histogram) {#tuist_storage_get_object_size_duration_miliseconds-histogram}\\n\\nThe duration (in milliseconds) of fetching an object size from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-size-duration-miliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_get_object_size_count` (counter) {#tuist_storage_get_object_size_count-counter}\\n\\nThe number of times an object size was fetched from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-size-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_delete_all_objects_duration_milliseconds` (histogram) {#tuist_storage_delete_all_objects_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of deleting all objects from the remote storage.\\n\\n#### Tags {#tuist-storage-delete-all-objects-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| -------------- | -------------------------------------------------------------------------------- |\\n| `project_slug` | The project slug of the project whose objects are being deleted. |\\n\\n### `tuist_storage_delete_all_objects_count` (counter) {#tuist_storage_delete_all_objects_count-counter}\\n\\nThe number of times all project objects were deleted from the remote storage.\\n\\n#### Tags {#tuist-storage-delete-all-objects-count-tags}\\n\\n| Tag | Description |\\n| -------------- | -------------------------------------------------------------------------------- |\\n| `project_slug` | The project slug of the project whose objects are being deleted. |\\n\\n### `tuist_storage_multipart_start_upload_duration_milliseconds` (histogram) {#tuist_storage_multipart_start_upload_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of starting an upload to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-start-upload-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_multipart_start_upload_duration_count` (counter) {#tuist_storage_multipart_start_upload_duration_count-counter}\\n\\nThe number of times an upload was started to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-start-upload-duration-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_get_object_as_string_duration_milliseconds` (histogram) {#tuist_storage_get_object_as_string_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of fetching an object as a string from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-as-string-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_get_object_as_string_count` (count) {#tuist_storage_get_object_as_string_count-count}\\n\\nThe number of times an object was fetched as a string from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-as-string-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_check_object_existence_duration_milliseconds` (histogram) {#tuist_storage_check_object_existence_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of checking the existence of an object in the remote storage.\\n\\n#### Tags {#tuist-storage-check-object-existence-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_check_object_existence_count` (count) {#tuist_storage_check_object_existence_count-count}\\n\\nThe number of times the existence of an object was checked in the remote storage.\\n\\n#### Tags {#tuist-storage-check-object-existence-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_generate_download_presigned_url_duration_milliseconds` (histogram) {#tuist_storage_generate_download_presigned_url_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of generating a download presigned URL for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-generate-download-presigned-url-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_generate_download_presigned_url_count` (count) {#tuist_storage_generate_download_presigned_url_count-count}\\n\\nThe number of times a download presigned URL was generated for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-generate-download-presigned-url-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_multipart_generate_upload_part_presigned_url_duration_milliseconds` (histogram) {#tuist_storage_multipart_generate_upload_part_presigned_url_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of generating a part upload presigned URL for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-generate-upload-part-presigned-url-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------- | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `part_number` | The part number of the object being uploaded. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n### `tuist_storage_multipart_generate_upload_part_presigned_url_count` (count) {#tuist_storage_multipart_generate_upload_part_presigned_url_count-count}\\n\\nThe number of times a part upload presigned URL was generated for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-generate-upload-part-presigned-url-count-tags}\\n\\n| Tag | Description |\\n| ------------- | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `part_number` | The part number of the object being uploaded. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n### `tuist_storage_multipart_complete_upload_duration_milliseconds` (histogram) {#tuist_storage_multipart_complete_upload_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of completing an upload to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-complete-upload-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n### `tuist_storage_multipart_complete_upload_count` (count) {#tuist_storage_multipart_complete_upload_count-count}\\n\\nThe total number of times an upload was completed to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-complete-upload-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n---\\n\\n## Projects metrics {#projects-metrics}\\n\\nA set of metrics related to the projects.\\n\\n### `tuist_projects_total` (last_value) {#tuist_projects_total-last_value}\\n\\nThe total number of projects.\\n\\n---\\n\\n## Accounts metrics {#accounts-metrics}\\n\\nA set of metrics related to accounts (users and organizations).\\n\\n### `tuist_accounts_organizations_total` (last_value) {#tuist_accounts_organizations_total-last_value}\\n\\nThe total number of organizations.\\n\\n### `tuist_accounts_users_total` (last_value) {#tuist_accounts_users_total-last_value}\\n\\nThe total number of users.\\n\\n## Database metrics {#database-metrics}\\n\\nA set of metrics related to the database connection.\\n\\n### `tuist_repo_pool_checkout_queue_length` (last_value) {#tuist_repo_pool_checkout_queue_length-last_value}\\n\\nThe number of database queries that are sitting in a queue waiting to be assigned to a database connection.\\n\\n### `tuist_repo_pool_ready_conn_count` (last_value) {#tuist_repo_pool_ready_conn_count-last_value}\\n\\nThe number of database connections that are ready to be assigned to a database query.\\n\\n### `tuist_repo_pool_db_connection_connected` (counter) {#tuist_repo_pool_db_connection_connected-counter}\\n\\nThe number of connections that have been established to the database.\\n\\n### `tuist_repo_pool_db_connection_disconnected` (counter) {#tuist_repo_pool_db_connection_disconnected-counter}\\n\\nThe number of connections that have been disconnected from the database.\\n\\n## HTTP metrics {#http-metrics}\\n\\nA set of metrics related to Tuist's interactions with other services via HTTP.\\n\\n### `tuist_http_request_count` (counter) {#tuist_http_request_count-last_value}\\n\\nThe number of outgoing HTTP requests.\\n\\n### `tuist_http_request_duration_nanosecond_sum` (sum) {#tuist_http_request_duration_nanosecond_sum-last_value}\\n\\nThe sum of the duration of the outgoing requests (including the time that they spent waiting to be assigned to a connection).\\n\\n### `tuist_http_request_duration_nanosecond_bucket` (distribution) {#tuist_http_request_duration_nanosecond_bucket-distribution}\\n\\nThe distribution of the duration of outgoing requests (including the time that they spent waiting to be assigned to a connection).\\n\\n### `tuist_http_queue_count` (counter) {#tuist_http_queue_count-counter}\\n\\nThe number of requests that have been retrieved from the pool.\\n\\n### `tuist_http_queue_duration_nanoseconds_sum` (sum) {#tuist_http_queue_duration_nanoseconds_sum-sum}\\n\\nThe time it takes to retrieve a connection from the pool.\\n\\n### `tuist_http_queue_idle_time_nanoseconds_sum` (sum) {#tuist_http_queue_idle_time_nanoseconds_sum-sum}\\n\\nThe time a connection has been idle waiting to be retrieved.\\n\\n### `tuist_http_queue_duration_nanoseconds_bucket` (distribution) {#tuist_http_queue_duration_nanoseconds_bucket-distribution}\\n\\nThe time it takes to retrieve a connection from the pool.\\n\\n### `tuist_http_queue_idle_time_nanoseconds_bucket` (distribution) {#tuist_http_queue_idle_time_nanoseconds_bucket-distribution}\\n\\nThe time a connection has been idle waiting to be retrieved.\\n\\n### `tuist_http_connection_count` (counter) {#tuist_http_connection_count-counter}\\n\\nThe number of connections that have been established.\\n\\n### `tuist_http_connection_duration_nanoseconds_sum` (sum) {#tuist_http_connection_duration_nanoseconds_sum-sum}\\n\\nThe time it takes to establish a connection against a host.\\n\\n### `tuist_http_connection_duration_nanoseconds_bucket` (distribution) {#tuist_http_connection_duration_nanoseconds_bucket-distribution}\\n\\nThe distribution of the time it takes to establish a connection against a host.\\n\\n### `tuist_http_send_count` (counter) {#tuist_http_send_count-counter}\\n\\nThe number of requests that have been sent once assigned to a connection from the pool.\\n\\n### `tuist_http_send_duration_nanoseconds_sum` (sum) {#tuist_http_send_duration_nanoseconds_sum-sum}\\n\\nThe time that it takes for requests to complete once assigned to a connection from the pool.\\n\\n### `tuist_http_send_duration_nanoseconds_bucket` (distribution) {#tuist_http_send_duration_nanoseconds_bucket-distribution}\\n\\nThe distribution of the time that it takes for requests to complete once assigned to a connection from the pool.\\n\\n### `tuist_http_receive_count` (counter) {#tuist_http_receive_count-counter}\\n\\nThe number of responses that have been received from sent requests.\\n\\n### `tuist_http_receive_duration_nanoseconds_sum` (sum) {#tuist_http_receive_duration_nanoseconds_sum-sum}\\n\\nThe time spent receiving responses.\\n\\n### `tuist_http_receive_duration_nanoseconds_bucket` (distribution) {#tuist_http_receive_duration_nanoseconds_bucket-distribution}\\n\\nThe distribution of the time spent receiving responses.\\n\\n### `tuist_http_queue_available_connections` (last_value) {#tuist_http_queue_available_connections-last_value}\\n\\nThe number of connections available in the queue.\\n\\n### `tuist_http_queue_in_use_connections` (last_value) {#tuist_http_queue_in_use_connections-last_value}\\n\\nThe number of queue connections that are in use.\\n\",\"title\":\"Metrics\",\"frontmatter\":{\"URL\":\"/es/guides/server/self-host/telemetry\",\"LLMS_URL\":\"/es/guides/server/self-host/telemetry.md\",\"title\":\"Metrics\",\"titleTemplate\":\":title | Self-hosting | Server | Guides | Tuist\",\"description\":\"Optimize your build times by caching compiled binaries and sharing them across different environments.\"}},{\"path\":\"/es/guides/tuist/about.md\",\"url\":\"/es/guides/tuist/about\",\"llmUrl\":\"/es/guides/tuist/about.md\",\"content\":\"---\\nURL: \\\"/es/guides/tuist/about\\\"\\nLLMS_URL: \\\"/es/guides/tuist/about.md\\\"\\ntitle: \\\"About Tuist\\\"\\ntitleTemplate: \\\":title · Guides · Tuist\\\"\\ndescription: \\\"Extend your Apple native tooling to better apps at scale.\\\"\\n---\\n\\n\\n\\n# About Tuist {#about-tuist}\\n\\nIn the world of app development, particularly for platforms like Apple's, organizations often encounter **productivity roadblocks.** These can include sluggish compilation times, unreliable tests, and intricate automation workflows that drain resources. Traditionally, companies address these issues by forming dedicated platform teams. These specialists maintain codebase health and integrity, freeing other developers to focus on feature creation. However, this approach can be expensive and risky, as the departure of key team members can severely impact productivity.\\n\\n## What {#what}\\n\\n**Tuist is a toolchain designed to accelerate and enhance app development.** We integrate seamlessly with official tools and systems, meeting developers in familiar territory. By shouldering the burden of tool and system integration, we enable teams to channel their energy into feature development and improving the overall developer experience. In essence, Tuist serves as your virtual platform team. We're with you every step of the way - from the spark of an app idea to its user launch - tackling challenges as they arise.\\n\\nTuist is comprised of a [CLI](https://github.com/tuist/tuist), which is the main entry point for developers, and a server that the CLI integrates with to persist state and integrate with other publicly available services.\\n\\n## Why {#why}\\n\\nWhy choose Tuist? Here are compelling reasons:\\n\\n### Simplify 🌱 {#simplify}\\n\\nAs projects grow and span multiple platforms, modularization becomes crucial. Tuist streamlines this complexity, offering tools to optimize and better understand your project's structure.\\n\\n**Further reading:** Projects\\n\\n### Optimize workflows 🚀 {#optimize-workflows}\\n\\nLeveraging project information, Tuist enhances efficiency through selective test execution and deterministic binary reuse across builds.\\n\\n**Further reading:** Cache, Selective testing, Registry, and Previews\\n\\n### Foster healthy project evolution 📈 {#foster-healthy-project-evolution}\\n\\nWe provide insights into your project's dynamics and expert guidance for informed decision-making. This approach prevents the frustration and productivity loss associated with unhealthy projects, which can lead to developer attrition and missed business goals.\\n\\n**Further reading:** Server\\n\\n### Break down silos 💜 {#break-down-silos}\\n\\nUnlike platform-specific ecosystems (e.g., Xcode's contained environment), Tuist offers web-centric experiences and integrates seamlessly with popular tools like Slack, Prometheus, and GitHub, enhancing cross-tool collaboration.\\n\\n**Further reading:** Projects\\n\\n---\\n\\nIf you want to know more about Tuist, the project, and the company, you can check out our [handbook](https://handbook.tuist.io/), which contains detailed information about our vision, values, and the team behind Tuist.\\n\",\"title\":\"About Tuist\",\"frontmatter\":{\"URL\":\"/es/guides/tuist/about\",\"LLMS_URL\":\"/es/guides/tuist/about.md\",\"title\":\"About Tuist\",\"titleTemplate\":\":title · Guides · Tuist\",\"description\":\"Extend your Apple native tooling to better apps at scale.\"}},{\"path\":\"/es/references/examples/app_with_airship_sdk.md\",\"url\":\"/es/references/examples/app_with_airship_sdk\",\"llmUrl\":\"/es/references/examples/app_with_airship_sdk.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_airship_sdk\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_airship_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Airship SDK\\n\\nThis example contains an example that showcases how to integrate the [Airship](https://github.com/urbanairship/ios-library) SDK.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Airship SDK\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_airship_sdk\",\"LLMS_URL\":\"/es/references/examples/app_with_airship_sdk.md\"}},{\"path\":\"/es/references/examples/app_with_build_rules.md\",\"url\":\"/es/references/examples/app_with_build_rules\",\"llmUrl\":\"/es/references/examples/app_with_build_rules.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_build_rules\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_build_rules.md\\\"\\n---\\n\\n\\n\\n# Application with build rules\\n\\nThis example contains an example that uses [build rules](https://developer.apple.com/documentation/xcode/creating-build-rules-for-custom-file-types), which instruct Xcode on how to compile a particular file.\\n\\nCheck out example\\n\",\"title\":\"Application with build rules\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_build_rules\",\"LLMS_URL\":\"/es/references/examples/app_with_build_rules.md\"}},{\"path\":\"/es/references/examples/app_with_composable_architecture.md\",\"url\":\"/es/references/examples/app_with_composable_architecture\",\"llmUrl\":\"/es/references/examples/app_with_composable_architecture.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_composable_architecture\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_composable_architecture.md\\\"\\n---\\n\\n\\n\\n# Application with the Composable Architecture (TCA)\\n\\nThis example contains an example that uses the Composable Architecture.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Composable Architecture (TCA)\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_composable_architecture\",\"LLMS_URL\":\"/es/references/examples/app_with_composable_architecture.md\"}},{\"path\":\"/es/references/examples/app_with_custom_default_configuration.md\",\"url\":\"/es/references/examples/app_with_custom_default_configuration\",\"llmUrl\":\"/es/references/examples/app_with_custom_default_configuration.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_custom_default_configuration\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_custom_default_configuration.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration\\n\\nApp that showcases a custom default configuration generationo option.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_custom_default_configuration\",\"LLMS_URL\":\"/es/references/examples/app_with_custom_default_configuration.md\"}},{\"path\":\"/es/references/examples/app_with_custom_default_configuration_settings.md\",\"url\":\"/es/references/examples/app_with_custom_default_configuration_settings\",\"llmUrl\":\"/es/references/examples/app_with_custom_default_configuration_settings.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_custom_default_configuration_settings\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_custom_default_configuration_settings.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration settings\\n\\nThis example demonstrates how to set a [default configuration](https://developer.apple.com/library/archive/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-MY_APP_HAS_MULTIPLE_BUILD_CONFIGURATIONS__HOW_DO_I_SET_A_DEFAULT_BUILD_CONFIGURATION_FOR_XCODEBUILD_) in the project settings, which will be used by `xcodebuild` when building from the command-line.\\n\\nThe default build configuration is also used to [visually activate code](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Source-Editor) in `#if…#endif` blocks when working with custom configurations other than Debug or Release in Xcode 15 and later.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration settings\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_custom_default_configuration_settings\",\"LLMS_URL\":\"/es/references/examples/app_with_custom_default_configuration_settings.md\"}},{\"path\":\"/es/references/examples/app_with_custom_scheme.md\",\"url\":\"/es/references/examples/app_with_custom_scheme\",\"llmUrl\":\"/es/references/examples/app_with_custom_scheme.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_custom_scheme\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_custom_scheme.md\\\"\\n---\\n\\n\\n\\n# Application with custom scheme\\n\\nThis example contains an example that uses a custom scheme to demonstrate how to modify schemes to ones needs.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with custom scheme\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_custom_scheme\",\"LLMS_URL\":\"/es/references/examples/app_with_custom_scheme.md\"}},{\"path\":\"/es/references/examples/app_with_executable_non_local_dependencies.md\",\"url\":\"/es/references/examples/app_with_executable_non_local_dependencies\",\"llmUrl\":\"/es/references/examples/app_with_executable_non_local_dependencies.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_executable_non_local_dependencies\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_executable_non_local_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application with Executable Non Local Dependencies\\n\\nThis example consists of two projects:\\n- Main app project, which contains the main iOS application\\n- Helper targets project, which includes various targets that the main app relies on\\n\\nIt demonstrates a scenario where the main app depends on executable targets from another project.\\nThere are three such targets:\\n1. `AppExtension` - an app extension target\\n2. `WatchApp` - a watchOS app target\\n3. `TestHost` - an app target intended to serve as the test host for test targets (and also exemplifies a regular app target)\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Executable Non Local Dependencies\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_executable_non_local_dependencies\",\"LLMS_URL\":\"/es/references/examples/app_with_executable_non_local_dependencies.md\"}},{\"path\":\"/es/references/examples/app_with_exponea_sdk.md\",\"url\":\"/es/references/examples/app_with_exponea_sdk\",\"llmUrl\":\"/es/references/examples/app_with_exponea_sdk.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_exponea_sdk\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_exponea_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Exponea SDK\\n\\nThis example contains an example that showcases how to integrate the [Exponea](https://github.com/exponea/exponea-ios-sdk) SDK. This SDK includes a core data model.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Exponea SDK\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_exponea_sdk\",\"LLMS_URL\":\"/es/references/examples/app_with_exponea_sdk.md\"}},{\"path\":\"/es/references/examples/app_with_generated_sources.md\",\"url\":\"/es/references/examples/app_with_generated_sources\",\"llmUrl\":\"/es/references/examples/app_with_generated_sources.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_generated_sources\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_generated_sources.md\\\"\\n---\\n\\n\\n\\n# App with generated sources\\n\\nThis app is to showcase using sources that are generated during the build process (as oppose to sources that already exist when buildig).\\n\\n\\nCheck out example\\n\",\"title\":\"App with generated sources\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_generated_sources\",\"LLMS_URL\":\"/es/references/examples/app_with_generated_sources.md\"}},{\"path\":\"/es/references/examples/app_with_globs.md\",\"url\":\"/es/references/examples/app_with_globs\",\"llmUrl\":\"/es/references/examples/app_with_globs.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_globs\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_globs.md\\\"\\n---\\n\\n\\n\\n# App with globs\\n\\nThis app is to showcase and test complex glob patterns for sources, resources, additional files, etc.\\n\\n\\nCheck out example\\n\",\"title\":\"App with globs\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_globs\",\"LLMS_URL\":\"/es/references/examples/app_with_globs.md\"}},{\"path\":\"/es/references/examples/app_with_google_maps.md\",\"url\":\"/es/references/examples/app_with_google_maps\",\"llmUrl\":\"/es/references/examples/app_with_google_maps.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_google_maps\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_google_maps.md\\\"\\n---\\n\\n\\n\\n# App with Google Maps\\n\\nAn example of integrating an app with Google Maps. The `GoogleMaps` dependency is imported into the App through a dynamic framework.\\n\\nCheck out example\\n\",\"title\":\"App with Google Maps\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_google_maps\",\"LLMS_URL\":\"/es/references/examples/app_with_google_maps.md\"}},{\"path\":\"/es/references/examples/app_with_local_spm_module_with_embed_frameworks.md\",\"url\":\"/es/references/examples/app_with_local_spm_module_with_embed_frameworks\",\"llmUrl\":\"/es/references/examples/app_with_local_spm_module_with_embed_frameworks.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_local_spm_module_with_embed_frameworks\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_local_spm_module_with_embed_frameworks.md\\\"\\n---\\n\\n\\n\\n# Application with Embedded Local SPM Module\\n\\nThis example project demonstrates an application that includes a local Swift Package Manager (SPM) module (`LocalSwiftPackage`) configured as an embedded framework.\\n\\nThe project leverages a local SPM module added to the Embed Frameworks section, showing that local SPM packages can now be embedded within the application.\\n\\nThis demo project exists to validate and showcase the capability to embed local SPM modules as frameworks, allowing seamless integration into the main app.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Embedded Local SPM Module\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_local_spm_module_with_embed_frameworks\",\"LLMS_URL\":\"/es/references/examples/app_with_local_spm_module_with_embed_frameworks.md\"}},{\"path\":\"/es/references/examples/app_with_local_spm_module_with_remote_dependencies.md\",\"url\":\"/es/references/examples/app_with_local_spm_module_with_remote_dependencies\",\"llmUrl\":\"/es/references/examples/app_with_local_spm_module_with_remote_dependencies.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_local_spm_module_with_remote_dependencies\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_local_spm_module_with_remote_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application wih Local SPM Module with Remote Dependencies\\n\\nThis example contains a project that depends upon a local SPM module (`LocalSwiftPackage`) colocated within this directory.\\n\\nThis project does NOT contain any direct remote dependencies.\\nHowever, `LocalSwiftPackage` DOES have remote dependencies.\\n\\nThis example application exists to ensure that package resolution occurs even in the case of solely transitive remote dependencies.\\n\\nCheck out example\\n\",\"title\":\"Application wih Local SPM Module with Remote Dependencies\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_local_spm_module_with_remote_dependencies\",\"LLMS_URL\":\"/es/references/examples/app_with_local_spm_module_with_remote_dependencies.md\"}},{\"path\":\"/es/references/examples/app_with_metal_options.md\",\"url\":\"/es/references/examples/app_with_metal_options\",\"llmUrl\":\"/es/references/examples/app_with_metal_options.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_metal_options\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_metal_options.md\\\"\\n---\\n\\n\\n\\n# App with a metal diagnostic configuration\\n\\nApp that showcases a custom and default configuration for metal diagnostics.\\n\\n\\nCheck out example\\n\",\"title\":\"App with a metal diagnostic configuration\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_metal_options\",\"LLMS_URL\":\"/es/references/examples/app_with_metal_options.md\"}},{\"path\":\"/es/references/examples/app_with_organization_name_project.md\",\"url\":\"/es/references/examples/app_with_organization_name_project\",\"llmUrl\":\"/es/references/examples/app_with_organization_name_project.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_organization_name_project\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_organization_name_project.md\\\"\\n---\\n\\n\\n\\n# App with organization name defined in `Project`\\n\\nAn iOS app where the organization name is defined at the `Project` level.\\n\\nCheck out example\\n\",\"title\":\"App with organization name defined in `Project`\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_organization_name_project\",\"LLMS_URL\":\"/es/references/examples/app_with_organization_name_project.md\"}},{\"path\":\"/es/references/examples/app_with_realm.md\",\"url\":\"/es/references/examples/app_with_realm\",\"llmUrl\":\"/es/references/examples/app_with_realm.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_realm\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_realm.md\\\"\\n---\\n\\n\\n\\n# Application with Realm\\n\\nThis example contains an example that showcases how to integrate the [Realm Swift](https://github.com/realm/realm-swift) library.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Realm\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_realm\",\"LLMS_URL\":\"/es/references/examples/app_with_realm.md\"}},{\"path\":\"/es/references/examples/app_with_signed_xcframework_dependencies.md\",\"url\":\"/es/references/examples/app_with_signed_xcframework_dependencies\",\"llmUrl\":\"/es/references/examples/app_with_signed_xcframework_dependencies.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_signed_xcframework_dependencies\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_signed_xcframework_dependencies.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies\\n\\nAn example of an application which depends on XCFrameworks with different kinds of signatures:\\n- Signature not specified (signature validation should be skipped)\\n- Unsigned\\n- Signed with Apple certificate\\n- Self signed\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_signed_xcframework_dependencies\",\"LLMS_URL\":\"/es/references/examples/app_with_signed_xcframework_dependencies.md\"}},{\"path\":\"/es/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"url\":\"/es/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\",\"llmUrl\":\"/es/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies - Mismatching Signature\\n\\nExample of an app with a signed XCFramework dependency, where the XCFramework is declared to have a signature that\\ndoesn't match the actual signature.\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies - Mismatching Signature\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\",\"LLMS_URL\":\"/es/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\"}},{\"path\":\"/es/references/examples/app_with_spm_xcframework_dependency.md\",\"url\":\"/es/references/examples/app_with_spm_xcframework_dependency\",\"llmUrl\":\"/es/references/examples/app_with_spm_xcframework_dependency.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/app_with_spm_xcframework_dependency\\\"\\nLLMS_URL: \\\"/es/references/examples/app_with_spm_xcframework_dependency.md\\\"\\n---\\n\\n\\n\\n# Application with XCFramework Swift Package Manager Dependenciy\\n\\nThis example contains an example that imports an external XCFramework using Swift Package Manager dependencies.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with XCFramework Swift Package Manager Dependenciy\",\"frontmatter\":{\"URL\":\"/es/references/examples/app_with_spm_xcframework_dependency\",\"LLMS_URL\":\"/es/references/examples/app_with_spm_xcframework_dependency.md\"}},{\"path\":\"/es/references/examples/framework_with_environment_variables.md\",\"url\":\"/es/references/examples/framework_with_environment_variables\",\"llmUrl\":\"/es/references/examples/framework_with_environment_variables.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/framework_with_environment_variables\\\"\\nLLMS_URL: \\\"/es/references/examples/framework_with_environment_variables.md\\\"\\n---\\n\\n\\n\\n# Framework with environment variables\\n\\nA framework project that leverages environment variables to change the name of the framework.\\n\\nCheck out example\\n\",\"title\":\"Framework with environment variables\",\"frontmatter\":{\"URL\":\"/es/references/examples/framework_with_environment_variables\",\"LLMS_URL\":\"/es/references/examples/framework_with_environment_variables.md\"}},{\"path\":\"/es/references/examples/framework_with_macro_and_plugin_packages.md\",\"url\":\"/es/references/examples/framework_with_macro_and_plugin_packages\",\"llmUrl\":\"/es/references/examples/framework_with_macro_and_plugin_packages.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/framework_with_macro_and_plugin_packages\\\"\\nLLMS_URL: \\\"/es/references/examples/framework_with_macro_and_plugin_packages.md\\\"\\n---\\n\\n\\n\\n# Framework with native Swift Macro and Plugin packages\\n\\nThis project represents a project with a framework that integrates the following Swift Packages:\\n\\n- A [build tool plugin](https://github.com/apple/swift-package-manager/blob/main/Documentation/Plugins.md) using Xcode's native integration.\\n- A Swift Macro using Tuist's integration based on XcodeProj primitives.\\n\\nCheck out example\\n\",\"title\":\"Framework with native Swift Macro and Plugin packages\",\"frontmatter\":{\"URL\":\"/es/references/examples/framework_with_macro_and_plugin_packages\",\"LLMS_URL\":\"/es/references/examples/framework_with_macro_and_plugin_packages.md\"}},{\"path\":\"/es/references/examples/generated_ios_app_without_config_manifest.md\",\"url\":\"/es/references/examples/generated_ios_app_without_config_manifest\",\"llmUrl\":\"/es/references/examples/generated_ios_app_without_config_manifest.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/generated_ios_app_without_config_manifest\\\"\\nLLMS_URL: \\\"/es/references/examples/generated_ios_app_without_config_manifest.md\\\"\\n---\\n\\n\\n\\n# Generated iOS App without a config manifest\\n\\nThe presence of `Tuist.swift` is optional. When absent, Tuist provides a default configuration based on the type project detected in the file-system.\\n\\n\\nCheck out example\\n\",\"title\":\"Generated iOS App without a config manifest\",\"frontmatter\":{\"URL\":\"/es/references/examples/generated_ios_app_without_config_manifest\",\"LLMS_URL\":\"/es/references/examples/generated_ios_app_without_config_manifest.md\"}},{\"path\":\"/es/references/examples/ios_app_with_actions.md\",\"url\":\"/es/references/examples/ios_app_with_actions\",\"llmUrl\":\"/es/references/examples/ios_app_with_actions.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_actions\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_actions.md\\\"\\n---\\n\\n\\n\\n# iOS app with actions\\n\\nAn iOS app with a target that has pre and post actions.\\n\\nCheck out example\\n\",\"title\":\"iOS app with actions\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_actions\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_actions.md\"}},{\"path\":\"/es/references/examples/ios_app_with_build_variables.md\",\"url\":\"/es/references/examples/ios_app_with_build_variables\",\"llmUrl\":\"/es/references/examples/ios_app_with_build_variables.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_build_variables\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_build_variables.md\\\"\\n---\\n\\n\\n\\n# iOS app with build variables\\n\\nAn iOS app with a Xcode build variables defined in pre action.\\n\\nCheck out example\\n\",\"title\":\"iOS app with build variables\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_build_variables\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_build_variables.md\"}},{\"path\":\"/es/references/examples/ios_app_with_coredata.md\",\"url\":\"/es/references/examples/ios_app_with_coredata\",\"llmUrl\":\"/es/references/examples/ios_app_with_coredata.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_coredata\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_coredata.md\\\"\\n---\\n\\n\\n\\n# Application with CoreData models\\n\\nThis example showcases a project that utilizes CoreData models and code generation for these models using resourceSynthesizer.\\n\\nCheck out example\\n\",\"title\":\"Application with CoreData models\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_coredata\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_coredata.md\"}},{\"path\":\"/es/references/examples/ios_app_with_cplusplus_interoperability.md\",\"url\":\"/es/references/examples/ios_app_with_cplusplus_interoperability\",\"llmUrl\":\"/es/references/examples/ios_app_with_cplusplus_interoperability.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_cplusplus_interoperability\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_cplusplus_interoperability.md\\\"\\n---\\n\\n\\n\\n# iOS App with C++ Interoperability\\n\\nThis repository contains dependencies with the `.interoperabilityMode(.Cxx)` and ensures when Tuist converts those into Xcode targets, the right build settings are applied to the generated targets.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS App with C++ Interoperability\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_cplusplus_interoperability\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_cplusplus_interoperability.md\"}},{\"path\":\"/es/references/examples/ios_app_with_custom_workspace.md\",\"url\":\"/es/references/examples/ios_app_with_custom_workspace\",\"llmUrl\":\"/es/references/examples/ios_app_with_custom_workspace.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_custom_workspace\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_custom_workspace.md\\\"\\n---\\n\\n\\n\\n# iOS app with a custom workspace\\n\\niOS with a few projects and a `Workspace.swift` manifest file.\\n\\nThe workspace manifest defines:\\n\\n- glob patterns to list projects\\n- glob patterns to include documentation files\\n- folder reference to directory with html files\\n\\nThe App's project manifest leverages `additionalFiles` that:\\n\\n- defines glob patterns to include documentation files\\n- includes a Swift `Danger.swift` file that shouldn't get included in any build phase\\n- defines folder references to a directory with json files\\n\\nCheck out example\\n\",\"title\":\"iOS app with a custom workspace\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_custom_workspace\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_custom_workspace.md\"}},{\"path\":\"/es/references/examples/ios_app_with_extensions.md\",\"url\":\"/es/references/examples/ios_app_with_extensions\",\"llmUrl\":\"/es/references/examples/ios_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_extensions\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# iOS app with extensions\\n\\nSample iOS application with extension targets.\\n\\nCheck out example\\n\",\"title\":\"iOS app with extensions\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_extensions\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_extensions.md\"}},{\"path\":\"/es/references/examples/ios_app_with_framework_and_resources.md\",\"url\":\"/es/references/examples/ios_app_with_framework_and_resources\",\"llmUrl\":\"/es/references/examples/ios_app_with_framework_and_resources.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_framework_and_resources\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_framework_and_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with a framework and resources\\n\\nA workspace with an application that includes resources.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - StaticFramework\\n - StaticFramework (static iOS framework)\\n - StaticFrameworkResources (iOS bundle)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> StaticFramework\\n- App -> StaticFrameworkResources\\n\\nCheck out example\\n\",\"title\":\"iOS app with a framework and resources\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_framework_and_resources\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_framework_and_resources.md\"}},{\"path\":\"/es/references/examples/ios_app_with_framework_linking_static_framework.md\",\"url\":\"/es/references/examples/ios_app_with_framework_linking_static_framework\",\"llmUrl\":\"/es/references/examples/ios_app_with_framework_linking_static_framework.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_framework_linking_static_framework\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_framework_linking_static_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a dynamic framework that links a static framework\\n\\n\\nAn example project demonstrating an iOS application linking a dynamic framework which itself depends on a static framework with transitive static dependencies.\\n\\nOnly `Framework1.framework` should be linked and included into App, everything else should be statically linked into the Framework1 executable.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (static iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (static iOS framework)\\n - Framework3Tests (iOS unit tests)\\n - Framework4:\\n - Framework4 (static iOS framework)\\n - Framework4Tests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2\\n- Framework1 -> Framework3\\n- Framework3 -> Framework4\\n\\n\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with a dynamic framework that links a static framework\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_framework_linking_static_framework\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_framework_linking_static_framework.md\"}},{\"path\":\"/es/references/examples/ios_app_with_frameworks.md\",\"url\":\"/es/references/examples/ios_app_with_frameworks\",\"llmUrl\":\"/es/references/examples/ios_app_with_frameworks.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_frameworks\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with frameworks\\n\\n\\nSlightly more complicated project that consists of an iOS app and few frameworks.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (dynamic iOS framework)\\n - Framework4:\\n - Framework4 (dynamic iOS framework)\\n - Framework5:\\n - Framework5 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> Framework2\\n- Framework1 -> Framework2\\n- Framework2 -> Framework3\\n- Framework3 -> Framework4\\n- Framework4 -> Framework5\\n\\nCheck out example\\n\",\"title\":\"iOS app with frameworks\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_frameworks\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_frameworks.md\"}},{\"path\":\"/es/references/examples/ios_app_with_helpers.md\",\"url\":\"/es/references/examples/ios_app_with_helpers\",\"llmUrl\":\"/es/references/examples/ios_app_with_helpers.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_helpers\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_helpers.md\\\"\\n---\\n\\n\\n\\n# iOS app with helpers\\n\\nA basic iOS app that leverages `ProjectDescriptionHelpers`.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with helpers\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_helpers\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_helpers.md\"}},{\"path\":\"/es/references/examples/ios_app_with_incompatible_dependencies.md\",\"url\":\"/es/references/examples/ios_app_with_incompatible_dependencies\",\"llmUrl\":\"/es/references/examples/ios_app_with_incompatible_dependencies.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_incompatible_dependencies\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_incompatible_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible dependencies\\n\\nAn iOS app that has a dependency with a dependency on a framework for macOS.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible dependencies\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_incompatible_dependencies\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_incompatible_dependencies.md\"}},{\"path\":\"/es/references/examples/ios_app_with_incompatible_xcode.md\",\"url\":\"/es/references/examples/ios_app_with_incompatible_xcode\",\"llmUrl\":\"/es/references/examples/ios_app_with_incompatible_xcode.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_incompatible_xcode\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_incompatible_xcode.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible Xcode\\n\\nAn iOS app whose Config file requires an Xcode version that is not available in the system.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible Xcode\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_incompatible_xcode\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_incompatible_xcode.md\"}},{\"path\":\"/es/references/examples/ios_app_with_local_swift_package.md\",\"url\":\"/es/references/examples/ios_app_with_local_swift_package\",\"llmUrl\":\"/es/references/examples/ios_app_with_local_swift_package.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_local_swift_package\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_local_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a local Swift package\\n\\nAn iOS application that depends on a local Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS app with a local Swift package\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_local_swift_package\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_local_swift_package.md\"}},{\"path\":\"/es/references/examples/ios_app_with_multi_configs.md\",\"url\":\"/es/references/examples/ios_app_with_multi_configs\",\"llmUrl\":\"/es/references/examples/ios_app_with_multi_configs.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_multi_configs\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_multi_configs.md\\\"\\n---\\n\\n\\n\\n# iOS app with multiple configurations and an xcconfig\\n\\nA workspace that contains an application and frameworks that leverage multiple configurations (Debug, Beta and Release) each of which also has an associated xcconfig file within `ConfigurationFiles`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with multiple configurations and an xcconfig\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_multi_configs\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_multi_configs.md\"}},{\"path\":\"/es/references/examples/ios_app_with_on_demand_resources.md\",\"url\":\"/es/references/examples/ios_app_with_on_demand_resources\",\"llmUrl\":\"/es/references/examples/ios_app_with_on_demand_resources.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_on_demand_resources\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_on_demand_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with on demand resources\\n\\nAn iOS applicaiton with on-demand resources. It contains file resources and asset catalogs associated with tags which in turn are distributed between three categories:\\n- Initial install tags\\n- Prefetch tag order\\n- Dowloaded only on demand\\n\\nCheck out example\\n\",\"title\":\"iOS app with on demand resources\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_on_demand_resources\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_on_demand_resources.md\"}},{\"path\":\"/es/references/examples/ios_app_with_privacy_manifest.md\",\"url\":\"/es/references/examples/ios_app_with_privacy_manifest\",\"llmUrl\":\"/es/references/examples/ios_app_with_privacy_manifest.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_privacy_manifest\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_privacy_manifest.md\\\"\\n---\\n\\n\\n\\n# Application with Privacy Manifest\\n\\nThis example contains an example that uses a [Privacy Manifest](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files), which describe the data the app collects and the reasons required APIs it uses.\\n\\nCheck out example\\n\",\"title\":\"Application with Privacy Manifest\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_privacy_manifest\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_privacy_manifest.md\"}},{\"path\":\"/es/references/examples/ios_app_with_remote_swift_package.md\",\"url\":\"/es/references/examples/ios_app_with_remote_swift_package\",\"llmUrl\":\"/es/references/examples/ios_app_with_remote_swift_package.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_remote_swift_package\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_remote_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS App with a remote Swift package\\n\\nAn iOS application with a remote Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS App with a remote Swift package\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_remote_swift_package\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_remote_swift_package.md\"}},{\"path\":\"/es/references/examples/ios_app_with_sandbox_disabled.md\",\"url\":\"/es/references/examples/ios_app_with_sandbox_disabled\",\"llmUrl\":\"/es/references/examples/ios_app_with_sandbox_disabled.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_sandbox_disabled\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_sandbox_disabled.md\\\"\\n---\\n\\n\\n\\n# iOS app with sandbox disabled\\n\\nAn example of a project manifest that accesses the file system, and therefore requires the sandbox to be disabled.\\n\\n*Note: disabling the sandbox is discouraged and should only be used if absolutely necessary.*\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with sandbox disabled\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_sandbox_disabled\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_sandbox_disabled.md\"}},{\"path\":\"/es/references/examples/ios_app_with_sdk.md\",\"url\":\"/es/references/examples/ios_app_with_sdk\",\"llmUrl\":\"/es/references/examples/ios_app_with_sdk.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_sdk\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_sdk.md\\\"\\n---\\n\\n\\n\\n# iOS app with an SDK\\n\\nAn application that contains an application target that depends on system libraries and frameworks (`.framework` and `.tbd`).\\n\\nOne of the dependencies is declared as `.optional` i.e. will be linked weakly.\\n\\nCheck out example\\n\",\"title\":\"iOS app with an SDK\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_sdk\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_sdk.md\"}},{\"path\":\"/es/references/examples/ios_app_with_spm_dependencies.md\",\"url\":\"/es/references/examples/ios_app_with_spm_dependencies\",\"llmUrl\":\"/es/references/examples/ios_app_with_spm_dependencies.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_spm_dependencies\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_spm_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependencies\\n\\nAn iOS application project with various SPM dependencies.\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependencies\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_spm_dependencies\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_spm_dependencies.md\"}},{\"path\":\"/es/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"url\":\"/es/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\",\"llmUrl\":\"/es/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependency and force resolved versions flag\\n\\nAn iOS application project with one SPM dependency and --force-resolved-versions config flag\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependency and force resolved versions flag\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\"}},{\"path\":\"/es/references/examples/ios_app_with_static_frameworks.md\",\"url\":\"/es/references/examples/ios_app_with_static_frameworks\",\"llmUrl\":\"/es/references/examples/ios_app_with_static_frameworks.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_static_frameworks\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_static_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with static frameworks\\n\\n\\nThis fixture contains an application that depends on static frameworks, both directly and transitively.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Modules\\n - A:\\n - A (static framework iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static framework iOS)\\n - BTests (iOS unit tests)\\n - C:\\n - C (static framework iOS)\\n - CTests (iOS unit tests)\\n - D:\\n - D (dynamic framework iOS)\\n```\\n\\nA standalone `Prebuilt` project is used to generate a prebuilt static framework:\\n\\n```\\n- Prebuilt\\n - PrebuiltStaticFramework (static framework iOS)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- App -> C\\n- App -> PrebuiltStaticFramework\\n- A -> B\\n- A -> C\\n- C -> D\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_frameworks/Prebuilt//build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static frameworks\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_static_frameworks\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_static_frameworks.md\"}},{\"path\":\"/es/references/examples/ios_app_with_static_libraries.md\",\"url\":\"/es/references/examples/ios_app_with_static_libraries\",\"llmUrl\":\"/es/references/examples/ios_app_with_static_libraries.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_static_libraries\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_static_libraries.md\\\"\\n---\\n\\n\\n\\n# iOS app with static libraries\\n\\n\\nThis application provides a top level application with two static library dependencies. The first static library dependency has another static library dependency so that we are able to test how Tuist handles the transitiveness of the static libraries in the linked frameworks of the main app.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - A:\\n - A (static library iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static library iOS)\\n - BTests (iOS unit tests)\\n```\\n\\nA standalone C project is used to generate a prebuilt static library:\\n\\n```\\n - C:\\n - C (static library iOS)\\n - CTests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- A -> B\\n- A -> prebuild C (libC.a)\\n\\nNote: to re-create `libC.a` run `ios_app_with_static_libraries/Modules/C/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static libraries\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_static_libraries\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_static_libraries.md\"}},{\"path\":\"/es/references/examples/ios_app_with_static_library_and_package.md\",\"url\":\"/es/references/examples/ios_app_with_static_library_and_package\",\"llmUrl\":\"/es/references/examples/ios_app_with_static_library_and_package.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_static_library_and_package\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_static_library_and_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a static library and a package\\n\\nAn iOS application that depends on static library that depends on Swift package where static library is defined first.\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_library_and_package/Prebuilt/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a static library and a package\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_static_library_and_package\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_static_library_and_package.md\"}},{\"path\":\"/es/references/examples/ios_app_with_tests.md\",\"url\":\"/es/references/examples/ios_app_with_tests\",\"llmUrl\":\"/es/references/examples/ios_app_with_tests.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_tests\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_tests.md\\\"\\n---\\n\\n\\n\\n# iOS app with tests\\n\\nA simple iOS app with tests, which includes a setup manifest and uses `.notGrouped` autogenerated schemes.\\n\\nCheck out example\\n\",\"title\":\"iOS app with tests\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_tests\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_tests.md\"}},{\"path\":\"/es/references/examples/ios_app_with_transitive_framework.md\",\"url\":\"/es/references/examples/ios_app_with_transitive_framework\",\"llmUrl\":\"/es/references/examples/ios_app_with_transitive_framework.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_transitive_framework\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_transitive_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a transitive framework\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n```\\n\\nA standalone Framework2 project is used to generate a prebuilt dynamic framework:\\n\\n```\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2 (prebuilt)\\n\\nNote: to re-create `Framework2.framework` run `ios_app_with_transitive_framework/Framework2/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a transitive framework\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_transitive_framework\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_transitive_framework.md\"}},{\"path\":\"/es/references/examples/ios_app_with_transitive_framework_through_macro.md\",\"url\":\"/es/references/examples/ios_app_with_transitive_framework_through_macro\",\"llmUrl\":\"/es/references/examples/ios_app_with_transitive_framework_through_macro.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_transitive_framework_through_macro\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_transitive_framework_through_macro.md\\\"\\n---\\n\\n\\n\\n# iOS app with transitive framework through macro executable\\n\\nThis fixture contains an iOS app that transitively and directly depends on a Swift Macro (executable)'s direct dependency.\\nIt was included [in this issue](https://github.com/tuist/tuist/issues/5988) because the set up caused the warming of the binary cache to fail due to \\\"multiple commands produce the same output\\\" error when archiving.\\nAs a solution, we moved away from using archive, and instead use the build action to warm the cache.\\n\\nCheck out example\\n\",\"title\":\"iOS app with transitive framework through macro executable\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_transitive_framework_through_macro\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_transitive_framework_through_macro.md\"}},{\"path\":\"/es/references/examples/ios_app_with_xcframeworks.md\",\"url\":\"/es/references/examples/ios_app_with_xcframeworks\",\"llmUrl\":\"/es/references/examples/ios_app_with_xcframeworks.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_app_with_xcframeworks\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_app_with_xcframeworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with xcframeworks\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - MyFramework:\\n - MyFramework (dynamic iOS framework)\\n - MyStaticFramework:\\n - MyStaticFramework (static iOS framework)\\n - MyStaticLibirary:\\n - MyStaticLibrary (static iOS libraries)\\n```\\n\\nAn example of an application which depends on prebuilt `.xcframework`s.\\n\\nThe `.xcframework` can be obtained by running the `build.sh` script within the each of the xcframework directories\\ne.g. `ios_app_with_xcframeworks/XCFrameworks/MyFramework/build.sh`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with xcframeworks\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_app_with_xcframeworks\",\"LLMS_URL\":\"/es/references/examples/ios_app_with_xcframeworks.md\"}},{\"path\":\"/es/references/examples/ios_workspace_with_dependency_cycle.md\",\"url\":\"/es/references/examples/ios_workspace_with_dependency_cycle\",\"llmUrl\":\"/es/references/examples/ios_workspace_with_dependency_cycle.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/ios_workspace_with_dependency_cycle\\\"\\nLLMS_URL: \\\"/es/references/examples/ios_workspace_with_dependency_cycle.md\\\"\\n---\\n\\n\\n\\n# iOS workspace with a dependency cycle\\n\\nAn example of a workspace that has a dependency cycle between targets in different projects.\\n\\nCheck out example\\n\",\"title\":\"iOS workspace with a dependency cycle\",\"frontmatter\":{\"URL\":\"/es/references/examples/ios_workspace_with_dependency_cycle\",\"LLMS_URL\":\"/es/references/examples/ios_workspace_with_dependency_cycle.md\"}},{\"path\":\"/es/references/examples/macos_app_with_extensions.md\",\"url\":\"/es/references/examples/macos_app_with_extensions\",\"llmUrl\":\"/es/references/examples/macos_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/macos_app_with_extensions\\\"\\nLLMS_URL: \\\"/es/references/examples/macos_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# macOS app with extensions\\n\\nThe project contains a macOS app with various types of extensions.\\n\\nCheck out example\\n\",\"title\":\"macOS app with extensions\",\"frontmatter\":{\"URL\":\"/es/references/examples/macos_app_with_extensions\",\"LLMS_URL\":\"/es/references/examples/macos_app_with_extensions.md\"}},{\"path\":\"/es/references/examples/package_with_registry_and_alamofire.md\",\"url\":\"/es/references/examples/package_with_registry_and_alamofire\",\"llmUrl\":\"/es/references/examples/package_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/package_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/es/references/examples/package_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Swift package with registry and Alamofire\\n\\nA simple Swift package that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Swift package with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/es/references/examples/package_with_registry_and_alamofire\",\"LLMS_URL\":\"/es/references/examples/package_with_registry_and_alamofire.md\"}},{\"path\":\"/es/references/examples/project_with_class_prefix.md\",\"url\":\"/es/references/examples/project_with_class_prefix\",\"llmUrl\":\"/es/references/examples/project_with_class_prefix.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/project_with_class_prefix\\\"\\nLLMS_URL: \\\"/es/references/examples/project_with_class_prefix.md\\\"\\n---\\n\\n\\n\\n# Project with class prefix\\n\\nThis example generate Xcode project with custom class prefix setting.\\n\\nCheck out example\\n\",\"title\":\"Project with class prefix\",\"frontmatter\":{\"URL\":\"/es/references/examples/project_with_class_prefix\",\"LLMS_URL\":\"/es/references/examples/project_with_class_prefix.md\"}},{\"path\":\"/es/references/examples/xcode_app.md\",\"url\":\"/es/references/examples/xcode_app\",\"llmUrl\":\"/es/references/examples/xcode_app.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/xcode_app\\\"\\nLLMS_URL: \\\"/es/references/examples/xcode_app.md\\\"\\n---\\n\\n\\n\\n# Xcode app\\n\\nA simple app created with Xcode. This fixture is _not_ using Tuist projects and it is meant to test features that don't require Tuist projects, such as `tuist share`.\\n\\nCheck out example\\n\",\"title\":\"Xcode app\",\"frontmatter\":{\"URL\":\"/es/references/examples/xcode_app\",\"LLMS_URL\":\"/es/references/examples/xcode_app.md\"}},{\"path\":\"/es/references/examples/xcode_project_with_registry_and_alamofire.md\",\"url\":\"/es/references/examples/xcode_project_with_registry_and_alamofire\",\"llmUrl\":\"/es/references/examples/xcode_project_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/es/references/examples/xcode_project_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/es/references/examples/xcode_project_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Xcode project with registry and Alamofire\\n\\nA simple app created with Xcode that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Xcode project with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/es/references/examples/xcode_project_with_registry_and_alamofire\",\"LLMS_URL\":\"/es/references/examples/xcode_project_with_registry_and_alamofire.md\"}},{\"path\":\"/es/references/migrations/from-v3-to-v4.md\",\"url\":\"/es/references/migrations/from-v3-to-v4\",\"llmUrl\":\"/es/references/migrations/from-v3-to-v4.md\",\"content\":\"---\\nURL: \\\"/es/references/migrations/from-v3-to-v4\\\"\\nLLMS_URL: \\\"/es/references/migrations/from-v3-to-v4.md\\\"\\ntitle: \\\"From v3 to v4\\\"\\ntitleTemplate: \\\":title · Migrations · References · Tuist\\\"\\ndescription: \\\"This page documents how to migrate the Tuist CLI from the version 3 to version 4.\\\"\\n---\\n\\n# From Tuist v3 to v4 {#from-tuist-v3-to-v4}\\n\\nWith the release of [Tuist 4](https://github.com/tuist/tuist/releases/tag/4.0.0), we took the opportunity to introduce some breaking changes to the project, which we believed would make the project easier to use and maintain in the long run. This document outlines the changes you will need to make to your project to upgrade from Tuist 3 to Tuist 4.\\n\\n### Dropped version management through `tuistenv` {#dropped-version-management-through-tuistenv}\\n\\nPrior to Tuist 4, the installation script installed a tool, `tuistenv`, that would get renamed to `tuist` at installation time. The tool would take care of installing and activating versions of Tuist ensuring determinism across environments. With the aim of reducing the feature surface of Tuist, we decided to drop `tuistenv` in favor of [Mise](https://mise.jdx.dev/), a tool that does the same job but is more flexible and can be used across different tools. If you were using `tuistenv`, you'll have to uninstall the current version of Tuist by running `curl -Ls https://uninstall.tuist.io | bash` and then install it using the installation method of your choice. We strongly recommend the usage of Mise because it's able to install and activate versions deterministically across environments.\\n\\n::: code-group\\n\\n```bash [Uninstall tuistenv]\\ncurl -Ls https://uninstall.tuist.io | bash\\n```\\n\\n:::\\n\\n> [!IMPORTANT] MISE IN CI ENVIRONMENTS AND XCODE PROJECTS\\n> If you decide to embrace the determinism that Mise brings across the board, we recommend checking out the documentation for how to use Mise in [CI environments](https://mise.jdx.dev/continuous-integration.html) and [Xcode projects](https://mise.jdx.dev/ide-integration.html#xcode).\\n\\n> [!NOTE] HOMEBREW IS SUPPORTED\\n> Note that you can still install Tuist using Homebrew, which is a popular package manager for macOS. You can find the instructions on how to install Tuist using Homebrew in the installation guide.\\n\\n### Dropped `init` constructors from `ProjectDescription` models {#dropped-init-constructors-from-projectdescription-models}\\n\\nWith the aim of improving the readability and expressiveness of the APIs, we decided to remove the `init` constructors from all the `ProjectDescription` models. Every model now provides a static constructor that you can use to create instances of the models. If you were using the `init` constructors, you'll have to update your project to use the static constructors instead.\\n\\n> [!TIP] NAMING CONVENTION\\n> The naming convention that we follow is to use the name of the model as the name of the static constructor. For example, the static constructor for the `Target` model is `Target.target`.\\n\\n### Renamed `--no-cache` to `--no-binary-cache` {#renamed-nocache-to-nobinarycache}\\n\\nBecause the `--no-cache` flag was ambiguous, we decided to rename it to `--no-binary-cache` to make it clear that it refers to the binary cache. If you were using the `--no-cache` flag, you'll have to update your project to use the `--no-binary-cache` flag instead.\\n\\n### Renamed `tuist fetch` to `tuist install` {#renamed-tuist-fetch-to-tuist-install}\\n\\nWe renamed the `tuist fetch` command to `tuist install` to align with the industry convention. If you were using the `tuist fetch` command, you'll have to update your project to use the `tuist install` command instead.\\n\\n### [Adopt `Package.swift` as the DSL for dependencies](https://github.com/tuist/tuist/pull/5862) {#adopt-packageswift-as-the-dsl-for-dependencieshttpsgithubcomtuisttuistpull5862}\\n\\nBefore Tuist 4, you could define dependencies in a `Dependencies.swift` file. This proprietary format broke the support in tools like [Dependabot](https://github.com/dependabot) or [Renovatebot](https://github.com/renovatebot/renovate) to automatically update dependencies. Moreover, it introduced unnecessary indirections for users. Therefore, we decided to embrace `Package.swift` as the only way to define dependencies in Tuist. If you were using the `Dependencies.swift` file, you'll have to move the content from your `Tuist/Dependencies.swift` to a `Package.swift` at the root, and use the `#if TUIST` directive to configure the integration. You can read more about how to integrate Swift Package dependencies here\\n\\n### Renamed `tuist cache warm` to `tuist cache` {#renamed-tuist-cache-warm-to-tuist-cache}\\n\\nFor brevity, we decided to rename the `tuist cache warm` command to `tuist cache`. If you were using the `tuist cache warm` command, you'll have to update your project to use the `tuist cache` command instead.\\n\\n### Renamed `tuist cache print-hashes` to `tuist cache --print-hashes` {#renamed-tuist-cache-printhashes-to-tuist-cache-printhashes}\\n\\nWe decided to rename the `tuist cache print-hashes` command to `tuist cache --print-hashes` to make it clear that it's a flag of the `tuist cache` command. If you were using the `tuist cache print-hashes` command, you'll have to update your project to use the `tuist cache --print-hashes` flag instead.\\n\\n### Removed caching profiles {#removed-caching-profiles}\\n\\nBefore Tuist 4, you could define caching profiles in `Tuist/Config.swift` which contained a configuration for the cache. We decided to remove this feature because it could lead to confusion when using it in the generation process with a profile other than the one that was used to generate the project. Moreover, it could lead to users using a debug profile to build a release version of the app, which could lead to unexpected results. In its place, we introduced the `--configuration` option, which you can use to specify the configuration you want to use when generating the project. If you were using caching profiles, you'll have to update your project to use the `--configuration` option instead.\\n\\n### Removed `--skip-cache` in favor of arguments {#removed-skipcache-in-favor-of-arguments}\\n\\nWe removed the flag `--skip-cache` from the `generate` command in favor of controlling for which targets the binary cache should be skipped by using the arguments. If you were using the `--skip-cache` flag, you'll have to update your project to use the arguments instead.\\n\\n::: code-group\\n\\n```bash [Before]\\ntuist generate --skip-cache Foo\\n```\\n\\n```bash [After]\\ntuist generate Foo\\n```\\n\\n:::\\n\\n### [Dropped signing capabilities](https://github.com/tuist/tuist/pull/5716) {#dropped-signing-capabilitieshttpsgithubcomtuisttuistpull5716}\\n\\nSigning is already solved by community tooling like [Fastlane](https://fastlane.tools/) and Xcode itself, which do a much better job at that. We felt that signing was an stretch goal for Tuist, and that it was better to focus on the core features of the project. If you were using Tuist signing capabilities, which consisted of encrypting the certificates and profiles in the repository and installing them in the right places at generation time, you might want to replicate that logic in your own scripts that run before project generation. In particular:\\n\\n- A script that decrypts the certificates and profiles using a key either stored in the file-system or in an environment variable, and installs certificates in the keychain, and the provisioning profiles in the directory `~/Library/MobileDevice/Provisioning\\\\ Profiles`.\\n- A script that can take an existing profiles and certificates and encrypt them.\\n\\n> [!TIP] SIGNING REQUIREMENTS\\n> Signing requires the right certificates to be present in the keychain and the provisioning profiles to be present in the directory `~/Library/MobileDevice/Provisioning\\\\ Profiles`. You can use the `security` command-line tool to install certificates in the keychain and the `cp` command to copy the provisioning profiles to the right directory.\\n\\n### Dropped Carthage integration via `Dependencies.swift` {#dropped-carthage-integration-via-dependenciesswift}\\n\\nBefore Tuist 4, Carthage dependencies could be defined in a `Dependencies.swift` file, which users could then fetch by running `tuist fetch`. We also felt that this was a stretch goal for Tuist, specially considering a future where Swift Package Manager would be the preferred way to manage dependencies. If you were using Carthage dependencies, you'll have to use `Carthage` directly to pull the pre-compiled frameworks and XCFrameworks into Carthage's standard directory, and then reference those binaries from your tagets using the `TargetDependency.xcframework` and `TargetDependency.framework` cases.\\n\\n> [!NOTE] CARTHAGE IS STILL SUPPORTED\\n> Some users understood that we dropped Carthage support. We didn't. The contract between Tuist and Carthage's output is to system-stored frameworks and XCFrameworks. The only thing that changed is who is responsible for fetching the dependencies. It used to be Tuist through Carthage, now it's Carthage.\\n\\n### Dropped the `TargetDependency.packagePlugin` API {#dropped-the-targetdependencypackageplugin-api}\\n\\nBefore Tuist 4, you could define a package plugin dependency using the `TargetDependency.packagePlugin` case. After seeing the Swift Package Manager introducing new package types, we decided to iterate on the API towards something that would be more flexible and future-proof. If you were using `TargetDependency.packagePlugin`, you'll have to use `TargetDependency.package` instead, and pass the type of package you want to use as an argument.\\n\\n### [Dropped deprecated APIs](https://github.com/tuist/tuist/pull/5560) {#dropped-deprecated-apishttpsgithubcomtuisttuistpull5560}\\n\\nWe removed the APIs that were marked as deprecated in Tuist 3. If you were using any of the deprecated APIs, you'll have to update your project to use the new APIs.\\n\",\"title\":\"From v3 to v4\",\"frontmatter\":{\"URL\":\"/es/references/migrations/from-v3-to-v4\",\"LLMS_URL\":\"/es/references/migrations/from-v3-to-v4.md\",\"title\":\"From v3 to v4\",\"titleTemplate\":\":title · Migrations · References · Tuist\",\"description\":\"This page documents how to migrate the Tuist CLI from the version 3 to version 4.\"}},{\"path\":\"/es/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\",\"url\":\"/es/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\",\"llmUrl\":\"/es/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `AutogeneratedWorkspaceSchemes.CodeCoverageMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `relevant`\\n - `targets(_:)`\\n - `disabled`\\n\\n```swift\\npublic enum CodeCoverageMode: Codable, Equatable, Sendable\\n```\\n\\nContains options for code coverage\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\nGather code coverage data for all targets in workspace.\\n\\n### `relevant`\\n\\n```swift\\ncase relevant\\n```\\n\\nEnable code coverage for targets that have enabled code coverage in any of schemes in workspace.\\n\\n### `targets(_:)`\\n\\n```swift\\ncase targets([TargetReference])\\n```\\n\\nGather code coverage for specified target references.\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDo not gather code coverage data.\\n\\n\",\"title\":\"`AutogeneratedWorkspaceSchemes.CodeCoverageMode`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\",\"LLMS_URL\":\"/es/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\"}},{\"path\":\"/es/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\",\"url\":\"/es/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\",\"llmUrl\":\"/es/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `AutomaticSchemesOptions.TargetSchemesGrouping`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `singleScheme`\\n - `byNameSuffix(build:test:run:)`\\n - `notGrouped`\\n\\n```swift\\npublic enum TargetSchemesGrouping: Codable, Equatable, Sendable\\n```\\n\\nAllows you to define what targets will be enabled for code coverage data gathering.\\n\\n## Cases\\n### `singleScheme`\\n\\n```swift\\ncase singleScheme\\n```\\n\\nGenerate a single scheme for each project.\\n\\n### `byNameSuffix(build:test:run:)`\\n\\n```swift\\ncase byNameSuffix(build: Set, test: Set, run: Set)\\n```\\n\\nGroup schemes according to the suffix of their names.\\n\\n### `notGrouped`\\n\\n```swift\\ncase notGrouped\\n```\\n\\nGenerate a scheme for each target.\\n\\n\",\"title\":\"`AutomaticSchemesOptions.TargetSchemesGrouping`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\",\"LLMS_URL\":\"/es/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\"}},{\"path\":\"/es/references/project-description/enums/buildorder.md\",\"url\":\"/es/references/project-description/enums/buildorder\",\"llmUrl\":\"/es/references/project-description/enums/buildorder.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/buildorder\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/buildorder.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildOrder`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `dependency`\\n - `manual`\\n\\n```swift\\npublic enum BuildOrder: Codable, Sendable\\n```\\n\\nRepresents the order in which targets are built within an Xcode scheme.\\n\\n## Cases\\n### `dependency`\\n\\n```swift\\ncase dependency\\n```\\n\\nBuilds targets automatically based on their dependency graph.\\nThis is the default and recommended setting for most projects.\\n\\n### `manual`\\n\\n```swift\\ncase manual\\n```\\n\\nBuilds targets in the order they appear in the scheme’s Build list.\\nUse this when you need fine-grained control.\\n\\n- Warning: This option is deprecated and may not be respected in future versions of Xcode.\\nUse `dependency` to ensure reliable and maintainable build behavior.\\n\\n\",\"title\":\"`BuildOrder`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/buildorder\",\"LLMS_URL\":\"/es/references/project-description/enums/buildorder.md\"}},{\"path\":\"/es/references/project-description/enums/buildrule.compilerspec.md\",\"url\":\"/es/references/project-description/enums/buildrule.compilerspec\",\"llmUrl\":\"/es/references/project-description/enums/buildrule.compilerspec.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/buildrule.compilerspec\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/buildrule.compilerspec.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildRule.CompilerSpec`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `appIntentsMetadataExtractor`\\n - `appShortcutStringsMetadataExtractor`\\n - `appleClang`\\n - `assetCatalogCompiler`\\n - `codeSign`\\n - `compileRealityComposerProject`\\n - `compileSceneKitShaders`\\n - `compileSkybox`\\n - `compileUSDZ`\\n - `compressPNG`\\n - `copyPlistFile`\\n - `copySceneKitAssets`\\n - `copyStringsFile`\\n - `copyTiffFile`\\n - `coreDataMappingModelCompiler`\\n - `coreMLModelCompiler`\\n - `dataModelCompiler`\\n - `defaultCompiler`\\n - `dTrace`\\n - `generateSpriteKitTextureAtlas`\\n - `iconutil`\\n - `instrumetsPackageBuilder`\\n - `intentDefinitionCompiler`\\n - `interfaceBuilderNIBPostprocessor`\\n - `interfaceBuilderStoryboardCompiler`\\n - `interfaceBuilderStoryboardLinker`\\n - `interfaceBuilderStoryboardPostprocessor`\\n - `interfaceBuilderXIBCompiler`\\n - `ioKitInterfaceGenerator`\\n - `lex`\\n - `lsRegisterURL`\\n - `metalCompiler`\\n - `metalLinker`\\n - `mig`\\n - `nasm`\\n - `nmedit`\\n - `openCL`\\n - `osaCompile`\\n - `pbxcp`\\n - `processSceneKitDocument`\\n - `processXCAppExtensionPoints`\\n - `rez`\\n - `stripSymbols`\\n - `swiftCompiler`\\n - `swiftABIBaselineGenerator`\\n - `swiftFrameworkABIChecker`\\n - `textBasedAPITool`\\n - `unifdef`\\n - `yacc`\\n - `customScript`\\n\\n```swift\\npublic enum CompilerSpec: Codable, Sendable\\n```\\n\\nThe type of compiler spec which is used for a selected file type.\\nAll the values are taken from build rule options hidden under a pup-up button's menu next to a label `Using` in a target's\\n`Build Rules` section.\\n\\n## Cases\\n### `appIntentsMetadataExtractor`\\n\\n```swift\\ncase appIntentsMetadataExtractor\\n```\\n\\n### `appShortcutStringsMetadataExtractor`\\n\\n```swift\\ncase appShortcutStringsMetadataExtractor\\n```\\n\\n### `appleClang`\\n\\n```swift\\ncase appleClang\\n```\\n\\n### `assetCatalogCompiler`\\n\\n```swift\\ncase assetCatalogCompiler\\n```\\n\\n### `codeSign`\\n\\n```swift\\ncase codeSign\\n```\\n\\n### `compileRealityComposerProject`\\n\\n```swift\\ncase compileRealityComposerProject\\n```\\n\\n### `compileSceneKitShaders`\\n\\n```swift\\ncase compileSceneKitShaders\\n```\\n\\n### `compileSkybox`\\n\\n```swift\\ncase compileSkybox\\n```\\n\\n### `compileUSDZ`\\n\\n```swift\\ncase compileUSDZ\\n```\\n\\n### `compressPNG`\\n\\n```swift\\ncase compressPNG\\n```\\n\\n### `copyPlistFile`\\n\\n```swift\\ncase copyPlistFile\\n```\\n\\n### `copySceneKitAssets`\\n\\n```swift\\ncase copySceneKitAssets\\n```\\n\\n### `copyStringsFile`\\n\\n```swift\\ncase copyStringsFile\\n```\\n\\n### `copyTiffFile`\\n\\n```swift\\ncase copyTiffFile\\n```\\n\\n### `coreDataMappingModelCompiler`\\n\\n```swift\\ncase coreDataMappingModelCompiler\\n```\\n\\n### `coreMLModelCompiler`\\n\\n```swift\\ncase coreMLModelCompiler\\n```\\n\\n### `dataModelCompiler`\\n\\n```swift\\ncase dataModelCompiler\\n```\\n\\n### `defaultCompiler`\\n\\n```swift\\ncase defaultCompiler\\n```\\n\\n### `dTrace`\\n\\n```swift\\ncase dTrace\\n```\\n\\n### `generateSpriteKitTextureAtlas`\\n\\n```swift\\ncase generateSpriteKitTextureAtlas\\n```\\n\\n### `iconutil`\\n\\n```swift\\ncase iconutil\\n```\\n\\n### `instrumetsPackageBuilder`\\n\\n```swift\\ncase instrumetsPackageBuilder\\n```\\n\\n### `intentDefinitionCompiler`\\n\\n```swift\\ncase intentDefinitionCompiler\\n```\\n\\n### `interfaceBuilderNIBPostprocessor`\\n\\n```swift\\ncase interfaceBuilderNIBPostprocessor\\n```\\n\\n### `interfaceBuilderStoryboardCompiler`\\n\\n```swift\\ncase interfaceBuilderStoryboardCompiler\\n```\\n\\n### `interfaceBuilderStoryboardLinker`\\n\\n```swift\\ncase interfaceBuilderStoryboardLinker\\n```\\n\\n### `interfaceBuilderStoryboardPostprocessor`\\n\\n```swift\\ncase interfaceBuilderStoryboardPostprocessor\\n```\\n\\n### `interfaceBuilderXIBCompiler`\\n\\n```swift\\ncase interfaceBuilderXIBCompiler\\n```\\n\\n### `ioKitInterfaceGenerator`\\n\\n```swift\\ncase ioKitInterfaceGenerator\\n```\\n\\n### `lex`\\n\\n```swift\\ncase lex\\n```\\n\\n### `lsRegisterURL`\\n\\n```swift\\ncase lsRegisterURL\\n```\\n\\n### `metalCompiler`\\n\\n```swift\\ncase metalCompiler\\n```\\n\\n### `metalLinker`\\n\\n```swift\\ncase metalLinker\\n```\\n\\n### `mig`\\n\\n```swift\\ncase mig\\n```\\n\\n### `nasm`\\n\\n```swift\\ncase nasm\\n```\\n\\n### `nmedit`\\n\\n```swift\\ncase nmedit\\n```\\n\\n### `openCL`\\n\\n```swift\\ncase openCL\\n```\\n\\n### `osaCompile`\\n\\n```swift\\ncase osaCompile\\n```\\n\\n### `pbxcp`\\n\\n```swift\\ncase pbxcp\\n```\\n\\n### `processSceneKitDocument`\\n\\n```swift\\ncase processSceneKitDocument\\n```\\n\\n### `processXCAppExtensionPoints`\\n\\n```swift\\ncase processXCAppExtensionPoints\\n```\\n\\n### `rez`\\n\\n```swift\\ncase rez\\n```\\n\\n### `stripSymbols`\\n\\n```swift\\ncase stripSymbols\\n```\\n\\n### `swiftCompiler`\\n\\n```swift\\ncase swiftCompiler\\n```\\n\\n### `swiftABIBaselineGenerator`\\n\\n```swift\\ncase swiftABIBaselineGenerator\\n```\\n\\n### `swiftFrameworkABIChecker`\\n\\n```swift\\ncase swiftFrameworkABIChecker\\n```\\n\\n### `textBasedAPITool`\\n\\n```swift\\ncase textBasedAPITool\\n```\\n\\n### `unifdef`\\n\\n```swift\\ncase unifdef\\n```\\n\\n### `yacc`\\n\\n```swift\\ncase yacc\\n```\\n\\n### `customScript`\\n\\n```swift\\ncase customScript\\n```\\n\\n\",\"title\":\"`BuildRule.CompilerSpec`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/buildrule.compilerspec\",\"LLMS_URL\":\"/es/references/project-description/enums/buildrule.compilerspec.md\"}},{\"path\":\"/es/references/project-description/enums/buildrule.filetype.md\",\"url\":\"/es/references/project-description/enums/buildrule.filetype\",\"llmUrl\":\"/es/references/project-description/enums/buildrule.filetype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/buildrule.filetype\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/buildrule.filetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildRule.FileType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `instrumentsPackageDefinition`\\n - `metalAIR`\\n - `machO`\\n - `machOObject`\\n - `siriKitIntent`\\n - `coreMLMachineLearning`\\n - `rcProjectDocument`\\n - `skyboxDocument`\\n - `interfaceBuilderStoryboard`\\n - `interfaceBuilder`\\n - `documentationCatalog`\\n - `coreMLMachineLearningModelPackage`\\n - `assemblyAsm`\\n - `assemblyAsmAsm`\\n - `llvmAssembly`\\n - `cSource`\\n - `clipsSource`\\n - `cppSource`\\n - `dtraceSource`\\n - `dylanSource`\\n - `fortranSource`\\n - `glslSource`\\n - `iigSource`\\n - `javaSource`\\n - `lexSource`\\n - `metalShaderSource`\\n - `migSource`\\n - `nasmAssembly`\\n - `openCLSource`\\n - `pascalSource`\\n - `protobufSource`\\n - `rezSource`\\n - `swiftSource`\\n - `yaccSource`\\n - `localizationString`\\n - `localizationStringDictionary`\\n - `xcAppExtensionPoints`\\n - `xcodeSpecificationPlist`\\n - `dae`\\n - `nib`\\n - `interfaceBuilderStoryboardPackage`\\n - `classModel`\\n - `dataModel`\\n - `dataModelVersion`\\n - `mappingModel`\\n - `sourceFilesWithNamesMatching`\\n\\n```swift\\npublic enum FileType: Codable, Sendable\\n```\\n\\nFile types processed by a build rule.\\nAll the values are taken from build rule options hidden under a pup-up button's menu next to a label `Process` in a\\ntarget's `Build Rules` section.\\n\\n## Cases\\n### `instrumentsPackageDefinition`\\n\\n```swift\\ncase instrumentsPackageDefinition\\n```\\n\\n### `metalAIR`\\n\\n```swift\\ncase metalAIR\\n```\\n\\n### `machO`\\n\\n```swift\\ncase machO\\n```\\n\\n### `machOObject`\\n\\n```swift\\ncase machOObject\\n```\\n\\n### `siriKitIntent`\\n\\n```swift\\ncase siriKitIntent\\n```\\n\\n### `coreMLMachineLearning`\\n\\n```swift\\ncase coreMLMachineLearning\\n```\\n\\n### `rcProjectDocument`\\n\\n```swift\\ncase rcProjectDocument\\n```\\n\\n### `skyboxDocument`\\n\\n```swift\\ncase skyboxDocument\\n```\\n\\n### `interfaceBuilderStoryboard`\\n\\n```swift\\ncase interfaceBuilderStoryboard\\n```\\n\\n### `interfaceBuilder`\\n\\n```swift\\ncase interfaceBuilder\\n```\\n\\n### `documentationCatalog`\\n\\n```swift\\ncase documentationCatalog\\n```\\n\\n### `coreMLMachineLearningModelPackage`\\n\\n```swift\\ncase coreMLMachineLearningModelPackage\\n```\\n\\n### `assemblyAsm`\\n\\n```swift\\ncase assemblyAsm\\n```\\n\\n### `assemblyAsmAsm`\\n\\n```swift\\ncase assemblyAsmAsm\\n```\\n\\n### `llvmAssembly`\\n\\n```swift\\ncase llvmAssembly\\n```\\n\\n### `cSource`\\n\\n```swift\\ncase cSource\\n```\\n\\n### `clipsSource`\\n\\n```swift\\ncase clipsSource\\n```\\n\\n### `cppSource`\\n\\n```swift\\ncase cppSource\\n```\\n\\n### `dtraceSource`\\n\\n```swift\\ncase dtraceSource\\n```\\n\\n### `dylanSource`\\n\\n```swift\\ncase dylanSource\\n```\\n\\n### `fortranSource`\\n\\n```swift\\ncase fortranSource\\n```\\n\\n### `glslSource`\\n\\n```swift\\ncase glslSource\\n```\\n\\n### `iigSource`\\n\\n```swift\\ncase iigSource\\n```\\n\\n### `javaSource`\\n\\n```swift\\ncase javaSource\\n```\\n\\n### `lexSource`\\n\\n```swift\\ncase lexSource\\n```\\n\\n### `metalShaderSource`\\n\\n```swift\\ncase metalShaderSource\\n```\\n\\n### `migSource`\\n\\n```swift\\ncase migSource\\n```\\n\\n### `nasmAssembly`\\n\\n```swift\\ncase nasmAssembly\\n```\\n\\n### `openCLSource`\\n\\n```swift\\ncase openCLSource\\n```\\n\\n### `pascalSource`\\n\\n```swift\\ncase pascalSource\\n```\\n\\n### `protobufSource`\\n\\n```swift\\ncase protobufSource\\n```\\n\\n### `rezSource`\\n\\n```swift\\ncase rezSource\\n```\\n\\n### `swiftSource`\\n\\n```swift\\ncase swiftSource\\n```\\n\\n### `yaccSource`\\n\\n```swift\\ncase yaccSource\\n```\\n\\n### `localizationString`\\n\\n```swift\\ncase localizationString\\n```\\n\\n### `localizationStringDictionary`\\n\\n```swift\\ncase localizationStringDictionary\\n```\\n\\n### `xcAppExtensionPoints`\\n\\n```swift\\ncase xcAppExtensionPoints\\n```\\n\\n### `xcodeSpecificationPlist`\\n\\n```swift\\ncase xcodeSpecificationPlist\\n```\\n\\n### `dae`\\n\\n```swift\\ncase dae\\n```\\n\\n### `nib`\\n\\n```swift\\ncase nib\\n```\\n\\n### `interfaceBuilderStoryboardPackage`\\n\\n```swift\\ncase interfaceBuilderStoryboardPackage\\n```\\n\\n### `classModel`\\n\\n```swift\\ncase classModel\\n```\\n\\n### `dataModel`\\n\\n```swift\\ncase dataModel\\n```\\n\\n### `dataModelVersion`\\n\\n```swift\\ncase dataModelVersion\\n```\\n\\n### `mappingModel`\\n\\n```swift\\ncase mappingModel\\n```\\n\\n### `sourceFilesWithNamesMatching`\\n\\n```swift\\ncase sourceFilesWithNamesMatching\\n```\\n\\n\",\"title\":\"`BuildRule.FileType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/buildrule.filetype\",\"LLMS_URL\":\"/es/references/project-description/enums/buildrule.filetype.md\"}},{\"path\":\"/es/references/project-description/enums/cloud.option.md\",\"url\":\"/es/references/project-description/enums/cloud.option\",\"llmUrl\":\"/es/references/project-description/enums/cloud.option.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/cloud.option\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/cloud.option.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Cloud.Option`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `optional`\\n\\n```swift\\npublic enum Option: String, Codable, Equatable, Sendable\\n```\\n\\nOptions for cloud configuration.\\n\\n## Cases\\n### `optional`\\n\\n```swift\\ncase optional\\n```\\n\\nMarks whether the Tuist server authentication is optional.\\nIf present, the interaction with the Tuist server will be skipped (instead of failing) if a user is not authenticated.\\n\\n\",\"title\":\"`Cloud.Option`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/cloud.option\",\"LLMS_URL\":\"/es/references/project-description/enums/cloud.option.md\"}},{\"path\":\"/es/references/project-description/enums/compatiblexcodeversions.md\",\"url\":\"/es/references/project-description/enums/compatiblexcodeversions\",\"llmUrl\":\"/es/references/project-description/enums/compatiblexcodeversions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/compatiblexcodeversions\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/compatiblexcodeversions.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CompatibleXcodeVersions`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `exact(_:)`\\n - `upToNextMajor(_:)`\\n - `upToNextMinor(_:)`\\n - `list(_:)`\\n- [Methods](#methods)\\n - `init(arrayLiteral:)`\\n - `init(arrayLiteral:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic enum CompatibleXcodeVersions: ExpressibleByArrayLiteral, ExpressibleByStringInterpolation, Codable, Equatable, Sendable\\n```\\n\\nOptions of compatibles Xcode versions.\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\nThe project supports all Xcode versions.\\n\\n### `exact(_:)`\\n\\n```swift\\ncase exact(Version)\\n```\\n\\nThe project supports only a specific Xcode version.\\n\\n### `upToNextMajor(_:)`\\n\\n```swift\\ncase upToNextMajor(Version)\\n```\\n\\nThe project supports all Xcode versions from the specified version up to but not including the next major version.\\n\\n### `upToNextMinor(_:)`\\n\\n```swift\\ncase upToNextMinor(Version)\\n```\\n\\nThe project supports all Xcode versions from the specified version up to but not including the next minor version.\\n\\n### `list(_:)`\\n\\n```swift\\ncase list([CompatibleXcodeVersions])\\n```\\n\\nList of versions that are supported by the project.\\n\\n## Methods\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: [CompatibleXcodeVersions])\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: CompatibleXcodeVersions...)\\n```\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`CompatibleXcodeVersions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/compatiblexcodeversions\",\"LLMS_URL\":\"/es/references/project-description/enums/compatiblexcodeversions.md\"}},{\"path\":\"/es/references/project-description/enums/configuration.variant.md\",\"url\":\"/es/references/project-description/enums/configuration.variant\",\"llmUrl\":\"/es/references/project-description/enums/configuration.variant.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/configuration.variant\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/configuration.variant.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Configuration.Variant`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `debug`\\n - `release`\\n\\n```swift\\npublic enum Variant: String, Codable, Sendable\\n```\\n\\n## Cases\\n### `debug`\\n\\n```swift\\ncase debug\\n```\\n\\n### `release`\\n\\n```swift\\ncase release\\n```\\n\\n\",\"title\":\"`Configuration.Variant`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/configuration.variant\",\"LLMS_URL\":\"/es/references/project-description/enums/configuration.variant.md\"}},{\"path\":\"/es/references/project-description/enums/copyfileelement.md\",\"url\":\"/es/references/project-description/enums/copyfileelement\",\"llmUrl\":\"/es/references/project-description/enums/copyfileelement.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/copyfileelement\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/copyfileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CopyFileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:condition:codeSignOnCopy:)`\\n - `folderReference(path:condition:codeSignOnCopy:)`\\n\\n```swift\\npublic enum CopyFileElement: Codable, Equatable, Sendable\\n```\\n\\nA file element from a glob pattern or a folder reference which is conditionally applied to specific platforms with an optional\\n\\\"Code Sign On Copy\\\" flag.\\n\\n## Cases\\n### `glob(pattern:condition:codeSignOnCopy:)`\\n\\n```swift\\ncase glob(pattern: Path, condition: PlatformCondition? = nil, codeSignOnCopy: Bool = false)\\n```\\n\\nA file path (or glob pattern) to include with an optional PlatformCondition to control which platforms it applies.\\n\\\"Code Sign on Copy\\\" can be optionally enabled for the glob.\\n\\n### `folderReference(path:condition:codeSignOnCopy:)`\\n\\n```swift\\ncase folderReference(path: Path, condition: PlatformCondition? = nil, codeSignOnCopy: Bool = false)\\n```\\n\\nA directory path to include as a folder reference with an optional PlatformCondition to control which platforms it applies\\nto. \\\"Code Sign on Copy\\\" can be optionally enabled for the folder reference.\\n\\n\",\"title\":\"`CopyFileElement`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/copyfileelement\",\"LLMS_URL\":\"/es/references/project-description/enums/copyfileelement.md\"}},{\"path\":\"/es/references/project-description/enums/copyfilesaction.destination.md\",\"url\":\"/es/references/project-description/enums/copyfilesaction.destination\",\"llmUrl\":\"/es/references/project-description/enums/copyfilesaction.destination.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/copyfilesaction.destination\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/copyfilesaction.destination.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CopyFilesAction.Destination`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `absolutePath`\\n - `productsDirectory`\\n - `wrapper`\\n - `executables`\\n - `resources`\\n - `javaResources`\\n - `frameworks`\\n - `sharedFrameworks`\\n - `sharedSupport`\\n - `plugins`\\n - `other`\\n\\n```swift\\npublic enum Destination: String, Codable, Equatable, Sendable\\n```\\n\\nDestination path.\\n\\n## Cases\\n### `absolutePath`\\n\\n```swift\\ncase absolutePath\\n```\\n\\n### `productsDirectory`\\n\\n```swift\\ncase productsDirectory\\n```\\n\\n### `wrapper`\\n\\n```swift\\ncase wrapper\\n```\\n\\n### `executables`\\n\\n```swift\\ncase executables\\n```\\n\\n### `resources`\\n\\n```swift\\ncase resources\\n```\\n\\n### `javaResources`\\n\\n```swift\\ncase javaResources\\n```\\n\\n### `frameworks`\\n\\n```swift\\ncase frameworks\\n```\\n\\n### `sharedFrameworks`\\n\\n```swift\\ncase sharedFrameworks\\n```\\n\\n### `sharedSupport`\\n\\n```swift\\ncase sharedSupport\\n```\\n\\n### `plugins`\\n\\n```swift\\ncase plugins\\n```\\n\\n### `other`\\n\\n```swift\\ncase other\\n```\\n\\n\",\"title\":\"`CopyFilesAction.Destination`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/copyfilesaction.destination\",\"LLMS_URL\":\"/es/references/project-description/enums/copyfilesaction.destination.md\"}},{\"path\":\"/es/references/project-description/enums/debuginformationformat.md\",\"url\":\"/es/references/project-description/enums/debuginformationformat\",\"llmUrl\":\"/es/references/project-description/enums/debuginformationformat.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/debuginformationformat\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/debuginformationformat.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `DebugInformationFormat`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `dwarf`\\n - `dwarfWithDsym`\\n\\n```swift\\npublic enum DebugInformationFormat: String\\n```\\n\\n## Cases\\n### `dwarf`\\n\\n```swift\\ncase dwarf\\n```\\n\\n### `dwarfWithDsym`\\n\\n```swift\\ncase dwarfWithDsym = \\\"dwarf-with-dsym\\\"\\n```\\n\\n\",\"title\":\"`DebugInformationFormat`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/debuginformationformat\",\"LLMS_URL\":\"/es/references/project-description/enums/debuginformationformat.md\"}},{\"path\":\"/es/references/project-description/enums/defaultsettings.md\",\"url\":\"/es/references/project-description/enums/defaultsettings\",\"llmUrl\":\"/es/references/project-description/enums/defaultsettings.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/defaultsettings\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/defaultsettings.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `DefaultSettings`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `recommended(excluding:)`\\n - `essential(excluding:)`\\n - `none`\\n\\n```swift\\npublic enum DefaultSettings: Codable, Equatable, Sendable\\n```\\n\\nSpecifies the default set of settings applied to all the projects and targets.\\nThe default settings can be overridden via `Settings base: SettingsDictionary`\\nand `Configuration settings: SettingsDictionary`.\\n\\n## Cases\\n### `recommended(excluding:)`\\n\\n```swift\\ncase recommended(excluding: Set = [])\\n```\\n\\nRecommended settings including warning flags to help you catch some of the bugs at the early stage of development. If you\\nneed to override certain settings in a `Configuration` it's possible to add those keys to `excluding`.\\n\\n### `essential(excluding:)`\\n\\n```swift\\ncase essential(excluding: Set = [])\\n```\\n\\nA minimal set of settings to make the project compile without any additional settings for example `PRODUCT_NAME` or\\n`TARGETED_DEVICE_FAMILY`. If you need to override certain settings in a Configuration it's possible to add those keys to\\n`excluding`.\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\nTuist won't generate any build settings for the target or project.\\n\\n\",\"title\":\"`DefaultSettings`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/defaultsettings\",\"LLMS_URL\":\"/es/references/project-description/enums/defaultsettings.md\"}},{\"path\":\"/es/references/project-description/enums/destination.md\",\"url\":\"/es/references/project-description/enums/destination\",\"llmUrl\":\"/es/references/project-description/enums/destination.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/destination\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/destination.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Destination`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iPhone`\\n - `iPad`\\n - `mac`\\n - `macWithiPadDesign`\\n - `macCatalyst`\\n - `appleWatch`\\n - `appleTv`\\n - `appleVision`\\n - `appleVisionWithiPadDesign`\\n- [Properties](#properties)\\n - `platform`\\n\\n```swift\\npublic enum Destination: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported deployment destination representation.\\n\\n## Cases\\n### `iPhone`\\n\\n```swift\\ncase iPhone\\n```\\n\\niPhone support\\n\\n### `iPad`\\n\\n```swift\\ncase iPad\\n```\\n\\niPad support\\n\\n### `mac`\\n\\n```swift\\ncase mac\\n```\\n\\nNative macOS support\\n\\n### `macWithiPadDesign`\\n\\n```swift\\ncase macWithiPadDesign\\n```\\n\\nmacOS support using iPad design\\n\\n### `macCatalyst`\\n\\n```swift\\ncase macCatalyst\\n```\\n\\nmac Catalyst support\\n\\n### `appleWatch`\\n\\n```swift\\ncase appleWatch\\n```\\n\\nwatchOS support\\n\\n### `appleTv`\\n\\n```swift\\ncase appleTv\\n```\\n\\ntvOS support\\n\\n### `appleVision`\\n\\n```swift\\ncase appleVision\\n```\\n\\nvisionOS support\\n\\n### `appleVisionWithiPadDesign`\\n\\n```swift\\ncase appleVisionWithiPadDesign\\n```\\n\\nvisionOS support using iPad design\\n\\n## Properties\\n### `platform`\\n\\n```swift\\npublic var platform: Platform\\n```\\n\\nSDK Platform of a destination\\n\\n\",\"title\":\"`Destination`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/destination\",\"LLMS_URL\":\"/es/references/project-description/enums/destination.md\"}},{\"path\":\"/es/references/project-description/enums/entitlements.md\",\"url\":\"/es/references/project-description/enums/entitlements\",\"llmUrl\":\"/es/references/project-description/enums/entitlements.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/entitlements\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/entitlements.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Entitlements`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(path:)`\\n - `dictionary(_:)`\\n - `variable(_:)`\\n- [Properties](#properties)\\n - `path`\\n\\n```swift\\npublic enum Entitlements: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `file(path:)`\\n\\n```swift\\ncase file(path: Path)\\n```\\n\\nThe path to an existing .entitlements file.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Plist.Value])\\n```\\n\\nA dictionary with the entitlements content. Tuist generates the .entitlements file at the generation time.\\n\\n### `variable(_:)`\\n\\n```swift\\ncase variable(String)\\n```\\n\\nA build setting variable that points to an .entitlements file.\\n\\nThis should be used when you have an xcconfig file or build setting that defines a variable pointing to the entitlements\\nfile path.\\nThis is particularly useful when the project has different entitlements files per configuration (e.g., debug, release,\\nstaging).\\n\\nExample:\\n\\n```\\n.target(\\n ...\\n entitlements: .variable(\\\"$(ENTITLEMENT_FILE_VARIABLE)\\\")\\n)\\n```\\n\\nOr, as literal string:\\n\\n```\\n.target(\\n ...\\n entitlements: \\\"$(ENTITLEMENT_FILE_VARIABLE)\\\"\\n)\\n```\\n\\n> Note: For per-configuration entitlements, you can also:\\n> 1. Keep `Target.entitlements` as `nil`\\n> 2. Set the `CODE_SIGN_ENTITLEMENTS` build setting using `Target.settings` for each configuration\\n> 3. If you want the entitlement files to be included in the project navigator, add them using `Project.additionalFiles`\\n>\\n> Example:\\n> ```swift\\n> let target = Target(\\n> name: \\\"MyApp\\\",\\n> // ... other properties\\n> entitlements: nil, // Important: keep this as nil\\n> settings: .settings(\\n> configurations: [\\n> .debug(name: \\\"Debug\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Debug.entitlements\\\"]),\\n> .release(name: \\\"Release\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Release.entitlements\\\"])\\n> ]\\n> )\\n> )\\n>\\n> let project = Project(\\n> name: \\\"MyProject\\\",\\n> targets: [target],\\n> additionalFiles: [\\n> \\\"Debug.entitlements\\\",\\n> \\\"Release.entitlements\\\"\\n> ]\\n> )\\n> ```\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic var path: Path?\\n```\\n\\n\",\"title\":\"`Entitlements`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/entitlements\",\"LLMS_URL\":\"/es/references/project-description/enums/entitlements.md\"}},{\"path\":\"/es/references/project-description/enums/entitlements.codingerror.md\",\"url\":\"/es/references/project-description/enums/entitlements.codingerror\",\"llmUrl\":\"/es/references/project-description/enums/entitlements.codingerror.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/entitlements.codingerror\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/entitlements.codingerror.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Entitlements.CodingError`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `invalidType(_:)`\\n\\n```swift\\npublic enum CodingError: Error\\n```\\n\\n## Cases\\n### `invalidType(_:)`\\n\\n```swift\\ncase invalidType(String)\\n```\\n\\n\",\"title\":\"`Entitlements.CodingError`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/entitlements.codingerror\",\"LLMS_URL\":\"/es/references/project-description/enums/entitlements.codingerror.md\"}},{\"path\":\"/es/references/project-description/enums/environment.md\",\"url\":\"/es/references/project-description/enums/environment\",\"llmUrl\":\"/es/references/project-description/enums/environment.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/environment\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/environment.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Environment`\\n\\n```swift\\npublic enum Environment\\n```\\n\\nA convenience structure to read environment variables.\\n\\n\",\"title\":\"`Environment`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/environment\",\"LLMS_URL\":\"/es/references/project-description/enums/environment.md\"}},{\"path\":\"/es/references/project-description/enums/environment.value.md\",\"url\":\"/es/references/project-description/enums/environment.value\",\"llmUrl\":\"/es/references/project-description/enums/environment.value.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/environment.value\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/environment.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Environment.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n\\n```swift\\npublic enum Value: Equatable\\n```\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\n\",\"title\":\"`Environment.Value`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/environment.value\",\"LLMS_URL\":\"/es/references/project-description/enums/environment.value.md\"}},{\"path\":\"/es/references/project-description/enums/filecodegen.md\",\"url\":\"/es/references/project-description/enums/filecodegen\",\"llmUrl\":\"/es/references/project-description/enums/filecodegen.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/filecodegen\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/filecodegen.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileCodeGen`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `public`\\n - `private`\\n - `project`\\n - `disabled`\\n\\n```swift\\npublic enum FileCodeGen: String, Codable, Equatable, Sendable\\n```\\n\\nOptions for source file code generation.\\n\\n## Cases\\n### `public`\\n\\n```swift\\ncase `public`\\n```\\n\\nPublic codegen\\n\\n### `private`\\n\\n```swift\\ncase `private`\\n```\\n\\nPrivate codegen\\n\\n### `project`\\n\\n```swift\\ncase project\\n```\\n\\nProject codegen\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDisabled codegen\\n\\n\",\"title\":\"`FileCodeGen`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/filecodegen\",\"LLMS_URL\":\"/es/references/project-description/enums/filecodegen.md\"}},{\"path\":\"/es/references/project-description/enums/fileelement.md\",\"url\":\"/es/references/project-description/enums/fileelement\",\"llmUrl\":\"/es/references/project-description/enums/fileelement.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/fileelement\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/fileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:)`\\n - `folderReference(path:)`\\n\\n```swift\\npublic enum FileElement: Codable, Equatable, Sendable\\n```\\n\\nA file element from a glob pattern or a folder reference.\\n\\n- glob: a glob pattern for files to include\\n- folderReference: a single path to a directory\\n\\nNote: For convenience, an element can be represented as a string literal\\n `\\\"some/pattern/**\\\"` is the equivalent of `FileElement.glob(pattern: \\\"some/pattern/**\\\")`\\n\\n## Cases\\n### `glob(pattern:)`\\n\\n```swift\\ncase glob(pattern: Path)\\n```\\n\\nA file path (or glob pattern) to include. For convenience, a string literal can be used as an alternate way to specify\\nthis option.\\n\\n### `folderReference(path:)`\\n\\n```swift\\ncase folderReference(path: Path)\\n```\\n\\nA directory path to include as a folder reference.\\n\\n\",\"title\":\"`FileElement`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/fileelement\",\"LLMS_URL\":\"/es/references/project-description/enums/fileelement.md\"}},{\"path\":\"/es/references/project-description/enums/fileheadertemplate.md\",\"url\":\"/es/references/project-description/enums/fileheadertemplate\",\"llmUrl\":\"/es/references/project-description/enums/fileheadertemplate.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/fileheadertemplate\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/fileheadertemplate.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileHeaderTemplate`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(_:)`\\n - `string(_:)`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic enum FileHeaderTemplate: Codable, Equatable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\nA header template from a file or a string.\\n\\nLets you define custom file header template for built-in Xcode templates, e.g. when you create new Swift file you can\\nautomatically have your custom define file header.\\n\\nTuist automatically performs several template transformations for you\\n - if your template starts with comment slashes (`//`) we remove them as they are added automatically by Xcode\\n - if your template doesn't start with comment and whitespace or newline, we add a space - otherwise your header would be\\nglued to implicit comment slashes which you probably do not want\\n - if your template has trailing newline, we remove it as it is implicitly added by Xcode\\n\\n## Cases\\n### `file(_:)`\\n\\n```swift\\ncase file(Path)\\n```\\n\\nLoad template stored in file\\n\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nUse inline string as template\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\nCreates file template as `.string(value)`\\n\\n\",\"title\":\"`FileHeaderTemplate`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/fileheadertemplate\",\"LLMS_URL\":\"/es/references/project-description/enums/fileheadertemplate.md\"}},{\"path\":\"/es/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\",\"url\":\"/es/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\",\"llmUrl\":\"/es/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `GenerationOptions.AutogeneratedWorkspaceSchemes`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n - `enabled(codeCoverageMode:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:)`\\n\\n```swift\\npublic enum AutogeneratedWorkspaceSchemes: Codable, Equatable, Sendable\\n```\\n\\nContains options for autogenerated workspace schemes\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nTuist will not automatically generate any schemes\\n\\n### `enabled(codeCoverageMode:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:)`\\n\\n```swift\\ncase enabled(\\n codeCoverageMode: CodeCoverageMode = .disabled,\\n testingOptions: TestingOptions = [],\\n testLanguage: SchemeLanguage? = nil,\\n testRegion: String? = nil,\\n testScreenCaptureFormat: ScreenCaptureFormat? = nil\\n)\\n```\\n\\nTuist will generate schemes with the associated testing options\\n\\n\",\"title\":\"`GenerationOptions.AutogeneratedWorkspaceSchemes`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\",\"LLMS_URL\":\"/es/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\"}},{\"path\":\"/es/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\",\"url\":\"/es/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\",\"llmUrl\":\"/es/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `GenerationOptions.StaticSideEffectsWarningTargets`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `none`\\n - `excluding(_:)`\\n\\n```swift\\npublic enum StaticSideEffectsWarningTargets: Codable, Equatable, Sendable\\n```\\n\\nThis enum represents the targets against which Tuist will run the check for potential side effects\\ncaused by static transitive dependencies.\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\n### `excluding(_:)`\\n\\n```swift\\ncase excluding([String])\\n```\\n\\n\",\"title\":\"`GenerationOptions.StaticSideEffectsWarningTargets`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\",\"LLMS_URL\":\"/es/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\"}},{\"path\":\"/es/references/project-description/enums/headers.automaticexclusionrule.md\",\"url\":\"/es/references/project-description/enums/headers.automaticexclusionrule\",\"llmUrl\":\"/es/references/project-description/enums/headers.automaticexclusionrule.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/headers.automaticexclusionrule\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/headers.automaticexclusionrule.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Headers.AutomaticExclusionRule`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `projectExcludesPrivateAndPublic`\\n - `publicExcludesPrivateAndProject`\\n\\n```swift\\npublic enum AutomaticExclusionRule: Int, Codable, Sendable\\n```\\n\\nDetermine how to resolve cases, when the same files found in different header scopes\\n\\n## Cases\\n### `projectExcludesPrivateAndPublic`\\n\\n```swift\\ncase projectExcludesPrivateAndPublic\\n```\\n\\nProject headers = all found - private headers - public headers\\n\\nOrder of tuist search:\\n 1) Public headers\\n 2) Private headers (with auto excludes all found public headers)\\n 3) Project headers (with excluding public/private headers)\\n\\n Also tuist doesn't ignore all excludes,\\n which had been set by `excluding` param\\n\\n### `publicExcludesPrivateAndProject`\\n\\n```swift\\ncase publicExcludesPrivateAndProject\\n```\\n\\nPublic headers = all found - private headers - project headers\\n\\nOrder of tuist search (reverse search):\\n 1) Project headers\\n 2) Private headers (with auto excludes all found project headers)\\n 3) Public headers (with excluding project/private headers)\\n\\n Also tuist doesn't ignore all excludes,\\n which had been set by `excluding` param\\n\\n\",\"title\":\"`Headers.AutomaticExclusionRule`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/headers.automaticexclusionrule\",\"LLMS_URL\":\"/es/references/project-description/enums/headers.automaticexclusionrule.md\"}},{\"path\":\"/es/references/project-description/enums/infoplist.md\",\"url\":\"/es/references/project-description/enums/infoplist\",\"llmUrl\":\"/es/references/project-description/enums/infoplist.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/infoplist\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/infoplist.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `InfoPlist`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(path:)`\\n - `dictionary(_:)`\\n - `extendingDefault(with:)`\\n - `variable(_:)`\\n- [Properties](#properties)\\n - `default`\\n - `path`\\n\\n```swift\\npublic enum InfoPlist: Codable, Equatable, Sendable\\n```\\n\\nA info plist from a file, a custom dictionary or a extended defaults.\\n\\n## Cases\\n### `file(path:)`\\n\\n```swift\\ncase file(path: Path)\\n```\\n\\nThe path to an existing Info.plist file.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Plist.Value])\\n```\\n\\nA dictionary with the Info.plist content. Tuist generates the Info.plist file at the generation time.\\n\\n### `extendingDefault(with:)`\\n\\n```swift\\ncase extendingDefault(with: [String: Plist.Value])\\n```\\n\\nGenerate an Info.plist file with the default content for the target product extended with the values in the given\\ndictionary.\\n\\n### `variable(_:)`\\n\\n```swift\\ncase variable(String)\\n```\\n\\nA user defined xcconfig variable map to Info.plist file.\\n\\nThis should be used when the project has different Info.plist files per config (aka: debug, release, staging, etc.).\\n\\nExample:\\n\\n```\\n.target(\\n ...\\n infoPlist: .variable(\\\"$(INFO_PLIST_FILE_VARIABLE)\\\")\\n)\\n```\\n\\nOr, as literal string:\\n\\n```\\n.target(\\n ...\\n infoPlist: $(INFO_PLIST_FILE_VARIABLE)\\n)\\n```\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: InfoPlist\\n```\\n\\nGenerate the default content for the target the InfoPlist belongs to.\\n\\n### `path`\\n\\n```swift\\npublic var path: Path?\\n```\\n\\n\",\"title\":\"`InfoPlist`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/infoplist\",\"LLMS_URL\":\"/es/references/project-description/enums/infoplist.md\"}},{\"path\":\"/es/references/project-description/enums/infoplist.codingerror.md\",\"url\":\"/es/references/project-description/enums/infoplist.codingerror\",\"llmUrl\":\"/es/references/project-description/enums/infoplist.codingerror.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/infoplist.codingerror\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/infoplist.codingerror.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `InfoPlist.CodingError`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `invalidType(_:)`\\n\\n```swift\\npublic enum CodingError: Error\\n```\\n\\n## Cases\\n### `invalidType(_:)`\\n\\n```swift\\ncase invalidType(String)\\n```\\n\\n\",\"title\":\"`InfoPlist.CodingError`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/infoplist.codingerror\",\"LLMS_URL\":\"/es/references/project-description/enums/infoplist.codingerror.md\"}},{\"path\":\"/es/references/project-description/enums/launchstyle.md\",\"url\":\"/es/references/project-description/enums/launchstyle\",\"llmUrl\":\"/es/references/project-description/enums/launchstyle.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/launchstyle\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/launchstyle.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `LaunchStyle`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `automatically`\\n - `waitForExecutableToBeLaunched`\\n\\n```swift\\npublic enum LaunchStyle: Codable, Sendable\\n```\\n\\n## Cases\\n### `automatically`\\n\\n```swift\\ncase automatically\\n```\\n\\n### `waitForExecutableToBeLaunched`\\n\\n```swift\\ncase waitForExecutableToBeLaunched\\n```\\n\\n\",\"title\":\"`LaunchStyle`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/launchstyle\",\"LLMS_URL\":\"/es/references/project-description/enums/launchstyle.md\"}},{\"path\":\"/es/references/project-description/enums/linkingstatus.md\",\"url\":\"/es/references/project-description/enums/linkingstatus\",\"llmUrl\":\"/es/references/project-description/enums/linkingstatus.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/linkingstatus\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/linkingstatus.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `LinkingStatus`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `required`\\n - `optional`\\n - `none`\\n\\n```swift\\npublic enum LinkingStatus: String, Codable, Hashable, Sendable\\n```\\n\\nDependency status used by dependencies\\n\\n## Cases\\n### `required`\\n\\n```swift\\ncase required\\n```\\n\\nRequired dependency\\n\\n### `optional`\\n\\n```swift\\ncase optional\\n```\\n\\nOptional dependency (weakly linked)\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\nSkip linking\\n\\n\",\"title\":\"`LinkingStatus`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/linkingstatus\",\"LLMS_URL\":\"/es/references/project-description/enums/linkingstatus.md\"}},{\"path\":\"/es/references/project-description/enums/mergedbinarytype.md\",\"url\":\"/es/references/project-description/enums/mergedbinarytype\",\"llmUrl\":\"/es/references/project-description/enums/mergedbinarytype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/mergedbinarytype\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/mergedbinarytype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `MergedBinaryType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n - `automatic`\\n - `manual(mergeableDependencies:)`\\n\\n```swift\\npublic enum MergedBinaryType: Equatable, Codable, Sendable\\n```\\n\\nRepresents the different options to configure a target for mergeable libraries\\n\\nhttps://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nTarget is never going to merge available dependencies\\n\\n### `automatic`\\n\\n```swift\\ncase automatic\\n```\\n\\nTarget is going to merge direct target dependencies (just the ones declared as part of it's project). With this build\\nsetting,\\nXcode treats mergeable dependencies like normal dynamic libraries in debug builds,\\nbut performs steps in release mode to automatically handle merging for **direct dependencies**\\n\\nA direct dependency is a library that meets two criteria:\\n- The library is listed in your target’s Link Binary with Libraries build phase.\\n- The library is the product of another target in your project.\\n\\n### `manual(mergeableDependencies:)`\\n\\n```swift\\ncase manual(mergeableDependencies: Set)\\n```\\n\\nTarget is going to merge direct and specified dependencies that are not part of the project. The set of dependencies\\nis going to reflect the list of precompiled dynamic dependencies you want to merge as part of the target. These binaries\\nmust be compiled with `MAKE_MERGEABLE` flag set to true\\n\\nIn some cases, you may want to manually configure merging between your app or framework target and dependent libraries.\\nFor example, you might not want to automatically merge dependencies that you share between an app and an app extension\\nif you’re concerned about the app extension’s binary size. To set up manual merging, configure your app or framework\\ntarget,\\nthen configure your dependent libraries.\\n\\nIn your app or framework target, add the flag `mergedBinaryType` and set it to manual. After you add that setting to your\\ntarget:\\n- In release builds, Xcode merges the products of any of its direct dependencies which have\\nMAKE_MERGEABLE enabled using the linker flags -merge_framework, -merge-l and so on.\\n- In debug builds, Xcode links any of your target’s direct dependencies which have MERGEABLE_LIBRARY\\n enabled, but not MAKE_MERGEABLE with the linker flags -reexport_framework, -reexport-l, and so on.\\n- Xcode uses normal linking for targets that don’t have MERGEABLE_LIBRARY enabled. This is the same linking\\nthat Xcode uses for static libraries, or dynamic libraries that aren’t mergeable.\\n\\n\",\"title\":\"`MergedBinaryType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/mergedbinarytype\",\"LLMS_URL\":\"/es/references/project-description/enums/mergedbinarytype.md\"}},{\"path\":\"/es/references/project-description/enums/package.md\",\"url\":\"/es/references/project-description/enums/package\",\"llmUrl\":\"/es/references/project-description/enums/package.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/package\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/package.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Package`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `remote(url:requirement:)`\\n - `registry(identifier:requirement:)`\\n - `local(path:)`\\n\\n```swift\\npublic enum Package: Equatable, Codable, Sendable\\n```\\n\\nA dependency of a Swift package.\\n\\nA package dependency can be either:\\n - remote: A Git URL to the source of the package,\\n and a requirement for the version of the package.\\n - local: A relative path to the package.\\n\\n## Cases\\n### `remote(url:requirement:)`\\n\\n```swift\\ncase remote(url: String, requirement: Requirement)\\n```\\n\\n### `registry(identifier:requirement:)`\\n\\n```swift\\ncase registry(identifier: String, requirement: Requirement)\\n```\\n\\n### `local(path:)`\\n\\n```swift\\ncase local(path: Path)\\n```\\n\\n\",\"title\":\"`Package`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/package\",\"LLMS_URL\":\"/es/references/project-description/enums/package.md\"}},{\"path\":\"/es/references/project-description/enums/package.requirement.md\",\"url\":\"/es/references/project-description/enums/package.requirement\",\"llmUrl\":\"/es/references/project-description/enums/package.requirement.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/package.requirement\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/package.requirement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Package.Requirement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `upToNextMajor(from:)`\\n - `upToNextMinor(from:)`\\n - `range(from:to:)`\\n - `exact(_:)`\\n - `branch(_:)`\\n - `revision(_:)`\\n\\n```swift\\npublic enum Requirement: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `upToNextMajor(from:)`\\n\\n```swift\\ncase upToNextMajor(from: Version)\\n```\\n\\n### `upToNextMinor(from:)`\\n\\n```swift\\ncase upToNextMinor(from: Version)\\n```\\n\\n### `range(from:to:)`\\n\\n```swift\\ncase range(from: Version, to: Version)\\n```\\n\\n### `exact(_:)`\\n\\n```swift\\ncase exact(Version)\\n```\\n\\n### `branch(_:)`\\n\\n```swift\\ncase branch(String)\\n```\\n\\n### `revision(_:)`\\n\\n```swift\\ncase revision(String)\\n```\\n\\n\",\"title\":\"`Package.Requirement`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/package.requirement\",\"LLMS_URL\":\"/es/references/project-description/enums/package.requirement.md\"}},{\"path\":\"/es/references/project-description/enums/packageplatform.md\",\"url\":\"/es/references/project-description/enums/packageplatform\",\"llmUrl\":\"/es/references/project-description/enums/packageplatform.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/packageplatform\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/packageplatform.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PackagePlatform`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iOS`\\n - `macOS`\\n - `macCatalyst`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n\\n```swift\\npublic enum PackagePlatform: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported Swift Package Manager platform representation.\\n\\n## Cases\\n### `iOS`\\n\\n```swift\\ncase iOS = \\\"ios\\\"\\n```\\n\\nThe iOS platform\\n\\n### `macOS`\\n\\n```swift\\ncase macOS = \\\"macos\\\"\\n```\\n\\nThe macOS platform\\n\\n### `macCatalyst`\\n\\n```swift\\ncase macCatalyst = \\\"maccatalyst\\\"\\n```\\n\\nThe Mac Catalyst platform\\n\\n### `watchOS`\\n\\n```swift\\ncase watchOS = \\\"watchos\\\"\\n```\\n\\nThe watchOS platform\\n\\n### `tvOS`\\n\\n```swift\\ncase tvOS = \\\"tvos\\\"\\n```\\n\\nThe tvOS platform\\n\\n### `visionOS`\\n\\n```swift\\ncase visionOS = \\\"visionos\\\"\\n```\\n\\nThe visionOS platform\\n\\n\",\"title\":\"`PackagePlatform`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/packageplatform\",\"LLMS_URL\":\"/es/references/project-description/enums/packageplatform.md\"}},{\"path\":\"/es/references/project-description/enums/parser.option.md\",\"url\":\"/es/references/project-description/enums/parser.option\",\"llmUrl\":\"/es/references/project-description/enums/parser.option.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/parser.option\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/parser.option.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Parser.Option`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `double(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic enum Option: Equatable, Codable, Sendable\\n```\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `double(_:)`\\n\\n```swift\\ncase double(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Option])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Option])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Parser.Option`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/parser.option\",\"LLMS_URL\":\"/es/references/project-description/enums/parser.option.md\"}},{\"path\":\"/es/references/project-description/enums/path.pathtype.md\",\"url\":\"/es/references/project-description/enums/path.pathtype\",\"llmUrl\":\"/es/references/project-description/enums/path.pathtype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/path.pathtype\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/path.pathtype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Path.PathType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `relativeToCurrentFile`\\n - `relativeToManifest`\\n - `relativeToRoot`\\n\\n```swift\\npublic enum PathType: String, Codable, Sendable\\n```\\n\\n## Cases\\n### `relativeToCurrentFile`\\n\\n```swift\\ncase relativeToCurrentFile\\n```\\n\\n### `relativeToManifest`\\n\\n```swift\\ncase relativeToManifest\\n```\\n\\n### `relativeToRoot`\\n\\n```swift\\ncase relativeToRoot\\n```\\n\\n\",\"title\":\"`Path.PathType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/path.pathtype\",\"LLMS_URL\":\"/es/references/project-description/enums/path.pathtype.md\"}},{\"path\":\"/es/references/project-description/enums/platform.md\",\"url\":\"/es/references/project-description/enums/platform\",\"llmUrl\":\"/es/references/project-description/enums/platform.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/platform\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/platform.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Platform`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iOS`\\n - `macOS`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n\\n```swift\\npublic enum Platform: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported platform representation.\\n\\n## Cases\\n### `iOS`\\n\\n```swift\\ncase iOS = \\\"ios\\\"\\n```\\n\\nThe iOS platform\\n\\n### `macOS`\\n\\n```swift\\ncase macOS = \\\"macos\\\"\\n```\\n\\nThe macOS platform\\n\\n### `watchOS`\\n\\n```swift\\ncase watchOS = \\\"watchos\\\"\\n```\\n\\nThe watchOS platform\\n\\n### `tvOS`\\n\\n```swift\\ncase tvOS = \\\"tvos\\\"\\n```\\n\\nThe tvOS platform\\n\\n### `visionOS`\\n\\n```swift\\ncase visionOS = \\\"visionos\\\"\\n```\\n\\nThe visionOS platform\\n\\n\",\"title\":\"`Platform`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/platform\",\"LLMS_URL\":\"/es/references/project-description/enums/platform.md\"}},{\"path\":\"/es/references/project-description/enums/platformfilter.md\",\"url\":\"/es/references/project-description/enums/platformfilter\",\"llmUrl\":\"/es/references/project-description/enums/platformfilter.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/platformfilter\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/platformfilter.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PlatformFilter`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `ios`\\n - `macos`\\n - `tvos`\\n - `catalyst`\\n - `driverkit`\\n - `watchos`\\n - `visionos`\\n\\n```swift\\npublic enum PlatformFilter: Comparable, Hashable, Codable, CaseIterable, Sendable\\n```\\n\\n## Cases\\n### `ios`\\n\\n```swift\\ncase ios\\n```\\n\\n### `macos`\\n\\n```swift\\ncase macos\\n```\\n\\n### `tvos`\\n\\n```swift\\ncase tvos\\n```\\n\\n### `catalyst`\\n\\n```swift\\ncase catalyst\\n```\\n\\n### `driverkit`\\n\\n```swift\\ncase driverkit\\n```\\n\\n### `watchos`\\n\\n```swift\\ncase watchos\\n```\\n\\n### `visionos`\\n\\n```swift\\ncase visionos\\n```\\n\\n\",\"title\":\"`PlatformFilter`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/platformfilter\",\"LLMS_URL\":\"/es/references/project-description/enums/platformfilter.md\"}},{\"path\":\"/es/references/project-description/enums/plist.md\",\"url\":\"/es/references/project-description/enums/plist\",\"llmUrl\":\"/es/references/project-description/enums/plist.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/plist\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/plist.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Plist`\\n\\n```swift\\npublic enum Plist\\n```\\n\\n\",\"title\":\"`Plist`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/plist\",\"LLMS_URL\":\"/es/references/project-description/enums/plist.md\"}},{\"path\":\"/es/references/project-description/enums/plist.value.md\",\"url\":\"/es/references/project-description/enums/plist.value\",\"llmUrl\":\"/es/references/project-description/enums/plist.value.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/plist.value\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/plist.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Plist.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `real(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic indirect enum Value: Codable, Equatable, Sendable\\n```\\n\\nIt represents the values of the .plist or .entitlements file dictionary.\\nIt ensures that the values used to define the content of the dynamically generated .plist or .entitlements files are valid\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `real(_:)`\\n\\n```swift\\ncase real(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Value])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Value])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Plist.Value`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/plist.value\",\"LLMS_URL\":\"/es/references/project-description/enums/plist.value.md\"}},{\"path\":\"/es/references/project-description/enums/pluginlocation.locationtype.md\",\"url\":\"/es/references/project-description/enums/pluginlocation.locationtype\",\"llmUrl\":\"/es/references/project-description/enums/pluginlocation.locationtype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/pluginlocation.locationtype\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/pluginlocation.locationtype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PluginLocation.LocationType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `local(path:)`\\n - `gitWithTag(url:tag:directory:releaseUrl:)`\\n - `gitWithSha(url:sha:directory:)`\\n\\n```swift\\npublic enum LocationType: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `local(path:)`\\n\\n```swift\\ncase local(path: Path)\\n```\\n\\n### `gitWithTag(url:tag:directory:releaseUrl:)`\\n\\n```swift\\ncase gitWithTag(url: String, tag: String, directory: String?, releaseUrl: String?)\\n```\\n\\n### `gitWithSha(url:sha:directory:)`\\n\\n```swift\\ncase gitWithSha(url: String, sha: String, directory: String?)\\n```\\n\\n\",\"title\":\"`PluginLocation.LocationType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/pluginlocation.locationtype\",\"LLMS_URL\":\"/es/references/project-description/enums/pluginlocation.locationtype.md\"}},{\"path\":\"/es/references/project-description/enums/product.md\",\"url\":\"/es/references/project-description/enums/product\",\"llmUrl\":\"/es/references/project-description/enums/product.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/product\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/product.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Product`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `app`\\n - `staticLibrary`\\n - `dynamicLibrary`\\n - `framework`\\n - `staticFramework`\\n - `unitTests`\\n - `uiTests`\\n - `bundle`\\n - `commandLineTool`\\n - `appClip`\\n - `appExtension`\\n - `watch2App`\\n - `watch2Extension`\\n - `tvTopShelfExtension`\\n - `messagesExtension`\\n - `stickerPackExtension`\\n - `xpc`\\n - `systemExtension`\\n - `extensionKitExtension`\\n - `macro`\\n\\n```swift\\npublic enum Product: String, Codable, Equatable, Sendable\\n```\\n\\nPossible products types.\\n\\n## Cases\\n### `app`\\n\\n```swift\\ncase app\\n```\\n\\nAn application.\\n\\n### `staticLibrary`\\n\\n```swift\\ncase staticLibrary = \\\"static_library\\\"\\n```\\n\\nA static library.\\n\\n### `dynamicLibrary`\\n\\n```swift\\ncase dynamicLibrary = \\\"dynamic_library\\\"\\n```\\n\\nA dynamic library.\\n\\n### `framework`\\n\\n```swift\\ncase framework\\n```\\n\\nA dynamic framework.\\n\\n### `staticFramework`\\n\\n```swift\\ncase staticFramework\\n```\\n\\nA static framework.\\n\\n### `unitTests`\\n\\n```swift\\ncase unitTests = \\\"unit_tests\\\"\\n```\\n\\nA unit tests bundle.\\n\\n### `uiTests`\\n\\n```swift\\ncase uiTests = \\\"ui_tests\\\"\\n```\\n\\nA UI tests bundle.\\n\\n### `bundle`\\n\\n```swift\\ncase bundle\\n```\\n\\nA custom bundle. (currently only iOS resource bundles are supported).\\n\\n### `commandLineTool`\\n\\n```swift\\ncase commandLineTool\\n```\\n\\nA command line tool (macOS platform only).\\n\\n### `appClip`\\n\\n```swift\\ncase appClip\\n```\\n\\nAn appClip. (iOS platform only).\\n\\n### `appExtension`\\n\\n```swift\\ncase appExtension = \\\"app_extension\\\"\\n```\\n\\nAn application extension.\\n\\n### `watch2App`\\n\\n```swift\\ncase watch2App\\n```\\n\\nA Watch application. (watchOS platform only) .\\n\\n### `watch2Extension`\\n\\n```swift\\ncase watch2Extension\\n```\\n\\nA Watch application extension. (watchOS platform only).\\n\\n### `tvTopShelfExtension`\\n\\n```swift\\ncase tvTopShelfExtension\\n```\\n\\nA TV Top Shelf Extension.\\n\\n### `messagesExtension`\\n\\n```swift\\ncase messagesExtension\\n```\\n\\nAn iMessage extension. (iOS platform only)\\n\\n### `stickerPackExtension`\\n\\n```swift\\ncase stickerPackExtension = \\\"sticker_pack_extension\\\"\\n```\\n\\nA sticker pack extension.\\n\\n### `xpc`\\n\\n```swift\\ncase xpc\\n```\\n\\nAn XPC. (macOS platform only).\\n\\n### `systemExtension`\\n\\n```swift\\ncase systemExtension\\n```\\n\\nAn system extension. (macOS platform only).\\n\\n### `extensionKitExtension`\\n\\n```swift\\ncase extensionKitExtension = \\\"extension_kit_extension\\\"\\n```\\n\\nAn ExtensionKit extension.\\n\\n### `macro`\\n\\n```swift\\ncase macro\\n```\\n\\nA Swift Macro\\nAlthough Apple doesn't officially support Swift Macro Xcode Project targets, we\\nenable them by adding a command line tool target, a target dependency in\\nthe dependent targets, and the right build settings to use the macro executable.\\n\\n\",\"title\":\"`Product`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/product\",\"LLMS_URL\":\"/es/references/project-description/enums/product.md\"}},{\"path\":\"/es/references/project-description/enums/project.options.automaticschemesoptions.md\",\"url\":\"/es/references/project-description/enums/project.options.automaticschemesoptions\",\"llmUrl\":\"/es/references/project-description/enums/project.options.automaticschemesoptions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/project.options.automaticschemesoptions\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/project.options.automaticschemesoptions.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Project.Options.AutomaticSchemesOptions`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `enabled(targetSchemesGrouping:codeCoverageEnabled:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:runLanguage:runRegion:)`\\n - `disabled`\\n\\n```swift\\npublic enum AutomaticSchemesOptions: Codable, Equatable, Sendable\\n```\\n\\nAutomatic schemes options allow customizing the generation of the target schemes.\\n\\n## Cases\\n### `enabled(targetSchemesGrouping:codeCoverageEnabled:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:runLanguage:runRegion:)`\\n\\n```swift\\ncase enabled(\\n targetSchemesGrouping: TargetSchemesGrouping = .byNameSuffix(\\n build: [\\\"Implementation\\\", \\\"Interface\\\", \\\"Mocks\\\", \\\"Testing\\\"],\\n test: [\\\"Tests\\\", \\\"IntegrationTests\\\", \\\"UITests\\\", \\\"SnapshotTests\\\"],\\n run: [\\\"App\\\", \\\"Demo\\\", \\\"Example\\\"]\\n ),\\n codeCoverageEnabled: Bool = false,\\n testingOptions: TestingOptions = [],\\n testLanguage: SchemeLanguage? = nil,\\n testRegion: String? = nil,\\n testScreenCaptureFormat: ScreenCaptureFormat? = nil,\\n runLanguage: SchemeLanguage? = nil,\\n runRegion: String? = nil\\n)\\n```\\n\\nEnable autogenerated schemes\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDisable autogenerated schemes\\n\\n\",\"title\":\"`Project.Options.AutomaticSchemesOptions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/project.options.automaticschemesoptions\",\"LLMS_URL\":\"/es/references/project-description/enums/project.options.automaticschemesoptions.md\"}},{\"path\":\"/es/references/project-description/enums/resourcefileelement.md\",\"url\":\"/es/references/project-description/enums/resourcefileelement\",\"llmUrl\":\"/es/references/project-description/enums/resourcefileelement.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/resourcefileelement\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/resourcefileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceFileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:excluding:tags:inclusionCondition:)`\\n - `folderReference(path:tags:inclusionCondition:)`\\n\\n```swift\\npublic enum ResourceFileElement: Codable, Equatable, Sendable, Hashable\\n```\\n\\nA resource file element from a glob pattern or a folder reference.\\n\\n- glob: a glob pattern for files to include\\n- folderReference: a single path to a directory\\n\\nNote: For convenience, an element can be represented as a string literal\\n `\\\"some/pattern/**\\\"` is the equivalent of `ResourceFileElement.glob(pattern: \\\"some/pattern/**\\\")`\\n\\n## Cases\\n### `glob(pattern:excluding:tags:inclusionCondition:)`\\n\\n```swift\\ncase glob(pattern: Path, excluding: [Path] = [], tags: [String] = [], inclusionCondition: PlatformCondition? = nil)\\n```\\n\\nA glob pattern of files to include and ODR tags\\n\\n### `folderReference(path:tags:inclusionCondition:)`\\n\\n```swift\\ncase folderReference(path: Path, tags: [String] = [], inclusionCondition: PlatformCondition? = nil)\\n```\\n\\nRelative path to a directory to include as a folder reference and ODR tags\\n\\n\",\"title\":\"`ResourceFileElement`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/resourcefileelement\",\"LLMS_URL\":\"/es/references/project-description/enums/resourcefileelement.md\"}},{\"path\":\"/es/references/project-description/enums/resourcesynthesizer.parser.md\",\"url\":\"/es/references/project-description/enums/resourcesynthesizer.parser\",\"llmUrl\":\"/es/references/project-description/enums/resourcesynthesizer.parser.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/resourcesynthesizer.parser\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/resourcesynthesizer.parser.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceSynthesizer.Parser`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `strings`\\n - `assets`\\n - `plists`\\n - `fonts`\\n - `coreData`\\n - `interfaceBuilder`\\n - `json`\\n - `yaml`\\n - `files`\\n\\n```swift\\npublic enum Parser: String, Codable, Sendable\\n```\\n\\nThere are multiple parsers you can choose from\\nEach parser will give you different metadata from a file\\nYou can read more about available parsers and how to use their metadata here:\\nhttps://github.com/SwiftGen/SwiftGen#available-parsers\\n\\n## Cases\\n### `strings`\\n\\n```swift\\ncase strings\\n```\\n\\n### `assets`\\n\\n```swift\\ncase assets\\n```\\n\\n### `plists`\\n\\n```swift\\ncase plists\\n```\\n\\n### `fonts`\\n\\n```swift\\ncase fonts\\n```\\n\\n### `coreData`\\n\\n```swift\\ncase coreData\\n```\\n\\n### `interfaceBuilder`\\n\\n```swift\\ncase interfaceBuilder\\n```\\n\\n### `json`\\n\\n```swift\\ncase json\\n```\\n\\n### `yaml`\\n\\n```swift\\ncase yaml\\n```\\n\\n### `files`\\n\\n```swift\\ncase files\\n```\\n\\n\",\"title\":\"`ResourceSynthesizer.Parser`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/resourcesynthesizer.parser\",\"LLMS_URL\":\"/es/references/project-description/enums/resourcesynthesizer.parser.md\"}},{\"path\":\"/es/references/project-description/enums/resourcesynthesizer.templatetype.md\",\"url\":\"/es/references/project-description/enums/resourcesynthesizer.templatetype\",\"llmUrl\":\"/es/references/project-description/enums/resourcesynthesizer.templatetype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/resourcesynthesizer.templatetype\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/resourcesynthesizer.templatetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceSynthesizer.TemplateType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `plugin(name:resourceName:)`\\n - `defaultTemplate(resourceName:)`\\n\\n```swift\\npublic enum TemplateType: Codable, Equatable, Sendable\\n```\\n\\nTemplates can be either a local template file, from a plugin, or a default template from tuist\\n\\n## Cases\\n### `plugin(name:resourceName:)`\\n\\n```swift\\ncase plugin(name: String, resourceName: String)\\n```\\n\\nPlugin template file\\n`name` is a name of a plugin\\n`resourceName` is a name of the resource - that is used for finding a template as well as naming the resulting\\n`.swift` file\\n\\n### `defaultTemplate(resourceName:)`\\n\\n```swift\\ncase defaultTemplate(resourceName: String)\\n```\\n\\nDefault template defined `Tuist/{ProjectName}`, or if not present there, in tuist itself\\n`resourceName` is used for the name of the resulting `.swift` file\\n\\n\",\"title\":\"`ResourceSynthesizer.TemplateType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/resourcesynthesizer.templatetype\",\"LLMS_URL\":\"/es/references/project-description/enums/resourcesynthesizer.templatetype.md\"}},{\"path\":\"/es/references/project-description/enums/runactionoptions.gpuframecapturemode.md\",\"url\":\"/es/references/project-description/enums/runactionoptions.gpuframecapturemode\",\"llmUrl\":\"/es/references/project-description/enums/runactionoptions.gpuframecapturemode.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/runactionoptions.gpuframecapturemode\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/runactionoptions.gpuframecapturemode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `RunActionOptions.GPUFrameCaptureMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `autoEnabled`\\n - `metal`\\n - `openGL`\\n - `disabled`\\n- [Properties](#properties)\\n - `default`\\n\\n```swift\\npublic enum GPUFrameCaptureMode: String, Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `autoEnabled`\\n\\n```swift\\ncase autoEnabled\\n```\\n\\n### `metal`\\n\\n```swift\\ncase metal\\n```\\n\\n### `openGL`\\n\\n```swift\\ncase openGL\\n```\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: GPUFrameCaptureMode\\n```\\n\\n\",\"title\":\"`RunActionOptions.GPUFrameCaptureMode`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/runactionoptions.gpuframecapturemode\",\"LLMS_URL\":\"/es/references/project-description/enums/runactionoptions.gpuframecapturemode.md\"}},{\"path\":\"/es/references/project-description/enums/screencaptureformat.md\",\"url\":\"/es/references/project-description/enums/screencaptureformat\",\"llmUrl\":\"/es/references/project-description/enums/screencaptureformat.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/screencaptureformat\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/screencaptureformat.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ScreenCaptureFormat`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `screenshots`\\n - `screenRecording`\\n\\n```swift\\npublic enum ScreenCaptureFormat: String, Codable, Sendable\\n```\\n\\nPreferred screen capture format for UI tests results in Xcode 15+\\n\\nAvailable options are screen recordings and screenshots.\\n\\nIn Xcode 15 screen recordings are enabled by default (in favour of screenshots).\\nThis setting is ignored by Xcode 14.x and prior.\\n\\n## Cases\\n### `screenshots`\\n\\n```swift\\ncase screenshots\\n```\\n\\nScreenshots\\n\\n### `screenRecording`\\n\\n```swift\\ncase screenRecording\\n```\\n\\nAutomatic screen recordings\\n\\n\",\"title\":\"`ScreenCaptureFormat`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/screencaptureformat\",\"LLMS_URL\":\"/es/references/project-description/enums/screencaptureformat.md\"}},{\"path\":\"/es/references/project-description/enums/sdktype.md\",\"url\":\"/es/references/project-description/enums/sdktype\",\"llmUrl\":\"/es/references/project-description/enums/sdktype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/sdktype\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/sdktype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SDKType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `library`\\n - `swiftLibrary`\\n - `framework`\\n\\n```swift\\npublic enum SDKType: String, Codable, Hashable, Sendable\\n```\\n\\nDependency type used by `.sdk` target dependencies\\n\\n## Cases\\n### `library`\\n\\n```swift\\ncase library\\n```\\n\\nLibrary SDK dependency\\nLibraries are located in:\\n`{path-to-xcode}.app/Contents/Developer/Platforms/{platform}.platform/Developer/SDKs/{runtime}.sdk/usr/lib`\\n\\n### `swiftLibrary`\\n\\n```swift\\ncase swiftLibrary\\n```\\n\\nSwift library SDK dependency\\nSwift libraries are located in:\\n`{path-to-xcode}.app/Contents/Developer/Platforms/{platform}.platform/Developer/SDKs/{runtime}.sdk/usr/lib/swift`\\n\\n### `framework`\\n\\n```swift\\ncase framework\\n```\\n\\nFramework SDK dependency\\n\\n\",\"title\":\"`SDKType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/sdktype\",\"LLMS_URL\":\"/es/references/project-description/enums/sdktype.md\"}},{\"path\":\"/es/references/project-description/enums/settingvalue.md\",\"url\":\"/es/references/project-description/enums/settingvalue\",\"llmUrl\":\"/es/references/project-description/enums/settingvalue.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/settingvalue\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/settingvalue.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SettingValue`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `array(_:)`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `init(arrayLiteral:)`\\n - `init(booleanLiteral:)`\\n - `init(_:)`\\n\\n```swift\\npublic enum SettingValue: ExpressibleByStringInterpolation, ExpressibleByArrayLiteral, ExpressibleByBooleanLiteral, Equatable,\\n Codable, Sendable\\n```\\n\\nA value or a collection of values used for settings configuration.\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([String])\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: String...)\\n```\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(_:)`\\n\\n```swift\\npublic init(_ stringRawRepresentable: T) where T: RawRepresentable, T.RawValue == String\\n```\\n\\n\",\"title\":\"`SettingValue`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/settingvalue\",\"LLMS_URL\":\"/es/references/project-description/enums/settingvalue.md\"}},{\"path\":\"/es/references/project-description/enums/sourcefileglob.filetype.md\",\"url\":\"/es/references/project-description/enums/sourcefileglob.filetype\",\"llmUrl\":\"/es/references/project-description/enums/sourcefileglob.filetype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/sourcefileglob.filetype\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/sourcefileglob.filetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SourceFileGlob.FileType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `alwaysPresent`\\n - `generated`\\n\\n```swift\\npublic enum FileType: String, Codable, Sendable\\n```\\n\\nType of the source file.\\n\\n## Cases\\n### `alwaysPresent`\\n\\n```swift\\ncase alwaysPresent\\n```\\n\\nFile is already present on disk before generating the project.\\n\\n### `generated`\\n\\n```swift\\ncase generated\\n```\\n\\nFile is generated, meaning it wasn't initially present on disk at the time of project generation.\\nFor example, a file created by a pre-build phase script.\\n\\n- Important: Since generated files do not exist at the time of project generation, their content cannot be hashed,\\nwhich affects the ability to identify changes in their content during caching.\\nNote that specifically for files generated by a pre-build phase script, the input and output file paths are part of\\nthe target's hash, if they are specified.\\n\\n\",\"title\":\"`SourceFileGlob.FileType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/sourcefileglob.filetype\",\"LLMS_URL\":\"/es/references/project-description/enums/sourcefileglob.filetype.md\"}},{\"path\":\"/es/references/project-description/enums/swiftcompilationmode.md\",\"url\":\"/es/references/project-description/enums/swiftcompilationmode\",\"llmUrl\":\"/es/references/project-description/enums/swiftcompilationmode.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/swiftcompilationmode\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/swiftcompilationmode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SwiftCompilationMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `singlefile`\\n - `wholemodule`\\n\\n```swift\\npublic enum SwiftCompilationMode: String\\n```\\n\\n## Cases\\n### `singlefile`\\n\\n```swift\\ncase singlefile\\n```\\n\\n### `wholemodule`\\n\\n```swift\\ncase wholemodule\\n```\\n\\n\",\"title\":\"`SwiftCompilationMode`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/swiftcompilationmode\",\"LLMS_URL\":\"/es/references/project-description/enums/swiftcompilationmode.md\"}},{\"path\":\"/es/references/project-description/enums/swiftoptimizationlevel.md\",\"url\":\"/es/references/project-description/enums/swiftoptimizationlevel\",\"llmUrl\":\"/es/references/project-description/enums/swiftoptimizationlevel.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/swiftoptimizationlevel\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/swiftoptimizationlevel.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SwiftOptimizationLevel`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `o`\\n - `oNone`\\n - `oSize`\\n\\n```swift\\npublic enum SwiftOptimizationLevel: String\\n```\\n\\n## Cases\\n### `o`\\n\\n```swift\\ncase o = \\\"-O\\\"\\n```\\n\\n### `oNone`\\n\\n```swift\\ncase oNone = \\\"-Onone\\\"\\n```\\n\\n### `oSize`\\n\\n```swift\\ncase oSize = \\\"-Osize\\\"\\n```\\n\\n\",\"title\":\"`SwiftOptimizationLevel`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/swiftoptimizationlevel\",\"LLMS_URL\":\"/es/references/project-description/enums/swiftoptimizationlevel.md\"}},{\"path\":\"/es/references/project-description/enums/targetdependency.md\",\"url\":\"/es/references/project-description/enums/targetdependency\",\"llmUrl\":\"/es/references/project-description/enums/targetdependency.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/targetdependency\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/targetdependency.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetDependency`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `target(name:status:condition:)`\\n - `macro(name:)`\\n - `project(target:path:status:condition:)`\\n - `framework(path:status:condition:)`\\n - `library(path:publicHeaders:swiftModuleMap:condition:)`\\n - `package(product:type:condition:)`\\n - `sdk(name:type:status:condition:)`\\n - `xcframework(path:expectedSignature:status:condition:)`\\n - `xctest`\\n - `external(name:condition:)`\\n- [Properties](#properties)\\n - `typeName`\\n- [Methods](#methods)\\n - `sdk(name:type:condition:)`\\n - `target(_:condition:)`\\n\\n```swift\\npublic enum TargetDependency: Codable, Hashable, Sendable\\n```\\n\\nA target dependency.\\n\\n## Cases\\n### `target(name:status:condition:)`\\n\\n```swift\\ncase target(name: String, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on another target within the same project\\n\\n- Parameters:\\n - name: Name of the target to depend on\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `macro(name:)`\\n\\n```swift\\ncase macro(name: String)\\n```\\n\\nDependency on a macro target within the same project\\n\\n- Parameters:\\n - name: Name of the target to depend on\\n\\n### `project(target:path:status:condition:)`\\n\\n```swift\\ncase project(target: String, path: Path, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a target within another project\\n\\n- Parameters:\\n - target: Name of the target to depend on\\n - path: Relative path to the other project directory\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `framework(path:status:condition:)`\\n\\n```swift\\ncase framework(path: Path, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a prebuilt framework\\n\\n- Parameters:\\n - path: Relative path to the prebuilt framework\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `library(path:publicHeaders:swiftModuleMap:condition:)`\\n\\n```swift\\ncase library(path: Path, publicHeaders: Path, swiftModuleMap: Path?, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on prebuilt library\\n\\n- Parameters:\\n - path: Relative path to the prebuilt library\\n - publicHeaders: Relative path to the library's public headers directory\\n - swiftModuleMap: Relative path to the library's swift module map file\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `package(product:type:condition:)`\\n\\n```swift\\ncase package(product: String, type: PackageType = .runtime, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a swift package manager product using Xcode native integration. It's recommended to use `external` instead.\\nFor more info, check the [external dependencies documentation\\n](https://docs.tuist.dev/en/guides/features/projects/dependencies#external-dependencies).\\n\\n- Parameters:\\n - product: The name of the output product. ${PRODUCT_NAME} inside Xcode.\\n e.g. RxSwift\\n - type: The type of package being integrated.\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `sdk(name:type:status:condition:)`\\n\\n```swift\\ncase sdk(name: String, type: SDKType, status: LinkingStatus, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on system library or framework\\n\\n- Parameters:\\n - name: Name of the system library or framework (not including extension)\\n e.g. `ARKit`, `c++`\\n - type: The dependency type\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `xcframework(path:expectedSignature:status:condition:)`\\n\\n```swift\\ncase xcframework(\\n path: Path,\\n expectedSignature: XCFrameworkSignature? = nil,\\n status: LinkingStatus = .required,\\n condition: PlatformCondition? = nil\\n)\\n```\\n\\nDependency on a xcframework\\n\\n- Parameters:\\n - path: Relative path to the xcframework\\n - expectedSignature: The expected signature if the xcframework is signed.\\n Used for verifying the xcframework's integrity against the actual fingerprint derived from the given xcframeowrk\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `xctest`\\n\\n```swift\\ncase xctest\\n```\\n\\nDependency on XCTest.\\n\\n### `external(name:condition:)`\\n\\n```swift\\ncase external(name: String, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on an external dependency imported through `Package.swift`.\\n\\n- Parameters:\\n - name: Name of the external dependency\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n## Properties\\n### `typeName`\\n\\n```swift\\npublic var typeName: String\\n```\\n\\n## Methods\\n### `sdk(name:type:condition:)`\\n\\n```swift\\npublic static func sdk(name: String, type: SDKType, condition: PlatformCondition? = nil) -> TargetDependency\\n```\\n\\nDependency on system library or framework\\n\\n- Parameters:\\n - name: Name of the system library or framework (including extension)\\n e.g. `ARKit.framework`, `libc++.tbd`\\n - type: Whether or not this dependecy is required. Defaults to `.required`\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the system library or framework (including extension) e.g. `ARKit.framework`, `libc++.tbd` |\\n| type | Whether or not this dependecy is required. Defaults to `.required` |\\n| condition | condition under which to use this dependency, `nil` if this should always be used |\\n\\n### `target(_:condition:)`\\n\\n```swift\\npublic static func target(_ target: Target, condition: PlatformCondition? = nil) -> TargetDependency\\n```\\n\\nDependency on another target within the same project. This is just syntactic sugar for `.target(name: target.name)`.\\n\\n- Parameters:\\n - target: Instance of the target to depend on\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | Instance of the target to depend on |\\n| condition | condition under which to use this dependency, `nil` if this should always be used |\\n\",\"title\":\"`TargetDependency`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/targetdependency\",\"LLMS_URL\":\"/es/references/project-description/enums/targetdependency.md\"}},{\"path\":\"/es/references/project-description/enums/targetdependency.packagetype.md\",\"url\":\"/es/references/project-description/enums/targetdependency.packagetype\",\"llmUrl\":\"/es/references/project-description/enums/targetdependency.packagetype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/targetdependency.packagetype\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/targetdependency.packagetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetDependency.PackageType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `runtime`\\n - `runtimeEmbedded`\\n - `plugin`\\n - `macro`\\n\\n```swift\\npublic enum PackageType: Codable, Hashable, Sendable\\n```\\n\\n## Cases\\n### `runtime`\\n\\n```swift\\ncase runtime\\n```\\n\\nA runtime package type represents a standard package whose sources are linked at runtime.\\nFor example importing the framework and consuming from dependent targets.\\n\\n### `runtimeEmbedded`\\n\\n```swift\\ncase runtimeEmbedded\\n```\\n\\nA runtime embedded package type represents a package that's embedded in the product at runtime.\\n\\n### `plugin`\\n\\n```swift\\ncase plugin\\n```\\n\\nA plugin package represents a package that's loaded by the build system at compile-time to\\nextend the compilation process.\\n\\n### `macro`\\n\\n```swift\\ncase macro\\n```\\n\\nA macro package represents a package that contains a Swift Macro.\\n\\n\",\"title\":\"`TargetDependency.PackageType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/targetdependency.packagetype\",\"LLMS_URL\":\"/es/references/project-description/enums/targetdependency.packagetype.md\"}},{\"path\":\"/es/references/project-description/enums/targetscript.order.md\",\"url\":\"/es/references/project-description/enums/targetscript.order\",\"llmUrl\":\"/es/references/project-description/enums/targetscript.order.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/targetscript.order\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/targetscript.order.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetScript.Order`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `pre`\\n - `post`\\n\\n```swift\\npublic enum Order: String, Codable, Equatable, Sendable\\n```\\n\\nOrder when the script gets executed.\\n\\n- pre: Before the sources and resources build phase.\\n- post: After the sources and resources build phase.\\n\\n## Cases\\n### `pre`\\n\\n```swift\\ncase pre\\n```\\n\\n### `post`\\n\\n```swift\\ncase post\\n```\\n\\n\",\"title\":\"`TargetScript.Order`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/targetscript.order\",\"LLMS_URL\":\"/es/references/project-description/enums/targetscript.order.md\"}},{\"path\":\"/es/references/project-description/enums/targetscript.script.md\",\"url\":\"/es/references/project-description/enums/targetscript.script\",\"llmUrl\":\"/es/references/project-description/enums/targetscript.script.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/targetscript.script\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/targetscript.script.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetScript.Script`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `tool(path:args:)`\\n - `scriptPath(path:args:)`\\n - `embedded(_:)`\\n\\n```swift\\npublic enum Script: Equatable, Codable, Sendable\\n```\\n\\nSpecifies how to execute the target script\\n\\n- tool: Executes the tool with the given arguments. Tuist will look up the tool on the environment's PATH.\\n- scriptPath: Executes the file at the path with the given arguments.\\n- text: Executes the embedded script. This should be a short command.\\n\\n## Cases\\n### `tool(path:args:)`\\n\\n```swift\\ncase tool(path: String, args: [String])\\n```\\n\\n### `scriptPath(path:args:)`\\n\\n```swift\\ncase scriptPath(path: Path, args: [String])\\n```\\n\\n### `embedded(_:)`\\n\\n```swift\\ncase embedded(String)\\n```\\n\\n\",\"title\":\"`TargetScript.Script`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/targetscript.script\",\"LLMS_URL\":\"/es/references/project-description/enums/targetscript.script.md\"}},{\"path\":\"/es/references/project-description/enums/template.attribute.md\",\"url\":\"/es/references/project-description/enums/template.attribute\",\"llmUrl\":\"/es/references/project-description/enums/template.attribute.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/template.attribute\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/template.attribute.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Attribute`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `required(_:)`\\n - `optional(_:default:)`\\n\\n```swift\\npublic enum Attribute: Codable, Equatable, Sendable\\n```\\n\\nAttribute to be passed to `tuist scaffold` for generating with `Template`\\n\\n## Cases\\n### `required(_:)`\\n\\n```swift\\ncase required(String)\\n```\\n\\nRequired attribute with a given name\\n\\n### `optional(_:default:)`\\n\\n```swift\\ncase optional(String, default: Value)\\n```\\n\\nOptional attribute with a given name and a default value used when attribute not provided by user\\n\\n\",\"title\":\"`Template.Attribute`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/template.attribute\",\"LLMS_URL\":\"/es/references/project-description/enums/template.attribute.md\"}},{\"path\":\"/es/references/project-description/enums/template.attribute.value.md\",\"url\":\"/es/references/project-description/enums/template.attribute.value\",\"llmUrl\":\"/es/references/project-description/enums/template.attribute.value.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/template.attribute.value\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/template.attribute.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Attribute.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `real(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic indirect enum Value: Codable, Equatable, Sendable\\n```\\n\\nThis represents the default value type of Attribute\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `real(_:)`\\n\\n```swift\\ncase real(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Value])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Value])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Template.Attribute.Value`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/template.attribute.value\",\"LLMS_URL\":\"/es/references/project-description/enums/template.attribute.value.md\"}},{\"path\":\"/es/references/project-description/enums/template.contents.md\",\"url\":\"/es/references/project-description/enums/template.contents\",\"llmUrl\":\"/es/references/project-description/enums/template.contents.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/template.contents\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/template.contents.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Contents`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `file(_:)`\\n - `directory(_:)`\\n\\n```swift\\npublic enum Contents: Codable, Equatable, Sendable\\n```\\n\\nEnum containing information about how to generate item\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nString Contents is defined in `name_of_template.swift` and contains a simple `String`\\nCan not contain any additional logic apart from plain `String` from `arguments`\\n\\n### `file(_:)`\\n\\n```swift\\ncase file(Path)\\n```\\n\\nFile content is defined in a different file from `name_of_template.swift`\\nCan contain additional logic and anything that is defined in `ProjectDescriptionHelpers`\\n\\n### `directory(_:)`\\n\\n```swift\\ncase directory(Path)\\n```\\n\\nDirectory content is defined in a path\\nIt is just for copying files without modifications and logic inside\\n\\n\",\"title\":\"`Template.Contents`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/template.contents\",\"LLMS_URL\":\"/es/references/project-description/enums/template.contents.md\"}},{\"path\":\"/es/references/project-description/enums/templatestring.token.md\",\"url\":\"/es/references/project-description/enums/templatestring.token\",\"llmUrl\":\"/es/references/project-description/enums/templatestring.token.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/templatestring.token\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/templatestring.token.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TemplateString.Token`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `projectName`\\n\\n```swift\\npublic enum Token: String, Equatable\\n```\\n\\nProvides a template for existing project properties.\\n\\n- projectName: The name of the project.\\n\\n## Cases\\n### `projectName`\\n\\n```swift\\ncase projectName = \\\"${project_name}\\\"\\n```\\n\\n\",\"title\":\"`TemplateString.Token`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/templatestring.token\",\"LLMS_URL\":\"/es/references/project-description/enums/templatestring.token.md\"}},{\"path\":\"/es/references/project-description/enums/testabletarget.parallelization.md\",\"url\":\"/es/references/project-description/enums/testabletarget.parallelization\",\"llmUrl\":\"/es/references/project-description/enums/testabletarget.parallelization.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/testabletarget.parallelization\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/testabletarget.parallelization.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TestableTarget.Parallelization`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n\\n```swift\\npublic enum Parallelization: Equatable, Codable, Sendable\\n```\\n\\nWith the introduction of Swift Testing and Xcode 16, you can now choose to run your tests\\nin parallel across either the full suite of tests in a target with `.enabled`, just those created\\nunder Swift Testing with `.swiftTestingOnly`, or run them serially with the `.disabled` option.\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\n\",\"title\":\"`TestableTarget.Parallelization`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/testabletarget.parallelization\",\"LLMS_URL\":\"/es/references/project-description/enums/testabletarget.parallelization.md\"}},{\"path\":\"/es/references/project-description/enums/tuistproject.md\",\"url\":\"/es/references/project-description/enums/tuistproject\",\"llmUrl\":\"/es/references/project-description/enums/tuistproject.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/tuistproject\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/tuistproject.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TuistProject`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `tuist(compatibleXcodeVersions:swiftVersion:plugins:generationOptions:installOptions:)`\\n - `xcode(_:)`\\n\\n```swift\\npublic enum TuistProject: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `tuist(compatibleXcodeVersions:swiftVersion:plugins:generationOptions:installOptions:)`\\n\\n```swift\\ncase tuist(\\n compatibleXcodeVersions: CompatibleXcodeVersions = .all,\\n swiftVersion: Version? = nil,\\n plugins: [PluginLocation] = [],\\n generationOptions: Tuist.GenerationOptions = .options(),\\n installOptions: Tuist.InstallOptions = .options()\\n)\\n```\\n\\nCreates a configuration for a Tuist project.\\n\\n- Parameters:\\n - compatibleXcodeVersions: List of Xcode versions the project is compatible with.\\n - swiftVersion: The version of Swift that will be used by Tuist.\\n - plugins: A list of plugins to extend Tuist.\\n - generationOptions: List of options to use when generating the project.\\n - installOptions: List of options to use when running `tuist install`.\\n\\n### `xcode(_:)`\\n\\n```swift\\ncase xcode(TuistXcodeProjectOptions = TuistXcodeProjectOptions.options())\\n```\\n\\n\",\"title\":\"`TuistProject`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/tuistproject\",\"LLMS_URL\":\"/es/references/project-description/enums/tuistproject.md\"}},{\"path\":\"/es/references/project-description/enums/xcframeworksignature.md\",\"url\":\"/es/references/project-description/enums/xcframeworksignature\",\"llmUrl\":\"/es/references/project-description/enums/xcframeworksignature.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/enums/xcframeworksignature\\\"\\nLLMS_URL: \\\"/es/references/project-description/enums/xcframeworksignature.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `XCFrameworkSignature`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `unsigned`\\n - `signedWithAppleCertificate(teamIdentifier:teamName:)`\\n - `selfSigned(fingerprint:)`\\n\\n```swift\\npublic enum XCFrameworkSignature: Equatable, Hashable, Codable, Sendable\\n```\\n\\nExpected signature for XCFramework. Can be used to verify the authenticity of the XCFramework against the actual signature\\ncalculated from it.\\n\\n## Cases\\n### `unsigned`\\n\\n```swift\\ncase unsigned\\n```\\n\\nThe XCFramework is not signed.\\n\\n### `signedWithAppleCertificate(teamIdentifier:teamName:)`\\n\\n```swift\\ncase signedWithAppleCertificate(teamIdentifier: String, teamName: String)\\n```\\n\\nThe XCFramework is signed with an Apple Development certificate.\\n\\n### `selfSigned(fingerprint:)`\\n\\n```swift\\ncase selfSigned(fingerprint: String)\\n```\\n\\nThe XCFramework is signed by a self issued code signing identity.\\n\\n\",\"title\":\"`XCFrameworkSignature`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/enums/xcframeworksignature\",\"LLMS_URL\":\"/es/references/project-description/enums/xcframeworksignature.md\"}},{\"path\":\"/es/references/project-description/extensions/array.md\",\"url\":\"/es/references/project-description/extensions/array\",\"llmUrl\":\"/es/references/project-description/extensions/array.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/array\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/array.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `[FileElement]`\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`[FileElement]`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/array\",\"LLMS_URL\":\"/es/references/project-description/extensions/array.md\"}},{\"path\":\"/es/references/project-description/extensions/array.md\",\"url\":\"/es/references/project-description/extensions/array\",\"llmUrl\":\"/es/references/project-description/extensions/array.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/array\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/array.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `[ResourceSynthesizer]`\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: Self\\n```\\n\\n\",\"title\":\"`[ResourceSynthesizer]`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/array\",\"LLMS_URL\":\"/es/references/project-description/extensions/array.md\"}},{\"path\":\"/es/references/project-description/extensions/closedrange.md\",\"url\":\"/es/references/project-description/extensions/closedrange\",\"llmUrl\":\"/es/references/project-description/extensions/closedrange.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/closedrange\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/closedrange.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ClosedRange`\\n```swift\\nextension ClosedRange where Bound == Version\\n```\\n\\n## Methods\\n### `contains(_:)`\\n\\n```swift\\npublic func contains(_: Version) -> Bool\\n```\\n\\nMarked as unavailable because we have custom rules for contains.\\n\\n\",\"title\":\"`ClosedRange`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/closedrange\",\"LLMS_URL\":\"/es/references/project-description/extensions/closedrange.md\"}},{\"path\":\"/es/references/project-description/extensions/copyfileelement.md\",\"url\":\"/es/references/project-description/extensions/copyfileelement\",\"llmUrl\":\"/es/references/project-description/extensions/copyfileelement.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/copyfileelement\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/copyfileelement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `CopyFileElement`\\n```swift\\nextension CopyFileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`CopyFileElement`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/copyfileelement\",\"LLMS_URL\":\"/es/references/project-description/extensions/copyfileelement.md\"}},{\"path\":\"/es/references/project-description/extensions/defaultsettings.md\",\"url\":\"/es/references/project-description/extensions/defaultsettings\",\"llmUrl\":\"/es/references/project-description/extensions/defaultsettings.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/defaultsettings\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/defaultsettings.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `DefaultSettings`\\n```swift\\nextension DefaultSettings\\n```\\n\\n## Properties\\n### `recommended`\\n\\n```swift\\npublic static var recommended: DefaultSettings\\n```\\n\\n### `essential`\\n\\n```swift\\npublic static var essential: DefaultSettings\\n```\\n\\n\",\"title\":\"`DefaultSettings`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/defaultsettings\",\"LLMS_URL\":\"/es/references/project-description/extensions/defaultsettings.md\"}},{\"path\":\"/es/references/project-description/extensions/destinations.md\",\"url\":\"/es/references/project-description/extensions/destinations\",\"llmUrl\":\"/es/references/project-description/extensions/destinations.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/destinations\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/destinations.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Destinations`\\n```swift\\nextension Destinations\\n```\\n\\n## Properties\\n### `watchOS`\\n\\n```swift\\npublic static let watchOS: Destinations = [.appleWatch]\\n```\\n\\n### `iOS`\\n\\n```swift\\npublic static let iOS: Destinations = [.iPhone, .iPad, .macWithiPadDesign]\\n```\\n\\nCurrently we omit `.visionOSwithiPadDesign` from our default because `visionOS` is unreleased.\\n\\n### `macOS`\\n\\n```swift\\npublic static let macOS: Destinations = [.mac]\\n```\\n\\n### `tvOS`\\n\\n```swift\\npublic static let tvOS: Destinations = [.appleTv]\\n```\\n\\n### `visionOS`\\n\\n```swift\\npublic static let visionOS: Destinations = [.appleVision]\\n```\\n\\n### `platforms`\\n\\n```swift\\npublic var platforms: Set\\n```\\n\\nConvenience set of platforms that are supported by a set of destinations\\n\\n\",\"title\":\"`Destinations`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/destinations\",\"LLMS_URL\":\"/es/references/project-description/extensions/destinations.md\"}},{\"path\":\"/es/references/project-description/extensions/entitlements.md\",\"url\":\"/es/references/project-description/extensions/entitlements\",\"llmUrl\":\"/es/references/project-description/extensions/entitlements.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/entitlements\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/entitlements.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Entitlements`\\n```swift\\nextension Entitlements: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`Entitlements`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/entitlements\",\"LLMS_URL\":\"/es/references/project-description/extensions/entitlements.md\"}},{\"path\":\"/es/references/project-description/extensions/environment.value_.md\",\"url\":\"/es/references/project-description/extensions/environment.value_\",\"llmUrl\":\"/es/references/project-description/extensions/environment.value_.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/environment.value_\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/environment.value_.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Environment.Value?`\\n```swift\\nextension Environment.Value?\\n```\\n\\n## Methods\\n### `getString(default:)`\\n\\n```swift\\npublic func getString(default defaultString: String) -> String\\n```\\n\\nRetrieve the Environment value as a string or return the specified default string value\\n- Parameters:\\n - default: default String value to be returned\\n- Returns: String\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| default | default String value to be returned |\\n\\n### `getBoolean(default:)`\\n\\n```swift\\npublic func getBoolean(default defaultBoolean: Bool) -> Bool\\n```\\n\\nRetrieve the Environment value as a boolean or return the specified default boolean value\\n- Parameters:\\n - default: default Boolean value to be returned\\n- Returns: Bool\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| default | default Boolean value to be returned |\\n\",\"title\":\"`Environment.Value?`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/environment.value_\",\"LLMS_URL\":\"/es/references/project-description/extensions/environment.value_.md\"}},{\"path\":\"/es/references/project-description/extensions/fileelement.md\",\"url\":\"/es/references/project-description/extensions/fileelement\",\"llmUrl\":\"/es/references/project-description/extensions/fileelement.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/fileelement\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/fileelement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileElement`\\n```swift\\nextension FileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`FileElement`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/fileelement\",\"LLMS_URL\":\"/es/references/project-description/extensions/fileelement.md\"}},{\"path\":\"/es/references/project-description/extensions/filelist.md\",\"url\":\"/es/references/project-description/extensions/filelist\",\"llmUrl\":\"/es/references/project-description/extensions/filelist.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/filelist\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/filelist.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileList`\\n```swift\\nextension FileList: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: String...)\\n```\\n\\n\",\"title\":\"`FileList`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/filelist\",\"LLMS_URL\":\"/es/references/project-description/extensions/filelist.md\"}},{\"path\":\"/es/references/project-description/extensions/filelistglob.md\",\"url\":\"/es/references/project-description/extensions/filelistglob\",\"llmUrl\":\"/es/references/project-description/extensions/filelistglob.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/filelistglob\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/filelistglob.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileListGlob`\\n```swift\\nextension FileListGlob: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`FileListGlob`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/filelistglob\",\"LLMS_URL\":\"/es/references/project-description/extensions/filelistglob.md\"}},{\"path\":\"/es/references/project-description/extensions/infoplist.md\",\"url\":\"/es/references/project-description/extensions/infoplist\",\"llmUrl\":\"/es/references/project-description/extensions/infoplist.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/infoplist\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/infoplist.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `InfoPlist`\\n```swift\\nextension InfoPlist: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`InfoPlist`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/infoplist\",\"LLMS_URL\":\"/es/references/project-description/extensions/infoplist.md\"}},{\"path\":\"/es/references/project-description/extensions/package.md\",\"url\":\"/es/references/project-description/extensions/package\",\"llmUrl\":\"/es/references/project-description/extensions/package.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/package\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/package.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Package`\\n```swift\\nextension Package\\n```\\n\\n## Methods\\n### `package(url:from:)`\\n\\n```swift\\npublic static func package(url: String, from version: Version) -> Package\\n```\\n\\nCreate a package dependency that uses the version requirement, starting with the given minimum version,\\ngoing up to the next major version.\\n\\nThis is the recommended way to specify a remote package dependency.\\nIt allows you to specify the minimum version you require, allows updates that include bug fixes\\nand backward-compatible feature updates, but requires you to explicitly update to a new major version of the dependency.\\nThis approach provides the maximum flexibility on which version to use,\\nwhile making sure you don't update to a version with breaking changes,\\nand helps to prevent conflicts in your dependency graph.\\n\\nThe following example allows the Swift package manager to select a version\\nlike a `1.2.3`, `1.2.4`, or `1.3.0`, but not `2.0.0`.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", from: \\\"1.2.3\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - version: The minimum version requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| version | The minimum version requirement. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ requirement: Package.Requirement) -> Package\\n```\\n\\nAdd a remote package dependency given a version requirement.\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - requirement: A dependency requirement. See static methods on `Package.Requirement` for available options.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| requirement | A dependency requirement. See static methods on `Package.Requirement` for available options. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ range: Range) -> Package\\n```\\n\\nAdd a package dependency starting with a specific minimum version, up to\\nbut not including a specified maximum version.\\n\\nThe following example allows the Swift package manager to pick\\nversions `1.2.3`, `1.2.4`, `1.2.5`, but not `1.2.6`.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", \\\"1.2.3\\\"..<\\\"1.2.6\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - range: The custom version range requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| range | The custom version range requirement. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ range: ClosedRange) -> Package\\n```\\n\\nAdd a package dependency starting with a specific minimum version, going\\nup to and including a specific maximum version.\\n\\nThe following example allows the Swift package manager to pick\\nversions 1.2.3, 1.2.4, 1.2.5, as well as 1.2.6.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", \\\"1.2.3\\\"...\\\"1.2.6\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - range: The closed version range requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| range | The closed version range requirement. |\\n\\n### `package(path:)`\\n\\n```swift\\npublic static func package(path: Path) -> Package\\n```\\n\\nAdd a dependency to a local package on the filesystem.\\n\\nThe Swift Package Manager uses the package dependency as-is\\nand does not perform any source control access. Local package dependencies\\nare especially useful during development of a new package or when working\\non multiple tightly coupled packages.\\n\\n- Parameter path: The path of the package.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | The path of the package. |\\n\\n### `package(id:from:)`\\n\\n```swift\\npublic static func package(id: String, from version: Version) -> Package\\n```\\n\\nAdds a package dependency that uses the version requirement, starting with the given minimum version,\\ngoing up to the next major version.\\n\\nThis is the recommended way to specify a remote package dependency.\\nIt allows you to specify the minimum version you require, allows updates that include bug fixes\\nand backward-compatible feature updates, but requires you to explicitly update to a new major version of the dependency.\\nThis approach provides the maximum flexibility on which version to use,\\nwhile making sure you don't update to a version with breaking changes,\\nand helps to prevent conflicts in your dependency graph.\\n\\nThe following example allows the Swift Package Manager to select a version\\nlike a `1.2.3`, `1.2.4`, or `1.3.0`, but not `2.0.0`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", from: \\\"1.2.3\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - version: The minimum version requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| version | The minimum version requirement. |\\n\\n### `package(id:exact:)`\\n\\n```swift\\npublic static func package(id: String, exact version: Version) -> Package\\n```\\n\\nAdds a package dependency that uses the exact version requirement.\\n\\nSpecifying exact version requirements are not recommended as\\nthey can cause conflicts in your dependency graph when multiple other packages depend on a package.\\nBecause Swift packages follow the semantic versioning convention,\\nthink about specifying a version range instead.\\n\\nThe following example instructs the Swift Package Manager to use version `1.2.3`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", exact: \\\"1.2.3\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - version: The exact version of the dependency for this requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| version | The exact version of the dependency for this requirement. |\\n\\n### `package(id:_:)`\\n\\n```swift\\npublic static func package(id: String, _ range: Range) -> Package\\n```\\n\\nAdds a package dependency starting with a specific minimum version, up to\\nbut not including a specified maximum version.\\n\\nThe following example allows the Swift Package Manager to pick\\nversions `1.2.3`, `1.2.4`, `1.2.5`, but not `1.2.6`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", \\\"1.2.3\\\"..<\\\"1.2.6\\\"),\\n```\\n\\nThe following example allows the Swift Package Manager to pick\\nversions between 1.0.0 and 2.0.0\\n\\n```swift\\n.package(id: \\\"scope.name\\\", .upToNextMajor(from: \\\"1.0.0\\\")),\\n```\\n\\nThe following example allows the Swift Package Manager to pick\\nversions between 1.0.0 and 1.1.0\\n\\n```swift\\n.package(id: \\\"scope.name\\\", .upToNextMinor(from: \\\"1.0.0\\\")),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - range: The custom version range requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| range | The custom version range requirement. |\\n\\n### `package(id:_:)`\\n\\n```swift\\npublic static func package(id: String, _ range: ClosedRange) -> Package\\n```\\n\\nAdds a package dependency starting with a specific minimum version, going\\nup to and including a specific maximum version.\\n\\nThe following example allows the Swift Package Manager to pick\\nversions 1.2.3, 1.2.4, 1.2.5, as well as 1.2.6.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", \\\"1.2.3\\\"...\\\"1.2.6\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - range: The closed version range requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| range | The closed version range requirement. |\\n\\n### `package(url:version:)`\\n\\n### `package(url:branch:)`\\n\\n### `package(url:revision:)`\\n\\n### `package(url:range:)`\\n\\n\",\"title\":\"`Package`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/package\",\"LLMS_URL\":\"/es/references/project-description/extensions/package.md\"}},{\"path\":\"/es/references/project-description/extensions/platformfilters.md\",\"url\":\"/es/references/project-description/extensions/platformfilters\",\"llmUrl\":\"/es/references/project-description/extensions/platformfilters.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/platformfilters\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/platformfilters.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `PlatformFilters`\\n```swift\\nextension PlatformFilters\\n```\\n\\n## Properties\\n### `all`\\n\\n```swift\\npublic static let all = Set(PlatformFilter.allCases)\\n```\\n\\n\",\"title\":\"`PlatformFilters`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/platformfilters\",\"LLMS_URL\":\"/es/references/project-description/extensions/platformfilters.md\"}},{\"path\":\"/es/references/project-description/extensions/plist.value.md\",\"url\":\"/es/references/project-description/extensions/plist.value\",\"llmUrl\":\"/es/references/project-description/extensions/plist.value.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/plist.value\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/plist.value.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Plist.Value`\\n```swift\\nextension Plist.Value: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Plist.Value)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Plist.Value...)\\n```\\n\\n\",\"title\":\"`Plist.Value`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/plist.value\",\"LLMS_URL\":\"/es/references/project-description/extensions/plist.value.md\"}},{\"path\":\"/es/references/project-description/extensions/range.md\",\"url\":\"/es/references/project-description/extensions/range\",\"llmUrl\":\"/es/references/project-description/extensions/range.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/range\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/range.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Range`\\n```swift\\nextension Range where Bound == Version\\n```\\n\\n## Methods\\n### `contains(_:)`\\n\\n```swift\\npublic func contains(_: Version) -> Bool\\n```\\n\\nMarked as unavailable because we have custom rules for contains.\\n\\n### `contains(version:)`\\n\\n```swift\\npublic func contains(version: Version) -> Bool\\n```\\n\\n\",\"title\":\"`Range`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/range\",\"LLMS_URL\":\"/es/references/project-description/extensions/range.md\"}},{\"path\":\"/es/references/project-description/extensions/resourcefileelement.md\",\"url\":\"/es/references/project-description/extensions/resourcefileelement\",\"llmUrl\":\"/es/references/project-description/extensions/resourcefileelement.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/resourcefileelement\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/resourcefileelement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceFileElement`\\n```swift\\nextension ResourceFileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`ResourceFileElement`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/resourcefileelement\",\"LLMS_URL\":\"/es/references/project-description/extensions/resourcefileelement.md\"}},{\"path\":\"/es/references/project-description/extensions/resourcefileelements.md\",\"url\":\"/es/references/project-description/extensions/resourcefileelements\",\"llmUrl\":\"/es/references/project-description/extensions/resourcefileelements.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/resourcefileelements\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/resourcefileelements.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceFileElements`\\n```swift\\nextension ResourceFileElements: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: ResourceFileElement...)\\n```\\n\\n\",\"title\":\"`ResourceFileElements`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/resourcefileelements\",\"LLMS_URL\":\"/es/references/project-description/extensions/resourcefileelements.md\"}},{\"path\":\"/es/references/project-description/extensions/resourcesynthesizer.parser.option.md\",\"url\":\"/es/references/project-description/extensions/resourcesynthesizer.parser.option\",\"llmUrl\":\"/es/references/project-description/extensions/resourcesynthesizer.parser.option.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/resourcesynthesizer.parser.option\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/resourcesynthesizer.parser.option.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceSynthesizer.Parser.Option`\\n```swift\\nextension ResourceSynthesizer.Parser.Option: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Self)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Self...)\\n```\\n\\n\",\"title\":\"`ResourceSynthesizer.Parser.Option`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/resourcesynthesizer.parser.option\",\"LLMS_URL\":\"/es/references/project-description/extensions/resourcesynthesizer.parser.option.md\"}},{\"path\":\"/es/references/project-description/extensions/schemelanguage.md\",\"url\":\"/es/references/project-description/extensions/schemelanguage\",\"llmUrl\":\"/es/references/project-description/extensions/schemelanguage.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/schemelanguage\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/schemelanguage.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SchemeLanguage`\\n```swift\\nextension SchemeLanguage\\n```\\n\\n## Properties\\n### `doubleLengthPseudoLanguage`\\n\\n```swift\\npublic static var doubleLengthPseudoLanguage: SchemeLanguage\\n```\\n\\n### `rightToLeftPseudoLanguage`\\n\\n```swift\\npublic static var rightToLeftPseudoLanguage: SchemeLanguage\\n```\\n\\n### `accentedPseudoLanguage`\\n\\n```swift\\npublic static var accentedPseudoLanguage: SchemeLanguage\\n```\\n\\n### `boundedStringPseudoLanguage`\\n\\n```swift\\npublic static var boundedStringPseudoLanguage: SchemeLanguage\\n```\\n\\n### `rightToLeftWithStringsPseudoLanguage`\\n\\n```swift\\npublic static var rightToLeftWithStringsPseudoLanguage: SchemeLanguage\\n```\\n\\n\",\"title\":\"`SchemeLanguage`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/schemelanguage\",\"LLMS_URL\":\"/es/references/project-description/extensions/schemelanguage.md\"}},{\"path\":\"/es/references/project-description/extensions/settingsdictionary.md\",\"url\":\"/es/references/project-description/extensions/settingsdictionary\",\"llmUrl\":\"/es/references/project-description/extensions/settingsdictionary.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/settingsdictionary\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/settingsdictionary.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SettingsDictionary`\\n```swift\\nextension SettingsDictionary\\n```\\n\\n## Methods\\n### `merge(_:)`\\n\\n```swift\\npublic mutating func merge(_ other: SettingsDictionary)\\n```\\n\\n### `merging(_:)`\\n\\n```swift\\npublic func merging(_ other: SettingsDictionary) -> SettingsDictionary\\n```\\n\\n### `manualCodeSigning(identity:provisioningProfileSpecifier:)`\\n\\n```swift\\npublic func manualCodeSigning(identity: String? = nil, provisioningProfileSpecifier: String? = nil) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_STYLE\\\"` to `\\\"Manual\\\"`,` \\\"CODE_SIGN_IDENTITY\\\"` to `identity`, and `\\\"PROVISIONING_PROFILE_SPECIFIER\\\"` to\\n`provisioningProfileSpecifier`\\n\\n### `automaticCodeSigning(devTeam:)`\\n\\n```swift\\npublic func automaticCodeSigning(devTeam: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_STYLE\\\"` to `\\\"Automatic\\\"` and `\\\"DEVELOPMENT_TEAM\\\"` to `devTeam`\\n- Parameters:\\n - devTeam: Your Apple Developer Team ID. See\\n[here](https://developer.apple.com/help/account/manage-your-team/locate-your-team-id/) how you can find it.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| devTeam | Your Apple Developer Team ID. See how you can find it. |\\n\\n### `codeSignIdentityAppleDevelopment()`\\n\\n```swift\\npublic func codeSignIdentityAppleDevelopment() -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_IDENTITY\\\"` to `\\\"Apple Development\\\"`\\n\\n### `codeSignIdentity(_:)`\\n\\n```swift\\npublic func codeSignIdentity(_ identity: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_IDENTITY\\\"` to `identity`\\n\\n### `currentProjectVersion(_:)`\\n\\n```swift\\npublic func currentProjectVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CURRENT_PROJECT_VERSION\\\"` to `version`\\n\\n### `marketingVersion(_:)`\\n\\n```swift\\npublic func marketingVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"MARKETING_VERSION\\\"` to `version`\\n\\n### `appleGenericVersioningSystem()`\\n\\n```swift\\npublic func appleGenericVersioningSystem() -> SettingsDictionary\\n```\\n\\nSets `\\\"VERSIONING_SYSTEM\\\"` to `\\\"apple-generic\\\"`\\n\\n### `versionInfo(_:prefix:suffix:)`\\n\\n```swift\\npublic func versionInfo(_ version: String, prefix: String? = nil, suffix: String? = nil) -> SettingsDictionary\\n```\\n\\nSets \\\"VERSION_INFO_STRING\\\" to `version`. If `prefix` and `suffix` are not `nil`, they're used as `\\\"VERSION_INFO_PREFIX\\\"`\\nand `\\\"VERSION_INFO_SUFFIX\\\"` respectively.\\n\\n### `swiftVersion(_:)`\\n\\n```swift\\npublic func swiftVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_VERSION\\\"` to `version`\\n\\n### `otherSwiftFlags(_:)`\\n\\n```swift\\npublic func otherSwiftFlags(_ flags: String...) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_SWIFT_FLAGS\\\"` to `flags`\\n\\n### `otherSwiftFlags(_:)`\\n\\n```swift\\npublic func otherSwiftFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_SWIFT_FLAGS\\\"` to `flags`\\n\\n### `swiftActiveCompilationConditions(_:)`\\n\\n```swift\\npublic func swiftActiveCompilationConditions(_ conditions: String...) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_ACTIVE_COMPILATION_CONDITIONS\\\"` to `conditions`\\n\\n### `swiftActiveCompilationConditions(_:)`\\n\\n```swift\\npublic func swiftActiveCompilationConditions(_ conditions: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_ACTIVE_COMPILATION_CONDITIONS\\\"` to `conditions`\\n\\n### `swiftCompilationMode(_:)`\\n\\n```swift\\npublic func swiftCompilationMode(_ mode: SwiftCompilationMode) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_COMPILATION_MODE\\\"` to the available `SwiftCompilationMode` (`\\\"singlefile\\\"` or `\\\"wholemodule\\\"`)\\n\\n### `swiftOptimizationLevel(_:)`\\n\\n```swift\\npublic func swiftOptimizationLevel(_ level: SwiftOptimizationLevel) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OPTIMIZATION_LEVEL\\\"` to the available `SwiftOptimizationLevel` (`\\\"-O\\\"`, `\\\"-Onone\\\"` or `\\\"-Osize\\\"`)\\n\\n### `swiftOptimizeObjectLifetimes(_:)`\\n\\n```swift\\npublic func swiftOptimizeObjectLifetimes(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OPTIMIZE_OBJECT_LIFETIME\\\"` to `\\\"YES\\\"` or `\\\"NO\\\"`\\n\\n### `swiftObjcBridgingHeaderPath(_:)`\\n\\n```swift\\npublic func swiftObjcBridgingHeaderPath(_ path: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OBJC_BRIDGING_HEADER\\\"` to `path`\\n\\n### `otherCFlags(_:)`\\n\\n```swift\\npublic func otherCFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_CFLAGS\\\"` to `flags`\\n\\n### `otherLinkerFlags(_:)`\\n\\n```swift\\npublic func otherLinkerFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_LDFLAGS\\\"` to `flags`\\n\\n### `bitcodeEnabled(_:)`\\n\\n```swift\\npublic func bitcodeEnabled(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"ENABLE_BITCODE\\\"` to `\\\"YES\\\"` or `\\\"NO\\\"`\\n\\n### `debugInformationFormat(_:)`\\n\\n```swift\\npublic func debugInformationFormat(_ format: DebugInformationFormat) -> SettingsDictionary\\n```\\n\\nSets `\\\"DEBUG_INFORMATION_FORMAT\\\"`to `\\\"dwarf\\\"` or `\\\"dwarf-with-dsym\\\"`\\n\\n### `betaFeature_enableExplicitModules(_:)`\\n\\n```swift\\npublic func betaFeature_enableExplicitModules(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"_EXPERIMENTAL_SWIFT_EXPLICIT_MODULES\\\"`\\nNOTE: This is only available when using Xcode 16 or later.\\nThis setting may change and is not guaranteed to work across all beta versions.\\n\\n\",\"title\":\"`SettingsDictionary`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/settingsdictionary\",\"LLMS_URL\":\"/es/references/project-description/extensions/settingsdictionary.md\"}},{\"path\":\"/es/references/project-description/extensions/sourcefileglob.md\",\"url\":\"/es/references/project-description/extensions/sourcefileglob\",\"llmUrl\":\"/es/references/project-description/extensions/sourcefileglob.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/sourcefileglob\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/sourcefileglob.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SourceFileGlob`\\n```swift\\nextension SourceFileGlob: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`SourceFileGlob`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/sourcefileglob\",\"LLMS_URL\":\"/es/references/project-description/extensions/sourcefileglob.md\"}},{\"path\":\"/es/references/project-description/extensions/sourcefileslist.md\",\"url\":\"/es/references/project-description/extensions/sourcefileslist\",\"llmUrl\":\"/es/references/project-description/extensions/sourcefileslist.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/sourcefileslist\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/sourcefileslist.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SourceFilesList`\\n```swift\\nextension SourceFilesList: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: SourceFileGlob...)\\n```\\n\\n\",\"title\":\"`SourceFilesList`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/sourcefileslist\",\"LLMS_URL\":\"/es/references/project-description/extensions/sourcefileslist.md\"}},{\"path\":\"/es/references/project-description/extensions/string.stringinterpolation.md\",\"url\":\"/es/references/project-description/extensions/string.stringinterpolation\",\"llmUrl\":\"/es/references/project-description/extensions/string.stringinterpolation.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/string.stringinterpolation\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/string.stringinterpolation.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `String.StringInterpolation`\\n```swift\\nextension String.StringInterpolation\\n```\\n\\n## Methods\\n### `appendInterpolation(_:)`\\n\\n```swift\\npublic mutating func appendInterpolation(_ value: Template.Attribute)\\n```\\n\\n\",\"title\":\"`String.StringInterpolation`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/string.stringinterpolation\",\"LLMS_URL\":\"/es/references/project-description/extensions/string.stringinterpolation.md\"}},{\"path\":\"/es/references/project-description/extensions/template.attribute.value.md\",\"url\":\"/es/references/project-description/extensions/template.attribute.value\",\"llmUrl\":\"/es/references/project-description/extensions/template.attribute.value.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/template.attribute.value\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/template.attribute.value.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Template.Attribute.Value`\\n```swift\\nextension Template.Attribute.Value: ExpressibleByStringLiteral\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Template.Attribute.Value)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Template.Attribute.Value...)\\n```\\n\\n\",\"title\":\"`Template.Attribute.Value`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/template.attribute.value\",\"LLMS_URL\":\"/es/references/project-description/extensions/template.attribute.value.md\"}},{\"path\":\"/es/references/project-description/extensions/template.item.md\",\"url\":\"/es/references/project-description/extensions/template.item\",\"llmUrl\":\"/es/references/project-description/extensions/template.item.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/template.item\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/template.item.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Template.Item`\\n```swift\\nextension Template.Item\\n```\\n\\n## Methods\\n### `string(path:contents:)`\\n\\n```swift\\npublic static func string(path: String, contents: String) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where to generate file\\n - contents: String Contents\\n- Returns: `Template.Item` that is `.string`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where to generate file |\\n| contents | String Contents |\\n\\n### `file(path:templatePath:)`\\n\\n```swift\\npublic static func file(path: String, templatePath: Path) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where to generate file\\n - templatePath: Path of file where the template is defined\\n- Returns: `Template.Item` that is `.file`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where to generate file |\\n| templatePath | Path of file where the template is defined |\\n\\n### `directory(path:sourcePath:)`\\n\\n```swift\\npublic static func directory(path: String, sourcePath: Path) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where will be copied the folder\\n - sourcePath: Path of folder which will be copied\\n- Returns: `Template.Item` that is `.directory`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where will be copied the folder |\\n| sourcePath | Path of folder which will be copied |\\n\",\"title\":\"`Template.Item`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/template.item\",\"LLMS_URL\":\"/es/references/project-description/extensions/template.item.md\"}},{\"path\":\"/es/references/project-description/extensions/templatestring.md\",\"url\":\"/es/references/project-description/extensions/templatestring\",\"llmUrl\":\"/es/references/project-description/extensions/templatestring.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/templatestring\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/templatestring.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `TemplateString`\\n```swift\\nextension TemplateString: ExpressibleByStringLiteral\\n```\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic var description: String\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(stringInterpolation:)`\\n\\n```swift\\npublic init(stringInterpolation: StringInterpolation)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| stringInterpolation | An instance of `StringInterpolation` which has had each segment of the string literal appended to it. |\\n\",\"title\":\"`TemplateString`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/templatestring\",\"LLMS_URL\":\"/es/references/project-description/extensions/templatestring.md\"}},{\"path\":\"/es/references/project-description/extensions/version.md\",\"url\":\"/es/references/project-description/extensions/version\",\"llmUrl\":\"/es/references/project-description/extensions/version.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/extensions/version\\\"\\nLLMS_URL: \\\"/es/references/project-description/extensions/version.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Version`\\n```swift\\nextension Version: Comparable\\n```\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic var description: String\\n```\\n\\n## Methods\\n### `<(_:_:)`\\n\\n```swift\\npublic static func < (lhs: Version, rhs: Version) -> Bool\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| lhs | A value to compare. |\\n| rhs | Another value to compare. |\\n\\n### `init(string:)`\\n\\n```swift\\npublic init?(string: String)\\n```\\n\\nCreate a version object from string.\\n\\n- Parameters:\\n - string: The string to parse.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| string | The string to parse. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`Version`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/extensions/version\",\"LLMS_URL\":\"/es/references/project-description/extensions/version.md\"}},{\"path\":\"/es/references/project-description/structs/analyzeaction.md\",\"url\":\"/es/references/project-description/structs/analyzeaction\",\"llmUrl\":\"/es/references/project-description/structs/analyzeaction.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/analyzeaction\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/analyzeaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `AnalyzeAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n- [Methods](#methods)\\n - `analyzeAction(configuration:)`\\n\\n```swift\\npublic struct AnalyzeAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that analyzes the built products.\\n\\nIt's initialized with the `.analyzeAction` static method\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should be analyzed with.\\n\\n## Methods\\n### `analyzeAction(configuration:)`\\n\\n```swift\\npublic static func analyzeAction(configuration: ConfigurationName) -> AnalyzeAction\\n```\\n\\nReturns an analyze action.\\n- Parameter configuration: Indicates the build configuration the product should be analyzed with.\\n- Returns: Analyze action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should be analyzed with. |\\n\",\"title\":\"`AnalyzeAction`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/analyzeaction\",\"LLMS_URL\":\"/es/references/project-description/structs/analyzeaction.md\"}},{\"path\":\"/es/references/project-description/structs/archiveaction.md\",\"url\":\"/es/references/project-description/structs/archiveaction\",\"llmUrl\":\"/es/references/project-description/structs/archiveaction.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/archiveaction\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/archiveaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ArchiveAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `revealArchiveInOrganizer`\\n - `customArchiveName`\\n - `preActions`\\n - `postActions`\\n- [Methods](#methods)\\n - `archiveAction(configuration:revealArchiveInOrganizer:customArchiveName:preActions:postActions:)`\\n\\n```swift\\npublic struct ArchiveAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that archives the built products.\\n\\nIt's initialized with the `.archiveAction` static method.\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration to run the archive with.\\n\\n### `revealArchiveInOrganizer`\\n\\n```swift\\npublic var revealArchiveInOrganizer: Bool\\n```\\n\\nIf set to true, Xcode will reveal the Organizer on completion.\\n\\n### `customArchiveName`\\n\\n```swift\\npublic var customArchiveName: String?\\n```\\n\\nSet if you want to override Xcode's default archive name.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the archive process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the archive process.\\n\\n## Methods\\n### `archiveAction(configuration:revealArchiveInOrganizer:customArchiveName:preActions:postActions:)`\\n\\n```swift\\npublic static func archiveAction(\\n configuration: ConfigurationName,\\n revealArchiveInOrganizer: Bool = true,\\n customArchiveName: String? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = []\\n) -> ArchiveAction\\n```\\n\\nInitialize a `ArchiveAction`\\n- Parameters:\\n - configuration: Indicates the build configuration to run the archive with.\\n - revealArchiveInOrganizer: If set to true, Xcode will reveal the Organizer on completion.\\n - customArchiveName: Set if you want to override Xcode's default archive name.\\n - preActions: A list of actions that are executed before starting the archive process.\\n - postActions: A list of actions that are executed after the archive process.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration to run the archive with. |\\n| revealArchiveInOrganizer | If set to true, Xcode will reveal the Organizer on completion. |\\n| customArchiveName | Set if you want to override Xcode’s default archive name. |\\n| preActions | A list of actions that are executed before starting the archive process. |\\n| postActions | A list of actions that are executed after the archive process. |\\n\",\"title\":\"`ArchiveAction`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/archiveaction\",\"LLMS_URL\":\"/es/references/project-description/structs/archiveaction.md\"}},{\"path\":\"/es/references/project-description/structs/arguments.md\",\"url\":\"/es/references/project-description/structs/arguments\",\"llmUrl\":\"/es/references/project-description/structs/arguments.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/arguments\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/arguments.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Arguments`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `environmentVariables`\\n - `launchArguments`\\n- [Methods](#methods)\\n - `arguments(environmentVariables:launchArguments:)`\\n\\n```swift\\npublic struct Arguments: Equatable, Codable, Sendable\\n```\\n\\nA collection of arguments and environment variables.\\n\\n## Properties\\n### `environmentVariables`\\n\\n```swift\\npublic var environmentVariables: [String: EnvironmentVariable]\\n```\\n\\n### `launchArguments`\\n\\n```swift\\npublic var launchArguments: [LaunchArgument]\\n```\\n\\n## Methods\\n### `arguments(environmentVariables:launchArguments:)`\\n\\n```swift\\npublic static func arguments(\\n environmentVariables: [String: EnvironmentVariable] = [:],\\n launchArguments: [LaunchArgument] = []\\n) -> Self\\n```\\n\\n\",\"title\":\"`Arguments`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/arguments\",\"LLMS_URL\":\"/es/references/project-description/structs/arguments.md\"}},{\"path\":\"/es/references/project-description/structs/buildaction.md\",\"url\":\"/es/references/project-description/structs/buildaction\",\"llmUrl\":\"/es/references/project-description/structs/buildaction.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/buildaction\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/buildaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `BuildAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `targets`\\n - `preActions`\\n - `postActions`\\n - `buildOrder`\\n - `runPostActionsOnFailure`\\n - `findImplicitDependencies`\\n- [Methods](#methods)\\n - `buildAction(targets:preActions:postActions:buildOrder:runPostActionsOnFailure:findImplicitDependencies:)`\\n\\n```swift\\npublic struct BuildAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that builds products.\\n\\nIt's initialized with the `.buildAction` static method.\\n\\n## Properties\\n### `targets`\\n\\n```swift\\npublic var targets: [TargetReference]\\n```\\n\\nA list of targets to build, which are defined in the project.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the build process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the build process.\\n\\n### `buildOrder`\\n\\n```swift\\npublic var buildOrder: BuildOrder\\n```\\n\\nDefines the order in which targets are built.\\n\\n### `runPostActionsOnFailure`\\n\\n```swift\\npublic var runPostActionsOnFailure: Bool\\n```\\n\\nWhether the post actions should be run in the case of a failure\\n\\n### `findImplicitDependencies`\\n\\n```swift\\npublic var findImplicitDependencies: Bool\\n```\\n\\nWhether Xcode should be allowed to find dependencies implicitly. The default is `true`.\\n\\n## Methods\\n### `buildAction(targets:preActions:postActions:buildOrder:runPostActionsOnFailure:findImplicitDependencies:)`\\n\\n```swift\\npublic static func buildAction(\\n targets: [TargetReference],\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n buildOrder: BuildOrder = .dependency,\\n runPostActionsOnFailure: Bool = false,\\n findImplicitDependencies: Bool = true\\n) -> BuildAction\\n```\\n\\nReturns a build action.\\n- Parameters:\\n - targets: A list of targets to build, which are defined in the project.\\n - preActions: A list of actions that are executed before starting the build process.\\n - postActions: A list of actions that are executed after the build process.\\n - buildOrder: Defines the order in which targets are built. Defaults to `.dependency`.\\n - runPostActionsOnFailure: Whether the post actions should be run in the case of a failure\\n - findImplicitDependencies: Whether Xcode should be allowed to find dependencies implicitly. The default is `true`.\\n- Returns: Initialized build action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| targets | A list of targets to build, which are defined in the project. |\\n| preActions | A list of actions that are executed before starting the build process. |\\n| postActions | A list of actions that are executed after the build process. |\\n| buildOrder | Defines the order in which targets are built. Defaults to `.dependency`. |\\n| runPostActionsOnFailure | Whether the post actions should be run in the case of a failure |\\n| findImplicitDependencies | Whether Xcode should be allowed to find dependencies implicitly. The default is `true`. |\\n\",\"title\":\"`BuildAction`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/buildaction\",\"LLMS_URL\":\"/es/references/project-description/structs/buildaction.md\"}},{\"path\":\"/es/references/project-description/structs/buildrule.md\",\"url\":\"/es/references/project-description/structs/buildrule\",\"llmUrl\":\"/es/references/project-description/structs/buildrule.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/buildrule\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/buildrule.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `BuildRule`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `compilerSpec`\\n - `filePatterns`\\n - `fileType`\\n - `name`\\n - `outputFiles`\\n - `inputFiles`\\n - `outputFilesCompilerFlags`\\n - `script`\\n - `runOncePerArchitecture`\\n- [Methods](#methods)\\n - `buildRule(name:fileType:filePatterns:compilerSpec:inputFiles:outputFiles:outputFilesCompilerFlags:script:runOncePerArchitecture:)`\\n\\n```swift\\npublic struct BuildRule: Codable, Equatable, Sendable\\n```\\n\\nA BuildRule is used to specify a method for transforming an input file in to an output file(s).\\n\\n## Properties\\n### `compilerSpec`\\n\\n```swift\\npublic var compilerSpec: CompilerSpec\\n```\\n\\nCompiler specification for element transformation.\\n\\n### `filePatterns`\\n\\n```swift\\npublic var filePatterns: String?\\n```\\n\\nRegex pattern when `sourceFilesWithNamesMatching` is used.\\n\\n### `fileType`\\n\\n```swift\\npublic var fileType: FileType\\n```\\n\\nFile types which are processed by build rule.\\n\\n### `name`\\n\\n```swift\\npublic var name: String?\\n```\\n\\nBuild rule name.\\n\\n### `outputFiles`\\n\\n```swift\\npublic var outputFiles: [String]\\n```\\n\\nBuild rule output files.\\n\\n### `inputFiles`\\n\\n```swift\\npublic var inputFiles: [String]\\n```\\n\\nBuild rule input files.\\n\\n### `outputFilesCompilerFlags`\\n\\n```swift\\npublic var outputFilesCompilerFlags: [String]\\n```\\n\\nBuild rule output files compiler flags.\\n\\n### `script`\\n\\n```swift\\npublic var script: String?\\n```\\n\\nBuild rule custom script when `customScript` is used.\\n\\n### `runOncePerArchitecture`\\n\\n```swift\\npublic var runOncePerArchitecture: Bool?\\n```\\n\\nBuild rule run once per architecture.\\n\\n## Methods\\n### `buildRule(name:fileType:filePatterns:compilerSpec:inputFiles:outputFiles:outputFilesCompilerFlags:script:runOncePerArchitecture:)`\\n\\n```swift\\npublic static func buildRule(\\n name: String? = nil,\\n fileType: FileType,\\n filePatterns: String? = nil,\\n compilerSpec: CompilerSpec,\\n inputFiles: [String] = [],\\n outputFiles: [String] = [],\\n outputFilesCompilerFlags: [String] = [],\\n script: String? = nil,\\n runOncePerArchitecture: Bool = false\\n) -> Self\\n```\\n\\n\",\"title\":\"`BuildRule`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/buildrule\",\"LLMS_URL\":\"/es/references/project-description/structs/buildrule.md\"}},{\"path\":\"/es/references/project-description/structs/cloud.md\",\"url\":\"/es/references/project-description/structs/cloud\",\"llmUrl\":\"/es/references/project-description/structs/cloud.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/cloud\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/cloud.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Cloud`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `url`\\n - `projectId`\\n - `options`\\n- [Methods](#methods)\\n - `cloud(projectId:url:options:)`\\n\\n```swift\\npublic struct Cloud: Codable, Equatable, Sendable\\n```\\n\\nA cloud configuration, used for remote caching.\\n\\n## Properties\\n### `url`\\n\\n```swift\\npublic var url: String\\n```\\n\\nThe base URL that points to the Cloud server.\\n\\n### `projectId`\\n\\n```swift\\npublic var projectId: String\\n```\\n\\nThe project unique identifier.\\n\\n### `options`\\n\\n```swift\\npublic var options: [Option]\\n```\\n\\nThe configuration options.\\n\\n## Methods\\n### `cloud(projectId:url:options:)`\\n\\n```swift\\npublic static func cloud(projectId: String, url: String = \\\"https://tuist.dev\\\", options: [Option] = []) -> Cloud\\n```\\n\\nReturns a generic cloud configuration.\\n- Parameters:\\n - projectId: Project unique identifier.\\n - url: Base URL to the Cloud server.\\n - options: Cloud options.\\n- Returns: A Cloud instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| projectId | Project unique identifier. |\\n| url | Base URL to the Cloud server. |\\n| options | Cloud options. |\\n\",\"title\":\"`Cloud`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/cloud\",\"LLMS_URL\":\"/es/references/project-description/structs/cloud.md\"}},{\"path\":\"/es/references/project-description/structs/config.inspectoptions.md\",\"url\":\"/es/references/project-description/structs/config.inspectoptions\",\"llmUrl\":\"/es/references/project-description/structs/config.inspectoptions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/config.inspectoptions\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/config.inspectoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Config.InspectOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `redundantDependencies`\\n- [Methods](#methods)\\n - `options(redundantDependencies:)`\\n\\n```swift\\npublic struct InspectOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for inspect.\\n\\n## Properties\\n### `redundantDependencies`\\n\\n```swift\\npublic var redundantDependencies: RedundantDependencies\\n```\\n\\nOptions for inspect redundant dependencies.\\n\\n## Methods\\n### `options(redundantDependencies:)`\\n\\n```swift\\npublic static func options(\\n redundantDependencies: RedundantDependencies = .redundantDependencies()\\n) -> Self\\n```\\n\\n\",\"title\":\"`Config.InspectOptions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/config.inspectoptions\",\"LLMS_URL\":\"/es/references/project-description/structs/config.inspectoptions.md\"}},{\"path\":\"/es/references/project-description/structs/config.installoptions.md\",\"url\":\"/es/references/project-description/structs/config.installoptions\",\"llmUrl\":\"/es/references/project-description/structs/config.installoptions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/config.installoptions\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/config.installoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Config.InstallOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `passthroughSwiftPackageManagerArguments`\\n- [Methods](#methods)\\n - `options(passthroughSwiftPackageManagerArguments:)`\\n\\n```swift\\npublic struct InstallOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for install.\\n\\n## Properties\\n### `passthroughSwiftPackageManagerArguments`\\n\\n```swift\\npublic var passthroughSwiftPackageManagerArguments: [String]\\n```\\n\\nArguments passed to the Swift Package Manager's `swift package` command when running `swift package resolve`.\\n\\n## Methods\\n### `options(passthroughSwiftPackageManagerArguments:)`\\n\\n```swift\\npublic static func options(\\n passthroughSwiftPackageManagerArguments: [String] = []\\n) -> Self\\n```\\n\\n\",\"title\":\"`Config.InstallOptions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/config.installoptions\",\"LLMS_URL\":\"/es/references/project-description/structs/config.installoptions.md\"}},{\"path\":\"/es/references/project-description/structs/configuration.md\",\"url\":\"/es/references/project-description/structs/configuration\",\"llmUrl\":\"/es/references/project-description/structs/configuration.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/configuration\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/configuration.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Configuration`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `variant`\\n - `settings`\\n - `xcconfig`\\n- [Methods](#methods)\\n - `debug(name:settings:xcconfig:)`\\n - `release(name:settings:xcconfig:)`\\n\\n```swift\\npublic struct Configuration: Equatable, Codable, Sendable\\n```\\n\\nA the build settings and the .xcconfig file of a project or target. It is initialized with either the `.debug` or `.release`\\nstatic method.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: ConfigurationName\\n```\\n\\n### `variant`\\n\\n```swift\\npublic var variant: Variant\\n```\\n\\n### `settings`\\n\\n```swift\\npublic var settings: SettingsDictionary\\n```\\n\\n### `xcconfig`\\n\\n```swift\\npublic var xcconfig: Path?\\n```\\n\\n## Methods\\n### `debug(name:settings:xcconfig:)`\\n\\n```swift\\npublic static func debug(\\n name: ConfigurationName,\\n settings: SettingsDictionary = [:],\\n xcconfig: Path? = nil\\n) -> Configuration\\n```\\n\\nReturns a debug configuration.\\n\\n- Parameters:\\n - name: The name of the configuration to use\\n - settings: The base build settings to apply\\n - xcconfig: The xcconfig file to associate with this configuration\\n- Returns: A debug `CustomConfiguration`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the configuration to use |\\n| settings | The base build settings to apply |\\n| xcconfig | The xcconfig file to associate with this configuration |\\n\\n### `release(name:settings:xcconfig:)`\\n\\n```swift\\npublic static func release(\\n name: ConfigurationName,\\n settings: SettingsDictionary = [:],\\n xcconfig: Path? = nil\\n) -> Configuration\\n```\\n\\nCreates a release configuration\\n\\n- Parameters:\\n - name: The name of the configuration to use\\n - settings: The base build settings to apply\\n - xcconfig: The xcconfig file to associate with this configuration\\n- Returns: A release `CustomConfiguration`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the configuration to use |\\n| settings | The base build settings to apply |\\n| xcconfig | The xcconfig file to associate with this configuration |\\n\",\"title\":\"`Configuration`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/configuration\",\"LLMS_URL\":\"/es/references/project-description/structs/configuration.md\"}},{\"path\":\"/es/references/project-description/structs/configurationname.md\",\"url\":\"/es/references/project-description/structs/configurationname\",\"llmUrl\":\"/es/references/project-description/structs/configurationname.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/configurationname\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/configurationname.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ConfigurationName`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `rawValue`\\n - `debug`\\n - `release`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `configuration(_:)`\\n\\n```swift\\npublic struct ConfigurationName: ExpressibleByStringLiteral, Codable, Equatable, Sendable\\n```\\n\\nA configuration name.\\n\\nIt has build-in support for ``debug`` and ``release`` configurations.\\n\\nYou can extend with your own configurations using a extension:\\n```\\nimport ProjectDescription\\nextension ConfigurationName {\\n static var beta: ConfigurationName {\\n ConfigurationName(\\\"Beta\\\")\\n }\\n}\\n```\\n\\n## Properties\\n### `rawValue`\\n\\n```swift\\npublic var rawValue: String\\n```\\n\\nThe configuration name.\\n\\n### `debug`\\n\\n```swift\\npublic static var debug: ConfigurationName\\n```\\n\\nReturns a configuration named \\\"Debug\\\"\\n\\n### `release`\\n\\n```swift\\npublic static var release: ConfigurationName\\n```\\n\\nReturns a configuration named \\\"Release\\\"\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: StringLiteralType)\\n```\\n\\nCreates a configuration name with its name.\\n- Parameter value: Configuration name.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | Configuration name. |\\n\\n### `configuration(_:)`\\n\\n```swift\\npublic static func configuration(_ name: String) -> ConfigurationName\\n```\\n\\nReturns a configuration name with its name.\\n- Parameter name: Configuration name.\\n- Returns: Initialized configuration name.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Configuration name. |\\n\",\"title\":\"`ConfigurationName`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/configurationname\",\"LLMS_URL\":\"/es/references/project-description/structs/configurationname.md\"}},{\"path\":\"/es/references/project-description/structs/copyfilesaction.md\",\"url\":\"/es/references/project-description/structs/copyfilesaction\",\"llmUrl\":\"/es/references/project-description/structs/copyfilesaction.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/copyfilesaction\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/copyfilesaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `CopyFilesAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `destination`\\n - `subpath`\\n - `files`\\n- [Methods](#methods)\\n - `absolutePath(name:subpath:files:)`\\n - `productsDirectory(name:subpath:files:)`\\n - `wrapper(name:subpath:files:)`\\n - `executables(name:subpath:files:)`\\n - `resources(name:subpath:files:)`\\n - `javaResources(name:subpath:files:)`\\n - `frameworks(name:subpath:files:)`\\n - `sharedFrameworks(name:subpath:files:)`\\n - `sharedSupport(name:subpath:files:)`\\n - `plugins(name:subpath:files:)`\\n\\n```swift\\npublic struct CopyFilesAction: Codable, Equatable, Sendable\\n```\\n\\nA build phase action used to copy files.\\n\\nCopy files actions, represented as target copy files build phases, are useful to associate project files\\nand products of other targets with the target and copies them to a specified destination, typically a\\nsubfolder within a product. This action may be used multiple times per target.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of the build phase when the project gets generated.\\n\\n### `destination`\\n\\n```swift\\npublic var destination: Destination\\n```\\n\\nDestination to copy files to.\\n\\n### `subpath`\\n\\n```swift\\npublic var subpath: String?\\n```\\n\\nPath to a folder inside the destination.\\n\\n### `files`\\n\\n```swift\\npublic var files: [CopyFileElement]\\n```\\n\\nRelative paths to the files to be copied.\\n\\n## Methods\\n### `absolutePath(name:subpath:files:)`\\n\\n```swift\\npublic static func absolutePath(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for an absolute path.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `productsDirectory(name:subpath:files:)`\\n\\n```swift\\npublic static func productsDirectory(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the products directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `wrapper(name:subpath:files:)`\\n\\n```swift\\npublic static func wrapper(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the wrapper directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `executables(name:subpath:files:)`\\n\\n```swift\\npublic static func executables(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the executables directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `resources(name:subpath:files:)`\\n\\n```swift\\npublic static func resources(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the resources directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `javaResources(name:subpath:files:)`\\n\\n```swift\\npublic static func javaResources(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the java resources directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `frameworks(name:subpath:files:)`\\n\\n```swift\\npublic static func frameworks(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the frameworks directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `sharedFrameworks(name:subpath:files:)`\\n\\n```swift\\npublic static func sharedFrameworks(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the shared frameworks directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `sharedSupport(name:subpath:files:)`\\n\\n```swift\\npublic static func sharedSupport(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the shared support directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `plugins(name:subpath:files:)`\\n\\n```swift\\npublic static func plugins(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the plugins directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\",\"title\":\"`CopyFilesAction`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/copyfilesaction\",\"LLMS_URL\":\"/es/references/project-description/structs/copyfilesaction.md\"}},{\"path\":\"/es/references/project-description/structs/coredatamodel.md\",\"url\":\"/es/references/project-description/structs/coredatamodel\",\"llmUrl\":\"/es/references/project-description/structs/coredatamodel.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/coredatamodel\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/coredatamodel.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `CoreDataModel`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `path`\\n - `currentVersion`\\n- [Methods](#methods)\\n - `coreDataModel(_:currentVersion:)`\\n\\n```swift\\npublic struct CoreDataModel: Codable, Equatable, Sendable\\n```\\n\\nA Core Data model.\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic var path: Path\\n```\\n\\nRelative path to the model.\\n\\n### `currentVersion`\\n\\n```swift\\npublic var currentVersion: String?\\n```\\n\\nOptional Current version (with or without extension)\\n\\n## Methods\\n### `coreDataModel(_:currentVersion:)`\\n\\n```swift\\npublic static func coreDataModel(\\n _ path: Path,\\n currentVersion: String? = nil\\n) -> Self\\n```\\n\\nCreates a Core Data model from a path.\\n\\n- Parameters:\\n - path: relative path to the Core Data model.\\n - currentVersion: optional current version name (with or without the extension)\\n By providing nil, it will try to read it from the .xccurrentversion file.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | relative path to the Core Data model. |\\n| currentVersion | optional current version name (with or without the extension) By providing nil, it will try to read it from the .xccurrentversion file. |\\n\",\"title\":\"`CoreDataModel`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/coredatamodel\",\"LLMS_URL\":\"/es/references/project-description/structs/coredatamodel.md\"}},{\"path\":\"/es/references/project-description/structs/deploymenttargets.md\",\"url\":\"/es/references/project-description/structs/deploymenttargets\",\"llmUrl\":\"/es/references/project-description/structs/deploymenttargets.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/deploymenttargets\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/deploymenttargets.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `DeploymentTargets`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `iOS`\\n - `macOS`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n- [Methods](#methods)\\n - `multiplatform(iOS:macOS:watchOS:tvOS:visionOS:)`\\n - `iOS(_:)`\\n - `macOS(_:)`\\n - `watchOS(_:)`\\n - `tvOS(_:)`\\n - `visionOS(_:)`\\n\\n```swift\\npublic struct DeploymentTargets: Hashable, Codable, Sendable\\n```\\n\\nA struct representing the minimum deployment versions for each platform.\\n\\n## Properties\\n### `iOS`\\n\\n```swift\\npublic var iOS: String?\\n```\\n\\nMinimum deployment version for iOS\\n\\n### `macOS`\\n\\n```swift\\npublic var macOS: String?\\n```\\n\\nMinimum deployment version for macOS\\n\\n### `watchOS`\\n\\n```swift\\npublic var watchOS: String?\\n```\\n\\nMinimum deployment version for watchOS\\n\\n### `tvOS`\\n\\n```swift\\npublic var tvOS: String?\\n```\\n\\nMinimum deployment version for tvOS\\n\\n### `visionOS`\\n\\n```swift\\npublic var visionOS: String?\\n```\\n\\nMinimum deployment version for visionOS\\n\\n## Methods\\n### `multiplatform(iOS:macOS:watchOS:tvOS:visionOS:)`\\n\\n```swift\\npublic static func multiplatform(\\n iOS: String? = nil,\\n macOS: String? = nil,\\n watchOS: String? = nil,\\n tvOS: String? = nil,\\n visionOS: String? = nil\\n) -> Self\\n```\\n\\nMultiplatform deployment target\\n\\n### `iOS(_:)`\\n\\n```swift\\npublic static func iOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `iOS` only minimum version\\n\\n### `macOS(_:)`\\n\\n```swift\\npublic static func macOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `macOS` only minimum version\\n\\n### `watchOS(_:)`\\n\\n```swift\\npublic static func watchOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `watchOS` only minimum version\\n\\n### `tvOS(_:)`\\n\\n```swift\\npublic static func tvOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `tvOS` only minimum version\\n\\n### `visionOS(_:)`\\n\\n```swift\\npublic static func visionOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `visionOS` only minimum version\\n\\n\",\"title\":\"`DeploymentTargets`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/deploymenttargets\",\"LLMS_URL\":\"/es/references/project-description/structs/deploymenttargets.md\"}},{\"path\":\"/es/references/project-description/structs/environmentvariable.md\",\"url\":\"/es/references/project-description/structs/environmentvariable\",\"llmUrl\":\"/es/references/project-description/structs/environmentvariable.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/environmentvariable\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/environmentvariable.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `EnvironmentVariable`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `value`\\n - `isEnabled`\\n- [Methods](#methods)\\n - `environmentVariable(value:isEnabled:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct EnvironmentVariable: Equatable, Codable, Hashable, ExpressibleByStringLiteral, Sendable\\n```\\n\\nIt represents an environment variable that is passed when running a scheme's action\\n\\n## Properties\\n### `value`\\n\\n```swift\\npublic var value: String\\n```\\n\\nThe value of the environment variable\\n\\n### `isEnabled`\\n\\n```swift\\npublic var isEnabled: Bool\\n```\\n\\nWhether the variable is enabled or not\\n\\n## Methods\\n### `environmentVariable(value:isEnabled:)`\\n\\n```swift\\npublic static func environmentVariable(value: String, isEnabled: Bool) -> Self\\n```\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`EnvironmentVariable`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/environmentvariable\",\"LLMS_URL\":\"/es/references/project-description/structs/environmentvariable.md\"}},{\"path\":\"/es/references/project-description/structs/executionaction.md\",\"url\":\"/es/references/project-description/structs/executionaction\",\"llmUrl\":\"/es/references/project-description/structs/executionaction.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/executionaction\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/executionaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ExecutionAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `title`\\n - `scriptText`\\n - `target`\\n - `shellPath`\\n- [Methods](#methods)\\n - `executionAction(title:scriptText:target:shellPath:)`\\n\\n```swift\\npublic struct ExecutionAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that can be executed as part of another action for pre or post execution.\\n\\n## Properties\\n### `title`\\n\\n```swift\\npublic var title: String\\n```\\n\\n### `scriptText`\\n\\n```swift\\npublic var scriptText: String\\n```\\n\\n### `target`\\n\\n```swift\\npublic var target: TargetReference?\\n```\\n\\n### `shellPath`\\n\\n```swift\\npublic var shellPath: String?\\n```\\n\\nThe path to the shell which shall execute this script. if it is nil, Xcode will use default value.\\n\\n## Methods\\n### `executionAction(title:scriptText:target:shellPath:)`\\n\\n```swift\\npublic static func executionAction(\\n title: String = \\\"Run Script\\\",\\n scriptText: String,\\n target: TargetReference? = nil,\\n shellPath: String? = nil\\n) -> Self\\n```\\n\\n\",\"title\":\"`ExecutionAction`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/executionaction\",\"LLMS_URL\":\"/es/references/project-description/structs/executionaction.md\"}},{\"path\":\"/es/references/project-description/structs/filelist.md\",\"url\":\"/es/references/project-description/structs/filelist\",\"llmUrl\":\"/es/references/project-description/structs/filelist.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/filelist\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/filelist.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `FileList`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `globs`\\n- [Methods](#methods)\\n - `list(_:)`\\n\\n```swift\\npublic struct FileList: Codable, Equatable, Sendable\\n```\\n\\nA collection of file globs.\\n\\nThe list of files can be initialized with a string that represents the glob pattern, or an array of strings, which represents\\na list of glob patterns.\\n\\n## Properties\\n### `globs`\\n\\n```swift\\npublic let globs: [FileListGlob]\\n```\\n\\nGlob pattern to the files.\\n\\n## Methods\\n### `list(_:)`\\n\\n```swift\\npublic static func list(_ globs: [FileListGlob]) -> FileList\\n```\\n\\nCreates a file list from a collection of glob patterns.\\n\\n - glob: Relative glob pattern.\\n - excluding: Relative glob patterns for excluded files.\\n\\n\",\"title\":\"`FileList`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/filelist\",\"LLMS_URL\":\"/es/references/project-description/structs/filelist.md\"}},{\"path\":\"/es/references/project-description/structs/filelistglob.md\",\"url\":\"/es/references/project-description/structs/filelistglob\",\"llmUrl\":\"/es/references/project-description/structs/filelistglob.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/filelistglob\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/filelistglob.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `FileListGlob`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `glob`\\n - `excluding`\\n- [Methods](#methods)\\n - `glob(_:excluding:)`\\n - `glob(_:excluding:)`\\n\\n```swift\\npublic struct FileListGlob: Codable, Equatable, Sendable\\n```\\n\\nA glob pattern that refers to files.\\n\\n## Properties\\n### `glob`\\n\\n```swift\\npublic var glob: Path\\n```\\n\\nThe path with a glob pattern.\\n\\n### `excluding`\\n\\n```swift\\npublic var excluding: [Path]\\n```\\n\\nThe excluding paths.\\n\\n## Methods\\n### `glob(_:excluding:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: [Path] = []\\n) -> FileListGlob\\n```\\n\\nReturns a generic file list glob.\\n- Parameters:\\n - glob: The path with a glob pattern.\\n - excluding: The excluding paths.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| glob | The path with a glob pattern. |\\n| excluding | The excluding paths. |\\n\\n### `glob(_:excluding:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: Path?\\n) -> FileListGlob\\n```\\n\\nReturns a file list glob with an optional excluding path.\\n\\n\",\"title\":\"`FileListGlob`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/filelistglob\",\"LLMS_URL\":\"/es/references/project-description/structs/filelistglob.md\"}},{\"path\":\"/es/references/project-description/structs/headers.md\",\"url\":\"/es/references/project-description/structs/headers\",\"llmUrl\":\"/es/references/project-description/structs/headers.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/headers\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/headers.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Headers`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `umbrellaHeader`\\n - `public`\\n - `private`\\n - `project`\\n - `exclusionRule`\\n- [Methods](#methods)\\n - `headers(public:private:project:exclusionRule:)`\\n - `allHeaders(from:umbrella:private:)`\\n - `onlyHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic struct Headers: Codable, Equatable, Sendable\\n```\\n\\nA group of public, private and project headers.\\n\\n## Properties\\n### `umbrellaHeader`\\n\\n```swift\\npublic var umbrellaHeader: Path?\\n```\\n\\nPath to an umbrella header, which will be used to get list of public headers.\\n\\n### `public`\\n\\n```swift\\npublic var `public`: FileList?\\n```\\n\\nRelative glob pattern that points to the public headers.\\n\\n### `private`\\n\\n```swift\\npublic var `private`: FileList?\\n```\\n\\nRelative glob pattern that points to the private headers.\\n\\n### `project`\\n\\n```swift\\npublic var project: FileList?\\n```\\n\\nRelative glob pattern that points to the project headers.\\n\\n### `exclusionRule`\\n\\n```swift\\npublic var exclusionRule: AutomaticExclusionRule\\n```\\n\\nRule, which determines how to resolve found duplicates in public/private/project scopes\\n\\n## Methods\\n### `headers(public:private:project:exclusionRule:)`\\n\\n```swift\\npublic static func headers(\\n public: FileList? = nil,\\n private: FileList? = nil,\\n project: FileList? = nil,\\n exclusionRule: AutomaticExclusionRule = .projectExcludesPrivateAndPublic\\n) -> Headers\\n```\\n\\n### `allHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic static func allHeaders(\\n from list: FileList,\\n umbrella: Path,\\n private privateHeaders: FileList? = nil\\n) -> Headers\\n```\\n\\nHeaders from the file list are included as:\\n- `public`, if the header is present in the umbrella header\\n- `private`, if the header is present in the `private` list\\n- `project`, otherwise\\n- Parameters:\\n - from: File list, which contains `public` and `project` headers\\n - umbrella: File path to the umbrella header\\n - private: File list, which contains `private` headers\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| from | File list, which contains `public` and `project` headers |\\n| umbrella | File path to the umbrella header |\\n| private | File list, which contains `private` headers |\\n\\n### `onlyHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic static func onlyHeaders(\\n from list: FileList,\\n umbrella: Path,\\n private privateHeaders: FileList? = nil\\n) -> Headers\\n```\\n\\nHeaders from the file list are included as:\\n- `public`, if the header is present in the umbrella header\\n- `private`, if the header is present in the `private` list\\n- not included, otherwise\\n- Parameters:\\n - from: File list, which contains `public` and `project` headers\\n - umbrella: File path to the umbrella header\\n - private: File list, which contains `private` headers\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| from | File list, which contains `public` and `project` headers |\\n| umbrella | File path to the umbrella header |\\n| private | File list, which contains `private` headers |\\n\",\"title\":\"`Headers`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/headers\",\"LLMS_URL\":\"/es/references/project-description/structs/headers.md\"}},{\"path\":\"/es/references/project-description/structs/inspectoptions.redundantdependencies.md\",\"url\":\"/es/references/project-description/structs/inspectoptions.redundantdependencies\",\"llmUrl\":\"/es/references/project-description/structs/inspectoptions.redundantdependencies.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/inspectoptions.redundantdependencies\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/inspectoptions.redundantdependencies.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `InspectOptions.RedundantDependencies`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `ignoreTagsMatching`\\n- [Methods](#methods)\\n - `redundantDependencies(ignoreTagsMatching:)`\\n\\n```swift\\npublic struct RedundantDependencies: Codable, Equatable, Sendable\\n```\\n\\nOptions for inspect redundant dependencies.\\n\\n## Properties\\n### `ignoreTagsMatching`\\n\\n```swift\\npublic let ignoreTagsMatching: Set\\n```\\n\\nThe set of tags which targets should be ignored when inspecting redundant dependencies\\n\\n## Methods\\n### `redundantDependencies(ignoreTagsMatching:)`\\n\\n```swift\\npublic static func redundantDependencies(\\n ignoreTagsMatching: Set = []\\n) -> Self\\n```\\n\\n\",\"title\":\"`InspectOptions.RedundantDependencies`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/inspectoptions.redundantdependencies\",\"LLMS_URL\":\"/es/references/project-description/structs/inspectoptions.redundantdependencies.md\"}},{\"path\":\"/es/references/project-description/structs/launchargument.md\",\"url\":\"/es/references/project-description/structs/launchargument\",\"llmUrl\":\"/es/references/project-description/structs/launchargument.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/launchargument\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/launchargument.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `LaunchArgument`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `isEnabled`\\n- [Methods](#methods)\\n - `launchArgument(name:isEnabled:)`\\n\\n```swift\\npublic struct LaunchArgument: Equatable, Codable, Sendable\\n```\\n\\nA launch argument, passed when running a scheme.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of argument\\n\\n### `isEnabled`\\n\\n```swift\\npublic var isEnabled: Bool\\n```\\n\\nIf enabled then argument is marked as active\\n\\n## Methods\\n### `launchArgument(name:isEnabled:)`\\n\\n```swift\\npublic static func launchArgument(name: String, isEnabled: Bool) -> Self\\n```\\n\\nCreate new launch argument\\n- Parameters:\\n - name: Name of argument\\n - isEnabled: If enabled then argument is marked as active\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of argument |\\n| isEnabled | If enabled then argument is marked as active |\\n\",\"title\":\"`LaunchArgument`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/launchargument\",\"LLMS_URL\":\"/es/references/project-description/structs/launchargument.md\"}},{\"path\":\"/es/references/project-description/structs/metaloptions.md\",\"url\":\"/es/references/project-description/structs/metaloptions\",\"llmUrl\":\"/es/references/project-description/structs/metaloptions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/metaloptions\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/metaloptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `MetalOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `apiValidation`\\n - `shaderValidation`\\n - `showGraphicsOverview`\\n - `logGraphicsOverview`\\n- [Methods](#methods)\\n - `options(apiValidation:shaderValidation:showGraphicsOverview:logGraphicsOverview:)`\\n\\n```swift\\npublic struct MetalOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions to configure scheme metal options for run and test actions.\\n\\n## Properties\\n### `apiValidation`\\n\\n```swift\\npublic var apiValidation: Bool\\n```\\n\\nAPI Validation\\n\\n### `shaderValidation`\\n\\n```swift\\npublic var shaderValidation: Bool\\n```\\n\\nShader Validation\\n\\n### `showGraphicsOverview`\\n\\n```swift\\npublic var showGraphicsOverview: Bool\\n```\\n\\nShows graphics overview\\n\\n### `logGraphicsOverview`\\n\\n```swift\\npublic var logGraphicsOverview: Bool\\n```\\n\\nLog graphics overview\\n\\n## Methods\\n### `options(apiValidation:shaderValidation:showGraphicsOverview:logGraphicsOverview:)`\\n\\n```swift\\npublic static func options(\\n apiValidation: Bool = true,\\n shaderValidation: Bool = false,\\n showGraphicsOverview: Bool = false,\\n logGraphicsOverview: Bool = false\\n) -> MetalOptions\\n```\\n\\nCreates a `MetalOptions` instance\\n\\n- Parameters:\\n - apiValidation: Specifies whether API validation is enabled.\\n - shaderValidation: Specifies whether shader validation is enabled.\\n - showGraphicsOverview: Specifies whether to show the graphics overview.\\n - logGraphicsOverview: Specifies whether to log the graphics overview.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| apiValidation | Specifies whether API validation is enabled. |\\n| shaderValidation | Specifies whether shader validation is enabled. |\\n| showGraphicsOverview | Specifies whether to show the graphics overview. |\\n| logGraphicsOverview | Specifies whether to log the graphics overview. |\\n\",\"title\":\"`MetalOptions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/metaloptions\",\"LLMS_URL\":\"/es/references/project-description/structs/metaloptions.md\"}},{\"path\":\"/es/references/project-description/structs/ondemandresourcestags.md\",\"url\":\"/es/references/project-description/structs/ondemandresourcestags\",\"llmUrl\":\"/es/references/project-description/structs/ondemandresourcestags.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/ondemandresourcestags\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/ondemandresourcestags.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `OnDemandResourcesTags`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `initialInstall`\\n - `prefetchOrder`\\n- [Methods](#methods)\\n - `tags(initialInstall:prefetchOrder:)`\\n\\n```swift\\npublic struct OnDemandResourcesTags: Codable, Equatable, Sendable\\n```\\n\\nOn-demand resources tags associated with Initial Install and Prefetched Order categories\\n\\n## Properties\\n### `initialInstall`\\n\\n```swift\\npublic let initialInstall: [String]?\\n```\\n\\nInitial install tags associated with on demand resources\\n\\n### `prefetchOrder`\\n\\n```swift\\npublic let prefetchOrder: [String]?\\n```\\n\\nPrefetched tag order associated with on demand resources\\n\\n## Methods\\n### `tags(initialInstall:prefetchOrder:)`\\n\\n```swift\\npublic static func tags(initialInstall: [String]?, prefetchOrder: [String]?) -> Self\\n```\\n\\nReturns OnDemandResourcesTags.\\n- Parameter initialInstall: An array of strings that lists the tags assosiated with the Initial install tags category.\\n- Parameter prefetchOrder: An array of strings that lists the tags associated with the Prefetch tag order category.\\n- Returns: OnDemandResourcesTags.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| initialInstall | An array of strings that lists the tags assosiated with the Initial install tags category. |\\n| prefetchOrder | An array of strings that lists the tags associated with the Prefetch tag order category. |\\n\",\"title\":\"`OnDemandResourcesTags`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/ondemandresourcestags\",\"LLMS_URL\":\"/es/references/project-description/structs/ondemandresourcestags.md\"}},{\"path\":\"/es/references/project-description/structs/packagesettings.md\",\"url\":\"/es/references/project-description/structs/packagesettings\",\"llmUrl\":\"/es/references/project-description/structs/packagesettings.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/packagesettings\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/packagesettings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PackageSettings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `productTypes`\\n - `productDestinations`\\n - `baseSettings`\\n - `targetSettings`\\n - `projectOptions`\\n- [Methods](#methods)\\n - `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n - `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic struct PackageSettings: Codable, Equatable, Sendable\\n```\\n\\nA custom Swift Package Manager configuration\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n import ProjectDescriptionHelpers\\n\\n let packageSettings = PackageSettings(\\n productTypes: [\\n \\\"Alamofire\\\": .framework, // default is .staticFramework\\n ]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"PackageName\\\",\\n dependencies: [\\n .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n ]\\n)\\n```\\n\\n## Properties\\n### `productTypes`\\n\\n```swift\\npublic var productTypes: [String: Product]\\n```\\n\\nThe custom `Product` type to be used for SPM targets.\\n\\n### `productDestinations`\\n\\n```swift\\npublic var productDestinations: [String: Destinations]\\n```\\n\\nCustom product destinations where key of the dictionary is the name of the SPM product and the value contains the\\nsupported destinations.\\n**Note**: This setting should only be used when using Tuist for SPM package projects, _not_ for your external\\ndependencies.\\nSPM implicitly always supports all platforms, but some commands like `tuist cache` depend on destinations being explicit.\\nIf a product does not support all destinations, you can use `productDestinations` to make the supported destinations\\nexplicit.\\n\\n### `baseSettings`\\n\\n```swift\\npublic var baseSettings: Settings\\n```\\n\\nThe base settings to be used for targets generated from SwiftPackageManager\\n\\n### `targetSettings`\\n\\n```swift\\npublic var targetSettings: [String: Settings]\\n```\\n\\nAdditional settings to be added to targets generated from SwiftPackageManager.\\n\\n### `projectOptions`\\n\\n```swift\\npublic var projectOptions: [String: Project.Options]\\n```\\n\\nCustom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n## Methods\\n### `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic init(\\n productTypes: [String: Product] = [:],\\n productDestinations: [String: Destinations] = [:],\\n baseSettings: Settings = .settings(),\\n targetSettings: [String: Settings] = [:],\\n projectOptions: [String: Project.Options] = [:]\\n)\\n```\\n\\nCreates `PackageSettings` instance for custom Swift Package Manager configuration.\\n- Parameters:\\n - productTypes: The custom `Product` types to be used for SPM targets.\\n - productDestinations: Custom destinations to be used for SPM products.\\n - baseSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - targetSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - projectOptions: Custom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| productTypes | The custom `Product` types to be used for SPM targets. |\\n| productDestinations | Custom destinations to be used for SPM products. |\\n| baseSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| targetSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| projectOptions | Custom project configurations to be used for projects generated from SwiftPackageManager. |\\n\\n### `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic init(\\n productTypes: [String: Product] = [:],\\n productDestinations: [String: Destinations] = [:],\\n baseSettings: Settings = .settings(),\\n targetSettings: [String: SettingsDictionary],\\n projectOptions: [String: Project.Options] = [:]\\n)\\n```\\n\\nCreates `PackageSettings` instance for custom Swift Package Manager configuration.\\n- Parameters:\\n - productTypes: The custom `Product` types to be used for SPM targets.\\n - productDestinations: Custom destinations to be used for SPM products.\\n - baseSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - targetSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - projectOptions: Custom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| productTypes | The custom `Product` types to be used for SPM targets. |\\n| productDestinations | Custom destinations to be used for SPM products. |\\n| baseSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| targetSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| projectOptions | Custom project configurations to be used for projects generated from SwiftPackageManager. |\\n\",\"title\":\"`PackageSettings`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/packagesettings\",\"LLMS_URL\":\"/es/references/project-description/structs/packagesettings.md\"}},{\"path\":\"/es/references/project-description/structs/path.md\",\"url\":\"/es/references/project-description/structs/path\",\"llmUrl\":\"/es/references/project-description/structs/path.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/path\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/path.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Path`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `type`\\n - `pathString`\\n - `callerPath`\\n- [Methods](#methods)\\n - `path(_:)`\\n - `relativeToCurrentFile(_:callerPath:)`\\n - `relativeToManifest(_:)`\\n - `relativeToRoot(_:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct Path: ExpressibleByStringInterpolation, Codable, Hashable, Sendable\\n```\\n\\nA path represents to a file, directory, or a group of files represented by a glob expression.\\n\\nPaths can be relative and absolute. We discourage using absolute paths because they create a dependency with the environment\\nwhere they are defined.\\n\\n## Properties\\n### `type`\\n\\n```swift\\npublic var type: PathType\\n```\\n\\n### `pathString`\\n\\n```swift\\npublic var pathString: String\\n```\\n\\n### `callerPath`\\n\\n```swift\\npublic var callerPath: String?\\n```\\n\\n## Methods\\n### `path(_:)`\\n\\n```swift\\npublic static func path(_ path: String) -> Self\\n```\\n\\nDefault PathType is `.relativeToManifest`\\n\\n### `relativeToCurrentFile(_:callerPath:)`\\n\\n```swift\\npublic static func relativeToCurrentFile(_ pathString: String, callerPath: StaticString = #file) -> Path\\n```\\n\\nInitialize a path that is relative to the file that defines the path.\\n\\n### `relativeToManifest(_:)`\\n\\n```swift\\npublic static func relativeToManifest(_ pathString: String) -> Path\\n```\\n\\nInitialize a path that is relative to the directory that contains the manifest file being loaded, for example the\\ndirectory that contains the Project.swift file.\\n\\n### `relativeToRoot(_:)`\\n\\n```swift\\npublic static func relativeToRoot(_ pathString: String) -> Path\\n```\\n\\nInitialize a path that is relative to the closest directory that contains a Tuist or a .git directory.\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\nInitializer uses `.relativeToRoot` if path starts with `//` otherwise it is `.relativeToManifest` by default\\n\\n\",\"title\":\"`Path`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/path\",\"LLMS_URL\":\"/es/references/project-description/structs/path.md\"}},{\"path\":\"/es/references/project-description/structs/platformcondition.md\",\"url\":\"/es/references/project-description/structs/platformcondition\",\"llmUrl\":\"/es/references/project-description/structs/platformcondition.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/platformcondition\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/platformcondition.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PlatformCondition`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `platformFilters`\\n- [Methods](#methods)\\n - `when(_:)`\\n\\n```swift\\npublic struct PlatformCondition: Codable, Hashable, Equatable, Sendable\\n```\\n\\nA condition applied to an \\\"entity\\\" allowing it to only be used in certain circumstances\\n\\n## Properties\\n### `platformFilters`\\n\\n```swift\\npublic let platformFilters: Set\\n```\\n\\n## Methods\\n### `when(_:)`\\n\\n```swift\\npublic static func when(_ platformFilters: Set) -> PlatformCondition?\\n```\\n\\nCreates a condition using the specified set of filters.\\n- Parameter platformFilters: filters to define which platforms this condition supports\\n- Returns: a `Condition` with the given set of filters or `nil` if empty.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| platformFilters | filters to define which platforms this condition supports |\\n\",\"title\":\"`PlatformCondition`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/platformcondition\",\"LLMS_URL\":\"/es/references/project-description/structs/platformcondition.md\"}},{\"path\":\"/es/references/project-description/structs/plugin.md\",\"url\":\"/es/references/project-description/structs/plugin\",\"llmUrl\":\"/es/references/project-description/structs/plugin.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/plugin\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/plugin.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Plugin`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n- [Methods](#methods)\\n - `init(name:)`\\n\\n```swift\\npublic struct Plugin: Codable, Equatable, Sendable\\n```\\n\\nA plugin representation.\\n\\nSupported plugins include:\\n- ProjectDescriptionHelpers\\n - These are plugins designed to be usable by any other manifest excluding `Config` and `Plugin`.\\n - The source files for these helpers must live under a ProjectDescriptionHelpers directory in the location where `Plugin`\\nmanifest lives.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the `Plugin`.\\n\\n## Methods\\n### `init(name:)`\\n\\n```swift\\npublic init(name: String)\\n```\\n\\nCreates a new plugin.\\n- Parameters:\\n - name: The name of the plugin.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the plugin. |\\n\",\"title\":\"`Plugin`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/plugin\",\"LLMS_URL\":\"/es/references/project-description/structs/plugin.md\"}},{\"path\":\"/es/references/project-description/structs/pluginlocation.md\",\"url\":\"/es/references/project-description/structs/pluginlocation\",\"llmUrl\":\"/es/references/project-description/structs/pluginlocation.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/pluginlocation\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/pluginlocation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PluginLocation`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `type`\\n- [Methods](#methods)\\n - `local(path:)`\\n - `git(url:tag:directory:releaseUrl:)`\\n - `git(url:sha:directory:)`\\n\\n```swift\\npublic struct PluginLocation: Codable, Equatable, Sendable\\n```\\n\\nA location to a plugin, either local or remote.\\n\\n## Properties\\n### `type`\\n\\n```swift\\npublic var type: LocationType\\n```\\n\\nThe type of location `local` or `git`.\\n\\n## Methods\\n### `local(path:)`\\n\\n```swift\\npublic static func local(path: Path) -> Self\\n```\\n\\nA `Path` to a directory containing a `Plugin` manifest.\\n\\nExample:\\n```\\n.local(path: \\\"/User/local/bin\\\")\\n```\\n\\n### `git(url:tag:directory:releaseUrl:)`\\n\\n```swift\\npublic static func git(url: String, tag: String, directory: String? = nil, releaseUrl: String? = nil) -> Self\\n```\\n\\nA `URL` to a `git` repository pointing at a `tag`.\\nYou can also specify a custom directory in case the plugin is not located at the root of the repository.\\nYou can also specify a custom release URL from where the plugin binary should be downloaded. If not specified,\\nit defaults to the GitHub release URL. Note that the URL should be publicly reachable.\\n\\nExample:\\n```\\n.git(url: \\\"https://git/plugin.git\\\", tag: \\\"1.0.0\\\", directory: \\\"PluginDirectory\\\")\\n```\\n\\n### `git(url:sha:directory:)`\\n\\n```swift\\npublic static func git(url: String, sha: String, directory: String? = nil) -> Self\\n```\\n\\nA `URL` to a `git` repository pointing at a commit `sha`.\\nYou can also specify a custom directory in case the plugin is not located at the root of the repository.\\n\\nExample:\\n```\\n.git(url: \\\"https://git/plugin.git\\\", sha: \\\"d06b4b3d\\\")\\n```\\n\\n\",\"title\":\"`PluginLocation`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/pluginlocation\",\"LLMS_URL\":\"/es/references/project-description/structs/pluginlocation.md\"}},{\"path\":\"/es/references/project-description/structs/privacymanifest.md\",\"url\":\"/es/references/project-description/structs/privacymanifest\",\"llmUrl\":\"/es/references/project-description/structs/privacymanifest.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/privacymanifest\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/privacymanifest.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PrivacyManifest`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `tracking`\\n - `trackingDomains`\\n - `collectedDataTypes`\\n - `accessedApiTypes`\\n- [Methods](#methods)\\n - `privacyManifest(tracking:trackingDomains:collectedDataTypes:accessedApiTypes:)`\\n\\n```swift\\npublic struct PrivacyManifest: Codable, Equatable, Sendable\\n```\\n\\nDescribe the data your app or third-party SDK collects and the reasons required APIs it uses.\\n\\n## Properties\\n### `tracking`\\n\\n```swift\\npublic var tracking: Bool\\n```\\n\\nA Boolean that indicates whether your app or third-party SDK uses data for tracking as defined under the App\\nTracking Transparency framework. For more information, see [User Privacy and Data\\nUse](https://developer.apple.com/app-store/user-privacy-and-data-use/).\\n\\n### `trackingDomains`\\n\\n```swift\\npublic var trackingDomains: [String]\\n```\\n\\nAn array of strings that lists the internet domains your app or third-party SDK connects to that\\nengage in tracking. If the user has not granted tracking permission through the App Tracking Transparency framework,\\nnetwork requests to these domains fail and your app receives an error. If you set `tracking` to true then you need to\\nprovide at least one internet domain in NSPrivacyTrackingDomains; otherwise, you can provide zero or more domains.\\n\\n### `collectedDataTypes`\\n\\n```swift\\npublic var collectedDataTypes: [[String: Plist.Value]]\\n```\\n\\nAn array of dictionaries that describes the data types your app or third-party SDK collects. For\\ninformation on the keys and values to use in the dictionaries, see [Describing data use in privacy manifests](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests).\\n\\n### `accessedApiTypes`\\n\\n```swift\\npublic var accessedApiTypes: [[String: Plist.Value]]\\n```\\n\\nAn array of dictionaries that describe the API types your app or third-party SDK accesses that have\\nbeen designated as APIs that require reasons to access. For information on the keys and values to use in the dictionaries,\\nsee [Describing use of required reason API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api).\\n\\n## Methods\\n### `privacyManifest(tracking:trackingDomains:collectedDataTypes:accessedApiTypes:)`\\n\\n```swift\\npublic static func privacyManifest(\\n tracking: Bool,\\n trackingDomains: [String],\\n collectedDataTypes: [[String: Plist.Value]],\\n accessedApiTypes: [[String: Plist.Value]]\\n) -> Self\\n```\\n\\nReturns a PrivacyManifest.\\n- Parameter tracking: A Boolean that indicates whether your app or third-party SDK uses data for tracking.\\n- Parameter trackingDomains: An array of strings that lists the internet domains your app or third-party SDK connects to\\nthat engage in tracking.\\n- Parameter collectedDataTypes: An array of dictionaries that describes the data types your app or third-party SDK\\ncollects.\\n- Parameter accessedApiTypes: An array of dictionaries that describe the API types your app or third-party SDK accesses\\nthat have\\nbeen designated as APIs that require reasons to access.\\n- Returns: PrivacyManifest.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tracking | A Boolean that indicates whether your app or third-party SDK uses data for tracking. |\\n| trackingDomains | An array of strings that lists the internet domains your app or third-party SDK connects to that engage in tracking. |\\n| collectedDataTypes | An array of dictionaries that describes the data types your app or third-party SDK collects. |\\n| accessedApiTypes | An array of dictionaries that describe the API types your app or third-party SDK accesses that have been designated as APIs that require reasons to access. |\\n\",\"title\":\"`PrivacyManifest`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/privacymanifest\",\"LLMS_URL\":\"/es/references/project-description/structs/privacymanifest.md\"}},{\"path\":\"/es/references/project-description/structs/profileaction.md\",\"url\":\"/es/references/project-description/structs/profileaction\",\"llmUrl\":\"/es/references/project-description/structs/profileaction.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/profileaction\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/profileaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ProfileAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `preActions`\\n - `postActions`\\n - `executable`\\n - `arguments`\\n- [Methods](#methods)\\n - `profileAction(configuration:preActions:postActions:executable:arguments:)`\\n\\n```swift\\npublic struct ProfileAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that profiles the built products.\\n\\nIt's initialized with the `.profileAction` static method\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should be profiled with.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the profile process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the profile process.\\n\\n### `executable`\\n\\n```swift\\npublic var executable: TargetReference?\\n```\\n\\nThe name of the executable or target to profile.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n## Methods\\n### `profileAction(configuration:preActions:postActions:executable:arguments:)`\\n\\n```swift\\npublic static func profileAction(\\n configuration: ConfigurationName = .release,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n executable: TargetReference? = nil,\\n arguments: Arguments? = nil\\n) -> ProfileAction\\n```\\n\\nReturns a profile action.\\n- Parameters:\\n - configuration: Indicates the build configuration the product should be profiled with.\\n - preActions: A list of actions that are executed before starting the profile process.\\n - postActions: A list of actions that are executed after the profile process.\\n - executable: The name of the executable or target to profile.\\n - arguments: Command line arguments passed on launch and environment variables.\\n- Returns: Initialized profile action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should be profiled with. |\\n| preActions | A list of actions that are executed before starting the profile process. |\\n| postActions | A list of actions that are executed after the profile process. |\\n| executable | The name of the executable or target to profile. |\\n| arguments | Command line arguments passed on launch and environment variables. |\\n\",\"title\":\"`ProfileAction`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/profileaction\",\"LLMS_URL\":\"/es/references/project-description/structs/profileaction.md\"}},{\"path\":\"/es/references/project-description/structs/project.md\",\"url\":\"/es/references/project-description/structs/project\",\"llmUrl\":\"/es/references/project-description/structs/project.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/project\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/project.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `organizationName`\\n - `classPrefix`\\n - `options`\\n - `packages`\\n - `targets`\\n - `schemes`\\n - `settings`\\n - `fileHeaderTemplate`\\n - `additionalFiles`\\n - `resourceSynthesizers`\\n - `containsExternalDependencies`\\n- [Methods](#methods)\\n - `init(name:organizationName:classPrefix:options:packages:settings:targets:schemes:fileHeaderTemplate:additionalFiles:resourceSynthesizers:)`\\n\\n```swift\\npublic struct Project: Codable, Equatable, Sendable\\n```\\n\\nA project representation.\\n\\nA project manifest needs to be defined in a `Project.swift` manifest file.\\nManifests need to import the framework ProjectDescription which contains all\\nthe classes and enums that are available for you to describe your projects.\\n\\nThe snippet below shows an example project manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n organizationName: \\\"MyOrg\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"dev.tuist.App\\\",\\n infoPlist: \\\"Config/App-Info.plist\\\",\\n sources: [\\\"Sources/**\\\"],\\n resources: [\\n \\\"Resources/**\\\",\\n .folderReference(path: \\\"Stubs\\\"),\\n .folderReference(path: \\\"ODR\\\", tags: [\\\"odr_tag\\\"])\\n ],\\n headers: .headers(\\n public: [\\\"Sources/public/A/**\\\", \\\"Sources/public/B/**\\\"],\\n private: \\\"Sources/private/**\\\",\\n project: [\\\"Sources/project/A/**\\\", \\\"Sources/project/B/**\\\"]\\n ),\\n dependencies: [\\n .project(target: \\\"Framework1\\\", path: \\\"../Framework1\\\"),\\n .project(target: \\\"Framework2\\\", path: \\\"../Framework2\\\")\\n ]\\n )\\n ],\\n schemes: [\\n Scheme(\\n name: \\\"App-Debug\\\",\\n shared: true,\\n buildAction: .buildAction(targets: [\\\"App\\\"]),\\n testAction: .targets([\\\"AppTests\\\"]),\\n runAction: .runAction(executable: \\\"App\\\")\\n ),\\n Scheme(\\n name: \\\"App-Release\\\",\\n shared: true,\\n buildAction: .buildAction(targets: [\\\"App\\\"]),\\n runAction: .runAction(executable: \\\"App\\\")\\n )\\n ],\\n additionalFiles: [\\n \\\"Dangerfile.swift\\\",\\n \\\"Documentation/**\\\",\\n .folderReference(path: \\\"Website\\\")\\n ]\\n)\\n```\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the project. Also, the file name of the generated Xcode project.\\n\\n### `organizationName`\\n\\n```swift\\npublic let organizationName: String?\\n```\\n\\nThe name of the organization used by Xcode as copyright.\\n\\n### `classPrefix`\\n\\n```swift\\npublic let classPrefix: String?\\n```\\n\\nThe prefix for class files Xcode generates when you create a project or class file.\\n\\n### `options`\\n\\n```swift\\npublic let options: Options\\n```\\n\\nThe project options.\\n\\n### `packages`\\n\\n```swift\\npublic let packages: [Package]\\n```\\n\\nThe Swift Packages used by the project.\\n\\n### `targets`\\n\\n```swift\\npublic let targets: [Target]\\n```\\n\\nThe targets of the project.\\n\\n### `schemes`\\n\\n```swift\\npublic let schemes: [Scheme]\\n```\\n\\nThe custom schemes for the project. Default schemes for each target are generated by default.\\n\\n### `settings`\\n\\n```swift\\npublic let settings: Settings?\\n```\\n\\nThe build settings and configuration for the project.\\n\\n### `fileHeaderTemplate`\\n\\n```swift\\npublic let fileHeaderTemplate: FileHeaderTemplate?\\n```\\n\\nThe custom file header template for Xcode built-in file templates.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic let additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the project. For target's additional files, see ``Target/additionalFiles``.\\n\\n### `resourceSynthesizers`\\n\\n```swift\\npublic let resourceSynthesizers: [ResourceSynthesizer]\\n```\\n\\nThe resource synthesizers for the project to generate accessors for resources.\\n\\n### `containsExternalDependencies`\\n\\n```swift\\npublic var containsExternalDependencies: Bool\\n```\\n\\nThe project contains targets that depend on external dependencies\\n\\n## Methods\\n### `init(name:organizationName:classPrefix:options:packages:settings:targets:schemes:fileHeaderTemplate:additionalFiles:resourceSynthesizers:)`\\n\\n```swift\\npublic init(\\n name: String,\\n organizationName: String? = nil,\\n classPrefix: String? = nil,\\n options: Options = .options(),\\n packages: [Package] = [],\\n settings: Settings? = nil,\\n targets: [Target] = [],\\n schemes: [Scheme] = [],\\n fileHeaderTemplate: FileHeaderTemplate? = nil,\\n additionalFiles: [FileElement] = [],\\n resourceSynthesizers: [ResourceSynthesizer] = .default\\n)\\n```\\n\\n\",\"title\":\"`Project`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/project\",\"LLMS_URL\":\"/es/references/project-description/structs/project.md\"}},{\"path\":\"/es/references/project-description/structs/project.options.md\",\"url\":\"/es/references/project-description/structs/project.options\",\"llmUrl\":\"/es/references/project-description/structs/project.options.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/project.options\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/project.options.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project.Options`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `automaticSchemesOptions`\\n - `defaultKnownRegions`\\n - `developmentRegion`\\n - `disableBundleAccessors`\\n - `disableShowEnvironmentVarsInScriptPhases`\\n - `disableSynthesizedResourceAccessors`\\n - `textSettings`\\n - `xcodeProjectName`\\n- [Methods](#methods)\\n - `options(automaticSchemesOptions:defaultKnownRegions:developmentRegion:disableBundleAccessors:disableShowEnvironmentVarsInScriptPhases:disableSynthesizedResourceAccessors:textSettings:xcodeProjectName:)`\\n\\n```swift\\npublic struct Options: Codable, Equatable, Sendable\\n```\\n\\nOptions to configure a project.\\n\\n## Properties\\n### `automaticSchemesOptions`\\n\\n```swift\\npublic var automaticSchemesOptions: AutomaticSchemesOptions\\n```\\n\\nConfigures automatic target schemes generation.\\n\\n### `defaultKnownRegions`\\n\\n```swift\\npublic var defaultKnownRegions: [String]?\\n```\\n\\nConfigures the default known regions\\n\\n### `developmentRegion`\\n\\n```swift\\npublic var developmentRegion: String?\\n```\\n\\nConfigures the development region.\\n\\n### `disableBundleAccessors`\\n\\n```swift\\npublic var disableBundleAccessors: Bool\\n```\\n\\nDisables generating Bundle accessors.\\n\\n### `disableShowEnvironmentVarsInScriptPhases`\\n\\n```swift\\npublic var disableShowEnvironmentVarsInScriptPhases: Bool\\n```\\n\\nSuppress logging of environment in Run Script build phases.\\n\\n### `disableSynthesizedResourceAccessors`\\n\\n```swift\\npublic var disableSynthesizedResourceAccessors: Bool\\n```\\n\\nDisable synthesized resource accessors.\\n\\n### `textSettings`\\n\\n```swift\\npublic var textSettings: TextSettings\\n```\\n\\nConfigures text settings.\\n\\n### `xcodeProjectName`\\n\\n```swift\\npublic var xcodeProjectName: String?\\n```\\n\\nConfigures the name of the generated .xcodeproj.\\n\\n## Methods\\n### `options(automaticSchemesOptions:defaultKnownRegions:developmentRegion:disableBundleAccessors:disableShowEnvironmentVarsInScriptPhases:disableSynthesizedResourceAccessors:textSettings:xcodeProjectName:)`\\n\\n```swift\\npublic static func options(\\n automaticSchemesOptions: AutomaticSchemesOptions = .enabled(),\\n defaultKnownRegions: [String]? = nil,\\n developmentRegion: String? = nil,\\n disableBundleAccessors: Bool = false,\\n disableShowEnvironmentVarsInScriptPhases: Bool = false,\\n disableSynthesizedResourceAccessors: Bool = false,\\n textSettings: TextSettings = .textSettings(),\\n xcodeProjectName: String? = nil\\n) -> Self\\n```\\n\\n\",\"title\":\"`Project.Options`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/project.options\",\"LLMS_URL\":\"/es/references/project-description/structs/project.options.md\"}},{\"path\":\"/es/references/project-description/structs/project.options.textsettings.md\",\"url\":\"/es/references/project-description/structs/project.options.textsettings\",\"llmUrl\":\"/es/references/project-description/structs/project.options.textsettings.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/project.options.textsettings\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/project.options.textsettings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project.Options.TextSettings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `usesTabs`\\n - `indentWidth`\\n - `tabWidth`\\n - `wrapsLines`\\n- [Methods](#methods)\\n - `textSettings(usesTabs:indentWidth:tabWidth:wrapsLines:)`\\n\\n```swift\\npublic struct TextSettings: Codable, Equatable, Sendable\\n```\\n\\nThe text settings options\\n\\n## Properties\\n### `usesTabs`\\n\\n```swift\\npublic var usesTabs: Bool?\\n```\\n\\nWhether tabs should be used instead of spaces\\n\\n### `indentWidth`\\n\\n```swift\\npublic var indentWidth: UInt?\\n```\\n\\nThe width of space indent\\n\\n### `tabWidth`\\n\\n```swift\\npublic var tabWidth: UInt?\\n```\\n\\nThe width of tab indent\\n\\n### `wrapsLines`\\n\\n```swift\\npublic var wrapsLines: Bool?\\n```\\n\\nWhether lines should be wrapped or not\\n\\n## Methods\\n### `textSettings(usesTabs:indentWidth:tabWidth:wrapsLines:)`\\n\\n```swift\\npublic static func textSettings(\\n usesTabs: Bool? = nil,\\n indentWidth: UInt? = nil,\\n tabWidth: UInt? = nil,\\n wrapsLines: Bool? = nil\\n) -> Self\\n```\\n\\n\",\"title\":\"`Project.Options.TextSettings`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/project.options.textsettings\",\"LLMS_URL\":\"/es/references/project-description/structs/project.options.textsettings.md\"}},{\"path\":\"/es/references/project-description/structs/resourcefileelements.md\",\"url\":\"/es/references/project-description/structs/resourcefileelements\",\"llmUrl\":\"/es/references/project-description/structs/resourcefileelements.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/resourcefileelements\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/resourcefileelements.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ResourceFileElements`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `resources`\\n - `privacyManifest`\\n- [Methods](#methods)\\n - `resources(_:privacyManifest:)`\\n\\n```swift\\npublic struct ResourceFileElements: Codable, Equatable, Sendable\\n```\\n\\nA collection of resource file.\\n\\n## Properties\\n### `resources`\\n\\n```swift\\npublic var resources: [ResourceFileElement]\\n```\\n\\nList of resource file elements\\n\\n### `privacyManifest`\\n\\n```swift\\npublic var privacyManifest: PrivacyManifest?\\n```\\n\\nDefine your apps privacy manifest\\n\\n## Methods\\n### `resources(_:privacyManifest:)`\\n\\n```swift\\npublic static func resources(_ resources: [ResourceFileElement], privacyManifest: PrivacyManifest? = nil) -> Self\\n```\\n\\n\",\"title\":\"`ResourceFileElements`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/resourcefileelements\",\"LLMS_URL\":\"/es/references/project-description/structs/resourcefileelements.md\"}},{\"path\":\"/es/references/project-description/structs/resourcesynthesizer.md\",\"url\":\"/es/references/project-description/structs/resourcesynthesizer\",\"llmUrl\":\"/es/references/project-description/structs/resourcesynthesizer.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/resourcesynthesizer\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/resourcesynthesizer.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ResourceSynthesizer`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `templateType`\\n - `parser`\\n - `parserOptions`\\n - `extensions`\\n- [Methods](#methods)\\n - `strings(parserOptions:)`\\n - `strings(plugin:parserOptions:)`\\n - `assets(parserOptions:)`\\n - `assets(plugin:parserOptions:)`\\n - `fonts(parserOptions:)`\\n - `fonts(plugin:parserOptions:)`\\n - `plists(parserOptions:)`\\n - `plists(plugin:parserOptions:)`\\n - `coreData(plugin:parserOptions:)`\\n - `coreData(parserOptions:)`\\n - `interfaceBuilder(plugin:parserOptions:)`\\n - `interfaceBuilder(parserOptions:)`\\n - `json(plugin:parserOptions:)`\\n - `json(parserOptions:)`\\n - `yaml(plugin:parserOptions:)`\\n - `yaml(parserOptions:)`\\n - `files(plugin:parserOptions:extensions:)`\\n - `files(parserOptions:extensions:)`\\n - `custom(plugin:parser:parserOptions:extensions:resourceName:)`\\n - `custom(name:parser:parserOptions:extensions:)`\\n\\n```swift\\npublic struct ResourceSynthesizer: Codable, Equatable, Sendable\\n```\\n\\nA resource synthesizer for given file extensions.\\n\\nFor example to synthesize resource accessors for strings, you can use:\\n- `.strings()` for tuist's default\\n- `.strings(parserOptions: [\\\"separator\\\": \\\"/\\\"])` to use strings template with SwiftGen Parser Options\\n- `.strings(plugin: \\\"MyPlugin\\\")` to use strings template from a plugin\\n- `.strings(templatePath: \\\"Templates/Strings.stencil\\\")` to use strings template at a given path\\n\\n## Properties\\n### `templateType`\\n\\n```swift\\npublic var templateType: TemplateType\\n```\\n\\nTemplates can be of multiple types\\n\\n### `parser`\\n\\n```swift\\npublic var parser: Parser\\n```\\n\\n### `parserOptions`\\n\\n```swift\\npublic var parserOptions: [String: Parser.Option]\\n```\\n\\n### `extensions`\\n\\n```swift\\npublic var extensions: Set\\n```\\n\\n## Methods\\n### `strings(parserOptions:)`\\n\\n```swift\\npublic static func strings(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault strings synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `strings(plugin:parserOptions:)`\\n\\n```swift\\npublic static func strings(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nStrings synthesizer defined in a plugin\\n\\n### `assets(parserOptions:)`\\n\\n```swift\\npublic static func assets(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault assets synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `assets(plugin:parserOptions:)`\\n\\n```swift\\npublic static func assets(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nAssets synthesizer defined in a plugin\\n\\n### `fonts(parserOptions:)`\\n\\n```swift\\npublic static func fonts(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault fonts synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `fonts(plugin:parserOptions:)`\\n\\n```swift\\npublic static func fonts(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nFonts synthesizer defined in a plugin\\n\\n### `plists(parserOptions:)`\\n\\n```swift\\npublic static func plists(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault plists synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `plists(plugin:parserOptions:)`\\n\\n```swift\\npublic static func plists(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nPlists synthesizer defined in a plugin\\n\\n### `coreData(plugin:parserOptions:)`\\n\\n```swift\\npublic static func coreData(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nCoreData synthesizer defined in a plugin\\n\\n### `coreData(parserOptions:)`\\n\\n```swift\\npublic static func coreData(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault CoreData synthesizer defined in `Tuist/{ProjectName}`\\n\\n### `interfaceBuilder(plugin:parserOptions:)`\\n\\n```swift\\npublic static func interfaceBuilder(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nInterfaceBuilder synthesizer defined in a plugin\\n\\n### `interfaceBuilder(parserOptions:)`\\n\\n```swift\\npublic static func interfaceBuilder(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nInterfaceBuilder synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `json(plugin:parserOptions:)`\\n\\n```swift\\npublic static func json(plugin: String, parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nJSON synthesizer defined in a plugin\\n\\n### `json(parserOptions:)`\\n\\n```swift\\npublic static func json(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nJSON synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `yaml(plugin:parserOptions:)`\\n\\n```swift\\npublic static func yaml(plugin: String, parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nYAML synthesizer defined in a plugin\\n\\n### `yaml(parserOptions:)`\\n\\n```swift\\npublic static func yaml(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nCoreData synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `files(plugin:parserOptions:extensions:)`\\n\\n```swift\\npublic static func files(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nFiles synthesizer defined in a plugin\\n\\n### `files(parserOptions:extensions:)`\\n\\n```swift\\npublic static func files(\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nFiles synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `custom(plugin:parser:parserOptions:extensions:resourceName:)`\\n\\n```swift\\npublic static func custom(\\n plugin: String,\\n parser: Parser,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set,\\n resourceName: String\\n) -> Self\\n```\\n\\nCustom synthesizer from a plugin\\n- Parameters:\\n - plugin: Name of a plugin where resource synthesizer template is located\\n - parser: `Parser` to use for parsing the file to obtain its data\\n - extensions: Set of extensions that should be parsed\\n - resourceName: Name of the template file and the resulting `.swift` file\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| plugin | Name of a plugin where resource synthesizer template is located |\\n| parser | `Parser` to use for parsing the file to obtain its data |\\n| extensions | Set of extensions that should be parsed |\\n| resourceName | Name of the template file and the resulting `.swift` file |\\n\\n### `custom(name:parser:parserOptions:extensions:)`\\n\\n```swift\\npublic static func custom(\\n name: String,\\n parser: Parser,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nCustom local synthesizer defined `Tuist/ResourceSynthesizers/{name}.stencil`\\n- Parameters:\\n - name: Name of synthesizer\\n - parser: `Parser` to use for parsing the file to obtain its data\\n - extensions: Set of extensions that should be parsed\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of synthesizer |\\n| parser | `Parser` to use for parsing the file to obtain its data |\\n| extensions | Set of extensions that should be parsed |\\n\",\"title\":\"`ResourceSynthesizer`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/resourcesynthesizer\",\"LLMS_URL\":\"/es/references/project-description/structs/resourcesynthesizer.md\"}},{\"path\":\"/es/references/project-description/structs/runaction.md\",\"url\":\"/es/references/project-description/structs/runaction\",\"llmUrl\":\"/es/references/project-description/structs/runaction.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/runaction\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/runaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `RunAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `attachDebugger`\\n - `customLLDBInitFile`\\n - `preActions`\\n - `postActions`\\n - `executable`\\n - `arguments`\\n - `options`\\n - `diagnosticsOptions`\\n - `metalOptions`\\n - `expandVariableFromTarget`\\n - `launchStyle`\\n - `appClipInvocationURLString`\\n- [Methods](#methods)\\n - `runAction(configuration:attachDebugger:customLLDBInitFile:preActions:postActions:executable:arguments:options:diagnosticsOptions:metalOptions:expandVariableFromTarget:launchStyle:appClipInvocationURLString:)`\\n\\n```swift\\npublic struct RunAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that runs the built products.\\n\\nIt's initialized with the .runAction static method.\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should run with.\\n\\n### `attachDebugger`\\n\\n```swift\\npublic var attachDebugger: Bool\\n```\\n\\nWhether a debugger should be attached to the run process or not.\\n\\n### `customLLDBInitFile`\\n\\n```swift\\npublic var customLLDBInitFile: Path?\\n```\\n\\nThe path of custom lldbinit file.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the run process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the run process.\\n\\n### `executable`\\n\\n```swift\\npublic var executable: TargetReference?\\n```\\n\\nThe name of the executable or target to run.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n### `options`\\n\\n```swift\\npublic var options: RunActionOptions\\n```\\n\\nList of options to set to the action.\\n\\n### `diagnosticsOptions`\\n\\n```swift\\npublic var diagnosticsOptions: SchemeDiagnosticsOptions\\n```\\n\\nList of diagnostics options to set to the action.\\n\\n### `metalOptions`\\n\\n```swift\\npublic var metalOptions: MetalOptions\\n```\\n\\nList of metal options to set to the action\\n\\n### `expandVariableFromTarget`\\n\\n```swift\\npublic var expandVariableFromTarget: TargetReference?\\n```\\n\\nA target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT)\\n\\n### `launchStyle`\\n\\n```swift\\npublic var launchStyle: LaunchStyle\\n```\\n\\nThe launch style of the action\\n\\n### `appClipInvocationURLString`\\n\\n```swift\\npublic var appClipInvocationURLString: String?\\n```\\n\\nThe URL string used to invoke the app clip, if available.\\n\\n## Methods\\n### `runAction(configuration:attachDebugger:customLLDBInitFile:preActions:postActions:executable:arguments:options:diagnosticsOptions:metalOptions:expandVariableFromTarget:launchStyle:appClipInvocationURLString:)`\\n\\n```swift\\npublic static func runAction(\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n customLLDBInitFile: Path? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n executable: TargetReference? = nil,\\n arguments: Arguments? = nil,\\n options: RunActionOptions = .options(),\\n diagnosticsOptions: SchemeDiagnosticsOptions = .options(),\\n metalOptions: MetalOptions = .options(),\\n expandVariableFromTarget: TargetReference? = nil,\\n launchStyle: LaunchStyle = .automatically,\\n appClipInvocationURLString: String? = nil\\n) -> RunAction\\n```\\n\\nReturns a run action.\\n- Parameters:\\n - configuration: Indicates the build configuration the product should run with.\\n - attachDebugger: Whether a debugger should be attached to the run process or not.\\n - preActions: A list of actions that are executed before starting the run process.\\n - postActions: A list of actions that are executed after the run process.\\n - executable: The name of the executable or target to run.\\n - arguments: Command line arguments passed on launch and environment variables.\\n - options: List of options to set to the action.\\n - diagnosticsOptions: List of diagnostics options to set to the action.\\n - metalOptions: List of metal options to set to the action.\\n - expandVariableFromTarget: A target that will be used to expand the variables defined inside Environment Variables\\ndefinition (e.g. $SOURCE_ROOT). When nil, it does not expand any variables.\\n - appClipInvocationURLString: The URL string used to invoke the app clip, if available.\\n - launchStyle: The launch style of the action\\n- Returns: Run action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should run with. |\\n| attachDebugger | Whether a debugger should be attached to the run process or not. |\\n| preActions | A list of actions that are executed before starting the run process. |\\n| postActions | A list of actions that are executed after the run process. |\\n| executable | The name of the executable or target to run. |\\n| arguments | Command line arguments passed on launch and environment variables. |\\n| options | List of options to set to the action. |\\n| diagnosticsOptions | List of diagnostics options to set to the action. |\\n| metalOptions | List of metal options to set to the action. |\\n| expandVariableFromTarget | A target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT). When nil, it does not expand any variables. |\\n| appClipInvocationURLString | The URL string used to invoke the app clip, if available. |\\n| launchStyle | The launch style of the action |\\n\",\"title\":\"`RunAction`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/runaction\",\"LLMS_URL\":\"/es/references/project-description/structs/runaction.md\"}},{\"path\":\"/es/references/project-description/structs/runactionoptions.md\",\"url\":\"/es/references/project-description/structs/runactionoptions\",\"llmUrl\":\"/es/references/project-description/structs/runactionoptions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/runactionoptions\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/runactionoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `RunActionOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `language`\\n - `region`\\n - `storeKitConfigurationPath`\\n - `simulatedLocation`\\n - `enableGPUFrameCaptureMode`\\n- [Methods](#methods)\\n - `options(language:region:storeKitConfigurationPath:simulatedLocation:enableGPUFrameCaptureMode:)`\\n\\n```swift\\npublic struct RunActionOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions for the `RunAction` action\\n\\n## Properties\\n### `language`\\n\\n```swift\\npublic var language: SchemeLanguage?\\n```\\n\\nLanguage to use when running the app.\\n\\n### `region`\\n\\n```swift\\npublic var region: String?\\n```\\n\\nRegion to use when running the app.\\n\\n### `storeKitConfigurationPath`\\n\\n```swift\\npublic var storeKitConfigurationPath: Path?\\n```\\n\\nThe path of the\\n[StoreKit configuration\\nfile](https://developer.apple.com/documentation/xcode/setting_up_storekit_testing_in_xcode#3625700).\\n\\n### `simulatedLocation`\\n\\n```swift\\npublic var simulatedLocation: ProjectDescription.SimulatedLocation?\\n```\\n\\nA simulated GPS location to use when running the app.\\n\\n### `enableGPUFrameCaptureMode`\\n\\n```swift\\npublic var enableGPUFrameCaptureMode: GPUFrameCaptureMode\\n```\\n\\nConfigure your project to work with the Metal frame debugger.\\n\\n## Methods\\n### `options(language:region:storeKitConfigurationPath:simulatedLocation:enableGPUFrameCaptureMode:)`\\n\\n```swift\\npublic static func options(\\n language: SchemeLanguage? = nil,\\n region: String? = nil,\\n storeKitConfigurationPath: Path? = nil,\\n simulatedLocation: ProjectDescription.SimulatedLocation? = nil,\\n enableGPUFrameCaptureMode: GPUFrameCaptureMode = GPUFrameCaptureMode.default\\n) -> Self\\n```\\n\\nCreates an `RunActionOptions` instance\\n\\n- Parameters:\\n - language: language (e.g. \\\"en\\\").\\n\\n - region: region (e.g. \\\"US\\\").\\n\\n - storeKitConfigurationPath: The path of the\\n [StoreKit configuration\\nfile](https://developer.apple.com/documentation/xcode/setting_up_storekit_testing_in_xcode#3625700).\\n Please note that this file is automatically added to the Project/Workspace. You should not add it manually.\\n The default value is `nil`, which results in no configuration defined for the scheme\\n\\n - simulatedLocation: The simulated GPS location to use when running the app.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project's resources.\\n\\n - enableGPUFrameCaptureMode: The Metal Frame Capture mode to use. e.g: .disabled\\n If your target links to the Metal framework, Xcode enables GPU Frame Capture.\\n You can disable it to test your app in best performance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| language | language (e.g. “en”). |\\n| region | region (e.g. “US”). |\\n| storeKitConfigurationPath | The path of the . Please note that this file is automatically added to the Project/Workspace. You should not add it manually. The default value is `nil`, which results in no configuration defined for the scheme |\\n| simulatedLocation | The simulated GPS location to use when running the app. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n| enableGPUFrameCaptureMode | The Metal Frame Capture mode to use. e.g: .disabled If your target links to the Metal framework, Xcode enables GPU Frame Capture. You can disable it to test your app in best performance. |\\n\",\"title\":\"`RunActionOptions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/runactionoptions\",\"LLMS_URL\":\"/es/references/project-description/structs/runactionoptions.md\"}},{\"path\":\"/es/references/project-description/structs/scheme.md\",\"url\":\"/es/references/project-description/structs/scheme\",\"llmUrl\":\"/es/references/project-description/structs/scheme.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/scheme\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/scheme.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Scheme`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `shared`\\n - `hidden`\\n - `buildAction`\\n - `testAction`\\n - `runAction`\\n - `archiveAction`\\n - `profileAction`\\n - `analyzeAction`\\n- [Methods](#methods)\\n - `scheme(name:shared:hidden:buildAction:testAction:runAction:archiveAction:profileAction:analyzeAction:)`\\n\\n```swift\\npublic struct Scheme: Equatable, Codable, Sendable\\n```\\n\\nA custom scheme for a project.\\n\\nA scheme defines a collection of targets to Build, Run, Test, Profile, Analyze and Archive.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nThe name of the scheme.\\n\\n### `shared`\\n\\n```swift\\npublic var shared: Bool\\n```\\n\\nMarks the scheme as shared (i.e. one that is checked in to the repository and is visible to xcodebuild from the command\\nline).\\n\\n### `hidden`\\n\\n```swift\\npublic var hidden: Bool\\n```\\n\\nWhen `true` the scheme doesn't show up in the dropdown scheme's list.\\n\\n### `buildAction`\\n\\n```swift\\npublic var buildAction: BuildAction?\\n```\\n\\nAction that builds the project targets.\\n\\n### `testAction`\\n\\n```swift\\npublic var testAction: TestAction?\\n```\\n\\nAction that runs the project tests.\\n\\n### `runAction`\\n\\n```swift\\npublic var runAction: RunAction?\\n```\\n\\nAction that runs project built products.\\n\\n### `archiveAction`\\n\\n```swift\\npublic var archiveAction: ArchiveAction?\\n```\\n\\nAction that runs the project archive.\\n\\n### `profileAction`\\n\\n```swift\\npublic var profileAction: ProfileAction?\\n```\\n\\nAction that profiles the project.\\n\\n### `analyzeAction`\\n\\n```swift\\npublic var analyzeAction: AnalyzeAction?\\n```\\n\\nAction that analyze the project.\\n\\n## Methods\\n### `scheme(name:shared:hidden:buildAction:testAction:runAction:archiveAction:profileAction:analyzeAction:)`\\n\\n```swift\\npublic static func scheme(\\n name: String,\\n shared: Bool = true,\\n hidden: Bool = false,\\n buildAction: BuildAction? = nil,\\n testAction: TestAction? = nil,\\n runAction: RunAction? = nil,\\n archiveAction: ArchiveAction? = nil,\\n profileAction: ProfileAction? = nil,\\n analyzeAction: AnalyzeAction? = nil\\n) -> Self\\n```\\n\\nCreates a new instance of a scheme.\\n- Parameters:\\n - name: Name of the scheme.\\n - shared: Whether the scheme is shared.\\n - hidden: When true, the scheme is hidden in the list of schemes from Xcode's dropdown.\\n - buildAction: Action that builds the project targets.\\n - testAction: Action that runs the project tests.\\n - runAction: Action that runs project built products.\\n - archiveAction: Action that runs the project archive.\\n - profileAction: Action that profiles the project.\\n - analyzeAction: Action that analyze the project.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the scheme. |\\n| shared | Whether the scheme is shared. |\\n| hidden | When true, the scheme is hidden in the list of schemes from Xcode’s dropdown. |\\n| buildAction | Action that builds the project targets. |\\n| testAction | Action that runs the project tests. |\\n| runAction | Action that runs project built products. |\\n| archiveAction | Action that runs the project archive. |\\n| profileAction | Action that profiles the project. |\\n| analyzeAction | Action that analyze the project. |\\n\",\"title\":\"`Scheme`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/scheme\",\"LLMS_URL\":\"/es/references/project-description/structs/scheme.md\"}},{\"path\":\"/es/references/project-description/structs/schemediagnosticsoptions.md\",\"url\":\"/es/references/project-description/structs/schemediagnosticsoptions\",\"llmUrl\":\"/es/references/project-description/structs/schemediagnosticsoptions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/schemediagnosticsoptions\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/schemediagnosticsoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SchemeDiagnosticsOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `addressSanitizerEnabled`\\n - `detectStackUseAfterReturnEnabled`\\n - `threadSanitizerEnabled`\\n - `mainThreadCheckerEnabled`\\n - `performanceAntipatternCheckerEnabled`\\n- [Methods](#methods)\\n - `options(addressSanitizerEnabled:detectStackUseAfterReturnEnabled:threadSanitizerEnabled:mainThreadCheckerEnabled:performanceAntipatternCheckerEnabled:)`\\n\\n```swift\\npublic struct SchemeDiagnosticsOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions to configure scheme diagnostics for run and test actions.\\n\\n## Properties\\n### `addressSanitizerEnabled`\\n\\n```swift\\npublic var addressSanitizerEnabled: Bool\\n```\\n\\nEnable the address sanitizer\\n\\n### `detectStackUseAfterReturnEnabled`\\n\\n```swift\\npublic var detectStackUseAfterReturnEnabled: Bool\\n```\\n\\nEnable the detect use of stack after return of address sanitizer\\n\\n### `threadSanitizerEnabled`\\n\\n```swift\\npublic var threadSanitizerEnabled: Bool\\n```\\n\\nEnable the thread sanitizer\\n\\n### `mainThreadCheckerEnabled`\\n\\n```swift\\npublic var mainThreadCheckerEnabled: Bool\\n```\\n\\nEnable the main thread cheker\\n\\n### `performanceAntipatternCheckerEnabled`\\n\\n```swift\\npublic var performanceAntipatternCheckerEnabled: Bool\\n```\\n\\nEnable thread performance checker\\n\\n## Methods\\n### `options(addressSanitizerEnabled:detectStackUseAfterReturnEnabled:threadSanitizerEnabled:mainThreadCheckerEnabled:performanceAntipatternCheckerEnabled:)`\\n\\n```swift\\npublic static func options(\\n addressSanitizerEnabled: Bool = false,\\n detectStackUseAfterReturnEnabled: Bool = false,\\n threadSanitizerEnabled: Bool = false,\\n mainThreadCheckerEnabled: Bool = true,\\n performanceAntipatternCheckerEnabled: Bool = true\\n) -> SchemeDiagnosticsOptions\\n```\\n\\n\",\"title\":\"`SchemeDiagnosticsOptions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/schemediagnosticsoptions\",\"LLMS_URL\":\"/es/references/project-description/structs/schemediagnosticsoptions.md\"}},{\"path\":\"/es/references/project-description/structs/schemelanguage.md\",\"url\":\"/es/references/project-description/structs/schemelanguage\",\"llmUrl\":\"/es/references/project-description/structs/schemelanguage.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/schemelanguage\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/schemelanguage.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SchemeLanguage`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `identifier`\\n- [Methods](#methods)\\n - `init(identifier:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct SchemeLanguage: Codable, Equatable, ExpressibleByStringLiteral, Sendable\\n```\\n\\nA language to use for run and test actions.\\n\\n## Properties\\n### `identifier`\\n\\n```swift\\npublic let identifier: String\\n```\\n\\n## Methods\\n### `init(identifier:)`\\n\\n```swift\\npublic init(identifier: String)\\n```\\n\\nCreates a new scheme language.\\n- Parameter identifier: A valid language code or a pre-defined pseudo language.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| identifier | A valid language code or a pre-defined pseudo language. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\nCreates a new scheme language.\\n- Parameter stringLiteral: A valid language code or a pre-defined pseudo language.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| stringLiteral | A valid language code or a pre-defined pseudo language. |\\n\",\"title\":\"`SchemeLanguage`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/schemelanguage\",\"LLMS_URL\":\"/es/references/project-description/structs/schemelanguage.md\"}},{\"path\":\"/es/references/project-description/structs/settings.md\",\"url\":\"/es/references/project-description/structs/settings\",\"llmUrl\":\"/es/references/project-description/structs/settings.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/settings\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/settings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Settings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `base`\\n - `configurations`\\n - `defaultSettings`\\n - `defaultConfiguration`\\n- [Methods](#methods)\\n - `settings(base:debug:release:defaultSettings:defaultConfiguration:)`\\n - `settings(base:configurations:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic struct Settings: Equatable, Codable, Sendable\\n```\\n\\nA group of settings configuration.\\n\\n## Properties\\n### `base`\\n\\n```swift\\npublic var base: SettingsDictionary\\n```\\n\\nA dictionary with build settings that are inherited from all the configurations.\\n\\n### `configurations`\\n\\n```swift\\npublic var configurations: [Configuration]\\n```\\n\\n### `defaultSettings`\\n\\n```swift\\npublic var defaultSettings: DefaultSettings\\n```\\n\\n### `defaultConfiguration`\\n\\n```swift\\npublic var defaultConfiguration: String?\\n```\\n\\n## Methods\\n### `settings(base:debug:release:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic static func settings(\\n base: SettingsDictionary = [:],\\n debug: SettingsDictionary = [:],\\n release: SettingsDictionary = [:],\\n defaultSettings: DefaultSettings = .recommended,\\n defaultConfiguration: String? = nil\\n) -> Settings\\n```\\n\\nCreates settings with default.configurations `Debug` and `Release`\\n\\n- Parameters:\\n - base: A dictionary with build settings that are inherited from all the configurations.\\n - debug: The debug configuration settings.\\n - release: The release configuration settings.\\n - defaultSettings: An enum specifying the set of default settings.\\n - defaultConfiguration: The default configuration to be used when building the project from command-line.\\n\\n- Note: To specify custom configurations (e.g. `Debug`, `Beta` & `Release`) or to specify xcconfigs, you can use the\\nalternate static method\\n `.settings(base:configurations:defaultSettings:)`\\n\\n- seealso: Configuration\\n- seealso: DefaultSettings\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| base | A dictionary with build settings that are inherited from all the configurations. |\\n| debug | The debug configuration settings. |\\n| release | The release configuration settings. |\\n| defaultSettings | An enum specifying the set of default settings. |\\n| defaultConfiguration | The default configuration to be used when building the project from command-line. |\\n\\n### `settings(base:configurations:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic static func settings(\\n base: SettingsDictionary = [:],\\n configurations: [Configuration],\\n defaultSettings: DefaultSettings = .recommended,\\n defaultConfiguration: String? = nil\\n) -> Settings\\n```\\n\\nCreates settings with any number of configurations.\\n\\n- Parameters:\\n - base: A dictionary with build settings that are inherited from all the configurations.\\n - configurations: A list of configurations.\\n - defaultSettings: An enum specifying the set of default settings.\\n - defaultConfiguration: The default configuration to be used when building the project from command-line.\\n\\n- Note: Configurations shouldn't be empty, please use the alternate static method\\n `.settings(base:debug:release:defaultSettings:)` to leverage the default configurations\\n if you don't have any custom configurations.\\n\\n- seealso: Configuration\\n- seealso: DefaultSettings\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| base | A dictionary with build settings that are inherited from all the configurations. |\\n| configurations | A list of configurations. |\\n| defaultSettings | An enum specifying the set of default settings. |\\n| defaultConfiguration | The default configuration to be used when building the project from command-line. |\\n\",\"title\":\"`Settings`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/settings\",\"LLMS_URL\":\"/es/references/project-description/structs/settings.md\"}},{\"path\":\"/es/references/project-description/structs/simulatedlocation.md\",\"url\":\"/es/references/project-description/structs/simulatedlocation\",\"llmUrl\":\"/es/references/project-description/structs/simulatedlocation.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/simulatedlocation\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/simulatedlocation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SimulatedLocation`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `identifier`\\n - `gpxFile`\\n - `london`\\n - `johannesburg`\\n - `moscow`\\n - `mumbai`\\n - `tokyo`\\n - `sydney`\\n - `hongKong`\\n - `honolulu`\\n - `sanFrancisco`\\n - `mexicoCity`\\n - `newYork`\\n - `rioDeJaneiro`\\n- [Methods](#methods)\\n - `custom(gpxFile:)`\\n\\n```swift\\npublic struct SimulatedLocation: Codable, Equatable, Sendable\\n```\\n\\nSimulated location represents a GPS location that is used when running an app on the simulator.\\n\\n## Properties\\n### `identifier`\\n\\n```swift\\npublic var identifier: String?\\n```\\n\\nThe identifier of the location (e.g. London, England)\\n\\n### `gpxFile`\\n\\n```swift\\npublic var gpxFile: Path?\\n```\\n\\nPath to a .gpx file that indicates the location\\n\\n### `london`\\n\\n```swift\\npublic static var london: SimulatedLocation\\n```\\n\\n### `johannesburg`\\n\\n```swift\\npublic static var johannesburg: SimulatedLocation\\n```\\n\\n### `moscow`\\n\\n```swift\\npublic static var moscow: SimulatedLocation\\n```\\n\\n### `mumbai`\\n\\n```swift\\npublic static var mumbai: SimulatedLocation\\n```\\n\\n### `tokyo`\\n\\n```swift\\npublic static var tokyo: SimulatedLocation\\n```\\n\\n### `sydney`\\n\\n```swift\\npublic static var sydney: SimulatedLocation\\n```\\n\\n### `hongKong`\\n\\n```swift\\npublic static var hongKong: SimulatedLocation\\n```\\n\\n### `honolulu`\\n\\n```swift\\npublic static var honolulu: SimulatedLocation\\n```\\n\\n### `sanFrancisco`\\n\\n```swift\\npublic static var sanFrancisco: SimulatedLocation\\n```\\n\\n### `mexicoCity`\\n\\n```swift\\npublic static var mexicoCity: SimulatedLocation\\n```\\n\\n### `newYork`\\n\\n```swift\\npublic static var newYork: SimulatedLocation\\n```\\n\\n### `rioDeJaneiro`\\n\\n```swift\\npublic static var rioDeJaneiro: SimulatedLocation\\n```\\n\\n## Methods\\n### `custom(gpxFile:)`\\n\\n```swift\\npublic static func custom(gpxFile: Path) -> SimulatedLocation\\n```\\n\\n\",\"title\":\"`SimulatedLocation`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/simulatedlocation\",\"LLMS_URL\":\"/es/references/project-description/structs/simulatedlocation.md\"}},{\"path\":\"/es/references/project-description/structs/sourcefileglob.md\",\"url\":\"/es/references/project-description/structs/sourcefileglob\",\"llmUrl\":\"/es/references/project-description/structs/sourcefileglob.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/sourcefileglob\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/sourcefileglob.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SourceFileGlob`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `glob`\\n - `excluding`\\n - `compilerFlags`\\n - `codeGen`\\n - `compilationCondition`\\n - `type`\\n- [Methods](#methods)\\n - `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n - `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n - `generated(_:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic struct SourceFileGlob: Codable, Equatable, Sendable\\n```\\n\\nA glob pattern configuration representing source files and its compiler flags, if any.\\n\\n## Properties\\n### `glob`\\n\\n```swift\\npublic var glob: Path\\n```\\n\\nGlob pattern to the source files.\\n\\n### `excluding`\\n\\n```swift\\npublic var excluding: [Path]\\n```\\n\\nGlob patterns for source files that will be excluded.\\n\\n### `compilerFlags`\\n\\n```swift\\npublic var compilerFlags: String?\\n```\\n\\nThe compiler flags to be set to the source files in the sources build phase.\\n\\n### `codeGen`\\n\\n```swift\\npublic var codeGen: FileCodeGen?\\n```\\n\\nThe source file attribute to be set in the build phase.\\n\\n### `compilationCondition`\\n\\n```swift\\npublic var compilationCondition: PlatformCondition?\\n```\\n\\nSource file condition for compilation\\n\\n### `type`\\n\\n```swift\\npublic var type: FileType\\n```\\n\\nType of the file.\\n\\n## Methods\\n### `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: [Path] = [],\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\nReturns a source glob pattern configuration.\\nUsed for file there were already present during the generation.\\n\\n- Parameters:\\n - glob: Glob pattern to the source files.\\n - excluding: Glob patterns for source files that will be excluded.\\n - compilerFlags: The compiler flags to be set to the source files in the sources build phase.\\n - codeGen: The source file attribute to be set in the build phase.\\n - compilationCondition: Condition for file compilation.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| glob | Glob pattern to the source files. |\\n| excluding | Glob patterns for source files that will be excluded. |\\n| compilerFlags | The compiler flags to be set to the source files in the sources build phase. |\\n| codeGen | The source file attribute to be set in the build phase. |\\n| compilationCondition | Condition for file compilation. |\\n\\n### `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: Path?,\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\n### `generated(_:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func generated(\\n _ path: Path,\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\nReturns a source generated source file configuration, for a single generated file.\\n\\n- Parameters:\\n - path: Path to the generated file. Assumed to be a specific path (as oppose to a glob pattern).\\n - compilerFlags: The compiler flags to be set to the source files in the sources build phase.\\n - codeGen: The source file attribute to be set in the build phase.\\n - compilationCondition: Condition for file compilation.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the generated file. Assumed to be a specific path (as oppose to a glob pattern). |\\n| compilerFlags | The compiler flags to be set to the source files in the sources build phase. |\\n| codeGen | The source file attribute to be set in the build phase. |\\n| compilationCondition | Condition for file compilation. |\\n\",\"title\":\"`SourceFileGlob`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/sourcefileglob\",\"LLMS_URL\":\"/es/references/project-description/structs/sourcefileglob.md\"}},{\"path\":\"/es/references/project-description/structs/sourcefileslist.md\",\"url\":\"/es/references/project-description/structs/sourcefileslist\",\"llmUrl\":\"/es/references/project-description/structs/sourcefileslist.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/sourcefileslist\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/sourcefileslist.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SourceFilesList`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `globs`\\n- [Methods](#methods)\\n - `sourceFilesList(globs:)`\\n - `sourceFilesList(globs:)`\\n - `paths(_:)`\\n\\n```swift\\npublic struct SourceFilesList: Codable, Equatable, Sendable\\n```\\n\\nA collection of source file globs.\\n\\n## Properties\\n### `globs`\\n\\n```swift\\npublic var globs: [SourceFileGlob]\\n```\\n\\nList glob patterns.\\n\\n## Methods\\n### `sourceFilesList(globs:)`\\n\\n```swift\\npublic static func sourceFilesList(globs: [SourceFileGlob]) -> Self\\n```\\n\\nCreates the source files list with the glob patterns.\\n\\n- Parameter globs: Glob patterns.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| globs | Glob patterns. |\\n\\n### `sourceFilesList(globs:)`\\n\\n```swift\\npublic static func sourceFilesList(globs: [String]) -> Self\\n```\\n\\nCreates the source files list with the glob patterns as strings.\\n\\n- Parameter globs: Glob patterns.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| globs | Glob patterns. |\\n\\n### `paths(_:)`\\n\\n```swift\\npublic static func paths(_ paths: [Path]) -> SourceFilesList\\n```\\n\\nReturns a sources list from a list of paths.\\n- Parameter paths: Source paths.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| paths | Source paths. |\\n\",\"title\":\"`SourceFilesList`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/sourcefileslist\",\"LLMS_URL\":\"/es/references/project-description/structs/sourcefileslist.md\"}},{\"path\":\"/es/references/project-description/structs/target.md\",\"url\":\"/es/references/project-description/structs/target\",\"llmUrl\":\"/es/references/project-description/structs/target.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/target\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/target.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Target`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `destinations`\\n - `product`\\n - `productName`\\n - `bundleId`\\n - `deploymentTargets`\\n - `infoPlist`\\n - `sources`\\n - `resources`\\n - `copyFiles`\\n - `headers`\\n - `entitlements`\\n - `scripts`\\n - `dependencies`\\n - `settings`\\n - `coreDataModels`\\n - `environmentVariables`\\n - `launchArguments`\\n - `additionalFiles`\\n - `buildRules`\\n - `mergedBinaryType`\\n - `mergeable`\\n - `onDemandResourcesTags`\\n - `metadata`\\n- [Methods](#methods)\\n - `target(name:destinations:product:productName:bundleId:deploymentTargets:infoPlist:sources:resources:copyFiles:headers:entitlements:scripts:dependencies:settings:coreDataModels:environmentVariables:launchArguments:additionalFiles:buildRules:mergedBinaryType:mergeable:onDemandResourcesTags:metadata:)`\\n\\n```swift\\npublic struct Target: Codable, Equatable, Sendable\\n```\\n\\nA target of a project.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nThe name of the target. Also, the product name if not specified with ``productName``.\\n\\n### `destinations`\\n\\n```swift\\npublic var destinations: Destinations\\n```\\n\\nThe destinations this target supports, e.g. iPhone, appleVision, macCatalyst\\n\\n### `product`\\n\\n```swift\\npublic var product: Product\\n```\\n\\nThe type of build product this target will output.\\n\\n### `productName`\\n\\n```swift\\npublic var productName: String?\\n```\\n\\nThe built product name. If nil, it will be equal to ``name``.\\n\\n### `bundleId`\\n\\n```swift\\npublic var bundleId: String\\n```\\n\\nThe product bundle identifier.\\n\\n### `deploymentTargets`\\n\\n```swift\\npublic var deploymentTargets: DeploymentTargets?\\n```\\n\\nThe minimum deployment targets your product will support.\\n\\n### `infoPlist`\\n\\n```swift\\npublic var infoPlist: InfoPlist?\\n```\\n\\nThe Info.plist representation.\\n\\n### `sources`\\n\\n```swift\\npublic var sources: SourceFilesList?\\n```\\n\\nThe source files of the target.\\nNote: any playgrounds matched by the globs used in this property will be automatically added.\\n\\n### `resources`\\n\\n```swift\\npublic var resources: ResourceFileElements?\\n```\\n\\nThe resource files of target.\\nNote: localizable files, `*.lproj`, are supported.\\n\\n### `copyFiles`\\n\\n```swift\\npublic var copyFiles: [CopyFilesAction]?\\n```\\n\\nThe build phase copy files actions for the target.\\n\\n### `headers`\\n\\n```swift\\npublic var headers: Headers?\\n```\\n\\nThe headers for the target.\\n\\n### `entitlements`\\n\\n```swift\\npublic var entitlements: Entitlements?\\n```\\n\\nThe entitlements representation.\\n\\n> Note: For per-configuration entitlements, you should:\\n> 1. Keep this property as `nil`\\n> 2. Set the `CODE_SIGN_ENTITLEMENTS` build setting using `Target.settings` for each configuration\\n> 3. If you want the entitlement files to be included in the project navigator, add them using `Project.additionalFiles`\\n>\\n> Example:\\n> ```swift\\n> let target = Target(\\n> name: \\\"MyApp\\\",\\n> // ... other properties\\n> entitlements: nil, // Important: keep this as nil\\n> settings: .settings(\\n> configurations: [\\n> .debug(name: \\\"Debug\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Debug.entitlements\\\"]),\\n> .release(name: \\\"Release\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Release.entitlements\\\"])\\n> ]\\n> )\\n> )\\n>\\n> let project = Project(\\n> name: \\\"MyProject\\\",\\n> targets: [target],\\n> additionalFiles: [\\n> \\\"Debug.entitlements\\\",\\n> \\\"Release.entitlements\\\"\\n> ]\\n> )\\n> ```\\n\\n### `scripts`\\n\\n```swift\\npublic var scripts: [TargetScript]\\n```\\n\\nThe build phase scripts actions for the target.\\n\\n### `dependencies`\\n\\n```swift\\npublic var dependencies: [TargetDependency]\\n```\\n\\nThe target's dependencies.\\n\\n### `settings`\\n\\n```swift\\npublic var settings: Settings?\\n```\\n\\nThe target's settings.\\n\\n### `coreDataModels`\\n\\n```swift\\npublic var coreDataModels: [CoreDataModel]\\n```\\n\\nThe Core Data models.\\n\\n### `environmentVariables`\\n\\n```swift\\npublic var environmentVariables: [String: EnvironmentVariable]\\n```\\n\\nThe environment variables. Used by autogenerated schemes for the target.\\n\\n### `launchArguments`\\n\\n```swift\\npublic var launchArguments: [LaunchArgument]\\n```\\n\\nThe launch arguments. Used by autogenerated schemes for the target.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic var additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the target. For project's additional files, see ``Project/additionalFiles``.\\n\\n### `buildRules`\\n\\n```swift\\npublic var buildRules: [BuildRule]\\n```\\n\\nThe build rules used for transformation of source files during compilation.\\n\\n### `mergedBinaryType`\\n\\n```swift\\npublic var mergedBinaryType: MergedBinaryType\\n```\\n\\nSpecifies whether if the target can merge or not the dynamic dependencies as part of its binary\\n\\n### `mergeable`\\n\\n```swift\\npublic var mergeable: Bool\\n```\\n\\nSpecifies whether if the target can be merged as part of another binary or not\\n\\n### `onDemandResourcesTags`\\n\\n```swift\\npublic var onDemandResourcesTags: OnDemandResourcesTags?\\n```\\n\\nThe target's tags associated with on demand resources\\n\\n### `metadata`\\n\\n```swift\\npublic var metadata: TargetMetadata\\n```\\n\\nThe target's metadata.\\n\\n## Methods\\n### `target(name:destinations:product:productName:bundleId:deploymentTargets:infoPlist:sources:resources:copyFiles:headers:entitlements:scripts:dependencies:settings:coreDataModels:environmentVariables:launchArguments:additionalFiles:buildRules:mergedBinaryType:mergeable:onDemandResourcesTags:metadata:)`\\n\\n```swift\\npublic static func target(\\n name: String,\\n destinations: Destinations,\\n product: Product,\\n productName: String? = nil,\\n bundleId: String,\\n deploymentTargets: DeploymentTargets? = nil,\\n infoPlist: InfoPlist? = .default,\\n sources: SourceFilesList? = nil,\\n resources: ResourceFileElements? = nil,\\n copyFiles: [CopyFilesAction]? = nil,\\n headers: Headers? = nil,\\n entitlements: Entitlements? = nil,\\n scripts: [TargetScript] = [],\\n dependencies: [TargetDependency] = [],\\n settings: Settings? = nil,\\n coreDataModels: [CoreDataModel] = [],\\n environmentVariables: [String: EnvironmentVariable] = [:],\\n launchArguments: [LaunchArgument] = [],\\n additionalFiles: [FileElement] = [],\\n buildRules: [BuildRule] = [],\\n mergedBinaryType: MergedBinaryType = .disabled,\\n mergeable: Bool = false,\\n onDemandResourcesTags: OnDemandResourcesTags? = nil,\\n metadata: TargetMetadata = .default\\n) -> Self\\n```\\n\\n\",\"title\":\"`Target`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/target\",\"LLMS_URL\":\"/es/references/project-description/structs/target.md\"}},{\"path\":\"/es/references/project-description/structs/targetmetadata.md\",\"url\":\"/es/references/project-description/structs/targetmetadata\",\"llmUrl\":\"/es/references/project-description/structs/targetmetadata.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/targetmetadata\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/targetmetadata.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetMetadata`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `tags`\\n - `default`\\n- [Methods](#methods)\\n - `metadata(tags:)`\\n\\n```swift\\npublic struct TargetMetadata: Codable, Equatable, Sendable\\n```\\n\\n## Properties\\n### `tags`\\n\\n```swift\\npublic var tags: [String]\\n```\\n\\n### `default`\\n\\n```swift\\npublic static var `default`: TargetMetadata\\n```\\n\\n## Methods\\n### `metadata(tags:)`\\n\\n```swift\\npublic static func metadata(\\n tags: [String] = []\\n) -> TargetMetadata\\n```\\n\\nReturns a target metadata.\\n\\n- Parameters:\\n - tags: The list of tags to use. Used to select focused targets when generating the project.\\n- Returns: Target metadata\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tags | The list of tags to use. Used to select focused targets when generating the project. |\\n\",\"title\":\"`TargetMetadata`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/targetmetadata\",\"LLMS_URL\":\"/es/references/project-description/structs/targetmetadata.md\"}},{\"path\":\"/es/references/project-description/structs/targetreference.md\",\"url\":\"/es/references/project-description/structs/targetreference\",\"llmUrl\":\"/es/references/project-description/structs/targetreference.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/targetreference\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/targetreference.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetReference`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `projectPath`\\n - `targetName`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `project(path:target:)`\\n - `target(_:)`\\n\\n```swift\\npublic struct TargetReference: Hashable, Codable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\nA target reference for a specified project.\\n\\nThe project is specified through the path and should contain the target name.\\n\\n## Properties\\n### `projectPath`\\n\\n```swift\\npublic var projectPath: Path?\\n```\\n\\nPath to the target's project directory.\\n\\n### `targetName`\\n\\n```swift\\npublic var targetName: String\\n```\\n\\nName of the target.\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `project(path:target:)`\\n\\n```swift\\npublic static func project(path: Path, target: String) -> TargetReference\\n```\\n\\n### `target(_:)`\\n\\n```swift\\npublic static func target(_ name: String) -> TargetReference\\n```\\n\\n\",\"title\":\"`TargetReference`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/targetreference\",\"LLMS_URL\":\"/es/references/project-description/structs/targetreference.md\"}},{\"path\":\"/es/references/project-description/structs/targetscript.md\",\"url\":\"/es/references/project-description/structs/targetscript\",\"llmUrl\":\"/es/references/project-description/structs/targetscript.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/targetscript\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/targetscript.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetScript`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `script`\\n - `order`\\n - `inputPaths`\\n - `inputFileListPaths`\\n - `outputPaths`\\n - `outputFileListPaths`\\n - `basedOnDependencyAnalysis`\\n - `runForInstallBuildsOnly`\\n - `shellPath`\\n - `dependencyFile`\\n- [Methods](#methods)\\n - `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic struct TargetScript: Codable, Equatable, Sendable\\n```\\n\\nA build phase action used to run a script.\\n\\nTarget scripts, represented as target script build phases in the generated Xcode projects, are useful to define actions to be\\nexecuted before of after the build process of a target.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of the build phase when the project gets generated.\\n\\n### `script`\\n\\n```swift\\npublic var script: Script\\n```\\n\\nThe script that is to be executed\\n\\n### `order`\\n\\n```swift\\npublic var order: Order\\n```\\n\\nTarget script order.\\n\\n### `inputPaths`\\n\\n```swift\\npublic var inputPaths: [FileListGlob]\\n```\\n\\nList of input file paths\\n\\n### `inputFileListPaths`\\n\\n```swift\\npublic var inputFileListPaths: [Path]\\n```\\n\\nList of input filelist paths\\n\\n### `outputPaths`\\n\\n```swift\\npublic var outputPaths: [Path]\\n```\\n\\nList of output file paths\\n\\n### `outputFileListPaths`\\n\\n```swift\\npublic var outputFileListPaths: [Path]\\n```\\n\\nList of output filelist paths\\n\\n### `basedOnDependencyAnalysis`\\n\\n```swift\\npublic var basedOnDependencyAnalysis: Bool?\\n```\\n\\nWhether to skip running this script in incremental builds, if nothing has changed\\n\\n### `runForInstallBuildsOnly`\\n\\n```swift\\npublic var runForInstallBuildsOnly: Bool\\n```\\n\\nWhether this script only runs on install builds (default is false)\\n\\n### `shellPath`\\n\\n```swift\\npublic var shellPath: String\\n```\\n\\nThe path to the shell which shall execute this script.\\n\\n### `dependencyFile`\\n\\n```swift\\npublic var dependencyFile: Path?\\n```\\n\\nThe path to the dependency file\\n\\n## Methods\\n### `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n path: Path,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n path: Path,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n path: Path,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n path: Path,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n tool: String,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n tool: String,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n tool: String,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n tool: String,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n script: String,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - script: The text of the script to run. This should be kept small.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| script | The text of the script to run. This should be kept small. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n script: String,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - script: The script to be executed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| script | The script to be executed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\",\"title\":\"`TargetScript`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/targetscript\",\"LLMS_URL\":\"/es/references/project-description/structs/targetscript.md\"}},{\"path\":\"/es/references/project-description/structs/template.md\",\"url\":\"/es/references/project-description/structs/template\",\"llmUrl\":\"/es/references/project-description/structs/template.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/template\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/template.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Template`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `description`\\n - `attributes`\\n - `items`\\n- [Methods](#methods)\\n - `init(description:attributes:items:)`\\n\\n```swift\\npublic struct Template: Codable, Equatable, Sendable\\n```\\n\\nA scaffold template model.\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic let description: String\\n```\\n\\nDescription of template\\n\\n### `attributes`\\n\\n```swift\\npublic let attributes: [Attribute]\\n```\\n\\nAttributes to be passed to template\\n\\n### `items`\\n\\n```swift\\npublic let items: [Item]\\n```\\n\\nItems to generate\\n\\n## Methods\\n### `init(description:attributes:items:)`\\n\\n```swift\\npublic init(\\n description: String,\\n attributes: [Attribute] = [],\\n items: [Item] = []\\n)\\n```\\n\\n\",\"title\":\"`Template`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/template\",\"LLMS_URL\":\"/es/references/project-description/structs/template.md\"}},{\"path\":\"/es/references/project-description/structs/template.item.md\",\"url\":\"/es/references/project-description/structs/template.item\",\"llmUrl\":\"/es/references/project-description/structs/template.item.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/template.item\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/template.item.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Template.Item`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `path`\\n - `contents`\\n- [Methods](#methods)\\n - `item(path:contents:)`\\n\\n```swift\\npublic struct Item: Codable, Equatable, Sendable\\n```\\n\\nFile description for generating\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic let path: String\\n```\\n\\n### `contents`\\n\\n```swift\\npublic let contents: Contents\\n```\\n\\n## Methods\\n### `item(path:contents:)`\\n\\n```swift\\npublic static func item(path: String, contents: Contents) -> Self\\n```\\n\\n\",\"title\":\"`Template.Item`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/template.item\",\"LLMS_URL\":\"/es/references/project-description/structs/template.item.md\"}},{\"path\":\"/es/references/project-description/structs/templatestring.md\",\"url\":\"/es/references/project-description/structs/templatestring\",\"llmUrl\":\"/es/references/project-description/structs/templatestring.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/templatestring\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/templatestring.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TemplateString`\\n\\n```swift\\npublic struct TemplateString: Encodable, Decodable, Equatable\\n```\\n\\n\",\"title\":\"`TemplateString`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/templatestring\",\"LLMS_URL\":\"/es/references/project-description/structs/templatestring.md\"}},{\"path\":\"/es/references/project-description/structs/templatestring.stringinterpolation.md\",\"url\":\"/es/references/project-description/structs/templatestring.stringinterpolation\",\"llmUrl\":\"/es/references/project-description/structs/templatestring.stringinterpolation.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/templatestring.stringinterpolation\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/templatestring.stringinterpolation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TemplateString.StringInterpolation`\\n\\n**Contents**\\n\\n- [Methods](#methods)\\n - `init(literalCapacity:interpolationCount:)`\\n - `appendLiteral(_:)`\\n - `appendInterpolation(_:)`\\n\\n```swift\\npublic struct StringInterpolation: StringInterpolationProtocol\\n```\\n\\n## Methods\\n### `init(literalCapacity:interpolationCount:)`\\n\\n```swift\\npublic init(literalCapacity _: Int, interpolationCount _: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| literalCapacity | The approximate size of all literal segments combined. This is meant to be passed to `String.reserveCapacity(_:)`; it may be slightly larger or smaller than the sum of the counts of each literal segment. |\\n| interpolationCount | The number of interpolations which will be appended. Use this value to estimate how much additional capacity will be needed for the interpolated segments. |\\n\\n### `appendLiteral(_:)`\\n\\n```swift\\npublic mutating func appendLiteral(_ literal: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| literal | A string literal containing the characters that appear next in the string literal. |\\n\\n### `appendInterpolation(_:)`\\n\\n```swift\\npublic mutating func appendInterpolation(_ token: TemplateString.Token)\\n```\\n\\n\",\"title\":\"`TemplateString.StringInterpolation`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/templatestring.stringinterpolation\",\"LLMS_URL\":\"/es/references/project-description/structs/templatestring.stringinterpolation.md\"}},{\"path\":\"/es/references/project-description/structs/testabletarget.md\",\"url\":\"/es/references/project-description/structs/testabletarget\",\"llmUrl\":\"/es/references/project-description/structs/testabletarget.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/testabletarget\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/testabletarget.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestableTarget`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `target`\\n - `isSkipped`\\n - `isParallelizable`\\n - `parallelization`\\n - `isRandomExecutionOrdering`\\n - `simulatedLocation`\\n- [Methods](#methods)\\n - `testableTarget(target:isSkipped:isParallelizable:isRandomExecutionOrdering:simulatedLocation:)`\\n - `testableTarget(target:isSkipped:parallelization:isRandomExecutionOrdering:simulatedLocation:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct TestableTarget: Equatable, Codable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\n## Properties\\n### `target`\\n\\n```swift\\npublic var target: TargetReference\\n```\\n\\n### `isSkipped`\\n\\n```swift\\npublic var isSkipped: Bool\\n```\\n\\n### `isParallelizable`\\n\\n```swift\\npublic var isParallelizable: Bool\\n```\\n\\n### `parallelization`\\n\\n```swift\\npublic var parallelization: Parallelization\\n```\\n\\n### `isRandomExecutionOrdering`\\n\\n```swift\\npublic var isRandomExecutionOrdering: Bool\\n```\\n\\n### `simulatedLocation`\\n\\n```swift\\npublic var simulatedLocation: SimulatedLocation?\\n```\\n\\n## Methods\\n### `testableTarget(target:isSkipped:isParallelizable:isRandomExecutionOrdering:simulatedLocation:)`\\n\\n```swift\\npublic static func testableTarget(\\n target: TargetReference,\\n isSkipped: Bool = false,\\n isParallelizable: Bool,\\n isRandomExecutionOrdering: Bool = false,\\n simulatedLocation: SimulatedLocation? = nil\\n) -> Self\\n```\\n\\nReturns a testable target.\\n\\n- Parameters:\\n - target: The name or reference of target to test.\\n - isSkipped: Whether to skip this test target. If true, the test target is disabled.\\n - isParallelizable: Whether to run in parallel.\\n - isRandomExecutionOrdering: Whether to test in random order.\\n - simulatedLocation: The simulated GPS location to use when testing this target.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | The name or reference of target to test. |\\n| isSkipped | Whether to skip this test target. If true, the test target is disabled. |\\n| isParallelizable | Whether to run in parallel. |\\n| isRandomExecutionOrdering | Whether to test in random order. |\\n| simulatedLocation | The simulated GPS location to use when testing this target. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n\\n### `testableTarget(target:isSkipped:parallelization:isRandomExecutionOrdering:simulatedLocation:)`\\n\\n```swift\\npublic static func testableTarget(\\n target: TargetReference,\\n isSkipped: Bool = false,\\n parallelization: Parallelization = .disabled,\\n isRandomExecutionOrdering: Bool = false,\\n simulatedLocation: SimulatedLocation? = nil\\n) -> Self\\n```\\n\\nReturns a testable target.\\n\\n- Parameters:\\n - target: The name or reference of target to test.\\n - isSkipped: Whether to skip this test target. If true, the test target is disabled.\\n - parallelization: Whether to run tests in parallel. Can be either `.disabled`, `.enabled`, or `.swiftTestingOnly`. The\\ndefault value is `.disabled`.\\n - isRandomExecutionOrdering: Whether to test in random order.\\n - simulatedLocation: The simulated GPS location to use when testing this target.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | The name or reference of target to test. |\\n| isSkipped | Whether to skip this test target. If true, the test target is disabled. |\\n| parallelization | Whether to run tests in parallel. Can be either `.disabled`, `.enabled`, or `.swiftTestingOnly`. The default value is `.disabled`. |\\n| isRandomExecutionOrdering | Whether to test in random order. |\\n| simulatedLocation | The simulated GPS location to use when testing this target. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`TestableTarget`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/testabletarget\",\"LLMS_URL\":\"/es/references/project-description/structs/testabletarget.md\"}},{\"path\":\"/es/references/project-description/structs/testaction.md\",\"url\":\"/es/references/project-description/structs/testaction\",\"llmUrl\":\"/es/references/project-description/structs/testaction.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/testaction\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/testaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `testPlans`\\n - `targets`\\n - `arguments`\\n - `configuration`\\n - `attachDebugger`\\n - `expandVariableFromTarget`\\n - `preActions`\\n - `postActions`\\n - `options`\\n - `diagnosticsOptions`\\n - `skippedTests`\\n- [Methods](#methods)\\n - `targets(_:arguments:configuration:attachDebugger:expandVariableFromTarget:preActions:postActions:options:diagnosticsOptions:skippedTests:)`\\n - `testPlans(_:configuration:attachDebugger:preActions:postActions:)`\\n\\n```swift\\npublic struct TestAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that tests the built products.\\n\\nYou can create a test action with either a set of test targets or test plans using the `.targets` or `.testPlans` static\\nmethods respectively.\\n\\n## Properties\\n### `testPlans`\\n\\n```swift\\npublic var testPlans: [Path]?\\n```\\n\\nList of test plans. The first in the list will be the default plan.\\n\\n### `targets`\\n\\n```swift\\npublic var targets: [TestableTarget]\\n```\\n\\nA list of testable targets, that are targets which are defined in the project with testable information.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nBuild configuration to run the test with.\\n\\n### `attachDebugger`\\n\\n```swift\\npublic var attachDebugger: Bool\\n```\\n\\nWhether a debugger should be attached to the test process or not.\\n\\n### `expandVariableFromTarget`\\n\\n```swift\\npublic var expandVariableFromTarget: TargetReference?\\n```\\n\\nA target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT)\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the tests-run process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the tests-run process.\\n\\n### `options`\\n\\n```swift\\npublic var options: TestActionOptions\\n```\\n\\nList of options to set to the action.\\n\\n### `diagnosticsOptions`\\n\\n```swift\\npublic var diagnosticsOptions: SchemeDiagnosticsOptions\\n```\\n\\nList of diagnostics options to set to the action.\\n\\n### `skippedTests`\\n\\n```swift\\npublic var skippedTests: [String]?\\n```\\n\\nList of testIdentifiers to skip to the test\\n\\n## Methods\\n### `targets(_:arguments:configuration:attachDebugger:expandVariableFromTarget:preActions:postActions:options:diagnosticsOptions:skippedTests:)`\\n\\n```swift\\npublic static func targets(\\n _ targets: [TestableTarget],\\n arguments: Arguments? = nil,\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n expandVariableFromTarget: TargetReference? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n options: TestActionOptions = .options(),\\n diagnosticsOptions: SchemeDiagnosticsOptions = .options(),\\n skippedTests: [String] = []\\n) -> Self\\n```\\n\\nReturns a test action from a list of targets to be tested.\\n- Parameters:\\n - targets: List of targets to be tested.\\n - arguments: Arguments passed when running the tests.\\n - configuration: Configuration to be used.\\n - attachDebugger: A boolean controlling whether a debugger is attached to the process running the tests.\\n - expandVariableFromTarget: A target that will be used to expand the variables defined inside Environment Variables\\ndefinition. When nil, it does not expand any variables.\\n - preActions: Actions to execute before running the tests.\\n - postActions: Actions to execute after running the tests.\\n - options: Test options.\\n - diagnosticsOptions: Diagnostics options.\\n- Returns: An initialized test action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| targets | List of targets to be tested. |\\n| arguments | Arguments passed when running the tests. |\\n| configuration | Configuration to be used. |\\n| attachDebugger | A boolean controlling whether a debugger is attached to the process running the tests. |\\n| expandVariableFromTarget | A target that will be used to expand the variables defined inside Environment Variables definition. When nil, it does not expand any variables. |\\n| preActions | Actions to execute before running the tests. |\\n| postActions | Actions to execute after running the tests. |\\n| options | Test options. |\\n| diagnosticsOptions | Diagnostics options. |\\n\\n### `testPlans(_:configuration:attachDebugger:preActions:postActions:)`\\n\\n```swift\\npublic static func testPlans(\\n _ testPlans: [Path],\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = []\\n) -> Self\\n```\\n\\nReturns a test action from a list of test plans.\\n- Parameters:\\n - testPlans: List of test plans to run.\\n - configuration: Configuration to be used.\\n - attachDebugger: A boolean controlling whether a debugger is attached to the process running the tests.\\n - preActions: Actions to execute before running the tests.\\n - postActions: Actions to execute after running the tests.\\n- Returns: A test action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| testPlans | List of test plans to run. |\\n| configuration | Configuration to be used. |\\n| attachDebugger | A boolean controlling whether a debugger is attached to the process running the tests. |\\n| preActions | Actions to execute before running the tests. |\\n| postActions | Actions to execute after running the tests. |\\n\",\"title\":\"`TestAction`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/testaction\",\"LLMS_URL\":\"/es/references/project-description/structs/testaction.md\"}},{\"path\":\"/es/references/project-description/structs/testactionoptions.md\",\"url\":\"/es/references/project-description/structs/testactionoptions\",\"llmUrl\":\"/es/references/project-description/structs/testactionoptions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/testactionoptions\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/testactionoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestActionOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `language`\\n - `region`\\n - `preferredScreenCaptureFormat`\\n - `coverage`\\n - `codeCoverageTargets`\\n- [Methods](#methods)\\n - `options(language:region:preferredScreenCaptureFormat:coverage:codeCoverageTargets:)`\\n\\n```swift\\npublic struct TestActionOptions: Equatable, Codable, Sendable\\n```\\n\\nThe type `TestActionOptions` represents a set of options for a test action.\\n\\n## Properties\\n### `language`\\n\\n```swift\\npublic var language: SchemeLanguage?\\n```\\n\\nLanguage used to run the tests.\\n\\n### `region`\\n\\n```swift\\npublic var region: String?\\n```\\n\\nRegion used to run the tests.\\n\\n### `preferredScreenCaptureFormat`\\n\\n```swift\\npublic var preferredScreenCaptureFormat: ScreenCaptureFormat?\\n```\\n\\nPreferred screen capture format for UI tests results in Xcode 15+\\n\\n### `coverage`\\n\\n```swift\\npublic var coverage: Bool\\n```\\n\\nWhether the scheme should or not gather the test coverage data.\\n\\n### `codeCoverageTargets`\\n\\n```swift\\npublic var codeCoverageTargets: [TargetReference]\\n```\\n\\nA list of targets you want to gather the test coverage data for them, which are defined in the project.\\n\\n## Methods\\n### `options(language:region:preferredScreenCaptureFormat:coverage:codeCoverageTargets:)`\\n\\n```swift\\npublic static func options(\\n language: SchemeLanguage? = nil,\\n region: String? = nil,\\n preferredScreenCaptureFormat: ScreenCaptureFormat? = nil,\\n coverage: Bool = false,\\n codeCoverageTargets: [TargetReference] = []\\n) -> TestActionOptions\\n```\\n\\nReturns a set of options for a test action.\\n- Parameters:\\n - language: Language used for running the tests.\\n - region: Region used for running the tests.\\n - coverage: Whether test coverage should be collected.\\n - codeCoverageTargets: List of test targets whose code coverage information should be collected.\\n- Returns: A set of options.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| language | Language used for running the tests. |\\n| region | Region used for running the tests. |\\n| coverage | Whether test coverage should be collected. |\\n| codeCoverageTargets | List of test targets whose code coverage information should be collected. |\\n\",\"title\":\"`TestActionOptions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/testactionoptions\",\"LLMS_URL\":\"/es/references/project-description/structs/testactionoptions.md\"}},{\"path\":\"/es/references/project-description/structs/testingoptions.md\",\"url\":\"/es/references/project-description/structs/testingoptions\",\"llmUrl\":\"/es/references/project-description/structs/testingoptions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/testingoptions\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/testingoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestingOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `rawValue`\\n - `parallelizable`\\n - `randomExecutionOrdering`\\n- [Methods](#methods)\\n - `init(rawValue:)`\\n\\n```swift\\npublic struct TestingOptions: OptionSet, Codable, Equatable, Sendable\\n```\\n\\nOptions to configure testing of autogenerated schemes.\\n\\n## Properties\\n### `rawValue`\\n\\n```swift\\npublic let rawValue: Int\\n```\\n\\n### `parallelizable`\\n\\n```swift\\npublic static let parallelizable = TestingOptions(rawValue: 1 << 0)\\n```\\n\\nRun tests on multiple destinations in parallel\\n\\n### `randomExecutionOrdering`\\n\\n```swift\\npublic static let randomExecutionOrdering = TestingOptions(rawValue: 1 << 1)\\n```\\n\\nExecute tests in random order\\n\\n## Methods\\n### `init(rawValue:)`\\n\\n```swift\\npublic init(rawValue: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| rawValue | The raw value of the option set to create. Each bit of `rawValue` potentially represents an element of the option set, though raw values may include bits that are not defined as distinct values of the `OptionSet` type. |\\n\",\"title\":\"`TestingOptions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/testingoptions\",\"LLMS_URL\":\"/es/references/project-description/structs/testingoptions.md\"}},{\"path\":\"/es/references/project-description/structs/tuist.md\",\"url\":\"/es/references/project-description/structs/tuist\",\"llmUrl\":\"/es/references/project-description/structs/tuist.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/tuist\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/tuist.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Tuist`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `project`\\n - `fullHandle`\\n - `inspectOptions`\\n - `url`\\n- [Methods](#methods)\\n - `init(compatibleXcodeVersions:cloud:fullHandle:url:swiftVersion:plugins:generationOptions:inspectOptions:installOptions:)`\\n - `init(fullHandle:inspectOptions:url:project:)`\\n\\n```swift\\npublic struct Tuist: Codable, Equatable, Sendable\\n```\\n\\n## Properties\\n### `project`\\n\\n```swift\\npublic let project: TuistProject\\n```\\n\\nConfigures the project Tuist will interact with.\\nWhen no project is provided, Tuist defaults to the workspace or project in the current directory.\\n\\n### `fullHandle`\\n\\n```swift\\npublic let fullHandle: String?\\n```\\n\\nThe full project handle such as tuist-org/tuist.\\n\\n### `inspectOptions`\\n\\n```swift\\npublic let inspectOptions: InspectOptions\\n```\\n\\nThe options to use when running `tuist inspect`.\\n\\n### `url`\\n\\n```swift\\npublic let url: String\\n```\\n\\nThe base URL that points to the Tuist server.\\n\\n## Methods\\n### `init(compatibleXcodeVersions:cloud:fullHandle:url:swiftVersion:plugins:generationOptions:inspectOptions:installOptions:)`\\n\\n```swift\\npublic init(\\n compatibleXcodeVersions: CompatibleXcodeVersions = .all,\\n cloud: Cloud? = nil,\\n fullHandle: String? = nil,\\n url: String = \\\"https://tuist.dev\\\",\\n swiftVersion: Version? = nil,\\n plugins: [PluginLocation] = [],\\n generationOptions: GenerationOptions = .options(),\\n inspectOptions: InspectOptions = .options(),\\n installOptions: InstallOptions = .options()\\n)\\n```\\n\\nCreates a tuist configuration.\\n\\n- Parameters:\\n - compatibleXcodeVersions: List of Xcode versions the project is compatible with.\\n - cloud: Cloud configuration.\\n - swiftVersion: The version of Swift that will be used by Tuist.\\n - plugins: A list of plugins to extend Tuist.\\n - generationOptions: List of options to use when generating the project.\\n - installOptions: List of options to use when running `tuist install`.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| compatibleXcodeVersions | List of Xcode versions the project is compatible with. |\\n| cloud | Cloud configuration. |\\n| swiftVersion | The version of Swift that will be used by Tuist. |\\n| plugins | A list of plugins to extend Tuist. |\\n| generationOptions | List of options to use when generating the project. |\\n| installOptions | List of options to use when running `tuist install`. |\\n\\n### `init(fullHandle:inspectOptions:url:project:)`\\n\\n```swift\\npublic init(\\n fullHandle: String? = nil,\\n inspectOptions: InspectOptions = .options(),\\n url: String = \\\"https://tuist.dev\\\",\\n project: TuistProject\\n)\\n```\\n\\n\",\"title\":\"`Tuist`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/tuist\",\"LLMS_URL\":\"/es/references/project-description/structs/tuist.md\"}},{\"path\":\"/es/references/project-description/structs/tuist.generationoptions.md\",\"url\":\"/es/references/project-description/structs/tuist.generationoptions\",\"llmUrl\":\"/es/references/project-description/structs/tuist.generationoptions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/tuist.generationoptions\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/tuist.generationoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Tuist.GenerationOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `resolveDependenciesWithSystemScm`\\n - `disablePackageVersionLocking`\\n - `clonedSourcePackagesDirPath`\\n - `staticSideEffectsWarningTargets`\\n - `enforceExplicitDependencies`\\n - `defaultConfiguration`\\n - `optionalAuthentication`\\n - `buildInsightsDisabled`\\n - `disableSandbox`\\n- [Methods](#methods)\\n - `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:)`\\n - `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:defaultConfiguration:optionalAuthentication:)`\\n\\n```swift\\npublic struct GenerationOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for project generation.\\n\\n## Properties\\n### `resolveDependenciesWithSystemScm`\\n\\n```swift\\npublic var resolveDependenciesWithSystemScm: Bool\\n```\\n\\nWhen passed, Xcode will resolve its Package Manager dependencies using the system-defined\\naccounts (for example, git) instead of the Xcode-defined accounts\\n\\n### `disablePackageVersionLocking`\\n\\n```swift\\npublic var disablePackageVersionLocking: Bool\\n```\\n\\nDisables locking Swift packages. This can speed up generation but does increase risk if packages are not locked\\nin their declarations.\\n\\n### `clonedSourcePackagesDirPath`\\n\\n```swift\\npublic var clonedSourcePackagesDirPath: Path?\\n```\\n\\nAllows setting a custom directory to be used when resolving package dependencies\\nThis path is passed to `xcodebuild` via the `-clonedSourcePackagesDirPath` argument\\n\\n### `staticSideEffectsWarningTargets`\\n\\n```swift\\npublic var staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets\\n```\\n\\nAllows configuring which targets Tuist checks for potential side effects due multiple branches of the graph\\nincluding the same static library of framework as a transitive dependency.\\n\\n### `enforceExplicitDependencies`\\n\\n```swift\\npublic let enforceExplicitDependencies: Bool\\n```\\n\\nThe generated project has build settings and build paths modified in such a way that projects with implicit\\ndependencies won't build until all dependencies are declared explicitly.\\n\\n### `defaultConfiguration`\\n\\n```swift\\npublic var defaultConfiguration: String?\\n```\\n\\nThe default configuration to be used when generating the project.\\nIf not specified, Tuist generates for the first (when alphabetically sorted) debug configuration.\\n\\n### `optionalAuthentication`\\n\\n```swift\\npublic var optionalAuthentication: Bool\\n```\\n\\nMarks whether the Tuist server authentication is optional.\\nIf present, the interaction with the Tuist server will be skipped (instead of failing) if a user is not authenticated.\\n\\n### `buildInsightsDisabled`\\n\\n```swift\\npublic var buildInsightsDisabled: Bool\\n```\\n\\nWhen disabled, build insights are not collected. Build insights are never collected unless you are connected to a\\nremote Tuist project.\\nDefault value is `true`.\\n\\n### `disableSandbox`\\n\\n```swift\\npublic var disableSandbox: Bool\\n```\\n\\nDisables building manifests in a sandboxed environment.\\n\\n- Warning: This is discouraged and should only be used if absolutely necessary. It guards against using file system\\noperations which:\\n - Make generation slow\\n - Cause issues with manifest caching\\n\\n## Methods\\n### `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:)`\\n\\n```swift\\npublic static func options(\\n resolveDependenciesWithSystemScm: Bool = false,\\n disablePackageVersionLocking: Bool = false,\\n clonedSourcePackagesDirPath: Path? = nil,\\n staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,\\n defaultConfiguration: String? = nil,\\n optionalAuthentication: Bool = false,\\n buildInsightsDisabled: Bool = false,\\n disableSandbox: Bool = false\\n) -> Self\\n```\\n\\n### `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:defaultConfiguration:optionalAuthentication:)`\\n\\n```swift\\npublic static func options(\\n resolveDependenciesWithSystemScm: Bool = false,\\n disablePackageVersionLocking: Bool = false,\\n clonedSourcePackagesDirPath: Path? = nil,\\n staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,\\n enforceExplicitDependencies: Bool,\\n defaultConfiguration: String? = nil,\\n optionalAuthentication: Bool = false\\n) -> Self\\n```\\n\\n\",\"title\":\"`Tuist.GenerationOptions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/tuist.generationoptions\",\"LLMS_URL\":\"/es/references/project-description/structs/tuist.generationoptions.md\"}},{\"path\":\"/es/references/project-description/structs/tuistxcodeprojectoptions.md\",\"url\":\"/es/references/project-description/structs/tuistxcodeprojectoptions\",\"llmUrl\":\"/es/references/project-description/structs/tuistxcodeprojectoptions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/tuistxcodeprojectoptions\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/tuistxcodeprojectoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TuistXcodeProjectOptions`\\n\\n**Contents**\\n\\n- [Methods](#methods)\\n - `options()`\\n\\n```swift\\npublic struct TuistXcodeProjectOptions: Codable, Equatable, Sendable\\n```\\n\\n## Methods\\n### `options()`\\n\\n```swift\\npublic static func options() -> Self\\n```\\n\\n\",\"title\":\"`TuistXcodeProjectOptions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/tuistxcodeprojectoptions\",\"LLMS_URL\":\"/es/references/project-description/structs/tuistxcodeprojectoptions.md\"}},{\"path\":\"/es/references/project-description/structs/version.md\",\"url\":\"/es/references/project-description/structs/version\",\"llmUrl\":\"/es/references/project-description/structs/version.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/version\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/version.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Version`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `major`\\n - `minor`\\n - `patch`\\n - `prereleaseIdentifiers`\\n - `buildMetadataIdentifiers`\\n- [Methods](#methods)\\n - `init(_:_:_:prereleaseIdentifiers:buildMetadataIdentifiers:)`\\n\\n```swift\\npublic struct Version: Hashable, Codable, Sendable\\n```\\n\\nA struct representing a semver version.\\nThis is taken from SPMUtility and copied here so we do not create a direct dependency for ProjectDescription. Used for\\nspecifying version number requirements inside of Project.swift\\n\\n## Properties\\n### `major`\\n\\n```swift\\npublic var major: Int\\n```\\n\\nThe major version.\\n\\n### `minor`\\n\\n```swift\\npublic var minor: Int\\n```\\n\\nThe minor version.\\n\\n### `patch`\\n\\n```swift\\npublic var patch: Int\\n```\\n\\nThe patch version.\\n\\n### `prereleaseIdentifiers`\\n\\n```swift\\npublic var prereleaseIdentifiers: [String]\\n```\\n\\nThe pre-release identifier.\\n\\n### `buildMetadataIdentifiers`\\n\\n```swift\\npublic var buildMetadataIdentifiers: [String]\\n```\\n\\nThe build metadata.\\n\\n## Methods\\n### `init(_:_:_:prereleaseIdentifiers:buildMetadataIdentifiers:)`\\n\\n```swift\\npublic init(\\n _ major: Int,\\n _ minor: Int,\\n _ patch: Int,\\n prereleaseIdentifiers: [String] = [],\\n buildMetadataIdentifiers: [String] = []\\n)\\n```\\n\\nCreate a version object.\\n\\n\",\"title\":\"`Version`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/version\",\"LLMS_URL\":\"/es/references/project-description/structs/version.md\"}},{\"path\":\"/es/references/project-description/structs/workspace.md\",\"url\":\"/es/references/project-description/structs/workspace\",\"llmUrl\":\"/es/references/project-description/structs/workspace.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/workspace\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/workspace.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Workspace`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `projects`\\n - `schemes`\\n - `fileHeaderTemplate`\\n - `additionalFiles`\\n - `generationOptions`\\n- [Methods](#methods)\\n - `init(name:projects:schemes:fileHeaderTemplate:additionalFiles:generationOptions:)`\\n\\n```swift\\npublic struct Workspace: Codable, Equatable, Sendable\\n```\\n\\nA workspace representation.\\n\\nBy default, `tuist generate` generates an Xcode workspace that has the same name as the current project.\\nIt includes the project and all its dependencies.\\n\\nTuist allows customizing this behaviour by defining a workspace manifest within a `Workspace.swift` file.\\n\\nWorkspace manifests allow specifying a list of projects to generate and include in an Xcode workspace.\\nThose projects don’t necessarily have to depend on one another.\\nAdditionally, files and folder references _(such as documentation files)_ can be included in a workspace manifest.\\n\\nThe snippet below shows an example workspace manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet workspace = Workspace(\\n name: \\\"Workspace\\\",\\n projects: [\\\"Projects/**\\\"]\\n)\\n```\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the workspace. Also, the file name of the generated Xcode workspace.\\n\\n### `projects`\\n\\n```swift\\npublic let projects: [Path]\\n```\\n\\nThe paths (or glob patterns) to manifest projects.\\n\\n### `schemes`\\n\\n```swift\\npublic let schemes: [Scheme]\\n```\\n\\nThe custom schemes for the workspace. Default schemes for each target are generated by default.\\n\\n### `fileHeaderTemplate`\\n\\n```swift\\npublic let fileHeaderTemplate: FileHeaderTemplate?\\n```\\n\\nThe custom file header template for Xcode built-in file templates.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic let additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the workspace. For project's additional files, see ``Project/additionalFiles``.\\n\\n### `generationOptions`\\n\\n```swift\\npublic let generationOptions: GenerationOptions\\n```\\n\\nThe generation configuration of the workspace.\\n\\n## Methods\\n### `init(name:projects:schemes:fileHeaderTemplate:additionalFiles:generationOptions:)`\\n\\n```swift\\npublic init(\\n name: String,\\n projects: [Path],\\n schemes: [Scheme] = [],\\n fileHeaderTemplate: FileHeaderTemplate? = nil,\\n additionalFiles: [FileElement] = [],\\n generationOptions: GenerationOptions = .options()\\n)\\n```\\n\\n\",\"title\":\"`Workspace`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/workspace\",\"LLMS_URL\":\"/es/references/project-description/structs/workspace.md\"}},{\"path\":\"/es/references/project-description/structs/workspace.generationoptions.md\",\"url\":\"/es/references/project-description/structs/workspace.generationoptions\",\"llmUrl\":\"/es/references/project-description/structs/workspace.generationoptions.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/structs/workspace.generationoptions\\\"\\nLLMS_URL: \\\"/es/references/project-description/structs/workspace.generationoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Workspace.GenerationOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `enableAutomaticXcodeSchemes`\\n - `autogeneratedWorkspaceSchemes`\\n - `lastXcodeUpgradeCheck`\\n - `renderMarkdownReadme`\\n- [Methods](#methods)\\n - `options(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:)`\\n\\n```swift\\npublic struct GenerationOptions: Codable, Equatable, Sendable\\n```\\n\\nGeneration options allow customizing the generation of the Xcode workspace.\\n\\n## Properties\\n### `enableAutomaticXcodeSchemes`\\n\\n```swift\\npublic var enableAutomaticXcodeSchemes: Bool?\\n```\\n\\nEnable or disable automatic generation of schemes by Xcode.\\n\\n### `autogeneratedWorkspaceSchemes`\\n\\n```swift\\npublic var autogeneratedWorkspaceSchemes: AutogeneratedWorkspaceSchemes\\n```\\n\\nEnable or disable automatic generation of `Workspace` schemes. If enabled, options to configure code coverage and test\\ntargets can be passed in via associated values.\\n\\n### `lastXcodeUpgradeCheck`\\n\\n```swift\\npublic var lastXcodeUpgradeCheck: Version?\\n```\\n\\nAllows to suppress warnings in Xcode about updates to recommended settings added in or below the specified Xcode\\nversion. The warnings appear when Xcode version has been upgraded.\\nIt is recommended to set the version option to Xcode's version that is used for development of a project, for example\\n`.lastXcodeUpgradeCheck(Version(13, 0, 0))` for Xcode 13.0.0.\\n\\n### `renderMarkdownReadme`\\n\\n```swift\\npublic var renderMarkdownReadme: Bool\\n```\\n\\nAllows to render markdown files inside the workspace including an .xcodesamples.plist inside it.\\n\\n## Methods\\n### `options(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:)`\\n\\n```swift\\npublic static func options(\\n enableAutomaticXcodeSchemes: Bool? = false,\\n autogeneratedWorkspaceSchemes: AutogeneratedWorkspaceSchemes = .enabled(),\\n lastXcodeUpgradeCheck: Version? = nil,\\n renderMarkdownReadme: Bool = false\\n) -> Self\\n```\\n\\n\",\"title\":\"`Workspace.GenerationOptions`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/structs/workspace.generationoptions\",\"LLMS_URL\":\"/es/references/project-description/structs/workspace.generationoptions.md\"}},{\"path\":\"/es/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\",\"url\":\"/es/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype\",\"llmUrl\":\"/es/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype\\\"\\nLLMS_URL: \\\"/es/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].ExtendedGraphemeClusterLiteralType`\\n\\n```swift\\npublic typealias ExtendedGraphemeClusterLiteralType = String\\n```\\n\\n\",\"title\":\"`[FileElement].ExtendedGraphemeClusterLiteralType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype\",\"LLMS_URL\":\"/es/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\"}},{\"path\":\"/es/references/project-description/typealiases/array.stringliteraltype.md\",\"url\":\"/es/references/project-description/typealiases/array.stringliteraltype\",\"llmUrl\":\"/es/references/project-description/typealiases/array.stringliteraltype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/typealiases/array.stringliteraltype\\\"\\nLLMS_URL: \\\"/es/references/project-description/typealiases/array.stringliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].StringLiteralType`\\n\\n```swift\\npublic typealias StringLiteralType = String\\n```\\n\\n\",\"title\":\"`[FileElement].StringLiteralType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/typealiases/array.stringliteraltype\",\"LLMS_URL\":\"/es/references/project-description/typealiases/array.stringliteraltype.md\"}},{\"path\":\"/es/references/project-description/typealiases/array.unicodescalarliteraltype.md\",\"url\":\"/es/references/project-description/typealiases/array.unicodescalarliteraltype\",\"llmUrl\":\"/es/references/project-description/typealiases/array.unicodescalarliteraltype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/typealiases/array.unicodescalarliteraltype\\\"\\nLLMS_URL: \\\"/es/references/project-description/typealiases/array.unicodescalarliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].UnicodeScalarLiteralType`\\n\\n```swift\\npublic typealias UnicodeScalarLiteralType = String\\n```\\n\\n\",\"title\":\"`[FileElement].UnicodeScalarLiteralType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/typealiases/array.unicodescalarliteraltype\",\"LLMS_URL\":\"/es/references/project-description/typealiases/array.unicodescalarliteraltype.md\"}},{\"path\":\"/es/references/project-description/typealiases/config.md\",\"url\":\"/es/references/project-description/typealiases/config\",\"llmUrl\":\"/es/references/project-description/typealiases/config.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/typealiases/config\\\"\\nLLMS_URL: \\\"/es/references/project-description/typealiases/config.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `Config`\\n\\n```swift\\npublic typealias Config = Tuist\\n```\\n\\nThe configuration of your environment.\\n\\nTuist can be configured through a shared `Tuist.swift` manifest.\\nWhen Tuist is executed, it traverses up the directories to find `Tuist.swift` file.\\nDefining a configuration manifest is not required, but recommended to ensure a consistent behaviour across all the projects\\nthat are part of the repository.\\n\\nThe example below shows a project that has a global `Tuist.swift` file that will be used when Tuist is run from any of the\\nsubdirectories:\\n\\n```bash\\n/Workspace.swift\\n/Tuist.swift # Configuration manifest\\n/Framework/Project.swift\\n/App/Project.swift\\n```\\n\\nThat way, when executing Tuist in any of the subdirectories, it will use the shared configuration.\\n\\nThe snippet below shows an example configuration manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Config(project: .tuist(generationOptions: .options(resolveDependenciesWithSystemScm: false)))\\n\\n```\\n\",\"title\":\"`Config`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/typealiases/config\",\"LLMS_URL\":\"/es/references/project-description/typealiases/config.md\"}},{\"path\":\"/es/references/project-description/typealiases/destinations.md\",\"url\":\"/es/references/project-description/typealiases/destinations\",\"llmUrl\":\"/es/references/project-description/typealiases/destinations.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/typealiases/destinations\\\"\\nLLMS_URL: \\\"/es/references/project-description/typealiases/destinations.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `Destinations`\\n\\n```swift\\npublic typealias Destinations = Set\\n```\\n\\nSet of deployment destinations\\n\",\"title\":\"`Destinations`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/typealiases/destinations\",\"LLMS_URL\":\"/es/references/project-description/typealiases/destinations.md\"}},{\"path\":\"/es/references/project-description/typealiases/platformfilters.md\",\"url\":\"/es/references/project-description/typealiases/platformfilters\",\"llmUrl\":\"/es/references/project-description/typealiases/platformfilters.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/typealiases/platformfilters\\\"\\nLLMS_URL: \\\"/es/references/project-description/typealiases/platformfilters.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `PlatformFilters`\\n\\n```swift\\npublic typealias PlatformFilters = Set\\n```\\n\\n\",\"title\":\"`PlatformFilters`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/typealiases/platformfilters\",\"LLMS_URL\":\"/es/references/project-description/typealiases/platformfilters.md\"}},{\"path\":\"/es/references/project-description/typealiases/runactionoptions.simulatedlocation.md\",\"url\":\"/es/references/project-description/typealiases/runactionoptions.simulatedlocation\",\"llmUrl\":\"/es/references/project-description/typealiases/runactionoptions.simulatedlocation.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/typealiases/runactionoptions.simulatedlocation\\\"\\nLLMS_URL: \\\"/es/references/project-description/typealiases/runactionoptions.simulatedlocation.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `RunActionOptions.SimulatedLocation`\\n\\n```swift\\npublic typealias SimulatedLocation = ProjectDescription.SimulatedLocation\\n```\\n\\n\",\"title\":\"`RunActionOptions.SimulatedLocation`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/typealiases/runactionoptions.simulatedlocation\",\"LLMS_URL\":\"/es/references/project-description/typealiases/runactionoptions.simulatedlocation.md\"}},{\"path\":\"/es/references/project-description/typealiases/settingsdictionary.md\",\"url\":\"/es/references/project-description/typealiases/settingsdictionary\",\"llmUrl\":\"/es/references/project-description/typealiases/settingsdictionary.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/typealiases/settingsdictionary\\\"\\nLLMS_URL: \\\"/es/references/project-description/typealiases/settingsdictionary.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `SettingsDictionary`\\n\\n```swift\\npublic typealias SettingsDictionary = [String: SettingValue]\\n```\\n\\n\",\"title\":\"`SettingsDictionary`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/typealiases/settingsdictionary\",\"LLMS_URL\":\"/es/references/project-description/typealiases/settingsdictionary.md\"}},{\"path\":\"/es/references/project-description/typealiases/settingvalue.booleanliteraltype.md\",\"url\":\"/es/references/project-description/typealiases/settingvalue.booleanliteraltype\",\"llmUrl\":\"/es/references/project-description/typealiases/settingvalue.booleanliteraltype.md\",\"content\":\"---\\nURL: \\\"/es/references/project-description/typealiases/settingvalue.booleanliteraltype\\\"\\nLLMS_URL: \\\"/es/references/project-description/typealiases/settingvalue.booleanliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `SettingValue.BooleanLiteralType`\\n\\n```swift\\npublic typealias BooleanLiteralType = Bool\\n```\\n\\n\",\"title\":\"`SettingValue.BooleanLiteralType`\",\"frontmatter\":{\"URL\":\"/es/references/project-description/typealiases/settingvalue.booleanliteraltype\",\"LLMS_URL\":\"/es/references/project-description/typealiases/settingvalue.booleanliteraltype.md\"}},{\"path\":\"/generated/manifest/enums/AutogeneratedWorkspaceSchemes.CodeCoverageMode.md\",\"url\":\"/generated/manifest/enums/AutogeneratedWorkspaceSchemes.CodeCoverageMode\",\"llmUrl\":\"/generated/manifest/enums/AutogeneratedWorkspaceSchemes.CodeCoverageMode.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/AutogeneratedWorkspaceSchemes.CodeCoverageMode\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/AutogeneratedWorkspaceSchemes.CodeCoverageMode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `AutogeneratedWorkspaceSchemes.CodeCoverageMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `relevant`\\n - `targets(_:)`\\n - `disabled`\\n\\n```swift\\npublic enum CodeCoverageMode: Codable, Equatable, Sendable\\n```\\n\\nContains options for code coverage\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\nGather code coverage data for all targets in workspace.\\n\\n### `relevant`\\n\\n```swift\\ncase relevant\\n```\\n\\nEnable code coverage for targets that have enabled code coverage in any of schemes in workspace.\\n\\n### `targets(_:)`\\n\\n```swift\\ncase targets([TargetReference])\\n```\\n\\nGather code coverage for specified target references.\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDo not gather code coverage data.\\n\",\"title\":\"`AutogeneratedWorkspaceSchemes.CodeCoverageMode`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/AutogeneratedWorkspaceSchemes.CodeCoverageMode\",\"LLMS_URL\":\"/generated/manifest/enums/AutogeneratedWorkspaceSchemes.CodeCoverageMode.md\"}},{\"path\":\"/generated/manifest/enums/AutomaticSchemesOptions.TargetSchemesGrouping.md\",\"url\":\"/generated/manifest/enums/AutomaticSchemesOptions.TargetSchemesGrouping\",\"llmUrl\":\"/generated/manifest/enums/AutomaticSchemesOptions.TargetSchemesGrouping.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/AutomaticSchemesOptions.TargetSchemesGrouping\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/AutomaticSchemesOptions.TargetSchemesGrouping.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `AutomaticSchemesOptions.TargetSchemesGrouping`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `singleScheme`\\n - `byNameSuffix(build:test:run:)`\\n - `notGrouped`\\n\\n```swift\\npublic enum TargetSchemesGrouping: Codable, Equatable, Sendable\\n```\\n\\nAllows you to define what targets will be enabled for code coverage data gathering.\\n\\n## Cases\\n### `singleScheme`\\n\\n```swift\\ncase singleScheme\\n```\\n\\nGenerate a single scheme for each project.\\n\\n### `byNameSuffix(build:test:run:)`\\n\\n```swift\\ncase byNameSuffix(build: Set, test: Set, run: Set)\\n```\\n\\nGroup schemes according to the suffix of their names.\\n\\n### `notGrouped`\\n\\n```swift\\ncase notGrouped\\n```\\n\\nGenerate a scheme for each target.\\n\",\"title\":\"`AutomaticSchemesOptions.TargetSchemesGrouping`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/AutomaticSchemesOptions.TargetSchemesGrouping\",\"LLMS_URL\":\"/generated/manifest/enums/AutomaticSchemesOptions.TargetSchemesGrouping.md\"}},{\"path\":\"/generated/manifest/enums/BuildOrder.md\",\"url\":\"/generated/manifest/enums/BuildOrder\",\"llmUrl\":\"/generated/manifest/enums/BuildOrder.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/BuildOrder\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/BuildOrder.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildOrder`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `dependency`\\n - `manual`\\n\\n```swift\\npublic enum BuildOrder: Codable, Sendable\\n```\\n\\nRepresents the order in which targets are built within an Xcode scheme.\\n\\n## Cases\\n### `dependency`\\n\\n```swift\\ncase dependency\\n```\\n\\nBuilds targets automatically based on their dependency graph.\\nThis is the default and recommended setting for most projects.\\n\\n### `manual`\\n\\n```swift\\ncase manual\\n```\\n\\nBuilds targets in the order they appear in the scheme’s Build list.\\nUse this when you need fine-grained control.\\n\\n- Warning: This option is deprecated and may not be respected in future versions of Xcode.\\nUse `dependency` to ensure reliable and maintainable build behavior.\\n\",\"title\":\"`BuildOrder`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/BuildOrder\",\"LLMS_URL\":\"/generated/manifest/enums/BuildOrder.md\"}},{\"path\":\"/generated/manifest/enums/BuildRule.CompilerSpec.md\",\"url\":\"/generated/manifest/enums/BuildRule.CompilerSpec\",\"llmUrl\":\"/generated/manifest/enums/BuildRule.CompilerSpec.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/BuildRule.CompilerSpec\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/BuildRule.CompilerSpec.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildRule.CompilerSpec`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `appIntentsMetadataExtractor`\\n - `appShortcutStringsMetadataExtractor`\\n - `appleClang`\\n - `assetCatalogCompiler`\\n - `codeSign`\\n - `compileRealityComposerProject`\\n - `compileSceneKitShaders`\\n - `compileSkybox`\\n - `compileUSDZ`\\n - `compressPNG`\\n - `copyPlistFile`\\n - `copySceneKitAssets`\\n - `copyStringsFile`\\n - `copyTiffFile`\\n - `coreDataMappingModelCompiler`\\n - `coreMLModelCompiler`\\n - `dataModelCompiler`\\n - `defaultCompiler`\\n - `dTrace`\\n - `generateSpriteKitTextureAtlas`\\n - `iconutil`\\n - `instrumetsPackageBuilder`\\n - `intentDefinitionCompiler`\\n - `interfaceBuilderNIBPostprocessor`\\n - `interfaceBuilderStoryboardCompiler`\\n - `interfaceBuilderStoryboardLinker`\\n - `interfaceBuilderStoryboardPostprocessor`\\n - `interfaceBuilderXIBCompiler`\\n - `ioKitInterfaceGenerator`\\n - `lex`\\n - `lsRegisterURL`\\n - `metalCompiler`\\n - `metalLinker`\\n - `mig`\\n - `nasm`\\n - `nmedit`\\n - `openCL`\\n - `osaCompile`\\n - `pbxcp`\\n - `processSceneKitDocument`\\n - `processXCAppExtensionPoints`\\n - `rez`\\n - `stripSymbols`\\n - `swiftCompiler`\\n - `swiftABIBaselineGenerator`\\n - `swiftFrameworkABIChecker`\\n - `textBasedAPITool`\\n - `unifdef`\\n - `yacc`\\n - `customScript`\\n\\n```swift\\npublic enum CompilerSpec: Codable, Sendable\\n```\\n\\nThe type of compiler spec which is used for a selected file type.\\nAll the values are taken from build rule options hidden under a pup-up button's menu next to a label `Using` in a target's\\n`Build Rules` section.\\n\\n## Cases\\n### `appIntentsMetadataExtractor`\\n\\n```swift\\ncase appIntentsMetadataExtractor\\n```\\n\\n### `appShortcutStringsMetadataExtractor`\\n\\n```swift\\ncase appShortcutStringsMetadataExtractor\\n```\\n\\n### `appleClang`\\n\\n```swift\\ncase appleClang\\n```\\n\\n### `assetCatalogCompiler`\\n\\n```swift\\ncase assetCatalogCompiler\\n```\\n\\n### `codeSign`\\n\\n```swift\\ncase codeSign\\n```\\n\\n### `compileRealityComposerProject`\\n\\n```swift\\ncase compileRealityComposerProject\\n```\\n\\n### `compileSceneKitShaders`\\n\\n```swift\\ncase compileSceneKitShaders\\n```\\n\\n### `compileSkybox`\\n\\n```swift\\ncase compileSkybox\\n```\\n\\n### `compileUSDZ`\\n\\n```swift\\ncase compileUSDZ\\n```\\n\\n### `compressPNG`\\n\\n```swift\\ncase compressPNG\\n```\\n\\n### `copyPlistFile`\\n\\n```swift\\ncase copyPlistFile\\n```\\n\\n### `copySceneKitAssets`\\n\\n```swift\\ncase copySceneKitAssets\\n```\\n\\n### `copyStringsFile`\\n\\n```swift\\ncase copyStringsFile\\n```\\n\\n### `copyTiffFile`\\n\\n```swift\\ncase copyTiffFile\\n```\\n\\n### `coreDataMappingModelCompiler`\\n\\n```swift\\ncase coreDataMappingModelCompiler\\n```\\n\\n### `coreMLModelCompiler`\\n\\n```swift\\ncase coreMLModelCompiler\\n```\\n\\n### `dataModelCompiler`\\n\\n```swift\\ncase dataModelCompiler\\n```\\n\\n### `defaultCompiler`\\n\\n```swift\\ncase defaultCompiler\\n```\\n\\n### `dTrace`\\n\\n```swift\\ncase dTrace\\n```\\n\\n### `generateSpriteKitTextureAtlas`\\n\\n```swift\\ncase generateSpriteKitTextureAtlas\\n```\\n\\n### `iconutil`\\n\\n```swift\\ncase iconutil\\n```\\n\\n### `instrumetsPackageBuilder`\\n\\n```swift\\ncase instrumetsPackageBuilder\\n```\\n\\n### `intentDefinitionCompiler`\\n\\n```swift\\ncase intentDefinitionCompiler\\n```\\n\\n### `interfaceBuilderNIBPostprocessor`\\n\\n```swift\\ncase interfaceBuilderNIBPostprocessor\\n```\\n\\n### `interfaceBuilderStoryboardCompiler`\\n\\n```swift\\ncase interfaceBuilderStoryboardCompiler\\n```\\n\\n### `interfaceBuilderStoryboardLinker`\\n\\n```swift\\ncase interfaceBuilderStoryboardLinker\\n```\\n\\n### `interfaceBuilderStoryboardPostprocessor`\\n\\n```swift\\ncase interfaceBuilderStoryboardPostprocessor\\n```\\n\\n### `interfaceBuilderXIBCompiler`\\n\\n```swift\\ncase interfaceBuilderXIBCompiler\\n```\\n\\n### `ioKitInterfaceGenerator`\\n\\n```swift\\ncase ioKitInterfaceGenerator\\n```\\n\\n### `lex`\\n\\n```swift\\ncase lex\\n```\\n\\n### `lsRegisterURL`\\n\\n```swift\\ncase lsRegisterURL\\n```\\n\\n### `metalCompiler`\\n\\n```swift\\ncase metalCompiler\\n```\\n\\n### `metalLinker`\\n\\n```swift\\ncase metalLinker\\n```\\n\\n### `mig`\\n\\n```swift\\ncase mig\\n```\\n\\n### `nasm`\\n\\n```swift\\ncase nasm\\n```\\n\\n### `nmedit`\\n\\n```swift\\ncase nmedit\\n```\\n\\n### `openCL`\\n\\n```swift\\ncase openCL\\n```\\n\\n### `osaCompile`\\n\\n```swift\\ncase osaCompile\\n```\\n\\n### `pbxcp`\\n\\n```swift\\ncase pbxcp\\n```\\n\\n### `processSceneKitDocument`\\n\\n```swift\\ncase processSceneKitDocument\\n```\\n\\n### `processXCAppExtensionPoints`\\n\\n```swift\\ncase processXCAppExtensionPoints\\n```\\n\\n### `rez`\\n\\n```swift\\ncase rez\\n```\\n\\n### `stripSymbols`\\n\\n```swift\\ncase stripSymbols\\n```\\n\\n### `swiftCompiler`\\n\\n```swift\\ncase swiftCompiler\\n```\\n\\n### `swiftABIBaselineGenerator`\\n\\n```swift\\ncase swiftABIBaselineGenerator\\n```\\n\\n### `swiftFrameworkABIChecker`\\n\\n```swift\\ncase swiftFrameworkABIChecker\\n```\\n\\n### `textBasedAPITool`\\n\\n```swift\\ncase textBasedAPITool\\n```\\n\\n### `unifdef`\\n\\n```swift\\ncase unifdef\\n```\\n\\n### `yacc`\\n\\n```swift\\ncase yacc\\n```\\n\\n### `customScript`\\n\\n```swift\\ncase customScript\\n```\\n\",\"title\":\"`BuildRule.CompilerSpec`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/BuildRule.CompilerSpec\",\"LLMS_URL\":\"/generated/manifest/enums/BuildRule.CompilerSpec.md\"}},{\"path\":\"/generated/manifest/enums/BuildRule.FileType.md\",\"url\":\"/generated/manifest/enums/BuildRule.FileType\",\"llmUrl\":\"/generated/manifest/enums/BuildRule.FileType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/BuildRule.FileType\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/BuildRule.FileType.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildRule.FileType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `instrumentsPackageDefinition`\\n - `metalAIR`\\n - `machO`\\n - `machOObject`\\n - `siriKitIntent`\\n - `coreMLMachineLearning`\\n - `rcProjectDocument`\\n - `skyboxDocument`\\n - `interfaceBuilderStoryboard`\\n - `interfaceBuilder`\\n - `documentationCatalog`\\n - `coreMLMachineLearningModelPackage`\\n - `assemblyAsm`\\n - `assemblyAsmAsm`\\n - `llvmAssembly`\\n - `cSource`\\n - `clipsSource`\\n - `cppSource`\\n - `dtraceSource`\\n - `dylanSource`\\n - `fortranSource`\\n - `glslSource`\\n - `iigSource`\\n - `javaSource`\\n - `lexSource`\\n - `metalShaderSource`\\n - `migSource`\\n - `nasmAssembly`\\n - `openCLSource`\\n - `pascalSource`\\n - `protobufSource`\\n - `rezSource`\\n - `swiftSource`\\n - `yaccSource`\\n - `localizationString`\\n - `localizationStringDictionary`\\n - `xcAppExtensionPoints`\\n - `xcodeSpecificationPlist`\\n - `dae`\\n - `nib`\\n - `interfaceBuilderStoryboardPackage`\\n - `classModel`\\n - `dataModel`\\n - `dataModelVersion`\\n - `mappingModel`\\n - `sourceFilesWithNamesMatching`\\n\\n```swift\\npublic enum FileType: Codable, Sendable\\n```\\n\\nFile types processed by a build rule.\\nAll the values are taken from build rule options hidden under a pup-up button's menu next to a label `Process` in a\\ntarget's `Build Rules` section.\\n\\n## Cases\\n### `instrumentsPackageDefinition`\\n\\n```swift\\ncase instrumentsPackageDefinition\\n```\\n\\n### `metalAIR`\\n\\n```swift\\ncase metalAIR\\n```\\n\\n### `machO`\\n\\n```swift\\ncase machO\\n```\\n\\n### `machOObject`\\n\\n```swift\\ncase machOObject\\n```\\n\\n### `siriKitIntent`\\n\\n```swift\\ncase siriKitIntent\\n```\\n\\n### `coreMLMachineLearning`\\n\\n```swift\\ncase coreMLMachineLearning\\n```\\n\\n### `rcProjectDocument`\\n\\n```swift\\ncase rcProjectDocument\\n```\\n\\n### `skyboxDocument`\\n\\n```swift\\ncase skyboxDocument\\n```\\n\\n### `interfaceBuilderStoryboard`\\n\\n```swift\\ncase interfaceBuilderStoryboard\\n```\\n\\n### `interfaceBuilder`\\n\\n```swift\\ncase interfaceBuilder\\n```\\n\\n### `documentationCatalog`\\n\\n```swift\\ncase documentationCatalog\\n```\\n\\n### `coreMLMachineLearningModelPackage`\\n\\n```swift\\ncase coreMLMachineLearningModelPackage\\n```\\n\\n### `assemblyAsm`\\n\\n```swift\\ncase assemblyAsm\\n```\\n\\n### `assemblyAsmAsm`\\n\\n```swift\\ncase assemblyAsmAsm\\n```\\n\\n### `llvmAssembly`\\n\\n```swift\\ncase llvmAssembly\\n```\\n\\n### `cSource`\\n\\n```swift\\ncase cSource\\n```\\n\\n### `clipsSource`\\n\\n```swift\\ncase clipsSource\\n```\\n\\n### `cppSource`\\n\\n```swift\\ncase cppSource\\n```\\n\\n### `dtraceSource`\\n\\n```swift\\ncase dtraceSource\\n```\\n\\n### `dylanSource`\\n\\n```swift\\ncase dylanSource\\n```\\n\\n### `fortranSource`\\n\\n```swift\\ncase fortranSource\\n```\\n\\n### `glslSource`\\n\\n```swift\\ncase glslSource\\n```\\n\\n### `iigSource`\\n\\n```swift\\ncase iigSource\\n```\\n\\n### `javaSource`\\n\\n```swift\\ncase javaSource\\n```\\n\\n### `lexSource`\\n\\n```swift\\ncase lexSource\\n```\\n\\n### `metalShaderSource`\\n\\n```swift\\ncase metalShaderSource\\n```\\n\\n### `migSource`\\n\\n```swift\\ncase migSource\\n```\\n\\n### `nasmAssembly`\\n\\n```swift\\ncase nasmAssembly\\n```\\n\\n### `openCLSource`\\n\\n```swift\\ncase openCLSource\\n```\\n\\n### `pascalSource`\\n\\n```swift\\ncase pascalSource\\n```\\n\\n### `protobufSource`\\n\\n```swift\\ncase protobufSource\\n```\\n\\n### `rezSource`\\n\\n```swift\\ncase rezSource\\n```\\n\\n### `swiftSource`\\n\\n```swift\\ncase swiftSource\\n```\\n\\n### `yaccSource`\\n\\n```swift\\ncase yaccSource\\n```\\n\\n### `localizationString`\\n\\n```swift\\ncase localizationString\\n```\\n\\n### `localizationStringDictionary`\\n\\n```swift\\ncase localizationStringDictionary\\n```\\n\\n### `xcAppExtensionPoints`\\n\\n```swift\\ncase xcAppExtensionPoints\\n```\\n\\n### `xcodeSpecificationPlist`\\n\\n```swift\\ncase xcodeSpecificationPlist\\n```\\n\\n### `dae`\\n\\n```swift\\ncase dae\\n```\\n\\n### `nib`\\n\\n```swift\\ncase nib\\n```\\n\\n### `interfaceBuilderStoryboardPackage`\\n\\n```swift\\ncase interfaceBuilderStoryboardPackage\\n```\\n\\n### `classModel`\\n\\n```swift\\ncase classModel\\n```\\n\\n### `dataModel`\\n\\n```swift\\ncase dataModel\\n```\\n\\n### `dataModelVersion`\\n\\n```swift\\ncase dataModelVersion\\n```\\n\\n### `mappingModel`\\n\\n```swift\\ncase mappingModel\\n```\\n\\n### `sourceFilesWithNamesMatching`\\n\\n```swift\\ncase sourceFilesWithNamesMatching\\n```\\n\",\"title\":\"`BuildRule.FileType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/BuildRule.FileType\",\"LLMS_URL\":\"/generated/manifest/enums/BuildRule.FileType.md\"}},{\"path\":\"/generated/manifest/enums/Cloud.Option.md\",\"url\":\"/generated/manifest/enums/Cloud.Option\",\"llmUrl\":\"/generated/manifest/enums/Cloud.Option.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Cloud.Option\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Cloud.Option.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Cloud.Option`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `optional`\\n\\n```swift\\npublic enum Option: String, Codable, Equatable, Sendable\\n```\\n\\nOptions for cloud configuration.\\n\\n## Cases\\n### `optional`\\n\\n```swift\\ncase optional\\n```\\n\\nMarks whether the Tuist server authentication is optional.\\nIf present, the interaction with the Tuist server will be skipped (instead of failing) if a user is not authenticated.\\n\",\"title\":\"`Cloud.Option`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Cloud.Option\",\"LLMS_URL\":\"/generated/manifest/enums/Cloud.Option.md\"}},{\"path\":\"/generated/manifest/enums/CompatibleXcodeVersions.md\",\"url\":\"/generated/manifest/enums/CompatibleXcodeVersions\",\"llmUrl\":\"/generated/manifest/enums/CompatibleXcodeVersions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/CompatibleXcodeVersions\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/CompatibleXcodeVersions.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CompatibleXcodeVersions`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `exact(_:)`\\n - `upToNextMajor(_:)`\\n - `upToNextMinor(_:)`\\n - `list(_:)`\\n- [Methods](#methods)\\n - `init(arrayLiteral:)`\\n - `init(arrayLiteral:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic enum CompatibleXcodeVersions: ExpressibleByArrayLiteral, ExpressibleByStringInterpolation, Codable, Equatable, Sendable\\n```\\n\\nOptions of compatibles Xcode versions.\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\nThe project supports all Xcode versions.\\n\\n### `exact(_:)`\\n\\n```swift\\ncase exact(Version)\\n```\\n\\nThe project supports only a specific Xcode version.\\n\\n### `upToNextMajor(_:)`\\n\\n```swift\\ncase upToNextMajor(Version)\\n```\\n\\nThe project supports all Xcode versions from the specified version up to but not including the next major version.\\n\\n### `upToNextMinor(_:)`\\n\\n```swift\\ncase upToNextMinor(Version)\\n```\\n\\nThe project supports all Xcode versions from the specified version up to but not including the next minor version.\\n\\n### `list(_:)`\\n\\n```swift\\ncase list([CompatibleXcodeVersions])\\n```\\n\\nList of versions that are supported by the project.\\n\\n## Methods\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: [CompatibleXcodeVersions])\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: CompatibleXcodeVersions...)\\n```\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`CompatibleXcodeVersions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/CompatibleXcodeVersions\",\"LLMS_URL\":\"/generated/manifest/enums/CompatibleXcodeVersions.md\"}},{\"path\":\"/generated/manifest/enums/Configuration.Variant.md\",\"url\":\"/generated/manifest/enums/Configuration.Variant\",\"llmUrl\":\"/generated/manifest/enums/Configuration.Variant.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Configuration.Variant\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Configuration.Variant.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Configuration.Variant`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `debug`\\n - `release`\\n\\n```swift\\npublic enum Variant: String, Codable, Sendable\\n```\\n\\n## Cases\\n### `debug`\\n\\n```swift\\ncase debug\\n```\\n\\n### `release`\\n\\n```swift\\ncase release\\n```\\n\",\"title\":\"`Configuration.Variant`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Configuration.Variant\",\"LLMS_URL\":\"/generated/manifest/enums/Configuration.Variant.md\"}},{\"path\":\"/generated/manifest/enums/CopyFileElement.md\",\"url\":\"/generated/manifest/enums/CopyFileElement\",\"llmUrl\":\"/generated/manifest/enums/CopyFileElement.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/CopyFileElement\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/CopyFileElement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CopyFileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:condition:codeSignOnCopy:)`\\n - `folderReference(path:condition:codeSignOnCopy:)`\\n\\n```swift\\npublic enum CopyFileElement: Codable, Equatable, Sendable\\n```\\n\\nA file element from a glob pattern or a folder reference which is conditionally applied to specific platforms with an optional\\n\\\"Code Sign On Copy\\\" flag.\\n\\n## Cases\\n### `glob(pattern:condition:codeSignOnCopy:)`\\n\\n```swift\\ncase glob(pattern: Path, condition: PlatformCondition? = nil, codeSignOnCopy: Bool = false)\\n```\\n\\nA file path (or glob pattern) to include with an optional PlatformCondition to control which platforms it applies.\\n\\\"Code Sign on Copy\\\" can be optionally enabled for the glob.\\n\\n### `folderReference(path:condition:codeSignOnCopy:)`\\n\\n```swift\\ncase folderReference(path: Path, condition: PlatformCondition? = nil, codeSignOnCopy: Bool = false)\\n```\\n\\nA directory path to include as a folder reference with an optional PlatformCondition to control which platforms it applies\\nto. \\\"Code Sign on Copy\\\" can be optionally enabled for the folder reference.\\n\",\"title\":\"`CopyFileElement`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/CopyFileElement\",\"LLMS_URL\":\"/generated/manifest/enums/CopyFileElement.md\"}},{\"path\":\"/generated/manifest/enums/CopyFilesAction.Destination.md\",\"url\":\"/generated/manifest/enums/CopyFilesAction.Destination\",\"llmUrl\":\"/generated/manifest/enums/CopyFilesAction.Destination.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/CopyFilesAction.Destination\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/CopyFilesAction.Destination.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CopyFilesAction.Destination`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `absolutePath`\\n - `productsDirectory`\\n - `wrapper`\\n - `executables`\\n - `resources`\\n - `javaResources`\\n - `frameworks`\\n - `sharedFrameworks`\\n - `sharedSupport`\\n - `plugins`\\n - `other`\\n\\n```swift\\npublic enum Destination: String, Codable, Equatable, Sendable\\n```\\n\\nDestination path.\\n\\n## Cases\\n### `absolutePath`\\n\\n```swift\\ncase absolutePath\\n```\\n\\n### `productsDirectory`\\n\\n```swift\\ncase productsDirectory\\n```\\n\\n### `wrapper`\\n\\n```swift\\ncase wrapper\\n```\\n\\n### `executables`\\n\\n```swift\\ncase executables\\n```\\n\\n### `resources`\\n\\n```swift\\ncase resources\\n```\\n\\n### `javaResources`\\n\\n```swift\\ncase javaResources\\n```\\n\\n### `frameworks`\\n\\n```swift\\ncase frameworks\\n```\\n\\n### `sharedFrameworks`\\n\\n```swift\\ncase sharedFrameworks\\n```\\n\\n### `sharedSupport`\\n\\n```swift\\ncase sharedSupport\\n```\\n\\n### `plugins`\\n\\n```swift\\ncase plugins\\n```\\n\\n### `other`\\n\\n```swift\\ncase other\\n```\\n\",\"title\":\"`CopyFilesAction.Destination`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/CopyFilesAction.Destination\",\"LLMS_URL\":\"/generated/manifest/enums/CopyFilesAction.Destination.md\"}},{\"path\":\"/generated/manifest/enums/DebugInformationFormat.md\",\"url\":\"/generated/manifest/enums/DebugInformationFormat\",\"llmUrl\":\"/generated/manifest/enums/DebugInformationFormat.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/DebugInformationFormat\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/DebugInformationFormat.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `DebugInformationFormat`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `dwarf`\\n - `dwarfWithDsym`\\n\\n```swift\\npublic enum DebugInformationFormat: String\\n```\\n\\n## Cases\\n### `dwarf`\\n\\n```swift\\ncase dwarf\\n```\\n\\n### `dwarfWithDsym`\\n\\n```swift\\ncase dwarfWithDsym = \\\"dwarf-with-dsym\\\"\\n```\\n\",\"title\":\"`DebugInformationFormat`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/DebugInformationFormat\",\"LLMS_URL\":\"/generated/manifest/enums/DebugInformationFormat.md\"}},{\"path\":\"/generated/manifest/enums/DefaultSettings.md\",\"url\":\"/generated/manifest/enums/DefaultSettings\",\"llmUrl\":\"/generated/manifest/enums/DefaultSettings.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/DefaultSettings\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/DefaultSettings.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `DefaultSettings`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `recommended(excluding:)`\\n - `essential(excluding:)`\\n - `none`\\n\\n```swift\\npublic enum DefaultSettings: Codable, Equatable, Sendable\\n```\\n\\nSpecifies the default set of settings applied to all the projects and targets.\\nThe default settings can be overridden via `Settings base: SettingsDictionary`\\nand `Configuration settings: SettingsDictionary`.\\n\\n## Cases\\n### `recommended(excluding:)`\\n\\n```swift\\ncase recommended(excluding: Set = [])\\n```\\n\\nRecommended settings including warning flags to help you catch some of the bugs at the early stage of development. If you\\nneed to override certain settings in a `Configuration` it's possible to add those keys to `excluding`.\\n\\n### `essential(excluding:)`\\n\\n```swift\\ncase essential(excluding: Set = [])\\n```\\n\\nA minimal set of settings to make the project compile without any additional settings for example `PRODUCT_NAME` or\\n`TARGETED_DEVICE_FAMILY`. If you need to override certain settings in a Configuration it's possible to add those keys to\\n`excluding`.\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\nTuist won't generate any build settings for the target or project.\\n\",\"title\":\"`DefaultSettings`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/DefaultSettings\",\"LLMS_URL\":\"/generated/manifest/enums/DefaultSettings.md\"}},{\"path\":\"/generated/manifest/enums/Destination.md\",\"url\":\"/generated/manifest/enums/Destination\",\"llmUrl\":\"/generated/manifest/enums/Destination.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Destination\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Destination.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Destination`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iPhone`\\n - `iPad`\\n - `mac`\\n - `macWithiPadDesign`\\n - `macCatalyst`\\n - `appleWatch`\\n - `appleTv`\\n - `appleVision`\\n - `appleVisionWithiPadDesign`\\n- [Properties](#properties)\\n - `platform`\\n\\n```swift\\npublic enum Destination: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported deployment destination representation.\\n\\n## Cases\\n### `iPhone`\\n\\n```swift\\ncase iPhone\\n```\\n\\niPhone support\\n\\n### `iPad`\\n\\n```swift\\ncase iPad\\n```\\n\\niPad support\\n\\n### `mac`\\n\\n```swift\\ncase mac\\n```\\n\\nNative macOS support\\n\\n### `macWithiPadDesign`\\n\\n```swift\\ncase macWithiPadDesign\\n```\\n\\nmacOS support using iPad design\\n\\n### `macCatalyst`\\n\\n```swift\\ncase macCatalyst\\n```\\n\\nmac Catalyst support\\n\\n### `appleWatch`\\n\\n```swift\\ncase appleWatch\\n```\\n\\nwatchOS support\\n\\n### `appleTv`\\n\\n```swift\\ncase appleTv\\n```\\n\\ntvOS support\\n\\n### `appleVision`\\n\\n```swift\\ncase appleVision\\n```\\n\\nvisionOS support\\n\\n### `appleVisionWithiPadDesign`\\n\\n```swift\\ncase appleVisionWithiPadDesign\\n```\\n\\nvisionOS support using iPad design\\n\\n## Properties\\n### `platform`\\n\\n```swift\\npublic var platform: Platform\\n```\\n\\nSDK Platform of a destination\\n\",\"title\":\"`Destination`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Destination\",\"LLMS_URL\":\"/generated/manifest/enums/Destination.md\"}},{\"path\":\"/generated/manifest/enums/Entitlements.md\",\"url\":\"/generated/manifest/enums/Entitlements\",\"llmUrl\":\"/generated/manifest/enums/Entitlements.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Entitlements\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Entitlements.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Entitlements`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(path:)`\\n - `dictionary(_:)`\\n - `variable(_:)`\\n- [Properties](#properties)\\n - `path`\\n\\n```swift\\npublic enum Entitlements: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `file(path:)`\\n\\n```swift\\ncase file(path: Path)\\n```\\n\\nThe path to an existing .entitlements file.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Plist.Value])\\n```\\n\\nA dictionary with the entitlements content. Tuist generates the .entitlements file at the generation time.\\n\\n### `variable(_:)`\\n\\n```swift\\ncase variable(String)\\n```\\n\\nA build setting variable that points to an .entitlements file.\\n\\nThis should be used when you have an xcconfig file or build setting that defines a variable pointing to the entitlements\\nfile path.\\nThis is particularly useful when the project has different entitlements files per configuration (e.g., debug, release,\\nstaging).\\n\\nExample:\\n\\n```\\n.target(\\n ...\\n entitlements: .variable(\\\"$(ENTITLEMENT_FILE_VARIABLE)\\\")\\n)\\n```\\n\\nOr, as literal string:\\n\\n```\\n.target(\\n ...\\n entitlements: \\\"$(ENTITLEMENT_FILE_VARIABLE)\\\"\\n)\\n```\\n\\n> Note: For per-configuration entitlements, you can also:\\n> 1. Keep `Target.entitlements` as `nil`\\n> 2. Set the `CODE_SIGN_ENTITLEMENTS` build setting using `Target.settings` for each configuration\\n> 3. If you want the entitlement files to be included in the project navigator, add them using `Project.additionalFiles`\\n>\\n> Example:\\n> ```swift\\n> let target = Target(\\n> name: \\\"MyApp\\\",\\n> // ... other properties\\n> entitlements: nil, // Important: keep this as nil\\n> settings: .settings(\\n> configurations: [\\n> .debug(name: \\\"Debug\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Debug.entitlements\\\"]),\\n> .release(name: \\\"Release\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Release.entitlements\\\"])\\n> ]\\n> )\\n> )\\n>\\n> let project = Project(\\n> name: \\\"MyProject\\\",\\n> targets: [target],\\n> additionalFiles: [\\n> \\\"Debug.entitlements\\\",\\n> \\\"Release.entitlements\\\"\\n> ]\\n> )\\n> ```\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic var path: Path?\\n```\\n\",\"title\":\"`Entitlements`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Entitlements\",\"LLMS_URL\":\"/generated/manifest/enums/Entitlements.md\"}},{\"path\":\"/generated/manifest/enums/Entitlements.CodingError.md\",\"url\":\"/generated/manifest/enums/Entitlements.CodingError\",\"llmUrl\":\"/generated/manifest/enums/Entitlements.CodingError.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Entitlements.CodingError\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Entitlements.CodingError.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Entitlements.CodingError`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `invalidType(_:)`\\n\\n```swift\\npublic enum CodingError: Error\\n```\\n\\n## Cases\\n### `invalidType(_:)`\\n\\n```swift\\ncase invalidType(String)\\n```\\n\",\"title\":\"`Entitlements.CodingError`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Entitlements.CodingError\",\"LLMS_URL\":\"/generated/manifest/enums/Entitlements.CodingError.md\"}},{\"path\":\"/generated/manifest/enums/Environment.md\",\"url\":\"/generated/manifest/enums/Environment\",\"llmUrl\":\"/generated/manifest/enums/Environment.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Environment\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Environment.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Environment`\\n\\n```swift\\npublic enum Environment\\n```\\n\\nA convenience structure to read environment variables.\\n\",\"title\":\"`Environment`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Environment\",\"LLMS_URL\":\"/generated/manifest/enums/Environment.md\"}},{\"path\":\"/generated/manifest/enums/Environment.Value.md\",\"url\":\"/generated/manifest/enums/Environment.Value\",\"llmUrl\":\"/generated/manifest/enums/Environment.Value.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Environment.Value\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Environment.Value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Environment.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n\\n```swift\\npublic enum Value: Equatable\\n```\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\",\"title\":\"`Environment.Value`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Environment.Value\",\"LLMS_URL\":\"/generated/manifest/enums/Environment.Value.md\"}},{\"path\":\"/generated/manifest/enums/FileCodeGen.md\",\"url\":\"/generated/manifest/enums/FileCodeGen\",\"llmUrl\":\"/generated/manifest/enums/FileCodeGen.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/FileCodeGen\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/FileCodeGen.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileCodeGen`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `public`\\n - `private`\\n - `project`\\n - `disabled`\\n\\n```swift\\npublic enum FileCodeGen: String, Codable, Equatable, Sendable\\n```\\n\\nOptions for source file code generation.\\n\\n## Cases\\n### `public`\\n\\n```swift\\ncase `public`\\n```\\n\\nPublic codegen\\n\\n### `private`\\n\\n```swift\\ncase `private`\\n```\\n\\nPrivate codegen\\n\\n### `project`\\n\\n```swift\\ncase project\\n```\\n\\nProject codegen\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDisabled codegen\\n\",\"title\":\"`FileCodeGen`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/FileCodeGen\",\"LLMS_URL\":\"/generated/manifest/enums/FileCodeGen.md\"}},{\"path\":\"/generated/manifest/enums/FileElement.md\",\"url\":\"/generated/manifest/enums/FileElement\",\"llmUrl\":\"/generated/manifest/enums/FileElement.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/FileElement\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/FileElement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:)`\\n - `folderReference(path:)`\\n\\n```swift\\npublic enum FileElement: Codable, Equatable, Sendable\\n```\\n\\nA file element from a glob pattern or a folder reference.\\n\\n- glob: a glob pattern for files to include\\n- folderReference: a single path to a directory\\n\\nNote: For convenience, an element can be represented as a string literal\\n `\\\"some/pattern/**\\\"` is the equivalent of `FileElement.glob(pattern: \\\"some/pattern/**\\\")`\\n\\n## Cases\\n### `glob(pattern:)`\\n\\n```swift\\ncase glob(pattern: Path)\\n```\\n\\nA file path (or glob pattern) to include. For convenience, a string literal can be used as an alternate way to specify\\nthis option.\\n\\n### `folderReference(path:)`\\n\\n```swift\\ncase folderReference(path: Path)\\n```\\n\\nA directory path to include as a folder reference.\\n\",\"title\":\"`FileElement`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/FileElement\",\"LLMS_URL\":\"/generated/manifest/enums/FileElement.md\"}},{\"path\":\"/generated/manifest/enums/FileHeaderTemplate.md\",\"url\":\"/generated/manifest/enums/FileHeaderTemplate\",\"llmUrl\":\"/generated/manifest/enums/FileHeaderTemplate.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/FileHeaderTemplate\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/FileHeaderTemplate.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileHeaderTemplate`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(_:)`\\n - `string(_:)`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic enum FileHeaderTemplate: Codable, Equatable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\nA header template from a file or a string.\\n\\nLets you define custom file header template for built-in Xcode templates, e.g. when you create new Swift file you can\\nautomatically have your custom define file header.\\n\\nTuist automatically performs several template transformations for you\\n - if your template starts with comment slashes (`//`) we remove them as they are added automatically by Xcode\\n - if your template doesn't start with comment and whitespace or newline, we add a space - otherwise your header would be\\nglued to implicit comment slashes which you probably do not want\\n - if your template has trailing newline, we remove it as it is implicitly added by Xcode\\n\\n## Cases\\n### `file(_:)`\\n\\n```swift\\ncase file(Path)\\n```\\n\\nLoad template stored in file\\n\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nUse inline string as template\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\nCreates file template as `.string(value)`\\n\",\"title\":\"`FileHeaderTemplate`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/FileHeaderTemplate\",\"LLMS_URL\":\"/generated/manifest/enums/FileHeaderTemplate.md\"}},{\"path\":\"/generated/manifest/enums/GenerationOptions.AutogeneratedWorkspaceSchemes.md\",\"url\":\"/generated/manifest/enums/GenerationOptions.AutogeneratedWorkspaceSchemes\",\"llmUrl\":\"/generated/manifest/enums/GenerationOptions.AutogeneratedWorkspaceSchemes.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/GenerationOptions.AutogeneratedWorkspaceSchemes\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/GenerationOptions.AutogeneratedWorkspaceSchemes.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `GenerationOptions.AutogeneratedWorkspaceSchemes`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n - `enabled(codeCoverageMode:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:)`\\n\\n```swift\\npublic enum AutogeneratedWorkspaceSchemes: Codable, Equatable, Sendable\\n```\\n\\nContains options for autogenerated workspace schemes\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nTuist will not automatically generate any schemes\\n\\n### `enabled(codeCoverageMode:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:)`\\n\\n```swift\\ncase enabled(\\n codeCoverageMode: CodeCoverageMode = .disabled,\\n testingOptions: TestingOptions = [],\\n testLanguage: SchemeLanguage? = nil,\\n testRegion: String? = nil,\\n testScreenCaptureFormat: ScreenCaptureFormat? = nil\\n)\\n```\\n\\nTuist will generate schemes with the associated testing options\\n\",\"title\":\"`GenerationOptions.AutogeneratedWorkspaceSchemes`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/GenerationOptions.AutogeneratedWorkspaceSchemes\",\"LLMS_URL\":\"/generated/manifest/enums/GenerationOptions.AutogeneratedWorkspaceSchemes.md\"}},{\"path\":\"/generated/manifest/enums/GenerationOptions.StaticSideEffectsWarningTargets.md\",\"url\":\"/generated/manifest/enums/GenerationOptions.StaticSideEffectsWarningTargets\",\"llmUrl\":\"/generated/manifest/enums/GenerationOptions.StaticSideEffectsWarningTargets.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/GenerationOptions.StaticSideEffectsWarningTargets\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/GenerationOptions.StaticSideEffectsWarningTargets.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `GenerationOptions.StaticSideEffectsWarningTargets`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `none`\\n - `excluding(_:)`\\n\\n```swift\\npublic enum StaticSideEffectsWarningTargets: Codable, Equatable, Sendable\\n```\\n\\nThis enum represents the targets against which Tuist will run the check for potential side effects\\ncaused by static transitive dependencies.\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\n### `excluding(_:)`\\n\\n```swift\\ncase excluding([String])\\n```\\n\",\"title\":\"`GenerationOptions.StaticSideEffectsWarningTargets`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/GenerationOptions.StaticSideEffectsWarningTargets\",\"LLMS_URL\":\"/generated/manifest/enums/GenerationOptions.StaticSideEffectsWarningTargets.md\"}},{\"path\":\"/generated/manifest/enums/Headers.AutomaticExclusionRule.md\",\"url\":\"/generated/manifest/enums/Headers.AutomaticExclusionRule\",\"llmUrl\":\"/generated/manifest/enums/Headers.AutomaticExclusionRule.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Headers.AutomaticExclusionRule\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Headers.AutomaticExclusionRule.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Headers.AutomaticExclusionRule`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `projectExcludesPrivateAndPublic`\\n - `publicExcludesPrivateAndProject`\\n\\n```swift\\npublic enum AutomaticExclusionRule: Int, Codable, Sendable\\n```\\n\\nDetermine how to resolve cases, when the same files found in different header scopes\\n\\n## Cases\\n### `projectExcludesPrivateAndPublic`\\n\\n```swift\\ncase projectExcludesPrivateAndPublic\\n```\\n\\nProject headers = all found - private headers - public headers\\n\\nOrder of tuist search:\\n 1) Public headers\\n 2) Private headers (with auto excludes all found public headers)\\n 3) Project headers (with excluding public/private headers)\\n\\n Also tuist doesn't ignore all excludes,\\n which had been set by `excluding` param\\n\\n### `publicExcludesPrivateAndProject`\\n\\n```swift\\ncase publicExcludesPrivateAndProject\\n```\\n\\nPublic headers = all found - private headers - project headers\\n\\nOrder of tuist search (reverse search):\\n 1) Project headers\\n 2) Private headers (with auto excludes all found project headers)\\n 3) Public headers (with excluding project/private headers)\\n\\n Also tuist doesn't ignore all excludes,\\n which had been set by `excluding` param\\n\",\"title\":\"`Headers.AutomaticExclusionRule`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Headers.AutomaticExclusionRule\",\"LLMS_URL\":\"/generated/manifest/enums/Headers.AutomaticExclusionRule.md\"}},{\"path\":\"/generated/manifest/enums/InfoPlist.md\",\"url\":\"/generated/manifest/enums/InfoPlist\",\"llmUrl\":\"/generated/manifest/enums/InfoPlist.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/InfoPlist\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/InfoPlist.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `InfoPlist`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(path:)`\\n - `dictionary(_:)`\\n - `extendingDefault(with:)`\\n - `variable(_:)`\\n- [Properties](#properties)\\n - `default`\\n - `path`\\n\\n```swift\\npublic enum InfoPlist: Codable, Equatable, Sendable\\n```\\n\\nA info plist from a file, a custom dictionary or a extended defaults.\\n\\n## Cases\\n### `file(path:)`\\n\\n```swift\\ncase file(path: Path)\\n```\\n\\nThe path to an existing Info.plist file.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Plist.Value])\\n```\\n\\nA dictionary with the Info.plist content. Tuist generates the Info.plist file at the generation time.\\n\\n### `extendingDefault(with:)`\\n\\n```swift\\ncase extendingDefault(with: [String: Plist.Value])\\n```\\n\\nGenerate an Info.plist file with the default content for the target product extended with the values in the given\\ndictionary.\\n\\n### `variable(_:)`\\n\\n```swift\\ncase variable(String)\\n```\\n\\nA user defined xcconfig variable map to Info.plist file.\\n\\nThis should be used when the project has different Info.plist files per config (aka: debug, release, staging, etc.).\\n\\nExample:\\n\\n```\\n.target(\\n ...\\n infoPlist: .variable(\\\"$(INFO_PLIST_FILE_VARIABLE)\\\")\\n)\\n```\\n\\nOr, as literal string:\\n\\n```\\n.target(\\n ...\\n infoPlist: $(INFO_PLIST_FILE_VARIABLE)\\n)\\n```\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: InfoPlist\\n```\\n\\nGenerate the default content for the target the InfoPlist belongs to.\\n\\n### `path`\\n\\n```swift\\npublic var path: Path?\\n```\\n\",\"title\":\"`InfoPlist`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/InfoPlist\",\"LLMS_URL\":\"/generated/manifest/enums/InfoPlist.md\"}},{\"path\":\"/generated/manifest/enums/InfoPlist.CodingError.md\",\"url\":\"/generated/manifest/enums/InfoPlist.CodingError\",\"llmUrl\":\"/generated/manifest/enums/InfoPlist.CodingError.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/InfoPlist.CodingError\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/InfoPlist.CodingError.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `InfoPlist.CodingError`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `invalidType(_:)`\\n\\n```swift\\npublic enum CodingError: Error\\n```\\n\\n## Cases\\n### `invalidType(_:)`\\n\\n```swift\\ncase invalidType(String)\\n```\\n\",\"title\":\"`InfoPlist.CodingError`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/InfoPlist.CodingError\",\"LLMS_URL\":\"/generated/manifest/enums/InfoPlist.CodingError.md\"}},{\"path\":\"/generated/manifest/enums/LaunchStyle.md\",\"url\":\"/generated/manifest/enums/LaunchStyle\",\"llmUrl\":\"/generated/manifest/enums/LaunchStyle.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/LaunchStyle\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/LaunchStyle.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `LaunchStyle`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `automatically`\\n - `waitForExecutableToBeLaunched`\\n\\n```swift\\npublic enum LaunchStyle: Codable, Sendable\\n```\\n\\n## Cases\\n### `automatically`\\n\\n```swift\\ncase automatically\\n```\\n\\n### `waitForExecutableToBeLaunched`\\n\\n```swift\\ncase waitForExecutableToBeLaunched\\n```\\n\",\"title\":\"`LaunchStyle`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/LaunchStyle\",\"LLMS_URL\":\"/generated/manifest/enums/LaunchStyle.md\"}},{\"path\":\"/generated/manifest/enums/LinkingStatus.md\",\"url\":\"/generated/manifest/enums/LinkingStatus\",\"llmUrl\":\"/generated/manifest/enums/LinkingStatus.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/LinkingStatus\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/LinkingStatus.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `LinkingStatus`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `required`\\n - `optional`\\n - `none`\\n\\n```swift\\npublic enum LinkingStatus: String, Codable, Hashable, Sendable\\n```\\n\\nDependency status used by dependencies\\n\\n## Cases\\n### `required`\\n\\n```swift\\ncase required\\n```\\n\\nRequired dependency\\n\\n### `optional`\\n\\n```swift\\ncase optional\\n```\\n\\nOptional dependency (weakly linked)\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\nSkip linking\\n\",\"title\":\"`LinkingStatus`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/LinkingStatus\",\"LLMS_URL\":\"/generated/manifest/enums/LinkingStatus.md\"}},{\"path\":\"/generated/manifest/enums/MergedBinaryType.md\",\"url\":\"/generated/manifest/enums/MergedBinaryType\",\"llmUrl\":\"/generated/manifest/enums/MergedBinaryType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/MergedBinaryType\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/MergedBinaryType.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `MergedBinaryType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n - `automatic`\\n - `manual(mergeableDependencies:)`\\n\\n```swift\\npublic enum MergedBinaryType: Equatable, Codable, Sendable\\n```\\n\\nRepresents the different options to configure a target for mergeable libraries\\n\\nhttps://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nTarget is never going to merge available dependencies\\n\\n### `automatic`\\n\\n```swift\\ncase automatic\\n```\\n\\nTarget is going to merge direct target dependencies (just the ones declared as part of it's project). With this build\\nsetting,\\nXcode treats mergeable dependencies like normal dynamic libraries in debug builds,\\nbut performs steps in release mode to automatically handle merging for **direct dependencies**\\n\\nA direct dependency is a library that meets two criteria:\\n- The library is listed in your target’s Link Binary with Libraries build phase.\\n- The library is the product of another target in your project.\\n\\n### `manual(mergeableDependencies:)`\\n\\n```swift\\ncase manual(mergeableDependencies: Set)\\n```\\n\\nTarget is going to merge direct and specified dependencies that are not part of the project. The set of dependencies\\nis going to reflect the list of precompiled dynamic dependencies you want to merge as part of the target. These binaries\\nmust be compiled with `MAKE_MERGEABLE` flag set to true\\n\\nIn some cases, you may want to manually configure merging between your app or framework target and dependent libraries.\\nFor example, you might not want to automatically merge dependencies that you share between an app and an app extension\\nif you’re concerned about the app extension’s binary size. To set up manual merging, configure your app or framework\\ntarget,\\nthen configure your dependent libraries.\\n\\nIn your app or framework target, add the flag `mergedBinaryType` and set it to manual. After you add that setting to your\\ntarget:\\n- In release builds, Xcode merges the products of any of its direct dependencies which have\\nMAKE_MERGEABLE enabled using the linker flags -merge_framework, -merge-l and so on.\\n- In debug builds, Xcode links any of your target’s direct dependencies which have MERGEABLE_LIBRARY\\n enabled, but not MAKE_MERGEABLE with the linker flags -reexport_framework, -reexport-l, and so on.\\n- Xcode uses normal linking for targets that don’t have MERGEABLE_LIBRARY enabled. This is the same linking\\nthat Xcode uses for static libraries, or dynamic libraries that aren’t mergeable.\\n\",\"title\":\"`MergedBinaryType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/MergedBinaryType\",\"LLMS_URL\":\"/generated/manifest/enums/MergedBinaryType.md\"}},{\"path\":\"/generated/manifest/enums/Package.md\",\"url\":\"/generated/manifest/enums/Package\",\"llmUrl\":\"/generated/manifest/enums/Package.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Package\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Package.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Package`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `remote(url:requirement:)`\\n - `registry(identifier:requirement:)`\\n - `local(path:)`\\n\\n```swift\\npublic enum Package: Equatable, Codable, Sendable\\n```\\n\\nA dependency of a Swift package.\\n\\nA package dependency can be either:\\n - remote: A Git URL to the source of the package,\\n and a requirement for the version of the package.\\n - local: A relative path to the package.\\n\\n## Cases\\n### `remote(url:requirement:)`\\n\\n```swift\\ncase remote(url: String, requirement: Requirement)\\n```\\n\\n### `registry(identifier:requirement:)`\\n\\n```swift\\ncase registry(identifier: String, requirement: Requirement)\\n```\\n\\n### `local(path:)`\\n\\n```swift\\ncase local(path: Path)\\n```\\n\",\"title\":\"`Package`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Package\",\"LLMS_URL\":\"/generated/manifest/enums/Package.md\"}},{\"path\":\"/generated/manifest/enums/Package.Requirement.md\",\"url\":\"/generated/manifest/enums/Package.Requirement\",\"llmUrl\":\"/generated/manifest/enums/Package.Requirement.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Package.Requirement\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Package.Requirement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Package.Requirement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `upToNextMajor(from:)`\\n - `upToNextMinor(from:)`\\n - `range(from:to:)`\\n - `exact(_:)`\\n - `branch(_:)`\\n - `revision(_:)`\\n\\n```swift\\npublic enum Requirement: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `upToNextMajor(from:)`\\n\\n```swift\\ncase upToNextMajor(from: Version)\\n```\\n\\n### `upToNextMinor(from:)`\\n\\n```swift\\ncase upToNextMinor(from: Version)\\n```\\n\\n### `range(from:to:)`\\n\\n```swift\\ncase range(from: Version, to: Version)\\n```\\n\\n### `exact(_:)`\\n\\n```swift\\ncase exact(Version)\\n```\\n\\n### `branch(_:)`\\n\\n```swift\\ncase branch(String)\\n```\\n\\n### `revision(_:)`\\n\\n```swift\\ncase revision(String)\\n```\\n\",\"title\":\"`Package.Requirement`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Package.Requirement\",\"LLMS_URL\":\"/generated/manifest/enums/Package.Requirement.md\"}},{\"path\":\"/generated/manifest/enums/PackagePlatform.md\",\"url\":\"/generated/manifest/enums/PackagePlatform\",\"llmUrl\":\"/generated/manifest/enums/PackagePlatform.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/PackagePlatform\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/PackagePlatform.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PackagePlatform`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iOS`\\n - `macOS`\\n - `macCatalyst`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n\\n```swift\\npublic enum PackagePlatform: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported Swift Package Manager platform representation.\\n\\n## Cases\\n### `iOS`\\n\\n```swift\\ncase iOS = \\\"ios\\\"\\n```\\n\\nThe iOS platform\\n\\n### `macOS`\\n\\n```swift\\ncase macOS = \\\"macos\\\"\\n```\\n\\nThe macOS platform\\n\\n### `macCatalyst`\\n\\n```swift\\ncase macCatalyst = \\\"maccatalyst\\\"\\n```\\n\\nThe Mac Catalyst platform\\n\\n### `watchOS`\\n\\n```swift\\ncase watchOS = \\\"watchos\\\"\\n```\\n\\nThe watchOS platform\\n\\n### `tvOS`\\n\\n```swift\\ncase tvOS = \\\"tvos\\\"\\n```\\n\\nThe tvOS platform\\n\\n### `visionOS`\\n\\n```swift\\ncase visionOS = \\\"visionos\\\"\\n```\\n\\nThe visionOS platform\\n\",\"title\":\"`PackagePlatform`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/PackagePlatform\",\"LLMS_URL\":\"/generated/manifest/enums/PackagePlatform.md\"}},{\"path\":\"/generated/manifest/enums/Parser.Option.md\",\"url\":\"/generated/manifest/enums/Parser.Option\",\"llmUrl\":\"/generated/manifest/enums/Parser.Option.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Parser.Option\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Parser.Option.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Parser.Option`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `double(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic enum Option: Equatable, Codable, Sendable\\n```\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `double(_:)`\\n\\n```swift\\ncase double(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Option])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Option])\\n```\\n\\nIt represents an array value.\\n\",\"title\":\"`Parser.Option`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Parser.Option\",\"LLMS_URL\":\"/generated/manifest/enums/Parser.Option.md\"}},{\"path\":\"/generated/manifest/enums/Path.PathType.md\",\"url\":\"/generated/manifest/enums/Path.PathType\",\"llmUrl\":\"/generated/manifest/enums/Path.PathType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Path.PathType\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Path.PathType.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Path.PathType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `relativeToCurrentFile`\\n - `relativeToManifest`\\n - `relativeToRoot`\\n\\n```swift\\npublic enum PathType: String, Codable, Sendable\\n```\\n\\n## Cases\\n### `relativeToCurrentFile`\\n\\n```swift\\ncase relativeToCurrentFile\\n```\\n\\n### `relativeToManifest`\\n\\n```swift\\ncase relativeToManifest\\n```\\n\\n### `relativeToRoot`\\n\\n```swift\\ncase relativeToRoot\\n```\\n\",\"title\":\"`Path.PathType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Path.PathType\",\"LLMS_URL\":\"/generated/manifest/enums/Path.PathType.md\"}},{\"path\":\"/generated/manifest/enums/Platform.md\",\"url\":\"/generated/manifest/enums/Platform\",\"llmUrl\":\"/generated/manifest/enums/Platform.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Platform\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Platform.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Platform`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iOS`\\n - `macOS`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n\\n```swift\\npublic enum Platform: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported platform representation.\\n\\n## Cases\\n### `iOS`\\n\\n```swift\\ncase iOS = \\\"ios\\\"\\n```\\n\\nThe iOS platform\\n\\n### `macOS`\\n\\n```swift\\ncase macOS = \\\"macos\\\"\\n```\\n\\nThe macOS platform\\n\\n### `watchOS`\\n\\n```swift\\ncase watchOS = \\\"watchos\\\"\\n```\\n\\nThe watchOS platform\\n\\n### `tvOS`\\n\\n```swift\\ncase tvOS = \\\"tvos\\\"\\n```\\n\\nThe tvOS platform\\n\\n### `visionOS`\\n\\n```swift\\ncase visionOS = \\\"visionos\\\"\\n```\\n\\nThe visionOS platform\\n\",\"title\":\"`Platform`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Platform\",\"LLMS_URL\":\"/generated/manifest/enums/Platform.md\"}},{\"path\":\"/generated/manifest/enums/PlatformFilter.md\",\"url\":\"/generated/manifest/enums/PlatformFilter\",\"llmUrl\":\"/generated/manifest/enums/PlatformFilter.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/PlatformFilter\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/PlatformFilter.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PlatformFilter`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `ios`\\n - `macos`\\n - `tvos`\\n - `catalyst`\\n - `driverkit`\\n - `watchos`\\n - `visionos`\\n\\n```swift\\npublic enum PlatformFilter: Comparable, Hashable, Codable, CaseIterable, Sendable\\n```\\n\\n## Cases\\n### `ios`\\n\\n```swift\\ncase ios\\n```\\n\\n### `macos`\\n\\n```swift\\ncase macos\\n```\\n\\n### `tvos`\\n\\n```swift\\ncase tvos\\n```\\n\\n### `catalyst`\\n\\n```swift\\ncase catalyst\\n```\\n\\n### `driverkit`\\n\\n```swift\\ncase driverkit\\n```\\n\\n### `watchos`\\n\\n```swift\\ncase watchos\\n```\\n\\n### `visionos`\\n\\n```swift\\ncase visionos\\n```\\n\",\"title\":\"`PlatformFilter`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/PlatformFilter\",\"LLMS_URL\":\"/generated/manifest/enums/PlatformFilter.md\"}},{\"path\":\"/generated/manifest/enums/Plist.md\",\"url\":\"/generated/manifest/enums/Plist\",\"llmUrl\":\"/generated/manifest/enums/Plist.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Plist\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Plist.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Plist`\\n\\n```swift\\npublic enum Plist\\n```\\n\",\"title\":\"`Plist`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Plist\",\"LLMS_URL\":\"/generated/manifest/enums/Plist.md\"}},{\"path\":\"/generated/manifest/enums/Plist.Value.md\",\"url\":\"/generated/manifest/enums/Plist.Value\",\"llmUrl\":\"/generated/manifest/enums/Plist.Value.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Plist.Value\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Plist.Value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Plist.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `real(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic indirect enum Value: Codable, Equatable, Sendable\\n```\\n\\nIt represents the values of the .plist or .entitlements file dictionary.\\nIt ensures that the values used to define the content of the dynamically generated .plist or .entitlements files are valid\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `real(_:)`\\n\\n```swift\\ncase real(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Value])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Value])\\n```\\n\\nIt represents an array value.\\n\",\"title\":\"`Plist.Value`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Plist.Value\",\"LLMS_URL\":\"/generated/manifest/enums/Plist.Value.md\"}},{\"path\":\"/generated/manifest/enums/PluginLocation.LocationType.md\",\"url\":\"/generated/manifest/enums/PluginLocation.LocationType\",\"llmUrl\":\"/generated/manifest/enums/PluginLocation.LocationType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/PluginLocation.LocationType\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/PluginLocation.LocationType.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PluginLocation.LocationType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `local(path:)`\\n - `gitWithTag(url:tag:directory:releaseUrl:)`\\n - `gitWithSha(url:sha:directory:)`\\n\\n```swift\\npublic enum LocationType: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `local(path:)`\\n\\n```swift\\ncase local(path: Path)\\n```\\n\\n### `gitWithTag(url:tag:directory:releaseUrl:)`\\n\\n```swift\\ncase gitWithTag(url: String, tag: String, directory: String?, releaseUrl: String?)\\n```\\n\\n### `gitWithSha(url:sha:directory:)`\\n\\n```swift\\ncase gitWithSha(url: String, sha: String, directory: String?)\\n```\\n\",\"title\":\"`PluginLocation.LocationType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/PluginLocation.LocationType\",\"LLMS_URL\":\"/generated/manifest/enums/PluginLocation.LocationType.md\"}},{\"path\":\"/generated/manifest/enums/Product.md\",\"url\":\"/generated/manifest/enums/Product\",\"llmUrl\":\"/generated/manifest/enums/Product.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Product\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Product.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Product`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `app`\\n - `staticLibrary`\\n - `dynamicLibrary`\\n - `framework`\\n - `staticFramework`\\n - `unitTests`\\n - `uiTests`\\n - `bundle`\\n - `commandLineTool`\\n - `appClip`\\n - `appExtension`\\n - `watch2App`\\n - `watch2Extension`\\n - `tvTopShelfExtension`\\n - `messagesExtension`\\n - `stickerPackExtension`\\n - `xpc`\\n - `systemExtension`\\n - `extensionKitExtension`\\n - `macro`\\n\\n```swift\\npublic enum Product: String, Codable, Equatable, Sendable\\n```\\n\\nPossible products types.\\n\\n## Cases\\n### `app`\\n\\n```swift\\ncase app\\n```\\n\\nAn application.\\n\\n### `staticLibrary`\\n\\n```swift\\ncase staticLibrary = \\\"static_library\\\"\\n```\\n\\nA static library.\\n\\n### `dynamicLibrary`\\n\\n```swift\\ncase dynamicLibrary = \\\"dynamic_library\\\"\\n```\\n\\nA dynamic library.\\n\\n### `framework`\\n\\n```swift\\ncase framework\\n```\\n\\nA dynamic framework.\\n\\n### `staticFramework`\\n\\n```swift\\ncase staticFramework\\n```\\n\\nA static framework.\\n\\n### `unitTests`\\n\\n```swift\\ncase unitTests = \\\"unit_tests\\\"\\n```\\n\\nA unit tests bundle.\\n\\n### `uiTests`\\n\\n```swift\\ncase uiTests = \\\"ui_tests\\\"\\n```\\n\\nA UI tests bundle.\\n\\n### `bundle`\\n\\n```swift\\ncase bundle\\n```\\n\\nA custom bundle. (currently only iOS resource bundles are supported).\\n\\n### `commandLineTool`\\n\\n```swift\\ncase commandLineTool\\n```\\n\\nA command line tool (macOS platform only).\\n\\n### `appClip`\\n\\n```swift\\ncase appClip\\n```\\n\\nAn appClip. (iOS platform only).\\n\\n### `appExtension`\\n\\n```swift\\ncase appExtension = \\\"app_extension\\\"\\n```\\n\\nAn application extension.\\n\\n### `watch2App`\\n\\n```swift\\ncase watch2App\\n```\\n\\nA Watch application. (watchOS platform only) .\\n\\n### `watch2Extension`\\n\\n```swift\\ncase watch2Extension\\n```\\n\\nA Watch application extension. (watchOS platform only).\\n\\n### `tvTopShelfExtension`\\n\\n```swift\\ncase tvTopShelfExtension\\n```\\n\\nA TV Top Shelf Extension.\\n\\n### `messagesExtension`\\n\\n```swift\\ncase messagesExtension\\n```\\n\\nAn iMessage extension. (iOS platform only)\\n\\n### `stickerPackExtension`\\n\\n```swift\\ncase stickerPackExtension = \\\"sticker_pack_extension\\\"\\n```\\n\\nA sticker pack extension.\\n\\n### `xpc`\\n\\n```swift\\ncase xpc\\n```\\n\\nAn XPC. (macOS platform only).\\n\\n### `systemExtension`\\n\\n```swift\\ncase systemExtension\\n```\\n\\nAn system extension. (macOS platform only).\\n\\n### `extensionKitExtension`\\n\\n```swift\\ncase extensionKitExtension = \\\"extension_kit_extension\\\"\\n```\\n\\nAn ExtensionKit extension.\\n\\n### `macro`\\n\\n```swift\\ncase macro\\n```\\n\\nA Swift Macro\\nAlthough Apple doesn't officially support Swift Macro Xcode Project targets, we\\nenable them by adding a command line tool target, a target dependency in\\nthe dependent targets, and the right build settings to use the macro executable.\\n\",\"title\":\"`Product`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Product\",\"LLMS_URL\":\"/generated/manifest/enums/Product.md\"}},{\"path\":\"/generated/manifest/enums/Project.Options.AutomaticSchemesOptions.md\",\"url\":\"/generated/manifest/enums/Project.Options.AutomaticSchemesOptions\",\"llmUrl\":\"/generated/manifest/enums/Project.Options.AutomaticSchemesOptions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Project.Options.AutomaticSchemesOptions\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Project.Options.AutomaticSchemesOptions.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Project.Options.AutomaticSchemesOptions`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `enabled(targetSchemesGrouping:codeCoverageEnabled:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:runLanguage:runRegion:)`\\n - `disabled`\\n\\n```swift\\npublic enum AutomaticSchemesOptions: Codable, Equatable, Sendable\\n```\\n\\nAutomatic schemes options allow customizing the generation of the target schemes.\\n\\n## Cases\\n### `enabled(targetSchemesGrouping:codeCoverageEnabled:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:runLanguage:runRegion:)`\\n\\n```swift\\ncase enabled(\\n targetSchemesGrouping: TargetSchemesGrouping = .byNameSuffix(\\n build: [\\\"Implementation\\\", \\\"Interface\\\", \\\"Mocks\\\", \\\"Testing\\\"],\\n test: [\\\"Tests\\\", \\\"IntegrationTests\\\", \\\"UITests\\\", \\\"SnapshotTests\\\"],\\n run: [\\\"App\\\", \\\"Demo\\\", \\\"Example\\\"]\\n ),\\n codeCoverageEnabled: Bool = false,\\n testingOptions: TestingOptions = [],\\n testLanguage: SchemeLanguage? = nil,\\n testRegion: String? = nil,\\n testScreenCaptureFormat: ScreenCaptureFormat? = nil,\\n runLanguage: SchemeLanguage? = nil,\\n runRegion: String? = nil\\n)\\n```\\n\\nEnable autogenerated schemes\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDisable autogenerated schemes\\n\",\"title\":\"`Project.Options.AutomaticSchemesOptions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Project.Options.AutomaticSchemesOptions\",\"LLMS_URL\":\"/generated/manifest/enums/Project.Options.AutomaticSchemesOptions.md\"}},{\"path\":\"/generated/manifest/enums/ResourceFileElement.md\",\"url\":\"/generated/manifest/enums/ResourceFileElement\",\"llmUrl\":\"/generated/manifest/enums/ResourceFileElement.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/ResourceFileElement\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/ResourceFileElement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceFileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:excluding:tags:inclusionCondition:)`\\n - `folderReference(path:tags:inclusionCondition:)`\\n\\n```swift\\npublic enum ResourceFileElement: Codable, Equatable, Sendable, Hashable\\n```\\n\\nA resource file element from a glob pattern or a folder reference.\\n\\n- glob: a glob pattern for files to include\\n- folderReference: a single path to a directory\\n\\nNote: For convenience, an element can be represented as a string literal\\n `\\\"some/pattern/**\\\"` is the equivalent of `ResourceFileElement.glob(pattern: \\\"some/pattern/**\\\")`\\n\\n## Cases\\n### `glob(pattern:excluding:tags:inclusionCondition:)`\\n\\n```swift\\ncase glob(pattern: Path, excluding: [Path] = [], tags: [String] = [], inclusionCondition: PlatformCondition? = nil)\\n```\\n\\nA glob pattern of files to include and ODR tags\\n\\n### `folderReference(path:tags:inclusionCondition:)`\\n\\n```swift\\ncase folderReference(path: Path, tags: [String] = [], inclusionCondition: PlatformCondition? = nil)\\n```\\n\\nRelative path to a directory to include as a folder reference and ODR tags\\n\",\"title\":\"`ResourceFileElement`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/ResourceFileElement\",\"LLMS_URL\":\"/generated/manifest/enums/ResourceFileElement.md\"}},{\"path\":\"/generated/manifest/enums/ResourceSynthesizer.Parser.md\",\"url\":\"/generated/manifest/enums/ResourceSynthesizer.Parser\",\"llmUrl\":\"/generated/manifest/enums/ResourceSynthesizer.Parser.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/ResourceSynthesizer.Parser\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/ResourceSynthesizer.Parser.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceSynthesizer.Parser`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `strings`\\n - `assets`\\n - `plists`\\n - `fonts`\\n - `coreData`\\n - `interfaceBuilder`\\n - `json`\\n - `yaml`\\n - `files`\\n\\n```swift\\npublic enum Parser: String, Codable, Sendable\\n```\\n\\nThere are multiple parsers you can choose from\\nEach parser will give you different metadata from a file\\nYou can read more about available parsers and how to use their metadata here:\\nhttps://github.com/SwiftGen/SwiftGen#available-parsers\\n\\n## Cases\\n### `strings`\\n\\n```swift\\ncase strings\\n```\\n\\n### `assets`\\n\\n```swift\\ncase assets\\n```\\n\\n### `plists`\\n\\n```swift\\ncase plists\\n```\\n\\n### `fonts`\\n\\n```swift\\ncase fonts\\n```\\n\\n### `coreData`\\n\\n```swift\\ncase coreData\\n```\\n\\n### `interfaceBuilder`\\n\\n```swift\\ncase interfaceBuilder\\n```\\n\\n### `json`\\n\\n```swift\\ncase json\\n```\\n\\n### `yaml`\\n\\n```swift\\ncase yaml\\n```\\n\\n### `files`\\n\\n```swift\\ncase files\\n```\\n\",\"title\":\"`ResourceSynthesizer.Parser`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/ResourceSynthesizer.Parser\",\"LLMS_URL\":\"/generated/manifest/enums/ResourceSynthesizer.Parser.md\"}},{\"path\":\"/generated/manifest/enums/ResourceSynthesizer.TemplateType.md\",\"url\":\"/generated/manifest/enums/ResourceSynthesizer.TemplateType\",\"llmUrl\":\"/generated/manifest/enums/ResourceSynthesizer.TemplateType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/ResourceSynthesizer.TemplateType\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/ResourceSynthesizer.TemplateType.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceSynthesizer.TemplateType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `plugin(name:resourceName:)`\\n - `defaultTemplate(resourceName:)`\\n\\n```swift\\npublic enum TemplateType: Codable, Equatable, Sendable\\n```\\n\\nTemplates can be either a local template file, from a plugin, or a default template from tuist\\n\\n## Cases\\n### `plugin(name:resourceName:)`\\n\\n```swift\\ncase plugin(name: String, resourceName: String)\\n```\\n\\nPlugin template file\\n`name` is a name of a plugin\\n`resourceName` is a name of the resource - that is used for finding a template as well as naming the resulting\\n`.swift` file\\n\\n### `defaultTemplate(resourceName:)`\\n\\n```swift\\ncase defaultTemplate(resourceName: String)\\n```\\n\\nDefault template defined `Tuist/{ProjectName}`, or if not present there, in tuist itself\\n`resourceName` is used for the name of the resulting `.swift` file\\n\",\"title\":\"`ResourceSynthesizer.TemplateType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/ResourceSynthesizer.TemplateType\",\"LLMS_URL\":\"/generated/manifest/enums/ResourceSynthesizer.TemplateType.md\"}},{\"path\":\"/generated/manifest/enums/RunActionOptions.GPUFrameCaptureMode.md\",\"url\":\"/generated/manifest/enums/RunActionOptions.GPUFrameCaptureMode\",\"llmUrl\":\"/generated/manifest/enums/RunActionOptions.GPUFrameCaptureMode.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/RunActionOptions.GPUFrameCaptureMode\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/RunActionOptions.GPUFrameCaptureMode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `RunActionOptions.GPUFrameCaptureMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `autoEnabled`\\n - `metal`\\n - `openGL`\\n - `disabled`\\n- [Properties](#properties)\\n - `default`\\n\\n```swift\\npublic enum GPUFrameCaptureMode: String, Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `autoEnabled`\\n\\n```swift\\ncase autoEnabled\\n```\\n\\n### `metal`\\n\\n```swift\\ncase metal\\n```\\n\\n### `openGL`\\n\\n```swift\\ncase openGL\\n```\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: GPUFrameCaptureMode\\n```\\n\",\"title\":\"`RunActionOptions.GPUFrameCaptureMode`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/RunActionOptions.GPUFrameCaptureMode\",\"LLMS_URL\":\"/generated/manifest/enums/RunActionOptions.GPUFrameCaptureMode.md\"}},{\"path\":\"/generated/manifest/enums/ScreenCaptureFormat.md\",\"url\":\"/generated/manifest/enums/ScreenCaptureFormat\",\"llmUrl\":\"/generated/manifest/enums/ScreenCaptureFormat.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/ScreenCaptureFormat\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/ScreenCaptureFormat.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ScreenCaptureFormat`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `screenshots`\\n - `screenRecording`\\n\\n```swift\\npublic enum ScreenCaptureFormat: String, Codable, Sendable\\n```\\n\\nPreferred screen capture format for UI tests results in Xcode 15+\\n\\nAvailable options are screen recordings and screenshots.\\n\\nIn Xcode 15 screen recordings are enabled by default (in favour of screenshots).\\nThis setting is ignored by Xcode 14.x and prior.\\n\\n## Cases\\n### `screenshots`\\n\\n```swift\\ncase screenshots\\n```\\n\\nScreenshots\\n\\n### `screenRecording`\\n\\n```swift\\ncase screenRecording\\n```\\n\\nAutomatic screen recordings\\n\",\"title\":\"`ScreenCaptureFormat`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/ScreenCaptureFormat\",\"LLMS_URL\":\"/generated/manifest/enums/ScreenCaptureFormat.md\"}},{\"path\":\"/generated/manifest/enums/SDKType.md\",\"url\":\"/generated/manifest/enums/SDKType\",\"llmUrl\":\"/generated/manifest/enums/SDKType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/SDKType\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/SDKType.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SDKType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `library`\\n - `swiftLibrary`\\n - `framework`\\n\\n```swift\\npublic enum SDKType: String, Codable, Hashable, Sendable\\n```\\n\\nDependency type used by `.sdk` target dependencies\\n\\n## Cases\\n### `library`\\n\\n```swift\\ncase library\\n```\\n\\nLibrary SDK dependency\\nLibraries are located in:\\n`{path-to-xcode}.app/Contents/Developer/Platforms/{platform}.platform/Developer/SDKs/{runtime}.sdk/usr/lib`\\n\\n### `swiftLibrary`\\n\\n```swift\\ncase swiftLibrary\\n```\\n\\nSwift library SDK dependency\\nSwift libraries are located in:\\n`{path-to-xcode}.app/Contents/Developer/Platforms/{platform}.platform/Developer/SDKs/{runtime}.sdk/usr/lib/swift`\\n\\n### `framework`\\n\\n```swift\\ncase framework\\n```\\n\\nFramework SDK dependency\\n\",\"title\":\"`SDKType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/SDKType\",\"LLMS_URL\":\"/generated/manifest/enums/SDKType.md\"}},{\"path\":\"/generated/manifest/enums/SettingValue.md\",\"url\":\"/generated/manifest/enums/SettingValue\",\"llmUrl\":\"/generated/manifest/enums/SettingValue.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/SettingValue\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/SettingValue.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SettingValue`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `array(_:)`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `init(arrayLiteral:)`\\n - `init(booleanLiteral:)`\\n - `init(_:)`\\n\\n```swift\\npublic enum SettingValue: ExpressibleByStringInterpolation, ExpressibleByArrayLiteral, ExpressibleByBooleanLiteral, Equatable,\\n Codable, Sendable\\n```\\n\\nA value or a collection of values used for settings configuration.\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([String])\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: String...)\\n```\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(_:)`\\n\\n```swift\\npublic init(_ stringRawRepresentable: T) where T: RawRepresentable, T.RawValue == String\\n```\\n\",\"title\":\"`SettingValue`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/SettingValue\",\"LLMS_URL\":\"/generated/manifest/enums/SettingValue.md\"}},{\"path\":\"/generated/manifest/enums/SourceFileGlob.FileType.md\",\"url\":\"/generated/manifest/enums/SourceFileGlob.FileType\",\"llmUrl\":\"/generated/manifest/enums/SourceFileGlob.FileType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/SourceFileGlob.FileType\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/SourceFileGlob.FileType.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SourceFileGlob.FileType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `alwaysPresent`\\n - `generated`\\n\\n```swift\\npublic enum FileType: String, Codable, Sendable\\n```\\n\\nType of the source file.\\n\\n## Cases\\n### `alwaysPresent`\\n\\n```swift\\ncase alwaysPresent\\n```\\n\\nFile is already present on disk before generating the project.\\n\\n### `generated`\\n\\n```swift\\ncase generated\\n```\\n\\nFile is generated, meaning it wasn't initially present on disk at the time of project generation.\\nFor example, a file created by a pre-build phase script.\\n\\n- Important: Since generated files do not exist at the time of project generation, their content cannot be hashed,\\nwhich affects the ability to identify changes in their content during caching.\\nNote that specifically for files generated by a pre-build phase script, the input and output file paths are part of\\nthe target's hash, if they are specified.\\n\",\"title\":\"`SourceFileGlob.FileType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/SourceFileGlob.FileType\",\"LLMS_URL\":\"/generated/manifest/enums/SourceFileGlob.FileType.md\"}},{\"path\":\"/generated/manifest/enums/SwiftCompilationMode.md\",\"url\":\"/generated/manifest/enums/SwiftCompilationMode\",\"llmUrl\":\"/generated/manifest/enums/SwiftCompilationMode.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/SwiftCompilationMode\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/SwiftCompilationMode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SwiftCompilationMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `singlefile`\\n - `wholemodule`\\n\\n```swift\\npublic enum SwiftCompilationMode: String\\n```\\n\\n## Cases\\n### `singlefile`\\n\\n```swift\\ncase singlefile\\n```\\n\\n### `wholemodule`\\n\\n```swift\\ncase wholemodule\\n```\\n\",\"title\":\"`SwiftCompilationMode`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/SwiftCompilationMode\",\"LLMS_URL\":\"/generated/manifest/enums/SwiftCompilationMode.md\"}},{\"path\":\"/generated/manifest/enums/SwiftOptimizationLevel.md\",\"url\":\"/generated/manifest/enums/SwiftOptimizationLevel\",\"llmUrl\":\"/generated/manifest/enums/SwiftOptimizationLevel.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/SwiftOptimizationLevel\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/SwiftOptimizationLevel.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SwiftOptimizationLevel`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `o`\\n - `oNone`\\n - `oSize`\\n\\n```swift\\npublic enum SwiftOptimizationLevel: String\\n```\\n\\n## Cases\\n### `o`\\n\\n```swift\\ncase o = \\\"-O\\\"\\n```\\n\\n### `oNone`\\n\\n```swift\\ncase oNone = \\\"-Onone\\\"\\n```\\n\\n### `oSize`\\n\\n```swift\\ncase oSize = \\\"-Osize\\\"\\n```\\n\",\"title\":\"`SwiftOptimizationLevel`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/SwiftOptimizationLevel\",\"LLMS_URL\":\"/generated/manifest/enums/SwiftOptimizationLevel.md\"}},{\"path\":\"/generated/manifest/enums/TargetDependency.md\",\"url\":\"/generated/manifest/enums/TargetDependency\",\"llmUrl\":\"/generated/manifest/enums/TargetDependency.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/TargetDependency\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/TargetDependency.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetDependency`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `target(name:status:condition:)`\\n - `macro(name:)`\\n - `project(target:path:status:condition:)`\\n - `framework(path:status:condition:)`\\n - `library(path:publicHeaders:swiftModuleMap:condition:)`\\n - `package(product:type:condition:)`\\n - `sdk(name:type:status:condition:)`\\n - `xcframework(path:expectedSignature:status:condition:)`\\n - `xctest`\\n - `external(name:condition:)`\\n- [Properties](#properties)\\n - `typeName`\\n- [Methods](#methods)\\n - `sdk(name:type:condition:)`\\n - `target(_:condition:)`\\n\\n```swift\\npublic enum TargetDependency: Codable, Hashable, Sendable\\n```\\n\\nA target dependency.\\n\\n## Cases\\n### `target(name:status:condition:)`\\n\\n```swift\\ncase target(name: String, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on another target within the same project\\n\\n- Parameters:\\n - name: Name of the target to depend on\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `macro(name:)`\\n\\n```swift\\ncase macro(name: String)\\n```\\n\\nDependency on a macro target within the same project\\n\\n- Parameters:\\n - name: Name of the target to depend on\\n\\n### `project(target:path:status:condition:)`\\n\\n```swift\\ncase project(target: String, path: Path, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a target within another project\\n\\n- Parameters:\\n - target: Name of the target to depend on\\n - path: Relative path to the other project directory\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `framework(path:status:condition:)`\\n\\n```swift\\ncase framework(path: Path, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a prebuilt framework\\n\\n- Parameters:\\n - path: Relative path to the prebuilt framework\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `library(path:publicHeaders:swiftModuleMap:condition:)`\\n\\n```swift\\ncase library(path: Path, publicHeaders: Path, swiftModuleMap: Path?, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on prebuilt library\\n\\n- Parameters:\\n - path: Relative path to the prebuilt library\\n - publicHeaders: Relative path to the library's public headers directory\\n - swiftModuleMap: Relative path to the library's swift module map file\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `package(product:type:condition:)`\\n\\n```swift\\ncase package(product: String, type: PackageType = .runtime, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a swift package manager product using Xcode native integration. It's recommended to use `external` instead.\\nFor more info, check the [external dependencies documentation\\n](https://docs.tuist.dev/en/guides/features/projects/dependencies#external-dependencies).\\n\\n- Parameters:\\n - product: The name of the output product. ${PRODUCT_NAME} inside Xcode.\\n e.g. RxSwift\\n - type: The type of package being integrated.\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `sdk(name:type:status:condition:)`\\n\\n```swift\\ncase sdk(name: String, type: SDKType, status: LinkingStatus, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on system library or framework\\n\\n- Parameters:\\n - name: Name of the system library or framework (not including extension)\\n e.g. `ARKit`, `c++`\\n - type: The dependency type\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `xcframework(path:expectedSignature:status:condition:)`\\n\\n```swift\\ncase xcframework(\\n path: Path,\\n expectedSignature: XCFrameworkSignature? = nil,\\n status: LinkingStatus = .required,\\n condition: PlatformCondition? = nil\\n)\\n```\\n\\nDependency on a xcframework\\n\\n- Parameters:\\n - path: Relative path to the xcframework\\n - expectedSignature: The expected signature if the xcframework is signed.\\n Used for verifying the xcframework's integrity against the actual fingerprint derived from the given xcframeowrk\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `xctest`\\n\\n```swift\\ncase xctest\\n```\\n\\nDependency on XCTest.\\n\\n### `external(name:condition:)`\\n\\n```swift\\ncase external(name: String, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on an external dependency imported through `Package.swift`.\\n\\n- Parameters:\\n - name: Name of the external dependency\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n## Properties\\n### `typeName`\\n\\n```swift\\npublic var typeName: String\\n```\\n\\n## Methods\\n### `sdk(name:type:condition:)`\\n\\n```swift\\npublic static func sdk(name: String, type: SDKType, condition: PlatformCondition? = nil) -> TargetDependency\\n```\\n\\nDependency on system library or framework\\n\\n- Parameters:\\n - name: Name of the system library or framework (including extension)\\n e.g. `ARKit.framework`, `libc++.tbd`\\n - type: Whether or not this dependecy is required. Defaults to `.required`\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the system library or framework (including extension) e.g. `ARKit.framework`, `libc++.tbd` |\\n| type | Whether or not this dependecy is required. Defaults to `.required` |\\n| condition | condition under which to use this dependency, `nil` if this should always be used |\\n\\n### `target(_:condition:)`\\n\\n```swift\\npublic static func target(_ target: Target, condition: PlatformCondition? = nil) -> TargetDependency\\n```\\n\\nDependency on another target within the same project. This is just syntactic sugar for `.target(name: target.name)`.\\n\\n- Parameters:\\n - target: Instance of the target to depend on\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | Instance of the target to depend on |\\n| condition | condition under which to use this dependency, `nil` if this should always be used |\",\"title\":\"`TargetDependency`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/TargetDependency\",\"LLMS_URL\":\"/generated/manifest/enums/TargetDependency.md\"}},{\"path\":\"/generated/manifest/enums/TargetDependency.PackageType.md\",\"url\":\"/generated/manifest/enums/TargetDependency.PackageType\",\"llmUrl\":\"/generated/manifest/enums/TargetDependency.PackageType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/TargetDependency.PackageType\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/TargetDependency.PackageType.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetDependency.PackageType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `runtime`\\n - `runtimeEmbedded`\\n - `plugin`\\n - `macro`\\n\\n```swift\\npublic enum PackageType: Codable, Hashable, Sendable\\n```\\n\\n## Cases\\n### `runtime`\\n\\n```swift\\ncase runtime\\n```\\n\\nA runtime package type represents a standard package whose sources are linked at runtime.\\nFor example importing the framework and consuming from dependent targets.\\n\\n### `runtimeEmbedded`\\n\\n```swift\\ncase runtimeEmbedded\\n```\\n\\nA runtime embedded package type represents a package that's embedded in the product at runtime.\\n\\n### `plugin`\\n\\n```swift\\ncase plugin\\n```\\n\\nA plugin package represents a package that's loaded by the build system at compile-time to\\nextend the compilation process.\\n\\n### `macro`\\n\\n```swift\\ncase macro\\n```\\n\\nA macro package represents a package that contains a Swift Macro.\\n\",\"title\":\"`TargetDependency.PackageType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/TargetDependency.PackageType\",\"LLMS_URL\":\"/generated/manifest/enums/TargetDependency.PackageType.md\"}},{\"path\":\"/generated/manifest/enums/TargetScript.Order.md\",\"url\":\"/generated/manifest/enums/TargetScript.Order\",\"llmUrl\":\"/generated/manifest/enums/TargetScript.Order.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/TargetScript.Order\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/TargetScript.Order.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetScript.Order`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `pre`\\n - `post`\\n\\n```swift\\npublic enum Order: String, Codable, Equatable, Sendable\\n```\\n\\nOrder when the script gets executed.\\n\\n- pre: Before the sources and resources build phase.\\n- post: After the sources and resources build phase.\\n\\n## Cases\\n### `pre`\\n\\n```swift\\ncase pre\\n```\\n\\n### `post`\\n\\n```swift\\ncase post\\n```\\n\",\"title\":\"`TargetScript.Order`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/TargetScript.Order\",\"LLMS_URL\":\"/generated/manifest/enums/TargetScript.Order.md\"}},{\"path\":\"/generated/manifest/enums/TargetScript.Script.md\",\"url\":\"/generated/manifest/enums/TargetScript.Script\",\"llmUrl\":\"/generated/manifest/enums/TargetScript.Script.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/TargetScript.Script\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/TargetScript.Script.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetScript.Script`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `tool(path:args:)`\\n - `scriptPath(path:args:)`\\n - `embedded(_:)`\\n\\n```swift\\npublic enum Script: Equatable, Codable, Sendable\\n```\\n\\nSpecifies how to execute the target script\\n\\n- tool: Executes the tool with the given arguments. Tuist will look up the tool on the environment's PATH.\\n- scriptPath: Executes the file at the path with the given arguments.\\n- text: Executes the embedded script. This should be a short command.\\n\\n## Cases\\n### `tool(path:args:)`\\n\\n```swift\\ncase tool(path: String, args: [String])\\n```\\n\\n### `scriptPath(path:args:)`\\n\\n```swift\\ncase scriptPath(path: Path, args: [String])\\n```\\n\\n### `embedded(_:)`\\n\\n```swift\\ncase embedded(String)\\n```\\n\",\"title\":\"`TargetScript.Script`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/TargetScript.Script\",\"LLMS_URL\":\"/generated/manifest/enums/TargetScript.Script.md\"}},{\"path\":\"/generated/manifest/enums/Template.Attribute.md\",\"url\":\"/generated/manifest/enums/Template.Attribute\",\"llmUrl\":\"/generated/manifest/enums/Template.Attribute.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Template.Attribute\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Template.Attribute.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Attribute`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `required(_:)`\\n - `optional(_:default:)`\\n\\n```swift\\npublic enum Attribute: Codable, Equatable, Sendable\\n```\\n\\nAttribute to be passed to `tuist scaffold` for generating with `Template`\\n\\n## Cases\\n### `required(_:)`\\n\\n```swift\\ncase required(String)\\n```\\n\\nRequired attribute with a given name\\n\\n### `optional(_:default:)`\\n\\n```swift\\ncase optional(String, default: Value)\\n```\\n\\nOptional attribute with a given name and a default value used when attribute not provided by user\\n\",\"title\":\"`Template.Attribute`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Template.Attribute\",\"LLMS_URL\":\"/generated/manifest/enums/Template.Attribute.md\"}},{\"path\":\"/generated/manifest/enums/Template.Attribute.Value.md\",\"url\":\"/generated/manifest/enums/Template.Attribute.Value\",\"llmUrl\":\"/generated/manifest/enums/Template.Attribute.Value.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Template.Attribute.Value\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Template.Attribute.Value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Attribute.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `real(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic indirect enum Value: Codable, Equatable, Sendable\\n```\\n\\nThis represents the default value type of Attribute\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `real(_:)`\\n\\n```swift\\ncase real(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Value])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Value])\\n```\\n\\nIt represents an array value.\\n\",\"title\":\"`Template.Attribute.Value`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Template.Attribute.Value\",\"LLMS_URL\":\"/generated/manifest/enums/Template.Attribute.Value.md\"}},{\"path\":\"/generated/manifest/enums/Template.Contents.md\",\"url\":\"/generated/manifest/enums/Template.Contents\",\"llmUrl\":\"/generated/manifest/enums/Template.Contents.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/Template.Contents\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/Template.Contents.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Contents`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `file(_:)`\\n - `directory(_:)`\\n\\n```swift\\npublic enum Contents: Codable, Equatable, Sendable\\n```\\n\\nEnum containing information about how to generate item\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nString Contents is defined in `name_of_template.swift` and contains a simple `String`\\nCan not contain any additional logic apart from plain `String` from `arguments`\\n\\n### `file(_:)`\\n\\n```swift\\ncase file(Path)\\n```\\n\\nFile content is defined in a different file from `name_of_template.swift`\\nCan contain additional logic and anything that is defined in `ProjectDescriptionHelpers`\\n\\n### `directory(_:)`\\n\\n```swift\\ncase directory(Path)\\n```\\n\\nDirectory content is defined in a path\\nIt is just for copying files without modifications and logic inside\\n\",\"title\":\"`Template.Contents`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/Template.Contents\",\"LLMS_URL\":\"/generated/manifest/enums/Template.Contents.md\"}},{\"path\":\"/generated/manifest/enums/TemplateString.Token.md\",\"url\":\"/generated/manifest/enums/TemplateString.Token\",\"llmUrl\":\"/generated/manifest/enums/TemplateString.Token.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/TemplateString.Token\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/TemplateString.Token.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TemplateString.Token`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `projectName`\\n\\n```swift\\npublic enum Token: String, Equatable\\n```\\n\\nProvides a template for existing project properties.\\n\\n- projectName: The name of the project.\\n\\n## Cases\\n### `projectName`\\n\\n```swift\\ncase projectName = \\\"${project_name}\\\"\\n```\\n\",\"title\":\"`TemplateString.Token`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/TemplateString.Token\",\"LLMS_URL\":\"/generated/manifest/enums/TemplateString.Token.md\"}},{\"path\":\"/generated/manifest/enums/TestableTarget.Parallelization.md\",\"url\":\"/generated/manifest/enums/TestableTarget.Parallelization\",\"llmUrl\":\"/generated/manifest/enums/TestableTarget.Parallelization.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/TestableTarget.Parallelization\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/TestableTarget.Parallelization.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TestableTarget.Parallelization`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n\\n```swift\\npublic enum Parallelization: Equatable, Codable, Sendable\\n```\\n\\nWith the introduction of Swift Testing and Xcode 16, you can now choose to run your tests\\nin parallel across either the full suite of tests in a target with `.enabled`, just those created\\nunder Swift Testing with `.swiftTestingOnly`, or run them serially with the `.disabled` option.\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\",\"title\":\"`TestableTarget.Parallelization`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/TestableTarget.Parallelization\",\"LLMS_URL\":\"/generated/manifest/enums/TestableTarget.Parallelization.md\"}},{\"path\":\"/generated/manifest/enums/TuistProject.md\",\"url\":\"/generated/manifest/enums/TuistProject\",\"llmUrl\":\"/generated/manifest/enums/TuistProject.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/TuistProject\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/TuistProject.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TuistProject`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `tuist(compatibleXcodeVersions:swiftVersion:plugins:generationOptions:installOptions:)`\\n - `xcode(_:)`\\n\\n```swift\\npublic enum TuistProject: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `tuist(compatibleXcodeVersions:swiftVersion:plugins:generationOptions:installOptions:)`\\n\\n```swift\\ncase tuist(\\n compatibleXcodeVersions: CompatibleXcodeVersions = .all,\\n swiftVersion: Version? = nil,\\n plugins: [PluginLocation] = [],\\n generationOptions: Tuist.GenerationOptions = .options(),\\n installOptions: Tuist.InstallOptions = .options()\\n)\\n```\\n\\nCreates a configuration for a Tuist project.\\n\\n- Parameters:\\n - compatibleXcodeVersions: List of Xcode versions the project is compatible with.\\n - swiftVersion: The version of Swift that will be used by Tuist.\\n - plugins: A list of plugins to extend Tuist.\\n - generationOptions: List of options to use when generating the project.\\n - installOptions: List of options to use when running `tuist install`.\\n\\n### `xcode(_:)`\\n\\n```swift\\ncase xcode(TuistXcodeProjectOptions = TuistXcodeProjectOptions.options())\\n```\\n\",\"title\":\"`TuistProject`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/TuistProject\",\"LLMS_URL\":\"/generated/manifest/enums/TuistProject.md\"}},{\"path\":\"/generated/manifest/enums/XCFrameworkSignature.md\",\"url\":\"/generated/manifest/enums/XCFrameworkSignature\",\"llmUrl\":\"/generated/manifest/enums/XCFrameworkSignature.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/enums/XCFrameworkSignature\\\"\\nLLMS_URL: \\\"/generated/manifest/enums/XCFrameworkSignature.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `XCFrameworkSignature`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `unsigned`\\n - `signedWithAppleCertificate(teamIdentifier:teamName:)`\\n - `selfSigned(fingerprint:)`\\n\\n```swift\\npublic enum XCFrameworkSignature: Equatable, Hashable, Codable, Sendable\\n```\\n\\nExpected signature for XCFramework. Can be used to verify the authenticity of the XCFramework against the actual signature\\ncalculated from it.\\n\\n## Cases\\n### `unsigned`\\n\\n```swift\\ncase unsigned\\n```\\n\\nThe XCFramework is not signed.\\n\\n### `signedWithAppleCertificate(teamIdentifier:teamName:)`\\n\\n```swift\\ncase signedWithAppleCertificate(teamIdentifier: String, teamName: String)\\n```\\n\\nThe XCFramework is signed with an Apple Development certificate.\\n\\n### `selfSigned(fingerprint:)`\\n\\n```swift\\ncase selfSigned(fingerprint: String)\\n```\\n\\nThe XCFramework is signed by a self issued code signing identity.\\n\",\"title\":\"`XCFrameworkSignature`\",\"frontmatter\":{\"URL\":\"/generated/manifest/enums/XCFrameworkSignature\",\"LLMS_URL\":\"/generated/manifest/enums/XCFrameworkSignature.md\"}},{\"path\":\"/generated/manifest/extensions/Array.md\",\"url\":\"/generated/manifest/extensions/Array\",\"llmUrl\":\"/generated/manifest/extensions/Array.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/Array\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/Array.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `[FileElement]`\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`[FileElement]`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/Array\",\"LLMS_URL\":\"/generated/manifest/extensions/Array.md\"}},{\"path\":\"/generated/manifest/extensions/Array.md\",\"url\":\"/generated/manifest/extensions/Array\",\"llmUrl\":\"/generated/manifest/extensions/Array.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/Array\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/Array.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `[ResourceSynthesizer]`\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: Self\\n```\\n\",\"title\":\"`[ResourceSynthesizer]`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/Array\",\"LLMS_URL\":\"/generated/manifest/extensions/Array.md\"}},{\"path\":\"/generated/manifest/extensions/ClosedRange.md\",\"url\":\"/generated/manifest/extensions/ClosedRange\",\"llmUrl\":\"/generated/manifest/extensions/ClosedRange.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/ClosedRange\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/ClosedRange.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ClosedRange`\\n```swift\\nextension ClosedRange where Bound == Version\\n```\\n\\n## Methods\\n### `contains(_:)`\\n\\n```swift\\npublic func contains(_: Version) -> Bool\\n```\\n\\nMarked as unavailable because we have custom rules for contains.\\n\",\"title\":\"`ClosedRange`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/ClosedRange\",\"LLMS_URL\":\"/generated/manifest/extensions/ClosedRange.md\"}},{\"path\":\"/generated/manifest/extensions/CopyFileElement.md\",\"url\":\"/generated/manifest/extensions/CopyFileElement\",\"llmUrl\":\"/generated/manifest/extensions/CopyFileElement.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/CopyFileElement\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/CopyFileElement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `CopyFileElement`\\n```swift\\nextension CopyFileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`CopyFileElement`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/CopyFileElement\",\"LLMS_URL\":\"/generated/manifest/extensions/CopyFileElement.md\"}},{\"path\":\"/generated/manifest/extensions/DefaultSettings.md\",\"url\":\"/generated/manifest/extensions/DefaultSettings\",\"llmUrl\":\"/generated/manifest/extensions/DefaultSettings.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/DefaultSettings\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/DefaultSettings.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `DefaultSettings`\\n```swift\\nextension DefaultSettings\\n```\\n\\n## Properties\\n### `recommended`\\n\\n```swift\\npublic static var recommended: DefaultSettings\\n```\\n\\n### `essential`\\n\\n```swift\\npublic static var essential: DefaultSettings\\n```\\n\",\"title\":\"`DefaultSettings`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/DefaultSettings\",\"LLMS_URL\":\"/generated/manifest/extensions/DefaultSettings.md\"}},{\"path\":\"/generated/manifest/extensions/Destinations.md\",\"url\":\"/generated/manifest/extensions/Destinations\",\"llmUrl\":\"/generated/manifest/extensions/Destinations.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/Destinations\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/Destinations.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Destinations`\\n```swift\\nextension Destinations\\n```\\n\\n## Properties\\n### `watchOS`\\n\\n```swift\\npublic static let watchOS: Destinations = [.appleWatch]\\n```\\n\\n### `iOS`\\n\\n```swift\\npublic static let iOS: Destinations = [.iPhone, .iPad, .macWithiPadDesign]\\n```\\n\\nCurrently we omit `.visionOSwithiPadDesign` from our default because `visionOS` is unreleased.\\n\\n### `macOS`\\n\\n```swift\\npublic static let macOS: Destinations = [.mac]\\n```\\n\\n### `tvOS`\\n\\n```swift\\npublic static let tvOS: Destinations = [.appleTv]\\n```\\n\\n### `visionOS`\\n\\n```swift\\npublic static let visionOS: Destinations = [.appleVision]\\n```\\n\\n### `platforms`\\n\\n```swift\\npublic var platforms: Set\\n```\\n\\nConvenience set of platforms that are supported by a set of destinations\\n\",\"title\":\"`Destinations`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/Destinations\",\"LLMS_URL\":\"/generated/manifest/extensions/Destinations.md\"}},{\"path\":\"/generated/manifest/extensions/Entitlements.md\",\"url\":\"/generated/manifest/extensions/Entitlements\",\"llmUrl\":\"/generated/manifest/extensions/Entitlements.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/Entitlements\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/Entitlements.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Entitlements`\\n```swift\\nextension Entitlements: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`Entitlements`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/Entitlements\",\"LLMS_URL\":\"/generated/manifest/extensions/Entitlements.md\"}},{\"path\":\"/generated/manifest/extensions/Environment.Value_.md\",\"url\":\"/generated/manifest/extensions/Environment.Value_\",\"llmUrl\":\"/generated/manifest/extensions/Environment.Value_.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/Environment.Value_\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/Environment.Value_.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Environment.Value?`\\n```swift\\nextension Environment.Value?\\n```\\n\\n## Methods\\n### `getString(default:)`\\n\\n```swift\\npublic func getString(default defaultString: String) -> String\\n```\\n\\nRetrieve the Environment value as a string or return the specified default string value\\n- Parameters:\\n - default: default String value to be returned\\n- Returns: String\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| default | default String value to be returned |\\n\\n### `getBoolean(default:)`\\n\\n```swift\\npublic func getBoolean(default defaultBoolean: Bool) -> Bool\\n```\\n\\nRetrieve the Environment value as a boolean or return the specified default boolean value\\n- Parameters:\\n - default: default Boolean value to be returned\\n- Returns: Bool\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| default | default Boolean value to be returned |\",\"title\":\"`Environment.Value?`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/Environment.Value_\",\"LLMS_URL\":\"/generated/manifest/extensions/Environment.Value_.md\"}},{\"path\":\"/generated/manifest/extensions/FileElement.md\",\"url\":\"/generated/manifest/extensions/FileElement\",\"llmUrl\":\"/generated/manifest/extensions/FileElement.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/FileElement\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/FileElement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileElement`\\n```swift\\nextension FileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`FileElement`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/FileElement\",\"LLMS_URL\":\"/generated/manifest/extensions/FileElement.md\"}},{\"path\":\"/generated/manifest/extensions/FileList.md\",\"url\":\"/generated/manifest/extensions/FileList\",\"llmUrl\":\"/generated/manifest/extensions/FileList.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/FileList\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/FileList.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileList`\\n```swift\\nextension FileList: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: String...)\\n```\\n\",\"title\":\"`FileList`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/FileList\",\"LLMS_URL\":\"/generated/manifest/extensions/FileList.md\"}},{\"path\":\"/generated/manifest/extensions/FileListGlob.md\",\"url\":\"/generated/manifest/extensions/FileListGlob\",\"llmUrl\":\"/generated/manifest/extensions/FileListGlob.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/FileListGlob\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/FileListGlob.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileListGlob`\\n```swift\\nextension FileListGlob: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`FileListGlob`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/FileListGlob\",\"LLMS_URL\":\"/generated/manifest/extensions/FileListGlob.md\"}},{\"path\":\"/generated/manifest/extensions/InfoPlist.md\",\"url\":\"/generated/manifest/extensions/InfoPlist\",\"llmUrl\":\"/generated/manifest/extensions/InfoPlist.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/InfoPlist\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/InfoPlist.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `InfoPlist`\\n```swift\\nextension InfoPlist: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`InfoPlist`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/InfoPlist\",\"LLMS_URL\":\"/generated/manifest/extensions/InfoPlist.md\"}},{\"path\":\"/generated/manifest/extensions/Package.md\",\"url\":\"/generated/manifest/extensions/Package\",\"llmUrl\":\"/generated/manifest/extensions/Package.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/Package\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/Package.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Package`\\n```swift\\nextension Package\\n```\\n\\n## Methods\\n### `package(url:from:)`\\n\\n```swift\\npublic static func package(url: String, from version: Version) -> Package\\n```\\n\\nCreate a package dependency that uses the version requirement, starting with the given minimum version,\\ngoing up to the next major version.\\n\\nThis is the recommended way to specify a remote package dependency.\\nIt allows you to specify the minimum version you require, allows updates that include bug fixes\\nand backward-compatible feature updates, but requires you to explicitly update to a new major version of the dependency.\\nThis approach provides the maximum flexibility on which version to use,\\nwhile making sure you don't update to a version with breaking changes,\\nand helps to prevent conflicts in your dependency graph.\\n\\nThe following example allows the Swift package manager to select a version\\nlike a `1.2.3`, `1.2.4`, or `1.3.0`, but not `2.0.0`.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", from: \\\"1.2.3\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - version: The minimum version requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| version | The minimum version requirement. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ requirement: Package.Requirement) -> Package\\n```\\n\\nAdd a remote package dependency given a version requirement.\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - requirement: A dependency requirement. See static methods on `Package.Requirement` for available options.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| requirement | A dependency requirement. See static methods on `Package.Requirement` for available options. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ range: Range) -> Package\\n```\\n\\nAdd a package dependency starting with a specific minimum version, up to\\nbut not including a specified maximum version.\\n\\nThe following example allows the Swift package manager to pick\\nversions `1.2.3`, `1.2.4`, `1.2.5`, but not `1.2.6`.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", \\\"1.2.3\\\"..<\\\"1.2.6\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - range: The custom version range requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| range | The custom version range requirement. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ range: ClosedRange) -> Package\\n```\\n\\nAdd a package dependency starting with a specific minimum version, going\\nup to and including a specific maximum version.\\n\\nThe following example allows the Swift package manager to pick\\nversions 1.2.3, 1.2.4, 1.2.5, as well as 1.2.6.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", \\\"1.2.3\\\"...\\\"1.2.6\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - range: The closed version range requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| range | The closed version range requirement. |\\n\\n### `package(path:)`\\n\\n```swift\\npublic static func package(path: Path) -> Package\\n```\\n\\nAdd a dependency to a local package on the filesystem.\\n\\nThe Swift Package Manager uses the package dependency as-is\\nand does not perform any source control access. Local package dependencies\\nare especially useful during development of a new package or when working\\non multiple tightly coupled packages.\\n\\n- Parameter path: The path of the package.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | The path of the package. |\\n\\n### `package(id:from:)`\\n\\n```swift\\npublic static func package(id: String, from version: Version) -> Package\\n```\\n\\nAdds a package dependency that uses the version requirement, starting with the given minimum version,\\ngoing up to the next major version.\\n\\nThis is the recommended way to specify a remote package dependency.\\nIt allows you to specify the minimum version you require, allows updates that include bug fixes\\nand backward-compatible feature updates, but requires you to explicitly update to a new major version of the dependency.\\nThis approach provides the maximum flexibility on which version to use,\\nwhile making sure you don't update to a version with breaking changes,\\nand helps to prevent conflicts in your dependency graph.\\n\\nThe following example allows the Swift Package Manager to select a version\\nlike a `1.2.3`, `1.2.4`, or `1.3.0`, but not `2.0.0`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", from: \\\"1.2.3\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - version: The minimum version requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| version | The minimum version requirement. |\\n\\n### `package(id:exact:)`\\n\\n```swift\\npublic static func package(id: String, exact version: Version) -> Package\\n```\\n\\nAdds a package dependency that uses the exact version requirement.\\n\\nSpecifying exact version requirements are not recommended as\\nthey can cause conflicts in your dependency graph when multiple other packages depend on a package.\\nBecause Swift packages follow the semantic versioning convention,\\nthink about specifying a version range instead.\\n\\nThe following example instructs the Swift Package Manager to use version `1.2.3`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", exact: \\\"1.2.3\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - version: The exact version of the dependency for this requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| version | The exact version of the dependency for this requirement. |\\n\\n### `package(id:_:)`\\n\\n```swift\\npublic static func package(id: String, _ range: Range) -> Package\\n```\\n\\nAdds a package dependency starting with a specific minimum version, up to\\nbut not including a specified maximum version.\\n\\nThe following example allows the Swift Package Manager to pick\\nversions `1.2.3`, `1.2.4`, `1.2.5`, but not `1.2.6`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", \\\"1.2.3\\\"..<\\\"1.2.6\\\"),\\n```\\n\\nThe following example allows the Swift Package Manager to pick\\nversions between 1.0.0 and 2.0.0\\n\\n```swift\\n.package(id: \\\"scope.name\\\", .upToNextMajor(from: \\\"1.0.0\\\")),\\n```\\n\\nThe following example allows the Swift Package Manager to pick\\nversions between 1.0.0 and 1.1.0\\n\\n```swift\\n.package(id: \\\"scope.name\\\", .upToNextMinor(from: \\\"1.0.0\\\")),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - range: The custom version range requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| range | The custom version range requirement. |\\n\\n### `package(id:_:)`\\n\\n```swift\\npublic static func package(id: String, _ range: ClosedRange) -> Package\\n```\\n\\nAdds a package dependency starting with a specific minimum version, going\\nup to and including a specific maximum version.\\n\\nThe following example allows the Swift Package Manager to pick\\nversions 1.2.3, 1.2.4, 1.2.5, as well as 1.2.6.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", \\\"1.2.3\\\"...\\\"1.2.6\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - range: The closed version range requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| range | The closed version range requirement. |\\n\\n### `package(url:version:)`\\n\\n### `package(url:branch:)`\\n\\n### `package(url:revision:)`\\n\\n### `package(url:range:)`\\n\",\"title\":\"`Package`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/Package\",\"LLMS_URL\":\"/generated/manifest/extensions/Package.md\"}},{\"path\":\"/generated/manifest/extensions/PlatformFilters.md\",\"url\":\"/generated/manifest/extensions/PlatformFilters\",\"llmUrl\":\"/generated/manifest/extensions/PlatformFilters.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/PlatformFilters\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/PlatformFilters.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `PlatformFilters`\\n```swift\\nextension PlatformFilters\\n```\\n\\n## Properties\\n### `all`\\n\\n```swift\\npublic static let all = Set(PlatformFilter.allCases)\\n```\\n\",\"title\":\"`PlatformFilters`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/PlatformFilters\",\"LLMS_URL\":\"/generated/manifest/extensions/PlatformFilters.md\"}},{\"path\":\"/generated/manifest/extensions/Plist.Value.md\",\"url\":\"/generated/manifest/extensions/Plist.Value\",\"llmUrl\":\"/generated/manifest/extensions/Plist.Value.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/Plist.Value\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/Plist.Value.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Plist.Value`\\n```swift\\nextension Plist.Value: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Plist.Value)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Plist.Value...)\\n```\\n\",\"title\":\"`Plist.Value`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/Plist.Value\",\"LLMS_URL\":\"/generated/manifest/extensions/Plist.Value.md\"}},{\"path\":\"/generated/manifest/extensions/Range.md\",\"url\":\"/generated/manifest/extensions/Range\",\"llmUrl\":\"/generated/manifest/extensions/Range.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/Range\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/Range.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Range`\\n```swift\\nextension Range where Bound == Version\\n```\\n\\n## Methods\\n### `contains(_:)`\\n\\n```swift\\npublic func contains(_: Version) -> Bool\\n```\\n\\nMarked as unavailable because we have custom rules for contains.\\n\\n### `contains(version:)`\\n\\n```swift\\npublic func contains(version: Version) -> Bool\\n```\\n\",\"title\":\"`Range`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/Range\",\"LLMS_URL\":\"/generated/manifest/extensions/Range.md\"}},{\"path\":\"/generated/manifest/extensions/ResourceFileElement.md\",\"url\":\"/generated/manifest/extensions/ResourceFileElement\",\"llmUrl\":\"/generated/manifest/extensions/ResourceFileElement.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/ResourceFileElement\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/ResourceFileElement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceFileElement`\\n```swift\\nextension ResourceFileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`ResourceFileElement`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/ResourceFileElement\",\"LLMS_URL\":\"/generated/manifest/extensions/ResourceFileElement.md\"}},{\"path\":\"/generated/manifest/extensions/ResourceFileElements.md\",\"url\":\"/generated/manifest/extensions/ResourceFileElements\",\"llmUrl\":\"/generated/manifest/extensions/ResourceFileElements.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/ResourceFileElements\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/ResourceFileElements.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceFileElements`\\n```swift\\nextension ResourceFileElements: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: ResourceFileElement...)\\n```\\n\",\"title\":\"`ResourceFileElements`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/ResourceFileElements\",\"LLMS_URL\":\"/generated/manifest/extensions/ResourceFileElements.md\"}},{\"path\":\"/generated/manifest/extensions/ResourceSynthesizer.Parser.Option.md\",\"url\":\"/generated/manifest/extensions/ResourceSynthesizer.Parser.Option\",\"llmUrl\":\"/generated/manifest/extensions/ResourceSynthesizer.Parser.Option.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/ResourceSynthesizer.Parser.Option\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/ResourceSynthesizer.Parser.Option.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceSynthesizer.Parser.Option`\\n```swift\\nextension ResourceSynthesizer.Parser.Option: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Self)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Self...)\\n```\\n\",\"title\":\"`ResourceSynthesizer.Parser.Option`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/ResourceSynthesizer.Parser.Option\",\"LLMS_URL\":\"/generated/manifest/extensions/ResourceSynthesizer.Parser.Option.md\"}},{\"path\":\"/generated/manifest/extensions/SchemeLanguage.md\",\"url\":\"/generated/manifest/extensions/SchemeLanguage\",\"llmUrl\":\"/generated/manifest/extensions/SchemeLanguage.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/SchemeLanguage\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/SchemeLanguage.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SchemeLanguage`\\n```swift\\nextension SchemeLanguage\\n```\\n\\n## Properties\\n### `doubleLengthPseudoLanguage`\\n\\n```swift\\npublic static var doubleLengthPseudoLanguage: SchemeLanguage\\n```\\n\\n### `rightToLeftPseudoLanguage`\\n\\n```swift\\npublic static var rightToLeftPseudoLanguage: SchemeLanguage\\n```\\n\\n### `accentedPseudoLanguage`\\n\\n```swift\\npublic static var accentedPseudoLanguage: SchemeLanguage\\n```\\n\\n### `boundedStringPseudoLanguage`\\n\\n```swift\\npublic static var boundedStringPseudoLanguage: SchemeLanguage\\n```\\n\\n### `rightToLeftWithStringsPseudoLanguage`\\n\\n```swift\\npublic static var rightToLeftWithStringsPseudoLanguage: SchemeLanguage\\n```\\n\",\"title\":\"`SchemeLanguage`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/SchemeLanguage\",\"LLMS_URL\":\"/generated/manifest/extensions/SchemeLanguage.md\"}},{\"path\":\"/generated/manifest/extensions/SettingsDictionary.md\",\"url\":\"/generated/manifest/extensions/SettingsDictionary\",\"llmUrl\":\"/generated/manifest/extensions/SettingsDictionary.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/SettingsDictionary\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/SettingsDictionary.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SettingsDictionary`\\n```swift\\nextension SettingsDictionary\\n```\\n\\n## Methods\\n### `merge(_:)`\\n\\n```swift\\npublic mutating func merge(_ other: SettingsDictionary)\\n```\\n\\n### `merging(_:)`\\n\\n```swift\\npublic func merging(_ other: SettingsDictionary) -> SettingsDictionary\\n```\\n\\n### `manualCodeSigning(identity:provisioningProfileSpecifier:)`\\n\\n```swift\\npublic func manualCodeSigning(identity: String? = nil, provisioningProfileSpecifier: String? = nil) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_STYLE\\\"` to `\\\"Manual\\\"`,` \\\"CODE_SIGN_IDENTITY\\\"` to `identity`, and `\\\"PROVISIONING_PROFILE_SPECIFIER\\\"` to\\n`provisioningProfileSpecifier`\\n\\n### `automaticCodeSigning(devTeam:)`\\n\\n```swift\\npublic func automaticCodeSigning(devTeam: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_STYLE\\\"` to `\\\"Automatic\\\"` and `\\\"DEVELOPMENT_TEAM\\\"` to `devTeam`\\n- Parameters:\\n - devTeam: Your Apple Developer Team ID. See\\n[here](https://developer.apple.com/help/account/manage-your-team/locate-your-team-id/) how you can find it.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| devTeam | Your Apple Developer Team ID. See how you can find it. |\\n\\n### `codeSignIdentityAppleDevelopment()`\\n\\n```swift\\npublic func codeSignIdentityAppleDevelopment() -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_IDENTITY\\\"` to `\\\"Apple Development\\\"`\\n\\n### `codeSignIdentity(_:)`\\n\\n```swift\\npublic func codeSignIdentity(_ identity: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_IDENTITY\\\"` to `identity`\\n\\n### `currentProjectVersion(_:)`\\n\\n```swift\\npublic func currentProjectVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CURRENT_PROJECT_VERSION\\\"` to `version`\\n\\n### `marketingVersion(_:)`\\n\\n```swift\\npublic func marketingVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"MARKETING_VERSION\\\"` to `version`\\n\\n### `appleGenericVersioningSystem()`\\n\\n```swift\\npublic func appleGenericVersioningSystem() -> SettingsDictionary\\n```\\n\\nSets `\\\"VERSIONING_SYSTEM\\\"` to `\\\"apple-generic\\\"`\\n\\n### `versionInfo(_:prefix:suffix:)`\\n\\n```swift\\npublic func versionInfo(_ version: String, prefix: String? = nil, suffix: String? = nil) -> SettingsDictionary\\n```\\n\\nSets \\\"VERSION_INFO_STRING\\\" to `version`. If `prefix` and `suffix` are not `nil`, they're used as `\\\"VERSION_INFO_PREFIX\\\"`\\nand `\\\"VERSION_INFO_SUFFIX\\\"` respectively.\\n\\n### `swiftVersion(_:)`\\n\\n```swift\\npublic func swiftVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_VERSION\\\"` to `version`\\n\\n### `otherSwiftFlags(_:)`\\n\\n```swift\\npublic func otherSwiftFlags(_ flags: String...) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_SWIFT_FLAGS\\\"` to `flags`\\n\\n### `otherSwiftFlags(_:)`\\n\\n```swift\\npublic func otherSwiftFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_SWIFT_FLAGS\\\"` to `flags`\\n\\n### `swiftActiveCompilationConditions(_:)`\\n\\n```swift\\npublic func swiftActiveCompilationConditions(_ conditions: String...) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_ACTIVE_COMPILATION_CONDITIONS\\\"` to `conditions`\\n\\n### `swiftActiveCompilationConditions(_:)`\\n\\n```swift\\npublic func swiftActiveCompilationConditions(_ conditions: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_ACTIVE_COMPILATION_CONDITIONS\\\"` to `conditions`\\n\\n### `swiftCompilationMode(_:)`\\n\\n```swift\\npublic func swiftCompilationMode(_ mode: SwiftCompilationMode) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_COMPILATION_MODE\\\"` to the available `SwiftCompilationMode` (`\\\"singlefile\\\"` or `\\\"wholemodule\\\"`)\\n\\n### `swiftOptimizationLevel(_:)`\\n\\n```swift\\npublic func swiftOptimizationLevel(_ level: SwiftOptimizationLevel) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OPTIMIZATION_LEVEL\\\"` to the available `SwiftOptimizationLevel` (`\\\"-O\\\"`, `\\\"-Onone\\\"` or `\\\"-Osize\\\"`)\\n\\n### `swiftOptimizeObjectLifetimes(_:)`\\n\\n```swift\\npublic func swiftOptimizeObjectLifetimes(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OPTIMIZE_OBJECT_LIFETIME\\\"` to `\\\"YES\\\"` or `\\\"NO\\\"`\\n\\n### `swiftObjcBridgingHeaderPath(_:)`\\n\\n```swift\\npublic func swiftObjcBridgingHeaderPath(_ path: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OBJC_BRIDGING_HEADER\\\"` to `path`\\n\\n### `otherCFlags(_:)`\\n\\n```swift\\npublic func otherCFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_CFLAGS\\\"` to `flags`\\n\\n### `otherLinkerFlags(_:)`\\n\\n```swift\\npublic func otherLinkerFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_LDFLAGS\\\"` to `flags`\\n\\n### `bitcodeEnabled(_:)`\\n\\n```swift\\npublic func bitcodeEnabled(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"ENABLE_BITCODE\\\"` to `\\\"YES\\\"` or `\\\"NO\\\"`\\n\\n### `debugInformationFormat(_:)`\\n\\n```swift\\npublic func debugInformationFormat(_ format: DebugInformationFormat) -> SettingsDictionary\\n```\\n\\nSets `\\\"DEBUG_INFORMATION_FORMAT\\\"`to `\\\"dwarf\\\"` or `\\\"dwarf-with-dsym\\\"`\\n\\n### `betaFeature_enableExplicitModules(_:)`\\n\\n```swift\\npublic func betaFeature_enableExplicitModules(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"_EXPERIMENTAL_SWIFT_EXPLICIT_MODULES\\\"`\\nNOTE: This is only available when using Xcode 16 or later.\\nThis setting may change and is not guaranteed to work across all beta versions.\\n\",\"title\":\"`SettingsDictionary`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/SettingsDictionary\",\"LLMS_URL\":\"/generated/manifest/extensions/SettingsDictionary.md\"}},{\"path\":\"/generated/manifest/extensions/SourceFileGlob.md\",\"url\":\"/generated/manifest/extensions/SourceFileGlob\",\"llmUrl\":\"/generated/manifest/extensions/SourceFileGlob.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/SourceFileGlob\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/SourceFileGlob.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SourceFileGlob`\\n```swift\\nextension SourceFileGlob: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`SourceFileGlob`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/SourceFileGlob\",\"LLMS_URL\":\"/generated/manifest/extensions/SourceFileGlob.md\"}},{\"path\":\"/generated/manifest/extensions/SourceFilesList.md\",\"url\":\"/generated/manifest/extensions/SourceFilesList\",\"llmUrl\":\"/generated/manifest/extensions/SourceFilesList.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/SourceFilesList\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/SourceFilesList.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SourceFilesList`\\n```swift\\nextension SourceFilesList: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: SourceFileGlob...)\\n```\\n\",\"title\":\"`SourceFilesList`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/SourceFilesList\",\"LLMS_URL\":\"/generated/manifest/extensions/SourceFilesList.md\"}},{\"path\":\"/generated/manifest/extensions/String.StringInterpolation.md\",\"url\":\"/generated/manifest/extensions/String.StringInterpolation\",\"llmUrl\":\"/generated/manifest/extensions/String.StringInterpolation.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/String.StringInterpolation\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/String.StringInterpolation.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `String.StringInterpolation`\\n```swift\\nextension String.StringInterpolation\\n```\\n\\n## Methods\\n### `appendInterpolation(_:)`\\n\\n```swift\\npublic mutating func appendInterpolation(_ value: Template.Attribute)\\n```\\n\",\"title\":\"`String.StringInterpolation`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/String.StringInterpolation\",\"LLMS_URL\":\"/generated/manifest/extensions/String.StringInterpolation.md\"}},{\"path\":\"/generated/manifest/extensions/Template.Attribute.Value.md\",\"url\":\"/generated/manifest/extensions/Template.Attribute.Value\",\"llmUrl\":\"/generated/manifest/extensions/Template.Attribute.Value.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/Template.Attribute.Value\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/Template.Attribute.Value.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Template.Attribute.Value`\\n```swift\\nextension Template.Attribute.Value: ExpressibleByStringLiteral\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Template.Attribute.Value)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Template.Attribute.Value...)\\n```\\n\",\"title\":\"`Template.Attribute.Value`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/Template.Attribute.Value\",\"LLMS_URL\":\"/generated/manifest/extensions/Template.Attribute.Value.md\"}},{\"path\":\"/generated/manifest/extensions/Template.Item.md\",\"url\":\"/generated/manifest/extensions/Template.Item\",\"llmUrl\":\"/generated/manifest/extensions/Template.Item.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/Template.Item\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/Template.Item.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Template.Item`\\n```swift\\nextension Template.Item\\n```\\n\\n## Methods\\n### `string(path:contents:)`\\n\\n```swift\\npublic static func string(path: String, contents: String) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where to generate file\\n - contents: String Contents\\n- Returns: `Template.Item` that is `.string`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where to generate file |\\n| contents | String Contents |\\n\\n### `file(path:templatePath:)`\\n\\n```swift\\npublic static func file(path: String, templatePath: Path) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where to generate file\\n - templatePath: Path of file where the template is defined\\n- Returns: `Template.Item` that is `.file`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where to generate file |\\n| templatePath | Path of file where the template is defined |\\n\\n### `directory(path:sourcePath:)`\\n\\n```swift\\npublic static func directory(path: String, sourcePath: Path) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where will be copied the folder\\n - sourcePath: Path of folder which will be copied\\n- Returns: `Template.Item` that is `.directory`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where will be copied the folder |\\n| sourcePath | Path of folder which will be copied |\",\"title\":\"`Template.Item`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/Template.Item\",\"LLMS_URL\":\"/generated/manifest/extensions/Template.Item.md\"}},{\"path\":\"/generated/manifest/extensions/TemplateString.md\",\"url\":\"/generated/manifest/extensions/TemplateString\",\"llmUrl\":\"/generated/manifest/extensions/TemplateString.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/TemplateString\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/TemplateString.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `TemplateString`\\n```swift\\nextension TemplateString: ExpressibleByStringLiteral\\n```\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic var description: String\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(stringInterpolation:)`\\n\\n```swift\\npublic init(stringInterpolation: StringInterpolation)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| stringInterpolation | An instance of `StringInterpolation` which has had each segment of the string literal appended to it. |\",\"title\":\"`TemplateString`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/TemplateString\",\"LLMS_URL\":\"/generated/manifest/extensions/TemplateString.md\"}},{\"path\":\"/generated/manifest/extensions/Version.md\",\"url\":\"/generated/manifest/extensions/Version\",\"llmUrl\":\"/generated/manifest/extensions/Version.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/extensions/Version\\\"\\nLLMS_URL: \\\"/generated/manifest/extensions/Version.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Version`\\n```swift\\nextension Version: Comparable\\n```\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic var description: String\\n```\\n\\n## Methods\\n### `<(_:_:)`\\n\\n```swift\\npublic static func < (lhs: Version, rhs: Version) -> Bool\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| lhs | A value to compare. |\\n| rhs | Another value to compare. |\\n\\n### `init(string:)`\\n\\n```swift\\npublic init?(string: String)\\n```\\n\\nCreate a version object from string.\\n\\n- Parameters:\\n - string: The string to parse.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| string | The string to parse. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`Version`\",\"frontmatter\":{\"URL\":\"/generated/manifest/extensions/Version\",\"LLMS_URL\":\"/generated/manifest/extensions/Version.md\"}},{\"path\":\"/generated/manifest/structs/AnalyzeAction.md\",\"url\":\"/generated/manifest/structs/AnalyzeAction\",\"llmUrl\":\"/generated/manifest/structs/AnalyzeAction.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/AnalyzeAction\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/AnalyzeAction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `AnalyzeAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n- [Methods](#methods)\\n - `analyzeAction(configuration:)`\\n\\n```swift\\npublic struct AnalyzeAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that analyzes the built products.\\n\\nIt's initialized with the `.analyzeAction` static method\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should be analyzed with.\\n\\n## Methods\\n### `analyzeAction(configuration:)`\\n\\n```swift\\npublic static func analyzeAction(configuration: ConfigurationName) -> AnalyzeAction\\n```\\n\\nReturns an analyze action.\\n- Parameter configuration: Indicates the build configuration the product should be analyzed with.\\n- Returns: Analyze action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should be analyzed with. |\",\"title\":\"`AnalyzeAction`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/AnalyzeAction\",\"LLMS_URL\":\"/generated/manifest/structs/AnalyzeAction.md\"}},{\"path\":\"/generated/manifest/structs/ArchiveAction.md\",\"url\":\"/generated/manifest/structs/ArchiveAction\",\"llmUrl\":\"/generated/manifest/structs/ArchiveAction.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/ArchiveAction\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/ArchiveAction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ArchiveAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `revealArchiveInOrganizer`\\n - `customArchiveName`\\n - `preActions`\\n - `postActions`\\n- [Methods](#methods)\\n - `archiveAction(configuration:revealArchiveInOrganizer:customArchiveName:preActions:postActions:)`\\n\\n```swift\\npublic struct ArchiveAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that archives the built products.\\n\\nIt's initialized with the `.archiveAction` static method.\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration to run the archive with.\\n\\n### `revealArchiveInOrganizer`\\n\\n```swift\\npublic var revealArchiveInOrganizer: Bool\\n```\\n\\nIf set to true, Xcode will reveal the Organizer on completion.\\n\\n### `customArchiveName`\\n\\n```swift\\npublic var customArchiveName: String?\\n```\\n\\nSet if you want to override Xcode's default archive name.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the archive process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the archive process.\\n\\n## Methods\\n### `archiveAction(configuration:revealArchiveInOrganizer:customArchiveName:preActions:postActions:)`\\n\\n```swift\\npublic static func archiveAction(\\n configuration: ConfigurationName,\\n revealArchiveInOrganizer: Bool = true,\\n customArchiveName: String? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = []\\n) -> ArchiveAction\\n```\\n\\nInitialize a `ArchiveAction`\\n- Parameters:\\n - configuration: Indicates the build configuration to run the archive with.\\n - revealArchiveInOrganizer: If set to true, Xcode will reveal the Organizer on completion.\\n - customArchiveName: Set if you want to override Xcode's default archive name.\\n - preActions: A list of actions that are executed before starting the archive process.\\n - postActions: A list of actions that are executed after the archive process.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration to run the archive with. |\\n| revealArchiveInOrganizer | If set to true, Xcode will reveal the Organizer on completion. |\\n| customArchiveName | Set if you want to override Xcode’s default archive name. |\\n| preActions | A list of actions that are executed before starting the archive process. |\\n| postActions | A list of actions that are executed after the archive process. |\",\"title\":\"`ArchiveAction`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/ArchiveAction\",\"LLMS_URL\":\"/generated/manifest/structs/ArchiveAction.md\"}},{\"path\":\"/generated/manifest/structs/Arguments.md\",\"url\":\"/generated/manifest/structs/Arguments\",\"llmUrl\":\"/generated/manifest/structs/Arguments.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Arguments\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Arguments.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Arguments`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `environmentVariables`\\n - `launchArguments`\\n- [Methods](#methods)\\n - `arguments(environmentVariables:launchArguments:)`\\n\\n```swift\\npublic struct Arguments: Equatable, Codable, Sendable\\n```\\n\\nA collection of arguments and environment variables.\\n\\n## Properties\\n### `environmentVariables`\\n\\n```swift\\npublic var environmentVariables: [String: EnvironmentVariable]\\n```\\n\\n### `launchArguments`\\n\\n```swift\\npublic var launchArguments: [LaunchArgument]\\n```\\n\\n## Methods\\n### `arguments(environmentVariables:launchArguments:)`\\n\\n```swift\\npublic static func arguments(\\n environmentVariables: [String: EnvironmentVariable] = [:],\\n launchArguments: [LaunchArgument] = []\\n) -> Self\\n```\\n\",\"title\":\"`Arguments`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Arguments\",\"LLMS_URL\":\"/generated/manifest/structs/Arguments.md\"}},{\"path\":\"/generated/manifest/structs/BuildAction.md\",\"url\":\"/generated/manifest/structs/BuildAction\",\"llmUrl\":\"/generated/manifest/structs/BuildAction.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/BuildAction\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/BuildAction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `BuildAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `targets`\\n - `preActions`\\n - `postActions`\\n - `buildOrder`\\n - `runPostActionsOnFailure`\\n - `findImplicitDependencies`\\n- [Methods](#methods)\\n - `buildAction(targets:preActions:postActions:buildOrder:runPostActionsOnFailure:findImplicitDependencies:)`\\n\\n```swift\\npublic struct BuildAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that builds products.\\n\\nIt's initialized with the `.buildAction` static method.\\n\\n## Properties\\n### `targets`\\n\\n```swift\\npublic var targets: [TargetReference]\\n```\\n\\nA list of targets to build, which are defined in the project.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the build process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the build process.\\n\\n### `buildOrder`\\n\\n```swift\\npublic var buildOrder: BuildOrder\\n```\\n\\nDefines the order in which targets are built.\\n\\n### `runPostActionsOnFailure`\\n\\n```swift\\npublic var runPostActionsOnFailure: Bool\\n```\\n\\nWhether the post actions should be run in the case of a failure\\n\\n### `findImplicitDependencies`\\n\\n```swift\\npublic var findImplicitDependencies: Bool\\n```\\n\\nWhether Xcode should be allowed to find dependencies implicitly. The default is `true`.\\n\\n## Methods\\n### `buildAction(targets:preActions:postActions:buildOrder:runPostActionsOnFailure:findImplicitDependencies:)`\\n\\n```swift\\npublic static func buildAction(\\n targets: [TargetReference],\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n buildOrder: BuildOrder = .dependency,\\n runPostActionsOnFailure: Bool = false,\\n findImplicitDependencies: Bool = true\\n) -> BuildAction\\n```\\n\\nReturns a build action.\\n- Parameters:\\n - targets: A list of targets to build, which are defined in the project.\\n - preActions: A list of actions that are executed before starting the build process.\\n - postActions: A list of actions that are executed after the build process.\\n - buildOrder: Defines the order in which targets are built. Defaults to `.dependency`.\\n - runPostActionsOnFailure: Whether the post actions should be run in the case of a failure\\n - findImplicitDependencies: Whether Xcode should be allowed to find dependencies implicitly. The default is `true`.\\n- Returns: Initialized build action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| targets | A list of targets to build, which are defined in the project. |\\n| preActions | A list of actions that are executed before starting the build process. |\\n| postActions | A list of actions that are executed after the build process. |\\n| buildOrder | Defines the order in which targets are built. Defaults to `.dependency`. |\\n| runPostActionsOnFailure | Whether the post actions should be run in the case of a failure |\\n| findImplicitDependencies | Whether Xcode should be allowed to find dependencies implicitly. The default is `true`. |\",\"title\":\"`BuildAction`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/BuildAction\",\"LLMS_URL\":\"/generated/manifest/structs/BuildAction.md\"}},{\"path\":\"/generated/manifest/structs/BuildRule.md\",\"url\":\"/generated/manifest/structs/BuildRule\",\"llmUrl\":\"/generated/manifest/structs/BuildRule.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/BuildRule\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/BuildRule.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `BuildRule`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `compilerSpec`\\n - `filePatterns`\\n - `fileType`\\n - `name`\\n - `outputFiles`\\n - `inputFiles`\\n - `outputFilesCompilerFlags`\\n - `script`\\n - `runOncePerArchitecture`\\n- [Methods](#methods)\\n - `buildRule(name:fileType:filePatterns:compilerSpec:inputFiles:outputFiles:outputFilesCompilerFlags:script:runOncePerArchitecture:)`\\n\\n```swift\\npublic struct BuildRule: Codable, Equatable, Sendable\\n```\\n\\nA BuildRule is used to specify a method for transforming an input file in to an output file(s).\\n\\n## Properties\\n### `compilerSpec`\\n\\n```swift\\npublic var compilerSpec: CompilerSpec\\n```\\n\\nCompiler specification for element transformation.\\n\\n### `filePatterns`\\n\\n```swift\\npublic var filePatterns: String?\\n```\\n\\nRegex pattern when `sourceFilesWithNamesMatching` is used.\\n\\n### `fileType`\\n\\n```swift\\npublic var fileType: FileType\\n```\\n\\nFile types which are processed by build rule.\\n\\n### `name`\\n\\n```swift\\npublic var name: String?\\n```\\n\\nBuild rule name.\\n\\n### `outputFiles`\\n\\n```swift\\npublic var outputFiles: [String]\\n```\\n\\nBuild rule output files.\\n\\n### `inputFiles`\\n\\n```swift\\npublic var inputFiles: [String]\\n```\\n\\nBuild rule input files.\\n\\n### `outputFilesCompilerFlags`\\n\\n```swift\\npublic var outputFilesCompilerFlags: [String]\\n```\\n\\nBuild rule output files compiler flags.\\n\\n### `script`\\n\\n```swift\\npublic var script: String?\\n```\\n\\nBuild rule custom script when `customScript` is used.\\n\\n### `runOncePerArchitecture`\\n\\n```swift\\npublic var runOncePerArchitecture: Bool?\\n```\\n\\nBuild rule run once per architecture.\\n\\n## Methods\\n### `buildRule(name:fileType:filePatterns:compilerSpec:inputFiles:outputFiles:outputFilesCompilerFlags:script:runOncePerArchitecture:)`\\n\\n```swift\\npublic static func buildRule(\\n name: String? = nil,\\n fileType: FileType,\\n filePatterns: String? = nil,\\n compilerSpec: CompilerSpec,\\n inputFiles: [String] = [],\\n outputFiles: [String] = [],\\n outputFilesCompilerFlags: [String] = [],\\n script: String? = nil,\\n runOncePerArchitecture: Bool = false\\n) -> Self\\n```\\n\",\"title\":\"`BuildRule`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/BuildRule\",\"LLMS_URL\":\"/generated/manifest/structs/BuildRule.md\"}},{\"path\":\"/generated/manifest/structs/Cloud.md\",\"url\":\"/generated/manifest/structs/Cloud\",\"llmUrl\":\"/generated/manifest/structs/Cloud.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Cloud\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Cloud.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Cloud`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `url`\\n - `projectId`\\n - `options`\\n- [Methods](#methods)\\n - `cloud(projectId:url:options:)`\\n\\n```swift\\npublic struct Cloud: Codable, Equatable, Sendable\\n```\\n\\nA cloud configuration, used for remote caching.\\n\\n## Properties\\n### `url`\\n\\n```swift\\npublic var url: String\\n```\\n\\nThe base URL that points to the Cloud server.\\n\\n### `projectId`\\n\\n```swift\\npublic var projectId: String\\n```\\n\\nThe project unique identifier.\\n\\n### `options`\\n\\n```swift\\npublic var options: [Option]\\n```\\n\\nThe configuration options.\\n\\n## Methods\\n### `cloud(projectId:url:options:)`\\n\\n```swift\\npublic static func cloud(projectId: String, url: String = \\\"https://tuist.dev\\\", options: [Option] = []) -> Cloud\\n```\\n\\nReturns a generic cloud configuration.\\n- Parameters:\\n - projectId: Project unique identifier.\\n - url: Base URL to the Cloud server.\\n - options: Cloud options.\\n- Returns: A Cloud instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| projectId | Project unique identifier. |\\n| url | Base URL to the Cloud server. |\\n| options | Cloud options. |\",\"title\":\"`Cloud`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Cloud\",\"LLMS_URL\":\"/generated/manifest/structs/Cloud.md\"}},{\"path\":\"/generated/manifest/structs/Config.InspectOptions.md\",\"url\":\"/generated/manifest/structs/Config.InspectOptions\",\"llmUrl\":\"/generated/manifest/structs/Config.InspectOptions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Config.InspectOptions\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Config.InspectOptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Config.InspectOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `redundantDependencies`\\n- [Methods](#methods)\\n - `options(redundantDependencies:)`\\n\\n```swift\\npublic struct InspectOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for inspect.\\n\\n## Properties\\n### `redundantDependencies`\\n\\n```swift\\npublic var redundantDependencies: RedundantDependencies\\n```\\n\\nOptions for inspect redundant dependencies.\\n\\n## Methods\\n### `options(redundantDependencies:)`\\n\\n```swift\\npublic static func options(\\n redundantDependencies: RedundantDependencies = .redundantDependencies()\\n) -> Self\\n```\\n\",\"title\":\"`Config.InspectOptions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Config.InspectOptions\",\"LLMS_URL\":\"/generated/manifest/structs/Config.InspectOptions.md\"}},{\"path\":\"/generated/manifest/structs/Config.InstallOptions.md\",\"url\":\"/generated/manifest/structs/Config.InstallOptions\",\"llmUrl\":\"/generated/manifest/structs/Config.InstallOptions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Config.InstallOptions\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Config.InstallOptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Config.InstallOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `passthroughSwiftPackageManagerArguments`\\n- [Methods](#methods)\\n - `options(passthroughSwiftPackageManagerArguments:)`\\n\\n```swift\\npublic struct InstallOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for install.\\n\\n## Properties\\n### `passthroughSwiftPackageManagerArguments`\\n\\n```swift\\npublic var passthroughSwiftPackageManagerArguments: [String]\\n```\\n\\nArguments passed to the Swift Package Manager's `swift package` command when running `swift package resolve`.\\n\\n## Methods\\n### `options(passthroughSwiftPackageManagerArguments:)`\\n\\n```swift\\npublic static func options(\\n passthroughSwiftPackageManagerArguments: [String] = []\\n) -> Self\\n```\\n\",\"title\":\"`Config.InstallOptions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Config.InstallOptions\",\"LLMS_URL\":\"/generated/manifest/structs/Config.InstallOptions.md\"}},{\"path\":\"/generated/manifest/structs/Configuration.md\",\"url\":\"/generated/manifest/structs/Configuration\",\"llmUrl\":\"/generated/manifest/structs/Configuration.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Configuration\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Configuration.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Configuration`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `variant`\\n - `settings`\\n - `xcconfig`\\n- [Methods](#methods)\\n - `debug(name:settings:xcconfig:)`\\n - `release(name:settings:xcconfig:)`\\n\\n```swift\\npublic struct Configuration: Equatable, Codable, Sendable\\n```\\n\\nA the build settings and the .xcconfig file of a project or target. It is initialized with either the `.debug` or `.release`\\nstatic method.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: ConfigurationName\\n```\\n\\n### `variant`\\n\\n```swift\\npublic var variant: Variant\\n```\\n\\n### `settings`\\n\\n```swift\\npublic var settings: SettingsDictionary\\n```\\n\\n### `xcconfig`\\n\\n```swift\\npublic var xcconfig: Path?\\n```\\n\\n## Methods\\n### `debug(name:settings:xcconfig:)`\\n\\n```swift\\npublic static func debug(\\n name: ConfigurationName,\\n settings: SettingsDictionary = [:],\\n xcconfig: Path? = nil\\n) -> Configuration\\n```\\n\\nReturns a debug configuration.\\n\\n- Parameters:\\n - name: The name of the configuration to use\\n - settings: The base build settings to apply\\n - xcconfig: The xcconfig file to associate with this configuration\\n- Returns: A debug `CustomConfiguration`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the configuration to use |\\n| settings | The base build settings to apply |\\n| xcconfig | The xcconfig file to associate with this configuration |\\n\\n### `release(name:settings:xcconfig:)`\\n\\n```swift\\npublic static func release(\\n name: ConfigurationName,\\n settings: SettingsDictionary = [:],\\n xcconfig: Path? = nil\\n) -> Configuration\\n```\\n\\nCreates a release configuration\\n\\n- Parameters:\\n - name: The name of the configuration to use\\n - settings: The base build settings to apply\\n - xcconfig: The xcconfig file to associate with this configuration\\n- Returns: A release `CustomConfiguration`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the configuration to use |\\n| settings | The base build settings to apply |\\n| xcconfig | The xcconfig file to associate with this configuration |\",\"title\":\"`Configuration`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Configuration\",\"LLMS_URL\":\"/generated/manifest/structs/Configuration.md\"}},{\"path\":\"/generated/manifest/structs/ConfigurationName.md\",\"url\":\"/generated/manifest/structs/ConfigurationName\",\"llmUrl\":\"/generated/manifest/structs/ConfigurationName.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/ConfigurationName\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/ConfigurationName.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ConfigurationName`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `rawValue`\\n - `debug`\\n - `release`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `configuration(_:)`\\n\\n```swift\\npublic struct ConfigurationName: ExpressibleByStringLiteral, Codable, Equatable, Sendable\\n```\\n\\nA configuration name.\\n\\nIt has build-in support for ``debug`` and ``release`` configurations.\\n\\nYou can extend with your own configurations using a extension:\\n```\\nimport ProjectDescription\\nextension ConfigurationName {\\n static var beta: ConfigurationName {\\n ConfigurationName(\\\"Beta\\\")\\n }\\n}\\n```\\n\\n## Properties\\n### `rawValue`\\n\\n```swift\\npublic var rawValue: String\\n```\\n\\nThe configuration name.\\n\\n### `debug`\\n\\n```swift\\npublic static var debug: ConfigurationName\\n```\\n\\nReturns a configuration named \\\"Debug\\\"\\n\\n### `release`\\n\\n```swift\\npublic static var release: ConfigurationName\\n```\\n\\nReturns a configuration named \\\"Release\\\"\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: StringLiteralType)\\n```\\n\\nCreates a configuration name with its name.\\n- Parameter value: Configuration name.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | Configuration name. |\\n\\n### `configuration(_:)`\\n\\n```swift\\npublic static func configuration(_ name: String) -> ConfigurationName\\n```\\n\\nReturns a configuration name with its name.\\n- Parameter name: Configuration name.\\n- Returns: Initialized configuration name.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Configuration name. |\",\"title\":\"`ConfigurationName`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/ConfigurationName\",\"LLMS_URL\":\"/generated/manifest/structs/ConfigurationName.md\"}},{\"path\":\"/generated/manifest/structs/CopyFilesAction.md\",\"url\":\"/generated/manifest/structs/CopyFilesAction\",\"llmUrl\":\"/generated/manifest/structs/CopyFilesAction.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/CopyFilesAction\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/CopyFilesAction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `CopyFilesAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `destination`\\n - `subpath`\\n - `files`\\n- [Methods](#methods)\\n - `absolutePath(name:subpath:files:)`\\n - `productsDirectory(name:subpath:files:)`\\n - `wrapper(name:subpath:files:)`\\n - `executables(name:subpath:files:)`\\n - `resources(name:subpath:files:)`\\n - `javaResources(name:subpath:files:)`\\n - `frameworks(name:subpath:files:)`\\n - `sharedFrameworks(name:subpath:files:)`\\n - `sharedSupport(name:subpath:files:)`\\n - `plugins(name:subpath:files:)`\\n\\n```swift\\npublic struct CopyFilesAction: Codable, Equatable, Sendable\\n```\\n\\nA build phase action used to copy files.\\n\\nCopy files actions, represented as target copy files build phases, are useful to associate project files\\nand products of other targets with the target and copies them to a specified destination, typically a\\nsubfolder within a product. This action may be used multiple times per target.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of the build phase when the project gets generated.\\n\\n### `destination`\\n\\n```swift\\npublic var destination: Destination\\n```\\n\\nDestination to copy files to.\\n\\n### `subpath`\\n\\n```swift\\npublic var subpath: String?\\n```\\n\\nPath to a folder inside the destination.\\n\\n### `files`\\n\\n```swift\\npublic var files: [CopyFileElement]\\n```\\n\\nRelative paths to the files to be copied.\\n\\n## Methods\\n### `absolutePath(name:subpath:files:)`\\n\\n```swift\\npublic static func absolutePath(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for an absolute path.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `productsDirectory(name:subpath:files:)`\\n\\n```swift\\npublic static func productsDirectory(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the products directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `wrapper(name:subpath:files:)`\\n\\n```swift\\npublic static func wrapper(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the wrapper directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `executables(name:subpath:files:)`\\n\\n```swift\\npublic static func executables(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the executables directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `resources(name:subpath:files:)`\\n\\n```swift\\npublic static func resources(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the resources directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `javaResources(name:subpath:files:)`\\n\\n```swift\\npublic static func javaResources(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the java resources directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `frameworks(name:subpath:files:)`\\n\\n```swift\\npublic static func frameworks(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the frameworks directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `sharedFrameworks(name:subpath:files:)`\\n\\n```swift\\npublic static func sharedFrameworks(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the shared frameworks directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `sharedSupport(name:subpath:files:)`\\n\\n```swift\\npublic static func sharedSupport(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the shared support directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `plugins(name:subpath:files:)`\\n\\n```swift\\npublic static func plugins(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the plugins directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\",\"title\":\"`CopyFilesAction`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/CopyFilesAction\",\"LLMS_URL\":\"/generated/manifest/structs/CopyFilesAction.md\"}},{\"path\":\"/generated/manifest/structs/CoreDataModel.md\",\"url\":\"/generated/manifest/structs/CoreDataModel\",\"llmUrl\":\"/generated/manifest/structs/CoreDataModel.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/CoreDataModel\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/CoreDataModel.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `CoreDataModel`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `path`\\n - `currentVersion`\\n- [Methods](#methods)\\n - `coreDataModel(_:currentVersion:)`\\n\\n```swift\\npublic struct CoreDataModel: Codable, Equatable, Sendable\\n```\\n\\nA Core Data model.\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic var path: Path\\n```\\n\\nRelative path to the model.\\n\\n### `currentVersion`\\n\\n```swift\\npublic var currentVersion: String?\\n```\\n\\nOptional Current version (with or without extension)\\n\\n## Methods\\n### `coreDataModel(_:currentVersion:)`\\n\\n```swift\\npublic static func coreDataModel(\\n _ path: Path,\\n currentVersion: String? = nil\\n) -> Self\\n```\\n\\nCreates a Core Data model from a path.\\n\\n- Parameters:\\n - path: relative path to the Core Data model.\\n - currentVersion: optional current version name (with or without the extension)\\n By providing nil, it will try to read it from the .xccurrentversion file.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | relative path to the Core Data model. |\\n| currentVersion | optional current version name (with or without the extension) By providing nil, it will try to read it from the .xccurrentversion file. |\",\"title\":\"`CoreDataModel`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/CoreDataModel\",\"LLMS_URL\":\"/generated/manifest/structs/CoreDataModel.md\"}},{\"path\":\"/generated/manifest/structs/DeploymentTargets.md\",\"url\":\"/generated/manifest/structs/DeploymentTargets\",\"llmUrl\":\"/generated/manifest/structs/DeploymentTargets.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/DeploymentTargets\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/DeploymentTargets.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `DeploymentTargets`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `iOS`\\n - `macOS`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n- [Methods](#methods)\\n - `multiplatform(iOS:macOS:watchOS:tvOS:visionOS:)`\\n - `iOS(_:)`\\n - `macOS(_:)`\\n - `watchOS(_:)`\\n - `tvOS(_:)`\\n - `visionOS(_:)`\\n\\n```swift\\npublic struct DeploymentTargets: Hashable, Codable, Sendable\\n```\\n\\nA struct representing the minimum deployment versions for each platform.\\n\\n## Properties\\n### `iOS`\\n\\n```swift\\npublic var iOS: String?\\n```\\n\\nMinimum deployment version for iOS\\n\\n### `macOS`\\n\\n```swift\\npublic var macOS: String?\\n```\\n\\nMinimum deployment version for macOS\\n\\n### `watchOS`\\n\\n```swift\\npublic var watchOS: String?\\n```\\n\\nMinimum deployment version for watchOS\\n\\n### `tvOS`\\n\\n```swift\\npublic var tvOS: String?\\n```\\n\\nMinimum deployment version for tvOS\\n\\n### `visionOS`\\n\\n```swift\\npublic var visionOS: String?\\n```\\n\\nMinimum deployment version for visionOS\\n\\n## Methods\\n### `multiplatform(iOS:macOS:watchOS:tvOS:visionOS:)`\\n\\n```swift\\npublic static func multiplatform(\\n iOS: String? = nil,\\n macOS: String? = nil,\\n watchOS: String? = nil,\\n tvOS: String? = nil,\\n visionOS: String? = nil\\n) -> Self\\n```\\n\\nMultiplatform deployment target\\n\\n### `iOS(_:)`\\n\\n```swift\\npublic static func iOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `iOS` only minimum version\\n\\n### `macOS(_:)`\\n\\n```swift\\npublic static func macOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `macOS` only minimum version\\n\\n### `watchOS(_:)`\\n\\n```swift\\npublic static func watchOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `watchOS` only minimum version\\n\\n### `tvOS(_:)`\\n\\n```swift\\npublic static func tvOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `tvOS` only minimum version\\n\\n### `visionOS(_:)`\\n\\n```swift\\npublic static func visionOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `visionOS` only minimum version\\n\",\"title\":\"`DeploymentTargets`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/DeploymentTargets\",\"LLMS_URL\":\"/generated/manifest/structs/DeploymentTargets.md\"}},{\"path\":\"/generated/manifest/structs/EnvironmentVariable.md\",\"url\":\"/generated/manifest/structs/EnvironmentVariable\",\"llmUrl\":\"/generated/manifest/structs/EnvironmentVariable.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/EnvironmentVariable\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/EnvironmentVariable.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `EnvironmentVariable`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `value`\\n - `isEnabled`\\n- [Methods](#methods)\\n - `environmentVariable(value:isEnabled:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct EnvironmentVariable: Equatable, Codable, Hashable, ExpressibleByStringLiteral, Sendable\\n```\\n\\nIt represents an environment variable that is passed when running a scheme's action\\n\\n## Properties\\n### `value`\\n\\n```swift\\npublic var value: String\\n```\\n\\nThe value of the environment variable\\n\\n### `isEnabled`\\n\\n```swift\\npublic var isEnabled: Bool\\n```\\n\\nWhether the variable is enabled or not\\n\\n## Methods\\n### `environmentVariable(value:isEnabled:)`\\n\\n```swift\\npublic static func environmentVariable(value: String, isEnabled: Bool) -> Self\\n```\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`EnvironmentVariable`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/EnvironmentVariable\",\"LLMS_URL\":\"/generated/manifest/structs/EnvironmentVariable.md\"}},{\"path\":\"/generated/manifest/structs/ExecutionAction.md\",\"url\":\"/generated/manifest/structs/ExecutionAction\",\"llmUrl\":\"/generated/manifest/structs/ExecutionAction.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/ExecutionAction\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/ExecutionAction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ExecutionAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `title`\\n - `scriptText`\\n - `target`\\n - `shellPath`\\n- [Methods](#methods)\\n - `executionAction(title:scriptText:target:shellPath:)`\\n\\n```swift\\npublic struct ExecutionAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that can be executed as part of another action for pre or post execution.\\n\\n## Properties\\n### `title`\\n\\n```swift\\npublic var title: String\\n```\\n\\n### `scriptText`\\n\\n```swift\\npublic var scriptText: String\\n```\\n\\n### `target`\\n\\n```swift\\npublic var target: TargetReference?\\n```\\n\\n### `shellPath`\\n\\n```swift\\npublic var shellPath: String?\\n```\\n\\nThe path to the shell which shall execute this script. if it is nil, Xcode will use default value.\\n\\n## Methods\\n### `executionAction(title:scriptText:target:shellPath:)`\\n\\n```swift\\npublic static func executionAction(\\n title: String = \\\"Run Script\\\",\\n scriptText: String,\\n target: TargetReference? = nil,\\n shellPath: String? = nil\\n) -> Self\\n```\\n\",\"title\":\"`ExecutionAction`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/ExecutionAction\",\"LLMS_URL\":\"/generated/manifest/structs/ExecutionAction.md\"}},{\"path\":\"/generated/manifest/structs/FileList.md\",\"url\":\"/generated/manifest/structs/FileList\",\"llmUrl\":\"/generated/manifest/structs/FileList.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/FileList\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/FileList.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `FileList`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `globs`\\n- [Methods](#methods)\\n - `list(_:)`\\n\\n```swift\\npublic struct FileList: Codable, Equatable, Sendable\\n```\\n\\nA collection of file globs.\\n\\nThe list of files can be initialized with a string that represents the glob pattern, or an array of strings, which represents\\na list of glob patterns.\\n\\n## Properties\\n### `globs`\\n\\n```swift\\npublic let globs: [FileListGlob]\\n```\\n\\nGlob pattern to the files.\\n\\n## Methods\\n### `list(_:)`\\n\\n```swift\\npublic static func list(_ globs: [FileListGlob]) -> FileList\\n```\\n\\nCreates a file list from a collection of glob patterns.\\n\\n - glob: Relative glob pattern.\\n - excluding: Relative glob patterns for excluded files.\\n\",\"title\":\"`FileList`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/FileList\",\"LLMS_URL\":\"/generated/manifest/structs/FileList.md\"}},{\"path\":\"/generated/manifest/structs/FileListGlob.md\",\"url\":\"/generated/manifest/structs/FileListGlob\",\"llmUrl\":\"/generated/manifest/structs/FileListGlob.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/FileListGlob\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/FileListGlob.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `FileListGlob`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `glob`\\n - `excluding`\\n- [Methods](#methods)\\n - `glob(_:excluding:)`\\n - `glob(_:excluding:)`\\n\\n```swift\\npublic struct FileListGlob: Codable, Equatable, Sendable\\n```\\n\\nA glob pattern that refers to files.\\n\\n## Properties\\n### `glob`\\n\\n```swift\\npublic var glob: Path\\n```\\n\\nThe path with a glob pattern.\\n\\n### `excluding`\\n\\n```swift\\npublic var excluding: [Path]\\n```\\n\\nThe excluding paths.\\n\\n## Methods\\n### `glob(_:excluding:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: [Path] = []\\n) -> FileListGlob\\n```\\n\\nReturns a generic file list glob.\\n- Parameters:\\n - glob: The path with a glob pattern.\\n - excluding: The excluding paths.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| glob | The path with a glob pattern. |\\n| excluding | The excluding paths. |\\n\\n### `glob(_:excluding:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: Path?\\n) -> FileListGlob\\n```\\n\\nReturns a file list glob with an optional excluding path.\\n\",\"title\":\"`FileListGlob`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/FileListGlob\",\"LLMS_URL\":\"/generated/manifest/structs/FileListGlob.md\"}},{\"path\":\"/generated/manifest/structs/Headers.md\",\"url\":\"/generated/manifest/structs/Headers\",\"llmUrl\":\"/generated/manifest/structs/Headers.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Headers\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Headers.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Headers`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `umbrellaHeader`\\n - `public`\\n - `private`\\n - `project`\\n - `exclusionRule`\\n- [Methods](#methods)\\n - `headers(public:private:project:exclusionRule:)`\\n - `allHeaders(from:umbrella:private:)`\\n - `onlyHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic struct Headers: Codable, Equatable, Sendable\\n```\\n\\nA group of public, private and project headers.\\n\\n## Properties\\n### `umbrellaHeader`\\n\\n```swift\\npublic var umbrellaHeader: Path?\\n```\\n\\nPath to an umbrella header, which will be used to get list of public headers.\\n\\n### `public`\\n\\n```swift\\npublic var `public`: FileList?\\n```\\n\\nRelative glob pattern that points to the public headers.\\n\\n### `private`\\n\\n```swift\\npublic var `private`: FileList?\\n```\\n\\nRelative glob pattern that points to the private headers.\\n\\n### `project`\\n\\n```swift\\npublic var project: FileList?\\n```\\n\\nRelative glob pattern that points to the project headers.\\n\\n### `exclusionRule`\\n\\n```swift\\npublic var exclusionRule: AutomaticExclusionRule\\n```\\n\\nRule, which determines how to resolve found duplicates in public/private/project scopes\\n\\n## Methods\\n### `headers(public:private:project:exclusionRule:)`\\n\\n```swift\\npublic static func headers(\\n public: FileList? = nil,\\n private: FileList? = nil,\\n project: FileList? = nil,\\n exclusionRule: AutomaticExclusionRule = .projectExcludesPrivateAndPublic\\n) -> Headers\\n```\\n\\n### `allHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic static func allHeaders(\\n from list: FileList,\\n umbrella: Path,\\n private privateHeaders: FileList? = nil\\n) -> Headers\\n```\\n\\nHeaders from the file list are included as:\\n- `public`, if the header is present in the umbrella header\\n- `private`, if the header is present in the `private` list\\n- `project`, otherwise\\n- Parameters:\\n - from: File list, which contains `public` and `project` headers\\n - umbrella: File path to the umbrella header\\n - private: File list, which contains `private` headers\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| from | File list, which contains `public` and `project` headers |\\n| umbrella | File path to the umbrella header |\\n| private | File list, which contains `private` headers |\\n\\n### `onlyHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic static func onlyHeaders(\\n from list: FileList,\\n umbrella: Path,\\n private privateHeaders: FileList? = nil\\n) -> Headers\\n```\\n\\nHeaders from the file list are included as:\\n- `public`, if the header is present in the umbrella header\\n- `private`, if the header is present in the `private` list\\n- not included, otherwise\\n- Parameters:\\n - from: File list, which contains `public` and `project` headers\\n - umbrella: File path to the umbrella header\\n - private: File list, which contains `private` headers\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| from | File list, which contains `public` and `project` headers |\\n| umbrella | File path to the umbrella header |\\n| private | File list, which contains `private` headers |\",\"title\":\"`Headers`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Headers\",\"LLMS_URL\":\"/generated/manifest/structs/Headers.md\"}},{\"path\":\"/generated/manifest/structs/InspectOptions.RedundantDependencies.md\",\"url\":\"/generated/manifest/structs/InspectOptions.RedundantDependencies\",\"llmUrl\":\"/generated/manifest/structs/InspectOptions.RedundantDependencies.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/InspectOptions.RedundantDependencies\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/InspectOptions.RedundantDependencies.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `InspectOptions.RedundantDependencies`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `ignoreTagsMatching`\\n- [Methods](#methods)\\n - `redundantDependencies(ignoreTagsMatching:)`\\n\\n```swift\\npublic struct RedundantDependencies: Codable, Equatable, Sendable\\n```\\n\\nOptions for inspect redundant dependencies.\\n\\n## Properties\\n### `ignoreTagsMatching`\\n\\n```swift\\npublic let ignoreTagsMatching: Set\\n```\\n\\nThe set of tags which targets should be ignored when inspecting redundant dependencies\\n\\n## Methods\\n### `redundantDependencies(ignoreTagsMatching:)`\\n\\n```swift\\npublic static func redundantDependencies(\\n ignoreTagsMatching: Set = []\\n) -> Self\\n```\\n\",\"title\":\"`InspectOptions.RedundantDependencies`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/InspectOptions.RedundantDependencies\",\"LLMS_URL\":\"/generated/manifest/structs/InspectOptions.RedundantDependencies.md\"}},{\"path\":\"/generated/manifest/structs/LaunchArgument.md\",\"url\":\"/generated/manifest/structs/LaunchArgument\",\"llmUrl\":\"/generated/manifest/structs/LaunchArgument.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/LaunchArgument\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/LaunchArgument.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `LaunchArgument`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `isEnabled`\\n- [Methods](#methods)\\n - `launchArgument(name:isEnabled:)`\\n\\n```swift\\npublic struct LaunchArgument: Equatable, Codable, Sendable\\n```\\n\\nA launch argument, passed when running a scheme.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of argument\\n\\n### `isEnabled`\\n\\n```swift\\npublic var isEnabled: Bool\\n```\\n\\nIf enabled then argument is marked as active\\n\\n## Methods\\n### `launchArgument(name:isEnabled:)`\\n\\n```swift\\npublic static func launchArgument(name: String, isEnabled: Bool) -> Self\\n```\\n\\nCreate new launch argument\\n- Parameters:\\n - name: Name of argument\\n - isEnabled: If enabled then argument is marked as active\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of argument |\\n| isEnabled | If enabled then argument is marked as active |\",\"title\":\"`LaunchArgument`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/LaunchArgument\",\"LLMS_URL\":\"/generated/manifest/structs/LaunchArgument.md\"}},{\"path\":\"/generated/manifest/structs/MetalOptions.md\",\"url\":\"/generated/manifest/structs/MetalOptions\",\"llmUrl\":\"/generated/manifest/structs/MetalOptions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/MetalOptions\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/MetalOptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `MetalOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `apiValidation`\\n - `shaderValidation`\\n - `showGraphicsOverview`\\n - `logGraphicsOverview`\\n- [Methods](#methods)\\n - `options(apiValidation:shaderValidation:showGraphicsOverview:logGraphicsOverview:)`\\n\\n```swift\\npublic struct MetalOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions to configure scheme metal options for run and test actions.\\n\\n## Properties\\n### `apiValidation`\\n\\n```swift\\npublic var apiValidation: Bool\\n```\\n\\nAPI Validation\\n\\n### `shaderValidation`\\n\\n```swift\\npublic var shaderValidation: Bool\\n```\\n\\nShader Validation\\n\\n### `showGraphicsOverview`\\n\\n```swift\\npublic var showGraphicsOverview: Bool\\n```\\n\\nShows graphics overview\\n\\n### `logGraphicsOverview`\\n\\n```swift\\npublic var logGraphicsOverview: Bool\\n```\\n\\nLog graphics overview\\n\\n## Methods\\n### `options(apiValidation:shaderValidation:showGraphicsOverview:logGraphicsOverview:)`\\n\\n```swift\\npublic static func options(\\n apiValidation: Bool = true,\\n shaderValidation: Bool = false,\\n showGraphicsOverview: Bool = false,\\n logGraphicsOverview: Bool = false\\n) -> MetalOptions\\n```\\n\\nCreates a `MetalOptions` instance\\n\\n- Parameters:\\n - apiValidation: Specifies whether API validation is enabled.\\n - shaderValidation: Specifies whether shader validation is enabled.\\n - showGraphicsOverview: Specifies whether to show the graphics overview.\\n - logGraphicsOverview: Specifies whether to log the graphics overview.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| apiValidation | Specifies whether API validation is enabled. |\\n| shaderValidation | Specifies whether shader validation is enabled. |\\n| showGraphicsOverview | Specifies whether to show the graphics overview. |\\n| logGraphicsOverview | Specifies whether to log the graphics overview. |\",\"title\":\"`MetalOptions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/MetalOptions\",\"LLMS_URL\":\"/generated/manifest/structs/MetalOptions.md\"}},{\"path\":\"/generated/manifest/structs/OnDemandResourcesTags.md\",\"url\":\"/generated/manifest/structs/OnDemandResourcesTags\",\"llmUrl\":\"/generated/manifest/structs/OnDemandResourcesTags.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/OnDemandResourcesTags\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/OnDemandResourcesTags.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `OnDemandResourcesTags`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `initialInstall`\\n - `prefetchOrder`\\n- [Methods](#methods)\\n - `tags(initialInstall:prefetchOrder:)`\\n\\n```swift\\npublic struct OnDemandResourcesTags: Codable, Equatable, Sendable\\n```\\n\\nOn-demand resources tags associated with Initial Install and Prefetched Order categories\\n\\n## Properties\\n### `initialInstall`\\n\\n```swift\\npublic let initialInstall: [String]?\\n```\\n\\nInitial install tags associated with on demand resources\\n\\n### `prefetchOrder`\\n\\n```swift\\npublic let prefetchOrder: [String]?\\n```\\n\\nPrefetched tag order associated with on demand resources\\n\\n## Methods\\n### `tags(initialInstall:prefetchOrder:)`\\n\\n```swift\\npublic static func tags(initialInstall: [String]?, prefetchOrder: [String]?) -> Self\\n```\\n\\nReturns OnDemandResourcesTags.\\n- Parameter initialInstall: An array of strings that lists the tags assosiated with the Initial install tags category.\\n- Parameter prefetchOrder: An array of strings that lists the tags associated with the Prefetch tag order category.\\n- Returns: OnDemandResourcesTags.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| initialInstall | An array of strings that lists the tags assosiated with the Initial install tags category. |\\n| prefetchOrder | An array of strings that lists the tags associated with the Prefetch tag order category. |\",\"title\":\"`OnDemandResourcesTags`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/OnDemandResourcesTags\",\"LLMS_URL\":\"/generated/manifest/structs/OnDemandResourcesTags.md\"}},{\"path\":\"/generated/manifest/structs/PackageSettings.md\",\"url\":\"/generated/manifest/structs/PackageSettings\",\"llmUrl\":\"/generated/manifest/structs/PackageSettings.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/PackageSettings\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/PackageSettings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PackageSettings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `productTypes`\\n - `productDestinations`\\n - `baseSettings`\\n - `targetSettings`\\n - `projectOptions`\\n- [Methods](#methods)\\n - `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n - `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic struct PackageSettings: Codable, Equatable, Sendable\\n```\\n\\nA custom Swift Package Manager configuration\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n import ProjectDescriptionHelpers\\n\\n let packageSettings = PackageSettings(\\n productTypes: [\\n \\\"Alamofire\\\": .framework, // default is .staticFramework\\n ]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"PackageName\\\",\\n dependencies: [\\n .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n ]\\n)\\n```\\n\\n## Properties\\n### `productTypes`\\n\\n```swift\\npublic var productTypes: [String: Product]\\n```\\n\\nThe custom `Product` type to be used for SPM targets.\\n\\n### `productDestinations`\\n\\n```swift\\npublic var productDestinations: [String: Destinations]\\n```\\n\\nCustom product destinations where key of the dictionary is the name of the SPM product and the value contains the\\nsupported destinations.\\n**Note**: This setting should only be used when using Tuist for SPM package projects, _not_ for your external\\ndependencies.\\nSPM implicitly always supports all platforms, but some commands like `tuist cache` depend on destinations being explicit.\\nIf a product does not support all destinations, you can use `productDestinations` to make the supported destinations\\nexplicit.\\n\\n### `baseSettings`\\n\\n```swift\\npublic var baseSettings: Settings\\n```\\n\\nThe base settings to be used for targets generated from SwiftPackageManager\\n\\n### `targetSettings`\\n\\n```swift\\npublic var targetSettings: [String: Settings]\\n```\\n\\nAdditional settings to be added to targets generated from SwiftPackageManager.\\n\\n### `projectOptions`\\n\\n```swift\\npublic var projectOptions: [String: Project.Options]\\n```\\n\\nCustom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n## Methods\\n### `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic init(\\n productTypes: [String: Product] = [:],\\n productDestinations: [String: Destinations] = [:],\\n baseSettings: Settings = .settings(),\\n targetSettings: [String: Settings] = [:],\\n projectOptions: [String: Project.Options] = [:]\\n)\\n```\\n\\nCreates `PackageSettings` instance for custom Swift Package Manager configuration.\\n- Parameters:\\n - productTypes: The custom `Product` types to be used for SPM targets.\\n - productDestinations: Custom destinations to be used for SPM products.\\n - baseSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - targetSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - projectOptions: Custom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| productTypes | The custom `Product` types to be used for SPM targets. |\\n| productDestinations | Custom destinations to be used for SPM products. |\\n| baseSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| targetSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| projectOptions | Custom project configurations to be used for projects generated from SwiftPackageManager. |\\n\\n### `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic init(\\n productTypes: [String: Product] = [:],\\n productDestinations: [String: Destinations] = [:],\\n baseSettings: Settings = .settings(),\\n targetSettings: [String: SettingsDictionary],\\n projectOptions: [String: Project.Options] = [:]\\n)\\n```\\n\\nCreates `PackageSettings` instance for custom Swift Package Manager configuration.\\n- Parameters:\\n - productTypes: The custom `Product` types to be used for SPM targets.\\n - productDestinations: Custom destinations to be used for SPM products.\\n - baseSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - targetSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - projectOptions: Custom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| productTypes | The custom `Product` types to be used for SPM targets. |\\n| productDestinations | Custom destinations to be used for SPM products. |\\n| baseSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| targetSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| projectOptions | Custom project configurations to be used for projects generated from SwiftPackageManager. |\",\"title\":\"`PackageSettings`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/PackageSettings\",\"LLMS_URL\":\"/generated/manifest/structs/PackageSettings.md\"}},{\"path\":\"/generated/manifest/structs/Path.md\",\"url\":\"/generated/manifest/structs/Path\",\"llmUrl\":\"/generated/manifest/structs/Path.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Path\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Path.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Path`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `type`\\n - `pathString`\\n - `callerPath`\\n- [Methods](#methods)\\n - `path(_:)`\\n - `relativeToCurrentFile(_:callerPath:)`\\n - `relativeToManifest(_:)`\\n - `relativeToRoot(_:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct Path: ExpressibleByStringInterpolation, Codable, Hashable, Sendable\\n```\\n\\nA path represents to a file, directory, or a group of files represented by a glob expression.\\n\\nPaths can be relative and absolute. We discourage using absolute paths because they create a dependency with the environment\\nwhere they are defined.\\n\\n## Properties\\n### `type`\\n\\n```swift\\npublic var type: PathType\\n```\\n\\n### `pathString`\\n\\n```swift\\npublic var pathString: String\\n```\\n\\n### `callerPath`\\n\\n```swift\\npublic var callerPath: String?\\n```\\n\\n## Methods\\n### `path(_:)`\\n\\n```swift\\npublic static func path(_ path: String) -> Self\\n```\\n\\nDefault PathType is `.relativeToManifest`\\n\\n### `relativeToCurrentFile(_:callerPath:)`\\n\\n```swift\\npublic static func relativeToCurrentFile(_ pathString: String, callerPath: StaticString = #file) -> Path\\n```\\n\\nInitialize a path that is relative to the file that defines the path.\\n\\n### `relativeToManifest(_:)`\\n\\n```swift\\npublic static func relativeToManifest(_ pathString: String) -> Path\\n```\\n\\nInitialize a path that is relative to the directory that contains the manifest file being loaded, for example the\\ndirectory that contains the Project.swift file.\\n\\n### `relativeToRoot(_:)`\\n\\n```swift\\npublic static func relativeToRoot(_ pathString: String) -> Path\\n```\\n\\nInitialize a path that is relative to the closest directory that contains a Tuist or a .git directory.\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\nInitializer uses `.relativeToRoot` if path starts with `//` otherwise it is `.relativeToManifest` by default\\n\",\"title\":\"`Path`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Path\",\"LLMS_URL\":\"/generated/manifest/structs/Path.md\"}},{\"path\":\"/generated/manifest/structs/PlatformCondition.md\",\"url\":\"/generated/manifest/structs/PlatformCondition\",\"llmUrl\":\"/generated/manifest/structs/PlatformCondition.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/PlatformCondition\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/PlatformCondition.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PlatformCondition`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `platformFilters`\\n- [Methods](#methods)\\n - `when(_:)`\\n\\n```swift\\npublic struct PlatformCondition: Codable, Hashable, Equatable, Sendable\\n```\\n\\nA condition applied to an \\\"entity\\\" allowing it to only be used in certain circumstances\\n\\n## Properties\\n### `platformFilters`\\n\\n```swift\\npublic let platformFilters: Set\\n```\\n\\n## Methods\\n### `when(_:)`\\n\\n```swift\\npublic static func when(_ platformFilters: Set) -> PlatformCondition?\\n```\\n\\nCreates a condition using the specified set of filters.\\n- Parameter platformFilters: filters to define which platforms this condition supports\\n- Returns: a `Condition` with the given set of filters or `nil` if empty.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| platformFilters | filters to define which platforms this condition supports |\",\"title\":\"`PlatformCondition`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/PlatformCondition\",\"LLMS_URL\":\"/generated/manifest/structs/PlatformCondition.md\"}},{\"path\":\"/generated/manifest/structs/Plugin.md\",\"url\":\"/generated/manifest/structs/Plugin\",\"llmUrl\":\"/generated/manifest/structs/Plugin.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Plugin\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Plugin.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Plugin`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n- [Methods](#methods)\\n - `init(name:)`\\n\\n```swift\\npublic struct Plugin: Codable, Equatable, Sendable\\n```\\n\\nA plugin representation.\\n\\nSupported plugins include:\\n- ProjectDescriptionHelpers\\n - These are plugins designed to be usable by any other manifest excluding `Config` and `Plugin`.\\n - The source files for these helpers must live under a ProjectDescriptionHelpers directory in the location where `Plugin`\\nmanifest lives.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the `Plugin`.\\n\\n## Methods\\n### `init(name:)`\\n\\n```swift\\npublic init(name: String)\\n```\\n\\nCreates a new plugin.\\n- Parameters:\\n - name: The name of the plugin.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the plugin. |\",\"title\":\"`Plugin`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Plugin\",\"LLMS_URL\":\"/generated/manifest/structs/Plugin.md\"}},{\"path\":\"/generated/manifest/structs/PluginLocation.md\",\"url\":\"/generated/manifest/structs/PluginLocation\",\"llmUrl\":\"/generated/manifest/structs/PluginLocation.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/PluginLocation\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/PluginLocation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PluginLocation`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `type`\\n- [Methods](#methods)\\n - `local(path:)`\\n - `git(url:tag:directory:releaseUrl:)`\\n - `git(url:sha:directory:)`\\n\\n```swift\\npublic struct PluginLocation: Codable, Equatable, Sendable\\n```\\n\\nA location to a plugin, either local or remote.\\n\\n## Properties\\n### `type`\\n\\n```swift\\npublic var type: LocationType\\n```\\n\\nThe type of location `local` or `git`.\\n\\n## Methods\\n### `local(path:)`\\n\\n```swift\\npublic static func local(path: Path) -> Self\\n```\\n\\nA `Path` to a directory containing a `Plugin` manifest.\\n\\nExample:\\n```\\n.local(path: \\\"/User/local/bin\\\")\\n```\\n\\n### `git(url:tag:directory:releaseUrl:)`\\n\\n```swift\\npublic static func git(url: String, tag: String, directory: String? = nil, releaseUrl: String? = nil) -> Self\\n```\\n\\nA `URL` to a `git` repository pointing at a `tag`.\\nYou can also specify a custom directory in case the plugin is not located at the root of the repository.\\nYou can also specify a custom release URL from where the plugin binary should be downloaded. If not specified,\\nit defaults to the GitHub release URL. Note that the URL should be publicly reachable.\\n\\nExample:\\n```\\n.git(url: \\\"https://git/plugin.git\\\", tag: \\\"1.0.0\\\", directory: \\\"PluginDirectory\\\")\\n```\\n\\n### `git(url:sha:directory:)`\\n\\n```swift\\npublic static func git(url: String, sha: String, directory: String? = nil) -> Self\\n```\\n\\nA `URL` to a `git` repository pointing at a commit `sha`.\\nYou can also specify a custom directory in case the plugin is not located at the root of the repository.\\n\\nExample:\\n```\\n.git(url: \\\"https://git/plugin.git\\\", sha: \\\"d06b4b3d\\\")\\n```\\n\",\"title\":\"`PluginLocation`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/PluginLocation\",\"LLMS_URL\":\"/generated/manifest/structs/PluginLocation.md\"}},{\"path\":\"/generated/manifest/structs/PrivacyManifest.md\",\"url\":\"/generated/manifest/structs/PrivacyManifest\",\"llmUrl\":\"/generated/manifest/structs/PrivacyManifest.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/PrivacyManifest\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/PrivacyManifest.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PrivacyManifest`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `tracking`\\n - `trackingDomains`\\n - `collectedDataTypes`\\n - `accessedApiTypes`\\n- [Methods](#methods)\\n - `privacyManifest(tracking:trackingDomains:collectedDataTypes:accessedApiTypes:)`\\n\\n```swift\\npublic struct PrivacyManifest: Codable, Equatable, Sendable\\n```\\n\\nDescribe the data your app or third-party SDK collects and the reasons required APIs it uses.\\n\\n## Properties\\n### `tracking`\\n\\n```swift\\npublic var tracking: Bool\\n```\\n\\nA Boolean that indicates whether your app or third-party SDK uses data for tracking as defined under the App\\nTracking Transparency framework. For more information, see [User Privacy and Data\\nUse](https://developer.apple.com/app-store/user-privacy-and-data-use/).\\n\\n### `trackingDomains`\\n\\n```swift\\npublic var trackingDomains: [String]\\n```\\n\\nAn array of strings that lists the internet domains your app or third-party SDK connects to that\\nengage in tracking. If the user has not granted tracking permission through the App Tracking Transparency framework,\\nnetwork requests to these domains fail and your app receives an error. If you set `tracking` to true then you need to\\nprovide at least one internet domain in NSPrivacyTrackingDomains; otherwise, you can provide zero or more domains.\\n\\n### `collectedDataTypes`\\n\\n```swift\\npublic var collectedDataTypes: [[String: Plist.Value]]\\n```\\n\\nAn array of dictionaries that describes the data types your app or third-party SDK collects. For\\ninformation on the keys and values to use in the dictionaries, see [Describing data use in privacy manifests](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests).\\n\\n### `accessedApiTypes`\\n\\n```swift\\npublic var accessedApiTypes: [[String: Plist.Value]]\\n```\\n\\nAn array of dictionaries that describe the API types your app or third-party SDK accesses that have\\nbeen designated as APIs that require reasons to access. For information on the keys and values to use in the dictionaries,\\nsee [Describing use of required reason API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api).\\n\\n## Methods\\n### `privacyManifest(tracking:trackingDomains:collectedDataTypes:accessedApiTypes:)`\\n\\n```swift\\npublic static func privacyManifest(\\n tracking: Bool,\\n trackingDomains: [String],\\n collectedDataTypes: [[String: Plist.Value]],\\n accessedApiTypes: [[String: Plist.Value]]\\n) -> Self\\n```\\n\\nReturns a PrivacyManifest.\\n- Parameter tracking: A Boolean that indicates whether your app or third-party SDK uses data for tracking.\\n- Parameter trackingDomains: An array of strings that lists the internet domains your app or third-party SDK connects to\\nthat engage in tracking.\\n- Parameter collectedDataTypes: An array of dictionaries that describes the data types your app or third-party SDK\\ncollects.\\n- Parameter accessedApiTypes: An array of dictionaries that describe the API types your app or third-party SDK accesses\\nthat have\\nbeen designated as APIs that require reasons to access.\\n- Returns: PrivacyManifest.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tracking | A Boolean that indicates whether your app or third-party SDK uses data for tracking. |\\n| trackingDomains | An array of strings that lists the internet domains your app or third-party SDK connects to that engage in tracking. |\\n| collectedDataTypes | An array of dictionaries that describes the data types your app or third-party SDK collects. |\\n| accessedApiTypes | An array of dictionaries that describe the API types your app or third-party SDK accesses that have been designated as APIs that require reasons to access. |\",\"title\":\"`PrivacyManifest`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/PrivacyManifest\",\"LLMS_URL\":\"/generated/manifest/structs/PrivacyManifest.md\"}},{\"path\":\"/generated/manifest/structs/ProfileAction.md\",\"url\":\"/generated/manifest/structs/ProfileAction\",\"llmUrl\":\"/generated/manifest/structs/ProfileAction.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/ProfileAction\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/ProfileAction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ProfileAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `preActions`\\n - `postActions`\\n - `executable`\\n - `arguments`\\n- [Methods](#methods)\\n - `profileAction(configuration:preActions:postActions:executable:arguments:)`\\n\\n```swift\\npublic struct ProfileAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that profiles the built products.\\n\\nIt's initialized with the `.profileAction` static method\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should be profiled with.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the profile process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the profile process.\\n\\n### `executable`\\n\\n```swift\\npublic var executable: TargetReference?\\n```\\n\\nThe name of the executable or target to profile.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n## Methods\\n### `profileAction(configuration:preActions:postActions:executable:arguments:)`\\n\\n```swift\\npublic static func profileAction(\\n configuration: ConfigurationName = .release,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n executable: TargetReference? = nil,\\n arguments: Arguments? = nil\\n) -> ProfileAction\\n```\\n\\nReturns a profile action.\\n- Parameters:\\n - configuration: Indicates the build configuration the product should be profiled with.\\n - preActions: A list of actions that are executed before starting the profile process.\\n - postActions: A list of actions that are executed after the profile process.\\n - executable: The name of the executable or target to profile.\\n - arguments: Command line arguments passed on launch and environment variables.\\n- Returns: Initialized profile action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should be profiled with. |\\n| preActions | A list of actions that are executed before starting the profile process. |\\n| postActions | A list of actions that are executed after the profile process. |\\n| executable | The name of the executable or target to profile. |\\n| arguments | Command line arguments passed on launch and environment variables. |\",\"title\":\"`ProfileAction`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/ProfileAction\",\"LLMS_URL\":\"/generated/manifest/structs/ProfileAction.md\"}},{\"path\":\"/generated/manifest/structs/Project.md\",\"url\":\"/generated/manifest/structs/Project\",\"llmUrl\":\"/generated/manifest/structs/Project.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Project\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Project.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `organizationName`\\n - `classPrefix`\\n - `options`\\n - `packages`\\n - `targets`\\n - `schemes`\\n - `settings`\\n - `fileHeaderTemplate`\\n - `additionalFiles`\\n - `resourceSynthesizers`\\n - `containsExternalDependencies`\\n- [Methods](#methods)\\n - `init(name:organizationName:classPrefix:options:packages:settings:targets:schemes:fileHeaderTemplate:additionalFiles:resourceSynthesizers:)`\\n\\n```swift\\npublic struct Project: Codable, Equatable, Sendable\\n```\\n\\nA project representation.\\n\\nA project manifest needs to be defined in a `Project.swift` manifest file.\\nManifests need to import the framework ProjectDescription which contains all\\nthe classes and enums that are available for you to describe your projects.\\n\\nThe snippet below shows an example project manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n organizationName: \\\"MyOrg\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"dev.tuist.App\\\",\\n infoPlist: \\\"Config/App-Info.plist\\\",\\n sources: [\\\"Sources/**\\\"],\\n resources: [\\n \\\"Resources/**\\\",\\n .folderReference(path: \\\"Stubs\\\"),\\n .folderReference(path: \\\"ODR\\\", tags: [\\\"odr_tag\\\"])\\n ],\\n headers: .headers(\\n public: [\\\"Sources/public/A/**\\\", \\\"Sources/public/B/**\\\"],\\n private: \\\"Sources/private/**\\\",\\n project: [\\\"Sources/project/A/**\\\", \\\"Sources/project/B/**\\\"]\\n ),\\n dependencies: [\\n .project(target: \\\"Framework1\\\", path: \\\"../Framework1\\\"),\\n .project(target: \\\"Framework2\\\", path: \\\"../Framework2\\\")\\n ]\\n )\\n ],\\n schemes: [\\n Scheme(\\n name: \\\"App-Debug\\\",\\n shared: true,\\n buildAction: .buildAction(targets: [\\\"App\\\"]),\\n testAction: .targets([\\\"AppTests\\\"]),\\n runAction: .runAction(executable: \\\"App\\\")\\n ),\\n Scheme(\\n name: \\\"App-Release\\\",\\n shared: true,\\n buildAction: .buildAction(targets: [\\\"App\\\"]),\\n runAction: .runAction(executable: \\\"App\\\")\\n )\\n ],\\n additionalFiles: [\\n \\\"Dangerfile.swift\\\",\\n \\\"Documentation/**\\\",\\n .folderReference(path: \\\"Website\\\")\\n ]\\n)\\n```\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the project. Also, the file name of the generated Xcode project.\\n\\n### `organizationName`\\n\\n```swift\\npublic let organizationName: String?\\n```\\n\\nThe name of the organization used by Xcode as copyright.\\n\\n### `classPrefix`\\n\\n```swift\\npublic let classPrefix: String?\\n```\\n\\nThe prefix for class files Xcode generates when you create a project or class file.\\n\\n### `options`\\n\\n```swift\\npublic let options: Options\\n```\\n\\nThe project options.\\n\\n### `packages`\\n\\n```swift\\npublic let packages: [Package]\\n```\\n\\nThe Swift Packages used by the project.\\n\\n### `targets`\\n\\n```swift\\npublic let targets: [Target]\\n```\\n\\nThe targets of the project.\\n\\n### `schemes`\\n\\n```swift\\npublic let schemes: [Scheme]\\n```\\n\\nThe custom schemes for the project. Default schemes for each target are generated by default.\\n\\n### `settings`\\n\\n```swift\\npublic let settings: Settings?\\n```\\n\\nThe build settings and configuration for the project.\\n\\n### `fileHeaderTemplate`\\n\\n```swift\\npublic let fileHeaderTemplate: FileHeaderTemplate?\\n```\\n\\nThe custom file header template for Xcode built-in file templates.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic let additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the project. For target's additional files, see ``Target/additionalFiles``.\\n\\n### `resourceSynthesizers`\\n\\n```swift\\npublic let resourceSynthesizers: [ResourceSynthesizer]\\n```\\n\\nThe resource synthesizers for the project to generate accessors for resources.\\n\\n### `containsExternalDependencies`\\n\\n```swift\\npublic var containsExternalDependencies: Bool\\n```\\n\\nThe project contains targets that depend on external dependencies\\n\\n## Methods\\n### `init(name:organizationName:classPrefix:options:packages:settings:targets:schemes:fileHeaderTemplate:additionalFiles:resourceSynthesizers:)`\\n\\n```swift\\npublic init(\\n name: String,\\n organizationName: String? = nil,\\n classPrefix: String? = nil,\\n options: Options = .options(),\\n packages: [Package] = [],\\n settings: Settings? = nil,\\n targets: [Target] = [],\\n schemes: [Scheme] = [],\\n fileHeaderTemplate: FileHeaderTemplate? = nil,\\n additionalFiles: [FileElement] = [],\\n resourceSynthesizers: [ResourceSynthesizer] = .default\\n)\\n```\\n\",\"title\":\"`Project`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Project\",\"LLMS_URL\":\"/generated/manifest/structs/Project.md\"}},{\"path\":\"/generated/manifest/structs/Project.Options.md\",\"url\":\"/generated/manifest/structs/Project.Options\",\"llmUrl\":\"/generated/manifest/structs/Project.Options.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Project.Options\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Project.Options.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project.Options`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `automaticSchemesOptions`\\n - `defaultKnownRegions`\\n - `developmentRegion`\\n - `disableBundleAccessors`\\n - `disableShowEnvironmentVarsInScriptPhases`\\n - `disableSynthesizedResourceAccessors`\\n - `textSettings`\\n - `xcodeProjectName`\\n- [Methods](#methods)\\n - `options(automaticSchemesOptions:defaultKnownRegions:developmentRegion:disableBundleAccessors:disableShowEnvironmentVarsInScriptPhases:disableSynthesizedResourceAccessors:textSettings:xcodeProjectName:)`\\n\\n```swift\\npublic struct Options: Codable, Equatable, Sendable\\n```\\n\\nOptions to configure a project.\\n\\n## Properties\\n### `automaticSchemesOptions`\\n\\n```swift\\npublic var automaticSchemesOptions: AutomaticSchemesOptions\\n```\\n\\nConfigures automatic target schemes generation.\\n\\n### `defaultKnownRegions`\\n\\n```swift\\npublic var defaultKnownRegions: [String]?\\n```\\n\\nConfigures the default known regions\\n\\n### `developmentRegion`\\n\\n```swift\\npublic var developmentRegion: String?\\n```\\n\\nConfigures the development region.\\n\\n### `disableBundleAccessors`\\n\\n```swift\\npublic var disableBundleAccessors: Bool\\n```\\n\\nDisables generating Bundle accessors.\\n\\n### `disableShowEnvironmentVarsInScriptPhases`\\n\\n```swift\\npublic var disableShowEnvironmentVarsInScriptPhases: Bool\\n```\\n\\nSuppress logging of environment in Run Script build phases.\\n\\n### `disableSynthesizedResourceAccessors`\\n\\n```swift\\npublic var disableSynthesizedResourceAccessors: Bool\\n```\\n\\nDisable synthesized resource accessors.\\n\\n### `textSettings`\\n\\n```swift\\npublic var textSettings: TextSettings\\n```\\n\\nConfigures text settings.\\n\\n### `xcodeProjectName`\\n\\n```swift\\npublic var xcodeProjectName: String?\\n```\\n\\nConfigures the name of the generated .xcodeproj.\\n\\n## Methods\\n### `options(automaticSchemesOptions:defaultKnownRegions:developmentRegion:disableBundleAccessors:disableShowEnvironmentVarsInScriptPhases:disableSynthesizedResourceAccessors:textSettings:xcodeProjectName:)`\\n\\n```swift\\npublic static func options(\\n automaticSchemesOptions: AutomaticSchemesOptions = .enabled(),\\n defaultKnownRegions: [String]? = nil,\\n developmentRegion: String? = nil,\\n disableBundleAccessors: Bool = false,\\n disableShowEnvironmentVarsInScriptPhases: Bool = false,\\n disableSynthesizedResourceAccessors: Bool = false,\\n textSettings: TextSettings = .textSettings(),\\n xcodeProjectName: String? = nil\\n) -> Self\\n```\\n\",\"title\":\"`Project.Options`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Project.Options\",\"LLMS_URL\":\"/generated/manifest/structs/Project.Options.md\"}},{\"path\":\"/generated/manifest/structs/Project.Options.TextSettings.md\",\"url\":\"/generated/manifest/structs/Project.Options.TextSettings\",\"llmUrl\":\"/generated/manifest/structs/Project.Options.TextSettings.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Project.Options.TextSettings\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Project.Options.TextSettings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project.Options.TextSettings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `usesTabs`\\n - `indentWidth`\\n - `tabWidth`\\n - `wrapsLines`\\n- [Methods](#methods)\\n - `textSettings(usesTabs:indentWidth:tabWidth:wrapsLines:)`\\n\\n```swift\\npublic struct TextSettings: Codable, Equatable, Sendable\\n```\\n\\nThe text settings options\\n\\n## Properties\\n### `usesTabs`\\n\\n```swift\\npublic var usesTabs: Bool?\\n```\\n\\nWhether tabs should be used instead of spaces\\n\\n### `indentWidth`\\n\\n```swift\\npublic var indentWidth: UInt?\\n```\\n\\nThe width of space indent\\n\\n### `tabWidth`\\n\\n```swift\\npublic var tabWidth: UInt?\\n```\\n\\nThe width of tab indent\\n\\n### `wrapsLines`\\n\\n```swift\\npublic var wrapsLines: Bool?\\n```\\n\\nWhether lines should be wrapped or not\\n\\n## Methods\\n### `textSettings(usesTabs:indentWidth:tabWidth:wrapsLines:)`\\n\\n```swift\\npublic static func textSettings(\\n usesTabs: Bool? = nil,\\n indentWidth: UInt? = nil,\\n tabWidth: UInt? = nil,\\n wrapsLines: Bool? = nil\\n) -> Self\\n```\\n\",\"title\":\"`Project.Options.TextSettings`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Project.Options.TextSettings\",\"LLMS_URL\":\"/generated/manifest/structs/Project.Options.TextSettings.md\"}},{\"path\":\"/generated/manifest/structs/ResourceFileElements.md\",\"url\":\"/generated/manifest/structs/ResourceFileElements\",\"llmUrl\":\"/generated/manifest/structs/ResourceFileElements.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/ResourceFileElements\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/ResourceFileElements.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ResourceFileElements`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `resources`\\n - `privacyManifest`\\n- [Methods](#methods)\\n - `resources(_:privacyManifest:)`\\n\\n```swift\\npublic struct ResourceFileElements: Codable, Equatable, Sendable\\n```\\n\\nA collection of resource file.\\n\\n## Properties\\n### `resources`\\n\\n```swift\\npublic var resources: [ResourceFileElement]\\n```\\n\\nList of resource file elements\\n\\n### `privacyManifest`\\n\\n```swift\\npublic var privacyManifest: PrivacyManifest?\\n```\\n\\nDefine your apps privacy manifest\\n\\n## Methods\\n### `resources(_:privacyManifest:)`\\n\\n```swift\\npublic static func resources(_ resources: [ResourceFileElement], privacyManifest: PrivacyManifest? = nil) -> Self\\n```\\n\",\"title\":\"`ResourceFileElements`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/ResourceFileElements\",\"LLMS_URL\":\"/generated/manifest/structs/ResourceFileElements.md\"}},{\"path\":\"/generated/manifest/structs/ResourceSynthesizer.md\",\"url\":\"/generated/manifest/structs/ResourceSynthesizer\",\"llmUrl\":\"/generated/manifest/structs/ResourceSynthesizer.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/ResourceSynthesizer\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/ResourceSynthesizer.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ResourceSynthesizer`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `templateType`\\n - `parser`\\n - `parserOptions`\\n - `extensions`\\n- [Methods](#methods)\\n - `strings(parserOptions:)`\\n - `strings(plugin:parserOptions:)`\\n - `assets(parserOptions:)`\\n - `assets(plugin:parserOptions:)`\\n - `fonts(parserOptions:)`\\n - `fonts(plugin:parserOptions:)`\\n - `plists(parserOptions:)`\\n - `plists(plugin:parserOptions:)`\\n - `coreData(plugin:parserOptions:)`\\n - `coreData(parserOptions:)`\\n - `interfaceBuilder(plugin:parserOptions:)`\\n - `interfaceBuilder(parserOptions:)`\\n - `json(plugin:parserOptions:)`\\n - `json(parserOptions:)`\\n - `yaml(plugin:parserOptions:)`\\n - `yaml(parserOptions:)`\\n - `files(plugin:parserOptions:extensions:)`\\n - `files(parserOptions:extensions:)`\\n - `custom(plugin:parser:parserOptions:extensions:resourceName:)`\\n - `custom(name:parser:parserOptions:extensions:)`\\n\\n```swift\\npublic struct ResourceSynthesizer: Codable, Equatable, Sendable\\n```\\n\\nA resource synthesizer for given file extensions.\\n\\nFor example to synthesize resource accessors for strings, you can use:\\n- `.strings()` for tuist's default\\n- `.strings(parserOptions: [\\\"separator\\\": \\\"/\\\"])` to use strings template with SwiftGen Parser Options\\n- `.strings(plugin: \\\"MyPlugin\\\")` to use strings template from a plugin\\n- `.strings(templatePath: \\\"Templates/Strings.stencil\\\")` to use strings template at a given path\\n\\n## Properties\\n### `templateType`\\n\\n```swift\\npublic var templateType: TemplateType\\n```\\n\\nTemplates can be of multiple types\\n\\n### `parser`\\n\\n```swift\\npublic var parser: Parser\\n```\\n\\n### `parserOptions`\\n\\n```swift\\npublic var parserOptions: [String: Parser.Option]\\n```\\n\\n### `extensions`\\n\\n```swift\\npublic var extensions: Set\\n```\\n\\n## Methods\\n### `strings(parserOptions:)`\\n\\n```swift\\npublic static func strings(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault strings synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `strings(plugin:parserOptions:)`\\n\\n```swift\\npublic static func strings(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nStrings synthesizer defined in a plugin\\n\\n### `assets(parserOptions:)`\\n\\n```swift\\npublic static func assets(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault assets synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `assets(plugin:parserOptions:)`\\n\\n```swift\\npublic static func assets(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nAssets synthesizer defined in a plugin\\n\\n### `fonts(parserOptions:)`\\n\\n```swift\\npublic static func fonts(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault fonts synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `fonts(plugin:parserOptions:)`\\n\\n```swift\\npublic static func fonts(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nFonts synthesizer defined in a plugin\\n\\n### `plists(parserOptions:)`\\n\\n```swift\\npublic static func plists(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault plists synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `plists(plugin:parserOptions:)`\\n\\n```swift\\npublic static func plists(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nPlists synthesizer defined in a plugin\\n\\n### `coreData(plugin:parserOptions:)`\\n\\n```swift\\npublic static func coreData(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nCoreData synthesizer defined in a plugin\\n\\n### `coreData(parserOptions:)`\\n\\n```swift\\npublic static func coreData(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault CoreData synthesizer defined in `Tuist/{ProjectName}`\\n\\n### `interfaceBuilder(plugin:parserOptions:)`\\n\\n```swift\\npublic static func interfaceBuilder(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nInterfaceBuilder synthesizer defined in a plugin\\n\\n### `interfaceBuilder(parserOptions:)`\\n\\n```swift\\npublic static func interfaceBuilder(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nInterfaceBuilder synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `json(plugin:parserOptions:)`\\n\\n```swift\\npublic static func json(plugin: String, parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nJSON synthesizer defined in a plugin\\n\\n### `json(parserOptions:)`\\n\\n```swift\\npublic static func json(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nJSON synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `yaml(plugin:parserOptions:)`\\n\\n```swift\\npublic static func yaml(plugin: String, parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nYAML synthesizer defined in a plugin\\n\\n### `yaml(parserOptions:)`\\n\\n```swift\\npublic static func yaml(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nCoreData synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `files(plugin:parserOptions:extensions:)`\\n\\n```swift\\npublic static func files(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nFiles synthesizer defined in a plugin\\n\\n### `files(parserOptions:extensions:)`\\n\\n```swift\\npublic static func files(\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nFiles synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `custom(plugin:parser:parserOptions:extensions:resourceName:)`\\n\\n```swift\\npublic static func custom(\\n plugin: String,\\n parser: Parser,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set,\\n resourceName: String\\n) -> Self\\n```\\n\\nCustom synthesizer from a plugin\\n- Parameters:\\n - plugin: Name of a plugin where resource synthesizer template is located\\n - parser: `Parser` to use for parsing the file to obtain its data\\n - extensions: Set of extensions that should be parsed\\n - resourceName: Name of the template file and the resulting `.swift` file\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| plugin | Name of a plugin where resource synthesizer template is located |\\n| parser | `Parser` to use for parsing the file to obtain its data |\\n| extensions | Set of extensions that should be parsed |\\n| resourceName | Name of the template file and the resulting `.swift` file |\\n\\n### `custom(name:parser:parserOptions:extensions:)`\\n\\n```swift\\npublic static func custom(\\n name: String,\\n parser: Parser,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nCustom local synthesizer defined `Tuist/ResourceSynthesizers/{name}.stencil`\\n- Parameters:\\n - name: Name of synthesizer\\n - parser: `Parser` to use for parsing the file to obtain its data\\n - extensions: Set of extensions that should be parsed\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of synthesizer |\\n| parser | `Parser` to use for parsing the file to obtain its data |\\n| extensions | Set of extensions that should be parsed |\",\"title\":\"`ResourceSynthesizer`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/ResourceSynthesizer\",\"LLMS_URL\":\"/generated/manifest/structs/ResourceSynthesizer.md\"}},{\"path\":\"/generated/manifest/structs/RunAction.md\",\"url\":\"/generated/manifest/structs/RunAction\",\"llmUrl\":\"/generated/manifest/structs/RunAction.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/RunAction\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/RunAction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `RunAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `attachDebugger`\\n - `customLLDBInitFile`\\n - `preActions`\\n - `postActions`\\n - `executable`\\n - `arguments`\\n - `options`\\n - `diagnosticsOptions`\\n - `metalOptions`\\n - `expandVariableFromTarget`\\n - `launchStyle`\\n - `appClipInvocationURLString`\\n- [Methods](#methods)\\n - `runAction(configuration:attachDebugger:customLLDBInitFile:preActions:postActions:executable:arguments:options:diagnosticsOptions:metalOptions:expandVariableFromTarget:launchStyle:appClipInvocationURLString:)`\\n\\n```swift\\npublic struct RunAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that runs the built products.\\n\\nIt's initialized with the .runAction static method.\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should run with.\\n\\n### `attachDebugger`\\n\\n```swift\\npublic var attachDebugger: Bool\\n```\\n\\nWhether a debugger should be attached to the run process or not.\\n\\n### `customLLDBInitFile`\\n\\n```swift\\npublic var customLLDBInitFile: Path?\\n```\\n\\nThe path of custom lldbinit file.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the run process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the run process.\\n\\n### `executable`\\n\\n```swift\\npublic var executable: TargetReference?\\n```\\n\\nThe name of the executable or target to run.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n### `options`\\n\\n```swift\\npublic var options: RunActionOptions\\n```\\n\\nList of options to set to the action.\\n\\n### `diagnosticsOptions`\\n\\n```swift\\npublic var diagnosticsOptions: SchemeDiagnosticsOptions\\n```\\n\\nList of diagnostics options to set to the action.\\n\\n### `metalOptions`\\n\\n```swift\\npublic var metalOptions: MetalOptions\\n```\\n\\nList of metal options to set to the action\\n\\n### `expandVariableFromTarget`\\n\\n```swift\\npublic var expandVariableFromTarget: TargetReference?\\n```\\n\\nA target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT)\\n\\n### `launchStyle`\\n\\n```swift\\npublic var launchStyle: LaunchStyle\\n```\\n\\nThe launch style of the action\\n\\n### `appClipInvocationURLString`\\n\\n```swift\\npublic var appClipInvocationURLString: String?\\n```\\n\\nThe URL string used to invoke the app clip, if available.\\n\\n## Methods\\n### `runAction(configuration:attachDebugger:customLLDBInitFile:preActions:postActions:executable:arguments:options:diagnosticsOptions:metalOptions:expandVariableFromTarget:launchStyle:appClipInvocationURLString:)`\\n\\n```swift\\npublic static func runAction(\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n customLLDBInitFile: Path? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n executable: TargetReference? = nil,\\n arguments: Arguments? = nil,\\n options: RunActionOptions = .options(),\\n diagnosticsOptions: SchemeDiagnosticsOptions = .options(),\\n metalOptions: MetalOptions = .options(),\\n expandVariableFromTarget: TargetReference? = nil,\\n launchStyle: LaunchStyle = .automatically,\\n appClipInvocationURLString: String? = nil\\n) -> RunAction\\n```\\n\\nReturns a run action.\\n- Parameters:\\n - configuration: Indicates the build configuration the product should run with.\\n - attachDebugger: Whether a debugger should be attached to the run process or not.\\n - preActions: A list of actions that are executed before starting the run process.\\n - postActions: A list of actions that are executed after the run process.\\n - executable: The name of the executable or target to run.\\n - arguments: Command line arguments passed on launch and environment variables.\\n - options: List of options to set to the action.\\n - diagnosticsOptions: List of diagnostics options to set to the action.\\n - metalOptions: List of metal options to set to the action.\\n - expandVariableFromTarget: A target that will be used to expand the variables defined inside Environment Variables\\ndefinition (e.g. $SOURCE_ROOT). When nil, it does not expand any variables.\\n - appClipInvocationURLString: The URL string used to invoke the app clip, if available.\\n - launchStyle: The launch style of the action\\n- Returns: Run action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should run with. |\\n| attachDebugger | Whether a debugger should be attached to the run process or not. |\\n| preActions | A list of actions that are executed before starting the run process. |\\n| postActions | A list of actions that are executed after the run process. |\\n| executable | The name of the executable or target to run. |\\n| arguments | Command line arguments passed on launch and environment variables. |\\n| options | List of options to set to the action. |\\n| diagnosticsOptions | List of diagnostics options to set to the action. |\\n| metalOptions | List of metal options to set to the action. |\\n| expandVariableFromTarget | A target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT). When nil, it does not expand any variables. |\\n| appClipInvocationURLString | The URL string used to invoke the app clip, if available. |\\n| launchStyle | The launch style of the action |\",\"title\":\"`RunAction`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/RunAction\",\"LLMS_URL\":\"/generated/manifest/structs/RunAction.md\"}},{\"path\":\"/generated/manifest/structs/RunActionOptions.md\",\"url\":\"/generated/manifest/structs/RunActionOptions\",\"llmUrl\":\"/generated/manifest/structs/RunActionOptions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/RunActionOptions\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/RunActionOptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `RunActionOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `language`\\n - `region`\\n - `storeKitConfigurationPath`\\n - `simulatedLocation`\\n - `enableGPUFrameCaptureMode`\\n- [Methods](#methods)\\n - `options(language:region:storeKitConfigurationPath:simulatedLocation:enableGPUFrameCaptureMode:)`\\n\\n```swift\\npublic struct RunActionOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions for the `RunAction` action\\n\\n## Properties\\n### `language`\\n\\n```swift\\npublic var language: SchemeLanguage?\\n```\\n\\nLanguage to use when running the app.\\n\\n### `region`\\n\\n```swift\\npublic var region: String?\\n```\\n\\nRegion to use when running the app.\\n\\n### `storeKitConfigurationPath`\\n\\n```swift\\npublic var storeKitConfigurationPath: Path?\\n```\\n\\nThe path of the\\n[StoreKit configuration\\nfile](https://developer.apple.com/documentation/xcode/setting_up_storekit_testing_in_xcode#3625700).\\n\\n### `simulatedLocation`\\n\\n```swift\\npublic var simulatedLocation: ProjectDescription.SimulatedLocation?\\n```\\n\\nA simulated GPS location to use when running the app.\\n\\n### `enableGPUFrameCaptureMode`\\n\\n```swift\\npublic var enableGPUFrameCaptureMode: GPUFrameCaptureMode\\n```\\n\\nConfigure your project to work with the Metal frame debugger.\\n\\n## Methods\\n### `options(language:region:storeKitConfigurationPath:simulatedLocation:enableGPUFrameCaptureMode:)`\\n\\n```swift\\npublic static func options(\\n language: SchemeLanguage? = nil,\\n region: String? = nil,\\n storeKitConfigurationPath: Path? = nil,\\n simulatedLocation: ProjectDescription.SimulatedLocation? = nil,\\n enableGPUFrameCaptureMode: GPUFrameCaptureMode = GPUFrameCaptureMode.default\\n) -> Self\\n```\\n\\nCreates an `RunActionOptions` instance\\n\\n- Parameters:\\n - language: language (e.g. \\\"en\\\").\\n\\n - region: region (e.g. \\\"US\\\").\\n\\n - storeKitConfigurationPath: The path of the\\n [StoreKit configuration\\nfile](https://developer.apple.com/documentation/xcode/setting_up_storekit_testing_in_xcode#3625700).\\n Please note that this file is automatically added to the Project/Workspace. You should not add it manually.\\n The default value is `nil`, which results in no configuration defined for the scheme\\n\\n - simulatedLocation: The simulated GPS location to use when running the app.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project's resources.\\n\\n - enableGPUFrameCaptureMode: The Metal Frame Capture mode to use. e.g: .disabled\\n If your target links to the Metal framework, Xcode enables GPU Frame Capture.\\n You can disable it to test your app in best performance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| language | language (e.g. “en”). |\\n| region | region (e.g. “US”). |\\n| storeKitConfigurationPath | The path of the . Please note that this file is automatically added to the Project/Workspace. You should not add it manually. The default value is `nil`, which results in no configuration defined for the scheme |\\n| simulatedLocation | The simulated GPS location to use when running the app. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n| enableGPUFrameCaptureMode | The Metal Frame Capture mode to use. e.g: .disabled If your target links to the Metal framework, Xcode enables GPU Frame Capture. You can disable it to test your app in best performance. |\",\"title\":\"`RunActionOptions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/RunActionOptions\",\"LLMS_URL\":\"/generated/manifest/structs/RunActionOptions.md\"}},{\"path\":\"/generated/manifest/structs/Scheme.md\",\"url\":\"/generated/manifest/structs/Scheme\",\"llmUrl\":\"/generated/manifest/structs/Scheme.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Scheme\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Scheme.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Scheme`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `shared`\\n - `hidden`\\n - `buildAction`\\n - `testAction`\\n - `runAction`\\n - `archiveAction`\\n - `profileAction`\\n - `analyzeAction`\\n- [Methods](#methods)\\n - `scheme(name:shared:hidden:buildAction:testAction:runAction:archiveAction:profileAction:analyzeAction:)`\\n\\n```swift\\npublic struct Scheme: Equatable, Codable, Sendable\\n```\\n\\nA custom scheme for a project.\\n\\nA scheme defines a collection of targets to Build, Run, Test, Profile, Analyze and Archive.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nThe name of the scheme.\\n\\n### `shared`\\n\\n```swift\\npublic var shared: Bool\\n```\\n\\nMarks the scheme as shared (i.e. one that is checked in to the repository and is visible to xcodebuild from the command\\nline).\\n\\n### `hidden`\\n\\n```swift\\npublic var hidden: Bool\\n```\\n\\nWhen `true` the scheme doesn't show up in the dropdown scheme's list.\\n\\n### `buildAction`\\n\\n```swift\\npublic var buildAction: BuildAction?\\n```\\n\\nAction that builds the project targets.\\n\\n### `testAction`\\n\\n```swift\\npublic var testAction: TestAction?\\n```\\n\\nAction that runs the project tests.\\n\\n### `runAction`\\n\\n```swift\\npublic var runAction: RunAction?\\n```\\n\\nAction that runs project built products.\\n\\n### `archiveAction`\\n\\n```swift\\npublic var archiveAction: ArchiveAction?\\n```\\n\\nAction that runs the project archive.\\n\\n### `profileAction`\\n\\n```swift\\npublic var profileAction: ProfileAction?\\n```\\n\\nAction that profiles the project.\\n\\n### `analyzeAction`\\n\\n```swift\\npublic var analyzeAction: AnalyzeAction?\\n```\\n\\nAction that analyze the project.\\n\\n## Methods\\n### `scheme(name:shared:hidden:buildAction:testAction:runAction:archiveAction:profileAction:analyzeAction:)`\\n\\n```swift\\npublic static func scheme(\\n name: String,\\n shared: Bool = true,\\n hidden: Bool = false,\\n buildAction: BuildAction? = nil,\\n testAction: TestAction? = nil,\\n runAction: RunAction? = nil,\\n archiveAction: ArchiveAction? = nil,\\n profileAction: ProfileAction? = nil,\\n analyzeAction: AnalyzeAction? = nil\\n) -> Self\\n```\\n\\nCreates a new instance of a scheme.\\n- Parameters:\\n - name: Name of the scheme.\\n - shared: Whether the scheme is shared.\\n - hidden: When true, the scheme is hidden in the list of schemes from Xcode's dropdown.\\n - buildAction: Action that builds the project targets.\\n - testAction: Action that runs the project tests.\\n - runAction: Action that runs project built products.\\n - archiveAction: Action that runs the project archive.\\n - profileAction: Action that profiles the project.\\n - analyzeAction: Action that analyze the project.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the scheme. |\\n| shared | Whether the scheme is shared. |\\n| hidden | When true, the scheme is hidden in the list of schemes from Xcode’s dropdown. |\\n| buildAction | Action that builds the project targets. |\\n| testAction | Action that runs the project tests. |\\n| runAction | Action that runs project built products. |\\n| archiveAction | Action that runs the project archive. |\\n| profileAction | Action that profiles the project. |\\n| analyzeAction | Action that analyze the project. |\",\"title\":\"`Scheme`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Scheme\",\"LLMS_URL\":\"/generated/manifest/structs/Scheme.md\"}},{\"path\":\"/generated/manifest/structs/SchemeDiagnosticsOptions.md\",\"url\":\"/generated/manifest/structs/SchemeDiagnosticsOptions\",\"llmUrl\":\"/generated/manifest/structs/SchemeDiagnosticsOptions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/SchemeDiagnosticsOptions\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/SchemeDiagnosticsOptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SchemeDiagnosticsOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `addressSanitizerEnabled`\\n - `detectStackUseAfterReturnEnabled`\\n - `threadSanitizerEnabled`\\n - `mainThreadCheckerEnabled`\\n - `performanceAntipatternCheckerEnabled`\\n- [Methods](#methods)\\n - `options(addressSanitizerEnabled:detectStackUseAfterReturnEnabled:threadSanitizerEnabled:mainThreadCheckerEnabled:performanceAntipatternCheckerEnabled:)`\\n\\n```swift\\npublic struct SchemeDiagnosticsOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions to configure scheme diagnostics for run and test actions.\\n\\n## Properties\\n### `addressSanitizerEnabled`\\n\\n```swift\\npublic var addressSanitizerEnabled: Bool\\n```\\n\\nEnable the address sanitizer\\n\\n### `detectStackUseAfterReturnEnabled`\\n\\n```swift\\npublic var detectStackUseAfterReturnEnabled: Bool\\n```\\n\\nEnable the detect use of stack after return of address sanitizer\\n\\n### `threadSanitizerEnabled`\\n\\n```swift\\npublic var threadSanitizerEnabled: Bool\\n```\\n\\nEnable the thread sanitizer\\n\\n### `mainThreadCheckerEnabled`\\n\\n```swift\\npublic var mainThreadCheckerEnabled: Bool\\n```\\n\\nEnable the main thread cheker\\n\\n### `performanceAntipatternCheckerEnabled`\\n\\n```swift\\npublic var performanceAntipatternCheckerEnabled: Bool\\n```\\n\\nEnable thread performance checker\\n\\n## Methods\\n### `options(addressSanitizerEnabled:detectStackUseAfterReturnEnabled:threadSanitizerEnabled:mainThreadCheckerEnabled:performanceAntipatternCheckerEnabled:)`\\n\\n```swift\\npublic static func options(\\n addressSanitizerEnabled: Bool = false,\\n detectStackUseAfterReturnEnabled: Bool = false,\\n threadSanitizerEnabled: Bool = false,\\n mainThreadCheckerEnabled: Bool = true,\\n performanceAntipatternCheckerEnabled: Bool = true\\n) -> SchemeDiagnosticsOptions\\n```\\n\",\"title\":\"`SchemeDiagnosticsOptions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/SchemeDiagnosticsOptions\",\"LLMS_URL\":\"/generated/manifest/structs/SchemeDiagnosticsOptions.md\"}},{\"path\":\"/generated/manifest/structs/SchemeLanguage.md\",\"url\":\"/generated/manifest/structs/SchemeLanguage\",\"llmUrl\":\"/generated/manifest/structs/SchemeLanguage.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/SchemeLanguage\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/SchemeLanguage.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SchemeLanguage`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `identifier`\\n- [Methods](#methods)\\n - `init(identifier:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct SchemeLanguage: Codable, Equatable, ExpressibleByStringLiteral, Sendable\\n```\\n\\nA language to use for run and test actions.\\n\\n## Properties\\n### `identifier`\\n\\n```swift\\npublic let identifier: String\\n```\\n\\n## Methods\\n### `init(identifier:)`\\n\\n```swift\\npublic init(identifier: String)\\n```\\n\\nCreates a new scheme language.\\n- Parameter identifier: A valid language code or a pre-defined pseudo language.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| identifier | A valid language code or a pre-defined pseudo language. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\nCreates a new scheme language.\\n- Parameter stringLiteral: A valid language code or a pre-defined pseudo language.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| stringLiteral | A valid language code or a pre-defined pseudo language. |\",\"title\":\"`SchemeLanguage`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/SchemeLanguage\",\"LLMS_URL\":\"/generated/manifest/structs/SchemeLanguage.md\"}},{\"path\":\"/generated/manifest/structs/Settings.md\",\"url\":\"/generated/manifest/structs/Settings\",\"llmUrl\":\"/generated/manifest/structs/Settings.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Settings\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Settings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Settings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `base`\\n - `configurations`\\n - `defaultSettings`\\n - `defaultConfiguration`\\n- [Methods](#methods)\\n - `settings(base:debug:release:defaultSettings:defaultConfiguration:)`\\n - `settings(base:configurations:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic struct Settings: Equatable, Codable, Sendable\\n```\\n\\nA group of settings configuration.\\n\\n## Properties\\n### `base`\\n\\n```swift\\npublic var base: SettingsDictionary\\n```\\n\\nA dictionary with build settings that are inherited from all the configurations.\\n\\n### `configurations`\\n\\n```swift\\npublic var configurations: [Configuration]\\n```\\n\\n### `defaultSettings`\\n\\n```swift\\npublic var defaultSettings: DefaultSettings\\n```\\n\\n### `defaultConfiguration`\\n\\n```swift\\npublic var defaultConfiguration: String?\\n```\\n\\n## Methods\\n### `settings(base:debug:release:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic static func settings(\\n base: SettingsDictionary = [:],\\n debug: SettingsDictionary = [:],\\n release: SettingsDictionary = [:],\\n defaultSettings: DefaultSettings = .recommended,\\n defaultConfiguration: String? = nil\\n) -> Settings\\n```\\n\\nCreates settings with default.configurations `Debug` and `Release`\\n\\n- Parameters:\\n - base: A dictionary with build settings that are inherited from all the configurations.\\n - debug: The debug configuration settings.\\n - release: The release configuration settings.\\n - defaultSettings: An enum specifying the set of default settings.\\n - defaultConfiguration: The default configuration to be used when building the project from command-line.\\n\\n- Note: To specify custom configurations (e.g. `Debug`, `Beta` & `Release`) or to specify xcconfigs, you can use the\\nalternate static method\\n `.settings(base:configurations:defaultSettings:)`\\n\\n- seealso: Configuration\\n- seealso: DefaultSettings\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| base | A dictionary with build settings that are inherited from all the configurations. |\\n| debug | The debug configuration settings. |\\n| release | The release configuration settings. |\\n| defaultSettings | An enum specifying the set of default settings. |\\n| defaultConfiguration | The default configuration to be used when building the project from command-line. |\\n\\n### `settings(base:configurations:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic static func settings(\\n base: SettingsDictionary = [:],\\n configurations: [Configuration],\\n defaultSettings: DefaultSettings = .recommended,\\n defaultConfiguration: String? = nil\\n) -> Settings\\n```\\n\\nCreates settings with any number of configurations.\\n\\n- Parameters:\\n - base: A dictionary with build settings that are inherited from all the configurations.\\n - configurations: A list of configurations.\\n - defaultSettings: An enum specifying the set of default settings.\\n - defaultConfiguration: The default configuration to be used when building the project from command-line.\\n\\n- Note: Configurations shouldn't be empty, please use the alternate static method\\n `.settings(base:debug:release:defaultSettings:)` to leverage the default configurations\\n if you don't have any custom configurations.\\n\\n- seealso: Configuration\\n- seealso: DefaultSettings\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| base | A dictionary with build settings that are inherited from all the configurations. |\\n| configurations | A list of configurations. |\\n| defaultSettings | An enum specifying the set of default settings. |\\n| defaultConfiguration | The default configuration to be used when building the project from command-line. |\",\"title\":\"`Settings`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Settings\",\"LLMS_URL\":\"/generated/manifest/structs/Settings.md\"}},{\"path\":\"/generated/manifest/structs/SimulatedLocation.md\",\"url\":\"/generated/manifest/structs/SimulatedLocation\",\"llmUrl\":\"/generated/manifest/structs/SimulatedLocation.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/SimulatedLocation\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/SimulatedLocation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SimulatedLocation`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `identifier`\\n - `gpxFile`\\n - `london`\\n - `johannesburg`\\n - `moscow`\\n - `mumbai`\\n - `tokyo`\\n - `sydney`\\n - `hongKong`\\n - `honolulu`\\n - `sanFrancisco`\\n - `mexicoCity`\\n - `newYork`\\n - `rioDeJaneiro`\\n- [Methods](#methods)\\n - `custom(gpxFile:)`\\n\\n```swift\\npublic struct SimulatedLocation: Codable, Equatable, Sendable\\n```\\n\\nSimulated location represents a GPS location that is used when running an app on the simulator.\\n\\n## Properties\\n### `identifier`\\n\\n```swift\\npublic var identifier: String?\\n```\\n\\nThe identifier of the location (e.g. London, England)\\n\\n### `gpxFile`\\n\\n```swift\\npublic var gpxFile: Path?\\n```\\n\\nPath to a .gpx file that indicates the location\\n\\n### `london`\\n\\n```swift\\npublic static var london: SimulatedLocation\\n```\\n\\n### `johannesburg`\\n\\n```swift\\npublic static var johannesburg: SimulatedLocation\\n```\\n\\n### `moscow`\\n\\n```swift\\npublic static var moscow: SimulatedLocation\\n```\\n\\n### `mumbai`\\n\\n```swift\\npublic static var mumbai: SimulatedLocation\\n```\\n\\n### `tokyo`\\n\\n```swift\\npublic static var tokyo: SimulatedLocation\\n```\\n\\n### `sydney`\\n\\n```swift\\npublic static var sydney: SimulatedLocation\\n```\\n\\n### `hongKong`\\n\\n```swift\\npublic static var hongKong: SimulatedLocation\\n```\\n\\n### `honolulu`\\n\\n```swift\\npublic static var honolulu: SimulatedLocation\\n```\\n\\n### `sanFrancisco`\\n\\n```swift\\npublic static var sanFrancisco: SimulatedLocation\\n```\\n\\n### `mexicoCity`\\n\\n```swift\\npublic static var mexicoCity: SimulatedLocation\\n```\\n\\n### `newYork`\\n\\n```swift\\npublic static var newYork: SimulatedLocation\\n```\\n\\n### `rioDeJaneiro`\\n\\n```swift\\npublic static var rioDeJaneiro: SimulatedLocation\\n```\\n\\n## Methods\\n### `custom(gpxFile:)`\\n\\n```swift\\npublic static func custom(gpxFile: Path) -> SimulatedLocation\\n```\\n\",\"title\":\"`SimulatedLocation`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/SimulatedLocation\",\"LLMS_URL\":\"/generated/manifest/structs/SimulatedLocation.md\"}},{\"path\":\"/generated/manifest/structs/SourceFileGlob.md\",\"url\":\"/generated/manifest/structs/SourceFileGlob\",\"llmUrl\":\"/generated/manifest/structs/SourceFileGlob.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/SourceFileGlob\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/SourceFileGlob.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SourceFileGlob`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `glob`\\n - `excluding`\\n - `compilerFlags`\\n - `codeGen`\\n - `compilationCondition`\\n - `type`\\n- [Methods](#methods)\\n - `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n - `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n - `generated(_:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic struct SourceFileGlob: Codable, Equatable, Sendable\\n```\\n\\nA glob pattern configuration representing source files and its compiler flags, if any.\\n\\n## Properties\\n### `glob`\\n\\n```swift\\npublic var glob: Path\\n```\\n\\nGlob pattern to the source files.\\n\\n### `excluding`\\n\\n```swift\\npublic var excluding: [Path]\\n```\\n\\nGlob patterns for source files that will be excluded.\\n\\n### `compilerFlags`\\n\\n```swift\\npublic var compilerFlags: String?\\n```\\n\\nThe compiler flags to be set to the source files in the sources build phase.\\n\\n### `codeGen`\\n\\n```swift\\npublic var codeGen: FileCodeGen?\\n```\\n\\nThe source file attribute to be set in the build phase.\\n\\n### `compilationCondition`\\n\\n```swift\\npublic var compilationCondition: PlatformCondition?\\n```\\n\\nSource file condition for compilation\\n\\n### `type`\\n\\n```swift\\npublic var type: FileType\\n```\\n\\nType of the file.\\n\\n## Methods\\n### `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: [Path] = [],\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\nReturns a source glob pattern configuration.\\nUsed for file there were already present during the generation.\\n\\n- Parameters:\\n - glob: Glob pattern to the source files.\\n - excluding: Glob patterns for source files that will be excluded.\\n - compilerFlags: The compiler flags to be set to the source files in the sources build phase.\\n - codeGen: The source file attribute to be set in the build phase.\\n - compilationCondition: Condition for file compilation.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| glob | Glob pattern to the source files. |\\n| excluding | Glob patterns for source files that will be excluded. |\\n| compilerFlags | The compiler flags to be set to the source files in the sources build phase. |\\n| codeGen | The source file attribute to be set in the build phase. |\\n| compilationCondition | Condition for file compilation. |\\n\\n### `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: Path?,\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\n### `generated(_:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func generated(\\n _ path: Path,\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\nReturns a source generated source file configuration, for a single generated file.\\n\\n- Parameters:\\n - path: Path to the generated file. Assumed to be a specific path (as oppose to a glob pattern).\\n - compilerFlags: The compiler flags to be set to the source files in the sources build phase.\\n - codeGen: The source file attribute to be set in the build phase.\\n - compilationCondition: Condition for file compilation.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the generated file. Assumed to be a specific path (as oppose to a glob pattern). |\\n| compilerFlags | The compiler flags to be set to the source files in the sources build phase. |\\n| codeGen | The source file attribute to be set in the build phase. |\\n| compilationCondition | Condition for file compilation. |\",\"title\":\"`SourceFileGlob`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/SourceFileGlob\",\"LLMS_URL\":\"/generated/manifest/structs/SourceFileGlob.md\"}},{\"path\":\"/generated/manifest/structs/SourceFilesList.md\",\"url\":\"/generated/manifest/structs/SourceFilesList\",\"llmUrl\":\"/generated/manifest/structs/SourceFilesList.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/SourceFilesList\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/SourceFilesList.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SourceFilesList`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `globs`\\n- [Methods](#methods)\\n - `sourceFilesList(globs:)`\\n - `sourceFilesList(globs:)`\\n - `paths(_:)`\\n\\n```swift\\npublic struct SourceFilesList: Codable, Equatable, Sendable\\n```\\n\\nA collection of source file globs.\\n\\n## Properties\\n### `globs`\\n\\n```swift\\npublic var globs: [SourceFileGlob]\\n```\\n\\nList glob patterns.\\n\\n## Methods\\n### `sourceFilesList(globs:)`\\n\\n```swift\\npublic static func sourceFilesList(globs: [SourceFileGlob]) -> Self\\n```\\n\\nCreates the source files list with the glob patterns.\\n\\n- Parameter globs: Glob patterns.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| globs | Glob patterns. |\\n\\n### `sourceFilesList(globs:)`\\n\\n```swift\\npublic static func sourceFilesList(globs: [String]) -> Self\\n```\\n\\nCreates the source files list with the glob patterns as strings.\\n\\n- Parameter globs: Glob patterns.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| globs | Glob patterns. |\\n\\n### `paths(_:)`\\n\\n```swift\\npublic static func paths(_ paths: [Path]) -> SourceFilesList\\n```\\n\\nReturns a sources list from a list of paths.\\n- Parameter paths: Source paths.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| paths | Source paths. |\",\"title\":\"`SourceFilesList`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/SourceFilesList\",\"LLMS_URL\":\"/generated/manifest/structs/SourceFilesList.md\"}},{\"path\":\"/generated/manifest/structs/Target.md\",\"url\":\"/generated/manifest/structs/Target\",\"llmUrl\":\"/generated/manifest/structs/Target.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Target\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Target.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Target`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `destinations`\\n - `product`\\n - `productName`\\n - `bundleId`\\n - `deploymentTargets`\\n - `infoPlist`\\n - `sources`\\n - `resources`\\n - `copyFiles`\\n - `headers`\\n - `entitlements`\\n - `scripts`\\n - `dependencies`\\n - `settings`\\n - `coreDataModels`\\n - `environmentVariables`\\n - `launchArguments`\\n - `additionalFiles`\\n - `buildRules`\\n - `mergedBinaryType`\\n - `mergeable`\\n - `onDemandResourcesTags`\\n - `metadata`\\n- [Methods](#methods)\\n - `target(name:destinations:product:productName:bundleId:deploymentTargets:infoPlist:sources:resources:copyFiles:headers:entitlements:scripts:dependencies:settings:coreDataModels:environmentVariables:launchArguments:additionalFiles:buildRules:mergedBinaryType:mergeable:onDemandResourcesTags:metadata:)`\\n\\n```swift\\npublic struct Target: Codable, Equatable, Sendable\\n```\\n\\nA target of a project.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nThe name of the target. Also, the product name if not specified with ``productName``.\\n\\n### `destinations`\\n\\n```swift\\npublic var destinations: Destinations\\n```\\n\\nThe destinations this target supports, e.g. iPhone, appleVision, macCatalyst\\n\\n### `product`\\n\\n```swift\\npublic var product: Product\\n```\\n\\nThe type of build product this target will output.\\n\\n### `productName`\\n\\n```swift\\npublic var productName: String?\\n```\\n\\nThe built product name. If nil, it will be equal to ``name``.\\n\\n### `bundleId`\\n\\n```swift\\npublic var bundleId: String\\n```\\n\\nThe product bundle identifier.\\n\\n### `deploymentTargets`\\n\\n```swift\\npublic var deploymentTargets: DeploymentTargets?\\n```\\n\\nThe minimum deployment targets your product will support.\\n\\n### `infoPlist`\\n\\n```swift\\npublic var infoPlist: InfoPlist?\\n```\\n\\nThe Info.plist representation.\\n\\n### `sources`\\n\\n```swift\\npublic var sources: SourceFilesList?\\n```\\n\\nThe source files of the target.\\nNote: any playgrounds matched by the globs used in this property will be automatically added.\\n\\n### `resources`\\n\\n```swift\\npublic var resources: ResourceFileElements?\\n```\\n\\nThe resource files of target.\\nNote: localizable files, `*.lproj`, are supported.\\n\\n### `copyFiles`\\n\\n```swift\\npublic var copyFiles: [CopyFilesAction]?\\n```\\n\\nThe build phase copy files actions for the target.\\n\\n### `headers`\\n\\n```swift\\npublic var headers: Headers?\\n```\\n\\nThe headers for the target.\\n\\n### `entitlements`\\n\\n```swift\\npublic var entitlements: Entitlements?\\n```\\n\\nThe entitlements representation.\\n\\n> Note: For per-configuration entitlements, you should:\\n> 1. Keep this property as `nil`\\n> 2. Set the `CODE_SIGN_ENTITLEMENTS` build setting using `Target.settings` for each configuration\\n> 3. If you want the entitlement files to be included in the project navigator, add them using `Project.additionalFiles`\\n>\\n> Example:\\n> ```swift\\n> let target = Target(\\n> name: \\\"MyApp\\\",\\n> // ... other properties\\n> entitlements: nil, // Important: keep this as nil\\n> settings: .settings(\\n> configurations: [\\n> .debug(name: \\\"Debug\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Debug.entitlements\\\"]),\\n> .release(name: \\\"Release\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Release.entitlements\\\"])\\n> ]\\n> )\\n> )\\n>\\n> let project = Project(\\n> name: \\\"MyProject\\\",\\n> targets: [target],\\n> additionalFiles: [\\n> \\\"Debug.entitlements\\\",\\n> \\\"Release.entitlements\\\"\\n> ]\\n> )\\n> ```\\n\\n### `scripts`\\n\\n```swift\\npublic var scripts: [TargetScript]\\n```\\n\\nThe build phase scripts actions for the target.\\n\\n### `dependencies`\\n\\n```swift\\npublic var dependencies: [TargetDependency]\\n```\\n\\nThe target's dependencies.\\n\\n### `settings`\\n\\n```swift\\npublic var settings: Settings?\\n```\\n\\nThe target's settings.\\n\\n### `coreDataModels`\\n\\n```swift\\npublic var coreDataModels: [CoreDataModel]\\n```\\n\\nThe Core Data models.\\n\\n### `environmentVariables`\\n\\n```swift\\npublic var environmentVariables: [String: EnvironmentVariable]\\n```\\n\\nThe environment variables. Used by autogenerated schemes for the target.\\n\\n### `launchArguments`\\n\\n```swift\\npublic var launchArguments: [LaunchArgument]\\n```\\n\\nThe launch arguments. Used by autogenerated schemes for the target.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic var additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the target. For project's additional files, see ``Project/additionalFiles``.\\n\\n### `buildRules`\\n\\n```swift\\npublic var buildRules: [BuildRule]\\n```\\n\\nThe build rules used for transformation of source files during compilation.\\n\\n### `mergedBinaryType`\\n\\n```swift\\npublic var mergedBinaryType: MergedBinaryType\\n```\\n\\nSpecifies whether if the target can merge or not the dynamic dependencies as part of its binary\\n\\n### `mergeable`\\n\\n```swift\\npublic var mergeable: Bool\\n```\\n\\nSpecifies whether if the target can be merged as part of another binary or not\\n\\n### `onDemandResourcesTags`\\n\\n```swift\\npublic var onDemandResourcesTags: OnDemandResourcesTags?\\n```\\n\\nThe target's tags associated with on demand resources\\n\\n### `metadata`\\n\\n```swift\\npublic var metadata: TargetMetadata\\n```\\n\\nThe target's metadata.\\n\\n## Methods\\n### `target(name:destinations:product:productName:bundleId:deploymentTargets:infoPlist:sources:resources:copyFiles:headers:entitlements:scripts:dependencies:settings:coreDataModels:environmentVariables:launchArguments:additionalFiles:buildRules:mergedBinaryType:mergeable:onDemandResourcesTags:metadata:)`\\n\\n```swift\\npublic static func target(\\n name: String,\\n destinations: Destinations,\\n product: Product,\\n productName: String? = nil,\\n bundleId: String,\\n deploymentTargets: DeploymentTargets? = nil,\\n infoPlist: InfoPlist? = .default,\\n sources: SourceFilesList? = nil,\\n resources: ResourceFileElements? = nil,\\n copyFiles: [CopyFilesAction]? = nil,\\n headers: Headers? = nil,\\n entitlements: Entitlements? = nil,\\n scripts: [TargetScript] = [],\\n dependencies: [TargetDependency] = [],\\n settings: Settings? = nil,\\n coreDataModels: [CoreDataModel] = [],\\n environmentVariables: [String: EnvironmentVariable] = [:],\\n launchArguments: [LaunchArgument] = [],\\n additionalFiles: [FileElement] = [],\\n buildRules: [BuildRule] = [],\\n mergedBinaryType: MergedBinaryType = .disabled,\\n mergeable: Bool = false,\\n onDemandResourcesTags: OnDemandResourcesTags? = nil,\\n metadata: TargetMetadata = .default\\n) -> Self\\n```\\n\",\"title\":\"`Target`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Target\",\"LLMS_URL\":\"/generated/manifest/structs/Target.md\"}},{\"path\":\"/generated/manifest/structs/TargetMetadata.md\",\"url\":\"/generated/manifest/structs/TargetMetadata\",\"llmUrl\":\"/generated/manifest/structs/TargetMetadata.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/TargetMetadata\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/TargetMetadata.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetMetadata`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `tags`\\n - `default`\\n- [Methods](#methods)\\n - `metadata(tags:)`\\n\\n```swift\\npublic struct TargetMetadata: Codable, Equatable, Sendable\\n```\\n\\n## Properties\\n### `tags`\\n\\n```swift\\npublic var tags: [String]\\n```\\n\\n### `default`\\n\\n```swift\\npublic static var `default`: TargetMetadata\\n```\\n\\n## Methods\\n### `metadata(tags:)`\\n\\n```swift\\npublic static func metadata(\\n tags: [String] = []\\n) -> TargetMetadata\\n```\\n\\nReturns a target metadata.\\n\\n- Parameters:\\n - tags: The list of tags to use. Used to select focused targets when generating the project.\\n- Returns: Target metadata\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tags | The list of tags to use. Used to select focused targets when generating the project. |\",\"title\":\"`TargetMetadata`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/TargetMetadata\",\"LLMS_URL\":\"/generated/manifest/structs/TargetMetadata.md\"}},{\"path\":\"/generated/manifest/structs/TargetReference.md\",\"url\":\"/generated/manifest/structs/TargetReference\",\"llmUrl\":\"/generated/manifest/structs/TargetReference.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/TargetReference\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/TargetReference.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetReference`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `projectPath`\\n - `targetName`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `project(path:target:)`\\n - `target(_:)`\\n\\n```swift\\npublic struct TargetReference: Hashable, Codable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\nA target reference for a specified project.\\n\\nThe project is specified through the path and should contain the target name.\\n\\n## Properties\\n### `projectPath`\\n\\n```swift\\npublic var projectPath: Path?\\n```\\n\\nPath to the target's project directory.\\n\\n### `targetName`\\n\\n```swift\\npublic var targetName: String\\n```\\n\\nName of the target.\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `project(path:target:)`\\n\\n```swift\\npublic static func project(path: Path, target: String) -> TargetReference\\n```\\n\\n### `target(_:)`\\n\\n```swift\\npublic static func target(_ name: String) -> TargetReference\\n```\\n\",\"title\":\"`TargetReference`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/TargetReference\",\"LLMS_URL\":\"/generated/manifest/structs/TargetReference.md\"}},{\"path\":\"/generated/manifest/structs/TargetScript.md\",\"url\":\"/generated/manifest/structs/TargetScript\",\"llmUrl\":\"/generated/manifest/structs/TargetScript.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/TargetScript\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/TargetScript.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetScript`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `script`\\n - `order`\\n - `inputPaths`\\n - `inputFileListPaths`\\n - `outputPaths`\\n - `outputFileListPaths`\\n - `basedOnDependencyAnalysis`\\n - `runForInstallBuildsOnly`\\n - `shellPath`\\n - `dependencyFile`\\n- [Methods](#methods)\\n - `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic struct TargetScript: Codable, Equatable, Sendable\\n```\\n\\nA build phase action used to run a script.\\n\\nTarget scripts, represented as target script build phases in the generated Xcode projects, are useful to define actions to be\\nexecuted before of after the build process of a target.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of the build phase when the project gets generated.\\n\\n### `script`\\n\\n```swift\\npublic var script: Script\\n```\\n\\nThe script that is to be executed\\n\\n### `order`\\n\\n```swift\\npublic var order: Order\\n```\\n\\nTarget script order.\\n\\n### `inputPaths`\\n\\n```swift\\npublic var inputPaths: [FileListGlob]\\n```\\n\\nList of input file paths\\n\\n### `inputFileListPaths`\\n\\n```swift\\npublic var inputFileListPaths: [Path]\\n```\\n\\nList of input filelist paths\\n\\n### `outputPaths`\\n\\n```swift\\npublic var outputPaths: [Path]\\n```\\n\\nList of output file paths\\n\\n### `outputFileListPaths`\\n\\n```swift\\npublic var outputFileListPaths: [Path]\\n```\\n\\nList of output filelist paths\\n\\n### `basedOnDependencyAnalysis`\\n\\n```swift\\npublic var basedOnDependencyAnalysis: Bool?\\n```\\n\\nWhether to skip running this script in incremental builds, if nothing has changed\\n\\n### `runForInstallBuildsOnly`\\n\\n```swift\\npublic var runForInstallBuildsOnly: Bool\\n```\\n\\nWhether this script only runs on install builds (default is false)\\n\\n### `shellPath`\\n\\n```swift\\npublic var shellPath: String\\n```\\n\\nThe path to the shell which shall execute this script.\\n\\n### `dependencyFile`\\n\\n```swift\\npublic var dependencyFile: Path?\\n```\\n\\nThe path to the dependency file\\n\\n## Methods\\n### `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n path: Path,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n path: Path,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n path: Path,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n path: Path,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n tool: String,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n tool: String,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n tool: String,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n tool: String,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n script: String,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - script: The text of the script to run. This should be kept small.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| script | The text of the script to run. This should be kept small. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n script: String,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - script: The script to be executed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| script | The script to be executed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\",\"title\":\"`TargetScript`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/TargetScript\",\"LLMS_URL\":\"/generated/manifest/structs/TargetScript.md\"}},{\"path\":\"/generated/manifest/structs/Template.md\",\"url\":\"/generated/manifest/structs/Template\",\"llmUrl\":\"/generated/manifest/structs/Template.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Template\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Template.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Template`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `description`\\n - `attributes`\\n - `items`\\n- [Methods](#methods)\\n - `init(description:attributes:items:)`\\n\\n```swift\\npublic struct Template: Codable, Equatable, Sendable\\n```\\n\\nA scaffold template model.\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic let description: String\\n```\\n\\nDescription of template\\n\\n### `attributes`\\n\\n```swift\\npublic let attributes: [Attribute]\\n```\\n\\nAttributes to be passed to template\\n\\n### `items`\\n\\n```swift\\npublic let items: [Item]\\n```\\n\\nItems to generate\\n\\n## Methods\\n### `init(description:attributes:items:)`\\n\\n```swift\\npublic init(\\n description: String,\\n attributes: [Attribute] = [],\\n items: [Item] = []\\n)\\n```\\n\",\"title\":\"`Template`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Template\",\"LLMS_URL\":\"/generated/manifest/structs/Template.md\"}},{\"path\":\"/generated/manifest/structs/Template.Item.md\",\"url\":\"/generated/manifest/structs/Template.Item\",\"llmUrl\":\"/generated/manifest/structs/Template.Item.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Template.Item\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Template.Item.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Template.Item`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `path`\\n - `contents`\\n- [Methods](#methods)\\n - `item(path:contents:)`\\n\\n```swift\\npublic struct Item: Codable, Equatable, Sendable\\n```\\n\\nFile description for generating\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic let path: String\\n```\\n\\n### `contents`\\n\\n```swift\\npublic let contents: Contents\\n```\\n\\n## Methods\\n### `item(path:contents:)`\\n\\n```swift\\npublic static func item(path: String, contents: Contents) -> Self\\n```\\n\",\"title\":\"`Template.Item`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Template.Item\",\"LLMS_URL\":\"/generated/manifest/structs/Template.Item.md\"}},{\"path\":\"/generated/manifest/structs/TemplateString.md\",\"url\":\"/generated/manifest/structs/TemplateString\",\"llmUrl\":\"/generated/manifest/structs/TemplateString.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/TemplateString\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/TemplateString.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TemplateString`\\n\\n```swift\\npublic struct TemplateString: Encodable, Decodable, Equatable\\n```\\n\",\"title\":\"`TemplateString`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/TemplateString\",\"LLMS_URL\":\"/generated/manifest/structs/TemplateString.md\"}},{\"path\":\"/generated/manifest/structs/TemplateString.StringInterpolation.md\",\"url\":\"/generated/manifest/structs/TemplateString.StringInterpolation\",\"llmUrl\":\"/generated/manifest/structs/TemplateString.StringInterpolation.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/TemplateString.StringInterpolation\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/TemplateString.StringInterpolation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TemplateString.StringInterpolation`\\n\\n**Contents**\\n\\n- [Methods](#methods)\\n - `init(literalCapacity:interpolationCount:)`\\n - `appendLiteral(_:)`\\n - `appendInterpolation(_:)`\\n\\n```swift\\npublic struct StringInterpolation: StringInterpolationProtocol\\n```\\n\\n## Methods\\n### `init(literalCapacity:interpolationCount:)`\\n\\n```swift\\npublic init(literalCapacity _: Int, interpolationCount _: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| literalCapacity | The approximate size of all literal segments combined. This is meant to be passed to `String.reserveCapacity(_:)`; it may be slightly larger or smaller than the sum of the counts of each literal segment. |\\n| interpolationCount | The number of interpolations which will be appended. Use this value to estimate how much additional capacity will be needed for the interpolated segments. |\\n\\n### `appendLiteral(_:)`\\n\\n```swift\\npublic mutating func appendLiteral(_ literal: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| literal | A string literal containing the characters that appear next in the string literal. |\\n\\n### `appendInterpolation(_:)`\\n\\n```swift\\npublic mutating func appendInterpolation(_ token: TemplateString.Token)\\n```\\n\",\"title\":\"`TemplateString.StringInterpolation`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/TemplateString.StringInterpolation\",\"LLMS_URL\":\"/generated/manifest/structs/TemplateString.StringInterpolation.md\"}},{\"path\":\"/generated/manifest/structs/TestableTarget.md\",\"url\":\"/generated/manifest/structs/TestableTarget\",\"llmUrl\":\"/generated/manifest/structs/TestableTarget.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/TestableTarget\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/TestableTarget.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestableTarget`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `target`\\n - `isSkipped`\\n - `isParallelizable`\\n - `parallelization`\\n - `isRandomExecutionOrdering`\\n - `simulatedLocation`\\n- [Methods](#methods)\\n - `testableTarget(target:isSkipped:isParallelizable:isRandomExecutionOrdering:simulatedLocation:)`\\n - `testableTarget(target:isSkipped:parallelization:isRandomExecutionOrdering:simulatedLocation:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct TestableTarget: Equatable, Codable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\n## Properties\\n### `target`\\n\\n```swift\\npublic var target: TargetReference\\n```\\n\\n### `isSkipped`\\n\\n```swift\\npublic var isSkipped: Bool\\n```\\n\\n### `isParallelizable`\\n\\n```swift\\npublic var isParallelizable: Bool\\n```\\n\\n### `parallelization`\\n\\n```swift\\npublic var parallelization: Parallelization\\n```\\n\\n### `isRandomExecutionOrdering`\\n\\n```swift\\npublic var isRandomExecutionOrdering: Bool\\n```\\n\\n### `simulatedLocation`\\n\\n```swift\\npublic var simulatedLocation: SimulatedLocation?\\n```\\n\\n## Methods\\n### `testableTarget(target:isSkipped:isParallelizable:isRandomExecutionOrdering:simulatedLocation:)`\\n\\n```swift\\npublic static func testableTarget(\\n target: TargetReference,\\n isSkipped: Bool = false,\\n isParallelizable: Bool,\\n isRandomExecutionOrdering: Bool = false,\\n simulatedLocation: SimulatedLocation? = nil\\n) -> Self\\n```\\n\\nReturns a testable target.\\n\\n- Parameters:\\n - target: The name or reference of target to test.\\n - isSkipped: Whether to skip this test target. If true, the test target is disabled.\\n - isParallelizable: Whether to run in parallel.\\n - isRandomExecutionOrdering: Whether to test in random order.\\n - simulatedLocation: The simulated GPS location to use when testing this target.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | The name or reference of target to test. |\\n| isSkipped | Whether to skip this test target. If true, the test target is disabled. |\\n| isParallelizable | Whether to run in parallel. |\\n| isRandomExecutionOrdering | Whether to test in random order. |\\n| simulatedLocation | The simulated GPS location to use when testing this target. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n\\n### `testableTarget(target:isSkipped:parallelization:isRandomExecutionOrdering:simulatedLocation:)`\\n\\n```swift\\npublic static func testableTarget(\\n target: TargetReference,\\n isSkipped: Bool = false,\\n parallelization: Parallelization = .disabled,\\n isRandomExecutionOrdering: Bool = false,\\n simulatedLocation: SimulatedLocation? = nil\\n) -> Self\\n```\\n\\nReturns a testable target.\\n\\n- Parameters:\\n - target: The name or reference of target to test.\\n - isSkipped: Whether to skip this test target. If true, the test target is disabled.\\n - parallelization: Whether to run tests in parallel. Can be either `.disabled`, `.enabled`, or `.swiftTestingOnly`. The\\ndefault value is `.disabled`.\\n - isRandomExecutionOrdering: Whether to test in random order.\\n - simulatedLocation: The simulated GPS location to use when testing this target.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | The name or reference of target to test. |\\n| isSkipped | Whether to skip this test target. If true, the test target is disabled. |\\n| parallelization | Whether to run tests in parallel. Can be either `.disabled`, `.enabled`, or `.swiftTestingOnly`. The default value is `.disabled`. |\\n| isRandomExecutionOrdering | Whether to test in random order. |\\n| simulatedLocation | The simulated GPS location to use when testing this target. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\",\"title\":\"`TestableTarget`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/TestableTarget\",\"LLMS_URL\":\"/generated/manifest/structs/TestableTarget.md\"}},{\"path\":\"/generated/manifest/structs/TestAction.md\",\"url\":\"/generated/manifest/structs/TestAction\",\"llmUrl\":\"/generated/manifest/structs/TestAction.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/TestAction\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/TestAction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `testPlans`\\n - `targets`\\n - `arguments`\\n - `configuration`\\n - `attachDebugger`\\n - `expandVariableFromTarget`\\n - `preActions`\\n - `postActions`\\n - `options`\\n - `diagnosticsOptions`\\n - `skippedTests`\\n- [Methods](#methods)\\n - `targets(_:arguments:configuration:attachDebugger:expandVariableFromTarget:preActions:postActions:options:diagnosticsOptions:skippedTests:)`\\n - `testPlans(_:configuration:attachDebugger:preActions:postActions:)`\\n\\n```swift\\npublic struct TestAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that tests the built products.\\n\\nYou can create a test action with either a set of test targets or test plans using the `.targets` or `.testPlans` static\\nmethods respectively.\\n\\n## Properties\\n### `testPlans`\\n\\n```swift\\npublic var testPlans: [Path]?\\n```\\n\\nList of test plans. The first in the list will be the default plan.\\n\\n### `targets`\\n\\n```swift\\npublic var targets: [TestableTarget]\\n```\\n\\nA list of testable targets, that are targets which are defined in the project with testable information.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nBuild configuration to run the test with.\\n\\n### `attachDebugger`\\n\\n```swift\\npublic var attachDebugger: Bool\\n```\\n\\nWhether a debugger should be attached to the test process or not.\\n\\n### `expandVariableFromTarget`\\n\\n```swift\\npublic var expandVariableFromTarget: TargetReference?\\n```\\n\\nA target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT)\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the tests-run process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the tests-run process.\\n\\n### `options`\\n\\n```swift\\npublic var options: TestActionOptions\\n```\\n\\nList of options to set to the action.\\n\\n### `diagnosticsOptions`\\n\\n```swift\\npublic var diagnosticsOptions: SchemeDiagnosticsOptions\\n```\\n\\nList of diagnostics options to set to the action.\\n\\n### `skippedTests`\\n\\n```swift\\npublic var skippedTests: [String]?\\n```\\n\\nList of testIdentifiers to skip to the test\\n\\n## Methods\\n### `targets(_:arguments:configuration:attachDebugger:expandVariableFromTarget:preActions:postActions:options:diagnosticsOptions:skippedTests:)`\\n\\n```swift\\npublic static func targets(\\n _ targets: [TestableTarget],\\n arguments: Arguments? = nil,\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n expandVariableFromTarget: TargetReference? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n options: TestActionOptions = .options(),\\n diagnosticsOptions: SchemeDiagnosticsOptions = .options(),\\n skippedTests: [String] = []\\n) -> Self\\n```\\n\\nReturns a test action from a list of targets to be tested.\\n- Parameters:\\n - targets: List of targets to be tested.\\n - arguments: Arguments passed when running the tests.\\n - configuration: Configuration to be used.\\n - attachDebugger: A boolean controlling whether a debugger is attached to the process running the tests.\\n - expandVariableFromTarget: A target that will be used to expand the variables defined inside Environment Variables\\ndefinition. When nil, it does not expand any variables.\\n - preActions: Actions to execute before running the tests.\\n - postActions: Actions to execute after running the tests.\\n - options: Test options.\\n - diagnosticsOptions: Diagnostics options.\\n- Returns: An initialized test action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| targets | List of targets to be tested. |\\n| arguments | Arguments passed when running the tests. |\\n| configuration | Configuration to be used. |\\n| attachDebugger | A boolean controlling whether a debugger is attached to the process running the tests. |\\n| expandVariableFromTarget | A target that will be used to expand the variables defined inside Environment Variables definition. When nil, it does not expand any variables. |\\n| preActions | Actions to execute before running the tests. |\\n| postActions | Actions to execute after running the tests. |\\n| options | Test options. |\\n| diagnosticsOptions | Diagnostics options. |\\n\\n### `testPlans(_:configuration:attachDebugger:preActions:postActions:)`\\n\\n```swift\\npublic static func testPlans(\\n _ testPlans: [Path],\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = []\\n) -> Self\\n```\\n\\nReturns a test action from a list of test plans.\\n- Parameters:\\n - testPlans: List of test plans to run.\\n - configuration: Configuration to be used.\\n - attachDebugger: A boolean controlling whether a debugger is attached to the process running the tests.\\n - preActions: Actions to execute before running the tests.\\n - postActions: Actions to execute after running the tests.\\n- Returns: A test action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| testPlans | List of test plans to run. |\\n| configuration | Configuration to be used. |\\n| attachDebugger | A boolean controlling whether a debugger is attached to the process running the tests. |\\n| preActions | Actions to execute before running the tests. |\\n| postActions | Actions to execute after running the tests. |\",\"title\":\"`TestAction`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/TestAction\",\"LLMS_URL\":\"/generated/manifest/structs/TestAction.md\"}},{\"path\":\"/generated/manifest/structs/TestActionOptions.md\",\"url\":\"/generated/manifest/structs/TestActionOptions\",\"llmUrl\":\"/generated/manifest/structs/TestActionOptions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/TestActionOptions\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/TestActionOptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestActionOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `language`\\n - `region`\\n - `preferredScreenCaptureFormat`\\n - `coverage`\\n - `codeCoverageTargets`\\n- [Methods](#methods)\\n - `options(language:region:preferredScreenCaptureFormat:coverage:codeCoverageTargets:)`\\n\\n```swift\\npublic struct TestActionOptions: Equatable, Codable, Sendable\\n```\\n\\nThe type `TestActionOptions` represents a set of options for a test action.\\n\\n## Properties\\n### `language`\\n\\n```swift\\npublic var language: SchemeLanguage?\\n```\\n\\nLanguage used to run the tests.\\n\\n### `region`\\n\\n```swift\\npublic var region: String?\\n```\\n\\nRegion used to run the tests.\\n\\n### `preferredScreenCaptureFormat`\\n\\n```swift\\npublic var preferredScreenCaptureFormat: ScreenCaptureFormat?\\n```\\n\\nPreferred screen capture format for UI tests results in Xcode 15+\\n\\n### `coverage`\\n\\n```swift\\npublic var coverage: Bool\\n```\\n\\nWhether the scheme should or not gather the test coverage data.\\n\\n### `codeCoverageTargets`\\n\\n```swift\\npublic var codeCoverageTargets: [TargetReference]\\n```\\n\\nA list of targets you want to gather the test coverage data for them, which are defined in the project.\\n\\n## Methods\\n### `options(language:region:preferredScreenCaptureFormat:coverage:codeCoverageTargets:)`\\n\\n```swift\\npublic static func options(\\n language: SchemeLanguage? = nil,\\n region: String? = nil,\\n preferredScreenCaptureFormat: ScreenCaptureFormat? = nil,\\n coverage: Bool = false,\\n codeCoverageTargets: [TargetReference] = []\\n) -> TestActionOptions\\n```\\n\\nReturns a set of options for a test action.\\n- Parameters:\\n - language: Language used for running the tests.\\n - region: Region used for running the tests.\\n - coverage: Whether test coverage should be collected.\\n - codeCoverageTargets: List of test targets whose code coverage information should be collected.\\n- Returns: A set of options.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| language | Language used for running the tests. |\\n| region | Region used for running the tests. |\\n| coverage | Whether test coverage should be collected. |\\n| codeCoverageTargets | List of test targets whose code coverage information should be collected. |\",\"title\":\"`TestActionOptions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/TestActionOptions\",\"LLMS_URL\":\"/generated/manifest/structs/TestActionOptions.md\"}},{\"path\":\"/generated/manifest/structs/TestingOptions.md\",\"url\":\"/generated/manifest/structs/TestingOptions\",\"llmUrl\":\"/generated/manifest/structs/TestingOptions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/TestingOptions\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/TestingOptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestingOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `rawValue`\\n - `parallelizable`\\n - `randomExecutionOrdering`\\n- [Methods](#methods)\\n - `init(rawValue:)`\\n\\n```swift\\npublic struct TestingOptions: OptionSet, Codable, Equatable, Sendable\\n```\\n\\nOptions to configure testing of autogenerated schemes.\\n\\n## Properties\\n### `rawValue`\\n\\n```swift\\npublic let rawValue: Int\\n```\\n\\n### `parallelizable`\\n\\n```swift\\npublic static let parallelizable = TestingOptions(rawValue: 1 << 0)\\n```\\n\\nRun tests on multiple destinations in parallel\\n\\n### `randomExecutionOrdering`\\n\\n```swift\\npublic static let randomExecutionOrdering = TestingOptions(rawValue: 1 << 1)\\n```\\n\\nExecute tests in random order\\n\\n## Methods\\n### `init(rawValue:)`\\n\\n```swift\\npublic init(rawValue: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| rawValue | The raw value of the option set to create. Each bit of `rawValue` potentially represents an element of the option set, though raw values may include bits that are not defined as distinct values of the `OptionSet` type. |\",\"title\":\"`TestingOptions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/TestingOptions\",\"LLMS_URL\":\"/generated/manifest/structs/TestingOptions.md\"}},{\"path\":\"/generated/manifest/structs/Tuist.md\",\"url\":\"/generated/manifest/structs/Tuist\",\"llmUrl\":\"/generated/manifest/structs/Tuist.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Tuist\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Tuist.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Tuist`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `project`\\n - `fullHandle`\\n - `inspectOptions`\\n - `url`\\n- [Methods](#methods)\\n - `init(compatibleXcodeVersions:cloud:fullHandle:url:swiftVersion:plugins:generationOptions:inspectOptions:installOptions:)`\\n - `init(fullHandle:inspectOptions:url:project:)`\\n\\n```swift\\npublic struct Tuist: Codable, Equatable, Sendable\\n```\\n\\n## Properties\\n### `project`\\n\\n```swift\\npublic let project: TuistProject\\n```\\n\\nConfigures the project Tuist will interact with.\\nWhen no project is provided, Tuist defaults to the workspace or project in the current directory.\\n\\n### `fullHandle`\\n\\n```swift\\npublic let fullHandle: String?\\n```\\n\\nThe full project handle such as tuist-org/tuist.\\n\\n### `inspectOptions`\\n\\n```swift\\npublic let inspectOptions: InspectOptions\\n```\\n\\nThe options to use when running `tuist inspect`.\\n\\n### `url`\\n\\n```swift\\npublic let url: String\\n```\\n\\nThe base URL that points to the Tuist server.\\n\\n## Methods\\n### `init(compatibleXcodeVersions:cloud:fullHandle:url:swiftVersion:plugins:generationOptions:inspectOptions:installOptions:)`\\n\\n```swift\\npublic init(\\n compatibleXcodeVersions: CompatibleXcodeVersions = .all,\\n cloud: Cloud? = nil,\\n fullHandle: String? = nil,\\n url: String = \\\"https://tuist.dev\\\",\\n swiftVersion: Version? = nil,\\n plugins: [PluginLocation] = [],\\n generationOptions: GenerationOptions = .options(),\\n inspectOptions: InspectOptions = .options(),\\n installOptions: InstallOptions = .options()\\n)\\n```\\n\\nCreates a tuist configuration.\\n\\n- Parameters:\\n - compatibleXcodeVersions: List of Xcode versions the project is compatible with.\\n - cloud: Cloud configuration.\\n - swiftVersion: The version of Swift that will be used by Tuist.\\n - plugins: A list of plugins to extend Tuist.\\n - generationOptions: List of options to use when generating the project.\\n - installOptions: List of options to use when running `tuist install`.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| compatibleXcodeVersions | List of Xcode versions the project is compatible with. |\\n| cloud | Cloud configuration. |\\n| swiftVersion | The version of Swift that will be used by Tuist. |\\n| plugins | A list of plugins to extend Tuist. |\\n| generationOptions | List of options to use when generating the project. |\\n| installOptions | List of options to use when running `tuist install`. |\\n\\n### `init(fullHandle:inspectOptions:url:project:)`\\n\\n```swift\\npublic init(\\n fullHandle: String? = nil,\\n inspectOptions: InspectOptions = .options(),\\n url: String = \\\"https://tuist.dev\\\",\\n project: TuistProject\\n)\\n```\\n\",\"title\":\"`Tuist`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Tuist\",\"LLMS_URL\":\"/generated/manifest/structs/Tuist.md\"}},{\"path\":\"/generated/manifest/structs/Tuist.GenerationOptions.md\",\"url\":\"/generated/manifest/structs/Tuist.GenerationOptions\",\"llmUrl\":\"/generated/manifest/structs/Tuist.GenerationOptions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Tuist.GenerationOptions\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Tuist.GenerationOptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Tuist.GenerationOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `resolveDependenciesWithSystemScm`\\n - `disablePackageVersionLocking`\\n - `clonedSourcePackagesDirPath`\\n - `staticSideEffectsWarningTargets`\\n - `enforceExplicitDependencies`\\n - `defaultConfiguration`\\n - `optionalAuthentication`\\n - `buildInsightsDisabled`\\n - `disableSandbox`\\n- [Methods](#methods)\\n - `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:)`\\n - `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:defaultConfiguration:optionalAuthentication:)`\\n\\n```swift\\npublic struct GenerationOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for project generation.\\n\\n## Properties\\n### `resolveDependenciesWithSystemScm`\\n\\n```swift\\npublic var resolveDependenciesWithSystemScm: Bool\\n```\\n\\nWhen passed, Xcode will resolve its Package Manager dependencies using the system-defined\\naccounts (for example, git) instead of the Xcode-defined accounts\\n\\n### `disablePackageVersionLocking`\\n\\n```swift\\npublic var disablePackageVersionLocking: Bool\\n```\\n\\nDisables locking Swift packages. This can speed up generation but does increase risk if packages are not locked\\nin their declarations.\\n\\n### `clonedSourcePackagesDirPath`\\n\\n```swift\\npublic var clonedSourcePackagesDirPath: Path?\\n```\\n\\nAllows setting a custom directory to be used when resolving package dependencies\\nThis path is passed to `xcodebuild` via the `-clonedSourcePackagesDirPath` argument\\n\\n### `staticSideEffectsWarningTargets`\\n\\n```swift\\npublic var staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets\\n```\\n\\nAllows configuring which targets Tuist checks for potential side effects due multiple branches of the graph\\nincluding the same static library of framework as a transitive dependency.\\n\\n### `enforceExplicitDependencies`\\n\\n```swift\\npublic let enforceExplicitDependencies: Bool\\n```\\n\\nThe generated project has build settings and build paths modified in such a way that projects with implicit\\ndependencies won't build until all dependencies are declared explicitly.\\n\\n### `defaultConfiguration`\\n\\n```swift\\npublic var defaultConfiguration: String?\\n```\\n\\nThe default configuration to be used when generating the project.\\nIf not specified, Tuist generates for the first (when alphabetically sorted) debug configuration.\\n\\n### `optionalAuthentication`\\n\\n```swift\\npublic var optionalAuthentication: Bool\\n```\\n\\nMarks whether the Tuist server authentication is optional.\\nIf present, the interaction with the Tuist server will be skipped (instead of failing) if a user is not authenticated.\\n\\n### `buildInsightsDisabled`\\n\\n```swift\\npublic var buildInsightsDisabled: Bool\\n```\\n\\nWhen disabled, build insights are not collected. Build insights are never collected unless you are connected to a\\nremote Tuist project.\\nDefault value is `true`.\\n\\n### `disableSandbox`\\n\\n```swift\\npublic var disableSandbox: Bool\\n```\\n\\nDisables building manifests in a sandboxed environment.\\n\\n- Warning: This is discouraged and should only be used if absolutely necessary. It guards against using file system\\noperations which:\\n - Make generation slow\\n - Cause issues with manifest caching\\n\\n## Methods\\n### `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:)`\\n\\n```swift\\npublic static func options(\\n resolveDependenciesWithSystemScm: Bool = false,\\n disablePackageVersionLocking: Bool = false,\\n clonedSourcePackagesDirPath: Path? = nil,\\n staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,\\n defaultConfiguration: String? = nil,\\n optionalAuthentication: Bool = false,\\n buildInsightsDisabled: Bool = false,\\n disableSandbox: Bool = false\\n) -> Self\\n```\\n\\n### `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:defaultConfiguration:optionalAuthentication:)`\\n\\n```swift\\npublic static func options(\\n resolveDependenciesWithSystemScm: Bool = false,\\n disablePackageVersionLocking: Bool = false,\\n clonedSourcePackagesDirPath: Path? = nil,\\n staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,\\n enforceExplicitDependencies: Bool,\\n defaultConfiguration: String? = nil,\\n optionalAuthentication: Bool = false\\n) -> Self\\n```\\n\",\"title\":\"`Tuist.GenerationOptions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Tuist.GenerationOptions\",\"LLMS_URL\":\"/generated/manifest/structs/Tuist.GenerationOptions.md\"}},{\"path\":\"/generated/manifest/structs/TuistXcodeProjectOptions.md\",\"url\":\"/generated/manifest/structs/TuistXcodeProjectOptions\",\"llmUrl\":\"/generated/manifest/structs/TuistXcodeProjectOptions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/TuistXcodeProjectOptions\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/TuistXcodeProjectOptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TuistXcodeProjectOptions`\\n\\n**Contents**\\n\\n- [Methods](#methods)\\n - `options()`\\n\\n```swift\\npublic struct TuistXcodeProjectOptions: Codable, Equatable, Sendable\\n```\\n\\n## Methods\\n### `options()`\\n\\n```swift\\npublic static func options() -> Self\\n```\\n\",\"title\":\"`TuistXcodeProjectOptions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/TuistXcodeProjectOptions\",\"LLMS_URL\":\"/generated/manifest/structs/TuistXcodeProjectOptions.md\"}},{\"path\":\"/generated/manifest/structs/Version.md\",\"url\":\"/generated/manifest/structs/Version\",\"llmUrl\":\"/generated/manifest/structs/Version.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Version\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Version.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Version`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `major`\\n - `minor`\\n - `patch`\\n - `prereleaseIdentifiers`\\n - `buildMetadataIdentifiers`\\n- [Methods](#methods)\\n - `init(_:_:_:prereleaseIdentifiers:buildMetadataIdentifiers:)`\\n\\n```swift\\npublic struct Version: Hashable, Codable, Sendable\\n```\\n\\nA struct representing a semver version.\\nThis is taken from SPMUtility and copied here so we do not create a direct dependency for ProjectDescription. Used for\\nspecifying version number requirements inside of Project.swift\\n\\n## Properties\\n### `major`\\n\\n```swift\\npublic var major: Int\\n```\\n\\nThe major version.\\n\\n### `minor`\\n\\n```swift\\npublic var minor: Int\\n```\\n\\nThe minor version.\\n\\n### `patch`\\n\\n```swift\\npublic var patch: Int\\n```\\n\\nThe patch version.\\n\\n### `prereleaseIdentifiers`\\n\\n```swift\\npublic var prereleaseIdentifiers: [String]\\n```\\n\\nThe pre-release identifier.\\n\\n### `buildMetadataIdentifiers`\\n\\n```swift\\npublic var buildMetadataIdentifiers: [String]\\n```\\n\\nThe build metadata.\\n\\n## Methods\\n### `init(_:_:_:prereleaseIdentifiers:buildMetadataIdentifiers:)`\\n\\n```swift\\npublic init(\\n _ major: Int,\\n _ minor: Int,\\n _ patch: Int,\\n prereleaseIdentifiers: [String] = [],\\n buildMetadataIdentifiers: [String] = []\\n)\\n```\\n\\nCreate a version object.\\n\",\"title\":\"`Version`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Version\",\"LLMS_URL\":\"/generated/manifest/structs/Version.md\"}},{\"path\":\"/generated/manifest/structs/Workspace.md\",\"url\":\"/generated/manifest/structs/Workspace\",\"llmUrl\":\"/generated/manifest/structs/Workspace.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Workspace\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Workspace.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Workspace`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `projects`\\n - `schemes`\\n - `fileHeaderTemplate`\\n - `additionalFiles`\\n - `generationOptions`\\n- [Methods](#methods)\\n - `init(name:projects:schemes:fileHeaderTemplate:additionalFiles:generationOptions:)`\\n\\n```swift\\npublic struct Workspace: Codable, Equatable, Sendable\\n```\\n\\nA workspace representation.\\n\\nBy default, `tuist generate` generates an Xcode workspace that has the same name as the current project.\\nIt includes the project and all its dependencies.\\n\\nTuist allows customizing this behaviour by defining a workspace manifest within a `Workspace.swift` file.\\n\\nWorkspace manifests allow specifying a list of projects to generate and include in an Xcode workspace.\\nThose projects don’t necessarily have to depend on one another.\\nAdditionally, files and folder references _(such as documentation files)_ can be included in a workspace manifest.\\n\\nThe snippet below shows an example workspace manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet workspace = Workspace(\\n name: \\\"Workspace\\\",\\n projects: [\\\"Projects/**\\\"]\\n)\\n```\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the workspace. Also, the file name of the generated Xcode workspace.\\n\\n### `projects`\\n\\n```swift\\npublic let projects: [Path]\\n```\\n\\nThe paths (or glob patterns) to manifest projects.\\n\\n### `schemes`\\n\\n```swift\\npublic let schemes: [Scheme]\\n```\\n\\nThe custom schemes for the workspace. Default schemes for each target are generated by default.\\n\\n### `fileHeaderTemplate`\\n\\n```swift\\npublic let fileHeaderTemplate: FileHeaderTemplate?\\n```\\n\\nThe custom file header template for Xcode built-in file templates.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic let additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the workspace. For project's additional files, see ``Project/additionalFiles``.\\n\\n### `generationOptions`\\n\\n```swift\\npublic let generationOptions: GenerationOptions\\n```\\n\\nThe generation configuration of the workspace.\\n\\n## Methods\\n### `init(name:projects:schemes:fileHeaderTemplate:additionalFiles:generationOptions:)`\\n\\n```swift\\npublic init(\\n name: String,\\n projects: [Path],\\n schemes: [Scheme] = [],\\n fileHeaderTemplate: FileHeaderTemplate? = nil,\\n additionalFiles: [FileElement] = [],\\n generationOptions: GenerationOptions = .options()\\n)\\n```\\n\",\"title\":\"`Workspace`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Workspace\",\"LLMS_URL\":\"/generated/manifest/structs/Workspace.md\"}},{\"path\":\"/generated/manifest/structs/Workspace.GenerationOptions.md\",\"url\":\"/generated/manifest/structs/Workspace.GenerationOptions\",\"llmUrl\":\"/generated/manifest/structs/Workspace.GenerationOptions.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/structs/Workspace.GenerationOptions\\\"\\nLLMS_URL: \\\"/generated/manifest/structs/Workspace.GenerationOptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Workspace.GenerationOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `enableAutomaticXcodeSchemes`\\n - `autogeneratedWorkspaceSchemes`\\n - `lastXcodeUpgradeCheck`\\n - `renderMarkdownReadme`\\n- [Methods](#methods)\\n - `options(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:)`\\n\\n```swift\\npublic struct GenerationOptions: Codable, Equatable, Sendable\\n```\\n\\nGeneration options allow customizing the generation of the Xcode workspace.\\n\\n## Properties\\n### `enableAutomaticXcodeSchemes`\\n\\n```swift\\npublic var enableAutomaticXcodeSchemes: Bool?\\n```\\n\\nEnable or disable automatic generation of schemes by Xcode.\\n\\n### `autogeneratedWorkspaceSchemes`\\n\\n```swift\\npublic var autogeneratedWorkspaceSchemes: AutogeneratedWorkspaceSchemes\\n```\\n\\nEnable or disable automatic generation of `Workspace` schemes. If enabled, options to configure code coverage and test\\ntargets can be passed in via associated values.\\n\\n### `lastXcodeUpgradeCheck`\\n\\n```swift\\npublic var lastXcodeUpgradeCheck: Version?\\n```\\n\\nAllows to suppress warnings in Xcode about updates to recommended settings added in or below the specified Xcode\\nversion. The warnings appear when Xcode version has been upgraded.\\nIt is recommended to set the version option to Xcode's version that is used for development of a project, for example\\n`.lastXcodeUpgradeCheck(Version(13, 0, 0))` for Xcode 13.0.0.\\n\\n### `renderMarkdownReadme`\\n\\n```swift\\npublic var renderMarkdownReadme: Bool\\n```\\n\\nAllows to render markdown files inside the workspace including an .xcodesamples.plist inside it.\\n\\n## Methods\\n### `options(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:)`\\n\\n```swift\\npublic static func options(\\n enableAutomaticXcodeSchemes: Bool? = false,\\n autogeneratedWorkspaceSchemes: AutogeneratedWorkspaceSchemes = .enabled(),\\n lastXcodeUpgradeCheck: Version? = nil,\\n renderMarkdownReadme: Bool = false\\n) -> Self\\n```\\n\",\"title\":\"`Workspace.GenerationOptions`\",\"frontmatter\":{\"URL\":\"/generated/manifest/structs/Workspace.GenerationOptions\",\"LLMS_URL\":\"/generated/manifest/structs/Workspace.GenerationOptions.md\"}},{\"path\":\"/generated/manifest/typealiases/Array.ExtendedGraphemeClusterLiteralType.md\",\"url\":\"/generated/manifest/typealiases/Array.ExtendedGraphemeClusterLiteralType\",\"llmUrl\":\"/generated/manifest/typealiases/Array.ExtendedGraphemeClusterLiteralType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/typealiases/Array.ExtendedGraphemeClusterLiteralType\\\"\\nLLMS_URL: \\\"/generated/manifest/typealiases/Array.ExtendedGraphemeClusterLiteralType.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].ExtendedGraphemeClusterLiteralType`\\n\\n```swift\\npublic typealias ExtendedGraphemeClusterLiteralType = String\\n```\\n\",\"title\":\"`[FileElement].ExtendedGraphemeClusterLiteralType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/typealiases/Array.ExtendedGraphemeClusterLiteralType\",\"LLMS_URL\":\"/generated/manifest/typealiases/Array.ExtendedGraphemeClusterLiteralType.md\"}},{\"path\":\"/generated/manifest/typealiases/Array.StringLiteralType.md\",\"url\":\"/generated/manifest/typealiases/Array.StringLiteralType\",\"llmUrl\":\"/generated/manifest/typealiases/Array.StringLiteralType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/typealiases/Array.StringLiteralType\\\"\\nLLMS_URL: \\\"/generated/manifest/typealiases/Array.StringLiteralType.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].StringLiteralType`\\n\\n```swift\\npublic typealias StringLiteralType = String\\n```\\n\",\"title\":\"`[FileElement].StringLiteralType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/typealiases/Array.StringLiteralType\",\"LLMS_URL\":\"/generated/manifest/typealiases/Array.StringLiteralType.md\"}},{\"path\":\"/generated/manifest/typealiases/Array.UnicodeScalarLiteralType.md\",\"url\":\"/generated/manifest/typealiases/Array.UnicodeScalarLiteralType\",\"llmUrl\":\"/generated/manifest/typealiases/Array.UnicodeScalarLiteralType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/typealiases/Array.UnicodeScalarLiteralType\\\"\\nLLMS_URL: \\\"/generated/manifest/typealiases/Array.UnicodeScalarLiteralType.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].UnicodeScalarLiteralType`\\n\\n```swift\\npublic typealias UnicodeScalarLiteralType = String\\n```\\n\",\"title\":\"`[FileElement].UnicodeScalarLiteralType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/typealiases/Array.UnicodeScalarLiteralType\",\"LLMS_URL\":\"/generated/manifest/typealiases/Array.UnicodeScalarLiteralType.md\"}},{\"path\":\"/generated/manifest/typealiases/Config.md\",\"url\":\"/generated/manifest/typealiases/Config\",\"llmUrl\":\"/generated/manifest/typealiases/Config.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/typealiases/Config\\\"\\nLLMS_URL: \\\"/generated/manifest/typealiases/Config.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `Config`\\n\\n```swift\\npublic typealias Config = Tuist\\n```\\n\\nThe configuration of your environment.\\n\\nTuist can be configured through a shared `Tuist.swift` manifest.\\nWhen Tuist is executed, it traverses up the directories to find `Tuist.swift` file.\\nDefining a configuration manifest is not required, but recommended to ensure a consistent behaviour across all the projects\\nthat are part of the repository.\\n\\nThe example below shows a project that has a global `Tuist.swift` file that will be used when Tuist is run from any of the\\nsubdirectories:\\n\\n```bash\\n/Workspace.swift\\n/Tuist.swift # Configuration manifest\\n/Framework/Project.swift\\n/App/Project.swift\\n```\\n\\nThat way, when executing Tuist in any of the subdirectories, it will use the shared configuration.\\n\\nThe snippet below shows an example configuration manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Config(project: .tuist(generationOptions: .options(resolveDependenciesWithSystemScm: false)))\\n\\n```\",\"title\":\"`Config`\",\"frontmatter\":{\"URL\":\"/generated/manifest/typealiases/Config\",\"LLMS_URL\":\"/generated/manifest/typealiases/Config.md\"}},{\"path\":\"/generated/manifest/typealiases/Destinations.md\",\"url\":\"/generated/manifest/typealiases/Destinations\",\"llmUrl\":\"/generated/manifest/typealiases/Destinations.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/typealiases/Destinations\\\"\\nLLMS_URL: \\\"/generated/manifest/typealiases/Destinations.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `Destinations`\\n\\n```swift\\npublic typealias Destinations = Set\\n```\\n\\nSet of deployment destinations\",\"title\":\"`Destinations`\",\"frontmatter\":{\"URL\":\"/generated/manifest/typealiases/Destinations\",\"LLMS_URL\":\"/generated/manifest/typealiases/Destinations.md\"}},{\"path\":\"/generated/manifest/typealiases/PlatformFilters.md\",\"url\":\"/generated/manifest/typealiases/PlatformFilters\",\"llmUrl\":\"/generated/manifest/typealiases/PlatformFilters.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/typealiases/PlatformFilters\\\"\\nLLMS_URL: \\\"/generated/manifest/typealiases/PlatformFilters.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `PlatformFilters`\\n\\n```swift\\npublic typealias PlatformFilters = Set\\n```\\n\",\"title\":\"`PlatformFilters`\",\"frontmatter\":{\"URL\":\"/generated/manifest/typealiases/PlatformFilters\",\"LLMS_URL\":\"/generated/manifest/typealiases/PlatformFilters.md\"}},{\"path\":\"/generated/manifest/typealiases/RunActionOptions.SimulatedLocation.md\",\"url\":\"/generated/manifest/typealiases/RunActionOptions.SimulatedLocation\",\"llmUrl\":\"/generated/manifest/typealiases/RunActionOptions.SimulatedLocation.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/typealiases/RunActionOptions.SimulatedLocation\\\"\\nLLMS_URL: \\\"/generated/manifest/typealiases/RunActionOptions.SimulatedLocation.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `RunActionOptions.SimulatedLocation`\\n\\n```swift\\npublic typealias SimulatedLocation = ProjectDescription.SimulatedLocation\\n```\\n\",\"title\":\"`RunActionOptions.SimulatedLocation`\",\"frontmatter\":{\"URL\":\"/generated/manifest/typealiases/RunActionOptions.SimulatedLocation\",\"LLMS_URL\":\"/generated/manifest/typealiases/RunActionOptions.SimulatedLocation.md\"}},{\"path\":\"/generated/manifest/typealiases/SettingsDictionary.md\",\"url\":\"/generated/manifest/typealiases/SettingsDictionary\",\"llmUrl\":\"/generated/manifest/typealiases/SettingsDictionary.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/typealiases/SettingsDictionary\\\"\\nLLMS_URL: \\\"/generated/manifest/typealiases/SettingsDictionary.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `SettingsDictionary`\\n\\n```swift\\npublic typealias SettingsDictionary = [String: SettingValue]\\n```\\n\",\"title\":\"`SettingsDictionary`\",\"frontmatter\":{\"URL\":\"/generated/manifest/typealiases/SettingsDictionary\",\"LLMS_URL\":\"/generated/manifest/typealiases/SettingsDictionary.md\"}},{\"path\":\"/generated/manifest/typealiases/SettingValue.BooleanLiteralType.md\",\"url\":\"/generated/manifest/typealiases/SettingValue.BooleanLiteralType\",\"llmUrl\":\"/generated/manifest/typealiases/SettingValue.BooleanLiteralType.md\",\"content\":\"---\\nURL: \\\"/generated/manifest/typealiases/SettingValue.BooleanLiteralType\\\"\\nLLMS_URL: \\\"/generated/manifest/typealiases/SettingValue.BooleanLiteralType.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `SettingValue.BooleanLiteralType`\\n\\n```swift\\npublic typealias BooleanLiteralType = Bool\\n```\\n\",\"title\":\"`SettingValue.BooleanLiteralType`\",\"frontmatter\":{\"URL\":\"/generated/manifest/typealiases/SettingValue.BooleanLiteralType\",\"LLMS_URL\":\"/generated/manifest/typealiases/SettingValue.BooleanLiteralType.md\"}},{\"path\":\"/ja.md\",\"url\":\"/ja\",\"llmUrl\":\"/ja.md\",\"content\":\"---\\nURL: \\\"/ja\\\"\\nLLMS_URL: \\\"/ja.md\\\"\\ntitle: \\\"Tuistとは?\\\"\\ndescription: \\\"Apple 標準の開発ツールを強化し、より大規模で優れたアプリを構築する。\\\"\\n---\\n\\n\\n\\n# アイデアからストア公開まで\\n\\n\\n\\n<0/>\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n\\n\\n## インストール方法\\n\\n早速Tuist をインストールして `tuist init` を実行してみましょう:\\n\\n::: code-group\\n\\n```bash [Homebrew]\\nbrew tap tuist/tuist\\nbrew install --formula tuist\\n\\ntuist init\\n```\\n\\n```bash [Mise]\\nmise x tuist@latest -- tuist init\\n```\\n\\n:::\\n\\n詳細については、 導入の手順 をご覧ください。\\n\\n## もっと詳しく\\n\\nTuist を少し試してみて、Tuist を最大限に活用する方法を学びましょう。\\n\\n\\n \\n \\n \\n\\n\\n## 最新の登壇一覧\\n\\nTuistのこれまでの発表内容をご覧ください。 最新情報をキャッチし、専門知識を身につけましょう。\\n\\n\\n\\n## コミュニティに参加する\\n\\nソースコードを確認し、他の開発者とつながりましょう。\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\",\"title\":\"Tuistとは?\",\"frontmatter\":{\"URL\":\"/ja\",\"LLMS_URL\":\"/ja.md\",\"title\":\"Tuistとは?\",\"description\":\"Apple 標準の開発ツールを強化し、より大規模で優れたアプリを構築する。\"}},{\"path\":\"/ja/cli/account.md\",\"url\":\"/ja/cli/account\",\"llmUrl\":\"/ja/cli/account.md\",\"content\":\"---\\nURL: \\\"/ja/cli/account\\\"\\nLLMS_URL: \\\"/ja/cli/account.md\\\"\\n---\\n\\n# tuist account\\nA set of commands to manage your Tuist account\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist account -h\\ntuist account --help\\n```\\n\\n\",\"title\":\"tuist account\",\"frontmatter\":{\"URL\":\"/ja/cli/account\",\"LLMS_URL\":\"/ja/cli/account.md\"}},{\"path\":\"/ja/cli/account/update.md\",\"url\":\"/ja/cli/account/update\",\"llmUrl\":\"/ja/cli/account/update.md\",\"content\":\"---\\nURL: \\\"/ja/cli/account/update\\\"\\nLLMS_URL: \\\"/ja/cli/account/update.md\\\"\\n---\\n\\n# tuist account update\\nUpdate account settings.\\n\\n## Arguments\\n\\n### account-handle \\n\\nThe account handle of the account to update. If omitted, defaults to the account you're currently authenticated as.\\n```bash\\ntuist account update [account-handle]\\n```\\n\\n### handle \\n\\nThe new handle.\\n```bash\\ntuist account update --handle [handle]\\n```\\n\\n### path \\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist account update --path [path]\\ntuist account update -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist account update -h\\ntuist account update --help\\n```\\n\\n\",\"title\":\"tuist account update\",\"frontmatter\":{\"URL\":\"/ja/cli/account/update\",\"LLMS_URL\":\"/ja/cli/account/update.md\"}},{\"path\":\"/ja/cli/auth.md\",\"url\":\"/ja/cli/auth\",\"llmUrl\":\"/ja/cli/auth.md\",\"content\":\"---\\nURL: \\\"/ja/cli/auth\\\"\\nLLMS_URL: \\\"/ja/cli/auth.md\\\"\\n---\\n\\n# tuist auth\\nManage authentication\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth -h\\ntuist auth --help\\n```\\n\\n\",\"title\":\"tuist auth\",\"frontmatter\":{\"URL\":\"/ja/cli/auth\",\"LLMS_URL\":\"/ja/cli/auth.md\"}},{\"path\":\"/ja/cli/auth/login.md\",\"url\":\"/ja/cli/auth/login\",\"llmUrl\":\"/ja/cli/auth/login.md\",\"content\":\"---\\nURL: \\\"/ja/cli/auth/login\\\"\\nLLMS_URL: \\\"/ja/cli/auth/login.md\\\"\\n---\\n\\n# tuist auth login\\nLog in a user\\n\\n## Arguments\\n\\n### email \\n\\n**Environment variable** `TUIST_AUTH_EMAIL`\\n\\nEmail to authenticate with.\\n```bash\\ntuist auth login --email [email]\\n```\\n\\n### password \\n\\n**Environment variable** `TUIST_AUTH_PASSWORD`\\n\\nPassword to authenticate with.\\n```bash\\ntuist auth login --password [password]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_AUTH_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth login --path [path]\\ntuist auth login -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth login -h\\ntuist auth login --help\\n```\\n\\n\",\"title\":\"tuist auth login\",\"frontmatter\":{\"URL\":\"/ja/cli/auth/login\",\"LLMS_URL\":\"/ja/cli/auth/login.md\"}},{\"path\":\"/ja/cli/auth/logout.md\",\"url\":\"/ja/cli/auth/logout\",\"llmUrl\":\"/ja/cli/auth/logout.md\",\"content\":\"---\\nURL: \\\"/ja/cli/auth/logout\\\"\\nLLMS_URL: \\\"/ja/cli/auth/logout.md\\\"\\n---\\n\\n# tuist auth logout\\nRemoves an existing Tuist session.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LOGOUT_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth logout --path [path]\\ntuist auth logout -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth logout -h\\ntuist auth logout --help\\n```\\n\\n\",\"title\":\"tuist auth logout\",\"frontmatter\":{\"URL\":\"/ja/cli/auth/logout\",\"LLMS_URL\":\"/ja/cli/auth/logout.md\"}},{\"path\":\"/ja/cli/auth/refresh-token.md\",\"url\":\"/ja/cli/auth/refresh-token\",\"llmUrl\":\"/ja/cli/auth/refresh-token.md\",\"content\":\"---\\nURL: \\\"/ja/cli/auth/refresh-token\\\"\\nLLMS_URL: \\\"/ja/cli/auth/refresh-token.md\\\"\\n---\\n\\n# tuist auth refresh-token\\nRefreshes the token for a particular URL\\n\\n## Arguments\\n\\n### server-url \\n\\n**Environment variable** `TUIST_AUTH_REFRESH_TOKEN_SERVER_URL`\\n\\nThe URL of the server the token is being refreshed for.\\n```bash\\ntuist auth refresh-token [server-url]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth refresh-token -h\\ntuist auth refresh-token --help\\n```\\n\\n\",\"title\":\"tuist auth refresh-token\",\"frontmatter\":{\"URL\":\"/ja/cli/auth/refresh-token\",\"LLMS_URL\":\"/ja/cli/auth/refresh-token.md\"}},{\"path\":\"/ja/cli/auth/whoami.md\",\"url\":\"/ja/cli/auth/whoami\",\"llmUrl\":\"/ja/cli/auth/whoami.md\",\"content\":\"---\\nURL: \\\"/ja/cli/auth/whoami\\\"\\nLLMS_URL: \\\"/ja/cli/auth/whoami.md\\\"\\n---\\n\\n# tuist auth whoami\\nDisplay the user's email identity currently authenticated and in use.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_WHOAMI_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth whoami --path [path]\\ntuist auth whoami -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth whoami -h\\ntuist auth whoami --help\\n```\\n\\n\",\"title\":\"tuist auth whoami\",\"frontmatter\":{\"URL\":\"/ja/cli/auth/whoami\",\"LLMS_URL\":\"/ja/cli/auth/whoami.md\"}},{\"path\":\"/ja/cli/build.md\",\"url\":\"/ja/cli/build\",\"llmUrl\":\"/ja/cli/build.md\",\"content\":\"---\\nURL: \\\"/ja/cli/build\\\"\\nLLMS_URL: \\\"/ja/cli/build.md\\\"\\n---\\n\\n# tuist build\\nBuilds a project\\n\\n## Arguments\\n\\n### scheme \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_SCHEME`\\n\\nThe scheme to be built. By default it builds all the buildable schemes of the project in the current directory.\\n```bash\\ntuist build [scheme]\\n```\\n\\n### generate \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_GENERATE`\\n\\nForce the generation of the project before building.\\n```bash\\ntuist build --generate\\ntuist build --no-generate\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_CLEAN`\\n\\nWhen passed, it cleans the project before building it\\n```bash\\ntuist build --clean\\ntuist build --no-clean\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PATH`\\n\\nThe path to the directory that contains the project to be built.\\n```bash\\ntuist build --path [path]\\ntuist build -p [path]\\n```\\n\\n### device \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_DEVICE`\\n\\nBuild on a specific device.\\n```bash\\ntuist build --device [device]\\ntuist build -d [device]\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PLATFORM`\\n\\nBuild for a specific platform.\\n```bash\\ntuist build --platform [platform]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_OS`\\n\\nBuild with a specific version of the OS.\\n```bash\\ntuist build --os [os]\\ntuist build -o [os]\\n```\\n\\n### rosetta \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_ROSETTA`\\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist build --rosetta\\ntuist build --no-rosetta\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_CONFIGURATION`\\n\\nThe configuration to be used when building the scheme.\\n```bash\\ntuist build --configuration [configuration]\\ntuist build -C [configuration]\\n```\\n\\n### build-output-path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_BUILD_OUTPUT_PATH`\\n\\nThe directory where build products will be copied to when the project is built.\\n```bash\\ntuist build --build-output-path [build-output-path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_DERIVED_DATA_PATH`\\n\\nOverrides the folder that should be used for derived data when building the project.\\n```bash\\ntuist build --derived-data-path [derived-data-path]\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips building. This is useful for debugging purposes.\\n```bash\\ntuist build --generate-only\\ntuist build --no-generate-only\\n```\\n\\n### passthrough-xcode-build-arguments \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PASSTHROUGH_XCODE_BUILD_ARGUMENTS`\\n\\nArguments that will be passed through to xcodebuild\\n```bash\\ntuist build [passthrough-xcode-build-arguments]\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_BUILD_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist build --binary-cache\\ntuist build --no-binary-cache\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist build -h\\ntuist build --help\\n```\\n\\n\",\"title\":\"tuist build\",\"frontmatter\":{\"URL\":\"/ja/cli/build\",\"LLMS_URL\":\"/ja/cli/build.md\"}},{\"path\":\"/ja/cli/cache.md\",\"url\":\"/ja/cli/cache\",\"llmUrl\":\"/ja/cli/cache.md\",\"content\":\"---\\nURL: \\\"/ja/cli/cache\\\"\\nLLMS_URL: \\\"/ja/cli/cache.md\\\"\\n---\\n\\n# tuist cache\\nWarms the local and remote cache.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist cache --path [path]\\ntuist cache -p [path]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_CACHE_CONFIGURATION`\\n\\nConfiguration to use for binary caching.\\n```bash\\ntuist cache --configuration [configuration]\\ntuist cache -c [configuration]\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_CACHE_TARGETS`\\n\\nA list of targets to cache. Those and their dependant targets will be cached. If no target is specified, all the project targets (excluding the external ones) and their dependencies will be cached.\\n```bash\\ntuist cache [targets]\\n```\\n\\n### external-only \\n\\n**Environment variable** `TUIST_CACHE_EXTERNAL_ONLY`\\n\\nIf passed, the command doesn't cache the targets passed in the `--targets` argument, but only their dependencies\\n```bash\\ntuist cache --external-only\\ntuist cache --no-external-only\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_CACHE_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips warming the cache. This is useful for debugging purposes.\\n```bash\\ntuist cache --generate-only\\ntuist cache --no-generate-only\\n```\\n\\n### print-hashes \\n\\n**Environment variable** `TUIST_CACHE_PRINT_HASHES`\\n\\nWhen passed, the hashes of the cacheable frameworks in the given project are printed.\\n```bash\\ntuist cache --print-hashes\\ntuist cache --no-print-hashes\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist cache -h\\ntuist cache --help\\n```\\n\\n\",\"title\":\"tuist cache\",\"frontmatter\":{\"URL\":\"/ja/cli/cache\",\"LLMS_URL\":\"/ja/cli/cache.md\"}},{\"path\":\"/ja/cli/clean.md\",\"url\":\"/ja/cli/clean\",\"llmUrl\":\"/ja/cli/clean.md\",\"content\":\"---\\nURL: \\\"/ja/cli/clean\\\"\\nLLMS_URL: \\\"/ja/cli/clean.md\\\"\\n---\\n\\n# tuist clean\\nClean all the artifacts stored locally\\n\\n## Arguments\\n\\n### clean-categories \\n\\n**Environment variable** `TUIST_CLEAN_CLEAN_CATEGORIES`\\n\\nThe cache and artifact categories to be cleaned. If no category is specified, everything is cleaned.\\n```bash\\ntuist clean [clean-categories]\\n```\\n\\n### remote \\n\\n**Environment variable** `TUIST_CLEAN_REMOTE`\\n\\nClean the remote cache\\n```bash\\ntuist clean --remote\\ntuist clean --no-remote\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_CLEAN_PATH`\\n\\nThe path to the directory that contains the project that should be cleaned.\\n```bash\\ntuist clean --path [path]\\ntuist clean -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist clean -h\\ntuist clean --help\\n```\\n\\n\",\"title\":\"tuist clean\",\"frontmatter\":{\"URL\":\"/ja/cli/clean\",\"LLMS_URL\":\"/ja/cli/clean.md\"}},{\"path\":\"/ja/cli/dump.md\",\"url\":\"/ja/cli/dump\",\"llmUrl\":\"/ja/cli/dump.md\",\"content\":\"---\\nURL: \\\"/ja/cli/dump\\\"\\nLLMS_URL: \\\"/ja/cli/dump.md\\\"\\n---\\n\\n# tuist dump\\nOutputs the manifest as a JSON\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_DUMP_PATH`\\n\\nThe path to the folder where the manifest is\\n```bash\\ntuist dump --path [path]\\ntuist dump -p [path]\\n```\\n\\n### manifest \\n\\n**Environment variable** `TUIST_DUMP_MANIFEST`\\n\\nThe manifest to be dumped\\n```bash\\ntuist dump [manifest]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist dump -h\\ntuist dump --help\\n```\\n\\n\",\"title\":\"tuist dump\",\"frontmatter\":{\"URL\":\"/ja/cli/dump\",\"LLMS_URL\":\"/ja/cli/dump.md\"}},{\"path\":\"/ja/cli/edit.md\",\"url\":\"/ja/cli/edit\",\"llmUrl\":\"/ja/cli/edit.md\",\"content\":\"---\\nURL: \\\"/ja/cli/edit\\\"\\nLLMS_URL: \\\"/ja/cli/edit.md\\\"\\n---\\n\\n# tuist edit\\nGenerates a temporary project to edit the project in the current directory\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_EDIT_PATH`\\n\\nThe path to the directory whose project will be edited\\n```bash\\ntuist edit --path [path]\\ntuist edit -p [path]\\n```\\n\\n### permanent \\n\\n**Environment variable** `TUIST_EDIT_PERMANENT`\\n\\nIt creates the project in the current directory or the one indicated by -p and doesn't block the process\\n```bash\\ntuist edit --permanent\\ntuist edit -P\\ntuist edit --no-permanent\\n```\\n\\n### only-current-directory \\n\\n**Environment variable** `TUIST_EDIT_ONLY_CURRENT_DIRECTORY`\\n\\nIt only includes the manifest in the current directory.\\n```bash\\ntuist edit --only-current-directory\\ntuist edit -o\\ntuist edit --no-only-current-directory\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist edit -h\\ntuist edit --help\\n```\\n\\n\",\"title\":\"tuist edit\",\"frontmatter\":{\"URL\":\"/ja/cli/edit\",\"LLMS_URL\":\"/ja/cli/edit.md\"}},{\"path\":\"/ja/cli/generate.md\",\"url\":\"/ja/cli/generate\",\"llmUrl\":\"/ja/cli/generate.md\",\"content\":\"---\\nURL: \\\"/ja/cli/generate\\\"\\nLLMS_URL: \\\"/ja/cli/generate.md\\\"\\n---\\n\\n# tuist generate\\nGenerates an Xcode workspace to start working on the project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_GENERATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist generate --path [path]\\ntuist generate -p [path]\\n```\\n\\n### query \\n\\nTargets 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 the project targets will be generated (except external ones, such as Swift packages).\\n```bash\\ntuist generate [query]\\n```\\n\\n### open \\n\\n**Environment variable** `TUIST_GENERATE_OPEN`\\n\\nDon't open the project after generating it.\\n```bash\\ntuist generate --open\\ntuist generate -o\\ntuist generate --no-open\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_GENERATE_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist generate --binary-cache\\ntuist generate --no-binary-cache\\n```\\n\\n### configuration \\n\\nConfiguration to generate for.\\n```bash\\ntuist generate --configuration [configuration]\\ntuist generate -c [configuration]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist generate -h\\ntuist generate --help\\n```\\n\\n\",\"title\":\"tuist generate\",\"frontmatter\":{\"URL\":\"/ja/cli/generate\",\"LLMS_URL\":\"/ja/cli/generate.md\"}},{\"path\":\"/ja/cli/graph.md\",\"url\":\"/ja/cli/graph\",\"llmUrl\":\"/ja/cli/graph.md\",\"content\":\"---\\nURL: \\\"/ja/cli/graph\\\"\\nLLMS_URL: \\\"/ja/cli/graph.md\\\"\\n---\\n\\n# tuist graph\\nGenerates a graph from the workspace or project in the current directory\\n\\n## Arguments\\n\\n### skip-test-targets \\n\\n**Environment variable** `TUIST_GRAPH_SKIP_TEST_TARGETS`\\n\\nSkip Test targets during graph rendering.\\n```bash\\ntuist graph -t\\ntuist graph --skip-test-targets\\ntuist graph --no-skip-test-targets\\n```\\n\\n### skip-external-dependencies \\n\\n**Environment variable** `TUIST_GRAPH_SKIP_EXTERNAL_DEPENDENCIES`\\n\\nSkip external dependencies.\\n```bash\\ntuist graph -d\\ntuist graph --skip-external-dependencies\\ntuist graph --no-skip-external-dependencies\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_GRAPH_PLATFORM`\\n\\nA platform to filter. Only targets for this platform will be showed in the graph. Available platforms: ios, macos, tvos, watchos\\n```bash\\ntuist graph -l [platform]\\ntuist graph --platform [platform]\\n```\\n\\n### format \\n\\n**Environment variable** `TUIST_GRAPH_FORMAT`\\n\\nAvailable formats: dot, json, png, svg\\n```bash\\ntuist graph -f [format]\\ntuist graph --format [format]\\n```\\n\\n### open \\n\\n**Environment variable** `TUIST_GRAPH_OPEN`\\n\\nDon't open the file after generating it.\\n```bash\\ntuist graph --open\\ntuist graph --no-open\\n```\\n\\n### algorithm \\n\\n**Environment variable** `TUIST_GRAPH_LAYOUT_ALGORITHM`\\n\\nAvailable formats: dot, neato, twopi, circo, fdp, sfdp, patchwork\\n```bash\\ntuist graph -a [algorithm]\\ntuist graph --algorithm [algorithm]\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_GRAPH_TARGETS`\\n\\nA list of targets to filter. Those and their dependent targets will be showed in the graph.\\n```bash\\ntuist graph [targets]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_GRAPH_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist graph --path [path]\\ntuist graph -p [path]\\n```\\n\\n### output-path \\n\\n**Environment variable** `TUIST_GRAPH_OUTPUT_PATH`\\n\\nThe path where the graph will be generated.\\n```bash\\ntuist graph --output-path [output-path]\\ntuist graph -o [output-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist graph -h\\ntuist graph --help\\n```\\n\\n\",\"title\":\"tuist graph\",\"frontmatter\":{\"URL\":\"/ja/cli/graph\",\"LLMS_URL\":\"/ja/cli/graph.md\"}},{\"path\":\"/ja/cli/hash.md\",\"url\":\"/ja/cli/hash\",\"llmUrl\":\"/ja/cli/hash.md\",\"content\":\"---\\nURL: \\\"/ja/cli/hash\\\"\\nLLMS_URL: \\\"/ja/cli/hash.md\\\"\\n---\\n\\n# tuist hash\\nUtilities to debug the hashing logic used by features like binary caching or selective testing.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash -h\\ntuist hash --help\\n```\\n\\n\",\"title\":\"tuist hash\",\"frontmatter\":{\"URL\":\"/ja/cli/hash\",\"LLMS_URL\":\"/ja/cli/hash.md\"}},{\"path\":\"/ja/cli/hash/cache.md\",\"url\":\"/ja/cli/hash/cache\",\"llmUrl\":\"/ja/cli/hash/cache.md\",\"content\":\"---\\nURL: \\\"/ja/cli/hash/cache\\\"\\nLLMS_URL: \\\"/ja/cli/hash/cache.md\\\"\\n---\\n\\n# tuist hash cache\\nReturns the hashes that will be used to persist binaries of the graph in its current state to the cache.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_HASH_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist hash cache --path [path]\\ntuist hash cache -p [path]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_HASH_CACHE_CONFIGURATION`\\n\\nThe project configuration the cache binaries will be bound to.\\n```bash\\ntuist hash cache --configuration [configuration]\\ntuist hash cache -c [configuration]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash cache -h\\ntuist hash cache --help\\n```\\n\\n\",\"title\":\"tuist hash cache\",\"frontmatter\":{\"URL\":\"/ja/cli/hash/cache\",\"LLMS_URL\":\"/ja/cli/hash/cache.md\"}},{\"path\":\"/ja/cli/hash/selective-testing.md\",\"url\":\"/ja/cli/hash/selective-testing\",\"llmUrl\":\"/ja/cli/hash/selective-testing.md\",\"content\":\"---\\nURL: \\\"/ja/cli/hash/selective-testing\\\"\\nLLMS_URL: \\\"/ja/cli/hash/selective-testing.md\\\"\\n---\\n\\n# tuist hash selective-testing\\nReturns the hashes that will be used to persist targets' test results to select tests in future test runs.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_HASH_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose tests will run selectively.\\n```bash\\ntuist hash selective-testing --path [path]\\ntuist hash selective-testing -p [path]\\n```\\n\\n### passthrough-xcodebuild-arguments \\n\\nWhen running tests selectively through 'tuist xcodebuild test', the additional 'xcodebuild' arguments that you'd pass, some of which are hashed.\\n```bash\\ntuist hash selective-testing [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash selective-testing -h\\ntuist hash selective-testing --help\\n```\\n\\n\",\"title\":\"tuist hash selective-testing\",\"frontmatter\":{\"URL\":\"/ja/cli/hash/selective-testing\",\"LLMS_URL\":\"/ja/cli/hash/selective-testing.md\"}},{\"path\":\"/ja/cli/init.md\",\"url\":\"/ja/cli/init\",\"llmUrl\":\"/ja/cli/init.md\",\"content\":\"---\\nURL: \\\"/ja/cli/init\\\"\\nLLMS_URL: \\\"/ja/cli/init.md\\\"\\n---\\n\\n# tuist init\\nGet started with Tuist in your Xcode project or create a generated project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INIT_PATH`\\n\\nThe path to the directory from where to start.\\n```bash\\ntuist init --path [path]\\ntuist init -p [path]\\n```\\n\\n### answers \\n\\n**Environment variable** `TUIST_INIT_PATH`\\n\\nBase64-encoded prompt answers\\n```bash\\ntuist init --answers [answers]\\ntuist init -a [answers]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist init -h\\ntuist init --help\\n```\\n\\n\",\"title\":\"tuist init\",\"frontmatter\":{\"URL\":\"/ja/cli/init\",\"LLMS_URL\":\"/ja/cli/init.md\"}},{\"path\":\"/ja/cli/inspect.md\",\"url\":\"/ja/cli/inspect\",\"llmUrl\":\"/ja/cli/inspect.md\",\"content\":\"---\\nURL: \\\"/ja/cli/inspect\\\"\\nLLMS_URL: \\\"/ja/cli/inspect.md\\\"\\n---\\n\\n# tuist inspect\\nInspect your project to identify issues such as implicit or redundant dependencies.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect -h\\ntuist inspect --help\\n```\\n\\n\",\"title\":\"tuist inspect\",\"frontmatter\":{\"URL\":\"/ja/cli/inspect\",\"LLMS_URL\":\"/ja/cli/inspect.md\"}},{\"path\":\"/ja/cli/inspect/build.md\",\"url\":\"/ja/cli/inspect/build\",\"llmUrl\":\"/ja/cli/inspect/build.md\",\"content\":\"---\\nURL: \\\"/ja/cli/inspect/build\\\"\\nLLMS_URL: \\\"/ja/cli/inspect/build.md\\\"\\n---\\n\\n# tuist inspect build\\nInspects the latest build.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INSPECT_BUILD_PATH`\\n\\nThe path to the directory that contains the project to inspect the latest build for.\\n```bash\\ntuist inspect build --path [path]\\ntuist inspect build -p [path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_INSPECT_BUILD_DERIVED_DATA_PATH`\\n\\nThe path to the directory containing the project's derived data artifacts.\\n```bash\\ntuist inspect build --derived-data-path [derived-data-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect build -h\\ntuist inspect build --help\\n```\\n\\n\",\"title\":\"tuist inspect build\",\"frontmatter\":{\"URL\":\"/ja/cli/inspect/build\",\"LLMS_URL\":\"/ja/cli/inspect/build.md\"}},{\"path\":\"/ja/cli/inspect/bundle.md\",\"url\":\"/ja/cli/inspect/bundle\",\"llmUrl\":\"/ja/cli/inspect/bundle.md\",\"content\":\"---\\nURL: \\\"/ja/cli/inspect/bundle\\\"\\nLLMS_URL: \\\"/ja/cli/inspect/bundle.md\\\"\\n---\\n\\n# tuist inspect bundle\\nInspects an app bundle. The app bundle has to be either `.app`, `.xcarchive` or `.ipa`.\\n\\n## Arguments\\n\\n### bundle \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE`\\n\\nThe path to the bundle.\\n```bash\\ntuist inspect bundle [bundle]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist inspect bundle --json\\ntuist inspect bundle --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE_PATH`\\n\\nThe path to the directory that contains the project associated with the inspected bundle.\\n```bash\\ntuist inspect bundle --path [path]\\ntuist inspect bundle -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect bundle -h\\ntuist inspect bundle --help\\n```\\n\\n\",\"title\":\"tuist inspect bundle\",\"frontmatter\":{\"URL\":\"/ja/cli/inspect/bundle\",\"LLMS_URL\":\"/ja/cli/inspect/bundle.md\"}},{\"path\":\"/ja/cli/inspect/implicit-imports.md\",\"url\":\"/ja/cli/inspect/implicit-imports\",\"llmUrl\":\"/ja/cli/inspect/implicit-imports.md\",\"content\":\"---\\nURL: \\\"/ja/cli/inspect/implicit-imports\\\"\\nLLMS_URL: \\\"/ja/cli/inspect/implicit-imports.md\\\"\\n---\\n\\n# tuist inspect implicit-imports\\nFind implicit imports in Tuist projects failing when cases are found.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LINT_IMPLICIT_DEPENDENCIES_PATH`\\n\\nThe path to the directory that contains the project.\\n```bash\\ntuist inspect implicit-imports --path [path]\\ntuist inspect implicit-imports -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect implicit-imports -h\\ntuist inspect implicit-imports --help\\n```\\n\\n\",\"title\":\"tuist inspect implicit-imports\",\"frontmatter\":{\"URL\":\"/ja/cli/inspect/implicit-imports\",\"LLMS_URL\":\"/ja/cli/inspect/implicit-imports.md\"}},{\"path\":\"/ja/cli/inspect/redundant-imports.md\",\"url\":\"/ja/cli/inspect/redundant-imports\",\"llmUrl\":\"/ja/cli/inspect/redundant-imports.md\",\"content\":\"---\\nURL: \\\"/ja/cli/inspect/redundant-imports\\\"\\nLLMS_URL: \\\"/ja/cli/inspect/redundant-imports.md\\\"\\n---\\n\\n# tuist inspect redundant-imports\\nFind redundant imports in Tuist projects failing when cases are found.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LINT_REDUNDANT_DEPENDENCIES_PATH`\\n\\nThe path to the directory that contains the project.\\n```bash\\ntuist inspect redundant-imports --path [path]\\ntuist inspect redundant-imports -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect redundant-imports -h\\ntuist inspect redundant-imports --help\\n```\\n\\n\",\"title\":\"tuist inspect redundant-imports\",\"frontmatter\":{\"URL\":\"/ja/cli/inspect/redundant-imports\",\"LLMS_URL\":\"/ja/cli/inspect/redundant-imports.md\"}},{\"path\":\"/ja/cli/install.md\",\"url\":\"/ja/cli/install\",\"llmUrl\":\"/ja/cli/install.md\",\"content\":\"---\\nURL: \\\"/ja/cli/install\\\"\\nLLMS_URL: \\\"/ja/cli/install.md\\\"\\n---\\n\\n# tuist install\\nInstalls any remote content (e.g. dependencies) necessary to interact with the project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INSTALL_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist install --path [path]\\ntuist install -p [path]\\n```\\n\\n### update \\n\\n**Environment variable** `TUIST_INSTALL_UPDATE`\\n\\nInstead of simple install, update external content when available.\\n```bash\\ntuist install --update\\ntuist install -u\\ntuist install --no-update\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist install -h\\ntuist install --help\\n```\\n\\n\",\"title\":\"tuist install\",\"frontmatter\":{\"URL\":\"/ja/cli/install\",\"LLMS_URL\":\"/ja/cli/install.md\"}},{\"path\":\"/ja/cli/logging.md\",\"url\":\"/ja/cli/logging\",\"llmUrl\":\"/ja/cli/logging.md\",\"content\":\"---\\nURL: \\\"/ja/cli/logging\\\"\\nLLMS_URL: \\\"/ja/cli/logging.md\\\"\\ntitle: \\\"ロギング\\\"\\ntitleTemplate: \\\":title · CLI · Tuist\\\"\\ndescription: \\\"Tuist でログを有効にして設定する方法を学ぶ。\\\"\\n---\\n\\n# ロギング {#logging}\\n\\nCLI は問題を診断するのに役立つメッセージを内部的に記録します。\\n\\n## ログを使用して問題を診断する {#diagnose-issues-using-logs}\\n\\nコマンド呼び出しが意図した結果をもたらさない場合は、ログを調べることで問題を診断できます。 CLI はログを [OSLog](https://developer.apple.com/documentation/os/oslog) とファイルシステムに転送します。\\n\\n実行ごとに、`$XDG_STATE_HOME/tuist/logs/{uuid}.log` にログファイルが作成されます。環境変数が設定されていない場合、 `$XDG_STATE_HOME` は `~/.local/state` の値をとります。\\n\\nデフォルトでは、CLIは実行が予期せず終了した場合にログのパスを出力します。 出力されない場合は、上記のパス(つまり、最新のログファイル)にログを見つけることができます。\\n\\n> [!IMPORTANT]\\n> 機密情報はマスキングされていないので、ログを共有する際は注意してください。\\n\\n### 継続的インテグレーション {#diagnose-issues-using-logs-ci}\\n\\nCIでは、環境が使い捨てであるため、CIパイプラインを設定してTuistのログをエクスポートすることを検討する必要があるかもしれません。\\n成果物のエクスポートはCIサービスに共通する機能であり、設定は利用するサービスによって異なります。\\nたとえば、GitHub Actionsでは、`actions/upload-artifact` アクションを使用してログを成果物としてアップロードできます:\\n\\n```yaml\\nname: Node CI\\n\\non: [push]\\n\\nenv:\\n XDG_STATE_HOME: /tmp\\n\\njobs:\\n build:\\n runs-on: ubuntu-latest\\n steps:\\n - name: Checkout repository\\n uses: actions/checkout@v4\\n # ... other steps\\n - run: tuist generate\\n # ... do something with the project\\n - name: Export Tuist logs\\n uses: actions/upload-artifact@v4\\n with:\\n name: tuist-logs\\n path: /tmp/tuist/logs/*.log\\n```\\n\",\"title\":\"ロギング\",\"frontmatter\":{\"URL\":\"/ja/cli/logging\",\"LLMS_URL\":\"/ja/cli/logging.md\",\"title\":\"ロギング\",\"titleTemplate\":\":title · CLI · Tuist\",\"description\":\"Tuist でログを有効にして設定する方法を学ぶ。\"}},{\"path\":\"/ja/cli/mcp.md\",\"url\":\"/ja/cli/mcp\",\"llmUrl\":\"/ja/cli/mcp.md\",\"content\":\"---\\nURL: \\\"/ja/cli/mcp\\\"\\nLLMS_URL: \\\"/ja/cli/mcp.md\\\"\\n---\\n\\n# tuist mcp\\nCommands for interfacing with Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp -h\\ntuist mcp --help\\n```\\n\\n\",\"title\":\"tuist mcp\",\"frontmatter\":{\"URL\":\"/ja/cli/mcp\",\"LLMS_URL\":\"/ja/cli/mcp.md\"}},{\"path\":\"/ja/cli/mcp/setup.md\",\"url\":\"/ja/cli/mcp/setup\",\"llmUrl\":\"/ja/cli/mcp/setup.md\",\"content\":\"---\\nURL: \\\"/ja/cli/mcp/setup\\\"\\nLLMS_URL: \\\"/ja/cli/mcp/setup.md\\\"\\n---\\n\\n# tuist mcp setup\\nCommands to automate integrating clients with Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup -h\\ntuist mcp setup --help\\n```\\n\\n\",\"title\":\"tuist mcp setup\",\"frontmatter\":{\"URL\":\"/ja/cli/mcp/setup\",\"LLMS_URL\":\"/ja/cli/mcp/setup.md\"}},{\"path\":\"/ja/cli/mcp/setup/claude.md\",\"url\":\"/ja/cli/mcp/setup/claude\",\"llmUrl\":\"/ja/cli/mcp/setup/claude.md\",\"content\":\"---\\nURL: \\\"/ja/cli/mcp/setup/claude\\\"\\nLLMS_URL: \\\"/ja/cli/mcp/setup/claude.md\\\"\\n---\\n\\n# tuist mcp setup claude\\nConfigure your environment's Claude application to point to the Tuist's MCP server.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup claude -h\\ntuist mcp setup claude --help\\n```\\n\\n\",\"title\":\"tuist mcp setup claude\",\"frontmatter\":{\"URL\":\"/ja/cli/mcp/setup/claude\",\"LLMS_URL\":\"/ja/cli/mcp/setup/claude.md\"}},{\"path\":\"/ja/cli/mcp/setup/claude-code.md\",\"url\":\"/ja/cli/mcp/setup/claude-code\",\"llmUrl\":\"/ja/cli/mcp/setup/claude-code.md\",\"content\":\"---\\nURL: \\\"/ja/cli/mcp/setup/claude-code\\\"\\nLLMS_URL: \\\"/ja/cli/mcp/setup/claude-code.md\\\"\\n---\\n\\n# tuist mcp setup claude-code\\nSetup Claude Code to use Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup claude-code -h\\ntuist mcp setup claude-code --help\\n```\\n\\n\",\"title\":\"tuist mcp setup claude-code\",\"frontmatter\":{\"URL\":\"/ja/cli/mcp/setup/claude-code\",\"LLMS_URL\":\"/ja/cli/mcp/setup/claude-code.md\"}},{\"path\":\"/ja/cli/mcp/setup/cursor.md\",\"url\":\"/ja/cli/mcp/setup/cursor\",\"llmUrl\":\"/ja/cli/mcp/setup/cursor.md\",\"content\":\"---\\nURL: \\\"/ja/cli/mcp/setup/cursor\\\"\\nLLMS_URL: \\\"/ja/cli/mcp/setup/cursor.md\\\"\\n---\\n\\n# tuist mcp setup cursor\\nSetup Cursor IDE to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup cursor --path [path]\\ntuist mcp setup cursor -p [path]\\n```\\n\\n### global \\n\\nConfigure Cursor globally instead of locally.\\n```bash\\ntuist mcp setup cursor --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup cursor -h\\ntuist mcp setup cursor --help\\n```\\n\\n\",\"title\":\"tuist mcp setup cursor\",\"frontmatter\":{\"URL\":\"/ja/cli/mcp/setup/cursor\",\"LLMS_URL\":\"/ja/cli/mcp/setup/cursor.md\"}},{\"path\":\"/ja/cli/mcp/setup/vscode.md\",\"url\":\"/ja/cli/mcp/setup/vscode\",\"llmUrl\":\"/ja/cli/mcp/setup/vscode.md\",\"content\":\"---\\nURL: \\\"/ja/cli/mcp/setup/vscode\\\"\\nLLMS_URL: \\\"/ja/cli/mcp/setup/vscode.md\\\"\\n---\\n\\n# tuist mcp setup vscode\\nSetup VS Code to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup vscode --path [path]\\ntuist mcp setup vscode -p [path]\\n```\\n\\n### global \\n\\nConfigure VS Code globally instead of locally.\\n```bash\\ntuist mcp setup vscode --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup vscode -h\\ntuist mcp setup vscode --help\\n```\\n\\n\",\"title\":\"tuist mcp setup vscode\",\"frontmatter\":{\"URL\":\"/ja/cli/mcp/setup/vscode\",\"LLMS_URL\":\"/ja/cli/mcp/setup/vscode.md\"}},{\"path\":\"/ja/cli/mcp/setup/zed.md\",\"url\":\"/ja/cli/mcp/setup/zed\",\"llmUrl\":\"/ja/cli/mcp/setup/zed.md\",\"content\":\"---\\nURL: \\\"/ja/cli/mcp/setup/zed\\\"\\nLLMS_URL: \\\"/ja/cli/mcp/setup/zed.md\\\"\\n---\\n\\n# tuist mcp setup zed\\nSetup Zed editor to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup zed --path [path]\\ntuist mcp setup zed -p [path]\\n```\\n\\n### global \\n\\nConfigure Zed globally instead of locally.\\n```bash\\ntuist mcp setup zed --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup zed -h\\ntuist mcp setup zed --help\\n```\\n\\n\",\"title\":\"tuist mcp setup zed\",\"frontmatter\":{\"URL\":\"/ja/cli/mcp/setup/zed\",\"LLMS_URL\":\"/ja/cli/mcp/setup/zed.md\"}},{\"path\":\"/ja/cli/mcp/start.md\",\"url\":\"/ja/cli/mcp/start\",\"llmUrl\":\"/ja/cli/mcp/start.md\",\"content\":\"---\\nURL: \\\"/ja/cli/mcp/start\\\"\\nLLMS_URL: \\\"/ja/cli/mcp/start.md\\\"\\n---\\n\\n# tuist mcp start\\nStart an MCP server to interface LLMs with your local dev environment.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp start -h\\ntuist mcp start --help\\n```\\n\\n\",\"title\":\"tuist mcp start\",\"frontmatter\":{\"URL\":\"/ja/cli/mcp/start\",\"LLMS_URL\":\"/ja/cli/mcp/start.md\"}},{\"path\":\"/ja/cli/migration.md\",\"url\":\"/ja/cli/migration\",\"llmUrl\":\"/ja/cli/migration.md\",\"content\":\"---\\nURL: \\\"/ja/cli/migration\\\"\\nLLMS_URL: \\\"/ja/cli/migration.md\\\"\\n---\\n\\n# tuist migration\\nA set of utilities to assist in the migration of Xcode projects to Tuist.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration -h\\ntuist migration --help\\n```\\n\\n\",\"title\":\"tuist migration\",\"frontmatter\":{\"URL\":\"/ja/cli/migration\",\"LLMS_URL\":\"/ja/cli/migration.md\"}},{\"path\":\"/ja/cli/migration/check-empty-settings.md\",\"url\":\"/ja/cli/migration/check-empty-settings\",\"llmUrl\":\"/ja/cli/migration/check-empty-settings.md\",\"content\":\"---\\nURL: \\\"/ja/cli/migration/check-empty-settings\\\"\\nLLMS_URL: \\\"/ja/cli/migration/check-empty-settings.md\\\"\\n---\\n\\n# tuist migration check-empty-settings\\nIt checks if the build settings of a project or target are empty. Otherwise it exits unsuccessfully.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_CHECK_EMPTY_SETTINGS_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration check-empty-settings -p [xcodeproj-path]\\ntuist migration check-empty-settings --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### target \\n\\n**Environment variable** `TUIST_MIGRATION_CHECK_EMPTY_SETTINGS_TARGET`\\n\\nThe name of the target whose build settings will be checked. When not passed, it checks the build settings of the project.\\n```bash\\ntuist migration check-empty-settings --target [target]\\ntuist migration check-empty-settings -t [target]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration check-empty-settings -h\\ntuist migration check-empty-settings --help\\n```\\n\\n\",\"title\":\"tuist migration check-empty-settings\",\"frontmatter\":{\"URL\":\"/ja/cli/migration/check-empty-settings\",\"LLMS_URL\":\"/ja/cli/migration/check-empty-settings.md\"}},{\"path\":\"/ja/cli/migration/list-targets.md\",\"url\":\"/ja/cli/migration/list-targets\",\"llmUrl\":\"/ja/cli/migration/list-targets.md\",\"content\":\"---\\nURL: \\\"/ja/cli/migration/list-targets\\\"\\nLLMS_URL: \\\"/ja/cli/migration/list-targets.md\\\"\\n---\\n\\n# tuist migration list-targets\\nIt lists the targets of a project sorted by number of dependencies.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_LIST_TARGETS_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration list-targets -p [xcodeproj-path]\\ntuist migration list-targets --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration list-targets -h\\ntuist migration list-targets --help\\n```\\n\\n\",\"title\":\"tuist migration list-targets\",\"frontmatter\":{\"URL\":\"/ja/cli/migration/list-targets\",\"LLMS_URL\":\"/ja/cli/migration/list-targets.md\"}},{\"path\":\"/ja/cli/migration/settings-to-xcconfig.md\",\"url\":\"/ja/cli/migration/settings-to-xcconfig\",\"llmUrl\":\"/ja/cli/migration/settings-to-xcconfig.md\",\"content\":\"---\\nURL: \\\"/ja/cli/migration/settings-to-xcconfig\\\"\\nLLMS_URL: \\\"/ja/cli/migration/settings-to-xcconfig.md\\\"\\n---\\n\\n# tuist migration settings-to-xcconfig\\nIt extracts the build settings from a project or a target into an xcconfig file.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration settings-to-xcconfig -p [xcodeproj-path]\\ntuist migration settings-to-xcconfig --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### xcconfig-path \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_XCCONFIG_PATH`\\n\\nThe path to the .xcconfig file where build settings will be extracted.\\n```bash\\ntuist migration settings-to-xcconfig -x [xcconfig-path]\\ntuist migration settings-to-xcconfig --xcconfig-path [xcconfig-path]\\n```\\n\\n### target \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_TARGET`\\n\\nThe name of the target whose build settings will be extracted. When not passed, it extracts the build settings of the project.\\n```bash\\ntuist migration settings-to-xcconfig --target [target]\\ntuist migration settings-to-xcconfig -t [target]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration settings-to-xcconfig -h\\ntuist migration settings-to-xcconfig --help\\n```\\n\\n\",\"title\":\"tuist migration settings-to-xcconfig\",\"frontmatter\":{\"URL\":\"/ja/cli/migration/settings-to-xcconfig\",\"LLMS_URL\":\"/ja/cli/migration/settings-to-xcconfig.md\"}},{\"path\":\"/ja/cli/organization.md\",\"url\":\"/ja/cli/organization\",\"llmUrl\":\"/ja/cli/organization.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization\\\"\\nLLMS_URL: \\\"/ja/cli/organization.md\\\"\\n---\\n\\n# tuist organization\\nA set of commands to manage your Tuist organizations.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization -h\\ntuist organization --help\\n```\\n\\n\",\"title\":\"tuist organization\",\"frontmatter\":{\"URL\":\"/ja/cli/organization\",\"LLMS_URL\":\"/ja/cli/organization.md\"}},{\"path\":\"/ja/cli/organization/billing.md\",\"url\":\"/ja/cli/organization/billing\",\"llmUrl\":\"/ja/cli/organization/billing.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/billing\\\"\\nLLMS_URL: \\\"/ja/cli/organization/billing.md\\\"\\n---\\n\\n# tuist organization billing\\nOpen billing dashboard for the specified organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_BILLING_ORGANIZATION_NAME`\\n\\nThe name of the organization to show billing dashboard for.\\n```bash\\ntuist organization billing [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_BILLING_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization billing --path [path]\\ntuist organization billing -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization billing -h\\ntuist organization billing --help\\n```\\n\\n\",\"title\":\"tuist organization billing\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/billing\",\"LLMS_URL\":\"/ja/cli/organization/billing.md\"}},{\"path\":\"/ja/cli/organization/create.md\",\"url\":\"/ja/cli/organization/create\",\"llmUrl\":\"/ja/cli/organization/create.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/create\\\"\\nLLMS_URL: \\\"/ja/cli/organization/create.md\\\"\\n---\\n\\n# tuist organization create\\nCreate a new organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_CREATE_ORGANIZATION_NAME`\\n\\nThe name of the organization to create.\\n```bash\\ntuist organization create [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_CREATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization create --path [path]\\ntuist organization create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization create -h\\ntuist organization create --help\\n```\\n\\n\",\"title\":\"tuist organization create\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/create\",\"LLMS_URL\":\"/ja/cli/organization/create.md\"}},{\"path\":\"/ja/cli/organization/delete.md\",\"url\":\"/ja/cli/organization/delete\",\"llmUrl\":\"/ja/cli/organization/delete.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/delete\\\"\\nLLMS_URL: \\\"/ja/cli/organization/delete.md\\\"\\n---\\n\\n# tuist organization delete\\nDelete a new organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_DELETE_ORGANIZATION_NAME`\\n\\nThe name of the organization to delete.\\n```bash\\ntuist organization delete [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_DELETE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization delete --path [path]\\ntuist organization delete -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization delete -h\\ntuist organization delete --help\\n```\\n\\n\",\"title\":\"tuist organization delete\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/delete\",\"LLMS_URL\":\"/ja/cli/organization/delete.md\"}},{\"path\":\"/ja/cli/organization/invite.md\",\"url\":\"/ja/cli/organization/invite\",\"llmUrl\":\"/ja/cli/organization/invite.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/invite\\\"\\nLLMS_URL: \\\"/ja/cli/organization/invite.md\\\"\\n---\\n\\n# tuist organization invite\\nInvite a new member to your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_ORGANIZATION_NAME`\\n\\nThe name of the organization to invite the user to.\\n```bash\\ntuist organization invite [organization-name]\\n```\\n\\n### email \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_EMAIL`\\n\\nThe email of the user to invite.\\n```bash\\ntuist organization invite [email]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization invite --path [path]\\ntuist organization invite -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization invite -h\\ntuist organization invite --help\\n```\\n\\n\",\"title\":\"tuist organization invite\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/invite\",\"LLMS_URL\":\"/ja/cli/organization/invite.md\"}},{\"path\":\"/ja/cli/organization/list.md\",\"url\":\"/ja/cli/organization/list\",\"llmUrl\":\"/ja/cli/organization/list.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/list\\\"\\nLLMS_URL: \\\"/ja/cli/organization/list.md\\\"\\n---\\n\\n# tuist organization list\\nList your organizations.\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_ORGANIZATION_LIST_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist organization list --json\\ntuist organization list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_LIST_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization list --path [path]\\ntuist organization list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization list -h\\ntuist organization list --help\\n```\\n\\n\",\"title\":\"tuist organization list\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/list\",\"LLMS_URL\":\"/ja/cli/organization/list.md\"}},{\"path\":\"/ja/cli/organization/remove.md\",\"url\":\"/ja/cli/organization/remove\",\"llmUrl\":\"/ja/cli/organization/remove.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/remove\\\"\\nLLMS_URL: \\\"/ja/cli/organization/remove.md\\\"\\n---\\n\\n# tuist organization remove\\nA set of commands to remove members or cancel pending invitations.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove -h\\ntuist organization remove --help\\n```\\n\\n\",\"title\":\"tuist organization remove\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/remove\",\"LLMS_URL\":\"/ja/cli/organization/remove.md\"}},{\"path\":\"/ja/cli/organization/remove/invite.md\",\"url\":\"/ja/cli/organization/remove/invite\",\"llmUrl\":\"/ja/cli/organization/remove/invite.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/remove/invite\\\"\\nLLMS_URL: \\\"/ja/cli/organization/remove/invite.md\\\"\\n---\\n\\n# tuist organization remove invite\\nCancel pending invitation.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_ORGANIZATION_NAME`\\n\\nThe name of the organization to cancel the invitation for.\\n```bash\\ntuist organization remove invite [organization-name]\\n```\\n\\n### email \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_EMAIL`\\n\\nThe email of the user to cancel the invitation for.\\n```bash\\ntuist organization remove invite [email]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove invite --path [path]\\ntuist organization remove invite -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove invite -h\\ntuist organization remove invite --help\\n```\\n\\n\",\"title\":\"tuist organization remove invite\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/remove/invite\",\"LLMS_URL\":\"/ja/cli/organization/remove/invite.md\"}},{\"path\":\"/ja/cli/organization/remove/member.md\",\"url\":\"/ja/cli/organization/remove/member\",\"llmUrl\":\"/ja/cli/organization/remove/member.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/remove/member\\\"\\nLLMS_URL: \\\"/ja/cli/organization/remove/member.md\\\"\\n---\\n\\n# tuist organization remove member\\nRemove a member from your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_ORGANIZATION_NAME`\\n\\nThe name of the organization to remove the organization member from.\\n```bash\\ntuist organization remove member [organization-name]\\n```\\n\\n### username \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_USERNAME`\\n\\nThe username of the member you want to remove from the organization.\\n```bash\\ntuist organization remove member [username]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove member --path [path]\\ntuist organization remove member -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove member -h\\ntuist organization remove member --help\\n```\\n\\n\",\"title\":\"tuist organization remove member\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/remove/member\",\"LLMS_URL\":\"/ja/cli/organization/remove/member.md\"}},{\"path\":\"/ja/cli/organization/remove/sso.md\",\"url\":\"/ja/cli/organization/remove/sso\",\"llmUrl\":\"/ja/cli/organization/remove/sso.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/remove/sso\\\"\\nLLMS_URL: \\\"/ja/cli/organization/remove/sso.md\\\"\\n---\\n\\n# tuist organization remove sso\\nRemove the SSO provider for your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_SSO_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the SSO provider for.\\n```bash\\ntuist organization remove sso [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_SSO_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove sso --path [path]\\ntuist organization remove sso -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove sso -h\\ntuist organization remove sso --help\\n```\\n\\n\",\"title\":\"tuist organization remove sso\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/remove/sso\",\"LLMS_URL\":\"/ja/cli/organization/remove/sso.md\"}},{\"path\":\"/ja/cli/organization/show.md\",\"url\":\"/ja/cli/organization/show\",\"llmUrl\":\"/ja/cli/organization/show.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/show\\\"\\nLLMS_URL: \\\"/ja/cli/organization/show.md\\\"\\n---\\n\\n# tuist organization show\\nShow information about the specified organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_ORGANIZATION_NAME`\\n\\nThe name of the organization to show.\\n```bash\\ntuist organization show [organization-name]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist organization show --json\\ntuist organization show --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization show --path [path]\\ntuist organization show -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization show -h\\ntuist organization show --help\\n```\\n\\n\",\"title\":\"tuist organization show\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/show\",\"LLMS_URL\":\"/ja/cli/organization/show.md\"}},{\"path\":\"/ja/cli/organization/update.md\",\"url\":\"/ja/cli/organization/update\",\"llmUrl\":\"/ja/cli/organization/update.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/update\\\"\\nLLMS_URL: \\\"/ja/cli/organization/update.md\\\"\\n---\\n\\n# tuist organization update\\nA set of commands to update the organization.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update -h\\ntuist organization update --help\\n```\\n\\n\",\"title\":\"tuist organization update\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/update\",\"LLMS_URL\":\"/ja/cli/organization/update.md\"}},{\"path\":\"/ja/cli/organization/update/member.md\",\"url\":\"/ja/cli/organization/update/member\",\"llmUrl\":\"/ja/cli/organization/update/member.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/update/member\\\"\\nLLMS_URL: \\\"/ja/cli/organization/update/member.md\\\"\\n---\\n\\n# tuist organization update member\\nUpdate a member from your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the member for.\\n```bash\\ntuist organization update member [organization-name]\\n```\\n\\n### username \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_USERNAME`\\n\\nThe username of the member you want to update.\\n```bash\\ntuist organization update member [username]\\n```\\n\\n### role \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_ROLE`\\n\\nThe new member role\\n```bash\\ntuist organization update member --role [role]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization update member --path [path]\\ntuist organization update member -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update member -h\\ntuist organization update member --help\\n```\\n\\n\",\"title\":\"tuist organization update member\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/update/member\",\"LLMS_URL\":\"/ja/cli/organization/update/member.md\"}},{\"path\":\"/ja/cli/organization/update/sso.md\",\"url\":\"/ja/cli/organization/update/sso\",\"llmUrl\":\"/ja/cli/organization/update/sso.md\",\"content\":\"---\\nURL: \\\"/ja/cli/organization/update/sso\\\"\\nLLMS_URL: \\\"/ja/cli/organization/update/sso.md\\\"\\n---\\n\\n# tuist organization update sso\\nUpdate the SSO provider for your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the SSO provider for.\\n```bash\\ntuist organization update sso [organization-name]\\n```\\n\\n### provider \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_PROVIDER`\\n\\nThe SSO provider to use.\\n```bash\\ntuist organization update sso --provider [provider]\\n```\\n\\n### organization-id \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_ORGANIZATION_ID`\\n\\nOrganization ID for your SSO provider. For Google, this is your Google domain (for example, if your email is [email protected], the domain would be tuist.dev). For Okta, it's the organization domain (such as my-org.okta.com)\\n```bash\\ntuist organization update sso --organization-id [organization-id]\\ntuist organization update sso -o [organization-id]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization update sso --path [path]\\ntuist organization update sso -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update sso -h\\ntuist organization update sso --help\\n```\\n\\n\",\"title\":\"tuist organization update sso\",\"frontmatter\":{\"URL\":\"/ja/cli/organization/update/sso\",\"LLMS_URL\":\"/ja/cli/organization/update/sso.md\"}},{\"path\":\"/ja/cli/plugin.md\",\"url\":\"/ja/cli/plugin\",\"llmUrl\":\"/ja/cli/plugin.md\",\"content\":\"---\\nURL: \\\"/ja/cli/plugin\\\"\\nLLMS_URL: \\\"/ja/cli/plugin.md\\\"\\n---\\n\\n# tuist plugin\\nA set of commands for plugin's management.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin -h\\ntuist plugin --help\\n```\\n\\n\",\"title\":\"tuist plugin\",\"frontmatter\":{\"URL\":\"/ja/cli/plugin\",\"LLMS_URL\":\"/ja/cli/plugin.md\"}},{\"path\":\"/ja/cli/plugin/archive.md\",\"url\":\"/ja/cli/plugin/archive\",\"llmUrl\":\"/ja/cli/plugin/archive.md\",\"content\":\"---\\nURL: \\\"/ja/cli/plugin/archive\\\"\\nLLMS_URL: \\\"/ja/cli/plugin/archive.md\\\"\\n---\\n\\n# tuist plugin archive\\nArchives a plugin into a NameOfPlugin.tuist-plugin.zip.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_ARCHIVE_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin archive --path [path]\\ntuist plugin archive -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin archive -h\\ntuist plugin archive --help\\n```\\n\\n\",\"title\":\"tuist plugin archive\",\"frontmatter\":{\"URL\":\"/ja/cli/plugin/archive\",\"LLMS_URL\":\"/ja/cli/plugin/archive.md\"}},{\"path\":\"/ja/cli/plugin/build.md\",\"url\":\"/ja/cli/plugin/build\",\"llmUrl\":\"/ja/cli/plugin/build.md\",\"content\":\"---\\nURL: \\\"/ja/cli/plugin/build\\\"\\nLLMS_URL: \\\"/ja/cli/plugin/build.md\\\"\\n---\\n\\n# tuist plugin build\\nBuilds a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin build --configuration [configuration]\\ntuist plugin build -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin build --path [path]\\ntuist plugin build -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin build --build-tests\\ntuist plugin build --no-build-tests\\n```\\n\\n### show-bin-path \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_SHOW_BIN_PATH`\\n\\nPrint the binary output path.\\n```bash\\ntuist plugin build --show-bin-path\\ntuist plugin build --no-show-bin-path\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_TARGETS`\\n\\nBuild the specified targets.\\n```bash\\ntuist plugin build --targets [targets]\\n```\\n\\n### products \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_PRODUCTS`\\n\\nBuild the specified products.\\n```bash\\ntuist plugin build --products [products]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin build -h\\ntuist plugin build --help\\n```\\n\\n\",\"title\":\"tuist plugin build\",\"frontmatter\":{\"URL\":\"/ja/cli/plugin/build\",\"LLMS_URL\":\"/ja/cli/plugin/build.md\"}},{\"path\":\"/ja/cli/plugin/run.md\",\"url\":\"/ja/cli/plugin/run\",\"llmUrl\":\"/ja/cli/plugin/run.md\",\"content\":\"---\\nURL: \\\"/ja/cli/plugin/run\\\"\\nLLMS_URL: \\\"/ja/cli/plugin/run.md\\\"\\n---\\n\\n# tuist plugin run\\nRuns a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin run --configuration [configuration]\\ntuist plugin run -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin run --path [path]\\ntuist plugin run -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin run --build-tests\\ntuist plugin run --no-build-tests\\n```\\n\\n### skip-build \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_SKIP_BUILD`\\n\\nSkip building the plugin.\\n```bash\\ntuist plugin run --skip-build\\ntuist plugin run --no-skip-build\\n```\\n\\n### task \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_TASK`\\n\\nThe plugin task to run.\\n```bash\\ntuist plugin run [task]\\n```\\n\\n### arguments \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_ARGUMENTS`\\n\\nThe arguments to pass to the plugin task.\\n```bash\\ntuist plugin run [arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin run -h\\ntuist plugin run --help\\n```\\n\\n\",\"title\":\"tuist plugin run\",\"frontmatter\":{\"URL\":\"/ja/cli/plugin/run\",\"LLMS_URL\":\"/ja/cli/plugin/run.md\"}},{\"path\":\"/ja/cli/plugin/test.md\",\"url\":\"/ja/cli/plugin/test\",\"llmUrl\":\"/ja/cli/plugin/test.md\",\"content\":\"---\\nURL: \\\"/ja/cli/plugin/test\\\"\\nLLMS_URL: \\\"/ja/cli/plugin/test.md\\\"\\n---\\n\\n# tuist plugin test\\nTests a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin test --configuration [configuration]\\ntuist plugin test -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin test --path [path]\\ntuist plugin test -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_TEST_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin test --build-tests\\ntuist plugin test --no-build-tests\\n```\\n\\n### test-products \\n\\n**Environment variable** `TUIST_PLUGIN_TEST_TEST_PRODUCTS`\\n\\nTest the specified products.\\n```bash\\ntuist plugin test --test-products [test-products]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin test -h\\ntuist plugin test --help\\n```\\n\\n\",\"title\":\"tuist plugin test\",\"frontmatter\":{\"URL\":\"/ja/cli/plugin/test\",\"LLMS_URL\":\"/ja/cli/plugin/test.md\"}},{\"path\":\"/ja/cli/project.md\",\"url\":\"/ja/cli/project\",\"llmUrl\":\"/ja/cli/project.md\",\"content\":\"---\\nURL: \\\"/ja/cli/project\\\"\\nLLMS_URL: \\\"/ja/cli/project.md\\\"\\n---\\n\\n# tuist project\\nA set of commands to manage your Tuist projects.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project -h\\ntuist project --help\\n```\\n\\n\",\"title\":\"tuist project\",\"frontmatter\":{\"URL\":\"/ja/cli/project\",\"LLMS_URL\":\"/ja/cli/project.md\"}},{\"path\":\"/ja/cli/project/create.md\",\"url\":\"/ja/cli/project/create\",\"llmUrl\":\"/ja/cli/project/create.md\",\"content\":\"---\\nURL: \\\"/ja/cli/project/create\\\"\\nLLMS_URL: \\\"/ja/cli/project/create.md\\\"\\n---\\n\\n# tuist project create\\nCreate a new project.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_CREATE_FULL_HANDLE`\\n\\nThe project to create. The full handle must be in the format of account-handle/project-handle.\\n```bash\\ntuist project create [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_CREATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project create --path [path]\\ntuist project create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project create -h\\ntuist project create --help\\n```\\n\\n\",\"title\":\"tuist project create\",\"frontmatter\":{\"URL\":\"/ja/cli/project/create\",\"LLMS_URL\":\"/ja/cli/project/create.md\"}},{\"path\":\"/ja/cli/project/delete.md\",\"url\":\"/ja/cli/project/delete\",\"llmUrl\":\"/ja/cli/project/delete.md\",\"content\":\"---\\nURL: \\\"/ja/cli/project/delete\\\"\\nLLMS_URL: \\\"/ja/cli/project/delete.md\\\"\\n---\\n\\n# tuist project delete\\nDelete a Tuist project.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_DELETE_FULL_HANDLE`\\n\\nThe project to delete. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project delete [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_DELETE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project delete --path [path]\\ntuist project delete -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project delete -h\\ntuist project delete --help\\n```\\n\\n\",\"title\":\"tuist project delete\",\"frontmatter\":{\"URL\":\"/ja/cli/project/delete\",\"LLMS_URL\":\"/ja/cli/project/delete.md\"}},{\"path\":\"/ja/cli/project/list.md\",\"url\":\"/ja/cli/project/list\",\"llmUrl\":\"/ja/cli/project/list.md\",\"content\":\"---\\nURL: \\\"/ja/cli/project/list\\\"\\nLLMS_URL: \\\"/ja/cli/project/list.md\\\"\\n---\\n\\n# tuist project list\\nList projects you have access to.\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_PROJECT_LIST_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist project list --json\\ntuist project list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_LIST_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project list --path [path]\\ntuist project list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project list -h\\ntuist project list --help\\n```\\n\\n\",\"title\":\"tuist project list\",\"frontmatter\":{\"URL\":\"/ja/cli/project/list\",\"LLMS_URL\":\"/ja/cli/project/list.md\"}},{\"path\":\"/ja/cli/project/show.md\",\"url\":\"/ja/cli/project/show\",\"llmUrl\":\"/ja/cli/project/show.md\",\"content\":\"---\\nURL: \\\"/ja/cli/project/show\\\"\\nLLMS_URL: \\\"/ja/cli/project/show.md\\\"\\n---\\n\\n# tuist project show\\nShow information about the specified project. Use --web flag to open the project in the browser.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_FULL_HANDLE`\\n\\nThe project to show. The full handle must be in the format of account-handle/project-handle.\\n```bash\\ntuist project show [full-handle]\\n```\\n\\n### web \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_WEB`\\n\\nOpen a project in the browser.\\n```bash\\ntuist project show --web\\ntuist project show --no-web\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_PATH`\\n\\nThe path to the Tuist project.\\n```bash\\ntuist project show --path [path]\\ntuist project show -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project show -h\\ntuist project show --help\\n```\\n\\n\",\"title\":\"tuist project show\",\"frontmatter\":{\"URL\":\"/ja/cli/project/show\",\"LLMS_URL\":\"/ja/cli/project/show.md\"}},{\"path\":\"/ja/cli/project/tokens.md\",\"url\":\"/ja/cli/project/tokens\",\"llmUrl\":\"/ja/cli/project/tokens.md\",\"content\":\"---\\nURL: \\\"/ja/cli/project/tokens\\\"\\nLLMS_URL: \\\"/ja/cli/project/tokens.md\\\"\\n---\\n\\n# tuist project tokens\\nManage Tuist project tokens.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens -h\\ntuist project tokens --help\\n```\\n\\n\",\"title\":\"tuist project tokens\",\"frontmatter\":{\"URL\":\"/ja/cli/project/tokens\",\"LLMS_URL\":\"/ja/cli/project/tokens.md\"}},{\"path\":\"/ja/cli/project/tokens/create.md\",\"url\":\"/ja/cli/project/tokens/create\",\"llmUrl\":\"/ja/cli/project/tokens/create.md\",\"content\":\"---\\nURL: \\\"/ja/cli/project/tokens/create\\\"\\nLLMS_URL: \\\"/ja/cli/project/tokens/create.md\\\"\\n---\\n\\n# tuist project tokens create\\nCreate a new Tuist project token. You can save this token in the `TUIST_CONFIG_TOKEN` environment variable to authenticate requests against the Tuist API.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to create the token for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens create [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens create --path [path]\\ntuist project tokens create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens create -h\\ntuist project tokens create --help\\n```\\n\\n\",\"title\":\"tuist project tokens create\",\"frontmatter\":{\"URL\":\"/ja/cli/project/tokens/create\",\"LLMS_URL\":\"/ja/cli/project/tokens/create.md\"}},{\"path\":\"/ja/cli/project/tokens/list.md\",\"url\":\"/ja/cli/project/tokens/list\",\"llmUrl\":\"/ja/cli/project/tokens/list.md\",\"content\":\"---\\nURL: \\\"/ja/cli/project/tokens/list\\\"\\nLLMS_URL: \\\"/ja/cli/project/tokens/list.md\\\"\\n---\\n\\n# tuist project tokens list\\nList Tuist project tokens.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to list the tokens for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens list [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens list --path [path]\\ntuist project tokens list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens list -h\\ntuist project tokens list --help\\n```\\n\\n\",\"title\":\"tuist project tokens list\",\"frontmatter\":{\"URL\":\"/ja/cli/project/tokens/list\",\"LLMS_URL\":\"/ja/cli/project/tokens/list.md\"}},{\"path\":\"/ja/cli/project/tokens/revoke.md\",\"url\":\"/ja/cli/project/tokens/revoke\",\"llmUrl\":\"/ja/cli/project/tokens/revoke.md\",\"content\":\"---\\nURL: \\\"/ja/cli/project/tokens/revoke\\\"\\nLLMS_URL: \\\"/ja/cli/project/tokens/revoke.md\\\"\\n---\\n\\n# tuist project tokens revoke\\nRevoke Tuist project tokens.\\n\\n## Arguments\\n\\n### project-token-id \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_ID`\\n\\nThe ID of the project token to revoke.\\n```bash\\ntuist project tokens revoke [project-token-id]\\n```\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to revoke the token for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens revoke [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens revoke --path [path]\\ntuist project tokens revoke -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens revoke -h\\ntuist project tokens revoke --help\\n```\\n\\n\",\"title\":\"tuist project tokens revoke\",\"frontmatter\":{\"URL\":\"/ja/cli/project/tokens/revoke\",\"LLMS_URL\":\"/ja/cli/project/tokens/revoke.md\"}},{\"path\":\"/ja/cli/project/update.md\",\"url\":\"/ja/cli/project/update\",\"llmUrl\":\"/ja/cli/project/update.md\",\"content\":\"---\\nURL: \\\"/ja/cli/project/update\\\"\\nLLMS_URL: \\\"/ja/cli/project/update.md\\\"\\n---\\n\\n# tuist project update\\nUpdate project settings\\n\\n## Arguments\\n\\n### full-handle \\n\\nThe full handle of the project to update. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project update [full-handle]\\n```\\n\\n### default-branch \\n\\nSet the default branch name for the repository linked to the project.\\n```bash\\ntuist project update --default-branch [default-branch]\\n```\\n\\n### repository-url \\n\\nSet the connected Git repository. Example: --repository-url https://github.com/tuist/tuist\\n```bash\\ntuist project update --repository-url [repository-url]\\n```\\n\\n### visibility \\n\\nSet the project's visibility. When private, only project's members have access to the project. Public projects are accessible by anyone.\\n```bash\\ntuist project update --visibility [visibility]\\n```\\n\\n### path \\n\\nThe path to the Tuist project.\\n```bash\\ntuist project update --path [path]\\ntuist project update -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project update -h\\ntuist project update --help\\n```\\n\\n\",\"title\":\"tuist project update\",\"frontmatter\":{\"URL\":\"/ja/cli/project/update\",\"LLMS_URL\":\"/ja/cli/project/update.md\"}},{\"path\":\"/ja/cli/registry.md\",\"url\":\"/ja/cli/registry\",\"llmUrl\":\"/ja/cli/registry.md\",\"content\":\"---\\nURL: \\\"/ja/cli/registry\\\"\\nLLMS_URL: \\\"/ja/cli/registry.md\\\"\\n---\\n\\n# tuist registry\\nA set of commands to interact with the Tuist Registry.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry -h\\ntuist registry --help\\n```\\n\\n\",\"title\":\"tuist registry\",\"frontmatter\":{\"URL\":\"/ja/cli/registry\",\"LLMS_URL\":\"/ja/cli/registry.md\"}},{\"path\":\"/ja/cli/registry/login.md\",\"url\":\"/ja/cli/registry/login\",\"llmUrl\":\"/ja/cli/registry/login.md\",\"content\":\"---\\nURL: \\\"/ja/cli/registry/login\\\"\\nLLMS_URL: \\\"/ja/cli/registry/login.md\\\"\\n---\\n\\n# tuist registry login\\nLog in to the registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_LOGIN_PATH`\\n\\nThe path to the directory that contains the project to which registry you want to log in.\\n```bash\\ntuist registry login --path [path]\\ntuist registry login -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry login -h\\ntuist registry login --help\\n```\\n\\n\",\"title\":\"tuist registry login\",\"frontmatter\":{\"URL\":\"/ja/cli/registry/login\",\"LLMS_URL\":\"/ja/cli/registry/login.md\"}},{\"path\":\"/ja/cli/registry/logout.md\",\"url\":\"/ja/cli/registry/logout\",\"llmUrl\":\"/ja/cli/registry/logout.md\",\"content\":\"---\\nURL: \\\"/ja/cli/registry/logout\\\"\\nLLMS_URL: \\\"/ja/cli/registry/logout.md\\\"\\n---\\n\\n# tuist registry logout\\nLog out of the registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_LOGOUT_PATH`\\n\\nThe path to the directory that contains the project to which registry you want to log out of.\\n```bash\\ntuist registry logout --path [path]\\ntuist registry logout -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry logout -h\\ntuist registry logout --help\\n```\\n\\n\",\"title\":\"tuist registry logout\",\"frontmatter\":{\"URL\":\"/ja/cli/registry/logout\",\"LLMS_URL\":\"/ja/cli/registry/logout.md\"}},{\"path\":\"/ja/cli/registry/setup.md\",\"url\":\"/ja/cli/registry/setup\",\"llmUrl\":\"/ja/cli/registry/setup.md\",\"content\":\"---\\nURL: \\\"/ja/cli/registry/setup\\\"\\nLLMS_URL: \\\"/ja/cli/registry/setup.md\\\"\\n---\\n\\n# tuist registry setup\\nSet up the Tuist Registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_SETUP_PATH`\\n\\nThe path to the directory that contains the project to set up the registry for.\\n```bash\\ntuist registry setup --path [path]\\ntuist registry setup -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry setup -h\\ntuist registry setup --help\\n```\\n\\n\",\"title\":\"tuist registry setup\",\"frontmatter\":{\"URL\":\"/ja/cli/registry/setup\",\"LLMS_URL\":\"/ja/cli/registry/setup.md\"}},{\"path\":\"/ja/cli/run.md\",\"url\":\"/ja/cli/run\",\"llmUrl\":\"/ja/cli/run.md\",\"content\":\"---\\nURL: \\\"/ja/cli/run\\\"\\nLLMS_URL: \\\"/ja/cli/run.md\\\"\\n---\\n\\n# tuist run\\nRuns a scheme or target in the project\\n\\n## Arguments\\n\\n### runnable \\n\\n**Environment variable** `TUIST_RUN_SCHEME`\\n\\nRunnable project scheme, a preview URL, or app name with a specifier such as App@latest or App@feature-branch.\\n```bash\\ntuist run [runnable]\\n```\\n\\n### generate \\n\\n**Environment variable** `TUIST_RUN_GENERATE`\\n\\nForce the generation of the project before running.\\n```bash\\ntuist run --generate\\ntuist run --no-generate\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_RUN_CLEAN`\\n\\nWhen passed, it cleans the project before running.\\n```bash\\ntuist run --clean\\ntuist run --no-clean\\n```\\n\\n### path \\n\\nThe path to the directory that contains the project with the target or scheme to be run.\\n```bash\\ntuist run --path [path]\\ntuist run -p [path]\\n```\\n\\n### configuration \\n\\nThe configuration to be used when building the scheme.\\n```bash\\ntuist run --configuration [configuration]\\ntuist run -C [configuration]\\n```\\n\\n### device \\n\\nThe simulator or physical device name to run the target, scheme, or preview on.\\n```bash\\ntuist run --device [device]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_RUN_OS`\\n\\nThe OS version of the simulator.\\n```bash\\ntuist run --os [os]\\ntuist run -o [os]\\n```\\n\\n### rosetta \\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist run --rosetta\\n```\\n\\n### arguments \\n\\n**Environment variable** `TUIST_RUN_ARGUMENTS`\\n\\nThe arguments to pass to the runnable target during execution.\\n```bash\\ntuist run [arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist run -h\\ntuist run --help\\n```\\n\\n\",\"title\":\"tuist run\",\"frontmatter\":{\"URL\":\"/ja/cli/run\",\"LLMS_URL\":\"/ja/cli/run.md\"}},{\"path\":\"/ja/cli/scaffold.md\",\"url\":\"/ja/cli/scaffold\",\"llmUrl\":\"/ja/cli/scaffold.md\",\"content\":\"---\\nURL: \\\"/ja/cli/scaffold\\\"\\nLLMS_URL: \\\"/ja/cli/scaffold.md\\\"\\n---\\n\\n# tuist scaffold\\nGenerates new project based on a template\\n\\n## Arguments\\n\\n### template \\n\\n**Environment variable** `TUIST_SCAFFOLD_TEMPLATE`\\n\\nName of template you want to use\\n```bash\\ntuist scaffold [template]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_SCAFFOLD_JSON`\\n\\nThe output in JSON format\\n```bash\\ntuist scaffold --json\\ntuist scaffold --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_SCAFFOLD_PATH`\\n\\nThe path to the folder where the template will be generated (Default: Current directory)\\n```bash\\ntuist scaffold --path [path]\\ntuist scaffold -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist scaffold -h\\ntuist scaffold --help\\n```\\n\\n\",\"title\":\"tuist scaffold\",\"frontmatter\":{\"URL\":\"/ja/cli/scaffold\",\"LLMS_URL\":\"/ja/cli/scaffold.md\"}},{\"path\":\"/ja/cli/scaffold/list.md\",\"url\":\"/ja/cli/scaffold/list\",\"llmUrl\":\"/ja/cli/scaffold/list.md\",\"content\":\"---\\nURL: \\\"/ja/cli/scaffold/list\\\"\\nLLMS_URL: \\\"/ja/cli/scaffold/list.md\\\"\\n---\\n\\n# tuist scaffold list\\nLists available scaffold templates\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_SCAFFOLD_LIST_JSON`\\n\\nThe output in JSON format\\n```bash\\ntuist scaffold list --json\\ntuist scaffold list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_SCAFFOLD_LIST_PATH`\\n\\nThe path where you want to list templates from\\n```bash\\ntuist scaffold list --path [path]\\ntuist scaffold list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist scaffold list -h\\ntuist scaffold list --help\\n```\\n\\n\",\"title\":\"tuist scaffold list\",\"frontmatter\":{\"URL\":\"/ja/cli/scaffold/list\",\"LLMS_URL\":\"/ja/cli/scaffold/list.md\"}},{\"path\":\"/ja/cli/share.md\",\"url\":\"/ja/cli/share\",\"llmUrl\":\"/ja/cli/share.md\",\"content\":\"---\\nURL: \\\"/ja/cli/share\\\"\\nLLMS_URL: \\\"/ja/cli/share.md\\\"\\n---\\n\\n# tuist share\\nGenerate a link to share your app.\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory that contains a Tuist or Xcode project with a buildable scheme that can output runnable artifacts.\\n```bash\\ntuist share --path [path]\\ntuist share -p [path]\\n```\\n\\n### apps \\n\\n**Environment variable** `TUIST_SHARE_APP`\\n\\nThe app name to be looked up in the built products directory or the paths to the app bundles or an .ipa archive.\\n```bash\\ntuist share [apps]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_SHARE_CONFIGURATION`\\n\\nThe configuration of the app to share. Ignored when the app paths are passed directly.\\n```bash\\ntuist share --configuration [configuration]\\ntuist share -C [configuration]\\n```\\n\\n### platforms \\n\\n**Environment variable** `TUIST_SHARE_PLATFORM`\\n\\nThe platforms (iOS, tvOS, visionOS, watchOS or macOS) to share the app for. Ignored when the app paths are passed directly.\\n```bash\\ntuist share --platforms [platforms]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_SHARE_DERIVED_DATA_PATH`\\n\\nThe derived data path to find the apps in. When absent, the system-configured one.\\n```bash\\ntuist share --derived-data-path [derived-data-path]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_SHARE_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist share --json\\ntuist share --no-json\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist share -h\\ntuist share --help\\n```\\n\\n\",\"title\":\"tuist share\",\"frontmatter\":{\"URL\":\"/ja/cli/share\",\"LLMS_URL\":\"/ja/cli/share.md\"}},{\"path\":\"/ja/cli/shell-completions.md\",\"url\":\"/ja/cli/shell-completions\",\"llmUrl\":\"/ja/cli/shell-completions.md\",\"content\":\"---\\nURL: \\\"/ja/cli/shell-completions\\\"\\nLLMS_URL: \\\"/ja/cli/shell-completions.md\\\"\\ntitle: \\\"Shell completions\\\"\\ntitleTemplate: \\\":title · CLI · Tuist\\\"\\ndescription: \\\"Learn how to configure your shell to auto-complete Tuist commands.\\\"\\n---\\n\\n# Shell completions\\n\\nTuistを**グローバルにインストールしている**場合 (例えば、Homebrew経由で)、BashやZsh用のシェル補完をインストールして、コマンドやオプションを自動補完できます。\\n\\n:::warning WHAT IS A GLOBAL INSTALLATION\\nグローバルインストールは、シェルの `$PATH` 環境変数で利用可能なインストールです。 つまり、ターミナルの任意のディレクトリから `tuist` を実行できます。 This is the default installation method for Homebrew.\\n:::\\n\\n#### Zsh {#zsh}\\n\\n[oh-my-zsh](https://ohmyz.sh/) がインストールされている場合、自動的に読み込まれる補完スクリプトのディレクトリ `.oh-my-zsh/completions` があります。 新しい補完スクリプトをそのディレクトリに `_tuist` という名前の新しいファイルとしてコピーします。\\n\\n```bash\\ntuist --generate-completion-script > ~/.oh-my-zsh/completions/_tuist\\n```\\n\\n`oh-my-zsh` がない場合、補完スクリプトのパスを関数パスに追加し、補完スクリプトの自動読み込みを有効にする必要があります。 最初に、`~/.zshrc` に以下の行を追加します。\\n\\n```bash\\nfpath=(~/.zsh/completion $fpath)\\nautoload -U compinit\\ncompinit\\n```\\n\\n次に、`~/.zsh/completion` にディレクトリを作成し、補完スクリプトを新しいディレクトリに再度 `_tuist` というファイルにコピーします。\\n\\n```bash\\ntuist --generate-completion-script > ~/.zsh/completion/_tuist\\n```\\n\\n#### Bash {#bash}\\n\\n[bash-completion](https://github.com/scop/bash-completion) がインストールされている場合、新しい補完スクリプトをファイル `/usr/local/etc/bash_completion.d/_tuist` にコピーするだけで済みます。\\n\\n```bash\\ntuist --generate-completion-script > /usr/local/etc/bash_completion.d/_tuist\\n```\\n\\nbash-completion がない場合、補完スクリプトを直接 source で読み込む必要があります。 `~/.bash_completions/` のようなディレクトリにコピーし、次の行を `~/.bash_profile` または `~/.bashrc` に追加します。\\n\\n```bash\\nsource ~/.bash_completions/example.bash\\n```\\n\\n#### Fish {#fish}\\n\\nIf you use [fish shell](https://fishshell.com), you can copy your new completion script to `~/.config/fish/completions/tuist.fish`:\\n\\n```bash\\nmkdir -p ~/.config/fish/completions\\ntuist --generate-completion-script > ~/.config/fish/completions/tuist.fish\\n```\\n\",\"title\":\"Shell completions\",\"frontmatter\":{\"URL\":\"/ja/cli/shell-completions\",\"LLMS_URL\":\"/ja/cli/shell-completions.md\",\"title\":\"Shell completions\",\"titleTemplate\":\":title · CLI · Tuist\",\"description\":\"Learn how to configure your shell to auto-complete Tuist commands.\"}},{\"path\":\"/ja/cli/test.md\",\"url\":\"/ja/cli/test\",\"llmUrl\":\"/ja/cli/test.md\",\"content\":\"---\\nURL: \\\"/ja/cli/test\\\"\\nLLMS_URL: \\\"/ja/cli/test.md\\\"\\n---\\n\\n# tuist test\\nTests a project\\n\\n## Arguments\\n\\n### scheme \\n\\n**Environment variable** `TUIST_TEST_SCHEME`\\n\\nThe scheme to be tested. By default it tests all the testable targets of the project in the current directory.\\n```bash\\ntuist test [scheme]\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_TEST_CLEAN`\\n\\nWhen passed, it cleans the project before testing it.\\n```bash\\ntuist test --clean\\ntuist test -c\\ntuist test --no-clean\\n```\\n\\n### no-upload \\n\\n**Environment variable** `TUIST_TEST_NO_UPLOAD`\\n\\nWhen passed, the result necessary for test selection is not persisted to the server.\\n```bash\\ntuist test --no-upload\\ntuist test -n\\ntuist test --no-no-upload\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_TEST_PATH`\\n\\nThe path to the directory that contains the project to be tested.\\n```bash\\ntuist test --path [path]\\ntuist test -p [path]\\n```\\n\\n### device \\n\\n**Environment variable** `TUIST_TEST_DEVICE`\\n\\nTest on a specific device.\\n```bash\\ntuist test --device [device]\\ntuist test -d [device]\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_TEST_PLATFORM`\\n\\nTest on a specific platform.\\n```bash\\ntuist test --platform [platform]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_TEST_OS`\\n\\nTest with a specific version of the OS.\\n```bash\\ntuist test --os [os]\\ntuist test -o [os]\\n```\\n\\n### rosetta \\n\\n**Environment variable** `TUIST_TEST_ROSETTA`\\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist test --rosetta\\ntuist test --no-rosetta\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_TEST_CONFIGURATION`\\n\\nThe configuration to be used when testing the scheme.\\n```bash\\ntuist test --configuration [configuration]\\ntuist test -C [configuration]\\n```\\n\\n### skip-ui-tests \\n\\n**Environment variable** `TUIST_TEST_SKIP_UITESTS`\\n\\nWhen passed, it skips testing UI Tests targets.\\n```bash\\ntuist test --skip-ui-tests\\ntuist test --no-skip-ui-tests\\n```\\n\\n### result-bundle-path \\n\\n**Environment variable** `TUIST_TEST_RESULT_BUNDLE_PATH`\\n\\nPath where test result bundle will be saved.\\n```bash\\ntuist test --result-bundle-path [result-bundle-path]\\ntuist test -T [result-bundle-path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_TEST_DERIVED_DATA_PATH`\\n\\nOverrides the folder that should be used for derived data when testing a project.\\n```bash\\ntuist test --derived-data-path [derived-data-path]\\n```\\n\\n### retry-count \\n\\n**Environment variable** `TUIST_TEST_RETRY_COUNT`\\n\\nTests will retry \\\\ of times until success. Example: if 1 is specified, the test will be retried at most once, hence it will run up to 2 times.\\n```bash\\ntuist test --retry-count [retry-count]\\n```\\n\\n### test-plan \\n\\n**Environment variable** `TUIST_TEST_TEST_PLAN`\\n\\nThe test plan to run.\\n```bash\\ntuist test --test-plan [test-plan]\\n```\\n\\n### test-targets \\n\\n**Environment variable** `TUIST_TEST_TEST_TARGETS`\\n\\nThe list of test identifiers you want to test. Expected format is TestTarget[/TestClass[/TestMethod]]. It is applied before --skip-testing\\n```bash\\ntuist test --test-targets [test-targets]\\n```\\n\\n### skip-test-targets \\n\\n**Environment variable** `TUIST_TEST_SKIP_TEST_TARGETS`\\n\\nThe list of test identifiers you want to skip testing. Expected format is TestTarget[/TestClass[/TestMethod]].\\n```bash\\ntuist test --skip-test-targets [skip-test-targets]\\n```\\n\\n### filter-configurations \\n\\n**Environment variable** `TUIST_TEST_CONFIGURATIONS`\\n\\nThe list of configurations you want to test. It is applied before --skip-configuration\\n```bash\\ntuist test --filter-configurations [filter-configurations]\\n```\\n\\n### skip-configurations \\n\\n**Environment variable** `TUIST_TEST_SKIP_CONFIGURATIONS`\\n\\nThe list of configurations you want to skip testing.\\n```bash\\ntuist test --skip-configurations [skip-configurations]\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_TEST_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist test --binary-cache\\ntuist test --no-binary-cache\\n```\\n\\n### selective-testing \\n\\n**Environment variable** `TUIST_TEST_SELECTIVE_TESTING`\\n\\nWhen --no-selective-testing is passed, tuist runs all tests without using selective testing.\\n```bash\\ntuist test --selective-testing\\ntuist test --no-selective-testing\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_TEST_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips testing. This is useful for debugging purposes.\\n```bash\\ntuist test --generate-only\\ntuist test --no-generate-only\\n```\\n\\n### without-building \\n\\n**Environment variable** `TUIST_TEST_WITHOUT_BUILDING`\\n\\nWhen passed, run the tests without building.\\n```bash\\ntuist test --without-building\\ntuist test --no-without-building\\n```\\n\\n### build-only \\n\\n**Environment variable** `TUIST_TEST_BUILD_ONLY`\\n\\nWhen passed, build the tests, but don't run them\\n```bash\\ntuist test --build-only\\ntuist test --no-build-only\\n```\\n\\n### passthrough-xcode-build-arguments \\n\\nxcodebuild arguments that will be passthrough\\n```bash\\ntuist test [passthrough-xcode-build-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist test -h\\ntuist test --help\\n```\\n\\n\",\"title\":\"tuist test\",\"frontmatter\":{\"URL\":\"/ja/cli/test\",\"LLMS_URL\":\"/ja/cli/test.md\"}},{\"path\":\"/ja/cli/version.md\",\"url\":\"/ja/cli/version\",\"llmUrl\":\"/ja/cli/version.md\",\"content\":\"---\\nURL: \\\"/ja/cli/version\\\"\\nLLMS_URL: \\\"/ja/cli/version.md\\\"\\n---\\n\\n# tuist version\\nOutputs the current version of tuist\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist version -h\\ntuist version --help\\n```\\n\\n\",\"title\":\"tuist version\",\"frontmatter\":{\"URL\":\"/ja/cli/version\",\"LLMS_URL\":\"/ja/cli/version.md\"}},{\"path\":\"/ja/cli/xcodebuild.md\",\"url\":\"/ja/cli/xcodebuild\",\"llmUrl\":\"/ja/cli/xcodebuild.md\",\"content\":\"---\\nURL: \\\"/ja/cli/xcodebuild\\\"\\nLLMS_URL: \\\"/ja/cli/xcodebuild.md\\\"\\n---\\n\\n# tuist xcodebuild\\ntuist xcodebuild extends the xcodebuild CLI with server capabilities such as selective testing or analytics.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild -h\\ntuist xcodebuild --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild\",\"frontmatter\":{\"URL\":\"/ja/cli/xcodebuild\",\"LLMS_URL\":\"/ja/cli/xcodebuild.md\"}},{\"path\":\"/ja/cli/xcodebuild/archive.md\",\"url\":\"/ja/cli/xcodebuild/archive\",\"llmUrl\":\"/ja/cli/xcodebuild/archive.md\",\"content\":\"---\\nURL: \\\"/ja/cli/xcodebuild/archive\\\"\\nLLMS_URL: \\\"/ja/cli/xcodebuild/archive.md\\\"\\n---\\n\\n# tuist xcodebuild archive\\ntuist xcodebuild archive extends the xcodebuild CLI archive action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild archive [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild archive -h\\ntuist xcodebuild archive --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild archive\",\"frontmatter\":{\"URL\":\"/ja/cli/xcodebuild/archive\",\"LLMS_URL\":\"/ja/cli/xcodebuild/archive.md\"}},{\"path\":\"/ja/cli/xcodebuild/build.md\",\"url\":\"/ja/cli/xcodebuild/build\",\"llmUrl\":\"/ja/cli/xcodebuild/build.md\",\"content\":\"---\\nURL: \\\"/ja/cli/xcodebuild/build\\\"\\nLLMS_URL: \\\"/ja/cli/xcodebuild/build.md\\\"\\n---\\n\\n# tuist xcodebuild build\\ntuist xcodebuild build extends the xcodebuild CLI build action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild build [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild build -h\\ntuist xcodebuild build --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild build\",\"frontmatter\":{\"URL\":\"/ja/cli/xcodebuild/build\",\"LLMS_URL\":\"/ja/cli/xcodebuild/build.md\"}},{\"path\":\"/ja/cli/xcodebuild/build-for-testing.md\",\"url\":\"/ja/cli/xcodebuild/build-for-testing\",\"llmUrl\":\"/ja/cli/xcodebuild/build-for-testing.md\",\"content\":\"---\\nURL: \\\"/ja/cli/xcodebuild/build-for-testing\\\"\\nLLMS_URL: \\\"/ja/cli/xcodebuild/build-for-testing.md\\\"\\n---\\n\\n# tuist xcodebuild build-for-testing\\ntuist xcodebuild build-for-testing extends the xcodebuild CLI build-for-testing action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild build-for-testing [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild build-for-testing -h\\ntuist xcodebuild build-for-testing --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild build-for-testing\",\"frontmatter\":{\"URL\":\"/ja/cli/xcodebuild/build-for-testing\",\"LLMS_URL\":\"/ja/cli/xcodebuild/build-for-testing.md\"}},{\"path\":\"/ja/cli/xcodebuild/test.md\",\"url\":\"/ja/cli/xcodebuild/test\",\"llmUrl\":\"/ja/cli/xcodebuild/test.md\",\"content\":\"---\\nURL: \\\"/ja/cli/xcodebuild/test\\\"\\nLLMS_URL: \\\"/ja/cli/xcodebuild/test.md\\\"\\n---\\n\\n# tuist xcodebuild test\\ntuist xcodebuild test extends the xcodebuild CLI test action with insights and selective testing capabilities.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild test [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild test -h\\ntuist xcodebuild test --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild test\",\"frontmatter\":{\"URL\":\"/ja/cli/xcodebuild/test\",\"LLMS_URL\":\"/ja/cli/xcodebuild/test.md\"}},{\"path\":\"/ja/cli/xcodebuild/test-without-building.md\",\"url\":\"/ja/cli/xcodebuild/test-without-building\",\"llmUrl\":\"/ja/cli/xcodebuild/test-without-building.md\",\"content\":\"---\\nURL: \\\"/ja/cli/xcodebuild/test-without-building\\\"\\nLLMS_URL: \\\"/ja/cli/xcodebuild/test-without-building.md\\\"\\n---\\n\\n# tuist xcodebuild test-without-building\\ntuist xcodebuild test-without-building extends the xcodebuild CLI test action with insights and selective testing capabilities.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild test-without-building [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild test-without-building -h\\ntuist xcodebuild test-without-building --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild test-without-building\",\"frontmatter\":{\"URL\":\"/ja/cli/xcodebuild/test-without-building\",\"LLMS_URL\":\"/ja/cli/xcodebuild/test-without-building.md\"}},{\"path\":\"/ja/contributors/cli/logging.md\",\"url\":\"/ja/contributors/cli/logging\",\"llmUrl\":\"/ja/contributors/cli/logging.md\",\"content\":\"---\\nURL: \\\"/ja/contributors/cli/logging\\\"\\nLLMS_URL: \\\"/ja/contributors/cli/logging.md\\\"\\ntitle: \\\"ロギング\\\"\\ntitleTemplate: \\\":title · CLI · Contributors · Tuist\\\"\\ndescription: \\\"コードを確認してTuist に貢献する方法を学ぶ\\\"\\n---\\n\\n# ロギング {#logging}\\n\\nCLI はロギングのために [swift-log](https://github.com/apple/swift-log) インターフェースを採用しています。 パッケージはロギングの実装の詳細を抽象化し、CLIがロギングバックエンドに依存しないようにします。 The logger is dependency-injected using task locals and can be accessed anywhere using:\\n\\n```bash\\nLogger.current\\n```\\n\\n> [!NOTE]\\n> Task locals don't propagate the value when using `Dispatch` or detached tasks, so if you use them, you'll need to get it and pass it to the asynchronous operation.\\n\\n## 記録する内容 {#what-to-log}\\n\\nログはCLIのUIではありません。 ログは発生した問題を診断するためのツールです。\\nしたがって、あなたが提供する情報が多いほど、より良いです。\\n新しい機能を構築するときは、予期せぬ動作に遭遇する開発者の立場になって、 どんな情報が役に立つか考えください。\\n適切な[log level](https://www.swift.org/documentation/server/guides/libraries/log-levels.html)を使用することを徹底しましょう。 そうしないと、開発者は不要な情報をフィルターすることができなくなってしまいます。\\n\",\"title\":\"ロギング\",\"frontmatter\":{\"URL\":\"/ja/contributors/cli/logging\",\"LLMS_URL\":\"/ja/contributors/cli/logging.md\",\"title\":\"ロギング\",\"titleTemplate\":\":title · CLI · Contributors · Tuist\",\"description\":\"コードを確認してTuist に貢献する方法を学ぶ\"}},{\"path\":\"/ja/contributors/code-reviews.md\",\"url\":\"/ja/contributors/code-reviews\",\"llmUrl\":\"/ja/contributors/code-reviews.md\",\"content\":\"---\\nURL: \\\"/ja/contributors/code-reviews\\\"\\nLLMS_URL: \\\"/ja/contributors/code-reviews.md\\\"\\ntitle: \\\"コードレビュー\\\"\\ntitleTemplate: \\\":title · コントリビューター · Tuist\\\"\\ndescription: \\\"コードをレビューして、Tuist に貢献する方法を学ぶ\\\"\\n---\\n\\n# コードレビュー {#code-reviews}\\n\\nプルリクエストのレビューはよくある貢献の形です。 継続的インテグレーション (CI) によってコードが期待通りに動作することが保証されていても、それだけでは十分ではありません。 設計、コードの構造・アーキテクチャ、テストの品質、タイポなど、自動化できない貢献要素が存在します。 以下の項では、コードレビューのプロセスに関するさまざまな観点を取り上げます。\\n\\n## 可読性 {#readability}\\n\\nそのコードは意図を明確に示していますか? **コードの意図を理解するのに時間がかかる場合、そのコードを改善する必要があるでしょう。** コードを理解しやすいよう、より小さく抽象的なコードに分割することを提案しましょう。 代替案として、そして最終手段として、レビュイーはコードの背後にある理由を説明するコメントを追加することができます。 プルリクエストの説明などの文脈がなくても、近い将来にそのコードを理解できるかどうか、自分自身に問いかけてみてください。\\n\\n## 小さなプルリクエスト {#small-pull-requests}\\n\\n巨大なプルリクエストはレビューが難しく、詳細を見逃しやすくなります。 プルリクエストが大きくなりすぎて管理が難しくなった場合は、作成者に分割するよう提案してください。\\n\\n> [!NOTE] 例外\\n> 変更が密接に結びついていて分割できない場合など、プルリクエストを分割できないケースがいくつかあります。 そのような場合、作成者は変更内容とその理由について明確に説明する必要があります。\\n\\n## 整合性 {#consistency}\\n\\n変更がプロジェクト全体と整合性を保っていることが重要です。 整合性の欠如はメンテナンスを複雑にするため、避けるべきです。 ユーザーへのメッセージ出力やエラー報告の方法が既に決まっている場合は、それに従うべきです。 もし作成者がプロジェクトの標準に異議を唱えている場合は、議論を深めるために Issue を作成するよう提案してください。\\n\\n## テスト {#tests}\\n\\nテストは、安心してコードを変更できるようにしてくれます。 プルリクエストのコードはすべてテストされ、すべてのテストが通っている必要があります。 良いテストとは、一貫して同じ結果を生み出し、理解しやすく、保守しやすいテストのことです。 レビュワーは実装コードのレビューに多くの時間を費やしますが、テストもコードである以上同様に重要です。\\n\\n## 破壊的な変更 {#breaking-changes}\\n\\n破壊的な変更はTuistのユーザーにとって悪いユーザー体験です。 どうしても避けられない場合を除き、破壊的な変更を含む貢献は避けてください。 破壊的な変更に頼らなくとも、Tuistのインターフェイスを進化させるために活用できる言語機能はたくさんあります。 破壊的な変更であるかが分かりづらい場合があるかもしれません。 fixturesディレクトリ内のfixtureプロジェクトに対してTuistを実行することでその変更が破壊的変更であるかを確認することができます。 ユーザーの立場に立ち、変更がユーザーにとってどのような影響を与えるかを想像しましょう。\\n\",\"title\":\"コードレビュー\",\"frontmatter\":{\"URL\":\"/ja/contributors/code-reviews\",\"LLMS_URL\":\"/ja/contributors/code-reviews.md\",\"title\":\"コードレビュー\",\"titleTemplate\":\":title · コントリビューター · Tuist\",\"description\":\"コードをレビューして、Tuist に貢献する方法を学ぶ\"}},{\"path\":\"/ja/contributors/get-started.md\",\"url\":\"/ja/contributors/get-started\",\"llmUrl\":\"/ja/contributors/get-started.md\",\"content\":\"---\\nURL: \\\"/ja/contributors/get-started\\\"\\nLLMS_URL: \\\"/ja/contributors/get-started.md\\\"\\ntitle: \\\"はじめに\\\"\\ntitleTemplate: \\\":title · コントリビューター · Tuist\\\"\\ndescription: \\\"このガイドに従って、Tuistへのコントリビューションを始めましょう。\\\"\\n---\\n\\n# はじめに {#get-started}\\n\\niOS などの Apple プラットフォーム向けのアプリ開発経験がある場合、Tuist にコードを追加することもそれほど違いはないでしょう。 アプリ開発と比べて、触れておくべき違いが2点あります。\\n\\n- **CLIとのやり取りはターミナルを通じて行われます。** ユーザーはTuistを実行し、指定したタスクを実行した後、正常に終了するか、またはステータスコードを返します。 実行中は、標準出力や標準エラーに情報を出力することで、ユーザーに通知を行うことができます。 ジェスチャーやグラフィカルな操作はなく、あるのはユーザーの意図だけです。\\n\\n- **プロセスを保持して入力待ちをするランループはありません。** これはiOSアプリがシステムやユーザーのイベントを受け取るときの挙動とは異なります。 CLIはそのプロセス内で実行され、タスクが完了すると終了します。 非同期処理は、[DispatchQueue](https://developer.apple.com/documentation/dispatch/dispatchqueue) や [構造化並行処理](https://developer.apple.com/tutorials/app-dev-training/managing-structured-concurrency) などのシステムAPIを使用して実行できますが、非同期処理が実行されている間はプロセスが稼働していることを確認する必要があります。 さもなければ、プロセスが終了し、非同期処理も中断されてしまいます。\\n\\nSwiftに関する経験がない場合は、言語と Foundation API の主要な要素に慣れるために、[Appleの公式ブック](https://docs.swift.org/swift-book/)をお勧めします。\\n\\n## 最小要件 {#minimum-requirements}\\n\\nTuist に貢献するには、最低限の要件があります。\\n\\n- macOS 14.0 以上\\n- Xcode 16.3+\\n\\n## ローカルでプロジェクトをセットアップする {#set-up-the-project-locally}\\n\\nプロジェクトの作業を開始するには、以下の手順に従います。\\n\\n- `git clone [email protected]:tuist/tuist.git` を実行してリポジトリをクローンします。\\n- 開発環境を整えるため、Mise を [インストール](https://mise.jdx.dev/getting-started.html) します。\\n- Tuist が必要とするシステム依存関係をインストールするため、 `mise install` を実行します。\\n- Tuist が必要とする外部依存関係をインストールするため、 `tuist install` を実行します。\\n- (任意) `tuist auth login` を実行して、 Tuist Cache へのアクセスを取得します\\n- `tuist generate` を実行して、Tuist の Xcode プロジェクトを生成します。\\n\\n**生成されたプロジェクトは自動的に開きます。** 再生成せずにもう一度開くには、`open Tuist.xcworkspace` を実行するか、Finderを使ってください。\\n\\n> [!NOTE] XED .\\n> `xed .` を使ってプロジェクトを開いた場合、Tuist が生成したプロジェクトではなく、パッケージが開きます。 Tuist で生成されたプロジェクトを使って、自分でツールを試すことを推奨します。\\n\\n## プロジェクトの編集 {#edit-the-project}\\n\\n依存関係の追加やターゲットの調整など、プロジェクトを編集する必要がある場合は、`tuist edit` コマンドを使用できます。 あまり使われることはありませんが、知っておいて損はありません。\\n\\n## Tuist を実行する {#run-tuist}\\n\\n### Xcode 経由 {#from-xcode}\\n\\n生成されたXcodeプロジェクトから `tuist` を実行するには、`tuist` スキームを編集し、コマンドに渡す引数を設定します。 例えば、`tuist generate` コマンドを実行する際に、引数を `generate --no-open` に設定すると、生成後にプロジェクトが開かれるのを防げます。\\n\\n\\n\\nまた、生成されるプロジェクトのルートを作業ディレクトリに設定する必要があります。 `--path` 引数を使用して設定することも、以下のようにスキームで作業ディレクトリを設定することもできます。\\n\\n\\n\\n> [!WARNING] PROJECTDESCRIPTION COMPILATION\\n> `tuist` CLI は、ビルドされたプロダクトのディレクトリにある `ProjectDescription` フレームワークの存在に依存します。 `ProjectDescription` フレームワークが見つからずに `tuist` の実行が失敗した場合は、まず `Tuist-Workspace` スキームをビルドしてください。\\n\\n### ターミナル経由 {#from-the-terminal}\\n\\nTuist 自体の `run` コマンドを使って `tuist` を実行できます。\\n\\n```bash\\ntuist run tuist generate --path /path/to/project --no-open\\n```\\n\\nまたは、Swift Package Manager で直接実行することもできます。\\n\\n```bash\\nswift build --product ProjectDescription\\nswift run tuist generate --path /path/to/project --no-open\\n```\\n\",\"title\":\"はじめに\",\"frontmatter\":{\"URL\":\"/ja/contributors/get-started\",\"LLMS_URL\":\"/ja/contributors/get-started.md\",\"title\":\"はじめに\",\"titleTemplate\":\":title · コントリビューター · Tuist\",\"description\":\"このガイドに従って、Tuistへのコントリビューションを始めましょう。\"}},{\"path\":\"/ja/contributors/issue-reporting.md\",\"url\":\"/ja/contributors/issue-reporting\",\"llmUrl\":\"/ja/contributors/issue-reporting.md\",\"content\":\"---\\nURL: \\\"/ja/contributors/issue-reporting\\\"\\nLLMS_URL: \\\"/ja/contributors/issue-reporting.md\\\"\\ntitle: \\\"Issue の報告\\\"\\ntitleTemplate: \\\":title · コントリビューター · Tuist\\\"\\ndescription: \\\"バグを報告してTuist に貢献する方法を学ぶ\\\"\\n---\\n\\n# Issue の報告 {#issue-reporting}\\n\\nTuist のユーザーとして、バグや予期しない動作に遭遇することがあるかもしれません。\\nその場合は、ぜひ報告してください。私たちが修正に取り組みます。\\n\\n## GitHub Issues は当プロジェクトのチケット管理プラットフォームです {#github-issues-is-our-ticketing-platform}\\n\\n問題は GitHub の [Issue](https://github.com/tuist/tuist/issues) として報告し、Slack など他のプラットフォームでは報告しないでください。 GitHub は、問題の追跡や管理に適しており、コードベースに近い場所で問題の進捗を追うことができます。 加えて、問題の詳細な説明が推奨されるため、報告者は問題について考え、より多くの背景情報を提供することが求められます。\\n\\n## 背景情報が鍵 {#context-is-crucial}\\n\\n背景情報が不十分な課題は不完全と見なされ、作成者は追加の情報を要求されます。 もし背景情報が提供されない場合、 Issue はクローズされます。 逆に言えば、コンテキストを多く提供するほど、私たちが問題を理解し、解決するのが容易になります。 そのため、Issue を解決してほしい場合は、できるだけ詳しい情報を提供してください。 次の質問に答える形で情報を記載してください。\\n\\n- 試したことは何か?\\n- プロジェクトの依存関係の状態はどうなっているのか?\\n- 使用している Tuist のバージョンは?\\n- その問題はあなたの作業をブロックしているのか?\\n\\nまた、最小限の**再現可能なプロジェクト**の提供もお願いしています。\\n\\n## 再現可能なプロジェクト {#reproducible-project}\\n\\n### 再現可能なプロジェクトとは? {#what-is-a-reproducible-project}\\n\\n再現可能なプロジェクトは、問題を実証するための小さなTuistプロジェクトです - 多くの場合、この問題はTuistのバグによって引き起こされます。 再現可能なプロジェクトには、バグを明確に示すために必要な最小限の機能が含まれている必要があります。\\n\\n### なぜ再現可能なテストケースを作成する必要がありますか? {#why-should-you-create-a-reproducible-test-case}\\n\\n再現性のあるプロジェクトでは、問題の原因を特定することができます。これは、問題を解決するための最初のステップです! バグレポートの最も重要な部分は、バグを再現するために必要な正確なステップを記述することです。\\n\\n再現可能なプロジェクトは、バグを引き起こす特定の環境を共有するのに最適な方法です。 あなたの再現可能なプロジェクトは、あなたを助けたい人々を助けるための最善の方法です。\\n\\n### 再現可能なプロジェクトを作成する手順 {#steps-to-create-a-reproducible-project}\\n\\n- 新しい git リポジトリを作成します。\\n- リポジトリのディレクトリで `tuist init` を使用してプロジェクトを初期化します。\\n- あなたが見たエラーを再現するために必要なコードを追加してください。\\n- コードを公開(GitHubアカウントはこれを行うのに適した場所です)して、Issue を作成する際にリンクを掲載してください。\\n\\n### 再現可能なプロジェクトの利点 {#benefits-of-reproducible-projects}\\n\\n- **最小限の範囲:** エラー部分以外をすべて取り除くことで、どこにバグがあるのかを探るために余計な部分を深く調べる必要がなくなります。\\n- **秘密のコードを公開する必要はありません:** メインサイトを公開できない場合があります (多くの理由で)。 再現可能なテストケースとしてその小さな部分を再現することで、秘密のコードを公開せずに問題を公開することができます。\\n- **バグの証拠:** 時々バグはあなたのマシンの設定を組み合わせることによって引き起こされます。 再現可能なテストケースは、コントリビューターがあなたのビルドをダウンロードして彼らのマシンでテストすることを可能にします。 これは問題の原因を検証し、絞り込むのに役立ちます。\\n- **バグ修正のサポートを得る**: 他の人があなたの問題を再現できる場合、彼らが問題を解決する可能性は高いです。 バグを修正するためには、まずそれを再現できなければほとんど不可能です。\\n\",\"title\":\"Issue の報告\",\"frontmatter\":{\"URL\":\"/ja/contributors/issue-reporting\",\"LLMS_URL\":\"/ja/contributors/issue-reporting.md\",\"title\":\"Issue の報告\",\"titleTemplate\":\":title · コントリビューター · Tuist\",\"description\":\"バグを報告してTuist に貢献する方法を学ぶ\"}},{\"path\":\"/ja/contributors/principles.md\",\"url\":\"/ja/contributors/principles\",\"llmUrl\":\"/ja/contributors/principles.md\",\"content\":\"---\\nURL: \\\"/ja/contributors/principles\\\"\\nLLMS_URL: \\\"/ja/contributors/principles.md\\\"\\ntitle: \\\"原則\\\"\\ntitleTemplate: \\\":title · コントリビューター · Tuist\\\"\\ndescription: \\\"このドキュメントでは、Tuist の開発を導く原則について説明します。\\\"\\n---\\n\\n# 原則 {#principles}\\n\\nこのページでは、Tuistの設計と開発の柱となる原則について説明します。 これらの原則はプロジェクトとともに進化し、プロジェクトの基盤に適切に合致する形で持続可能な成長を保証するために存在します。\\n\\n## 慣習を基準にする {#default-to-conventions}\\n\\nTuist が存在する理由のひとつは、Xcode が慣習に乏しく、それによって複雑で拡張性や保守性に難があるプロジェクトにつながっているためです。 そこで Tuist は、単純かつ綿密に設計された慣習に、まずは従うというアプローチを取ります。 **開発者は慣習から外れることもできますが、それはわざわざ行うことであり、自然に感じられない意識的な決定です。**\\n\\nたとえば、ターゲット間の依存関係を定義するとき、提供されたパブリック・インターフェイスを使用するという慣習があります。 これにより、Tuist はリンクが正しく動作するようプロジェクトを生成できます。 開発者はビルド設定を通じて依存関係を定義することも可能ですが、それを行うと暗黙的な定義になり、`tuist graph` や `tuist cache` のように特定の慣習に依存する Tuist の機能が正しく動作しなくなる恐れがあります。\\n\\n慣習を既定とする理由は、開発者が行う決定をできる限り Tuist 側で肩代わりすることで、アプリの機能開発に専念できるようにするためです。 慣習がない状態では、大小さまざまな決定を下す必要があり、それらが一貫性を欠いた場合に複雑さが増していき、管理困難になってしまいます。\\n\\n## マニフェストを信頼できる唯一の情報源とする {#manifests-are-the-source-of-truth}\\n\\n多層な設定やそれらの間をつなぐコンテキストを持つと、プロジェクトの設定を理解し保守することが困難になります。 一般的なプロジェクトで少し考えてみてください。 `.xcodeproj` ディレクトリにプロジェクト定義があり、CLI の設定はスクリプト(例: `Fastfiles`)の中にあり、CI のロジックはパイプラインにあります。 これらは三つの層が存在し、相互の間でコンテキストを維持する必要があります。 _プロジェクトを変更してから一週間後にリリーススクリプトが壊れていたと気づいた、というような経験はありませんか?_\\n\\nこれを簡単にする方法は、マニフェストファイルだけを信頼できる唯一の情報源とすることです。 これらのファイルは、Xcode プロジェクトを生成するために必要な情報を Tuist に提供します。 また、ローカルおよび CI 環境でプロジェクトをビルドするための統一されたコマンドを可能にします。\\n\\n**Tuist は複雑な部分を引き受け、開発者ができるだけ明示的にプロジェクトを記述できるように、シンプルかつ安全で使いやすいインターフェイスを提供する必要があります。**\\n\\n## 暗黙を明示化する {#make-the-implicit-explicit}\\n\\nXcode は暗黙的な設定を数多くサポートしています。 依存関係を暗黙的に推測する仕様が好例でしょう。 小規模プロジェクトなど単純な設定であれば暗黙的な振る舞いでも問題にならない場合がありますが、プロジェクトが拡大するとビルドの遅延や予期せぬ挙動を引き起こしかねません。\\n\\nTuist は Xcode の暗黙的な挙動に対応する明示的な API を提供するべきです。 Xcode の暗黙的な設定をサポートする必要はありますが、最終的には開発者が明示的なアプローチを選択しやすい仕組みであることが望ましいです。 Xcode の暗黙や複雑さをサポートすることで、Tuist の導入障壁が下がり、チームは徐々に暗黙を排除していくことができます。\\n\\n依存関係の定義は良い例です。 ビルド設定やビルドフェーズを通じて定義することもできますが、Tuist が提供する美しい API を使うことで、より自然に依存関係を明示できます。\\n\\n**API を明示的に設計することで、Tuist がプロジェクトに対して行うチェックや最適化が可能になります。** さらに、依存関係グラフをエクスポートする `tuist graph` や、ターゲットをすべてバイナリとしてキャッシュする `tuist cache` のような機能も利用できるようになります。\\n\\n> [!TIP]\\n> Xcode から機能を移植しようという要望がある度に、その概念をシンプルかつ明示的な API に落とし込むチャンスと捉えるべきです。\\n\\n## シンプルに保つ {#keep-it-simple}\\n\\nXcode プロジェクトが大規模化するときの主な課題のひとつは、**Xcode がユーザーに多くの複雑さを直接さらしている**ことです。その結果として、一部のメンバーしかプロジェクト全体やビルドシステムのエラーを理解できず、暗黙知がチーム内に偏在しがちです。 これはチームが少数の人に依存するリスクを抱えることになり、好ましい状況ではありません。\\n\\nXcodeは優れたツールですが、長年の改良や新プラットフォーム、プログラミング言語の追加により、シンプルなインターフェースの維持が難しくなっています。\\n\\nTuist は、この機会を活かして物事をシンプルに保つべきです。シンプルなものを扱うのは楽しいし、モチベーションも上がります。 経過時間が長いコンパイルプロセスの最後で発生する不可解なエラーの解析や、「なぜデバイスでアプリが動かないか」を延々と調べるような作業に時間を費やしたくはありません。 Xcode は内部のビルドシステムにタスクを委譲しますが、そのエラーがユーザーにとって分かりやすい形で返ってくるとは限りません。 _\\\"framework X not found\\\"_ というエラーを見ても、どう対応したらいいか分からないということはよくある話ですよね? もし根本原因の候補を一覧で提示してくれたらどれほど助かるでしょう。\\n\\n## 開発者体験を起点にする {#start-from-the-developers-experience}\\n\\nXcode に関するイノベーションが乏しい(あるいは他の環境ほど盛んではない)理由のひとつは、**既存の解決策を起点に問題を分析することが多い**からです。その結果として、現在ある解決策の多くは同じようなアイデアやワークフローの範囲にとどまっています。 既存の解決策も検討に入れるのは良いことですが、それだけに縛られてしまうと創造性が制約されてしまいます。\\n\\n私たちは [Tom Preston](https://tom.preston-werner.com/) が [このポッドキャスト](https://tom.preston-werner.com/) で語っている考え方を参考にしています。「プログラミングによるソリューションは、それが物理的に不可能でない限り、頭の中で想像するほとんどのことを実現できる」という趣旨です。つまり、**開発者体験がどうあってほしいかをまず想像**しさえすれば、実現までは時間の問題にすぎません。開発者体験を起点に問題を分析すれば、ユーザーに好まれるような独自の解決策にたどり着けるでしょう。\\n\\n私たちは、皆と同じ行動を取りたくなる誘惑に駆られることがあります。たとえそれが、皆が絶えず不便だと感じている事柄に固執することを意味していたとしても。 そうしないでください。 アプリをアーカイブする理想の形はどうか? コード署名をもっと快適にするには? どんなプロセスなら Tuist で効率化できるか? たとえば [Fastlane](https://fastlane.tools/) 対応を検討する場合でも、まずは問題がどこにあるのか、なぜ必要とされているのかを掘り下げることが大切です。 「なぜ」という質問をすることで、問題の根本にたどり着くことができます。 モチベーションがどこから来るのかを絞り込めば、Tuistがどのように彼らを最善の方法で助けることができるかを考えることができる。 最終的な解決策として Fastlane との連携が正しい場合もあるかもしれませんが、それ以外の選択肢があるかもしれません。十分に検討し、トレードオフを理解したうえで最良の手段を選ぶことが重要です。\\n\\n## エラーは起こるもの {#errors-can-and-will-happen}\\n\\n私たち開発者には、エラーは起こり得るという事実を軽視しがちな部分があります。 そのため、理想的なシナリオのみを想定してソフトウェアを設計・テストしてしまうことがよくあります。\\n\\nSwift の型システムや適切なアーキテクチャ設計は多くのエラーを防ぐのに役立ちますが、それでもコントロール外の要因から発生するエラーは防げません。 ユーザーが常にインターネット接続できるとは限りませんし、システムコマンドが常に成功するとも限りません。 Tuist が動作する環境は私たちの制御下にあるサンドボックスではないので、どのように変動して Tuist に影響を与えるかを理解する努力が必要です。\\n\\nエラーを適切に処理できないと、ユーザー体験は損なわれ、プロジェクトへの信頼も失われる可能性があります。 Tuist のあらゆる側面をユーザーが楽しめるようにしたいと考えています。\\n\\n私たちはユーザーの立場に立って、エラーが伝えるべき内容を明確に想像するべきです。 プログラミング言語がエラー伝播のコミュニケーション手段であり、ユーザーがそのエラーの受け手であるなら、エラーはユーザーが理解する言語で記述されるべきです。 何が起こったのかを知るのに十分な情報を含める必要がありますし、関連性のない情報を隠す必要があります。 また、問題を解決するためにどのようなステップを実行できるかをユーザーに伝えることで、実用的であるべきです。\\n\\nそして最後に、私達のテストケースは失敗するシナリオを熟考するべきです。 これによって、意図通りにエラーを処理できているかを保証し、将来的に他の開発者がそのロジックを壊すのを防ぐことができます。\\n\",\"title\":\"原則\",\"frontmatter\":{\"URL\":\"/ja/contributors/principles\",\"LLMS_URL\":\"/ja/contributors/principles.md\",\"title\":\"原則\",\"titleTemplate\":\":title · コントリビューター · Tuist\",\"description\":\"このドキュメントでは、Tuist の開発を導く原則について説明します。\"}},{\"path\":\"/ja/contributors/translate.md\",\"url\":\"/ja/contributors/translate\",\"llmUrl\":\"/ja/contributors/translate.md\",\"content\":\"---\\nURL: \\\"/ja/contributors/translate\\\"\\nLLMS_URL: \\\"/ja/contributors/translate.md\\\"\\ntitle: \\\"翻訳する\\\"\\ntitleTemplate: \\\":title · コントリビューター · Tuist\\\"\\ndescription: \\\"このドキュメントでは、Tuist の開発を導く原則について説明します。\\\"\\n---\\n\\n# 翻訳 {#translate}\\n\\n言語は理解を妨げる大きな壁になることがあります。 私たちは Tuist をできるだけ多くの人に使っていただきたいと考えています。 もし Tuist がサポートしていない言語を話す場合、Tuist のさまざまな部分を翻訳していただくことでご協力ください。\\n\\n翻訳をメンテナンスするためには継続的な取り組みが必要となるため、私たちはメンテナンスに協力してくださるコントリビューターがいる言語を随時追加していきます。 現在サポートされている言語は、以下のとおりです:\\n\\n- 英語\\n- 韓国語\\n- 日本語\\n- ロシア語\\n\\n> [!TIP] 新しい言語のリクエスト\\n> Tuist に新しい言語サポートを追加することが有益であると考える場合は、コミュニティフォーラムの[トピック](https://community.tuist.io/c/general/4)を作成して、コミュニティと議論してみてください。\\n\\n## 翻訳方法 {#how-to-translate}\\n\\n私たちは翻訳の管理に [Crowdin](https://crowdin.com/) を使用しています。 まず、貢献したいプロジェクトに移動します:\\n\\n- [Documentation](https://crowdin.com/project/tuist-documentation)\\n- [Website](https://crowdin.com/project/tuist-documentation)\\n\\n翻訳を始めるにはアカウントが必要です。 GitHub アカウントでサインインできます。 サインイン後にアクセス権を得ると、翻訳を始められます。 翻訳対象のリソース一覧が表示されます。 リソースをクリックするとエディタが開き、左側にソース言語のリソース、右側に翻訳する箇所が表示されます。 右側のテキストを翻訳し、変更を保存してください。\\n\\n翻訳が更新されると Crowdin が自動的に該当リポジトリにプルリクエストを送信し、メンテナーがレビューとマージを行います。\\n\\n> [!IMPORTANT] 対象言語のリソースに直接変更を加えないでください\\n> Crowdin はファイルをセグメント化してソース言語とターゲット言語を関連付けています。 ソース言語を変更すると、この紐付けが壊れ、想定外の結果が生じる可能性があります。\\n\\n## ガイドライン {#guidelines}\\n\\n以下は私たちが翻訳の際に従っているガイドラインです。\\n\\n### カスタムコンテナや GitHub Alerts について {#custom-containers-and-github-alerts}\\n\\n[カスタムコンテナ](https://vitepress.dev/guide/markdown#custom-containers) や [GitHub Alerts](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts) を翻訳する際は、タイトルと内容のみ翻訳し、アラートの種類自体は翻訳しないようにしてください。\\n\\n:::details GitHub Alert の例\\n\\n````markdown\\n > [!WARNING] 루트 변수\\n > 매니페스트의 루트에 있어야 하는 변수는...\\n\\n // Instead of\\n > [!주의] 루트 변수\\n > 매니페스트의 루트에 있어야 하는 변수는...\\n ```\\n:::\\n\\n\\n::: details Example with custom container\\n```markdown\\n ::: warning 루트 변수\\\\\\n 매니페스트의 루트에 있어야 하는 변수는...\\n :::\\n\\n # Instead of\\n ::: 주의 루트 변수\\\\\\n 매니페스트의 루트에 있어야 하는 변수는...\\n :::\\n````\\n\\n:::\\n\\n### 見出しタイトル {#heading-titles}\\n\\n見出しを翻訳する場合、見出しのタイトル部分のみ翻訳し、ID は変更しないでください。 たとえば、次の見出しがあるとします:\\n\\n```markdown\\n# Add dependencies {#add-dependencies}\\n```\\n\\nこれを翻訳する場合は、ID をそのままにして以下のように翻訳してください:\\n\\n```markdown\\n# 의존성 추가하기 {#add-dependencies}\\n```\\n\",\"title\":\"翻訳する\",\"frontmatter\":{\"URL\":\"/ja/contributors/translate\",\"LLMS_URL\":\"/ja/contributors/translate.md\",\"title\":\"翻訳する\",\"titleTemplate\":\":title · コントリビューター · Tuist\",\"description\":\"このドキュメントでは、Tuist の開発を導く原則について説明します。\"}},{\"path\":\"/ja/guides/examples/generated-projects.md\",\"url\":\"/ja/guides/examples/generated-projects\",\"llmUrl\":\"/ja/guides/examples/generated-projects.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects.md\\\"\\ntitle: \\\"生成されたプロジェクトの例\\\"\\ntitleTemplate: \\\":title · 例 · ガイド · Tuist\\\"\\ndescription: \\\"受け入れテストを実行するためのフィクスチャとして使用している生成されたプロジェクトの例。\\\"\\n---\\n\\n# 生成されたプロジェクトの例\\n\\nこのセクションでは、受け入れテストを実行するための[フィクスチャ](https://github.com/tuist/tuist/tree/main/cli/Fixtures)として使用している生成されたプロジェクトの例を見つけることができます。新しい生成されたプロジェクトを作成したり、既存のXcodeプロジェクトをTuistで生成されるように移行したりする際に役立つかもしれません。\",\"title\":\"生成されたプロジェクトの例\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects.md\",\"title\":\"生成されたプロジェクトの例\",\"titleTemplate\":\":title · 例 · ガイド · Tuist\",\"description\":\"受け入れテストを実行するためのフィクスチャとして使用している生成されたプロジェクトの例。\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_airship_sdk.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_airship_sdk\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_airship_sdk.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_airship_sdk\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_airship_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Airship SDK\\n\\nThis example contains an example that showcases how to integrate the [Airship](https://github.com/urbanairship/ios-library) SDK.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Airship SDK\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_airship_sdk\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_airship_sdk.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_build_rules.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_build_rules\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_build_rules.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_build_rules\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_build_rules.md\\\"\\n---\\n\\n\\n\\n# Application with build rules\\n\\nThis example contains an example that uses [build rules](https://developer.apple.com/documentation/xcode/creating-build-rules-for-custom-file-types), which instruct Xcode on how to compile a particular file.\\n\\nCheck out example\\n\",\"title\":\"Application with build rules\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_build_rules\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_build_rules.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_composable_architecture.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_composable_architecture\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_composable_architecture.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_composable_architecture\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_composable_architecture.md\\\"\\n---\\n\\n\\n\\n# Application with the Composable Architecture (TCA)\\n\\nThis example contains an example that uses the Composable Architecture.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Composable Architecture (TCA)\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_composable_architecture\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_composable_architecture.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration\\n\\nApp that showcases a custom default configuration generationo option.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration_settings\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration_settings\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration settings\\n\\nThis example demonstrates how to set a [default configuration](https://developer.apple.com/library/archive/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-MY_APP_HAS_MULTIPLE_BUILD_CONFIGURATIONS__HOW_DO_I_SET_A_DEFAULT_BUILD_CONFIGURATION_FOR_XCODEBUILD_) in the project settings, which will be used by `xcodebuild` when building from the command-line.\\n\\nThe default build configuration is also used to [visually activate code](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Source-Editor) in `#if…#endif` blocks when working with custom configurations other than Debug or Release in Xcode 15 and later.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration settings\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration_settings\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_custom_scheme.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_custom_scheme\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_custom_scheme.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_custom_scheme\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_custom_scheme.md\\\"\\n---\\n\\n\\n\\n# Application with custom scheme\\n\\nThis example contains an example that uses a custom scheme to demonstrate how to modify schemes to ones needs.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with custom scheme\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_custom_scheme\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_custom_scheme.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_executable_non_local_dependencies\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_executable_non_local_dependencies\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application with Executable Non Local Dependencies\\n\\nThis example consists of two projects:\\n- Main app project, which contains the main iOS application\\n- Helper targets project, which includes various targets that the main app relies on\\n\\nIt demonstrates a scenario where the main app depends on executable targets from another project.\\nThere are three such targets:\\n1. `AppExtension` - an app extension target\\n2. `WatchApp` - a watchOS app target\\n3. `TestHost` - an app target intended to serve as the test host for test targets (and also exemplifies a regular app target)\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Executable Non Local Dependencies\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_executable_non_local_dependencies\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_exponea_sdk.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_exponea_sdk\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_exponea_sdk.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_exponea_sdk\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_exponea_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Exponea SDK\\n\\nThis example contains an example that showcases how to integrate the [Exponea](https://github.com/exponea/exponea-ios-sdk) SDK. This SDK includes a core data model.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Exponea SDK\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_exponea_sdk\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_exponea_sdk.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_generated_sources.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_generated_sources\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_generated_sources.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_generated_sources\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_generated_sources.md\\\"\\n---\\n\\n\\n\\n# App with generated sources\\n\\nThis app is to showcase using sources that are generated during the build process (as oppose to sources that already exist when buildig).\\n\\n\\nCheck out example\\n\",\"title\":\"App with generated sources\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_generated_sources\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_generated_sources.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_globs.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_globs\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_globs.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_globs\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_globs.md\\\"\\n---\\n\\n\\n\\n# App with globs\\n\\nThis app is to showcase and test complex glob patterns for sources, resources, additional files, etc.\\n\\n\\nCheck out example\\n\",\"title\":\"App with globs\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_globs\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_globs.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_google_maps.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_google_maps\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_google_maps.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_google_maps\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_google_maps.md\\\"\\n---\\n\\n\\n\\n# App with Google Maps\\n\\nAn example of integrating an app with Google Maps. The `GoogleMaps` dependency is imported into the App through a dynamic framework.\\n\\nCheck out example\\n\",\"title\":\"App with Google Maps\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_google_maps\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_google_maps.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\\\"\\n---\\n\\n\\n\\n# Application with Embedded Local SPM Module\\n\\nThis example project demonstrates an application that includes a local Swift Package Manager (SPM) module (`LocalSwiftPackage`) configured as an embedded framework.\\n\\nThe project leverages a local SPM module added to the Embed Frameworks section, showing that local SPM packages can now be embedded within the application.\\n\\nThis demo project exists to validate and showcase the capability to embed local SPM modules as frameworks, allowing seamless integration into the main app.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Embedded Local SPM Module\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application wih Local SPM Module with Remote Dependencies\\n\\nThis example contains a project that depends upon a local SPM module (`LocalSwiftPackage`) colocated within this directory.\\n\\nThis project does NOT contain any direct remote dependencies.\\nHowever, `LocalSwiftPackage` DOES have remote dependencies.\\n\\nThis example application exists to ensure that package resolution occurs even in the case of solely transitive remote dependencies.\\n\\nCheck out example\\n\",\"title\":\"Application wih Local SPM Module with Remote Dependencies\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_metal_options.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_metal_options\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_metal_options.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_metal_options\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_metal_options.md\\\"\\n---\\n\\n\\n\\n# App with a metal diagnostic configuration\\n\\nApp that showcases a custom and default configuration for metal diagnostics.\\n\\n\\nCheck out example\\n\",\"title\":\"App with a metal diagnostic configuration\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_metal_options\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_metal_options.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_organization_name_project.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_organization_name_project\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_organization_name_project.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_organization_name_project\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_organization_name_project.md\\\"\\n---\\n\\n\\n\\n# App with organization name defined in `Project`\\n\\nAn iOS app where the organization name is defined at the `Project` level.\\n\\nCheck out example\\n\",\"title\":\"App with organization name defined in `Project`\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_organization_name_project\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_organization_name_project.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_realm.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_realm\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_realm.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_realm\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_realm.md\\\"\\n---\\n\\n\\n\\n# Application with Realm\\n\\nThis example contains an example that showcases how to integrate the [Realm Swift](https://github.com/realm/realm-swift) library.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Realm\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_realm\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_realm.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies\\n\\nAn example of an application which depends on XCFrameworks with different kinds of signatures:\\n- Signature not specified (signature validation should be skipped)\\n- Unsigned\\n- Signed with Apple certificate\\n- Self signed\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies - Mismatching Signature\\n\\nExample of an app with a signed XCFramework dependency, where the XCFramework is declared to have a signature that\\ndoesn't match the actual signature.\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies - Mismatching Signature\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\",\"url\":\"/ja/guides/examples/generated-projects/app_with_spm_xcframework_dependency\",\"llmUrl\":\"/ja/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/app_with_spm_xcframework_dependency\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\\\"\\n---\\n\\n\\n\\n# Application with XCFramework Swift Package Manager Dependenciy\\n\\nThis example contains an example that imports an external XCFramework using Swift Package Manager dependencies.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with XCFramework Swift Package Manager Dependenciy\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/app_with_spm_xcframework_dependency\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/framework_with_environment_variables.md\",\"url\":\"/ja/guides/examples/generated-projects/framework_with_environment_variables\",\"llmUrl\":\"/ja/guides/examples/generated-projects/framework_with_environment_variables.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/framework_with_environment_variables\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/framework_with_environment_variables.md\\\"\\n---\\n\\n\\n\\n# Framework with environment variables\\n\\nA framework project that leverages environment variables to change the name of the framework.\\n\\nCheck out example\\n\",\"title\":\"Framework with environment variables\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/framework_with_environment_variables\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/framework_with_environment_variables.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\",\"url\":\"/ja/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\",\"llmUrl\":\"/ja/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\\\"\\n---\\n\\n\\n\\n# Framework with native Swift Macro and Plugin packages\\n\\nThis project represents a project with a framework that integrates the following Swift Packages:\\n\\n- A [build tool plugin](https://github.com/apple/swift-package-manager/blob/main/Documentation/Plugins.md) using Xcode's native integration.\\n- A Swift Macro using Tuist's integration based on XcodeProj primitives.\\n\\nCheck out example\\n\",\"title\":\"Framework with native Swift Macro and Plugin packages\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\",\"url\":\"/ja/guides/examples/generated-projects/generated_ios_app_without_config_manifest\",\"llmUrl\":\"/ja/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/generated_ios_app_without_config_manifest\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\\\"\\n---\\n\\n\\n\\n# Generated iOS App without a config manifest\\n\\nThe presence of `Tuist.swift` is optional. When absent, Tuist provides a default configuration based on the type project detected in the file-system.\\n\\n\\nCheck out example\\n\",\"title\":\"Generated iOS App without a config manifest\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/generated_ios_app_without_config_manifest\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_actions.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_actions\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_actions.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_actions\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_actions.md\\\"\\n---\\n\\n\\n\\n# iOS app with actions\\n\\nAn iOS app with a target that has pre and post actions.\\n\\nCheck out example\\n\",\"title\":\"iOS app with actions\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_actions\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_actions.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_build_variables.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_build_variables\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_build_variables.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_build_variables\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_build_variables.md\\\"\\n---\\n\\n\\n\\n# iOS app with build variables\\n\\nAn iOS app with a Xcode build variables defined in pre action.\\n\\nCheck out example\\n\",\"title\":\"iOS app with build variables\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_build_variables\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_build_variables.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_coredata.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_coredata\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_coredata.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_coredata\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_coredata.md\\\"\\n---\\n\\n\\n\\n# Application with CoreData models\\n\\nThis example showcases a project that utilizes CoreData models and code generation for these models using resourceSynthesizer.\\n\\nCheck out example\\n\",\"title\":\"Application with CoreData models\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_coredata\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_coredata.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\\\"\\n---\\n\\n\\n\\n# iOS App with C++ Interoperability\\n\\nThis repository contains dependencies with the `.interoperabilityMode(.Cxx)` and ensures when Tuist converts those into Xcode targets, the right build settings are applied to the generated targets.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS App with C++ Interoperability\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_custom_workspace.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_custom_workspace\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_custom_workspace.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_custom_workspace\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_custom_workspace.md\\\"\\n---\\n\\n\\n\\n# iOS app with a custom workspace\\n\\niOS with a few projects and a `Workspace.swift` manifest file.\\n\\nThe workspace manifest defines:\\n\\n- glob patterns to list projects\\n- glob patterns to include documentation files\\n- folder reference to directory with html files\\n\\nThe App's project manifest leverages `additionalFiles` that:\\n\\n- defines glob patterns to include documentation files\\n- includes a Swift `Danger.swift` file that shouldn't get included in any build phase\\n- defines folder references to a directory with json files\\n\\nCheck out example\\n\",\"title\":\"iOS app with a custom workspace\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_custom_workspace\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_custom_workspace.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_extensions.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_extensions\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_extensions\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# iOS app with extensions\\n\\nSample iOS application with extension targets.\\n\\nCheck out example\\n\",\"title\":\"iOS app with extensions\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_extensions\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_extensions.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_framework_and_resources\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_framework_and_resources\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with a framework and resources\\n\\nA workspace with an application that includes resources.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - StaticFramework\\n - StaticFramework (static iOS framework)\\n - StaticFrameworkResources (iOS bundle)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> StaticFramework\\n- App -> StaticFrameworkResources\\n\\nCheck out example\\n\",\"title\":\"iOS app with a framework and resources\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_framework_and_resources\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a dynamic framework that links a static framework\\n\\n\\nAn example project demonstrating an iOS application linking a dynamic framework which itself depends on a static framework with transitive static dependencies.\\n\\nOnly `Framework1.framework` should be linked and included into App, everything else should be statically linked into the Framework1 executable.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (static iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (static iOS framework)\\n - Framework3Tests (iOS unit tests)\\n - Framework4:\\n - Framework4 (static iOS framework)\\n - Framework4Tests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2\\n- Framework1 -> Framework3\\n- Framework3 -> Framework4\\n\\n\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with a dynamic framework that links a static framework\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_frameworks.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_frameworks\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_frameworks.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_frameworks\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with frameworks\\n\\n\\nSlightly more complicated project that consists of an iOS app and few frameworks.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (dynamic iOS framework)\\n - Framework4:\\n - Framework4 (dynamic iOS framework)\\n - Framework5:\\n - Framework5 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> Framework2\\n- Framework1 -> Framework2\\n- Framework2 -> Framework3\\n- Framework3 -> Framework4\\n- Framework4 -> Framework5\\n\\nCheck out example\\n\",\"title\":\"iOS app with frameworks\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_frameworks\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_frameworks.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_helpers.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_helpers\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_helpers.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_helpers\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_helpers.md\\\"\\n---\\n\\n\\n\\n# iOS app with helpers\\n\\nA basic iOS app that leverages `ProjectDescriptionHelpers`.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with helpers\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_helpers\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_helpers.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible dependencies\\n\\nAn iOS app that has a dependency with a dependency on a framework for macOS.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible dependencies\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_xcode\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_xcode\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible Xcode\\n\\nAn iOS app whose Config file requires an Xcode version that is not available in the system.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible Xcode\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_xcode\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_local_swift_package.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_local_swift_package\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_local_swift_package.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_local_swift_package\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_local_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a local Swift package\\n\\nAn iOS application that depends on a local Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS app with a local Swift package\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_local_swift_package\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_local_swift_package.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_multi_configs.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_multi_configs\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_multi_configs.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_multi_configs\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_multi_configs.md\\\"\\n---\\n\\n\\n\\n# iOS app with multiple configurations and an xcconfig\\n\\nA workspace that contains an application and frameworks that leverage multiple configurations (Debug, Beta and Release) each of which also has an associated xcconfig file within `ConfigurationFiles`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with multiple configurations and an xcconfig\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_multi_configs\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_multi_configs.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_on_demand_resources\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_on_demand_resources\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with on demand resources\\n\\nAn iOS applicaiton with on-demand resources. It contains file resources and asset catalogs associated with tags which in turn are distributed between three categories:\\n- Initial install tags\\n- Prefetch tag order\\n- Dowloaded only on demand\\n\\nCheck out example\\n\",\"title\":\"iOS app with on demand resources\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_on_demand_resources\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_privacy_manifest\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_privacy_manifest\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\\\"\\n---\\n\\n\\n\\n# Application with Privacy Manifest\\n\\nThis example contains an example that uses a [Privacy Manifest](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files), which describe the data the app collects and the reasons required APIs it uses.\\n\\nCheck out example\\n\",\"title\":\"Application with Privacy Manifest\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_privacy_manifest\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_remote_swift_package\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_remote_swift_package\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS App with a remote Swift package\\n\\nAn iOS application with a remote Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS App with a remote Swift package\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_remote_swift_package\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_sandbox_disabled\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_sandbox_disabled\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\\\"\\n---\\n\\n\\n\\n# iOS app with sandbox disabled\\n\\nAn example of a project manifest that accesses the file system, and therefore requires the sandbox to be disabled.\\n\\n*Note: disabling the sandbox is discouraged and should only be used if absolutely necessary.*\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with sandbox disabled\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_sandbox_disabled\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_sdk.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_sdk\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_sdk.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_sdk\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_sdk.md\\\"\\n---\\n\\n\\n\\n# iOS app with an SDK\\n\\nAn application that contains an application target that depends on system libraries and frameworks (`.framework` and `.tbd`).\\n\\nOne of the dependencies is declared as `.optional` i.e. will be linked weakly.\\n\\nCheck out example\\n\",\"title\":\"iOS app with an SDK\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_sdk\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_sdk.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependencies\\n\\nAn iOS application project with various SPM dependencies.\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependencies\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependency and force resolved versions flag\\n\\nAn iOS application project with one SPM dependency and --force-resolved-versions config flag\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependency and force resolved versions flag\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_static_frameworks.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_static_frameworks\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_static_frameworks.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_static_frameworks\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_static_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with static frameworks\\n\\n\\nThis fixture contains an application that depends on static frameworks, both directly and transitively.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Modules\\n - A:\\n - A (static framework iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static framework iOS)\\n - BTests (iOS unit tests)\\n - C:\\n - C (static framework iOS)\\n - CTests (iOS unit tests)\\n - D:\\n - D (dynamic framework iOS)\\n```\\n\\nA standalone `Prebuilt` project is used to generate a prebuilt static framework:\\n\\n```\\n- Prebuilt\\n - PrebuiltStaticFramework (static framework iOS)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- App -> C\\n- App -> PrebuiltStaticFramework\\n- A -> B\\n- A -> C\\n- C -> D\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_frameworks/Prebuilt//build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static frameworks\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_static_frameworks\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_static_frameworks.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_static_libraries.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_static_libraries\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_static_libraries.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_static_libraries\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_static_libraries.md\\\"\\n---\\n\\n\\n\\n# iOS app with static libraries\\n\\n\\nThis application provides a top level application with two static library dependencies. The first static library dependency has another static library dependency so that we are able to test how Tuist handles the transitiveness of the static libraries in the linked frameworks of the main app.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - A:\\n - A (static library iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static library iOS)\\n - BTests (iOS unit tests)\\n```\\n\\nA standalone C project is used to generate a prebuilt static library:\\n\\n```\\n - C:\\n - C (static library iOS)\\n - CTests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- A -> B\\n- A -> prebuild C (libC.a)\\n\\nNote: to re-create `libC.a` run `ios_app_with_static_libraries/Modules/C/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static libraries\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_static_libraries\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_static_libraries.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_static_library_and_package\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_static_library_and_package\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a static library and a package\\n\\nAn iOS application that depends on static library that depends on Swift package where static library is defined first.\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_library_and_package/Prebuilt/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a static library and a package\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_static_library_and_package\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_tests.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_tests\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_tests.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_tests\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_tests.md\\\"\\n---\\n\\n\\n\\n# iOS app with tests\\n\\nA simple iOS app with tests, which includes a setup manifest and uses `.notGrouped` autogenerated schemes.\\n\\nCheck out example\\n\",\"title\":\"iOS app with tests\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_tests\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_tests.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a transitive framework\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n```\\n\\nA standalone Framework2 project is used to generate a prebuilt dynamic framework:\\n\\n```\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2 (prebuilt)\\n\\nNote: to re-create `Framework2.framework` run `ios_app_with_transitive_framework/Framework2/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a transitive framework\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\\\"\\n---\\n\\n\\n\\n# iOS app with transitive framework through macro executable\\n\\nThis fixture contains an iOS app that transitively and directly depends on a Swift Macro (executable)'s direct dependency.\\nIt was included [in this issue](https://github.com/tuist/tuist/issues/5988) because the set up caused the warming of the binary cache to fail due to \\\"multiple commands produce the same output\\\" error when archiving.\\nAs a solution, we moved away from using archive, and instead use the build action to warm the cache.\\n\\nCheck out example\\n\",\"title\":\"iOS app with transitive framework through macro executable\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_app_with_xcframeworks.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_app_with_xcframeworks\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_app_with_xcframeworks.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_app_with_xcframeworks\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_app_with_xcframeworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with xcframeworks\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - MyFramework:\\n - MyFramework (dynamic iOS framework)\\n - MyStaticFramework:\\n - MyStaticFramework (static iOS framework)\\n - MyStaticLibirary:\\n - MyStaticLibrary (static iOS libraries)\\n```\\n\\nAn example of an application which depends on prebuilt `.xcframework`s.\\n\\nThe `.xcframework` can be obtained by running the `build.sh` script within the each of the xcframework directories\\ne.g. `ios_app_with_xcframeworks/XCFrameworks/MyFramework/build.sh`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with xcframeworks\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_app_with_xcframeworks\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_app_with_xcframeworks.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\",\"url\":\"/ja/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\",\"llmUrl\":\"/ja/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\\\"\\n---\\n\\n\\n\\n# iOS workspace with a dependency cycle\\n\\nAn example of a workspace that has a dependency cycle between targets in different projects.\\n\\nCheck out example\\n\",\"title\":\"iOS workspace with a dependency cycle\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/macos_app_with_extensions.md\",\"url\":\"/ja/guides/examples/generated-projects/macos_app_with_extensions\",\"llmUrl\":\"/ja/guides/examples/generated-projects/macos_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/macos_app_with_extensions\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/macos_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# macOS app with extensions\\n\\nThe project contains a macOS app with various types of extensions.\\n\\nCheck out example\\n\",\"title\":\"macOS app with extensions\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/macos_app_with_extensions\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/macos_app_with_extensions.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/package_with_registry_and_alamofire.md\",\"url\":\"/ja/guides/examples/generated-projects/package_with_registry_and_alamofire\",\"llmUrl\":\"/ja/guides/examples/generated-projects/package_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/package_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/package_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Swift package with registry and Alamofire\\n\\nA simple Swift package that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Swift package with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/package_with_registry_and_alamofire\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/package_with_registry_and_alamofire.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/project_with_class_prefix.md\",\"url\":\"/ja/guides/examples/generated-projects/project_with_class_prefix\",\"llmUrl\":\"/ja/guides/examples/generated-projects/project_with_class_prefix.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/project_with_class_prefix\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/project_with_class_prefix.md\\\"\\n---\\n\\n\\n\\n# Project with class prefix\\n\\nThis example generate Xcode project with custom class prefix setting.\\n\\nCheck out example\\n\",\"title\":\"Project with class prefix\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/project_with_class_prefix\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/project_with_class_prefix.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/xcode_app.md\",\"url\":\"/ja/guides/examples/generated-projects/xcode_app\",\"llmUrl\":\"/ja/guides/examples/generated-projects/xcode_app.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/xcode_app\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/xcode_app.md\\\"\\n---\\n\\n\\n\\n# Xcode app\\n\\nA simple app created with Xcode. This fixture is _not_ using Tuist projects and it is meant to test features that don't require Tuist projects, such as `tuist share`.\\n\\nCheck out example\\n\",\"title\":\"Xcode app\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/xcode_app\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/xcode_app.md\"}},{\"path\":\"/ja/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\",\"url\":\"/ja/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\",\"llmUrl\":\"/ja/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/ja/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/ja/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Xcode project with registry and Alamofire\\n\\nA simple app created with Xcode that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Xcode project with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/ja/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\",\"LLMS_URL\":\"/ja/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\"}},{\"path\":\"/ja/guides/features/agentic-coding/mcp.md\",\"url\":\"/ja/guides/features/agentic-coding/mcp\",\"llmUrl\":\"/ja/guides/features/agentic-coding/mcp.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/agentic-coding/mcp\\\"\\nLLMS_URL: \\\"/ja/guides/features/agentic-coding/mcp.md\\\"\\ntitle: \\\"モデルコンテキストプロトコル(MCP)\\\"\\ntitleTemplate: \\\":title · AI · Guides · Tuist\\\"\\ndescription: \\\"Tuist MCPサーバーを使用して、アプリ開発環境に自然言語インターフェースを導入する方法を学びましょう。\\\"\\n---\\n\\n# モデルコンテキストプロトコル (MCP)\\n\\n[MCP](https://www.claudemcp.com) は、LLM(大規模言語モデル)が開発環境と連携するための標準仕様として、[Claude](https://claude.ai) によって提案されたプロトコルです。\\nこれは、LLM における USB-C のような存在と考えることができます。つまり、さまざまな開発環境とスムーズに接続できる、LLM 向けの共通インターフェースのようなものです。\\n貨物輸送を相互運用可能にしたコンテナや、アプリケーション層とトランスポート層を分離した通信プロトコルのように、MCPは[Claude](https://claude.ai/) のような LLMを活用したアプリケーションと、[Zed](https://zed.dev) や[Cursor](https://www.cursor.com) のようなエディタを、他のドメインと相互運用可能にします。\\nこれは、LLM における USB-C のような存在と考えることができます。つまり、さまざまな開発環境とスムーズに接続できる、LLM 向けの共通インターフェースのようなものです。\\n貨物輸送を相互運用可能にしたコンテナや、アプリケーション層とトランスポート層を分離した通信プロトコルのように、MCPは[Claude](https://claude.ai/) のような LLMを活用したアプリケーションと、[Zed](https://zed.dev) や[Cursor](https://www.cursor.com) のようなエディタを、他のドメインと相互運用可能にします。\\n\\nTuist provides a local server through its CLI so that you can interact with your **app development environment**.\\nクライアントアプリをこのサーバーに接続することで、自然言語を用いてプロジェクトと対話できるようになります。\\n\\nこのページではMCPの設定方法と、その機能について学ぶことができます。\\n\\n> [!NOTE]\\n> Tuist MCPサーバーは、操作対象となるプロジェクトの情報源として、Xcodeの最新プロジェクトを利用します。\\n\\n## 導入手順\\n\\n### [Claude](https://claude.ai)\\n\\n[Claude desktop](https://claude.ai/download) を使用している場合は、tuist mcp setup claude コマンドを実行することで、Claude 環境を構成できます。\\n\\nまたは、 `~/Library/Application\\\\ Support/Claude/claude_desktop_config.json` にあるファイルを手動で編集し、Tuist MCPサーバーを追加することもできます:\\n\\n:::code-group\\n\\n```json [Global Tuist installation (e.g. Homebrew)]\\n{\\n \\\"mcpServers\\\": {\\n \\\"tuist\\\": {\\n \\\"command\\\": \\\"tuist\\\",\\n \\\"args\\\": [\\\"mcp\\\", \\\"start\\\"]\\n }\\n }\\n}\\n```\\n\\n```json [Mise installation]\\n{\\n \\\"mcpServers\\\": {\\n \\\"tuist\\\": {\\n \\\"command\\\": \\\"mise\\\",\\n \\\"args\\\": [\\\"x\\\", \\\"tuist@latest\\\", \\\"--\\\", \\\"tuist\\\", \\\"mcp\\\", \\\"start\\\"] // Or [email protected] to fix the version\\n }\\n }\\n}\\n```\\n\\n:::\\n\\n## 主な機能\\n\\n以下のセクションでは、Tuist MCPサーバーの機能について解説します。\\n\\n### 参考文献\\n\\n#### 最近使用したプロジェクトとワークスペース\\n\\nTuistは、最近操作したXcodeプロジェクトおよびワークスペースの記録を保持しており、アプリケーションがそれらの依存関係グラフにアクセスできるようにすることで、強力な分析や可視化を可能にします。 このデータに対してクエリを実行することで、例えば以下のようなプロジェクトの構造や依存関係などの詳細情報を把握できます:\\n\\n- 特定のターゲットに対する直接的および推移的な依存関係は何か?\\n- 最も多くのソースファイルを含むターゲットはどれで、いくつのファイルが含まれているか?\\n- グラフ内に含まれるすべての静的プロダクト(スタティックライブラリやフレームワークなど)は何か?\\n- すべてのターゲットを名前とプロダクトの種類(アプリ、フレームワーク、ユニットテストなど)とともに、アルファベット順で並び替えは可能か?\\n- 特定のフレームワークや外部依存関係に依存しているターゲットはどれか?\\n- プロジェクト内のすべてのターゲットに含まれるソースファイルの合計数はいくつか?\\n- ターゲット間に循環依存は存在するか?ある場合は、その発生箇所はどこか?\\n- 特定のリソース(画像や plistファイルなど)を使用しているターゲットはどれか?\\n- グラフ内で最も深い依存関係のチェーンは何か?また、それに関与しているターゲットはどれか?\\n- すべてのテストターゲットと、それぞれが関連付けられているアプリまたはフレームワークのターゲットを表示することは可能か?\\n- 最近の操作履歴に基づいて、ビルド時間が最も長いターゲットはどれか?\\n- 2つの特定のターゲット間で依存関係にどのような違いがあるか?\\n- プロジェクトに使用されていないソース ファイルやリソースはあるか?\\n- どのターゲットが共通の依存関係を持っており、それらは何か?\\n\\nTuist を使えば、これまでにない方法でXcodeプロジェクトを深く掘り下げて理解でき、複雑な構成であっても、理解・最適化・管理がより簡単になります!\\n\",\"title\":\"モデルコンテキストプロトコル(MCP)\",\"frontmatter\":{\"URL\":\"/ja/guides/features/agentic-coding/mcp\",\"LLMS_URL\":\"/ja/guides/features/agentic-coding/mcp.md\",\"title\":\"モデルコンテキストプロトコル(MCP)\",\"titleTemplate\":\":title · AI · Guides · Tuist\",\"description\":\"Tuist MCPサーバーを使用して、アプリ開発環境に自然言語インターフェースを導入する方法を学びましょう。\"}},{\"path\":\"/ja/guides/features/build.md\",\"url\":\"/ja/guides/features/build\",\"llmUrl\":\"/ja/guides/features/build.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/build\\\"\\nLLMS_URL: \\\"/ja/guides/features/build.md\\\"\\ntitle: \\\"Build\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist to build your projects efficiently.\\\"\\n---\\n\\n# Build {#build}\\n\\nProjects are usually built through a build-system-provided CLI (e.g. `xcodebuild`). Tuist wraps them to improve the user experience and integrate the workflows with the platform to provide optimizations and analytics.\\n\\nYou might wonder what's the value of using `tuist build` over generating the project with `tuist generate` (if needed) and building it with the platform-specific CLI. Here are some reasons:\\n\\n- **Single command:** `tuist build` ensures the project is generated if needed before compiling the project.\\n- **Beautified output:** Tuist enriches the output using tools like [xcbeautify](https://github.com/cpisciotta/xcbeautify) that make the output more user-friendly.\\n- Cache: It optimizes the build by deterministically reusing the build artifacts from a remote cache.\\n- **Analytics:** It collects and reports metrics that are correlated with other data points to provide you with actionable information to make informed decisions.\\n\\n## Usage {#usage}\\n\\n`tuist build` generates the project if needed, and then build it using the platform-specific build tool. We support the use of the `--` terminator to forward all subsequent arguments directly to the underlying build tool. This is useful when you need to pass arguments that are not supported by `tuist build` but are supported by the underlying build tool.\\n\\n::: code-group\\n\\n```bash [Build a scheme]\\ntuist build MyScheme\\n```\\n\\n```bash [Build a specific configuration]\\ntuist build MyScheme -- -configuration Debug\\n```\\n\\n```bash [Build all schemes without binary cache]\\ntuist build --no-binary-cache\\n```\\n\\n:::\\n\",\"title\":\"Build\",\"frontmatter\":{\"URL\":\"/ja/guides/features/build\",\"LLMS_URL\":\"/ja/guides/features/build.md\",\"title\":\"Build\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Learn how to use Tuist to build your projects efficiently.\"}},{\"path\":\"/ja/guides/features/bundle-size.md\",\"url\":\"/ja/guides/features/bundle-size\",\"llmUrl\":\"/ja/guides/features/bundle-size.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/bundle-size\\\"\\nLLMS_URL: \\\"/ja/guides/features/bundle-size.md\\\"\\ntitle: \\\"Bundle Size\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Find out how to make and keep your app's memory footprint as small as possible.\\\"\\n---\\n\\n# Bundle Size {#bundle-size}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A Tuist account and project\\n\\nAs you add more features to your app, your app bundle size keeps growing. While some of the bundle size growth is inevitable as you ship more code and assets, there are many ways to minimze that growth, such as by ensuring your assets are not duplicated across your bundles or stripping unused binary symbols. Tuist provides you with tools and insights to help your app size stay small – and we also monitor your app size over time.\\n\\n## Usage {#usage}\\n\\nTo analyze a bundle, you can use the `tuist inspect bundle` command:\\n\\n::: code-group\\n\\n```bash [Analyze an .ipa]\\ntuist inspect bundle App.ipa\\n```\\n\\n```bash [Analyze an .xcarchive]\\ntuist inspect bundle App.xcarchive\\n```\\n\\n```bash [Analyze an app bundle]\\ntuist inspect bundle App.app\\n```\\n\\n:::\\n\\nThe `tuist inspect bundle` command analyzes the bundle and provides you with a link to see a detailed overview of the bundle including a scan of the contents of the bundle or a module breakdown:\\n\\n\\n\\n## Continuous integration {#continuous-integration}\\n\\nTo track bundle size over time, you will need to analyze the bundle on the CI. First, you will need to ensure that your CI is authenticated:\\n\\nAn example workflow for GitHub Actions could then look like this:\\n\\n```yaml\\nname: Build\\n\\njobs:\\n build:\\n steps:\\n - # Build your app\\n - name: Analyze bundle\\n run: tuist inspect bundle App.ipa\\n env:\\n TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}\\n```\\n\\nOnce set up, you will be able to see how your bundle size evolves over time:\\n\\n\\n\\n## Pull/merge request comments {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] INTEGRATION WITH GIT PLATFORM REQUIRED\\n> To get automatic pull/merge request comments, integrate your Tuist project with a Git platform.\\n\\nOnce your Tuist project is connected with your Git platform such as [GitHub](https://github.com), Tuist will post a comment directly in your pull/merge requests whenever you run `tuist inspect bundle`:\\n\\n\",\"title\":\"Bundle Size\",\"frontmatter\":{\"URL\":\"/ja/guides/features/bundle-size\",\"LLMS_URL\":\"/ja/guides/features/bundle-size.md\",\"title\":\"Bundle Size\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Find out how to make and keep your app's memory footprint as small as possible.\"}},{\"path\":\"/ja/guides/features/cache.md\",\"url\":\"/ja/guides/features/cache\",\"llmUrl\":\"/ja/guides/features/cache.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/cache\\\"\\nLLMS_URL: \\\"/ja/guides/features/cache.md\\\"\\ntitle: \\\"Cache\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Optimize your build times by caching compiled binaries and sharing them across different environments.\\\"\\n---\\n\\n# Cache {#cache}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A generated project\\n> - A Tuist account and project\\n\\nXcode's build system provides [incremental builds](https://en.wikipedia.org/wiki/Incremental_build_model), enhancing efficiency under normal circumstances. However, this feature falls short in [Continuous Integration (CI) environments](https://en.wikipedia.org/wiki/Continuous_integration), where data essential for incremental builds is not shared across different builds. Additionally, **developers often reset this data locally to troubleshoot complex compilation problems**, leading to more frequent clean builds. This results in teams spending excessive time waiting for local builds to finish or for Continuous Integration pipelines to provide feedback on pull requests. Furthermore, the frequent context switching in such an environment compounds this unproductiveness.\\n\\nTuist addresses these challenges effectively with its caching feature. This tool optimizes the build process by caching compiled binaries, significantly reducing build times both in local development and CI environments. This approach not only accelerates feedback loops but also minimizes the need for context switching, ultimately boosting productivity.\\n\\n## Warming {#warming}\\n\\nTuist efficiently utilizes hashes for each target in the dependency graph to detect changes. Utilizing this data, it builds and assigns unique identifiers to binaries derived from these targets. At the time of graph generation, Tuist then seamlessly substitutes the original targets with their corresponding binary versions.\\n\\nThis operation, known as _\\\"warming,\\\"_ produces binaries for local use or for sharing with teammates and CI environments via Tuist. The process of warming the cache is straightforward and can be initiated with a simple command:\\n\\n```bash\\ntuist cache\\n```\\n\\nThe command re-uses binaries to speed up the process.\\n\\n## Usage {#usage}\\n\\nBy default, when Tuist commands necessitate project generation, they automatically substitute dependencies with their binary equivalents from the cache, if available. Additionally, if you specify a list of targets to focus on, Tuist will also replace any dependent targets with their cached binaries, provided they are available. For those who prefer a different approach, there is an option to opt out of this behavior entirely by using a specific flag:\\n\\n::: code-group\\n\\n```bash [Project generation]\\ntuist generate # Only dependencies\\ntuist generate Search # Dependencies + Search dependencies\\ntuist generate Search Settings # Dependencies, and Search and Settings dependencies\\ntuist generate --no-binary-cache # No cache at all\\n```\\n\\n```bash [Testing]\\ntuist test\\n```\\n\\n:::\\n\\n> [!WARNING]\\n> Binary caching is a feature designed for development workflows such as running the app on a simulator or device, or running tests. It is not intended for release builds. When archiving the app, generate a project with the sources by using the `--no-binary-cache` flag.\\n\\n## Supported products {#supported-products}\\n\\nOnly the following target products are cacheable by Tuist:\\n\\n- Frameworks (static and dynamic) that don't depend on [XCTest](https://developer.apple.com/documentation/xctest)\\n- Bundles\\n- Swift Macros\\n\\nWe are working on supporting libraries and targets that depend on XCTest.\\n\\n> [!NOTE] UPSTREAM DEPENDENCIES\\n> When a target is non-cacheable it makes the upstream targets non-cacheable too. For example, if you have the dependency graph `A > B`, where A depends on B, if B is non-cacheable, A will also be non-cacheable.\\n\\n## Efficiency {#efficiency}\\n\\nThe level of efficiency that can be achieved with binary caching depends strongly on the graph structure. To achieve the best results, we recommend the following:\\n\\n1. Avoid very nested dependency graphs. The shallower the graph, the better.\\n2. Define dependencies with protocol/interface targets instead of implementation ones, and dependency-inject implementations from the top-most targets.\\n3. Split frequently-modified targets into smaller ones whose likelihood of change is lower.\\n\\nThe above suggestions are part of the The Modular Architecture, which we propose as a way to structure your projects to maximize the benefits not only of binary caching but also of Xcode's capabilities.\\n\\n## Recommended setup {#recommended-setup}\\n\\nWe recommend having a CI job that **runs in every commit in the main branch** to warm the cache. This will ensure the cache always contains binaries for the changes in `main` so local and CI branch build incrementally upon them.\\n\\n> [!TIP] CACHE WARMING USES BINARIES\\n> The `tuist cache` command also makes use of the binary cache to speed up the warming.\\n\\nThe following are some examples of common workflows:\\n\\n### A developer starts to work on a new feature {#a-developer-starts-to-work-on-a-new-feature}\\n\\n1. They create a new branch from `main`.\\n2. They run `tuist generate`.\\n3. Tuist pulls the most recent binaries from `main` and generates the project with them.\\n\\n### A developer pushes changes upstream {#a-developer-pushes-changes-upstream}\\n\\n1. The CI pipeline will run `tuist build` or `tuist test` to build or test the project.\\n2. The workflow will pull the most recent binaries from `main` and generate the project with them.\\n3. It will then build or test the project incrementally.\\n\\n## Troubleshooting {#troubleshooting}\\n\\n### It doesn't use binaries for my targets {#it-doesnt-use-binaries-for-my-targets}\\n\\nEnsure that the hashes are deterministic across environments and runs. This might happen if the project has references to the environment, for example through absolute paths. You can use the `diff` command to compare the projects generated by two consecutive invocations of `tuist generate` or across environments or runs.\\n\\nAlso make sure that the target doesn't depend either directly or indirectly on a non-cacheable target.\\n\",\"title\":\"Cache\",\"frontmatter\":{\"URL\":\"/ja/guides/features/cache\",\"LLMS_URL\":\"/ja/guides/features/cache.md\",\"title\":\"Cache\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Optimize your build times by caching compiled binaries and sharing them across different environments.\"}},{\"path\":\"/ja/guides/features/insights.md\",\"url\":\"/ja/guides/features/insights\",\"llmUrl\":\"/ja/guides/features/insights.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/insights\\\"\\nLLMS_URL: \\\"/ja/guides/features/insights.md\\\"\\ntitle: \\\"Insights\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Get insights into your projects to maintain a product developer environment.\\\"\\n---\\n\\n# Insights {#insights}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A Tuist account and project\\n\\nWorking on large projects shouldn't feel like a chore. In fact, it should be as enjoyable as working on a project you started just two weeks ago. One of the reasons it is not is because as the project grows, the developer experience suffers. The build times increase and tests become slow and flaky. It's often easy to overlook these issues until it gets to a point where they become unbearable – however, at that point, it's difficult to address them. Tuist Insights provides you with the tools to monitor the health of your project and maintain a productive developer environment as your project scales.\\n\\nIn other words, Tuist Insights helps you to anwer questions such as:\\n\\n- Has the build time significantly increased in the last week?\\n- Have my tests become slower? Which ones?\\n\\n> [!NOTE]\\n> Tuist Insights are in early development.\\n\\n## Builds {#builds}\\n\\nWhile you probably have some metrics for the performance of CI workflows, you might not have the same visibility into the local development environment. However, local build times are one of the most important factors that contribute to the developer experience.\\n\\nTo start tracking local build times, you can leverage the `tuist inspect build` command by adding it to your scheme's post-action:\\n\\n\\n\\nIn case you're using [Mise](https://mise.jdx.dev/), your script will need to activate `tuist` in the post-action environment:\\n\\n```sh\\n# -C ensures that Mise loads the configuration from the Mise configuration\\n# file in the project's root directory.\\neval \\\"$($HOME/.local/bin/mise activate -C $SRCROOT bash --shims)\\\"\\n\\ntuist inspect build\\n```\\n\\nYour local builds are now tracked as long as you are logged in to your Tuist account. You can now access your build times in the Tuist dashboard and see how they evolve over time:\\n\\n> [!TIP]\\n> To quickly access the dashboard, run `tuist project show --web` from the CLI.\\n\\n\\n\\n## Projects {#projects}\\n\\n> [!NOTE]\\n> Auto-generated schemes automatically include the `tuist inspect build` post-action.\\n>\\n> If you are not interested in tracking build insights in your auto-generated schemes, disable them using the buildInsightsDisabled generation option.\\n\\nIf you are using generated projects, you can set up a custom build post-action using a custom scheme, such as:\\n\\n```swift\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n targets: [\\n // Your targets\\n ],\\n schemes: [\\n .scheme(\\n name: \\\"MyApp\\\",\\n shared: true,\\n buildAction: .buildAction(\\n targets: [\\\"MyApp\\\"],\\n postActions: [\\n .executionAction(\\n name: \\\"Inspect Build\\\",\\n scriptText: \\\"\\\"\\\"\\n eval \\\\\\\"$($HOME/.local/bin/mise activate -C $SRCROOT bash --shims)\\\\\\\"\\n tuist inspect build\\n \\\"\\\"\\\"\\n )\\n ],\\n runPostActionsOnFailure: true\\n ),\\n testAction: .testAction(targets: [\\\"MyAppTests\\\"]),\\n runAction: .runAction(configuration: \\\"Debug\\\")\\n )\\n ]\\n)\\n```\\n\\nIf you're not using Mise, your script can be simplified to just:\\n\\n```swift\\n.postAction(\\n name: \\\"Inspect Build\\\",\\n script: \\\"tuist inspect build\\\",\\n execution: .always\\n)\\n```\\n\\n## Continuous integration {#continuous-integration}\\n\\nTo track build times also on the CI, you will need to ensure that your CI is authenticated.\\n\\nAdditionally, you will either need to:\\n\\n- Use the `tuist xcodebuild` command when invoking `xcodebuild` actions.\\n- Add `-resultBundlePath` to your `xcodebuild` invocation.\\n\\nWhen `xcodebuild` builds your project without `-resultBundlePath`, the `.xcactivitylog` file is not generated. But the `tuist inspect build` post-action requires that file to be generated to analyze your build.\\n\",\"title\":\"Insights\",\"frontmatter\":{\"URL\":\"/ja/guides/features/insights\",\"LLMS_URL\":\"/ja/guides/features/insights.md\",\"title\":\"Insights\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Get insights into your projects to maintain a product developer environment.\"}},{\"path\":\"/ja/guides/features/previews.md\",\"url\":\"/ja/guides/features/previews\",\"llmUrl\":\"/ja/guides/features/previews.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/previews\\\"\\nLLMS_URL: \\\"/ja/guides/features/previews.md\\\"\\ntitle: \\\"Previews\\\"\\ntitleTemplate: \\\":title · Share · Guides · Tuist\\\"\\ndescription: \\\"Learn how to generate and share previews of your apps with anyone.\\\"\\n---\\n\\n# Previews {#previews}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A Tuist account and project\\n\\nWhen building an app, you may want to share it with others to get feedback.\\nTraditionally, this is something that teams do by building, signing, and pushing their apps to platforms like Apple's [TestFlight](https://developer.apple.com/testflight/).\\nHowever, this process can be cumbersome and slow, especially when you're just looking for quick feedback from a colleague or a friend.\\n\\nTo make this process more streamlined, Tuist provides a way to generate and share previews of your apps with anyone.\\n\\n> [!IMPORTANT] DEVICE BUILDS NEED TO BE SIGNED\\n> When building for device, it is currently your responsibility to ensure the app is signed correctly. We plan to streamline this in the future.\\n\\n:::code-group\\n\\n```bash [Tuist Project]\\ntuist build App # Build the app for the simulator\\ntuist build App -- -destination 'generic/platform=iOS' # Build the app for the device\\ntuist share App\\n```\\n\\n```bash [Xcode Project]\\nxcodebuild -scheme App -project App.xcodeproj -configuration Debug # Build the app for the simulator\\nxcodebuild -scheme App -project App.xcodeproj -configuration Debug -destination 'generic/platform=iOS' # Build the app for the device\\ntuist share App --configuration Debug --platforms iOS\\ntuist share App.ipa # Share an existing .ipa file\\n```\\n\\n:::\\n\\nThe command will generate a link that you can share with anyone to run the app – either on a simulator or an actual device. All they'll need to do is to run the command below:\\n\\n```bash\\ntuist run {url}\\ntuist run --device \\\"My iPhone\\\" {url} # Run the app on a specific device\\n```\\n\\nWhen sharing an `.ipa` file, you can download the app directly from the mobile device using the Preview link.\\nThe links to `.ipa` previews are by default _public_. In the future, you will have an option to make them private, so that the recipient of the link would need to authenticate with their Tuist account to download the app.\\n\\n`tuist run` also enables you to run a latest preview based on a specifier such as `latest`, branch name, or a specific commit hash:\\n\\n```bash\\ntuist run App@latest # Runs latest App preview associated with the project's default branch\\ntuist run App@my-feature-branch # Runs latest App preview associated with a given branch\\ntuist run App@00dde7f56b1b8795a26b8085a781fb3715e834be # Runs latest App preview associated with a given git commit sha\\n```\\n\\n> [!IMPORTANT] PREVIEWS' VISIBILITY\\n> Only people with access to the organization the project belongs to can access the previews. We plan to add support for expiring links.\\n\\n## Tuist macOS app {#tuist-macos-app}\\n\\n
\\n\\nTo make running Tuist Previews even easier, we developed a Tuist macOS menu bar app. Instead of running Previews via the Tuist CLI, you can [download](https://tuist.dev/download) the macOS app. You can also install the app by running `brew install --cask tuist/tuist/tuist`.\\n\\nWhen you now click on \\\"Run\\\" in the Preview page, the macOS app will automatically launch it on your currently selected device.\\n\\n> [!IMPORTANT] REQUIREMENTS\\n> To download Previews, you need to first authenticate with the `tuist auth login` command.\\n> In the future, you will be able to authenticate directly in the app.\\n>\\n> Additionally, you need to have Xcode locally installed.\\n\\n## Pull/merge request comments {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] INTEGRATION WITH GIT PLATFORM REQUIRED\\n> To get automatic pull/merge request comments, integrate your remote project with a Git platform.\\n\\nTesting new functionality should be a part of any code review. But having to build an app locally adds unnecessary friction, often leading to developers skipping testing functionality on their device at all. But _what if each pull request contained a link to the build that would automatically run the app on a device you selected in the Tuist macOS app?_\\n\\nOnce your Tuist project is connected with your Git platform such as [GitHub](https://github.com), add a `tuist share MyApp` to your CI workflow. Tuist will then post a Preview link directly in your pull requests:\\n\\n\\n## README badge {#readme-badge}\\n\\nTo make Tuist Previews more visible in your repository, you can add a badge to your `README` file that points to the latest Tuist Preview:\\n\\n[](https://tuist.dev/Dimillian/IcySky/previews/latest)\\n\\nTo add the badge to your `README`, use the following markdown and replace the account and project handles with your own:\\n\\n```\\n[](https://tuist.dev/{account-handle}/{project-handle}/previews/latest)\\n```\\n\\n## Automations {#automations}\\n\\nYou can use the `--json` flag to get a JSON output from the `tuist share` command:\\n\\n```\\ntuist share --json\\n```\\n\\nThe JSON output is useful to create custom automations, such as posting a Slack message using your CI provider.\\nThe JSON contains a `url` key with the full preview link and a `qrCodeURL` key with the URL to the QR code image\\nto make it easier to download previews from a real device. An example of a JSON output is below:\\n\\n```json\\n{\\n \\\"id\\\": 1234567890,\\n \\\"url\\\": \\\"https://cloud.tuist.io/preview/1234567890\\\",\\n \\\"qrCodeURL\\\": \\\"https://cloud.tuist.io/preview/1234567890/qr-code.svg\\\"\\n}\\n```\\n\",\"title\":\"Previews\",\"frontmatter\":{\"URL\":\"/ja/guides/features/previews\",\"LLMS_URL\":\"/ja/guides/features/previews.md\",\"title\":\"Previews\",\"titleTemplate\":\":title · Share · Guides · Tuist\",\"description\":\"Learn how to generate and share previews of your apps with anyone.\"}},{\"path\":\"/ja/guides/features/projects.md\",\"url\":\"/ja/guides/features/projects\",\"llmUrl\":\"/ja/guides/features/projects.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects.md\\\"\\ntitle: \\\"Projects\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about Tuist's DSL for defining Xcode projects.\\\"\\n---\\n\\n# Projects {#projects}\\n\\nGenerated is a viable alternative that helps to overcome these challenges while keeping complexity and costs at an acceptable level. It considers Xcode projects as a fundamental element, ensuring resilience against future Xcode updates, and leverages Xcode project generation to provide teams with a modularization-focused declarative API. Tuist uses the project declaration to simplify the complexities of modularization\\\\*\\\\*, optimize workflows like build or test across various environments, and facilitate and democratize the evolution of Xcode projects.\\n\\n## How does it work? {#how-does-it-work}\\n\\nTo get started with generated projects, all you need is to define your project using **Tuist's Domain Specific Language (DSL)**. This entails using manifest files such as `Workspace.swift` or `Project.swift`. If you've worked with the Swift Package Manager before, the approach is very similar.\\n\\nOnce you've defined your project, Tuist offers various workflows to manage and interact with it:\\n\\n- **Generate:** This is a foundational workflow. Use it to create an Xcode project that's compatible with Xcode.\\n- **Build:** This workflow not only generates the Xcode project but also employs `xcodebuild` to compile it.\\n- **Test:** Operating much like the build workflow, this not only generates the Xcode project but utilizes `xcodebuild` to test it.\\n\\n## Challenges with Xcode projects {#challenges-with-xcode-projects}\\n\\nAs Xcode projects grow, **organizations may face a decline in productivity** due to several factors, including unreliable incremental builds, frequent clearing of Xcode's global cache by developers encountering issues, and fragile project configurations. To maintain rapid feature development, organizations typically explore various strategies.\\n\\nSome organizations choose to bypass the compiler by abstracting the platform using JavaScript-based dynamic runtimes, such as [React Native](https://reactnative.dev/). While this approach may be effective, it [complicates access to the platform's native features](https://shopify.engineering/building-app-clip-react-native). Other organizations opt for **modularizing the codebase**, which helps establish clear boundaries, making the codebase easier to work with and improving the reliability of build times. However, the Xcode project format is not designed for modularity and results in implicit configurations that few understand and frequent conflicts. This leads to a bad bus factor, and although incremental builds may improve, developers might still frequently clear Xcode's build cache (i.e., derived data) when builds fail. To address this, some organizations choose to **abandon Xcode's build system** and adopt alternatives like [Buck](https://buck.build/) or [Bazel](https://bazel.build/). However, this comes with a [high complexity and maintenance burden](https://bazel.build/migrate/xcode).\\n\\n## Alternatives {#alternatives}\\n\\n### Swift Package Manager {#swift-package-manager}\\n\\nWhile the Swift Package Manager (SPM) primarily focuses on dependencies, Tuist offers a different approach. With Tuist, you don't just define packages for SPM integration; you shape your projects using familiar concepts like projects, workspaces, targets, and schemes.\\n\\n### XcodeGen {#xcodegen}\\n\\n[XcodeGen](https://github.com/yonaskolb/XcodeGen) is a dedicated project generator designed to reduce conflicts in collaborative Xcode projects and simplify some complexities of Xcode's internal workings. However, projects are defined using serializable formats like [YAML](https://yaml.org/). Unlike Swift, this doesn't allow developers to build upon abstractions or checks without incorporating additional tools. While XcodeGen does offer a way to map dependencies to an internal representation for validation and optimization, it still exposes developers to the nuances of Xcode. This might make XcodeGen a suitable foundation for [building tools](https://github.com/MobileNativeFoundation/rules_xcodeproj), as seen in the Bazel community, but it's not optimal for inclusive project evolution that aims to maintain a healthy and productive environment.\\n\\n### Bazel {#bazel}\\n\\n[Bazel](https://bazel.build) is an advanced build system renowned for its remote caching features, gaining popularity within the Swift community primarily for this capability. However, given the limited extensibility of Xcode and its build system, substituting it with Bazel's system demands significant effort and maintenance. Only a few companies with abundant resources can bear this overhead, as evident from the select list of firms investing heavily to integrate Bazel with Xcode. Interestingly, the community created a [tool](https://github.com/MobileNativeFoundation/rules_xcodeproj) that employs Bazel's XcodeGen to generate an Xcode project. This results in a convoluted chain of conversions: from Bazel files to XcodeGen YAML and finally to Xcode Projects. Such layered indirection often complicates troubleshooting, making issues more challenging to diagnose and resolve.\\n\",\"title\":\"Projects\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects\",\"LLMS_URL\":\"/ja/guides/features/projects.md\",\"title\":\"Projects\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Learn about Tuist's DSL for defining Xcode projects.\"}},{\"path\":\"/ja/guides/features/projects/adoption/migrate/bazel-project.md\",\"url\":\"/ja/guides/features/projects/adoption/migrate/bazel-project\",\"llmUrl\":\"/ja/guides/features/projects/adoption/migrate/bazel-project.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/adoption/migrate/bazel-project\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/adoption/migrate/bazel-project.md\\\"\\ntitle: \\\"Migrate a Bazel project\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to migrate your projects from Bazel to Tuist.\\\"\\n---\\n\\n# Migrate a Bazel project {#migrate-a-bazel-project}\\n\\n[Bazel](https://bazel.build) is a build system that Google open-sourced in 2015. It's a powerful tool that allows you to build and test software of any size, quickly and reliably. Some large organizations like [Spotify](https://engineering.atspotify.com/2023/10/switching-build-systems-seamlessly/), [Tinder](https://medium.com/tinder/bazel-hermetic-toolchain-and-tooling-migration-c244dc0d3ae), or [Lyft](https://semaphoreci.com/blog/keith-smiley-bazel) use it, however, it requires an upfront (i.e., learning the technology) and ongoing investment (i.e., keeping up with Xcode updates) to introduce and maintain. While this works for some organizations that treat it as a cross-cutting concern, it might not be the best fit for others that want to focus on their product development. For instance, we've seen organizations whose iOS platform team introduced Bazel and had to drop it after the engineers that led the effort left the company. Apple's stance on the strong coupling between Xcode and the build system is another factor that makes it hard to maintain Bazel projects over time.\\n\\n> [!TIP] TUIST UNIQUENESS LIES IN ITS FINESSE\\n> Instead of fighting Xcode and Xcode projects, Tuist embraces it. It's the same concepts (e.g., targets, schemes, build settings), a familiar language (i.e., Swift), and a simple and enjoyable experience that makes maintaining and scaling projects everyone's job and not just the iOS platform team's.\\n\\n## Rules {#rules}\\n\\nBazel uses rules to define how to build and test software. The rules are written in [Starlark](https://github.com/bazelbuild/starlark), a Python-like language. Tuist uses Swift as a configuration language, which provides developers with the convenience of using Xcode's autocompletion, type-checking, and validation features. For example, the following rule describes how to build a Swift library in Bazel:\\n\\n::: code-group\\n\\n```txt [BUILD (Bazel)]\\nswift_library(\\n name = \\\"MyLibrary.library\\\",\\n srcs = glob([\\\"**/*.swift\\\"]),\\n module_name = \\\"MyLibrary\\\"\\n)\\n```\\n\\n```swift [Project.swift (Tuist)]\\nlet project = Project(\\n // ...\\n targets: [\\n .target(name: \\\"MyLibrary\\\", product: .staticLibrary, sources: [\\\"**/*.swift\\\"])\\n ]\\n)\\n```\\n\\n:::\\n\\nHere's another example but compating how to define unit tests in Bazel and Tuist:\\n\\n:::code-group\\n\\n```txt [BUILD (Bazel)]\\nios_unit_test(\\n name = \\\"MyLibraryTests\\\",\\n bundle_id = \\\"io.tuist.MyLibraryTests\\\",\\n minimum_os_version = \\\"16.0\\\",\\n test_host = \\\"//MyApp:MyLibrary\\\",\\n deps = [\\\":MyLibraryTests.library\\\"],\\n)\\n\\n```\\n\\n```swift [Project.swift (Tuist)]\\nlet project = Project(\\n // ...\\n targets: [\\n .target(\\n name: \\\"MyLibraryTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.MyLibraryTests\\\",\\n sources: \\\"Tests/MyLibraryTests/**\\\",\\n dependencies: [\\n .target(name: \\\"MyLibrary\\\"),\\n ]\\n )\\n ]\\n)\\n```\\n\\n:::\\n\\n## Swift Package Manager dependencies {#swift-package-manager-dependencies}\\n\\nIn Bazel, you can use the [`rules_swift_package_manager`](https://github.com/cgrindel/rules_swift_package_manager) [Gazelle](https://github.com/bazelbuild/bazel-gazelle/blob/master/extend.md) plugin to use Swift Packages as dependencies. The plugin requires a `Package.swift` as a source of truth for the dependencies. Tuist's interface is similar to Bazel's in that sense. You can use the `tuist install` command to resolve and pull the dependencies of the package. After the resolution completes, you can then generate the project with the `tuist generate` command.\\n\\n```bash\\ntuist install # Fetch dependencies defined in Tuist/Package.swift\\ntuist generate # Generate an Xcode project\\n```\\n\\n## Project generation {#project-generation}\\n\\nThe community provides a set of rules, [rules_xcodeproj](https://github.com/MobileNativeFoundation/rules_xcodeproj), to generate Xcode projects off Bazel-declared projects. Unlike Bazel, where you need to add some configuration to your `BUILD` file, Tuist doesn't require any configuration at all. You can run `tuist generate` in the root directory of your project, and Tuist will generate an Xcode project for you.\\n\",\"title\":\"Migrate a Bazel project\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/adoption/migrate/bazel-project\",\"LLMS_URL\":\"/ja/guides/features/projects/adoption/migrate/bazel-project.md\",\"title\":\"Migrate a Bazel project\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to migrate your projects from Bazel to Tuist.\"}},{\"path\":\"/ja/guides/features/projects/adoption/migrate/swift-package.md\",\"url\":\"/ja/guides/features/projects/adoption/migrate/swift-package\",\"llmUrl\":\"/ja/guides/features/projects/adoption/migrate/swift-package.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/adoption/migrate/swift-package\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/adoption/migrate/swift-package.md\\\"\\ntitle: \\\"Migrate a Swift Package\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to migrate from Swift Package Manager as a solution for managing your projects to Tuist projects.\\\"\\n---\\n\\n# Migrate a Swift Package {#migrate-a-swift-package}\\n\\nSwift Package Manager emerged as a dependency manager for Swift code that uninentionally found itself solving the problem of managing projects and supporting other programming languages like Objective-C. Because the tool was designed with a different purpose in mind, it can be challenging to use it to manage projects at scale because it lacks flexibility, performance, and power that Tuist provides. This is well captured in the [Scaling iOS at Bumble](https://medium.com/bumble-tech/scaling-ios-at-bumble-239e0fa009f2) article, which includes the following table comparing the performance of Swift Package Manager and native Xcode projects:\\n\\n\\n\\nWe often come across developers and organizations that challenge the need for Tuist considering that Swift Package Manager can take a similar project management role. Some venture into a migration to later on realize that their developer experience has degraded signicantly. For instance, the rename of a file might take up to 15 seconds to re-index. 15 seconds!\\n\\n**Whether Apple will make Swift Package Manager a built-for-scale project manager is uncertain.** However, we are not seeing any signs that it's happening. In fact, we are seeing quite the opposite. They are making Xcode-inspired decisions, like achieving convenience through implicit configurations, which as you might know, is the source of complications at scale. We believe it'd take Apple to go to first principles and revisit some decisions that made sense as a dependency manager but not as a project manager, for example the usage of a compiled language as an interface to define projects.\\n\\n> [!TIP] SPM AS JUST A DEPENDENCY MANAGER\\n> Tuist treats Swift Package Manager as a dependency manager, and it's a great one. We use it to resolve dependencies and to build them. We don't use it to define projects because it's not designed for that.\\n\\n## Migrating from Swift Package Manager to Tuist {#migrating-from-swift-package-manager-to-tuist}\\n\\nThe similarities between Swift Package Manager and Tuist make the migration process straightforward. The main difference is that you'll be defining your projects using Tuist's DSL instead of `Package.swift`.\\n\\nFirst, create a `Project.swift` file next to your `Package.swift` file. The `Project.swift` file will contain the definition of your project. Here's an example of a `Project.swift` file that defines a project with a single target:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"App\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"io.tuist.App\\\",\\n sources: [\\\"Sources/**/*.swift\\\"]*\\n ),\\n ]\\n)\\n```\\n\\nSome things to note:\\n\\n- **ProjectDescription**: Instead of using `PackageDescription`, you'll be using `ProjectDescription`.\\n- **Project:** Instead of exporting a `package` instance, you'll be exporting a `project` instance.\\n- **Xcode language:** The primitives that you use to define your project mimic Xcode's language, so you'll find schemes, targets, and build phases among others.\\n\\nThen create a `Tuist.swift` file with the following content:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n\\nThe `Tuist.swift` contains the configuration for your project and its path serves as a reference to determine the root of your project. You can check out the directory structure document to learn more about the structure of Tuist projects.\\n\\n## Editing the project {#editing-the-project}\\n\\nYou can use `tuist edit` to edit the project in Xcode. The command will generate an Xcode project that you can open and start working on.\\n\\n```bash\\ntuist edit\\n```\\n\\nDepending on the size of the project, you might consider using it in one shot or incrementally. We recommend starting with a small project to get familiar with the DSL and the workflow. Our advise is always to start from the most depended upon target and work all the way up to the top-level target.\\n\",\"title\":\"Migrate a Swift Package\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/adoption/migrate/swift-package\",\"LLMS_URL\":\"/ja/guides/features/projects/adoption/migrate/swift-package.md\",\"title\":\"Migrate a Swift Package\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to migrate from Swift Package Manager as a solution for managing your projects to Tuist projects.\"}},{\"path\":\"/ja/guides/features/projects/adoption/migrate/xcode-project.md\",\"url\":\"/ja/guides/features/projects/adoption/migrate/xcode-project\",\"llmUrl\":\"/ja/guides/features/projects/adoption/migrate/xcode-project.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/adoption/migrate/xcode-project\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/adoption/migrate/xcode-project.md\\\"\\ntitle: \\\"Migrate an Xcode project\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Xcode プロジェクトを Tuist プロジェクトに移行する方法を学びます\\\"\\n---\\n\\n# Xcode プロジェクトの移行 {#migrate-an-xcode-project}\\n\\nXcode プロジェクトの移行 {#migrate-an-xcode-project} このプロセスがどれほど退屈かは、プロジェクトの複雑さによって異なります。\\n\\nAs you probably know, Xcode projects can become messy and complex over time: groups that don't match the directory structure, files that are shared across targets, or file references that point to nonexisting files (to mention some). All that accumulated complexity makes it hard for us to provide a command that reliably migrates project.\\n\\nMoreover, manual migration is an excellent exercise to clean up and simplify your projects. Not only the developers in your project will be thankful for that, but Xcode, who will be faster processing and indexing them. Once you have fully adopted Tuist, it will make sure that projects are consistently defined and that they remain simple.\\n\\nIn the aim of easing that work, we are giving you some guidelines based on the feedback that we have received from the users.\\n\\n## Create project scaffold {#create-project-scaffold}\\n\\nFirst of all, create a scaffold for your project with the following Tuist files:\\n\\n::: code-group\\n\\n```js [Tuist.swift]\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n\\n```js [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp-Tuist\\\",\\n targets: [\\n /** Targets will go here **/\\n ]\\n)\\n```\\n\\n```js [Tuist/Package.swift]\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n ]\\n)\\n```\\n\\n:::\\n\\n`Project.swift` is the manifest file where you'll define your project, and `Package.swift` is the manifest file where you'll define your dependencies. The `Tuist.swift` file is where you can define project-scoped Tuist settings for your project.\\n\\n> [!TIP] PROJECT NAME WITH -TUIST SUFFIX\\n> To prevent conflicts with the existing Xcode project, we recommend adding the `-Tuist` suffix to the project name. You can drop it once you've fully migrated your project to Tuist.\\n\\n## Build and test the Tuist project in CI {#build-and-test-the-tuist-project-in-ci}\\n\\nTo ensure the migration of each change is valid, we recommend extending your continuous integration to build and test the project generated by Tuist from your manifest file:\\n\\n```bash\\ntuist install\\ntuist generate\\ntuist build -- ...{xcodebuild flags} # or tuist test\\n```\\n\\n## Extract the project build settings into `.xcconfig` files {#extract-the-project-build-settings-into-xcconfig-files}\\n\\nExtract the build settings from the project into an `.xcconfig` file to make the project leaner and easier to migrate. You can use the following command to extract the build settings from the project into an `.xcconfig` file:\\n\\n```bash\\nmkdir -p xcconfigs/\\ntuist migration settings-to-xcconfig -p MyApp.xcodeproj -x xcconfigs/MyApp-Project.xcconfig\\n```\\n\\nThen update your `Project.swift` file to point to the `.xcconfig` file you've just created:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n settings: .settings(configurations: [\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/MyApp-Project.xcconfig\\\"), // [!code ++]\\n .release(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/MyApp-Project.xcconfig\\\"), // [!code ++]\\n ]),\\n targets: [\\n /** Targets will go here **/\\n ]\\n)\\n```\\n\\nThen extend your continuous integration pipeline to run the following command to ensure that changes to build settings are made directly to the `.xcconfig` files:\\n\\n```bash\\ntuist migration check-empty-settings -p Project.xcodeproj\\n```\\n\\n## Extract package dependencies {#extract-package-dependencies}\\n\\nExtract all your project's dependencies into the `Tuist/Package.swift` file:\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n .package(url: \\\"https://github.com/onevcat/Kingfisher\\\", .upToNextMajor(from: \\\"7.12.0\\\")) // [!code ++]\\n ]\\n)\\n```\\n\\n> [!TIP] PRODUCT TYPES\\n> You can override the product type for a specific package by adding it to the `productTypes` dictionary in the `PackageSettings` struct. By default, Tuist assumes that all packages are static frameworks.\\n\\n## Determine the migration order {#determine-the-migration-order}\\n\\nWe recommend migrating the targets from the one that is the most dependent upon to the least. You can use the following command to list the targets of a project, sorted by the number of dependencies:\\n\\n```bash\\ntuist migration list-targets -p Project.xcodeproj\\n```\\n\\nStart migrating the targets from the top of the list, as they are the ones that are the most depended upon.\\n\\n## Migrate targets {#migrate-targets}\\n\\nMigrate the targets one by one. We recommend doing a pull request for each target to ensure that the changes are reviewed and tested before merging them.\\n\\n### Extract the target build settings into `.xcconfig` files {#extract-the-target-build-settings-into-xcconfig-files}\\n\\nLike you did with the project build settings, extract the target build settings into an `.xcconfig` file to make the target leaner and easier to migrate. You can use the following command to extract the build settings from the target into an `.xcconfig` file:\\n\\n```bash\\ntuist migration settings-to-xcconfig -p MyApp.xcodeproj -t TargetX -x xcconfigs/TargetX.xcconfig\\n```\\n\\n### Define the target in the `Project.swift` file {#define-the-target-in-the-projectswift-file}\\n\\nDefine the target in `Project.targets`:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n settings: .settings(configurations: [\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/Project.xcconfig\\\"),\\n .release(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/Project.xcconfig\\\"),\\n ]),\\n targets: [\\n .target( // [!code ++]\\n name: \\\"TargetX\\\", // [!code ++]\\n destinations: .iOS, // [!code ++]\\n product: .framework, // [!code ++] // or .staticFramework, .staticLibrary...\\n bundleId: \\\"io.tuist.targetX\\\", // [!code ++]\\n sources: [\\\"Sources/TargetX/**\\\"], // [!code ++]\\n dependencies: [ // [!code ++]\\n /** Dependencies go here **/ // [!code ++]\\n /** .external(name: \\\"Kingfisher\\\") **/ // [!code ++]\\n /** .target(name: \\\"OtherProjectTarget\\\") **/ // [!code ++]\\n ], // [!code ++]\\n settings: .settings(configurations: [ // [!code ++]\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/TargetX.xcconfig\\\"), // [!code ++]\\n .debug(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/TargetX.xcconfig\\\"), // [!code ++]\\n ]) // [!code ++]\\n ), // [!code ++]\\n ]\\n)\\n```\\n\\n> [!NOTE] TEST TARGETS\\n> If the target has an associated test target, you should define it in the `Project.swift` file as well repeating the same steps.\\n\\n### Validate the target migration {#validate-the-target-migration}\\n\\nRun `tuist build` and `tuist test` to ensure the project builds and tests pass. Additionally, you can use [xcdiff](https://github.com/bloomberg/xcdiff) to compare the generated Xcode project with the existing one to ensure that the changes are correct.\\n\\n### Repeat {#repeat}\\n\\nRepeat until all the targets are fully migrated. Once you are done, we recommend updating your CI and CD pipelines to build and test the project using `tuist build` and `tuist test` commands to benefit from the speed and reliability that Tuist provides.\\n\\n## Troubleshooting {#troubleshooting}\\n\\n### Compilation errors due to missing files. {#compilation-errors-due-to-missing-files}\\n\\nIf the files associated to your Xcode project targets were not all contained in a file-system directory representing the target, you might end up with a project that doesn't compile. Make sure the list of files after generating the project with Tuist matches the list of files in the Xcode project, and take the opportunity to align the file structure with the target structure.\\n\",\"title\":\"Migrate an Xcode project\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/adoption/migrate/xcode-project\",\"LLMS_URL\":\"/ja/guides/features/projects/adoption/migrate/xcode-project.md\",\"title\":\"Migrate an Xcode project\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Xcode プロジェクトを Tuist プロジェクトに移行する方法を学びます\"}},{\"path\":\"/ja/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"url\":\"/ja/guides/features/projects/adoption/migrate/xcodegen-project\",\"llmUrl\":\"/ja/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/adoption/migrate/xcodegen-project\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/adoption/migrate/xcodegen-project.md\\\"\\ntitle: \\\"Migrate an XcodeGen project\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to migrate your projects from XcodeGen to Tuist.\\\"\\n---\\n\\n# Migrate an XcodeGen project {#migrate-an-xcodegen-project}\\n\\n[XcodeGen](https://github.com/yonaskolb/XcodeGen) is a project-generation tool that uses YAML as [a configuration format](https://github.com/yonaskolb/XcodeGen/blob/master/Docs/ProjectSpec.md) to define Xcode projects. Many organizations **adopted it trying to escape from the frequent Git conflicts that arise when working with Xcode projects.** However, frequent Git conflicts is just one of the many problems that organizations experience. Xcode exposes developers with a lot of intricacies and implicit configurations that make it hard to maintain and optimize projects at scale. XcodeGen falls short there by design because it's a tool that generates Xcode projects, not a project manager. If you need a tool that helps you beyond generating Xcode projects, you might want to consider Tuist.\\n\\n> [!TIP] SWIFT OVER YAML\\n> Many organizations prefer Tuist as a project generation tool too because it uses Swift as a configuration format. Swift is a programming language that developers are familiar with, and that provides them with the convenience of using Xcode's autocompletion, type-checking, and validation features.\\n\\nWhat follows are some considerations and guidelines to help you migrate your projects from XcodeGen to Tuist.\\n\\n## Project generation {#project-generation}\\n\\nBoth Tuist and XcodeGen provide a `generate` command that turns your project declaration into Xcode projects and workspaces.\\n\\n::: code-group\\n\\n```bash [XcodeGen]\\nxcodegen generate\\n```\\n\\n```bash [Tuist]\\ntuist generate\\n```\\n\\n:::\\n\\nThe difference lays in the editing experience. With Tuist, you can run the `tuist edit` command, which generates an Xcode project on the fly that you can open and start working on. This is particularly useful when you want to make quick changes to your project.\\n\\n## `project.yaml` {#projectyaml}\\n\\nXcodeGen's `project.yaml` description file becomes `Project.swift`. Moreover, you can have `Workspace.swift` as a way to customize how projects are grouped in workspaces. You can also have a project `Project.swift` with targets that reference targets from other projects. In those cases, Tuist will generate an Xcode Workspace including all the projects.\\n\\n::: code-group\\n\\n```bash [XcodeGen directory structure]\\n/\\n project.yaml\\n```\\n\\n```bash [Tuist directory structure]\\n/\\n Tuist.swift\\n Project.swift\\n Workspace.swift\\n```\\n\\n:::\\n\\n> [!TIP] XCODE'S LANGUAGE\\n> Both XcodeGen and Tuist embrace Xcode's language and concepts. However, Tuist's Swift-based configuration provides you with the convenience of using Xcode's autocompletion, type-checking, and validation features.\\n\\n## Spec templates {#spec-templates}\\n\\nOne of the disadvantages of YAML as a language for project configuration is that it doesn't support reusability across YAML files out of the box. This is a common need when describing projects, which XcodeGen had to solve with their own propietary solution named _\\\"templates\\\"_. With Tuist's re-usability is built into the language itself, Swift, and through a Swift module named project description helpers, which allow reusing code across all your manifest files.\\n\\n::: code-group\\n\\n```swift [Tuist/ProjectDescriptionHelpers/Target+Features.swift]\\nimport ProjectDescription\\n\\nextension Target {\\n /**\\n This function is a factory of targets that together represent a feature.\\n */\\n static func featureTargets(name: String) -> [Target] {\\n // ...\\n }\\n}\\n```\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers // [!code highlight]\\n\\nlet project = Project(name: \\\"MyProject\\\",\\n targets: Target.featureTargets(name: \\\"MyFeature\\\")) // [!code highlight]\\n```\\n\",\"title\":\"Migrate an XcodeGen project\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/adoption/migrate/xcodegen-project\",\"LLMS_URL\":\"/ja/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"title\":\"Migrate an XcodeGen project\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to migrate your projects from XcodeGen to Tuist.\"}},{\"path\":\"/ja/guides/features/projects/adoption/new-project.md\",\"url\":\"/ja/guides/features/projects/adoption/new-project\",\"llmUrl\":\"/ja/guides/features/projects/adoption/new-project.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/adoption/new-project\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/adoption/new-project.md\\\"\\ntitle: \\\"新規プロジェクトの作成\\\"\\ntitleTemplate: \\\":title · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Tuist で新規プロジェクトを作成する方法を学びます。\\\"\\n---\\n\\n# 新規プロジェクトの作成 {#create-a-new-project}\\n\\nTuist を使って新しいプロジェクトを開始する最も簡単な方法は、`tuist init` コマンドを使用することです。 This command launches an interactive CLI that guides you through setting up your project. When prompted, make sure to select the option to create a \\\"generated project\\\".\\n\\nコマンドは現在のディレクトリ内のプロジェクトを初期化します。 プロジェクトを編集するには、`tuist edit` を実行します。そうすると、Xcode がプロジェクトを開き、<0>編集できる0>ようになります。 生成されるファイルの1つは `Project.swift` で、プロジェクトの定義が含まれています。 Swift Package Manager に馴染みがある方は、Xcode プロジェクト向けの `Package.swift` のようなものだと考えてください。 生成されるファイルの1つは `Project.swift` で、プロジェクトの定義が含まれています。 Swift Package Manager に馴染みがある方は、Xcode プロジェクト向けの `Package.swift` のようなものだと考えてください。 生成されるファイルの1つは `Project.swift` で、プロジェクトの定義が含まれています。 Swift Package Manager に馴染みがある方は、Xcode プロジェクト向けの `Package.swift` のようなものだと考えてください。\\n\\n::: code-group\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n targets: [\\n .target(\\n name: \\\"MyApp\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"io.tuist.MyApp\\\",\\n infoPlist: .extendingDefault(\\n with: [\\n \\\"UILaunchScreen\\\": [\\n \\\"UIColorName\\\": \\\"\\\",\\n \\\"UIImageName\\\": \\\"\\\",\\n ],\\n ]\\n ),\\n sources: [\\\"MyApp/Sources/**\\\"],\\n resources: [\\\"MyApp/Resources/**\\\"],\\n dependencies: []\\n ),\\n .target(\\n name: \\\"MyAppTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.MyAppTests\\\",\\n infoPlist: .default,\\n sources: [\\\"MyApp/Tests/**\\\"],\\n resources: [],\\n dependencies: [.target(name: \\\"MyApp\\\")]\\n ),\\n ]\\n)\\n```\\n\\n:::\\n\\n> [!NOTE]\\n> We intentionally keep the list of available templates short to minimize maintenance overhead. If you want to create a project that doesn't represent an application, for example a framework, you can use `tuist init` as a starting point and then modify the generated project to suit your needs.\\n\\n## Manually creating a project {#manually-creating-a-project}\\n\\nAlternatively, you can create the project manually. We recommend doing this only if you're already familiar with Tuist and its concepts. The first thing that you'll need to do is to create additional directories for the project structure:\\n\\n```bash\\nmkdir MyFramework\\ncd MyFramework\\n```\\n\\n次に、Tuist の設定を行い、プロジェクトのルートディレクトリを判定するために Tuist が使用する `Tuist.swift` ファイルと、プロジェクトの内容を宣言する `Project.swift` ファイルを作成します。\\n\\n::: code-group\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyFramework\\\",\\n targets: [\\n .target(\\n name: \\\"MyFramework\\\",\\n destinations: .macOS,\\n product: .framework,\\n bundleId: \\\"io.tuist.MyFramework\\\",\\n sources: [\\\"MyFramework/Sources/**\\\"],\\n dependencies: []\\n )\\n ]\\n)\\n```\\n\\n```swift [Tuist.swift]\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n\\n:::\\n\\n> [!IMPORTANT]\\n> Tuist uses the `Tuist/` directory to determine the root of your project, and from there it looks for other manifest files globbing the directories. We recommend creating those files with your editor of choice, and from that point on, you can use `tuist edit` to edit the project with Xcode.\\n\",\"title\":\"新規プロジェクトの作成\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/adoption/new-project\",\"LLMS_URL\":\"/ja/guides/features/projects/adoption/new-project.md\",\"title\":\"新規プロジェクトの作成\",\"titleTemplate\":\":title · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Tuist で新規プロジェクトを作成する方法を学びます。\"}},{\"path\":\"/ja/guides/features/projects/adoption/swift-package.md\",\"url\":\"/ja/guides/features/projects/adoption/swift-package\",\"llmUrl\":\"/ja/guides/features/projects/adoption/swift-package.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/adoption/swift-package\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/adoption/swift-package.md\\\"\\ntitle: \\\"TuistをSwiftパッケージと使用する\\\"\\ntitleTemplate: \\\":title · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"TuistをSwiftパッケージと使用する方法を学びます。\\\"\\n---\\n\\n# TuistをSwiftパッケージと使用する {#using-tuist-with-a-swift-package-badge-typewarning-textbeta-}\\n\\nTuist は、`Package.swift` をプロジェクトの DSL として使用することをサポートしており、パッケージのターゲットをネイティブの Xcode プロジェクトおよびターゲットに変換します。\\n\\n> [!WARNING]\\n> この機能の目的は、開発者がSwiftパッケージにTuistを導入する影響を評価するための簡単な方法を提供することです。 そのため、Swiftパッケージマネージャーの全機能をサポートする予定はなく、Project Description HelperのようなTuist特有の機能をパッケージの世界に持ち込むことも計画していません。\\n\\n> [!NOTE] ROOT DIRECTORY\\n> Tuist コマンドは、`Tuist` ディレクトリまたは `.git` ディレクトリによってルートが識別される特定の ディレクトリ構造を 期待する。\\n\\n## TuistをSwiftパッケージと使用する {#using-tuist-with-a-swift-package}\\n\\nSwiftパッケージを含む[TootSDK Package](https://github.com/TootSDK/TootSDK)リポジトリでTuistを使用します。 まず、リポジトリをクローンする必要があります。\\n\\n```bash\\ngit clone https://github.com/TootSDK/TootSDK\\ncd TootSDK\\n```\\n\\nリポジトリのディレクトリに一度入ったら、Swift Package Manager の依存関係をインストールする必要があります。\\n\\n```bash\\ntuist install\\n```\\n\\n`tuist install` は、Swift Package Managerを使用してパッケージの依存関係を解決して pull します。\\n依存関係の解決が完了したら、プロジェクトを生成することができます。\\n\\n```bash\\ntuist generate\\n```\\n\\nほら! ネイティブの Xcode プロジェクトを開いて作業を開始できます。\\n\",\"title\":\"TuistをSwiftパッケージと使用する\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/adoption/swift-package\",\"LLMS_URL\":\"/ja/guides/features/projects/adoption/swift-package.md\",\"title\":\"TuistをSwiftパッケージと使用する\",\"titleTemplate\":\":title · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"TuistをSwiftパッケージと使用する方法を学びます。\"}},{\"path\":\"/ja/guides/features/projects/best-practices.md\",\"url\":\"/ja/guides/features/projects/best-practices\",\"llmUrl\":\"/ja/guides/features/projects/best-practices.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/best-practices\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/best-practices.md\\\"\\ntitle: \\\"ベストプラクティス\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Tuist プロジェクトと Xcode プロジェクトのベストプラクティスについて学ぶ\\\"\\n---\\n\\n# ベストプラクティス {#best-practices}\\n\\nOver the years working with different teams and projects, we've identified a set of best practices that we recommend following when working with Tuist and Xcode projects. These practices are not mandatory, but they can help you structure your projects in a way that makes them easier to maintain and scale.\\n\\n## Xcode {#xcode}\\n\\n### 避けるべきパターン {#discouraged-patterns}\\n\\n#### リモート環境をモデル化するための設定 {#configurations-to-model-remote-environments}\\n\\n多くの組織は、異なるリモート環境(例: Debug-Production や Release-Canary)をモデル化するためにビルド設定を使用しますが、このアプローチにはいくつかの欠点があります:\\n\\n- **Inconsistencies:** If there are configuration inconsistencies throughout the graph, the build system might end up using the wrong configuration for some targets.\\n- **Complexity:** Projects can end up with a long list of local configurations and remote environments that are hard to reason about and maintain.\\n\\nBuild configurations were designed to embody different build settings, and projects rarely need more than just `Debug` and `Release`. The need to model different environments can be achieved by using schemes:\\n\\n- **In Debug builds:** You can include all the configurations that should be accessible in development in the app (e.g. endpoints), and switch them at runtime. The switch can happen either using scheme launch environment variables, or with a UI within the app.\\n- **In Release builds:** In case of release, you can only include the configuration that the release build is bound to, and not include the runtime logic for switching configurations by using compiler directives.\\n\",\"title\":\"ベストプラクティス\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/best-practices\",\"LLMS_URL\":\"/ja/guides/features/projects/best-practices.md\",\"title\":\"ベストプラクティス\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Tuist プロジェクトと Xcode プロジェクトのベストプラクティスについて学ぶ\"}},{\"path\":\"/ja/guides/features/projects/code-sharing.md\",\"url\":\"/ja/guides/features/projects/code-sharing\",\"llmUrl\":\"/ja/guides/features/projects/code-sharing.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/code-sharing\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/code-sharing.md\\\"\\ntitle: \\\"Code sharing\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to share code across manifest files to reduce duplications and ensure consistency\\\"\\n---\\n\\n# Code sharing {#code-sharing}\\n\\nOne of the inconveniences of Xcode when we use it with large projects is that it doesn't allow reusing elements of the projects other than the build settings through `.xcconfig` files. Being able to reuse project definitions is useful for the following reasons:\\n\\n- It eases the **maintenance** because changes can be applied in one place and all the projects get the changes automatically.\\n- It makes it possible to define **conventions** that new projects can conform to.\\n- Projects are more **consistent** and therefore the likelihood of broken builds due inconsistencies is significantly less.\\n- Adding a new projects becomes an easy task because we can reuse the existing logic.\\n\\nReusing code across manifest files is possible in Tuist thanks to the concept of **project description helpers**.\\n\\n> [!TIP] A TUIST UNIQUE ASSET\\n> Many organizations like Tuist because they see in project description helpers a platform for platform teams to codify their own conventions and come up with their own language for describing their projects. For example, YAML-based project generators have to come up with their own YAML-based propietary templating solution, or force organizations onto building their tools upon.\\n\\n## Project description helpers {#project-description-helpers}\\n\\nProject description helpers are Swift files that get compiled into a module, `ProjectDescriptionHelpers`, that manifest files can import. The module is compiled by gathering all the files in the `Tuist/ProjectDescriptionHelpers` directory.\\n\\nYou can import them into your manifest file by adding an import statement at the top of the file:\\n\\n```swift\\n// Project.swift\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n```\\n\\n`ProjectDescriptionHelpers` are available in the following manifests:\\n\\n- `Project.swift`\\n- `Package.swift` (only behind the `#TUIST` compiler flag)\\n- `Workspace.swift`\\n\\n## Example {#example}\\n\\nThe snippets below contain an example of how we extend the `Project` model to add static constructors and how we use them from a `Project.swift` file:\\n\\n::: code-group\\n\\n```swift [Tuist/Project+Templates.swift]\\nimport ProjectDescription\\n\\nextension Project {\\n public static func featureFramework(name: String, dependencies: [TargetDependency] = []) -> Project {\\n return Project(\\n name: name,\\n targets: [\\n .target(\\n name: name,\\n destinations: .iOS,\\n product: .framework,\\n bundleId: \\\"io.tuist.\\\\(name)\\\",\\n infoPlist: \\\"\\\\(name).plist\\\",\\n sources: [\\\"Sources/\\\\(name)/**\\\"],\\n resources: [\\\"Resources/\\\\(name)/**\\\",],\\n dependencies: dependencies\\n ),\\n .target(\\n name: \\\"\\\\(name)Tests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.\\\\(name)Tests\\\",\\n infoPlist: \\\"\\\\(name)Tests.plist\\\",\\n sources: [\\\"Sources/\\\\(name)Tests/**\\\"],\\n resources: [\\\"Resources/\\\\(name)Tests/**\\\",],\\n dependencies: [.target(name: name)]\\n )\\n ]\\n )\\n }\\n}\\n```\\n\\n```swift {2} [Project.swift]\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n\\nlet project = Project.featureFramework(name: \\\"MyFeature\\\")\\n```\\n\\n:::\\n\\n> [!TIP] A TOOL TO ESTABLISH CONVENTIONS\\n> Note how through the function we are defining conventions about the name of the targets, the bundle identifier, and the folders structure.\\n\",\"title\":\"Code sharing\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/code-sharing\",\"LLMS_URL\":\"/ja/guides/features/projects/code-sharing.md\",\"title\":\"Code sharing\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to share code across manifest files to reduce duplications and ensure consistency\"}},{\"path\":\"/ja/guides/features/projects/cost-of-convenience.md\",\"url\":\"/ja/guides/features/projects/cost-of-convenience\",\"llmUrl\":\"/ja/guides/features/projects/cost-of-convenience.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/cost-of-convenience\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/cost-of-convenience.md\\\"\\ntitle: \\\"The cost of convenience\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about the cost of convenience in Xcode and how Tuist helps you prevent the issues that come with it.\\\"\\n---\\n\\n# The cost of convenience {#the-cost-of-convenience}\\n\\nDesigning a code editor that the spectrum **from small to large-scale projects can use** is a challenging task.\\nMany tools approach the problem by layering their solution and providing extensibility. The bottom-most layer is very low-level and close to the underlying build system, and the top-most layer is a high-level abstraction that's convenient to use but less flexible.\\nBy doing so, they make the simple things easy, and everything else possible.\\n\\nHowever,\\n**[Apple](https://www.apple.com) decided to take a different approach with Xcode**.\\nThe reason is unknown, but it's likely that optimizing for the challenges of large-scale projects has never been their goal.\\nThey overinvested in convenience for small projects,\\nprovided little flexibility,\\nand strongly coupled the tools with the underlying build system.\\nTo achieve the convenience, they provide sensible defaults, which you can easily replace,\\nand added a lot of implicit build-time-resolved behaviors that are the culprit of many issues at scale.\\n\\n## Explicitness and scale {#explicitness-and-scale}\\n\\nWhen working at scale, **explicitness is key**.\\nIt allows the build system to analyze and understand the project structure and dependencies ahead of time,\\nand perform optimizations that would be impossible otherwise.\\nThe same explicitness is also key in ensuring that editor features such as [SwiftUI previews](https://developer.apple.com/documentation/swiftui/previews-in-xcode) or [Swift Macros](https://docs.swift.org/swift-book/documentation/the-swift-programming-language/macros/) work reliably and predictably.\\nBecause Xcode and Xcode projects embraced implicitness as a valid design choice to achieve convenience,\\na principle that the Swift Package Manager has inherited,\\nthe difficulties of using Xcode are also present in the Swift Package Manager.\\n\\n> [!INFO] THE ROLE OF TUIST\\n> We could summarize Tuist's role as a tool that prevents implicitly-defined projects and leverages explicitness to provide a better developer experience (e.g. validations, optimizations). Tools like [Bazel](https://bazel.build) take it further by bringing it down to the build system level.\\n\\nThis is an issue that's barely discussed in the community, but it's a significant one.\\nWhile working on Tuist,\\nwe've noticed many organizations and developers thinking that the current challenges they face will be addressed by the [Swift Package Manager](https://www.swift.org/documentation/package-manager/),\\nbut what they don't realize is that because it's building on the same principles,\\neven though it mitigates the so well-known Git conflicts,\\nthey degrade the developer experience in other areas and continue to make the projects non-optimizable.\\n\\nIn the following sections, we'll discuss some real examples of how implicitness affects the developer experience and the project's health. The list is not exhaustive, but it should give you a good idea of the challenges that you might face when working with Xcode projects or Swift Packages.\\n\\n## Convenience getting in your way {#convenience-getting-in-your-way}\\n\\n### Shared built products directory {#shared-built-products-directory}\\n\\nXcode uses a directory inside the derived data directory for each product.\\nInside it, it stores the build artifacts, such as the compiled binaries, the dSYM files, and the logs.\\nBecause all the products of a project go into the same directory,\\nwhich is visible by default from other targets to link against,\\n**you might end up with targets that implicitly depend on each other.**\\nWhile this might not be a problem when having just a few targets,\\nit might manifest as failing builds that are hard to debug when the project grows.\\n\\nThe consequence of this design decision is that many projects acidentally compile with a graph that is not well-defined.\\n\\n> [!TIP] TUIST DETECTION OF IMPLICIT DEPENDENCIES\\n> Tuist provides a command to detect implicit dependencies. You can use the command to validate in CI that all your dependencies are explicit.\\n\\n### Find implicit dependencies in schemes {#find-implicit-dependencies-in-schemes}\\n\\nDefining and maintaining a dependency graph in Xcode gets harder as the project grows.\\nIt's hard because they are codified in the `.pbxproj` files as build phases and build settings,\\nthere are no tools to visualize and work with the graph,\\nand the changes in the graph (e.g. adding a new dynamic precompiled framework),\\nmight require configuration changes upstream (e.g. adding a new build phase to copy the framework into the bundle).\\n\\nApple decided at some point that instead of evolving the graph model into something more manageable,\\nit'd make more sense to add an option to resolve implicit dependencies at build time.\\nThis is once again a questionable design choice because you might end up with slower build times or unpredictable builds.\\nFor example, a build might pass locally due to some state in derive data,\\nwhich acts as a [singleton](https://en.wikipedia.org/wiki/Singleton_pattern),\\nbut then fail to compile on CI because the state is different.\\n\\n> [!TIP]\\n> We recommend disabling this in your project schemes, and use like Tuist that eases the management of the dependency graph.\\n\\n### SwiftUI Previews and static libraries/frameworks {#swiftui-previews-and-static-librariesframeworks}\\n\\nSome editor features like SwiftUI Previews or Swift Macros require the compilation of the dependency graph from the file that's being edited. This integration between the editor requires that the build system resolves any implicitness and output the right artifacts that are necessary for those features to work. As you can imagine, **the more implicit the graph is, the more challenging the task is for the build system**, and therefore it's not surprising that many of these features don't work reliably. We often hear from developers that they stopped using SwiftUI previews long time ago because they were too unreliable. Instead, they are using either example apps, or avoiding certaing things, like the usage of static libraries or script build phases, because they cause the feature to break.\\n\\n### Mergeable libraries {#mergeable-libraries}\\n\\nDynamic frameworks, while more flexible and easier to work with, have a negative impact in the launch time of apps. On the other side, static libraries are faster to launch, but impact the compilation time and are a bit harder to work with, specially in complex graph scenarios. _Wouldn't it be great if you could change between one or the other depending on the configuration?_ That's what Apple must have thought when they decided to work on mergeable libraries. But once again, they moved more build-time inference to the build-time. If reasoning about a dependency graph, imagine having to do so when the static or dynamic nature of the target will be resolved at build-time based on some build settings in some targets. Good luck making that work reliably while ensuring features like SwiftUI previews don't break.\\n\\n**Many users come to Tuist wanting to use mergeable libraries and our answer is always the same. You don't need to.** You can control the static or dynamic nature of your targets at generation-time leading to a project whose graph is known ahead of compilation. No variables need to be resolved at build-time.\\n\\n```bash\\n# The value of TUIST_DYNAMIC can be read from the project {#the-value-of-tuist_dynamic-can-be-read-from-the-project}\\n# to set the product as static or dynamic based on the value. {#to-set-the-product-as-static-or-dynamic-based-on-the-value}\\nTUIST_DYNAMIC=1 tuist generate\\n```\\n\\n## Explicit, explicit, and explicit {#explicit-explicit-and-explicit}\\n\\nIf there's an important non-written principle that we recommend every developer or organization that wants their development with Xcode to scale, is that they should embrace explicitness. And if explicitness is hard to manage with raw Xcode projects, they should consider something else, either [Tuist](https://tuist.io) or [Bazel](https://bazel.build). **Only then reliability, predicability, and optimizations will be possible.**\\n\\n## Future {#future}\\n\\nWhether Apple will do something to prevent all the above issues is unknown.\\nTheir continuous decisions embedded into Xcode and the Swift Package Manager don't suggest that they will.\\nOnce you allow implicit configuration as a valid state,\\n**it's hard to move from there without introducing breaking changes.**\\nGoing back to first principles and rethinking the design of the tools might lead to breaking many Xcode projects that accidentally compiled for years. Imagine the community uproar if that happened.\\n\\nApple finds itself in a bit of a chicken-and-egg problem.\\nConvenience is what helps developers get started quickly and build more apps for their ecosystem.\\nBut their decisions to make the experience convenience at that scale,\\nis making it hard for them to ensure some of the Xcode features work reliably.\\n\\nBecause the future is unknown,\\nwe try to **be as close as possible to the industry standards and Xcode projects**.\\nWe prevent the above issues,\\nand leverage the knowledge that we have to provide a better developer experience.\\nIdeally we wouldn't have to resort to project generation for that,\\nbut the lack of extensibility of Xcode and the Swift Package Manager make it the only viable option.\\nAnd it's also a safe option because they'll have to break the Xcode projects to break Tuist projects.\\n\\nIdeally, **the build system was more extensible**,\\nbut wouldn't it be a bad idea to have plugins/extensions that contract with a world of implicitness?\\nIt doesn't seem like a good idea.\\nSo it seems like we'll need external tools like Tuist or [Bazel](https://bazel.build) to provide a better developer experience.\\nOr maybe Apple will surprise us all and make Xcode more extensible and explicit...\\n\\nUntil that happens, you have to choose whether you want to embrace the convencience of Xcode and take on the debt that comes with it, or trust us on this journey to provide a better developer experience.\\nWe won't disappoint you.\\n\",\"title\":\"The cost of convenience\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/cost-of-convenience\",\"LLMS_URL\":\"/ja/guides/features/projects/cost-of-convenience.md\",\"title\":\"The cost of convenience\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about the cost of convenience in Xcode and how Tuist helps you prevent the issues that come with it.\"}},{\"path\":\"/ja/guides/features/projects/dependencies.md\",\"url\":\"/ja/guides/features/projects/dependencies\",\"llmUrl\":\"/ja/guides/features/projects/dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/dependencies\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/dependencies.md\\\"\\ntitle: \\\"Dependencies\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to declare dependencies in your Tuist project.\\\"\\n---\\n\\n# Dependencies {#dependencies}\\n\\nWhen a project grows, it's common to split it into multiple targets to share code, define boundaries, and improve build times.\\nMultiple targets means defining dependencies between them forming a **dependency graph**, which might include external dependencies as well.\\n\\n## XcodeProj-codified graphs {#xcodeprojcodified-graphs}\\n\\nDue to Xcode and XcodeProj's design,\\nthe maintenance of a dependency graph can be a tedious and error-prone task.\\nHere are some examples of the problems that you might encounter:\\n\\n- Because Xcode's build system outputs all the project's products into the same directory in derived data, targets might be able to import products that they shouldn't. Compilations might fail on CI, where clean builds are more common, or later on when a different configuration is used.\\n- The transitive dynamic dependencies of a target need to be copied into any of the directories that are part of the `LD_RUNPATH_SEARCH_PATHS` build setting. If they aren't, the target won't be able to find them at runtime. This is easy to think about and set up when the graph is small, but it becomes a problem as the graph grows.\\n- When a target links a static [XCFramework](https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle), the target needs an additional build phase for Xcode to process the bundle and extract the right binary for the current platform and architecture. This build phase is not added automatically, and it's easy to forget to add it.\\n\\nThe above are just a few examples, but there are many more that we've encountered over the years.\\nImagine if you required a team of engineers to maintain a dependency graph and ensure its validity.\\nOr even worse,\\nthat the intricacies were resolved at build-time by a closed-source build system that you can't control or customize.\\nSounds familiar? This is the approach that Apple took with Xcode and XcodeProj and that the Swift Package Manager has inherited.\\n\\nWe strongly believe that the dependency graph should be **explicit** and **static** because only then can it be **validated** and **optimized**.\\nWith Tuist, you focus on describing what depends on what, and we take care of the rest.\\nThe intricacies and implementation details are abstracted away from you.\\n\\nIn the following sections you'll learn how to declare dependencies in your project.\\n\\n> [!TIP] GRAPH VALIDATION\\n> Tuist validates the graph when generating the project to ensure that there are no cycles and that all the dependencies are valid. Thanks to this, any team can take part in evolving the dependency graph without worrying about breaking it.\\n\\n## Local dependencies {#local-dependencies}\\n\\nTargets can depend on other targets in the same and different projects, and on binaries.\\nWhen instantiating a `Target`, you can pass the `dependencies` argument with any of the following options:\\n\\n- `Target`: Declares a dependency with a target within the same project.\\n- `Project`: Declares a dependency with a target in a different project.\\n- `Framework`: Declares a dependency with a binary framework.\\n- `Library`: Declares a dependency with a binary library.\\n- `XCFramework`: Declares a dependency with a binary XCFramework.\\n- `SDK`: Declares a dependency with a system SDK.\\n- `XCTest`: Declares a dependency with XCTest.\\n\\n> [!NOTE] DEPENDENCY CONDITIONS\\n> Every dependency type accepts a `condition` option to conditionally link the dependency based on the platform. By default, it links the dependency for all platforms the target supports.\\n\\n## External dependencies {#external-dependencies}\\n\\nTuist also allows you to declare external dependencies in your project.\\n\\n### Swift Packages {#swift-packages}\\n\\nSwift Packages are our recommended way of declaring dependencies in your project.\\nYou can integrate them using Xcode's default integration mechanism or using Tuist's XcodeProj-based integration.\\n\\n#### Tuist's XcodeProj-based integration {#tuists-xcodeprojbased-integration}\\n\\nXcode's default integration while being the most convenient one,\\nlacks flexibility and control that's required for medium and large projects.\\nTo overcome this, Tuist offers an XcodeProj-based integration that allows you to integrate Swift Packages in your project using XcodeProj's targets.\\nThanks to that, we can not only give you more control over the integration but also make it compatible with workflows like caching and selective test runs.\\n\\nXcodeProj's integration is more likely to take more time to support new Swift Package features or handle more package configurations. However, the mapping logic between Swift Packages and XcodeProj targets is open-source and can be contributed to by the community. This is contrary to Xcode's default integration, which is closed-source and maintained by Apple.\\n\\nTo add external dependencies, you'll have to create a `Package.swift` either under `Tuist/` or at the root of the project.\\n\\n::: code-group\\n\\n```swift [Tuist/Package.swift]\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n import ProjectDescriptionHelpers\\n\\n let packageSettings = PackageSettings(\\n productTypes: [\\n \\\"Alamofire\\\": .framework, // default is .staticFramework\\n ]\\n )\\n\\n#endif\\n\\nlet package = Package(\\n name: \\\"PackageName\\\",\\n dependencies: [\\n .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n ],\\n targets: [\\n .binaryTarget(\\n name: \\\"Sentry\\\",\\n url: \\\"https://github.com/getsentry/sentry-cocoa/releases/download/8.40.1/Sentry.xcframework.zip\\\",\\n checksum: \\\"db928e6fdc30de1aa97200576d86d467880df710cf5eeb76af23997968d7b2c7\\\"\\n ),\\n ]\\n)\\n```\\n\\n:::\\n\\n> [!TIP] PACKAGE SETTINGS\\n> The `PackageSettings` instance wrapped in a compiler directive allows you to configure how packages are integrated. For example, in the example above it's used to override the default product type used for packages. By default, you shouldn't need it.\\n\\nThe `Package.swift` file is just an interface to declare external dependencies, nothing else. That's why you don't define any targets or products in the package. Once you have the dependencies defined, you can run the following command to resolve and pull the dependencies into the `Tuist/Dependencies` directory:\\n\\n```bash\\ntuist install\\n# Resolving and fetching dependencies. {#resolving-and-fetching-dependencies}\\n# Installing Swift Package Manager dependencies. {#installing-swift-package-manager-dependencies}\\n```\\n\\nAs you might have noticed, we take an approach similar to [CocoaPods](https://cocoapods.org)', where the resolution of dependencies is its own command. This gives control to the users over when they'd like dependencies to be resolved and updated, and allows opening the Xcode in project and have it ready to compile. This is an area where we believe the developer experience provided by Apple's integration with the Swift Package Manager degrades over time as the project grows.\\n\\nFrom your project targets you can then reference those dependencies using the `TargetDependency.external` dependency type:\\n\\n::: code-group\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"App\\\",\\n organizationName: \\\"tuist.io\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: [.iPhone],\\n product: .app,\\n bundleId: \\\"io.tuist.app\\\",\\n deploymentTargets: .iOS(\\\"13.0\\\"),\\n infoPlist: .default,\\n sources: [\\\"Targets/App/Sources/**\\\"],\\n dependencies: [\\n .external(name: \\\"Alamofire\\\"), // [!code ++]\\n ]\\n ),\\n ]\\n)\\n```\\n\\n:::\\n\\n> [!NOTE] NO SCHEMES GENERATED FOR EXTERNAL PACKAGES\\n> The **schemes** are not automatically created for Swift Package projects to keep the schemes list clean. You can create them via Xcode's UI.\\n\\n#### Xcode's default integration {#xcodes-default-integration}\\n\\nIf you want to use Xcode's default integration mechanism, you can pass the list `packages` when instantiating a project:\\n\\n```swift\\nlet project = Project(name: \\\"MyProject\\\", packages: [\\n .remote(url: \\\"https://github.com/krzyzanowskim/CryptoSwift\\\", requirement: .exact(\\\"1.8.0\\\"))\\n])\\n```\\n\\nAnd then reference them from your targets:\\n\\n```swift\\nlet target = .target(name: \\\"MyTarget\\\", dependencies: [\\n .package(product: \\\"CryptoSwift\\\", type: .runtime)\\n])\\n```\\n\\nFor Swift Macros and Build Tool Plugins, you'll need to use the types `.macro` and `.plugin` respectively.\\n\\n> [!WARNING] SPM Build Tool Plugins\\n> SPM build tool plugins must be declared using [Xcode's default integration](#xcode-s-default-integration) mechanism, even when using Tuist's [XcodeProj-based integration](#tuist-s-xcodeproj-based-integration) for your project dependencies.\\n\\nA practical application of an SPM build tool plugin is performing code linting during Xcode's \\\"Run Build Tool Plug-ins\\\" build phase. In a package manifest this is defined as follows:\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\nlet package = Package(\\n name: \\\"Framework\\\",\\n products: [\\n .library(name: \\\"Framework\\\", targets: [\\\"Framework\\\"]),\\n ],\\n dependencies: [\\n .package(url: \\\"https://github.com/SimplyDanny/SwiftLintPlugins\\\", .upToNextMajor(from: \\\"0.56.1\\\")),\\n ],\\n targets: [\\n .target(\\n name: \\\"Framework\\\",\\n plugins: [\\n .plugin(name: \\\"SwiftLint\\\", package: \\\"SwiftLintPlugin\\\"),\\n ]\\n ),\\n ]\\n)\\n```\\n\\nTo generate an Xcode project with the build tool plugin intact, you must declare the package in the project manifest's `packages` array, and then include a package with type `.plugin` in a target's dependencies.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"Framework\\\",\\n packages: [\\n .remote(url: \\\"https://github.com/SimplyDanny/SwiftLintPlugins\\\", requirement: .upToNextMajor(from: \\\"0.56.1\\\")),\\n ],\\n targets: [\\n .target(\\n name: \\\"Framework\\\",\\n dependencies: [\\n .package(product: \\\"SwiftLintBuildToolPlugin\\\", type: .plugin),\\n ]\\n ),\\n ]\\n)\\n```\\n\\n### Carthage {#carthage}\\n\\nSince [Carthage](https://github.com/carthage/carthage) outputs `frameworks` or `xcframeworks`, you can run `carthage update` to output the dependencies in the `Carthage/Build` directory and then use the `.framework` or `.xcframework` target dependency type to declare the dependency in your target. You can wrap this in a script that you can run before generating the project.\\n\\n```bash\\n#!/usr/bin/env bash\\n\\ncarthage update\\ntuist generate\\n```\\n\\n> [!WARNING] BUILD AND TEST\\n> If you build and test your project through `tuist build` and `tuist test`, you will similarly need to ensure that the Carthage-resolved dependencies are present by running the `carthage update` command before `tuist build` or `tuist test` are run.\\n\\n### CocoaPods {#cocoapods}\\n\\n[CocoaPods](https://cocoapods.org) expects an Xcode project to integrate the dependencies. You can use Tuist to generate the project, and then run `pod install` to integrate the dependencies by creating a workspace that contains your project and the Pods dependencies. You can wrap this in a script that you can run before generating the project.\\n\\n```bash\\n#!/usr/bin/env bash\\n\\ntuist generate\\npod install\\n```\\n\\n> [!WARNING]\\n> CocoaPods dependencies are not compatible with workflows like `build` or `test` that run `xcodebuild` right after generating the project. They are also incompatible with binary caching and selective testing since the fingerprinting logic doesn't account for the Pods dependencies.\\n\\n## Static or dynamic {#static-or-dynamic}\\n\\nFrameworks and libraries can be linked either statically or dynamically, **a choice that has significant implications for aspects like app size and boot time**. Despite its importance, this decision is often made without much consideration.\\n\\nThe **general rule of thumb** is that you want as many things as possible to be statically linked in release builds to achieve fast boot times, and as many things as possible to be dynamically linked in debug builds to achieve fast iteration times.\\n\\nThe challenge with changing between static and dynamic linking in a project graph is that is not trivial in Xcode because a change has cascading effect on the entire graph (e.g. libraries can't contain resources, static frameworks don't need to be embedded). Apple tried to solve the problem with compile time solutions like Swift Package Manager's automatic decision between static and dynamic linking, or [Mergeable Libraries](https://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries). However, this adds new dynamic variables to the compilation graph, adding new sources of non-determinism, and potentially causing some features like Swift Previews that rely on the compilation graph to become unreliable.\\n\\nLuckily, Tuist conceptually compresses the complexity associated with changing between static and dynamic and synthesizes bundle accessors that are standard across linking types. In combination with dynamic configurations via environment variables, you can pass the linking type at invocation time, and use the value in your manifests to set the product type of your targets.\\n\\n```swift\\n// Use the value returned by this function to set the product type of your targets.\\nfunc productType() -> Product {\\n if case let .string(linking) = Environment.linking {\\n return linking == \\\"static\\\" ? .staticFramework : .framework\\n } else {\\n return .framework\\n }\\n}\\n```\\n\\nNote that Tuist does not default to convenience through implicit configuration due to its costs. What this means is that we rely on you setting the linking type and any additional build settings that are sometimes required, like the [`-ObjC` linker flag](https://github.com/pointfreeco/swift-composable-architecture/discussions/1657#discussioncomment-4119184), to ensure the resulting binaries are correct. Therefore, the stance that we take is providing you with the resources, usually in the shape of documentation, to make the right decisions.\\n\\n> [!TIP] EXAMPLE: COMPOSABLE ARCHITECTURE\\n> A Swift Package that many projects integrate is [Composable Architecture](https://github.com/pointfreeco/swift-composable-architecture). As described [here](https://github.com/pointfreeco/swift-composable-architecture/discussions/1657#discussioncomment-4119184) and the [troubleshooting section](#troubleshooting), you'll need to set the `OTHER_LDFLAGS` build setting to `$(inherited) -ObjC` when linking the packages statically, which is Tuist's default linking type. Alternatively, you can override the product type for the package to be dynamic.\\n\\n### Scenarios {#scenarios}\\n\\nThere are some scenarios where setting the linking entirely to static or dynamic is not feasible or a good idea. The following is a non-exhaustive list of scenarios where you might need to mix static and dynamic linking:\\n\\n- **Apps with extensions:** Since apps and their extensions need to share code, you might need to make those targets dynamic. Otherwise, you'll end up with the same code duplicated in both the app and the extension, causing the binary size to increase.\\n- **Pre-compiled external dependencies:** Sometimes you are provided with pre-compiled binaries that are either static or dynamic. Static binaries can be wrapped in dynamic frameworks or libraries to be linked dynamically.\\n\\nWhen making changes to the graph, Tuist will analyze it and display a warning if it detects a \\\"static side effect\\\". This warning is meant to help you identify issues that might arise from linking a target statically that depends transitively on a static target through dynamic targets. These side effects often manifest as increased binary size or, in the worst cases, runtime crashes.\\n\\n## Troubleshooting {#troubleshooting}\\n\\n### Objective-C Dependencies {#objectivec-dependencies}\\n\\nWhen integrating Objective-C dependencies, the inclusion of certain flags on the consuming target may be necessary to avoid runtime crashes as detailed in [Apple Technical Q&A QA1490](https://developer.apple.com/library/archive/qa/qa1490/_index.html).\\n\\nSince the build system and Tuist have no way of inferring whether the flag is necessary or not, and since the flag comes with potentially undesirable side effects, Tuist will not automatically apply any of these flags, and because Swift Package Manager considers `-ObjC` to be included via an `.unsafeFlag` most packages cannot include it as part of their default linking settings when required.\\n\\nConsumers of Objective-C dependencies (or internal Objective-C targets) should apply `-ObjC` or `-force_load` flags when required by setting `OTHER_LDFLAGS` on consuming targets.\\n\\n### Firebase & Other Google Libraries {#firebase-other-google-libraries}\\n\\nGoogle's open source libraries — while powerful — can be difficult to integrate within Tuist as they often use non-standard architecture and techniques in how they are built.\\n\\nHere are a few tips that may be necessary to follow to integrate Firebase and Google's other Apple-platform libraries:\\n\\n#### Ensure `-ObjC` is added to `OTHER_LDFLAGS` {#ensure-objc-is-added-to-other_ldflags}\\n\\nMany of Google's libraries are written in Objective-C. Because of this, any consuming target will need to include the `-ObjC` tag in its `OTHER_LDFLAGS` build setting. This can either be set in an `.xcconfig` file or manually specified in the target's settings within your Tuist manifests. An example:\\n\\n```swift\\nTarget.target(\\n ...\\n settings: .settings(\\n base: [\\\"OTHER_LDFLAGS\\\": \\\"$(inherited) -ObjC\\\"]\\n )\\n ...\\n)\\n```\\n\\nRefer to the [Objective-C Dependencies](#objective-c-dependencies) section above for more details.\\n\\n#### Set the product type for `FBLPromises` to dynamic framework {#set-the-product-type-for-fblpromises-to-dynamic-framework}\\n\\nCertain Google libraries depend on `FBLPromises`, another of Google's libraries. You may encounter a crash that mentions `FBLPromises`, looking something like this:\\n\\n```\\nNSInvalidArgumentException. Reason: -[FBLPromise HTTPBody]: unrecognized selector sent to instance 0x600000cb2640.\\n```\\n\\nExplicitly setting the product type of `FBLPromises` to `.framework` in your `Package.swift` file should fix the issue:\\n\\n```swift [Tuist/Package.swift]\\n// swift-tools-version: 5.10\\n\\nimport PackageDescription\\n\\n#if TUIST\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n\\nlet packageSettings = PackageSettings(\\n productTypes: [\\n \\\"FBLPromises\\\": .framework,\\n ]\\n)\\n#endif\\n\\nlet package = Package(\\n...\\n```\\n\\n### Transitive static dependencies leaking through `.swiftmodule` {#transitive-static-dependencies-leaking-through-swiftmodule}\\n\\nWhen a dynamic framework or library depends on static ones through `import StaticSwiftModule`, the symbols are included in the `.swiftmodule` of the dynamic framework or library, potentially causing the compilation to fail. To prevent that, you'll have to import the static dependency using `internal import`:\\n\\n```swift\\ninternal import StaticModule\\n```\\n\\n> [!NOTE]\\n> Access level on imports was included in Swift 6. If you're using older versions of Swift, you need to use `@_implementationOnly` instead:\\n\\n```swift\\n@_implementationOnly import StaticModule\\n```\\n\",\"title\":\"Dependencies\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/dependencies\",\"LLMS_URL\":\"/ja/guides/features/projects/dependencies.md\",\"title\":\"Dependencies\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to declare dependencies in your Tuist project.\"}},{\"path\":\"/ja/guides/features/projects/directory-structure.md\",\"url\":\"/ja/guides/features/projects/directory-structure\",\"llmUrl\":\"/ja/guides/features/projects/directory-structure.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/directory-structure\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/directory-structure.md\\\"\\ntitle: \\\"Directory structure\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about the structure of Tuist projects and how to organize them.\\\"\\n---\\n\\n# Directory structure {#directory-structure}\\n\\nAlthough Tuist projects are commonly used to supersede Xcode projects, they are not limited to this use case. Tuist projects are also used to generate other types of projects, such as SPM packages, templates, plugins, and tasks. This document describes the structure of Tuist projects and how to organize them. In later sections, we'll cover how to define templates, plugins, and tasks.\\n\\n## Standard Tuist projects {#standard-tuist-projects}\\n\\nTuist projects are **the most common type of project generated by Tuist.** They are used to build apps, frameworks, and libraries among others. Unlike Xcode projects, Tuist projects are defined in Swift, which makes them more flexible and easier to maintain. Tuist projects are also more declarative, which makes them easier to understand and reason about. The following structure shows a typical Tuist project that generates an Xcode project:\\n\\n```bash\\nTuist.swift\\nTuist/\\n Package.swift\\n ProjectDescriptionHelpers/\\nProjects/\\n App/\\n Project.swift\\n Feature/\\n Project.swift\\nWorkspace.swift\\n```\\n\\n- **Tuist directory:** This directory has two purposes. First, it signals **where the root of the project is**. Second, it's the container for the following files: This allows constructing paths relative to the root of the project, and also running Tuist commands from any directory within the project. Second, it's the container for the following files: This allows constructing paths relative to the root of the project, and also running Tuist commands from any directory within the project.\\n - **ProjectDescriptionHelpers:** This directory contains Swift code that's shared across all the manifest files. Manifest files can `import ProjectDescriptionHelpers` to use the code defined in this directory. Sharing code is useful to avoid duplications and ensure consistency across the projects.\\n - **Package.swift:** This file contains Swift Package dependencies for Tuist to integrate them using Xcode projects and targets (like [CocoaPods](https://cococapods)) that are configurable and optimizable. Learn more here.\\n\\n- **Root directory**: The root directory of your project that also contains the `Tuist` directory.\\n - Tuist.swift: This file contains configuration for Tuist that's shared across all the projects, workspaces, and environments. For example, it can be used to disable automatic generation of schemes, or to define the deployment target of the projects.\\n - Workspace.swift: This manifest represents an Xcode workspace. It's used to group other projects and can also add additional files and schemes.\\n - Project.swift: This manifest represents an Xcode project. It's used to define the targets that are part of the project, and their dependencies.\\n\\nWhen interacting with the above project, commands expect to find either a `Workspace.swift` or a `Project.swift` file in the working directory or the directory indicated via the `--path` flag. The manifest should be in a directory or subdirectory of a directory containing a `Tuist` directory, which represents the root of the project.\\n\\n> [!TIP]\\n> Xcode workspaces allowed splitting projects into multiple Xcode projects to reduce the likelihood of merge conflicts. If that's what you were using workspaces for, you don't need them in Tuist. Tuist auto-generates a workspace containing a project and its dependencies' projects.\\n\\n## Swift Package {#swift-package-badge-typewarning-textbeta-}\\n\\nTuist also supports SPM package projects. If you are working on an SPM package, you shouldn't need to update anything. Tuist automatically picks up on your root `Package.swift` and all the features of Tuist work as if it was a `Project.swift` manifest.\\n\\nTo get started, run `tuist install` and `tuist generate` in your SPM package. Your project should now have all the same schemes and files that you would see in the vanilla Xcode SPM integration. However, now you can also run `tuist cache` and have majority of your SPM dependencies and modules precompiled, making subsequent builds extremely fast.\\n\",\"title\":\"Directory structure\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/directory-structure\",\"LLMS_URL\":\"/ja/guides/features/projects/directory-structure.md\",\"title\":\"Directory structure\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about the structure of Tuist projects and how to organize them.\"}},{\"path\":\"/ja/guides/features/projects/dynamic-configuration.md\",\"url\":\"/ja/guides/features/projects/dynamic-configuration\",\"llmUrl\":\"/ja/guides/features/projects/dynamic-configuration.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/dynamic-configuration\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/dynamic-configuration.md\\\"\\ntitle: \\\"Dynamic configuration\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how how to use environment variables to dynamically configure your project.\\\"\\n---\\n\\n# Dynamic configuration {#dynamic-configuration}\\n\\nThere are certain scenarios where you might need to dynamically configure your project at generation time. For example, you might want to change the name of the app, the bundle identifier, or the deployment target based on the environment where the project is being generated. Tuist supports that via environment variables, which can be accessed from the manifest files.\\n\\n## Configuration through environment variables {#configuration-through-environment-variables}\\n\\nTuist allows passing configuration through environment variables that can be accessed from the manifest files. For example:\\n\\n```bash\\nTUIST_APP_NAME=MyApp tuist generate\\n```\\n\\nIf you want to pass multiple environment variables just separate them with a space. For example:\\n\\n```bash\\nTUIST_APP_NAME=MyApp TUIST_APP_LOCALE=pl tuist generate\\n```\\n\\n## Reading the environment variables from manifests {#reading-the-environment-variables-from-manifests}\\n\\nVariables can be accessed using the `Environment` type. Any variables following the convention `TUIST_XXX` defined in the environment or passed to Tuist when running commands will be accessible using the `Environment` type. The following example shows how we access the `TUIST_APP_NAME` variable:\\n\\n```swift\\nfunc appName() -> String {\\n if case let .string(environmentAppName) = Environment.appName {\\n return environmentAppName\\n } else {\\n return \\\"MyApp\\\"\\n }\\n}\\n```\\n\\nAccessing variables returns an instance of type `Environment.Value?` which can take any of the following values:\\n\\n| Case | Description |\\n| ----------------- | ----------------------------------------------------------- |\\n| `.string(String)` | Used when the variable represents a string. |\\n\\nYou can also retrieve the string or boolean `Environment` variable using either of the helper methods defined below, these methods require a default value to be passed to ensure the user gets consistent results each time. This avoids the need to define the function appName() defined above.\\n\\n::: code-group\\n\\n```swift [String]\\nEnvironment.appName.getString(default: \\\"TuistServer\\\")\\n```\\n\\n```swift [Boolean]\\nEnvironment.isCI.getBoolean(default: false)\\n```\\n\\n:::\\n\",\"title\":\"Dynamic configuration\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/dynamic-configuration\",\"LLMS_URL\":\"/ja/guides/features/projects/dynamic-configuration.md\",\"title\":\"Dynamic configuration\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how how to use environment variables to dynamically configure your project.\"}},{\"path\":\"/ja/guides/features/projects/editing.md\",\"url\":\"/ja/guides/features/projects/editing\",\"llmUrl\":\"/ja/guides/features/projects/editing.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/editing\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/editing.md\\\"\\ntitle: \\\"Editing\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist's edit workflow to declare your project leveraging Xcode's build system and editor capabilities.\\\"\\n---\\n\\n# Editing {#editing}\\n\\nUnlike traditional Xcode projects or Swift Packages,\\nwhere changes are done through Xcode's UI,\\nTuist-managed projects are defined in Swift code contained in **manifest files**.\\nIf you're familiar with Swift Packages and the `Package.swift` file,\\nthe approach is very similar.\\n\\nYou could edit these files using any text editor,\\nbut we recommend to use Tuist-provided workflow for that,\\n`tuist edit`.\\nThe workflow creates an Xcode project that contains all manifest files and allows you to edit and compile them.\\nThanks to using Xcode,\\nyou get all the benefits of **code completion, syntax highlighting, and error checking**.\\n\\n## プロジェクトの編集 {#edit-the-project}\\n\\nTo edit your project, you can run the following command in a Tuist project directory or a sub-directory:\\n\\n```bash\\ntuist edit\\n```\\n\\nThe command creates an Xcode project in a global directory and opens it in Xcode.\\nThe project includes a `Manifests` directory that you can build to ensure all your manifests are valid.\\n\\n> [!INFO] GLOB-RESOLVED MANIFESTS\\n> `tuist edit` resolves the manifests to be included by using the glob `**/{Manifest}.swift` from the project's root directory (the one containing the `Tuist.swift` file). Make sure there's a valid `Tuist.swift` at the root of the project.\\n\\n## Edit and generate workflow {#edit-and-generate-workflow}\\n\\nAs you might have noticed, the editing can't be done from the generated Xcode project.\\nThat's by design to prevent the generated project from having a dependency on Tuist,\\nensuring you can move from Tuist in the future with little effort.\\n\\nWhen iterating on a project, we recommend running `tuist edit` from a terminal session to get an Xcode project to edit the project, and use another terminal session to run `tuist generate`.\\n\",\"title\":\"Editing\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/editing\",\"LLMS_URL\":\"/ja/guides/features/projects/editing.md\",\"title\":\"Editing\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to use Tuist's edit workflow to declare your project leveraging Xcode's build system and editor capabilities.\"}},{\"path\":\"/ja/guides/features/projects/hashing.md\",\"url\":\"/ja/guides/features/projects/hashing\",\"llmUrl\":\"/ja/guides/features/projects/hashing.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/hashing\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/hashing.md\\\"\\ntitle: \\\"Hashing\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about Tuist's hashing logic upon which features like binary caching and selective testing are built.\\\"\\n---\\n\\n# Hashing {#hashing}\\n\\nFeatures like caching or selective test execution require a way to determine whether a target has changed. Tuist calculates a hash for each target in the dependency graph to determine if a target has changed. The hash is calculated based on the following attributes:\\n\\n- The target's attributes (e.g., name, platform, product, etc.)\\n- The target's files\\n- The hash of the target's dependencies\\n\\n### Cache attributes {#cache-attributes}\\n\\nAdditionally, when calculating the hash for caching, we also hash the following attributes.\\n\\n#### Swift version {#swift-version}\\n\\nWe hash the Swift version obtained from running the command `/usr/bin/xcrun swift --version` to prevent compilation errors due to Swift version mismatches between the targets and the binaries.\\n\\n> [!NOTE] MODULE STABILITY\\n> Previous versions of binary caching relied on the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting to enable [module stability](https://www.swift.org/blog/library-evolution#enabling-library-evolution-support) and enable using binaries with any compiler version. However, it caused compilation issues in projects with targets that don't support module stability. Generated binaries are bound to the Swift version used to compile them, and the Swift version must match the one used to compile the project.\\n\\n#### Configuration {#configuration}\\n\\nThe idea behind the flag `-configuration` was to ensure debug binaries were not used in release builds and viceversa. However, we are still missing a mechanism to remove the other configurations from the projects to prevent them from being used.\\n\\n## Debugging {#debugging}\\n\\nIf you notice non-deterministic behaviors when using the caching across environments or invocations, it might be related to differences across the environments or a bug in the hashing logic. We recommend following these steps to debug the issue:\\n\\n1. Ensure the same [configuration](#configuration) and [Swift version](#swift-version) is used across environments.\\n2. Check if there are differences between the Xcode projects generated by two consecutive invocations of `tuist generate` or across environments. You can use the `diff` command to compare the projects. The generated projects might include **absolute paths** causing the hashing logic to be non-deterministic.\\n\\n> [!NOTE] BETTER DEBUGGING EXPERIENCE PLANNED\\n> Improving our debugging experience is in our roadmap. The print-hashes command, which lacks the context to understand the differences, will be replaced by a more user-friendly command that uses a tree-like structure to show the differences between the hashes.\\n\",\"title\":\"Hashing\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/hashing\",\"LLMS_URL\":\"/ja/guides/features/projects/hashing.md\",\"title\":\"Hashing\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about Tuist's hashing logic upon which features like binary caching and selective testing are built.\"}},{\"path\":\"/ja/guides/features/projects/inspect/implicit-dependencies.md\",\"url\":\"/ja/guides/features/projects/inspect/implicit-dependencies\",\"llmUrl\":\"/ja/guides/features/projects/inspect/implicit-dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/inspect/implicit-dependencies\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/inspect/implicit-dependencies.md\\\"\\ntitle: \\\"Implicit imports\\\"\\ntitleTemplate: \\\":title · Inspect · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist to find implicit dependencies.\\\"\\n---\\n\\n# Implicit imports {#implicit-imports}\\n\\nTo alleviate the complexity of maintaining an Xcode project graph with raw Xcode project, Apple designed the build system in a way that allows dependencies to be implicitly defined. This means that a product, for example an app, can depend on a framework, even without declaring the dependency explicitly. At a small scale, this is is fine, but as the project graph grows in complexity, the implicitness might manifest as unreliable incremental builds or editor-based features such as previews or code completion.\\n\\nThe problem is that you can't prevent implicit dependencies from happening. Any developer can add an `import` statement to their Swift code, and the implicit dependency will be created. This is where Tuist comes in. Tuist provides a command to inspect the implicit dependencies by statically analyzing the code in your project. The following command will output the implicit dependencies of your project:\\n\\n```bash\\ntuist inspect implicit-imports\\n```\\n\\nIf the command detects any implicit imports, it exits with an exit code other than zero.\\n\\n> [!TIP] VALIDATE IN CI\\n> We strongly recommend to run this command as part of your continuous integration command every time new code is pushed upstream.\\n\\n> [!IMPORTANT] NOT ALL IMPLICIT CASES ARE DETECTED\\n> Since Tuist relies on static code analysis to detect implicit dependencies, it might not catch all cases. For example, Tuist is unable to understand conditional imports through compiler directives in code.\\n\",\"title\":\"Implicit imports\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/inspect/implicit-dependencies\",\"LLMS_URL\":\"/ja/guides/features/projects/inspect/implicit-dependencies.md\",\"title\":\"Implicit imports\",\"titleTemplate\":\":title · Inspect · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to use Tuist to find implicit dependencies.\"}},{\"path\":\"/ja/guides/features/projects/manifests.md\",\"url\":\"/ja/guides/features/projects/manifests\",\"llmUrl\":\"/ja/guides/features/projects/manifests.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/manifests\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/manifests.md\\\"\\ntitle: \\\"Manifests\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about the manifest files that Tuist uses to define projects and workspaces and configure the generation process.\\\"\\n---\\n\\n# Manifests {#manifests}\\n\\nTuist defaults to Swift files as the primary way to define projects and workspaces and configure the generation process. These files are referred to as **manifest files** throughout the documentation.\\n\\nThe decision of using Swift was inspired by the [Swift Package Manager](https://www.swift.org/documentation/package-manager/), which also uses Swift files to define packages. Thanks to the usage of Swift, we can leverage the compiler to validate the correctness of the content and reuse code across different manifest files, and Xcode to provide a first-class editing experience thanks to the syntax highlighting, auto-completion, and validation.\\n\\n> [!NOTE] CACHING\\n> Since manifest files are Swift files that need to be compiled, Tuist caches the compilation results to speed up the parsing process. Therefore, you'll notice that the first time you run Tuist, it might take a bit longer to generate the project. Subsequent runs will be faster.\\n\\n## Project.swift {#projectswift}\\n\\nThe `Project.swift` manifest declares an Xcode project. The project gets generated in the same directory where the manifest file is located with the name indicated in the `name` property.\\n\\n```swift\\n// Project.swift\\nlet project = Project(\\n name: \\\"App\\\",\\n targets: [\\n // ....\\n ]\\n)\\n```\\n\\n> [!WARNING] ROOT VARIABLES\\n> The only variable that should be at the root of the manifest is `let project = Project(...)`. If you need to reuse code across various parts of the manifest, you can use Swift functions.\\n\\n## Workspace.swift {#workspaceswift}\\n\\nBy default, Tuist generates an [Xcode Workspace](https://developer.apple.com/documentation/xcode/projects-and-workspaces) containing the project being generated and the projects of its dependencies. If for any reason you'd like to customize the workspace to add additional projects or include files and groups, you can do so by defining a `Workspace.swift` manifest.\\n\\n```swift\\n// Workspace.swift\\nimport ProjectDescription\\n\\nlet workspace = Workspace(\\n name: \\\"App-Workspace\\\",\\n projects: [\\n \\\"./App\\\", // Path to directory containing the Project.swift file\\n ]\\n)\\n```\\n\\n> [!NOTE]\\n> Tuist will resolve the dependency graph and include the projects of the dependencies in the workspace. You don't need to include them manually. This is necessary for the build system to resolve the dependencies correctly.\\n\\n### Multi or mono-project {#multi-or-monoproject}\\n\\nA question that often comes up is whether to use a single project or multiple projects in a workspace. In a world without Tuist where a mono-project setup would lead to frequent Git conflicts the usage of workspaces is encouraged. However, since we don't recommend including the Tuist-generated Xcode projects in the Git repository, Git conflicts are not an issue. Therefore, the decision of using a single project or multiple projects in a workspace is up to you.\\n\\nIn the Tuist project we lean on mono-projects because the cold generation time is faster (fewer manifest files to compile) and we leverage project description helpers as a unit of encapsulation. However, you might want to use Xcode projects as a unit of encapsulation to represent different domains of your application, which aligns more closely with the Xcode's recommended project structure.\\n\\n## Tuist.swift {#tuistswift}\\n\\nTuist provides sensible defaults to simplify project configuration. However, you can customize the configuration by defining a `Tuist.swift` at the root of the project, which is used by Tuist to determine the root of the project.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(\\n project: .tuist(generationOptions: .options(enforceExplicitDependencies: true))\\n)\\n```\\n\",\"title\":\"Manifests\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/manifests\",\"LLMS_URL\":\"/ja/guides/features/projects/manifests.md\",\"title\":\"Manifests\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about the manifest files that Tuist uses to define projects and workspaces and configure the generation process.\"}},{\"path\":\"/ja/guides/features/projects/plugins.md\",\"url\":\"/ja/guides/features/projects/plugins\",\"llmUrl\":\"/ja/guides/features/projects/plugins.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/plugins\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/plugins.md\\\"\\ntitle: \\\"Plugins\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to create and use plugins in Tuist to extend its functionality.\\\"\\n---\\n\\n# Plugins {#plugins}\\n\\nPlugins are a tool to share and reuse Tuist artifacts across multiple projects. The following artifacts are supported:\\n\\n- Project description helpers across multiple projects.\\n- Templates across multiple projects.\\n- Tasks across multiple projects.\\n- Resource accessor template across multiple projects\\n\\nNote that plugins are designed to be a simple way to extend Tuist's functionality. Therefore there are **some limitations to consider**:\\n\\n- A plugin cannot depend on another plugin.\\n- A plugin cannot depend on third-party Swift packages\\n- A plugin cannot use project description helpers from the project that uses the plugin.\\n\\nIf you need more flexibility, consider suggesting a feature for the tool or building your own solution upon Tuist's generation framework, [`TuistGenerator`](https://github.com/tuist/tuist/tree/main/Sources/TuistGenerator).\\n\\n## Plugin types {#plugin-types}\\n\\n### Project description helper plugin {#project-description-helper-plugin}\\n\\nA project description helper plugin is represented by a directory containing a `Plugin.swift` manifest file that declares the plugin's name and a `ProjectDescriptionHelpers` directory containing the helper Swift files.\\n\\n::: code-group\\n\\n```bash [Plugin.swift]\\nimport ProjectDescription\\n\\nlet plugin = Plugin(name: \\\"MyPlugin\\\")\\n```\\n\\n```bash [Directory structure]\\n.\\n├── ...\\n├── Plugin.swift\\n├── ProjectDescriptionHelpers\\n└── ...\\n```\\n\\n:::\\n\\n### Resource accessor templates plugin {#resource-accessor-templates-plugin}\\n\\nIf you need to share synthesized resource accessors you can use\\nthis type of plugin. The plugin is represented by a directory containing a `Plugin.swift` manifest file that declares the plugin's name and a `ResourceSynthesizers` directory containing the resource accessor template files.\\n\\n::: code-group\\n\\n```bash [Plugin.swift]\\nimport ProjectDescription\\n\\nlet plugin = Plugin(name: \\\"MyPlugin\\\")\\n```\\n\\n```bash [Directory structure]\\n.\\n├── ...\\n├── Plugin.swift\\n├── ResourceSynthesizers\\n├───── Strings.stencil\\n├───── Plists.stencil\\n├───── CustomTemplate.stencil\\n└── ...\\n```\\n\\n:::\\n\\nThe name of the template is the [camel case](https://en.wikipedia.org/wiki/Camel_case) version of the resource type:\\n\\n| Resource type | Template file name |\\n| ----------------- | ---------------------------------------- |\\n| Strings | Strings.stencil |\\n| Assets | Assets.stencil |\\n| Property Lists | Plists.stencil |\\n| Fonts | Fonts.stencil |\\n| Core Data | CoreData.stencil |\\n| Interface Builder | InterfaceBuilder.stencil |\\n| JSON | JSON.stencil |\\n| YAML | YAML.stencil |\\n\\nWhen defining the resource synthesizers in the project, you can specify the plugin name to use the templates from the plugin:\\n\\n```swift\\nlet project = Project(resourceSynthesizers: [.strings(plugin: \\\"MyPlugin\\\")])\\n```\\n\\n### Task plugin {#task-plugin-badge-typewarning-textdeprecated-}\\n\\n> [!WARNING] DEPRECATED\\n> Task plugins are deprecated. Check out [this blog post](https://tuist.dev/blog/2025/04/15/automation-in-swift-projects) if you are looking for an automation solution for your project.\\n\\nTasks are `$PATH`-exposed executables that are invocable through the `tuist` command if they follow the naming convention `tuist-`. In earlier versions, Tuist provided some weak conventions and tools under `tuist plugin` to `build`, `run`, `test` and `archive` tasks represented by executables in Swift Packages, but we have deprecated this feature since it increases the maintenance burden and complexity of the tool.\\n\\nIf you were using Tuist for distributing tasks, we recommend building your\\n\\n- You can continue using the `ProjectAutomation.xcframework` distributed with every Tuist release to have access to the project graph from your logic with `let graph = try Tuist.graph()`. The command uses sytem process to run the `tuist` command, and return the in-memory representation of the project graph.\\n- To distribute tasks, we recommend including the a fat binary that supports the `arm64` and `x86_64` in GitHub releases, and using [Mise](https://mise.jdx.dev) as an installation tool. To instruct Mise on how to install your tool, you'll need a plugin repository. You can use [Tuist's](https://github.com/asdf-community/asdf-tuist) as a reference.\\n- If you name your tool `tuist-{xxx}` and users can install it by running `mise install`, they can run it either invoking it directly, or through `tuist xxx`.\\n\\n> [!NOTE] THE FUTURE OF PROJECTAUTOMATION\\n> We plan to consolidate the models of `ProjectAutomation` and `XcodeGraph` into a single backward-compatible framework that exposes the entirity of the project graph to the user. Moreover, we'll extract the generation logic into a new layer, `XcodeGraph` that you can also use from your own CLI. Think of it as building your own Tuist.\\n\\n## Using plugins {#using-plugins}\\n\\nTo use a plugin, you'll have to add it to your project's `Tuist.swift` manifest file:\\n\\n```swift\\nimport ProjectDescription\\n\\n\\nlet tuist = Tuist(\\n project: .tuist(plugins: [\\n .local(path: \\\"/Plugins/MyPlugin\\\")\\n ])\\n)\\n```\\n\\nIf you want to reuse a plugin across projects that live in different repositories, you can push your plugin to a Git repository and reference it in the `Tuist.swift` file:\\n\\n```swift\\nimport ProjectDescription\\n\\n\\nlet tuist = Tuist(\\n project: .tuist(plugins: [\\n .git(url: \\\"https://url/to/plugin.git\\\", tag: \\\"1.0.0\\\"),\\n .git(url: \\\"https://url/to/plugin.git\\\", sha: \\\"e34c5ba\\\")\\n ])\\n)\\n```\\n\\nAfter adding the plugins, `tuist install` will fetch the plugins in a global cache directory.\\n\\n> [!NOTE] NO VERSION RESOLUTION\\n> As you might have noted, we don't provide version resolution for plugins. We recommend using Git tags or SHAs to ensure reproducibility.\\n\\n> [!TIP] PROJECT DESCRIPTION HELPERS PLUGINS\\n> When using a project description helpers plugin, the name of the module that contains the helpers is the name of the plugin\\n>\\n> ```swift\\n> import ProjectDescription\\n> import MyTuistPlugin\\n> let project = Project.app(name: \\\"MyCoolApp\\\", platform: .iOS)\\n> ```\\n\",\"title\":\"Plugins\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/plugins\",\"LLMS_URL\":\"/ja/guides/features/projects/plugins.md\",\"title\":\"Plugins\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to create and use plugins in Tuist to extend its functionality.\"}},{\"path\":\"/ja/guides/features/projects/synthesized-files.md\",\"url\":\"/ja/guides/features/projects/synthesized-files\",\"llmUrl\":\"/ja/guides/features/projects/synthesized-files.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/synthesized-files\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/synthesized-files.md\\\"\\ntitle: \\\"Synthesized files\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about synthesized files in Tuist projects.\\\"\\n---\\n\\n# Synthesized files {#synthesized-files}\\n\\nTuist can generate files and code at generation-time to bring some convenience to managing and working with Xcode projects. In this page you'll learn about this functionality, and how you can use it in your projects.\\n\\n## Target resources {#target-resources}\\n\\nXcode projects support adding resources to targets. However, they present teams with a few challenges, specially when working with a modular project where sources and resources are often moved around:\\n\\n- **Inconsistent runtime access**: Where the resources end up in the final product and how you access them depends on the target product. For example, if your target represents an application, the resources are copied to the application bundle. This leads to code accessing the resources that makes assumptions on the bundle structure, which is not ideal because it makes the code harder to reason about and the resources to move around.\\n- **Products that don't support resources**: There are certain products like static libraries that are not bundles and therefore don't support resources. Because of that, you either have to resort to a different product type, for example frameworks, that might add some overhead on your project or app. For example, static frameworks will be linked statically to the final product, and a build phase is required to only copy the resources to the final product. Or dynamic frameworks, where Xcode will copy both the binary and the resources into the final product, but it'll increase the startup time of your app because the framework needs to be loaded dynamically.\\n- **Prone to runtime errors**: Resources are identified by their name and extension (strings). Therefore, a typo in any of those will lead to a runtime error when trying to access the resource. This is not ideal because it's not caught at compile time and might lead to crashes in release.\\n\\nTuist solves the problems above by **synthesizing a unified interface to access bundles and resources** that abstracts away the implementation details.\\n\\n> [!IMPORTANT] RECOMMENDED\\n> Even though accessing resources through the Tuist-synthesized interface is not mandatory, we recommend it because it makes the code easier to reason about and the resources to move around.\\n\\n## Resources {#resources}\\n\\nTuist provides interfaces to declare the content of files such as `Info.plist` or entitlements in Swift.\\nThis is useful to ensure consistency across targets and projects,\\nand leverage the compiler to catch issues at compile time.\\nYou can also come up with your own abstractions to model the content and share it across targets and projects.\\n\\nWhen your project is generated,\\nTuist will synthesize the content of those files and write them into the `Derived` directory relative to the directory containing the project that defines them.\\n\\n> [!TIP] GITIGNORE THE DERIVED DIRECTORY\\n> We recommend adding the `Derived` directory to the `.gitignore` file of your project.\\n\\n## Bundle accessors {#bundle-accessors}\\n\\nTuist synthesizes an interface to access the bundle that contains the target resources.\\n\\n### Swift {#swift}\\n\\nThe target will contain an extension of the `Bundle` type that exposes the bundle:\\n\\n```swift\\nlet bundle = Bundle.module\\n```\\n\\n### Objective-C {#objectivec}\\n\\nIn Objective-C, you'll get an interface `{Target}Resources` to access the bundle:\\n\\n```objc\\nNSBundle *bundle = [MyFeatureResources bundle];\\n```\\n\\n> [!TIP] SUPPORTING RESOURCES IN LIBRARIES THROUGH BUNDLES\\n> If a target product, for example a library, doesn't support resources, Tuist will include the resources in a target of product type `bundle` ensuring that it ends up in the final product and that the interface points to the right bundle.\\n\\n## Resource accessors {#resource-accessors}\\n\\nResources are identified by their name and extension using strings. This is not ideal because it's not caught at compile time and might lead to crashes in release. To prevent that, Tuist integrates [SwiftGen](https://github.com/SwiftGen/SwiftGen) into the project generation process to synthesize an interface to access the resources. Thanks to that, you can confidently access the resources leveraging the compiler to catch any issues.\\n\\nTuist includes [templates](https://github.com/tuist/tuist/tree/main/Sources/TuistGenerator/Templates) to synthesize accessors for the following resource types by default:\\n\\n| Resource type | Synthesized file |\\n| ----------------- | ------------------------ |\\n| Images and colors | `Assets+{Target}.swift` |\\n| Strings | `Strings+{Target}.swift` |\\n| Plists | `{NameOfPlist}.swift` |\\n| Fonts | `Fonts+{Target}.swift` |\\n| Files | `Files+{Target}.swift` |\\n\\n> Note: You can disable the synthesizing of resource accessors on a per-project basis by passing the `disableSynthesizedResourceAccessors` option to the project options.\\n\\n#### Custom templates {#custom-templates}\\n\\nIf you want to provide your own templates to synthesize accessors to other resource types,\\nwhich must be supported by [SwiftGen](https://github.com/SwiftGen/SwiftGen),\\nyou can create them at `Tuist/ResourceSynthesizers/{name}.stencil`,\\nwhere the name is the camel-case version of the resource.\\n\\n| Resource | Template name |\\n| ---------------- | -------------------------- |\\n| strings | `Strings.stencil` |\\n| assets | `Assets.stencil` |\\n| plists | `Plists.stencil` |\\n| fonts | `Fonts.stencil` |\\n| coreData | `CoreData.stencil` |\\n| interfaceBuilder | `InterfaceBuilder.stencil` |\\n| json | `JSON.stencil` |\\n| yaml | `YAML.stencil` |\\n| files | `Files.stencil` |\\n\\nIf you want to configure the list of resource types to synthesize accessors for,\\nyou can use the `Project.resourceSynthesizers` property passing the list of resource synthesizers you want to use:\\n\\n```swift\\nlet project = Project(resourceSynthesizers: [.string(), .fonts()])\\n```\\n\\n> [!NOTE] REFERENCE\\n> You can check out [this fixture](https://github.com/tuist/tuist/tree/main/fixtures/ios_app_with_templates) to see an example of how to use custom templates to synthesize accessors to resources.\\n\",\"title\":\"Synthesized files\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/synthesized-files\",\"LLMS_URL\":\"/ja/guides/features/projects/synthesized-files.md\",\"title\":\"Synthesized files\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about synthesized files in Tuist projects.\"}},{\"path\":\"/ja/guides/features/projects/templates.md\",\"url\":\"/ja/guides/features/projects/templates\",\"llmUrl\":\"/ja/guides/features/projects/templates.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/templates\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/templates.md\\\"\\ntitle: \\\"Templates\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to create and use templates in Tuist to generate code in your projects.\\\"\\n---\\n\\n# Templates {#templates}\\n\\nIn projects with an established architecture, developers might want to bootstrap new components or features that are consistent with the project. With `tuist scaffold` you can generate files from a template. You can define your own templates or use the ones that are vendored with Tuist. These are some scenarios where scaffolding might be useful:\\n\\n- Create a new feature that follows a given architecture: `tuist scaffold viper --name MyFeature`.\\n- Create new projects: `tuist scaffold feature-project --name Home`\\n\\n> [!NOTE] NON-OPINIONATED\\n> Tuist is not opinionated about the content of your templates, and what you use them for. They are only required to be in a specific directory.\\n\\n## Defining a template {#defining-a-template}\\n\\nTo define templates, you can run `tuist edit` and then create a directory called `name_of_template` under `Tuist/Templates` that represents your template. So if you are creating a template called `framework`, you should create a new directory `framework` at `Tuist/Templates` with a manifest file called `framework.swift` that could look like this: To define templates, you can run `tuist edit` and then create a directory called `name_of_template` under `Tuist/Templates` that represents your template. To define templates, you can run `tuist edit` and then create a directory called `name_of_template` under `Tuist/Templates` that represents your template.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet nameAttribute: Template.Attribute = .required(\\\"name\\\")\\n\\nlet template = Template(\\n description: \\\"Custom template\\\",\\n attributes: [\\n nameAttribute,\\n .optional(\\\"platform\\\", default: \\\"ios\\\"),\\n ],\\n items: [\\n .string(\\n path: \\\"Project.swift\\\",\\n contents: \\\"My template contents of name \\\\(nameAttribute)\\\"\\n ),\\n .file(\\n path: \\\"generated/Up.swift\\\",\\n templatePath: \\\"generate.stencil\\\"\\n ),\\n .directory(\\n path: \\\"destinationFolder\\\",\\n sourcePath: \\\"sourceFolder\\\"\\n ),\\n ]\\n)\\n```\\n\\n## Using a template {#using-a-template}\\n\\nAfter defining the template, we can use it from the `scaffold` command:\\n\\n```bash\\ntuist scaffold name_of_template --name Name --platform macos\\n```\\n\\n> [!NOTE]\\n> Since platform is an optional argument, we can also call the command without the `--platform macos` argument.\\n\\nIf `.string` and `.files` don't provide enough flexibility, you can leverage the [Stencil](https://stencil.fuller.li/en/latest/) templating language via the `.file` case. Besides that, you can also use additional filters defined here.\\n\\nUsing string interpolation, `\\\\(nameAttribute)` above would resolve to `{{ name }}`. If you'd like to use Stencil filters in the template definition, you can use that interpolation manually and add any filters you like. For example, you might use `{ { name | lowercase } }` instead of `\\\\(nameAttribute)` to get the lowercased value of the name attribute.\\n\\nYou can also use `.directory` which gives the possibility to copy entire folders to a given path.\\n\\n> [!TIP] PROJECT DESCRIPTION HELPERS\\n> Templates support the use of project description helpers to reuse code across templates.\\n\",\"title\":\"Templates\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/templates\",\"LLMS_URL\":\"/ja/guides/features/projects/templates.md\",\"title\":\"Templates\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to create and use templates in Tuist to generate code in your projects.\"}},{\"path\":\"/ja/guides/features/projects/tma-architecture.md\",\"url\":\"/ja/guides/features/projects/tma-architecture\",\"llmUrl\":\"/ja/guides/features/projects/tma-architecture.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/projects/tma-architecture\\\"\\nLLMS_URL: \\\"/ja/guides/features/projects/tma-architecture.md\\\"\\ntitle: \\\"The Modular Architecture (TMA)\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn about The Modular Architecture (TMA) and how to structure your projects using it.\\\"\\n---\\n\\n# The Modular Architecture (TMA) {#the-modular-architecture-tma}\\n\\nTMA is an architectural approach to structure Apple OS applications to enable scalability, optimize build and test cycles, and ensure good practices in your team. Its core idea is to build your apps by building independent features that are interconnected using clear and concise APIs.\\n\\nThese guidelines introduce the principles of the architecture, helping you identify and organize your application features in different layers. It also introduces tips, tools, and advice if you decide to use this architecture.\\n\\n> [!INFO] µFEATURES\\n> This architecture was previously known as µFeatures. We've renamed it to The Modular Architecture (TMA) to better reflect its purpose and the principles behind it.\\n\\n## Core principle {#core-principle}\\n\\nDevelopers should be able to **build, test, and try** their features fast, independently of the main app, and while ensuring Xcode features like UI previews, code completion, and debugging work reliably.\\n\\n## What is a module {#what-is-a-module}\\n\\nA module represents an application feature and is a combination of the following five targets (where target referts to an Xcode target):\\n\\n- **Source:** Contains the feature source code (Swift, Objective-C, C++, JavaScript...) and its resources (images, fonts, storyboards, xibs).\\n- **Interface:** It's a companion target that contains the public interface and models of the feature.\\n- **Tests:** Contains the feature unit and integration tests.\\n- **Testing:** Provides testing data that can be used in tests and the example app. It also provides mocks for module classes and protocols that can be used by other features as we'll see later.\\n- **Example:** Contains an example app that developers can use to try out the feature under certain conditions (different languages, screen sizes, settings).\\n\\nWe recommend following a naming convention for targets, something that you can enforce in your project thanks to Tuist's DSL.\\n\\n| Target | Dependencies | Content |\\n| ------------------ | --------------------------- | --------------------------- |\\n| `Feature` | `FeatureInterface` | Source code and resources |\\n| `FeatureInterface` | - | Public interface and models |\\n| `FeatureTests` | `Feature`, `FeatureTesting` | Unit and integration tests |\\n| `FeatureTesting` | `FeatureInterface` | Testing data and mocks |\\n| `FeatureExample` | `FeatureTesting`, `Feature` | Example app |\\n\\n> [!TIP] UI Previews\\n> `Feature` can use `FeatureTesting` as a Development Asset to allow for UI previews\\n\\n> [!IMPORTANT] COMPILER DIRECTIVES INSTEAD OF TESTING TARGETS\\n> Alternatively, you can use compiler directives to include test data and mocks in the `Feature` or `FeatureInterface` targets when compiling for `Debug`. You simplify the graph, but you'll end up compiling code that you won't need for running the app.\\n\\n## Why a module {#why-a-module}\\n\\n### Clear and concise APIs {#clear-and-concise-apis}\\n\\nWhen all the app source code lives in the same target it is very easy to build implicit dependencies in code and end up with the so well-known spaghetti code. Everything is strongly coupled, the state is sometimes unpredictable, and introducing new changes become a nightmare. When we define features in independent targets we need to design public APIs as part of our feature implementation. We need to decide what should be public, how our feature should be consumed, what should remain private. We have more control over how we want our feature clients to use the feature and we can enforce good practices by designing safe APIs.\\n\\n### Small modules {#small-modules}\\n\\n[Divide and conquer](https://en.wikipedia.org/wiki/Divide_and_conquer). Working in small modules allows you to have more focus and test and try the feature in isolation. Moreover, development cycles are much faster since we have a more selective compilation, compiling only the components that are necessary to get our feature working. The compilation of the whole app is only necessary at the very end of our work, when we need to integrate the feature into the app.\\n\\n### Reusability {#reusability}\\n\\nReusing code across apps and other products like extensions is encouraged using frameworks or libraries. By building modules reusing them is pretty straightforward. We can build an iMessage extension, a Today Extension, or a watchOS application by just combining existing modules and adding _(when necessary)_ platform-specific UI layers.\\n\\n## Dependencies {#dependencies}\\n\\nWhen a module depends on another module, it declares a dependency against its interface target. The benefit of this is two-fold. It prevents the implementation of a module to be coupled to the implementation of another module, and it speeds up clean builds because they only have to compile the implementation of our feature, and the interfaces of direct and transitive dependencies. This approach is inspired by SwiftRock's idea of [Reducing iOS Build Times by using Interface Modules](https://swiftrocks.com/reducing-ios-build-times-by-using-interface-targets).\\n\\nDepending on interfaces requires apps to build the graph of implementations at runtime, and dependency-inject it into the modules that need it. Although TMA is non-opinionated about how to do this, we recommend using dependency-injection solutions or patterns or solutions that don't add built-time indirections or use platform APIs that were not designed for this purpose.\\n\\n## Product types {#product-types}\\n\\nWhen building a module, you can choose between **libraries and frameworks**, and **static and dynamic linking** for the targets. Without Tuist, making this decision is a bit more complex because you need to configure the dependency graph manually. However, thanks to Tuist Projects, this is no longer a problem.\\n\\nWe recommend using dynamic libraries or frameworks during development using bundle accessors to decouple the bundle-accessing logic from the library or framework nature of the target. This is key for fast compilation times and to ensure [SwiftUI Previews](https://developer.apple.com/documentation/swiftui/previews-in-xcode) work reliably. And static libraries or frameworks for the release builds to ensure the app boots fast. You can leverage dynamic configuration to change the product type at generation-time:\\n\\n```bash\\n# You'll have to read the value of the variable from the manifest {#youll-have-to-read-the-value-of-the-variable-from-the-manifest}\\n# and use it to change the linking type {#and-use-it-to-change-the-linking-type}\\nTUIST_PRODUCT_TYPE=static-library tuist generate\\n```\\n\\n```swift\\n// You can place this in your manifest files or helpers\\n// and use the returned value when instantiating targets.\\nfunc productType() -> Product {\\n if case let .string(productType) = Environment.productType {\\n return productType == \\\"static-library\\\" ? .staticLibrary : .framework\\n } else {\\n return .framework\\n }\\n}\\n```\\n\\n> [!IMPORTANT] MERGEABLE LIBRARIES\\n> Apple attempted to alleviate the cumbersomeness of switching between static and dynamic libraries by introducing [mergeable libraries](https://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries). However, that introduces build-time non-determinism that makes your build non-reproducible and harder to optimize so we don't recommend using it.\\n\\n## Code {#code}\\n\\nTMA is non-opinionated about the code architecture and patterns for your modules. However, we'd like to share some tips based on our experience:\\n\\n- **Leveraging the compiler is great.** Over-leveraging the compiler might end up being non-productive and cause some Xcode features like previews to work unreliably. We recommend using the compiler to enforce good practices and catch errors early, but not to the point that it makes the code harder to read and maintain.\\n- **Use Swift Macros sparingly.** They can be very powerful but can also make the code harder to read and maintain.\\n- **Embrace the platform and the language, don't abstract them.** Trying to come up with ellaborated abstraction layers might end up being counterproductive. The platform and the language are powerful enough to build great apps without the need for additional abstraction layers. Use good programming and design patterns as a reference to build your features.\\n\\n## Resources {#resources}\\n\\n- [Building µFeatures](https://speakerdeck.com/pepibumur/building-ufeatures)\\n- [Framework Oriented Programming](https://speakerdeck.com/pepibumur/framework-oriented-programming-mobilization-dot-pl)\\n- [A Journey into frameworks and Swift](https://speakerdeck.com/pepibumur/a-journey-into-frameworks-and-swift)\\n- [Leveraging frameworks to speed up our development on iOS - Part 1](https://developers.soundcloud.com/blog/leveraging-frameworks-to-speed-up-our-development-on-ios-part-1)\\n- [Library Oriented Programming](https://academy.realm.io/posts/justin-spahr-summers-library-oriented-programming/)\\n- [Building Modern Frameworks](https://developer.apple.com/videos/play/wwdc2014/416/)\\n- [The Unofficial Guide to xcconfig files](https://pewpewthespells.com/blog/xcconfig_guide.html)\\n- [Static and Dynamic Libraries](https://pewpewthespells.com/blog/static_and_dynamic_libraries.html)\\n\",\"title\":\"The Modular Architecture (TMA)\",\"frontmatter\":{\"URL\":\"/ja/guides/features/projects/tma-architecture\",\"LLMS_URL\":\"/ja/guides/features/projects/tma-architecture.md\",\"title\":\"The Modular Architecture (TMA)\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Learn about The Modular Architecture (TMA) and how to structure your projects using it.\"}},{\"path\":\"/ja/guides/features/registry.md\",\"url\":\"/ja/guides/features/registry\",\"llmUrl\":\"/ja/guides/features/registry.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/registry\\\"\\nLLMS_URL: \\\"/ja/guides/features/registry.md\\\"\\ntitle: \\\"Registry\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Optimize your Swift package resolution times by leveraging the Tuist Registry.\\\"\\n---\\n\\n# Registry {#registry}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A Tuist account and project\\n\\nAs the number of dependencies grows, so does the time to resolve them. While other package managers like [CocoaPods](https://cocoapods.org/) or [npm](https://www.npmjs.com/) are centralized, Swift Package Manager is not. Because of that, SwiftPM needs to resolve dependencies by doing a deep clone of each repository, which can be time-consuming. To address this, Tuist provides an implementation of the [Package Registry](https://github.com/swiftlang/swift-package-manager/blob/main/Documentation/PackageRegistry/PackageRegistryUsage.md), so you can download only the commit you _actually need_. The packages in the registry are based on the [Swift Package Index](https://swiftpackageindex.com/) – if you can find a package there, the package is also available in the Tuist Registry. Additionally, the packages are distributed across the globe using an edge storage for minimum latency when resolving them.\\n\\n## Usage {#usage}\\n\\nTo set up and log in to the registry, run the following command in your project's directory:\\n\\n```bash\\ntuist registry setup\\n```\\n\\nThis command generates a registry configuration files and logs you in to the registry. To ensure the rest of your team can access the registry, ensure the generated files is committed and that your team members run the following command to log in:\\n\\n```bash\\ntuist registry login\\n```\\n\\nNow you can access the registry! To resolve dependencies from the registry instead of from source control, continue reading based on your project setup:\\n\\n- Xcode project\\n- Generated project with the Xcode package integration\\n- Generated project with the XcodeProj-based package integration\\n- Swift package\\n\\nTo set up the registry on the CI, follow this guide: Continuous integration.\\n\\n### Package registry identifiers {#package-registry-identifiers}\\n\\nIf you want to ensure that the registry is used every time you resolve dependencies, you will need to update `dependencies` in your `Package.swift` file to use the registry identifier instead of a URL. The registry identifier is always in the form of `{organization}.{repository}`. For example, to use the registry for the `swift-composable-architecture` package, do the following:\\n\\n> [!NOTE]\\n> The identifier can't contain more than one dot. If the repository name contains a dot, it's replaced with an underscore.\\n> For example, the `https://github.com/groue/GRDB.swift` package would have the registry identifier `groue.GRDB_swift`.\\n\",\"title\":\"Registry\",\"frontmatter\":{\"URL\":\"/ja/guides/features/registry\",\"LLMS_URL\":\"/ja/guides/features/registry.md\",\"title\":\"Registry\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Optimize your Swift package resolution times by leveraging the Tuist Registry.\"}},{\"path\":\"/ja/guides/features/registry/continuous-integration.md\",\"url\":\"/ja/guides/features/registry/continuous-integration\",\"llmUrl\":\"/ja/guides/features/registry/continuous-integration.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/registry/continuous-integration\\\"\\nLLMS_URL: \\\"/ja/guides/features/registry/continuous-integration.md\\\"\\ntitle: \\\"継続的インテグレーション\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in continuous integration.\\\"\\n---\\n\\n# Continuous Integration (CI) {#continuous-integration-ci}\\n\\nTo use the registry on your CI, you need to ensure that you have logged in to the registry by running `tuist registry login` as part of your workflow.\\n\\n> [!NOTE] ONLY XCODE INTEGRATION\\n> Creating a new pre-unlocked keychain is required only if you are using the Xcode integration of packages.\\n\\nSince the registry credentials are stored in a keychain, you need to ensure the keychain can be accessed in the CI environment. Note some CI providers or automation tools like [Fastlane](https://fastlane.tools/) already create a temporary keychain or provide a built-in way how to create one. However, you can also create one by creating a custom step with the following code:\\n\\n```bash\\nTMP_DIRECTORY=$(mktemp -d)\\nKEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain\\nKEYCHAIN_PASSWORD=$(uuidgen)\\nsecurity create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\nsecurity set-keychain-settings -lut 21600 $KEYCHAIN_PATH\\nsecurity default-keychain -s $KEYCHAIN_PATH\\nsecurity unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n```\\n\\n`tuist registry login` will then store the credentials in the default keychain. Ensure that your default keychain is created and unlocked _before_ `tuist registry login` is run.\\n\\nAdditionally, you need to ensure the `TUIST_CONFIG_TOKEN` environment variable is set. You can create one by following the documentation here.\\n\\nAn example workflow for GitHub Actions could then look like this:\\n\\n```yaml\\nname: Build\\n\\njobs:\\n build:\\n steps:\\n - # Your set up steps...\\n - name: Create keychain\\n run: |\\n TMP_DIRECTORY=$(mktemp -d)\\n KEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain\\n KEYCHAIN_PASSWORD=$(uuidgen)\\n security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n security set-keychain-settings -lut 21600 $KEYCHAIN_PATH\\n security default-keychain -s $KEYCHAIN_PATH\\n security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n - name: Log in to the Tuist Registry\\n env:\\n TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}\\n run: tuist registry login\\n - # Your build steps\\n```\\n\\n### Incremental resolution across environments {#incremental-resolution-across-environments}\\n\\nClean/cold resolutions are slightly faster with our registry, and you can experience even greater improvements if you persist the resolved dependencies across CI builds. Note that thanks to the registry, the size of the directory that you need to store and restore is much smaller than without the registry, taking significantly less time.\\nTo cache dependencies when using the default Xcode package integration, the best way is to specify a custom `-clonedSourcePackagesDirPath` when resolving dependencies via `xcodebuild`, such as:\\n\\n```sh\\nxcodebuild -resolvePackageDependencies -clonedSourcePackagesDirPath .build\\n```\\n\\nAdditionally, you will need to find a path of the `Package.resolved`. You can grab the path by running `ls **/Package.resolved`. The path should look something like `App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved`.\\n\\nFor Swift packages and the XcodeProj-based integration, we can use the default `.build` directory located either in the root of the project or in the `Tuist` directory. Make sure the path is correct when setting up your pipeline.\\n\\nHere's an example workflow for GitHub Actions for resolving and caching dependencies when using the default Xcode package integration:\\n\\n```yaml\\n- name: Restore cache\\n id: cache-restore\\n uses: actions/cache/restore@v4\\n with:\\n path: .build\\n key: ${{ runner.os }}-${{ hashFiles('App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved') }}\\n restore-keys: .build\\n- name: Resolve dependencies\\n if: steps.cache-restore.outputs.cache-hit != 'true'\\n run: xcodebuild -resolvePackageDependencies -clonedSourcePackagesDirPath .build\\n- name: Save cache\\n id: cache-save\\n uses: actions/cache/save@v4\\n with:\\n path: .build\\n key: ${{ steps.cache-restore.outputs.cache-primary-key }}\\n```\\n\",\"title\":\"継続的インテグレーション\",\"frontmatter\":{\"URL\":\"/ja/guides/features/registry/continuous-integration\",\"LLMS_URL\":\"/ja/guides/features/registry/continuous-integration.md\",\"title\":\"継続的インテグレーション\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in continuous integration.\"}},{\"path\":\"/ja/guides/features/registry/generated-project.md\",\"url\":\"/ja/guides/features/registry/generated-project\",\"llmUrl\":\"/ja/guides/features/registry/generated-project.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/registry/generated-project\\\"\\nLLMS_URL: \\\"/ja/guides/features/registry/generated-project.md\\\"\\ntitle: \\\"Generated project with the Xcode package integration\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in a generated Xcode project with the Xcode package integration.\\\"\\n---\\n\\n# Generated project with the Xcode package integration {#generated-project-with-xcode-based-integration}\\n\\nIf you are using the Xcode's default integration of packages with Tuist Projects, you need to use the registry identifier instead of a URL when adding a package:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n packages: [\\n // Source control resolution\\n // .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n // Registry resolution\\n .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n ],\\n .target(\\n name: \\\"App\\\",\\n product: .app,\\n bundleId: \\\"io.tuist.App\\\",\\n dependencies: [\\n .package(product: \\\"ComposableArchitecture\\\"),\\n ]\\n )\\n)\\n```\\n\",\"title\":\"Generated project with the Xcode package integration\",\"frontmatter\":{\"URL\":\"/ja/guides/features/registry/generated-project\",\"LLMS_URL\":\"/ja/guides/features/registry/generated-project.md\",\"title\":\"Generated project with the Xcode package integration\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in a generated Xcode project with the Xcode package integration.\"}},{\"path\":\"/ja/guides/features/registry/swift-package.md\",\"url\":\"/ja/guides/features/registry/swift-package\",\"llmUrl\":\"/ja/guides/features/registry/swift-package.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/registry/swift-package\\\"\\nLLMS_URL: \\\"/ja/guides/features/registry/swift-package.md\\\"\\ntitle: \\\"Swift package\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in a Swift package.\\\"\\n---\\n\\n# Swift package {#swift-package}\\n\\nIf you are working on a Swift package, you can use the `--replace-scm-with-registry` flag to resolve dependencies from the registry if they are available:\\n\\n```bash\\nswift package --replace-scm-with-registry resolve\\n```\\n\\nIf you want to ensure that the registry is used every time you resolve dependencies, you will need to update `dependencies` in your `Package.swift` file to use the registry identifier instead of a URL. The registry identifier is always in the form of `{organization}.{repository}`. For example, to use the registry for the `swift-composable-architecture` package, do the following:\\n\\n```diff\\ndependencies: [\\n- .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n+ .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n]\\n```\\n\",\"title\":\"Swift package\",\"frontmatter\":{\"URL\":\"/ja/guides/features/registry/swift-package\",\"LLMS_URL\":\"/ja/guides/features/registry/swift-package.md\",\"title\":\"Swift package\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in a Swift package.\"}},{\"path\":\"/ja/guides/features/registry/xcode-project.md\",\"url\":\"/ja/guides/features/registry/xcode-project\",\"llmUrl\":\"/ja/guides/features/registry/xcode-project.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/registry/xcode-project\\\"\\nLLMS_URL: \\\"/ja/guides/features/registry/xcode-project.md\\\"\\ntitle: \\\"Xcode project\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in an Xcode project.\\\"\\n---\\n\\n# Xcode project {#xcode-project}\\n\\nTo add packages using the registry in your Xcode project, use the default Xcode UI. You can search for packages in the registry by clicking on the `+` button in the `Package Dependencies` tab in Xcode. If the package is available in the registry, you will see the `tuist.dev` registry in the top right:\\n\\n\\n\\n> [!NOTE]\\n> Xcode currently doesn't support automatically replacing source control packages with their registry equivalents. You will need to manually remove the source control package and add the registry package to speed up the resolution.\\n\",\"title\":\"Xcode project\",\"frontmatter\":{\"URL\":\"/ja/guides/features/registry/xcode-project\",\"LLMS_URL\":\"/ja/guides/features/registry/xcode-project.md\",\"title\":\"Xcode project\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in an Xcode project.\"}},{\"path\":\"/ja/guides/features/registry/xcodeproj-integration.md\",\"url\":\"/ja/guides/features/registry/xcodeproj-integration\",\"llmUrl\":\"/ja/guides/features/registry/xcodeproj-integration.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/registry/xcodeproj-integration\\\"\\nLLMS_URL: \\\"/ja/guides/features/registry/xcodeproj-integration.md\\\"\\ntitle: \\\"Generated project with the XcodeProj-based package integration\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in a generated Xcode project with the XcodeProj-based package integration.\\\"\\n---\\n\\n# Generated project with the XcodeProj-based package integration {#generated-project-with-xcodeproj-based-integration}\\n\\nWhen using the XcodeProj-based integration, you can use the `--replace-scm-with-registry` flag to resolve dependencies from the registry if they are available. Add it to the `installOptions` in your `Tuist.swift` file:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(\\n fullHandle: \\\"{account-handle}/{project-handle}\\\",\\n project: .tuist(\\n installOptions: .options(passthroughSwiftPackageManagerArguments: [\\\"--replace-scm-with-registry\\\"])\\n )\\n)\\n```\\n\\nIf you want to ensure that the registry is used every time you resolve dependencies, you will need to update `dependencies` in your `Tuist/Package.swift` file to use the registry identifier instead of a URL. The registry identifier is always in the form of `{organization}.{repository}`. For example, to use the registry for the `swift-composable-architecture` package, do the following:\\n\\n```diff\\ndependencies: [\\n- .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n+ .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n]\\n```\\n\",\"title\":\"Generated project with the XcodeProj-based package integration\",\"frontmatter\":{\"URL\":\"/ja/guides/features/registry/xcodeproj-integration\",\"LLMS_URL\":\"/ja/guides/features/registry/xcodeproj-integration.md\",\"title\":\"Generated project with the XcodeProj-based package integration\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in a generated Xcode project with the XcodeProj-based package integration.\"}},{\"path\":\"/ja/guides/features/selective-testing.md\",\"url\":\"/ja/guides/features/selective-testing\",\"llmUrl\":\"/ja/guides/features/selective-testing.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/selective-testing\\\"\\nLLMS_URL: \\\"/ja/guides/features/selective-testing.md\\\"\\ntitle: \\\"選択的テスト\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Use selective testing to run only the tests that have changed since the last successful test run.\\\"\\n---\\n\\n# Selective testing {#selective-testing}\\n\\nAs your project grows, so does the amount of your tests. For a long time, running all tests on every PR or push to `main` takes tens of seconds. But this solution does not scale to thousands of tests your team might have.\\n\\nOn every test run on the CI, you most likely re-run all the tests, regardless of the changes. Tuist's selective testing helps you to drastically speed up running the tests themselves by running only the tests that have changed since the last successful test run based on our hashing algorithm.\\n\\nSelective testing works with `xcodebuild`, which supports any Xcode project, or if you generate your projects with Tuist, you can use the `tuist test` command instead that provides some extra convenience such as integration with the binary cache. To get started with selective testing, follow the instructions based on your project setup:\\n\\n- xcodebuild\\n- Generated project\\n\\n> [!WARNING] MODULE VS FILE-LEVEL GRANULARITY\\n> Due to the impossibility of detecting the in-code dependencies between tests and sources, the maximum granularity of selective testing is at the target level. Therefore, we recommend keeping your targets small and focused to maximize the benefits of selective testing.\\n\\n> [!WARNING] TEST COVERAGE\\n> Test coverage tools assume that the whole test suite runs at once, which makes them incompatible with selective test runs—this means the coverage data might not reflect reality when using test selection. That’s a known limitation, and it doesn’t mean you’re doing anything wrong. We encourage teams to reflect on whether coverage is still bringing meaningful insights in this context, and if it is, rest assured that we’re already thinking about how to make coverage work properly with selective runs in the future.\\n\\n## Pull/merge request comments {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] INTEGRATION WITH GIT PLATFORM REQUIRED\\n> To get automatic pull/merge request comments, integrate your Tuist project with a Git platform.\\n\\nOnce your Tuist project is connected with your Git platform such as [GitHub](https://github.com), and you start using `tuist xcodebuild test` or `tuist test` as part of your CI wortkflow, Tuist will post a comment directly in your pull/merge requests, including which tests were run and which skipped:\\n\\n\",\"title\":\"選択的テスト\",\"frontmatter\":{\"URL\":\"/ja/guides/features/selective-testing\",\"LLMS_URL\":\"/ja/guides/features/selective-testing.md\",\"title\":\"選択的テスト\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Use selective testing to run only the tests that have changed since the last successful test run.\"}},{\"path\":\"/ja/guides/features/selective-testing/generated-project.md\",\"url\":\"/ja/guides/features/selective-testing/generated-project\",\"llmUrl\":\"/ja/guides/features/selective-testing/generated-project.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/selective-testing/generated-project\\\"\\nLLMS_URL: \\\"/ja/guides/features/selective-testing/generated-project.md\\\"\\ntitle: \\\"生成されたプロジェクト\\\"\\ntitleTemplate: \\\":title · Selective testing · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to leverage selective testing with a generated project.\\\"\\n---\\n\\n# Generated project {#generated-project}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A generated project\\n> - A Tuist account and project\\n\\nTo run tests selectively with your generated project, use the `tuist test` command. The command hashes your Xcode project the same way it does for warming the cache, and on success, it persists the hashes on to determine what has changed in future runs.\\n\\nIn future runs `tuist test` transparently uses the hashes to filter down the tests to run only the ones that have changed since the last successful test run.\\n\\nFor example, assuming the following dependency graph:\\n\\n- `FeatureA` has tests `FeatureATests`, and depends on `Core`\\n- `FeatureB` has tests `FeatureBTests`, and depends on `Core`\\n- `Core` has tests `CoreTests`\\n\\n`tuist test` will behave as such:\\n\\n| Action | Description | Internal state |\\n| ----------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------ |\\n| `tuist test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The hashes of `FeatureATests`, `FeatureBTests` and `CoreTests` are persisted |\\n| `FeatureA` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist test` invocation | Runs the tests in `FeatureATests` because it hash has changed | The new hash of `FeatureATests` is persisted |\\n| `Core` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The new hash of `FeatureATests` `FeatureBTests`, and `CoreTests` are persisted |\\n\\n`tuist test` integrates directly with binary caching to use as many binaries from your local or remote storage to improve the build time when running your test suite. The combination of selective testing with binary caching can dramatically reduce the time it takes to run tests on your CI.\\n\\n## UI Tests {#ui-tests}\\n\\nTuist supports selective testing of UI tests. However, Tuist needs to know the destination in advance. Only if you specify the `destination` parameter, Tuist will run the UI tests selectively, such as:\\n\\n```sh\\ntuist test --device 'iPhone 14 Pro'\\n# or\\ntuist test -- -destination 'name=iPhone 14 Pro'\\n# or\\ntuist test -- -destination 'id=SIMULATOR_ID'\\n```\\n\",\"title\":\"生成されたプロジェクト\",\"frontmatter\":{\"URL\":\"/ja/guides/features/selective-testing/generated-project\",\"LLMS_URL\":\"/ja/guides/features/selective-testing/generated-project.md\",\"title\":\"生成されたプロジェクト\",\"titleTemplate\":\":title · Selective testing · Develop · Guides · Tuist\",\"description\":\"Learn how to leverage selective testing with a generated project.\"}},{\"path\":\"/ja/guides/features/selective-testing/xcode-project.md\",\"url\":\"/ja/guides/features/selective-testing/xcode-project\",\"llmUrl\":\"/ja/guides/features/selective-testing/xcode-project.md\",\"content\":\"---\\nURL: \\\"/ja/guides/features/selective-testing/xcode-project\\\"\\nLLMS_URL: \\\"/ja/guides/features/selective-testing/xcode-project.md\\\"\\ntitle: \\\"xcodebuild\\\"\\ntitleTemplate: \\\":title · Selective testing · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to leverage selective testing with `xcodebuild`.\\\"\\n---\\n\\n# xcodebuild {#xcodebuild}\\n\\n> [!IMPORTANT] REQUIREMENTS\\n>\\n> - A Tuist account and project\\n\\nYou can run the tests of your Xcode projects selectively through the command line. To run tests selectively using `xcodebuild`, you can prepend your `xcodebuild` command with `tuist` – for example, `tuist xcodebuild test -scheme App`. The command hashes your project and on success, it persists the hashes to determine what has changed in future runs.\\n\\nIn future runs `tuist xcodebuild test` transparently uses the hashes to filter down the tests to run only the ones that have changed since the last successful test run.\\n\\nFor example, assuming the following dependency graph:\\n\\n- `FeatureA` has tests `FeatureATests`, and depends on `Core`\\n- `FeatureB` has tests `FeatureBTests`, and depends on `Core`\\n- `Core` has tests `CoreTests`\\n\\n`tuist xcodebuild test` will behave as such:\\n\\n| Action | Description | Internal state |\\n| ---------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------ |\\n| `tuist xcodebuild test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The hashes of `FeatureATests`, `FeatureBTests` and `CoreTests` are persisted |\\n| `FeatureA` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist xcodebuild test` invocation | Runs the tests in `FeatureATests` because it hash has changed | The new hash of `FeatureATests` is persisted |\\n| `Core` is updated | The developer modifies the code of a target | Same as before |\\n| `tuist xcodebuild test` invocation | Runs the tests in `CoreTests`, `FeatureATests`, and `FeatureBTests` | The new hash of `FeatureATests` `FeatureBTests`, and `CoreTests` are persisted |\\n\\nTo use `tuist xcodebuild test` on your CI, follow the instructions in the Continuous integration guide.\\n\\nCheck out the following video to see selective testing in action:\\n\\n\\n\",\"title\":\"xcodebuild\",\"frontmatter\":{\"URL\":\"/ja/guides/features/selective-testing/xcode-project\",\"LLMS_URL\":\"/ja/guides/features/selective-testing/xcode-project.md\",\"title\":\"xcodebuild\",\"titleTemplate\":\":title · Selective testing · Develop · Guides · Tuist\",\"description\":\"Learn how to leverage selective testing with `xcodebuild`.\"}},{\"path\":\"/ja/guides/integrations/continuous-integration.md\",\"url\":\"/ja/guides/integrations/continuous-integration\",\"llmUrl\":\"/ja/guides/integrations/continuous-integration.md\",\"content\":\"---\\nURL: \\\"/ja/guides/integrations/continuous-integration\\\"\\nLLMS_URL: \\\"/ja/guides/integrations/continuous-integration.md\\\"\\ntitle: \\\"継続的インテグレーション (CI)\\\"\\ntitleTemplate: \\\":title · 自動化 · ガイド · Tuist\\\"\\ndescription: \\\"CI ワークフローで Tuist を使用する方法を学びましょう。\\\"\\n---\\n\\n# 継続的インテグレーション (CI) {#continuous-integration-ci}\\n\\nYou can use Tuist in [continuous integration](https://en.wikipedia.org/wiki/Continuous_integration) environments. The following sections provide examples of how to do this on different CI platforms.\\n\\n## Examples {#examples}\\n\\nTo run Tuist commands in your CI workflows, you’ll need to install it in your CI environment.\\n\\n### Xcode Cloud {#xcode-cloud}\\n\\nIn [Xcode Cloud](https://developer.apple.com/xcode-cloud/), which uses Xcode projects as the source of truth, you'll need to add a [post-clone](https://developer.apple.com/documentation/xcode/writing-custom-build-scripts#Create-a-custom-build-script) script to install Tuist and run the commands you need, for example `tuist generate`:\\n\\n:::code-group\\n\\n```bash [Mise]\\n#!/bin/sh\\ncurl https://mise.jdx.dev/install.sh | sh\\nmise install # Installs the version from .mise.toml\\n\\n# Runs the version of Tuist indicated in the .mise.toml file {#runs-the-version-of-tuist-indicated-in-the-misetoml-file}\\nmise exec -- tuist generate\\n```\\n\\n```bash [Homebrew]\\n#!/bin/sh\\nbrew install --formula [email protected]\\n\\ntuist generate\\n```\\n\\n:::\\n\\n### Codemagic {#codemagic}\\n\\nIn [Codemagic](https://codemagic.io), you can add an additional step to your workflow to install Tuist:\\n\\n::: code-group\\n\\n```yaml [Mise]\\nworkflows:\\n lint:\\n name: Build\\n max_build_duration: 30\\n environment:\\n xcode: 15.0.1\\n scripts:\\n - name: Install Mise\\n script: |\\n curl https://mise.jdx.dev/install.sh | sh\\n mise install # Installs the version from .mise.toml\\n - name: Build\\n script: mise exec -- tuist build\\n```\\n\\n```yaml [Homebrew]\\nworkflows:\\n lint:\\n name: Build\\n max_build_duration: 30\\n environment:\\n xcode: 15.0.1\\n scripts:\\n - name: Install Tuist\\n script: |\\n brew install --formula [email protected]\\n - name: Build\\n script: tuist build\\n```\\n\\n:::\\n\\n### GitHub Actions {#github-actions}\\n\\nOn [GitHub Actions](https://docs.github.com/en/actions) you can add an additional step to install Tuist, and in the case of managing the installation of Mise, you can use the [mise-action](https://github.com/jdx/mise-action), which abstracts the installation of Mise and Tuist:\\n\\n::: code-group\\n\\n```yaml [Mise]\\nname: Build Application\\non:\\n pull_request:\\n branches:\\n - main\\n push:\\n branches:\\n - main\\njobs:\\n build:\\n runs-on: macos-latest\\n steps:\\n - uses: actions/checkout@v3\\n - uses: jdx/mise-action@v2\\n - run: tuist build\\n```\\n\\n```yaml [Homebrew]\\nname: test\\non:\\n pull_request:\\n branches:\\n - main\\n push:\\n branches:\\n - main\\njobs:\\n lint:\\n runs-on: macos-latest\\n steps:\\n - uses: actions/checkout@v3\\n - run: brew install --formula [email protected]\\n - run: tuist build\\n```\\n\\n:::\\n\\n:::tip\\nWe recommend using `mise use --pin` in your Tuist projects to pin the version of Tuist across environments. The command will create a `.tool-versions` file containing the version of Tuist.\\n:::\\n\\n## Authentication {#authentication}\\n\\nWhen using server-side features such as cache, you'll need a way to authenticate requests going from your CI workflows to the server. For that, you can generate a project-scoped token by running the following command:\\n\\n```bash\\ntuist project tokens create my-handle/MyApp\\n```\\n\\nThe command will generate a token for the project with full handle `my-account/my-project`. Set the value to the environment variable\\n`TUIST_CONFIG_TOKEN` in your CI environment ensuring it's configured as a secret so it's not exposed.\\n\\n> [!IMPORTANT] CI ENVIRONMENT DETECTION\\n> Tuist only uses the token when it detects it's running on a CI environment. If your CI environment is not detected, you can force the token usage by setting the environment variable `CI` to `1`.\\n\",\"title\":\"継続的インテグレーション (CI)\",\"frontmatter\":{\"URL\":\"/ja/guides/integrations/continuous-integration\",\"LLMS_URL\":\"/ja/guides/integrations/continuous-integration.md\",\"title\":\"継続的インテグレーション (CI)\",\"titleTemplate\":\":title · 自動化 · ガイド · Tuist\",\"description\":\"CI ワークフローで Tuist を使用する方法を学びましょう。\"}},{\"path\":\"/ja/guides/integrations/gitforge/github.md\",\"url\":\"/ja/guides/integrations/gitforge/github\",\"llmUrl\":\"/ja/guides/integrations/gitforge/github.md\",\"content\":\"---\\nURL: \\\"/ja/guides/integrations/gitforge/github\\\"\\nLLMS_URL: \\\"/ja/guides/integrations/gitforge/github.md\\\"\\ntitle: \\\"GitHub\\\"\\ntitleTemplate: \\\":title | Git forges | Integrations | Guides | Tuist\\\"\\ndescription: \\\"Learn how to connect Tuist to other tools and services.\\\"\\n---\\n\\n# Integrations {#integrations}\\n\\nWe strongly believe we should meet developers where they are, and let's be honest, developers spend time outside of their coding environments, such as reviewing pull request on [GitHub](https://github.com) or communicating with their team on [Slack](https://slack.com). That's why we've built integrations with popular tools and services to make it easier for you to use Tuist in your workflows. This page lists the integrations we currently support.\\n\\n## Git platforms {#git-platforms}\\n\\nGit repositories are the centerpiece of the vast majority of software projects out there. We integrate with your Git platform to provide Tuist insights right in your pull requests or to save you some configuration such as syncing your default branch.\\n\\n### GitHub {#github}\\n\\nInstall the [Tuist GitHub app](https://github.com/marketplace/tuist). Once installed, you will need to tell Tuist the URL of your repository, such as:\\n\\n```sh\\ntuist project update tuist/tuist --repository-url https://github.com/tuist/tuist\\n```\\n\",\"title\":\"GitHub\",\"frontmatter\":{\"URL\":\"/ja/guides/integrations/gitforge/github\",\"LLMS_URL\":\"/ja/guides/integrations/gitforge/github.md\",\"title\":\"GitHub\",\"titleTemplate\":\":title | Git forges | Integrations | Guides | Tuist\",\"description\":\"Learn how to connect Tuist to other tools and services.\"}},{\"path\":\"/ja/guides/integrations/sso.md\",\"url\":\"/ja/guides/integrations/sso\",\"llmUrl\":\"/ja/guides/integrations/sso.md\",\"content\":\"---\\nURL: \\\"/ja/guides/integrations/sso\\\"\\nLLMS_URL: \\\"/ja/guides/integrations/sso.md\\\"\\ntitle: \\\"SSO\\\"\\ntitleTemplate: \\\":title | Integrations | Guides | Tuist\\\"\\ndescription: \\\"Learn how to set up Single Sign-On (SSO) with your organization.\\\"\\n---\\n\\n# SSO {#sso}\\n\\nIf you have a Google Workspace organization and you want any developer who signs in with the same Google hosted domain to be added to your Tuist organization, you can set it up with:\\n```bash\\ntuist organization update sso my-organization --provider google --organization-id my-google-domain.com\\n```\\n\\nFor on-premise customers that have Okta set up, you can get the same behavior as for Google by running:\\n```bash\\ntuist organization update sso my-organization --provider okta --organization-id my-okta-domain.com\\n```\\n\\n> [!IMPORTANT]\\n> You must be authenticated with Google using an email tied to the organization whose domain you are setting up.\",\"title\":\"SSO\",\"frontmatter\":{\"URL\":\"/ja/guides/integrations/sso\",\"LLMS_URL\":\"/ja/guides/integrations/sso.md\",\"title\":\"SSO\",\"titleTemplate\":\":title | Integrations | Guides | Tuist\",\"description\":\"Learn how to set up Single Sign-On (SSO) with your organization.\"}},{\"path\":\"/ja/guides/quick-start/add-dependencies.md\",\"url\":\"/ja/guides/quick-start/add-dependencies\",\"llmUrl\":\"/ja/guides/quick-start/add-dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/guides/quick-start/add-dependencies\\\"\\nLLMS_URL: \\\"/ja/guides/quick-start/add-dependencies.md\\\"\\ntitle: \\\"依存関係の追加\\\"\\ntitleTemplate: \\\":title · クイックスタート · ガイド · Tuist\\\"\\ndescription: \\\"最初のSwiftプロジェクトに依存関係を追加する方法を学ぶ\\\"\\n---\\n\\n# 依存関係の追加 {#add-dependencies}\\n\\nプロジェクトが追加機能を提供するためにサードパーティのライブラリに依存することは一般的です。 そのために、プロジェクトを編集するための最適な体験を得るために、次のコマンドを実行します。 そのために、プロジェクトを編集するための最適な体験を得るために、次のコマンドを実行します。\\n\\n```bash\\ntuist edit\\n```\\n\\nXcodeプロジェクトが開き、プロジェクトファイルが表示されます。 Package.swiftを編集し、以下を追加します。\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n .package(url: \\\"https://github.com/onevcat/Kingfisher\\\", .upToNextMajor(from: \\\"7.12.0\\\")) // [!code ++]\\n ]\\n)\\n```\\n\\n次に、プロジェクト内のアプリケーションターゲットを編集して、`Kingfisher` を依存関係として宣言します。\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n targets: [\\n .target(\\n name: \\\"MyApp\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"io.tuist.MyApp\\\",\\n infoPlist: .extendingDefault(\\n with: [\\n \\\"UILaunchStoryboardName\\\": \\\"LaunchScreen.storyboard\\\",\\n ]\\n ),\\n sources: [\\\"MyApp/Sources/**\\\"],\\n resources: [\\\"MyApp/Resources/**\\\"],\\n dependencies: [\\n .external(name: \\\"Kingfisher\\\") // [!code ++]\\n ]\\n ),\\n .target(\\n name: \\\"MyAppTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.MyAppTests\\\",\\n infoPlist: .default,\\n sources: [\\\"MyApp/Tests/**\\\"],\\n resources: [],\\n dependencies: [.target(name: \\\"MyApp\\\")]\\n ),\\n ]\\n)\\n```\\n\\n次に、`tuist install` を実行して、[Swift Package Manager](https://www.swift.org/documentation/package-manager/) を使用して依存関係を解決し、取得します。\\n\\n> [!NOTE] 依存関係解決ツールとしてのSPM\\n> Tuistの推奨する依存関係のアプローチは、依存関係を解決するためにSwift Package Manager (SPM) を使用することです。 TuistはそれらをXcodeプロジェクトとターゲットに変換し、最大限の構成可能性と制御を提供します。 TuistはそれらをXcodeプロジェクトとターゲットに変換し、最大限の構成可能性と制御を提供します。 TuistはそれらをXcodeプロジェクトとターゲットに変換し、最大限の構成可能性と制御を提供します。 TuistはそれらをXcodeプロジェクトとターゲットに変換し、最大限の構成可能性と制御を提供します。 TuistはそれらをXcodeプロジェクトとターゲットに変換し、最大限の構成可能性と制御を提供します。\\n\\n## プロジェクトの可視化 {#visualize-the-project}\\n\\n次のコマンドを実行してプロジェクト構造を可視化できます。\\n\\n```bash\\ntuist graph\\n```\\n\\nこのコマンドは、プロジェクトのディレクトリ内に `graph.png` ファイルを出力して開きます:\\n\\n\\n\\n## 依存関係の使用 {#use-the-dependency}\\n\\n`tuist generate` を実行してプロジェクトをXcodeで開き、`ContentView.swift` ファイルに次の変更を加えます。\\n\\n```swift\\nimport SwiftUI\\nimport Kingfisher // [!code ++]\\n\\npublic struct ContentView: View {\\n public init() {}\\n\\n public var body: some View {\\n Text(\\\"Hello, World!\\\") // [!code --]\\n .padding() // [!code --]\\n KFImage(URL(string: \\\"https://cloud.tuist.io/images/[email protected]\\\")!) // [!code ++]\\n }\\n}\\n\\n\\nstruct ContentView_Previews: PreviewProvider {\\n static var previews: some View {\\n ContentView()\\n }\\n}\\n```\\n\\nXcodeからアプリを実行すると、URLから読み込まれた画像が表示されるはずです。\\n\",\"title\":\"依存関係の追加\",\"frontmatter\":{\"URL\":\"/ja/guides/quick-start/add-dependencies\",\"LLMS_URL\":\"/ja/guides/quick-start/add-dependencies.md\",\"title\":\"依存関係の追加\",\"titleTemplate\":\":title · クイックスタート · ガイド · Tuist\",\"description\":\"最初のSwiftプロジェクトに依存関係を追加する方法を学ぶ\"}},{\"path\":\"/ja/guides/quick-start/gather-insights.md\",\"url\":\"/ja/guides/quick-start/gather-insights\",\"llmUrl\":\"/ja/guides/quick-start/gather-insights.md\",\"content\":\"---\\nURL: \\\"/ja/guides/quick-start/gather-insights\\\"\\nLLMS_URL: \\\"/ja/guides/quick-start/gather-insights.md\\\"\\ntitle: \\\"インサイトを収集する\\\"\\ntitleTemplate: \\\":title · クイックスタート · ガイド · Tuist\\\"\\ndescription: \\\"プロジェクトに関するインサイトを収集する方法を学びます。\\\"\\n---\\n\\n# インサイトを収集する {#gather-insights}\\n\\nTuistはサーバーと統合してその機能を拡張できます。 その機能の一つは、プロジェクトやビルドに関するインサイトを収集することです。 サーバー上にプロジェクトのアカウントを持っているだけで済みます。\\n\\nまず最初に、次のコマンドを実行して認証を行う必要があります:\\n\\n```bash\\ntuist auth login\\n```\\n\\n## プロジェクトの作成 {#create-a-project}\\n\\n次に、次のコマンドを実行してプロジェクトを作成できます:\\n\\n```bash\\ntuist project create my-handle/MyApp\\n\\n# Tuist project my-handle/MyApp was successfully created 🎉 {#tuist-project-myhandlemyapp-was-successfully-created-}\\n```\\n\\n`my-handle/MyApp` をコピーします。これはプロジェクトの完全なハンドルを表します。\\n\\n## プロジェクトを接続する {#connect-projects}\\n\\nサーバー上にプロジェクトを作成した後、ローカルプロジェクトに接続する必要があります。 サーバー上にプロジェクトを作成した後、ローカルプロジェクトに接続する必要があります。 サーバー上にプロジェクトを作成した後、ローカルプロジェクトに接続する必要があります。 サーバー上にプロジェクトを作成した後、ローカルプロジェクトに接続する必要があります。 サーバー上にプロジェクトを作成した後、ローカルプロジェクトに接続する必要があります。 サーバー上にプロジェクトを作成した後、ローカルプロジェクトに接続する必要があります。 Run `tuist edit` and edit the `Tuist.swift` file to include the full handle of the project:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(fullHandle: \\\"my-handle/MyApp\\\")\\n```\\n\\nほら! これで、プロジェクトやビルドに関するインサイトを収集する準備が整いましたよ。 `tuist test` を実行してテストを実行し、結果をサーバーに報告します。\\n\\n> [!NOTE]\\n> Tuistは結果をローカルにキューイングし、コマンドをブロックすることなく送信しようとします。 したがって、コマンドが終了した直後に結果が送信されない場合があります。 CIでは結果が即座に送信されます。\\n\\n\\n\\nプロジェクトやビルドからデータを取得することは、情報に基づいた意思決定を行う上で重要です。\\nTuistはその機能を拡張し続け、プロジェクトの設定を変更することなくその恩恵を受けることができます。 魔法のようですね? 🪄\\n\",\"title\":\"インサイトを収集する\",\"frontmatter\":{\"URL\":\"/ja/guides/quick-start/gather-insights\",\"LLMS_URL\":\"/ja/guides/quick-start/gather-insights.md\",\"title\":\"インサイトを収集する\",\"titleTemplate\":\":title · クイックスタート · ガイド · Tuist\",\"description\":\"プロジェクトに関するインサイトを収集する方法を学びます。\"}},{\"path\":\"/ja/guides/quick-start/get-started.md\",\"url\":\"/ja/guides/quick-start/get-started\",\"llmUrl\":\"/ja/guides/quick-start/get-started.md\",\"content\":\"---\\nURL: \\\"/ja/guides/quick-start/get-started\\\"\\nLLMS_URL: \\\"/ja/guides/quick-start/get-started.md\\\"\\ntitle: \\\"はじめに\\\"\\ntitleTemplate: \\\":title · 導入の手順 · Tuist\\\"\\ndescription: \\\"開発環境にTuistをインストールする方法を学びます。\\\"\\n---\\n\\n# はじめに {#get-started}\\n\\n任意のディレクトリ、または Xcode プロジェクトおよびワークスペースのディレクトリで、以下のコマンドを実行するのが Tuist を始める最も簡単な方法です:\\n\\n::: code-group\\n\\n```bash [Mise]\\nmise x tuist@latest -- tuist init\\n```\\n\\n```bash [Global Tuist (Homebrew)]\\ntuist init\\n```\\n\\n:::\\n\\nThe command will walk you through the steps to create a generated project or integrate an existing Xcode project or workspace. It helps you connect your setup to the remote server, giving you access to features like selective testing, previews, and the registry.\\n\\n> [!NOTE] 既存プロジェクトの移行\\n> 既存のプロジェクトを生成プロジェクトに移行して、開発体験を向上させたり、キャッシュなどの機能を活用したい場合は、移行ガイドをご覧ください。\\n\",\"title\":\"はじめに\",\"frontmatter\":{\"URL\":\"/ja/guides/quick-start/get-started\",\"LLMS_URL\":\"/ja/guides/quick-start/get-started.md\",\"title\":\"はじめに\",\"titleTemplate\":\":title · 導入の手順 · Tuist\",\"description\":\"開発環境にTuistをインストールする方法を学びます。\"}},{\"path\":\"/ja/guides/quick-start/install-tuist.md\",\"url\":\"/ja/guides/quick-start/install-tuist\",\"llmUrl\":\"/ja/guides/quick-start/install-tuist.md\",\"content\":\"---\\nURL: \\\"/ja/guides/quick-start/install-tuist\\\"\\nLLMS_URL: \\\"/ja/guides/quick-start/install-tuist.md\\\"\\ntitle: \\\"Tuistのインストール\\\"\\ntitleTemplate: \\\":title · クイックスタート · ガイド · Tuist\\\"\\ndescription: \\\"開発環境にTuistをインストールする方法を学びます\\\"\\n---\\n\\n# Tuistのインストール {#install-tuist}\\n\\nTuist CLIは、実行可能ファイル、動的フレームワーク、およびリソースのセット (たとえば、テンプレート) で構成されています。 [ソース](https://github.com/tuist/tuist)からTuistを手動でビルドすることもできますが、**有効なインストールを確保するために、以下のインストール方法のいずれかを使用することをお勧めします。**\\n\\n### Mise {#recommended-mise}\\n\\n:::info\\nMiseは、異なる環境でツールの決定的なバージョンを確保する必要があるチームや組織にとって、推奨される[Homebrew](https://brew.sh)の代替手段です。\\n:::\\n\\nTuist は以下のコマンドのいずれかを使用してインストールできます。\\n\\n```bash\\nmise install tuist # .tool-versions/.mise.tomlに指定された現在のバージョンをインストール\\nmise install [email protected] # 特定のバージョン番号をインストール\\nmise install tuist@3 # あいまいなバージョン番号をインストール\\n```\\n\\nHomebrewのようなツールがグローバルに単一のバージョンをインストールしてアクティブにするのに対し、**miseではバージョンをグローバルまたはプロジェクト単位で有効にする必要があります。** これは `mise use` を実行することで行います。\\n\\n```bash\\nmise use [email protected] # 現在のプロジェクトでtuist-x.y.zを使用\\nmise use tuist@latest # 現在のディレクトリで最新のtuistを使用\\nmise use -g [email protected] # tuist-x.y.zをグローバルデフォルトとして使用\\nmise use -g tuist@system # システムのtuistをグローバルデフォルトとして使用\\n```\\n\\n### Homebrew {#recommended-homebrew}\\n\\nTuist は [Homebrew](https://brew.sh) と私達の [formulas](https://github.com/tuist/homebrew-tuist) を使用してインストールできます:\\n\\n```bash\\nbrew tap tuist/tuist\\nbrew install --formula tuist\\nbrew install --formula [email protected]\\n```\\n\\n:::tip VERIFYING THE AUTHENTICITY OF THE BINARIES\\n\\n```bash\\ncurl -fsSL \\\"https://docs.tuist.dev/verify.sh\\\" | bash\\n```\\n\\n:::\\n\",\"title\":\"Tuistのインストール\",\"frontmatter\":{\"URL\":\"/ja/guides/quick-start/install-tuist\",\"LLMS_URL\":\"/ja/guides/quick-start/install-tuist.md\",\"title\":\"Tuistのインストール\",\"titleTemplate\":\":title · クイックスタート · ガイド · Tuist\",\"description\":\"開発環境にTuistをインストールする方法を学びます\"}},{\"path\":\"/ja/guides/server/accounts-and-projects.md\",\"url\":\"/ja/guides/server/accounts-and-projects\",\"llmUrl\":\"/ja/guides/server/accounts-and-projects.md\",\"content\":\"---\\nURL: \\\"/ja/guides/server/accounts-and-projects\\\"\\nLLMS_URL: \\\"/ja/guides/server/accounts-and-projects.md\\\"\\ntitle: \\\"Accounts and projects\\\"\\ntitleTemplate: \\\":title | Server | Guides | Tuist\\\"\\ndescription: \\\"Learn how to create and manage accounts and projects in Tuist.\\\"\\n---\\n\\n# Accounts and projects {#accounts-and-projects}\\n\\n## Accounts {#accounts}\\n\\nTo use the server, you'll need an account. There are two types of accounts:\\n\\n- **Personal account:** Those accounts are created automaticaly when you sign up and are identified by a handle that's obtained either from the identity provider (e.g. GitHub) or the first part of the email address.\\n- **Organization account:** Those accounts are manually created and are identified by a handle that's defined by the developer. Organizations allow inviting other members to collaborate on projects.\\n\\nIf you are familiar with [GitHub](https://github.com), the concept is similar to theirs, where you can have personal and organization accounts, and they are identified by a _handle_ that's used when constructing URLs.\\n\\n> [!NOTE] CLI-FIRST\\n> Most operations to manage accounts and projects are done through the CLI. We are working on a web interface that will make it easier to manage accounts and projects.\\n\\nYou can manage the organization through the subcommands under `tuist organization`. To create a new organization account, run:\\n\\n```bash\\ntuist organization create {account-handle}\\n```\\n\\n## Projects {#projects}\\n\\nYour projects, either Tuist's or raw Xcode's, need to be integrated with your account through a remote project. Continuing with the comparison with GitHub, it's like having a local and a remote repository where you push your changes. You can use the `tuist project` to create and manage projects.\\n\\nProjects are identified by a full handle, which is the result of concatenating the organization handle and the project handle. For example, if you have an organization with the handle `tuist`, and a project with the handle `tuist`, the full handle would be `tuist/tuist`.\\n\\nThe binding between the local and the remote project is done through the configuration file. If you don't have any, create it at `Tuist.swift` and add the following content:\\n\\n```swift\\nlet tuist = Tuist(fullHandle: \\\"{account-handle}/{project-handle}\\\") // e.g. tuist/tuist\\n```\\n\\n> [!IMPORTANT] TUIST PROJECT-ONLY FEATURES\\n> Note that there are some features like binary caching that require you having a Tuist project. If you are using raw Xcode projects, you won't be able to use those features.\\n\\nYour project's URL is constructed by using the full handle. For example, Tuist's dashboard, which is public, is accessible at [cloud.tuist.io/tuist/tuist](https://cloud.tuist.io/tuist/tuist), where `tuist/tuist` is the project's full handle.\\n\",\"title\":\"Accounts and projects\",\"frontmatter\":{\"URL\":\"/ja/guides/server/accounts-and-projects\",\"LLMS_URL\":\"/ja/guides/server/accounts-and-projects.md\",\"title\":\"Accounts and projects\",\"titleTemplate\":\":title | Server | Guides | Tuist\",\"description\":\"Learn how to create and manage accounts and projects in Tuist.\"}},{\"path\":\"/ja/guides/server/authentication.md\",\"url\":\"/ja/guides/server/authentication\",\"llmUrl\":\"/ja/guides/server/authentication.md\",\"content\":\"---\\nURL: \\\"/ja/guides/server/authentication\\\"\\nLLMS_URL: \\\"/ja/guides/server/authentication.md\\\"\\ntitle: \\\"Authentication\\\"\\ntitleTemplate: \\\":title | Server | Guides | Tuist\\\"\\ndescription: \\\"Learn how to authenticate with the Tuist server from the CLI.\\\"\\n---\\n\\n# Authentication {#authentication}\\n\\nTo interact with the server, the CLI needs to authenticate the requests using [bearer authentication](https://swagger.io/docs/specification/authentication/bearer-authentication/). The CLI supports authenticating as a user or as a project.\\n\\n## As a user {#as-a-user}\\n\\nWhen using the CLI locally on your machine, we recommend authenticating as a user. To authenticate as a user, you need to run the following command:\\n\\n```bash\\ntuist auth login\\n```\\n\\nThe command will take you through a web-based authentication flow. Once you authenticate, the CLI will store a long-lived refresh token and a short-lived access token under `~/.config/tuist/credentials`. Each file in the directory represents the domain you authenticated against, which by default should be `cloud.tuist.io.json`. The information stored in that directory is sensitive, so **make sure to keep it safe**.\\n\\nThe CLI will automatically look up the credentials when making requests to the server. If the access token is expired, the CLI will use the refresh token to get a new access token.\\n\\n### Organization SSO {#organization-sso}\\n\\nIf you have a Google Workspace organization and you want any developer who signs in with the same Google hosted domain to be added to your Tuist organization, you can set it up with:\\n\\n```bash\\ntuist organization update sso my-organization --provider google --organization-id my-google-domain.com\\n```\\n\\nFor on-premise customers that have Okta set up, you can get the same behavior as for Google by running:\\n\\n```bash\\ntuist organization update sso my-organization --provider okta --organization-id my-okta-domain.com\\n```\\n\\n> [!IMPORTANT]\\n> You must be authenticated with Google using an email tied to the organization whose domain you are setting up.\\n\\n## As a project {#as-a-project}\\n\\nIn non-interactive environments like continuous integrations', you can't authenticate through an interactive flow. For those environments, we recommend authenticating as a project by using a project-scoped token:\\n\\n```bash\\ntuist project tokens create\\n```\\n\\nThe CLI expects the token to be defined as the environment variable `TUIST_CONFIG_TOKEN`, and the `CI=1` environment variable to be set. The CLI will use the token to authenticate the requests.\\n\\n> [!IMPORTANT] LIMITED SCOPE\\n> The permissions of the project-scoped token are limited to the actions that we consider safe for projects to perform from a CI environment. We plan to document the permissions that the token has in the future.\\n\",\"title\":\"Authentication\",\"frontmatter\":{\"URL\":\"/ja/guides/server/authentication\",\"LLMS_URL\":\"/ja/guides/server/authentication.md\",\"title\":\"Authentication\",\"titleTemplate\":\":title | Server | Guides | Tuist\",\"description\":\"Learn how to authenticate with the Tuist server from the CLI.\"}},{\"path\":\"/ja/guides/server/self-host/install.md\",\"url\":\"/ja/guides/server/self-host/install\",\"llmUrl\":\"/ja/guides/server/self-host/install.md\",\"content\":\"---\\nURL: \\\"/ja/guides/server/self-host/install\\\"\\nLLMS_URL: \\\"/ja/guides/server/self-host/install.md\\\"\\ntitle: \\\"Installation\\\"\\ntitleTemplate: \\\":title | Self-hosting | Server | Guides | Tuist\\\"\\ndescription: \\\"Learn how to install Tuist on your infrastructure.\\\"\\n---\\n\\n# On-premise installation {#onpremise-installation}\\n\\nWe offer a self-hosted version of the Tuist server for organizations that require more control over their infrastructure. This version allows you to host Tuist on your own infrastructure, ensuring that your data remains secure and private.\\n\\n> [!IMPORTANT] ENTERPRISE CUSTOMERS ONLY\\n> The on-premise version of Tuist is available only for organizations on the Enterprise plan. If you are interested in this version, please reach out to [[email protected]](mailto:[email protected]).\\n\\n## Release cadence {#release-cadence}\\n\\nThe Tuist server is **released every Monday** and the version name follows the convention name `{MAJOR}.YY.MM.DD`. The date component is used to warn the CLI user if their hosted version is 60 days older than the release date of the CLI. It's crucial that on-premise organizations keep up with Tuist updates to ensure their developers benefit from the most recent improvements and that we can drop deprecated features with the confidence that we are not breaking any of the on-premise setups.\\n\\nThe major component of the CLI is used to flag breaking changes in the Tuist server that will require coordination with the on-premise users. You should not expect us to use it, and in case we needed, rest asure we'll work with you in making the transition smooth.\\n\\n> [!NOTE] RELEASE NOTES\\n> You'll be given access to a `tuist/registry` repository associated with the registry where images are published. Every new released will be published in that repository as a GitHub release and will contain release notes to inform you about what changes come with it.\\n\\n## Runtime requirements {#runtime-requirements}\\n\\nThis section outlines the requirements for hosting the Tuist server on your infrastructure.\\n\\n### Running Docker-virtualized images {#running-dockervirtualized-images}\\n\\nWe distribute the server as a [Docker](https://www.docker.com/) image via [GitHub’s Container Registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry).\\n\\nTo run it, your infrastructure must support running Docker images. Note that most infrastructure providers support it because it’s become the standard container for distributing and running software in production environments.\\n\\n### Postgres database {#postgres-database}\\n\\nIn addition to running the Docker images, you’ll need a [Postgres database](https://www.postgresql.org/) to store relational data. Most infrastructure providers include Posgres databases in their offering (e.g., [AWS](https://aws.amazon.com/rds/postgresql/) & [Google Cloud](https://cloud.google.com/sql/docs/postgres)).\\n\\nFor performant analytics, we use a [Timescale Postgres extension](https://www.timescale.com/). You need to make sure that TimescaleDB is installed on the machine running the Postgres database. Follow the installation instructions [here](https://docs.timescale.com/self-hosted/latest/install/) to learn more. If you are unable to install the Timescale extension, you can set up your own dashboard using the Prometheus metrics.\\n\\n> [!INFO] MIGRATIONS\\n> The Docker image's entrypoint automatically runs any pending schema migrations before starting the service.\\n\\n### ClickHouse database {#clickhouse-database}\\n\\nTo store large amount of data, we are using [ClickHouse](https://clickhouse.com/). Some features, like build insights, will only work with ClickHouse enabled. ClickHouse will eventually replace the Timescale Postgres extension. You can choose whether to self-host ClickHouse or use their hosted service.\\n\\n> [!INFO] MIGRATIONS\\n> The Docker image's entrypoint automatically runs any pending ClickHouse schema migrations before starting the service.\\n\\n### Storage {#storage}\\n\\nYou’ll also need a solution to store files (e.g. framework and library binaries). Currently we support any storage that's S3-compliant.\\n\\n## Configuration {#configuration}\\n\\nThe configuration of the service is done at runtime through environment variables. Given the sensitive nature of these variables, we advise encrypting and storing them in secure password management solutions. Rest assured, Tuist handles these variables with utmost care, ensuring they are never displayed in logs.\\n\\n> [!NOTE] LAUNCH CHECKS\\n> The necessary variables are verified at startup. If any are missing, the launch will fail and the error message will detail the absent variables.\\n\\n### License configuration {#license-configuration}\\n\\nAs an on-premise user, you'll receive a license key that you'll need to expose as an environment variable. This key is used to validate the license and ensure that the service is running within the terms of the agreement.\\n\\n| Environment variable | Description | Required | Default | Example |\\n| -------------------- | -------------------------------------------------------------- | -------- | ------- | -------- |\\n| `TUIST_LICENSE` | The license provided after signing the service level agreement | Yes | | `******` |\\n\\n> [!IMPORTANT] EXPIRATION DATE\\n> Licenses have an expiration date. Users will receive a warning while using Tuist commands that interact with the server if the license expires in less than 30 days. If you are interested in renewing your license, please reach out to [[email protected]](mailto:[email protected]).\\n\\n### Base environment configuration {#base-environment-configuration}\\n\\n| Environment variable | Description | Required | Default | Example | |\\n| ------------------------------ | -------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------ | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |\\n| `TUIST_APP_URL` | The base URL to access the instance from the Internet | Yes | | https://cloud.tuist.io | |\\n| `TUIST_SECRET_KEY_BASE` | The key to use to encrypt information (e.g. sessions in a cookie) | Yes | | | `c5786d9f869239cbddeca645575349a570ffebb332b64400c37256e1c9cb7ec831345d03dc0188edd129d09580d8cbf3ceaf17768e2048c037d9c31da5dcacfa` |\\n| `TUIST_SECRET_KEY_PASSWORD` | Pepper to generate hashed passwords | No | `$TUIST_SECRET_KEY_BASE` | | |\\n| `TUIST_SECRET_KEY_TOKENS` | Secret key to generate random tokens | No | `$TUIST_SECRET_KEY_BASE` | | |\\n| `TUIST_USE_IPV6` | When `1` it configures the app to use IPv6 addresses | No | `0` | `1` | |\\n| `TUIST_LOG_LEVEL` | The log level to use for the app | No | `info` | [Log levels](https://hexdocs.pm/logger/1.12.3/Logger.html#module-levels) | |\\n| `TUIST_GITHUB_APP_PRIVATE_KEY` | The private key used for the GitHub app to unlock extra functionality such as posting automatic PR comments | No | `-----BEGIN RSA...` | | |\\n| `TUIST_OPS_USER_HANDLES` | A comma-separated list of user handles that have access to the operations URLs | No | | `user1,user2` | |\\n\\n### Database configuration {#database-configuration}\\n\\nThe following environment variables are used to configure the database connection:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ---------------------------------------------------------------------- |\\n| `DATABASE_URL` | The URL to access the Postgres database. Note that the URL should contain the authentication information | Yes | | `postgres://username:[email protected]/production` |\\n| `TUIST_CLICKHOUSE_URL` | The URL to access the ClickHouse database. Note that the URL should contain the authentication information | No | | `http://username:[email protected]/production` |\\n| `TUIST_USE_SSL_FOR_DATABASE` | When true, it uses [SSL](https://en.wikipedia.org/wiki/Transport_Layer_Security) to connect to the database | No | `1` | `1` |\\n| `TUIST_DATABASE_POOL_SIZE` | The number of connections to keep open in the connection pool | No | `10` | `10` |\\n| `TUIST_DATABASE_QUEUE_TARGET` | The interval (in miliseconds) for checking if all the connections checked out from the pool took more than the queue interval [(More information)](https://hexdocs.pm/db_connection/DBConnection.html#start_link/2-queue-config) | No | `300` | `300` |\\n| `TUIST_DATABASE_QUEUE_INTERVAL` | The threshold time (in miliseconds) in the queue that the pool uses to determine if it should start dropping new connections [(More information)](https://hexdocs.pm/db_connection/DBConnection.html#start_link/2-queue-config) | No | `1000` | `1000` |\\n\\n### Authentication environment configuration {#authentication-environment-configuration}\\n\\nWe facilitate authentication through [identity providers (IdP)](https://en.wikipedia.org/wiki/Identity_provider). To utilize this, ensure all necessary environment variables for the chosen provider are present in the server's environment. **Missing variables** will result in Tuist bypassing that provider.\\n\\n#### GitHub {#github}\\n\\nWe recommend authenticating using a [GitHub App](https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps) but you can also use the [OAuth App](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app). Make sure to include all essential environment variables specified by GitHub in the server environment. Absent variables will cause Tuist to overlook the GitHub authentication. To properly set up the GitHub app:\\n\\n- In the GitHub app's general settings:\\n - Copy the `Client ID` and set it as `TUIST_GITHUB_APP_CLIENT_ID`\\n - Create and copy a new `client secret` and set it as `TUIST_GITHUB_APP_CLIENT_SECRET`\\n - Set the `Callback URL` as `http://YOUR_APP_URL/users/auth/github/callback`. `YOUR_APP_URL` can also be your server's IP address.\\n- The following permissions are required:\\n - Repositories:\\n - Pull requests: Read and write\\n - Accounts:\\n - Email addresses: Read-only\\n\\nIn the `Permissions and events`'s `Account permissions` section, set the `Email addresses` permission to `Read-only`.\\n\\nYou'll then need to expose the following environment variables in the environment where the Tuist server runs:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| -------------------------------- | --------------------------------------- | -------- | ------- | ------------------------------------------ |\\n| `TUIST_GITHUB_APP_CLIENT_ID` | The client ID of the GitHub application | Yes | | `Iv1.a629723000043722` |\\n| `TUIST_GITHUB_APP_CLIENT_SECRET` | The client secret of the application | Yes | | `232f972951033b89799b0fd24566a04d83f44ccc` |\\n\\n#### Google {#google}\\n\\nYou can set up authentication with Google using [OAuth 2](https://developers.google.com/identity/protocols/oauth2). For that, you'll need to create a new credential of type OAuth client ID. When creating the credentials, select \\\"Web Application\\\" as application type, name it `Tuist`, and set the redirect URI to `{base_url}/users/auth/google/callback` where `base_url` is the URL your hosted-service is running at. Once you create the app, copy the client ID and secret and set them as environment variables `GOOGLE_CLIENT_ID` and `GOOGLE_CLIENT_SECRET` respectively.\\n\\n> [!NOTE] CONSENT SCREEN SCOPES\\n> You might need to create a consent screen. When you do so, make sure to add the `userinfo.email` and `openid` scopes and mark the app as internal.\\n\\n#### Okta {#okta}\\n\\nYou can enable authentication with Okta through the [OAuth 2.0](https://oauth.net/2/) protocol. You'll have to [create an app](https://developer.okta.com/docs/en/guides/implement-oauth-for-okta/main/#create-an-oauth-2-0-app-in-okta) on Okta with the following configuration:\\n\\n- **App integration name:** `Tuist`\\n- **Grant type:** Enable _Authorization Code_ for _Client acting on behalf of a user_\\n- **Sign-in redirect URL:** `{url}/users/auth/okta/callback` where `url` is the public URL your service is accessed through.\\n- **Assignments:** This configuration will depend on your security team requirements.\\n\\nOnce the app is created you'll need to set the following environment variables:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| -------------------------- | ---------------------------------------------- | -------- | ------- | --------------------------- |\\n| `TUIST_OKTA_SITE` | The URL of your Okta organization | Yes | | `https://your-org.okta.com` |\\n| `TUIST_OKTA_CLIENT_ID` | The client ID to authenticate against Okta | Yes | | |\\n| `TUIST_OKTA_CLIENT_SECRET` | The client secret to authenticate against Okta | Yes | | |\\n\\n### Storage environment configuration {#storage-environment-configuration}\\n\\nTuist needs storage to house artifacts uploaded through the API. It's **essential to configure one of the supported storage solutions** for Tuist to operate effectively.\\n\\n#### S3-compliant storages {#s3compliant-storages}\\n\\nYou can use any S3-compliant storage provider to store artifacts. The following environment variables are required to authenticate and configure the integration with the storage provider:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ------------------------------------------ |\\n| `TUIST_ACCESS_KEY_ID` or `AWS_ACCESS_KEY_ID` | The access key ID to authenticate against the storage provider | Yes | | `AKIAIOSFOD` |\\n| `TUIST_SECRET_ACCESS_KEY` or `AWS_SECRET_ACCESS_KEY` | The secret access key to authenticate against the storage provider | Yes | | `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` |\\n| `TUIST_S3_REGION` or `AWS_REGION` | The region where the bucket is located | Yes | | `us-west-2` |\\n| `TUIST_S3_ENDPOINT` or `AWS_ENDPOINT` | The endpoint of the storage provider | Yes | | `https://s3.us-west-2.amazonaws.com` |\\n| `TUIST_S3_BUCKET_NAME` | The name of the bucket where the artifacts will be stored | Yes | | `tuist-artifacts` |\\n| `TUIST_S3_REQUEST_TIMEOUT` | The timeout (in seconds) for requests to the storage provider | No | `30` | `30` |\\n| `TUIST_S3_POOL_TIMEOUT` | The timeout (in seconds) for the connection pool to the storage provider | No | `5` | `5` |\\n| `TUIST_S3_POOL_COUNT` | The number of pools to use for connections to the storage provider | No | `1` | `1` |\\n| `TUIST_S3_PROTOCOL` | The protocol to use when connecting to the storage provider (`http1` or `http2`) | No | `http2` | `http2` |\\n| `TUIST_S3_VIRTUAL_HOST` | Whether the URL should be constructed with the bucket name as a sub-domain (virtual host). | No | No | `1` |\\n\\n> [!NOTE] AWS authentication with Web Identity Token from environment variables\\n> If your storage provider is AWS and you'd like to authenticate using a web identity token, you can set the environment variable `TUIST_S3_AUTHENTICATION_METHOD` to `aws_web_identity_token_from_env_vars`, and Tuist will use that method using the conventional AWS environment variables.\\n\\n#### Google Cloud Storage {#google-cloud-storage}\\n\\nFor Google Cloud Storage, follow [these docs](https://cloud.google.com/storage/docs/authentication/managing-hmackeys) to get the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` pair. The `AWS_ENDPOINT` should be set to `https://storage.googleapis.com`. Other environment variables are the same as for any other S3-compliant storage.\\n\\n### Git platform configuration {#git-platform-configuration}\\n\\nTuist can integrate with Git platforms to provide extra features such as automatically posting comments in your pull requests.\\n\\n#### GitHub {#platform-github}\\n\\nYou will need to [create a GitHub app](https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps). You can reuse the one you created for authentication, unless you created an OAuth GitHub app. In the `Permissions and events`'s `Repository permissions` section, you will need to additionally set the `Pull requests` permission to `Read and write`.\\n\\nOn top of the `TUIST_GITHUB_APP_CLIENT_ID` and `TUIST_GITHUB_APP_CLIENT_SECRET`, you will need the following environment variables:\\n\\n| Environment variable | Description | Required | Default | Example |\\n| ------------------------------ | ----------------------------------------- | -------- | ------- | ------------------------------------ |\\n| `TUIST_GITHUB_APP_PRIVATE_KEY` | The private key of the GitHub application | Yes | | `-----BEGIN RSA PRIVATE KEY-----...` |\\n\\n## Deployment {#deployment}\\n\\nOn-premise users are granted access to the repository located at [tuist/registry](https://github.com/cloud/registry) which has a linked container registry for pulling images. Currently, the container registry allows authentication only as an individual user. Therefore, users with repository access must generate a **personal access token** within the Tuist organization, ensuring they have the necessary permissions to read packages. After submission, we will promptly approve this token.\\n\\n> [!IMPORTANT] USER VS ORGANIZATION-SCOPED TOKENS\\n> Using a personal access token presents a challenge because it's associated with an individual who might eventually depart from the enterprise organization. GitHub recognizes this limitation and is actively developing a solution to allow GitHub apps to authenticate with app-generated tokens.\\n\\n### Pulling the Docker image {#pulling-the-docker-image}\\n\\nAfter generating the token, you can retrieve the image by executing the following command:\\n\\n```bash\\necho $TOKEN | docker login ghcr.io -u USERNAME --password-stdin\\ndocker pull ghcr.io/tuist/tuist:latest\\n```\\n\\n### Deploying the Docker image {#deploying-the-docker-image}\\n\\nThe deployment process for the Docker image will differ based on your chosen cloud provider and your organization's continuous deployment approach. Since most cloud solutions and tools, like [Kubernetes](https://kubernetes.io/), utilize Docker images as fundamental units, the examples in this section should align well with your existing setup.\\n\\nWe recommend establishing a deployment pipeline that that runs **every Tuesday**, pulling and deploying fresh images. This ensures you consistently benefit from the latest improvements.\\n\\n> [!IMPORTANT]\\n> If your deployment pipeline needs to validate that the server is up and running, you can send a `GET` HTTP request to `/ready` and assert a `200` status code in the response.\\n\\n#### Fly {#fly}\\n\\nTo deploy the app on [Fly](https://fly.io/), you'll require a `fly.toml` configuration file. Consider generating it dynamically within your Continuous Deployment (CD) pipeline. Below is a reference example for your use:\\n\\n```toml\\napp = \\\"tuist\\\"\\nprimary_region = \\\"fra\\\"\\nkill_signal = \\\"SIGINT\\\"\\nkill_timeout = \\\"5s\\\"\\n\\n[experimental]\\n auto_rollback = true\\n\\n[env]\\n # Your environment configuration goes here\\n # Or exposed through Fly secrets\\n\\n[processes]\\n app = \\\"/usr/local/bin/hivemind /app/Procfile\\\"\\n\\n[[services]]\\n protocol = \\\"tcp\\\"\\n internal_port = 8080\\n auto_stop_machines = false\\n auto_start_machines = false\\n processes = [\\\"app\\\"]\\n http_options = { h2_backend = true }\\n\\n [[services.ports]]\\n port = 80\\n handlers = [\\\"http\\\"]\\n force_https = true\\n\\n [[services.ports]]\\n port = 443\\n handlers = [\\\"tls\\\", \\\"http\\\"]\\n [services.concurrency]\\n type = \\\"connections\\\"\\n hard_limit = 100\\n soft_limit = 80\\n\\n [[services.http_checks]]\\n interval = 10000\\n grace_period = \\\"10s\\\"\\n method = \\\"get\\\"\\n path = \\\"/ready\\\"\\n protocol = \\\"http\\\"\\n timeout = 2000\\n tls_skip_verify = false\\n [services.http_checks.headers]\\n\\n[[statics]]\\n guest_path = \\\"/app/public\\\"\\n url_prefix = \\\"/\\\"\\n```\\n\\nThen you can run `fly launch --local-only --no-deploy` to launch the app. On subsequent deploys, instead of running `fly launch --local-only`, you will need to run `fly deploy --local-only`. Fly.io doesn't allow to pull private Docker images, which is why we need to use the `--local-only` flag.\\n\\n### Docker Compose {#docker-compose}\\n\\nBelow is an example of a `docker-compose.yml` file that you can use as a reference to deploy the service:\\n\\n```yaml\\nversion: '3.8'\\nservices:\\n db:\\n image: timescale/timescaledb-ha:pg16\\n restart: always\\n environment:\\n - POSTGRES_USER=postgres\\n - POSTGRES_PASSWORD=postgres\\n - PGDATA=/var/lib/postgresql/data/pgdata\\n ports:\\n - '5432:5432'\\n volumes:\\n - db:/var/lib/postgresql/data\\n healthcheck:\\n test: [\\\"CMD-SHELL\\\", \\\"pg_isready -U postgres\\\"]\\n interval: 5s\\n timeout: 5s\\n retries: 5\\n\\n pgweb:\\n container_name: pgweb\\n restart: always\\n image: sosedoff/pgweb\\n ports:\\n - \\\"8081:8081\\\"\\n links:\\n - db:db\\n environment:\\n PGWEB_DATABASE_URL: postgres://postgres:postgres@db:5432/postgres?sslmode=disable\\n depends_on:\\n - db\\n\\n tuist:\\n image: ghcr.io/tuist/tuist:latest\\n container_name: tuist\\n depends_on:\\n - db\\n ports:\\n - \\\"80:80\\\"\\n - \\\"8080:8080\\\"\\n - \\\"443:443\\\"\\n expose:\\n - \\\"80\\\"\\n - \\\"8080\\\"\\n - \\\"443:443\\\"\\n environment:\\n # Base Tuist Env - https://docs.tuist.io/en/guides/dashboard/on-premise/install#base-environment-configuration\\n TUIST_USE_SSL_FOR_DATABASE: \\\"0\\\"\\n TUIST_LICENSE: # ...\\n DATABASE_URL: postgres://postgres:postgres@db:5432/postgres?sslmode=disable\\n TUIST_APP_URL: https://localhost:8080\\n TUIST_SECRET_KEY_BASE: # ...\\n WEB_CONCURRENCY: 80\\n\\n # Auth - one method\\n # GitHub Auth - https://docs.tuist.io/en/guides/dashboard/on-premise/install#github\\n TUIST_GITHUB_OAUTH_ID:\\n TUIST_GITHUB_APP_CLIENT_SECRET:\\n\\n # Okta Auth - https://docs.tuist.io/en/guides/dashboard/on-premise/install#okta\\n TUIST_OKTA_SITE:\\n TUIST_OKTA_CLIENT_ID:\\n TUIST_OKTA_CLIENT_SECRET:\\n TUIST_OKTA_AUTHORIZE_URL: # Optional\\n TUIST_OKTA_TOKEN_URL: # Optional\\n TUIST_OKTA_USER_INFO_URL: # Optional\\n TUIST_OKTA_EVENT_HOOK_SECRET: # Optional\\n\\n # Storage\\n AWS_ACCESS_KEY_ID: # ...\\n AWS_SECRET_ACCESS_KEY: # ...\\n AWS_S3_REGION: # ...\\n AWS_ENDPOINT: # https://amazonaws.com\\n TUIST_S3_BUCKET_NAME: # ...\\n\\n # Other\\n\\nvolumes:\\n db:\\n driver: local\\n```\\n\\n## Operations {#operations}\\n\\nTuist provides a set of utilities under `/ops/` that you can use to manage your instance.\\n\\n> [!IMPORTANT] Authorization\\n> Only people whose handles are listed in the `TUIST_OPS_USER_HANDLES` environment variable can access the `/ops/` endpoints.\\n\\n- **Errors (`/ops/errors`):** You can view unexpected errors that ocurred in the application. This is useful for debugging and understanding what went wrong and we might ask you to share this information with us if you're facing issues.\\n- **Dashboard (`/ops/dashboard`):** You can view a dashboard that provides insights into the application's performance and health (e.g. memory consumption, processes running, number of requests). This dashboard can be quite useful to understand if the hardware you're using is enough to handle the load.\\n\",\"title\":\"Installation\",\"frontmatter\":{\"URL\":\"/ja/guides/server/self-host/install\",\"LLMS_URL\":\"/ja/guides/server/self-host/install.md\",\"title\":\"Installation\",\"titleTemplate\":\":title | Self-hosting | Server | Guides | Tuist\",\"description\":\"Learn how to install Tuist on your infrastructure.\"}},{\"path\":\"/ja/guides/server/self-host/telemetry.md\",\"url\":\"/ja/guides/server/self-host/telemetry\",\"llmUrl\":\"/ja/guides/server/self-host/telemetry.md\",\"content\":\"---\\nURL: \\\"/ja/guides/server/self-host/telemetry\\\"\\nLLMS_URL: \\\"/ja/guides/server/self-host/telemetry.md\\\"\\ntitle: \\\"Metrics\\\"\\ntitleTemplate: \\\":title | Self-hosting | Server | Guides | Tuist\\\"\\ndescription: \\\"Optimize your build times by caching compiled binaries and sharing them across different environments.\\\"\\n---\\n\\n# Metrics {#metrics}\\n\\nYou can ingest metrics gathered by the Tuist server using [Prometheus](https://prometheus.io/) and a visualization tool such as [Grafana](https://grafana.com/) to create a custom dashboard tailored to your needs. The Prometheus metrics are served via the `/metrics` endpoint on port 9091. The Prometheus' [scrape_interval](https://prometheus.io/docs/introduction/first_steps/#configuring-prometheus) should be set as less than 10_000 seconds (we recommend keeping the default of 15 seconds).\\n\\n## Elixir metrics {#elixir-metrics}\\n\\nBy default we include metrics of the Elixir runtime, BEAM, Elixir, and some of the libraries we use. The following are some of the metrics you can expect to see:\\n\\n- [Application](https://hexdocs.pm/prom_ex/PromEx.Plugins.Application.html)\\n- [BEAM](https://hexdocs.pm/prom_ex/PromEx.Plugins.Beam.html)\\n- [Phoenix](https://hexdocs.pm/prom_ex/PromEx.Plugins.Phoenix.html)\\n- [Phoenix LiveView](https://hexdocs.pm/prom_ex/PromEx.Plugins.PhoenixLiveView.html)\\n- [Ecto](https://hexdocs.pm/prom_ex/PromEx.Plugins.Ecto.html)\\n- [Oban](https://hexdocs.pm/prom_ex/PromEx.Plugins.Oban.html)\\n\\nWe recommend checking those pages to know which metrics are available and how to use them.\\n\\n## Runs metrics {#runs-metrics}\\n\\nA set of metrics related to Tuist Runs.\\n\\n### `tuist_runs_total` (counter) {#tuist_runs_total-counter}\\n\\nThe total number of Tuist Runs.\\n\\n#### Tags {#tuist-runs-total-tags}\\n\\n| Tag | Description |\\n| -------- | ------------------------------------------------------------------------------------------- |\\n| `name` | The name of the `tuist` command that was run, such as `build`, `test`, etc. |\\n| `is_ci` | A boolean indicating if the executor was a CI or a developer's machine. |\\n| `status` | `0` in case of `success`, `1` in case of `failure`. |\\n\\n### `tuist_runs_duration_milliseconds` (histogram) {#tuist_runs_duration_milliseconds-histogram}\\n\\nThe total duration of each tuist run in milliseconds.\\n\\n#### Tags {#tuist-runs-duration-miliseconds-tags}\\n\\n| Tag | Description |\\n| -------- | ------------------------------------------------------------------------------------------- |\\n| `name` | The name of the `tuist` command that was run, such as `build`, `test`, etc. |\\n| `is_ci` | A boolean indicating if the executor was a CI or a developer's machine. |\\n| `status` | `0` in case of `success`, `1` in case of `failure`. |\\n\\n## Cache metrics {#cache-metrics}\\n\\nA set of metrics related to the Tuist Cache.\\n\\n### `tuist_cache_events_total` (counter) {#tuist_cache_events_total-counter}\\n\\nThe total number of binary cache events.\\n\\n#### Tags {#tuist-cache-events-total-tags}\\n\\n| Tag | Description |\\n| ------------ | ---------------------------------------------------------------------- |\\n| `event_type` | Can be either of `local_hit`, `remote_hit`, or `miss`. |\\n\\n### `tuist_cache_uploads_total` (counter) {#tuist_cache_uploads_total-counter}\\n\\nThe number of uploads to the binary cache.\\n\\n### `tuist_cache_uploaded_bytes` (sum) {#tuist_cache_uploaded_bytes-sum}\\n\\nThe number of bytes uploaded to the binary cache.\\n\\n### `tuist_cache_downloads_total` (counter) {#tuist_cache_downloads_total-counter}\\n\\nThe number of downloads to the binary cache.\\n\\n### `tuist_cache_downloaded_bytes` (sum) {#tuist_cache_downloaded_bytes-sum}\\n\\nThe number of bytes downloaded from the binary cache.\\n\\n---\\n\\n## Previews metrics {#previews-metrics}\\n\\nA set of metrics related to the previews feature.\\n\\n### `tuist_previews_uploads_total` (sum) {#tuist_previews_uploads_total-counter}\\n\\nThe total number of previews uploaded.\\n\\n### `tuist_previews_downloads_total` (sum) {#tuist_previews_downloads_total-counter}\\n\\nThe total number of previews downloaded.\\n\\n---\\n\\n## Storage metrics {#storage-metrics}\\n\\nA set of metrics related to the storage of artifacts in a remote storage (e.g. s3).\\n\\n> [!TIP]\\n> These metrics are useful to understand the performance of the storage operations and to identify potential bottlenecks.\\n\\n### `tuist_storage_get_object_size_size_bytes` (histogram) {#tuist_storage_get_object_size_size_bytes-histogram}\\n\\nThe size (in bytes) of an object fetched from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-size-size-bytes-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_get_object_size_duration_miliseconds` (histogram) {#tuist_storage_get_object_size_duration_miliseconds-histogram}\\n\\nThe duration (in milliseconds) of fetching an object size from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-size-duration-miliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_get_object_size_count` (counter) {#tuist_storage_get_object_size_count-counter}\\n\\nThe number of times an object size was fetched from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-size-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_delete_all_objects_duration_milliseconds` (histogram) {#tuist_storage_delete_all_objects_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of deleting all objects from the remote storage.\\n\\n#### Tags {#tuist-storage-delete-all-objects-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| -------------- | -------------------------------------------------------------------------------- |\\n| `project_slug` | The project slug of the project whose objects are being deleted. |\\n\\n### `tuist_storage_delete_all_objects_count` (counter) {#tuist_storage_delete_all_objects_count-counter}\\n\\nThe number of times all project objects were deleted from the remote storage.\\n\\n#### Tags {#tuist-storage-delete-all-objects-count-tags}\\n\\n| Tag | Description |\\n| -------------- | -------------------------------------------------------------------------------- |\\n| `project_slug` | The project slug of the project whose objects are being deleted. |\\n\\n### `tuist_storage_multipart_start_upload_duration_milliseconds` (histogram) {#tuist_storage_multipart_start_upload_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of starting an upload to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-start-upload-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_multipart_start_upload_duration_count` (counter) {#tuist_storage_multipart_start_upload_duration_count-counter}\\n\\nThe number of times an upload was started to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-start-upload-duration-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_get_object_as_string_duration_milliseconds` (histogram) {#tuist_storage_get_object_as_string_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of fetching an object as a string from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-as-string-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_get_object_as_string_count` (count) {#tuist_storage_get_object_as_string_count-count}\\n\\nThe number of times an object was fetched as a string from the remote storage.\\n\\n#### Tags {#tuist-storage-get-object-as-string-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_check_object_existence_duration_milliseconds` (histogram) {#tuist_storage_check_object_existence_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of checking the existence of an object in the remote storage.\\n\\n#### Tags {#tuist-storage-check-object-existence-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_check_object_existence_count` (count) {#tuist_storage_check_object_existence_count-count}\\n\\nThe number of times the existence of an object was checked in the remote storage.\\n\\n#### Tags {#tuist-storage-check-object-existence-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_generate_download_presigned_url_duration_milliseconds` (histogram) {#tuist_storage_generate_download_presigned_url_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of generating a download presigned URL for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-generate-download-presigned-url-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_generate_download_presigned_url_count` (count) {#tuist_storage_generate_download_presigned_url_count-count}\\n\\nThe number of times a download presigned URL was generated for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-generate-download-presigned-url-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n\\n### `tuist_storage_multipart_generate_upload_part_presigned_url_duration_milliseconds` (histogram) {#tuist_storage_multipart_generate_upload_part_presigned_url_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of generating a part upload presigned URL for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-generate-upload-part-presigned-url-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------- | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `part_number` | The part number of the object being uploaded. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n### `tuist_storage_multipart_generate_upload_part_presigned_url_count` (count) {#tuist_storage_multipart_generate_upload_part_presigned_url_count-count}\\n\\nThe number of times a part upload presigned URL was generated for an object in the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-generate-upload-part-presigned-url-count-tags}\\n\\n| Tag | Description |\\n| ------------- | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `part_number` | The part number of the object being uploaded. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n### `tuist_storage_multipart_complete_upload_duration_milliseconds` (histogram) {#tuist_storage_multipart_complete_upload_duration_milliseconds-histogram}\\n\\nThe duration (in milliseconds) of completing an upload to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-complete-upload-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n### `tuist_storage_multipart_complete_upload_count` (count) {#tuist_storage_multipart_complete_upload_count-count}\\n\\nThe total number of times an upload was completed to the remote storage.\\n\\n#### Tags {#tuist-storage-multipart-complete-upload-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ------------------------------------------------------------------- |\\n| `object_key` | The lookup key of the object in the remote storage. |\\n| `upload_id` | The upload ID of the multipart upload. |\\n\\n---\\n\\n## Projects metrics {#projects-metrics}\\n\\nA set of metrics related to the projects.\\n\\n### `tuist_projects_total` (last_value) {#tuist_projects_total-last_value}\\n\\nThe total number of projects.\\n\\n---\\n\\n## Accounts metrics {#accounts-metrics}\\n\\nA set of metrics related to accounts (users and organizations).\\n\\n### `tuist_accounts_organizations_total` (last_value) {#tuist_accounts_organizations_total-last_value}\\n\\nThe total number of organizations.\\n\\n### `tuist_accounts_users_total` (last_value) {#tuist_accounts_users_total-last_value}\\n\\nThe total number of users.\\n\\n## Database metrics {#database-metrics}\\n\\nA set of metrics related to the database connection.\\n\\n### `tuist_repo_pool_checkout_queue_length` (last_value) {#tuist_repo_pool_checkout_queue_length-last_value}\\n\\nThe number of database queries that are sitting in a queue waiting to be assigned to a database connection.\\n\\n### `tuist_repo_pool_ready_conn_count` (last_value) {#tuist_repo_pool_ready_conn_count-last_value}\\n\\nThe number of database connections that are ready to be assigned to a database query.\\n\\n### `tuist_repo_pool_db_connection_connected` (counter) {#tuist_repo_pool_db_connection_connected-counter}\\n\\nThe number of connections that have been established to the database.\\n\\n### `tuist_repo_pool_db_connection_disconnected` (counter) {#tuist_repo_pool_db_connection_disconnected-counter}\\n\\nThe number of connections that have been disconnected from the database.\\n\\n## HTTP metrics {#http-metrics}\\n\\nA set of metrics related to Tuist's interactions with other services via HTTP.\\n\\n### `tuist_http_request_count` (counter) {#tuist_http_request_count-last_value}\\n\\nThe number of outgoing HTTP requests.\\n\\n### `tuist_http_request_duration_nanosecond_sum` (sum) {#tuist_http_request_duration_nanosecond_sum-last_value}\\n\\nThe sum of the duration of the outgoing requests (including the time that they spent waiting to be assigned to a connection).\\n\\n### `tuist_http_request_duration_nanosecond_bucket` (distribution) {#tuist_http_request_duration_nanosecond_bucket-distribution}\\n\\nThe distribution of the duration of outgoing requests (including the time that they spent waiting to be assigned to a connection).\\n\\n### `tuist_http_queue_count` (counter) {#tuist_http_queue_count-counter}\\n\\nThe number of requests that have been retrieved from the pool.\\n\\n### `tuist_http_queue_duration_nanoseconds_sum` (sum) {#tuist_http_queue_duration_nanoseconds_sum-sum}\\n\\nThe time it takes to retrieve a connection from the pool.\\n\\n### `tuist_http_queue_idle_time_nanoseconds_sum` (sum) {#tuist_http_queue_idle_time_nanoseconds_sum-sum}\\n\\nThe time a connection has been idle waiting to be retrieved.\\n\\n### `tuist_http_queue_duration_nanoseconds_bucket` (distribution) {#tuist_http_queue_duration_nanoseconds_bucket-distribution}\\n\\nThe time it takes to retrieve a connection from the pool.\\n\\n### `tuist_http_queue_idle_time_nanoseconds_bucket` (distribution) {#tuist_http_queue_idle_time_nanoseconds_bucket-distribution}\\n\\nThe time a connection has been idle waiting to be retrieved.\\n\\n### `tuist_http_connection_count` (counter) {#tuist_http_connection_count-counter}\\n\\nThe number of connections that have been established.\\n\\n### `tuist_http_connection_duration_nanoseconds_sum` (sum) {#tuist_http_connection_duration_nanoseconds_sum-sum}\\n\\nThe time it takes to establish a connection against a host.\\n\\n### `tuist_http_connection_duration_nanoseconds_bucket` (distribution) {#tuist_http_connection_duration_nanoseconds_bucket-distribution}\\n\\nThe distribution of the time it takes to establish a connection against a host.\\n\\n### `tuist_http_send_count` (counter) {#tuist_http_send_count-counter}\\n\\nThe number of requests that have been sent once assigned to a connection from the pool.\\n\\n### `tuist_http_send_duration_nanoseconds_sum` (sum) {#tuist_http_send_duration_nanoseconds_sum-sum}\\n\\nThe time that it takes for requests to complete once assigned to a connection from the pool.\\n\\n### `tuist_http_send_duration_nanoseconds_bucket` (distribution) {#tuist_http_send_duration_nanoseconds_bucket-distribution}\\n\\nThe distribution of the time that it takes for requests to complete once assigned to a connection from the pool.\\n\\n### `tuist_http_receive_count` (counter) {#tuist_http_receive_count-counter}\\n\\nThe number of responses that have been received from sent requests.\\n\\n### `tuist_http_receive_duration_nanoseconds_sum` (sum) {#tuist_http_receive_duration_nanoseconds_sum-sum}\\n\\nThe time spent receiving responses.\\n\\n### `tuist_http_receive_duration_nanoseconds_bucket` (distribution) {#tuist_http_receive_duration_nanoseconds_bucket-distribution}\\n\\nThe distribution of the time spent receiving responses.\\n\\n### `tuist_http_queue_available_connections` (last_value) {#tuist_http_queue_available_connections-last_value}\\n\\nThe number of connections available in the queue.\\n\\n### `tuist_http_queue_in_use_connections` (last_value) {#tuist_http_queue_in_use_connections-last_value}\\n\\nThe number of queue connections that are in use.\\n\",\"title\":\"Metrics\",\"frontmatter\":{\"URL\":\"/ja/guides/server/self-host/telemetry\",\"LLMS_URL\":\"/ja/guides/server/self-host/telemetry.md\",\"title\":\"Metrics\",\"titleTemplate\":\":title | Self-hosting | Server | Guides | Tuist\",\"description\":\"Optimize your build times by caching compiled binaries and sharing them across different environments.\"}},{\"path\":\"/ja/guides/tuist/about.md\",\"url\":\"/ja/guides/tuist/about\",\"llmUrl\":\"/ja/guides/tuist/about.md\",\"content\":\"---\\nURL: \\\"/ja/guides/tuist/about\\\"\\nLLMS_URL: \\\"/ja/guides/tuist/about.md\\\"\\ntitle: \\\"Tuist について\\\"\\ntitleTemplate: \\\":title · Guides · Tuist\\\"\\ndescription: \\\"Apple 標準の開発ツールを強化し、より大規模で優れたアプリを構築する。\\\"\\n---\\n\\n\\n\\n# About Tuist {#about-tuist}\\n\\nアプリ開発の世界、特に Apple のようなプラットフォームでは、組織はしばしば **生産性の問題** に直面します。これには、遅いコンパイル時間、不確実なテスト、リソースを消耗する複雑な自動化ワークフローが含まれます。 従来、企業は専任のプラットフォームチームを結成してこれらの問題に対処しています。 これらの専門家はコードベースの健全性と整合性を維持し、他の開発者が機能の開発に集中できるようにします。 しかし、このアプローチは高コストでリスクが伴う可能性があり、重要な役割を担うチームメンバーの退職が生産性に深刻な影響を及ぼすことがあります。\\n\\n## What {#what}\\n\\n**Tuist は、アプリ開発を加速し、強化するために設計されたツールチェーンです。** 私たちは公式ツールやシステムとシームレスに統合し、開発者が馴染みのある環境で作業できるようサポートします。 ツールやシステムの統合の負担を軽減することで、チームが機能開発と全体的な開発者体験の向上にエネルギーを注げるようにします。 要するに、Tuistはあなたのプロジェクトを支えるチームのような役割を果たします。 アプリアイディアの閃きからユーザーへのリリースまで、私たちはあなたと共に歩み、発生する課題に取り組みます。\\n\\nTuist is comprised of a [CLI](https://github.com/tuist/tuist), which is the main entry point for developers, and a server that the CLI integrates with to persist state and integrate with other publicly available services.\\n\\n## Why {#why}\\n\\nなぜTuistを選択するのか? その理由は以下の通りです。\\n\\n### Simplify 🌱 {#simplify}\\n\\nAs projects grow and span multiple platforms, modularization becomes crucial. Tuistはこの複雑さを簡素化し、プロジェクトの構造を最適化し、よりよく理解するためのツールを提供します。\\n\\n**Further reading:** Projects\\n\\n### Optimize workflows 🚀 {#optimize-workflows}\\n\\nLeveraging project information, Tuist enhances efficiency through selective test execution and deterministic binary reuse across builds.\\n\\n**Further reading:** Cache, Selective testing, Registry, and Previews\\n\\n### Foster healthy project evolution 📈 {#foster-healthy-project-evolution}\\n\\nWe provide insights into your project's dynamics and expert guidance for informed decision-making. このアプローチにより、開発者の離職やビジネスゴールの達成に失敗することに繋がる健全でないプロジェクトによるフラストレーションや生産性の低下を防ぎます。\\n\\n**Further reading:** Server\\n\\n### Break down silos 💜 {#break-down-silos}\\n\\nUnlike platform-specific ecosystems (e.g., Xcode's contained environment), Tuist offers web-centric experiences and integrates seamlessly with popular tools like Slack, Prometheus, and GitHub, enhancing cross-tool collaboration.\\n\\n**Further reading:** Projects\\n\\n---\\n\\nTuist やプロジェクト、会社情報について詳しく知りたい場合は、私たちの[ハンドブック](https://handbook.tuist.io/)をご覧ください。そこには、私たちのビジョンや価値、Tuist を支えるチームに関する詳細な情報が含まれています。\\n\",\"title\":\"Tuist について\",\"frontmatter\":{\"URL\":\"/ja/guides/tuist/about\",\"LLMS_URL\":\"/ja/guides/tuist/about.md\",\"title\":\"Tuist について\",\"titleTemplate\":\":title · Guides · Tuist\",\"description\":\"Apple 標準の開発ツールを強化し、より大規模で優れたアプリを構築する。\"}},{\"path\":\"/ja/references/examples/app_with_airship_sdk.md\",\"url\":\"/ja/references/examples/app_with_airship_sdk\",\"llmUrl\":\"/ja/references/examples/app_with_airship_sdk.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_airship_sdk\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_airship_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Airship SDK\\n\\nThis example contains an example that showcases how to integrate the [Airship](https://github.com/urbanairship/ios-library) SDK.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Airship SDK\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_airship_sdk\",\"LLMS_URL\":\"/ja/references/examples/app_with_airship_sdk.md\"}},{\"path\":\"/ja/references/examples/app_with_build_rules.md\",\"url\":\"/ja/references/examples/app_with_build_rules\",\"llmUrl\":\"/ja/references/examples/app_with_build_rules.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_build_rules\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_build_rules.md\\\"\\n---\\n\\n\\n\\n# Application with build rules\\n\\nThis example contains an example that uses [build rules](https://developer.apple.com/documentation/xcode/creating-build-rules-for-custom-file-types), which instruct Xcode on how to compile a particular file.\\n\\nCheck out example\\n\",\"title\":\"Application with build rules\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_build_rules\",\"LLMS_URL\":\"/ja/references/examples/app_with_build_rules.md\"}},{\"path\":\"/ja/references/examples/app_with_composable_architecture.md\",\"url\":\"/ja/references/examples/app_with_composable_architecture\",\"llmUrl\":\"/ja/references/examples/app_with_composable_architecture.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_composable_architecture\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_composable_architecture.md\\\"\\n---\\n\\n\\n\\n# Application with the Composable Architecture (TCA)\\n\\nThis example contains an example that uses the Composable Architecture.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Composable Architecture (TCA)\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_composable_architecture\",\"LLMS_URL\":\"/ja/references/examples/app_with_composable_architecture.md\"}},{\"path\":\"/ja/references/examples/app_with_custom_default_configuration.md\",\"url\":\"/ja/references/examples/app_with_custom_default_configuration\",\"llmUrl\":\"/ja/references/examples/app_with_custom_default_configuration.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_custom_default_configuration\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_custom_default_configuration.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration\\n\\nApp that showcases a custom default configuration generationo option.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_custom_default_configuration\",\"LLMS_URL\":\"/ja/references/examples/app_with_custom_default_configuration.md\"}},{\"path\":\"/ja/references/examples/app_with_custom_default_configuration_settings.md\",\"url\":\"/ja/references/examples/app_with_custom_default_configuration_settings\",\"llmUrl\":\"/ja/references/examples/app_with_custom_default_configuration_settings.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_custom_default_configuration_settings\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_custom_default_configuration_settings.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration settings\\n\\nThis example demonstrates how to set a [default configuration](https://developer.apple.com/library/archive/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-MY_APP_HAS_MULTIPLE_BUILD_CONFIGURATIONS__HOW_DO_I_SET_A_DEFAULT_BUILD_CONFIGURATION_FOR_XCODEBUILD_) in the project settings, which will be used by `xcodebuild` when building from the command-line.\\n\\nThe default build configuration is also used to [visually activate code](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Source-Editor) in `#if…#endif` blocks when working with custom configurations other than Debug or Release in Xcode 15 and later.\\n\\nCheck out example\\n\",\"title\":\"App with a custom default configuration settings\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_custom_default_configuration_settings\",\"LLMS_URL\":\"/ja/references/examples/app_with_custom_default_configuration_settings.md\"}},{\"path\":\"/ja/references/examples/app_with_custom_scheme.md\",\"url\":\"/ja/references/examples/app_with_custom_scheme\",\"llmUrl\":\"/ja/references/examples/app_with_custom_scheme.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_custom_scheme\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_custom_scheme.md\\\"\\n---\\n\\n\\n\\n# Application with custom scheme\\n\\nThis example contains an example that uses a custom scheme to demonstrate how to modify schemes to ones needs.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with custom scheme\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_custom_scheme\",\"LLMS_URL\":\"/ja/references/examples/app_with_custom_scheme.md\"}},{\"path\":\"/ja/references/examples/app_with_executable_non_local_dependencies.md\",\"url\":\"/ja/references/examples/app_with_executable_non_local_dependencies\",\"llmUrl\":\"/ja/references/examples/app_with_executable_non_local_dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_executable_non_local_dependencies\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_executable_non_local_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application with Executable Non Local Dependencies\\n\\nThis example consists of two projects:\\n- Main app project, which contains the main iOS application\\n- Helper targets project, which includes various targets that the main app relies on\\n\\nIt demonstrates a scenario where the main app depends on executable targets from another project.\\nThere are three such targets:\\n1. `AppExtension` - an app extension target\\n2. `WatchApp` - a watchOS app target\\n3. `TestHost` - an app target intended to serve as the test host for test targets (and also exemplifies a regular app target)\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Executable Non Local Dependencies\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_executable_non_local_dependencies\",\"LLMS_URL\":\"/ja/references/examples/app_with_executable_non_local_dependencies.md\"}},{\"path\":\"/ja/references/examples/app_with_exponea_sdk.md\",\"url\":\"/ja/references/examples/app_with_exponea_sdk\",\"llmUrl\":\"/ja/references/examples/app_with_exponea_sdk.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_exponea_sdk\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_exponea_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Exponea SDK\\n\\nThis example contains an example that showcases how to integrate the [Exponea](https://github.com/exponea/exponea-ios-sdk) SDK. This SDK includes a core data model.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with the Exponea SDK\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_exponea_sdk\",\"LLMS_URL\":\"/ja/references/examples/app_with_exponea_sdk.md\"}},{\"path\":\"/ja/references/examples/app_with_generated_sources.md\",\"url\":\"/ja/references/examples/app_with_generated_sources\",\"llmUrl\":\"/ja/references/examples/app_with_generated_sources.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_generated_sources\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_generated_sources.md\\\"\\n---\\n\\n\\n\\n# App with generated sources\\n\\nThis app is to showcase using sources that are generated during the build process (as oppose to sources that already exist when buildig).\\n\\n\\nCheck out example\\n\",\"title\":\"App with generated sources\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_generated_sources\",\"LLMS_URL\":\"/ja/references/examples/app_with_generated_sources.md\"}},{\"path\":\"/ja/references/examples/app_with_globs.md\",\"url\":\"/ja/references/examples/app_with_globs\",\"llmUrl\":\"/ja/references/examples/app_with_globs.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_globs\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_globs.md\\\"\\n---\\n\\n\\n\\n# App with globs\\n\\nThis app is to showcase and test complex glob patterns for sources, resources, additional files, etc.\\n\\n\\nCheck out example\\n\",\"title\":\"App with globs\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_globs\",\"LLMS_URL\":\"/ja/references/examples/app_with_globs.md\"}},{\"path\":\"/ja/references/examples/app_with_google_maps.md\",\"url\":\"/ja/references/examples/app_with_google_maps\",\"llmUrl\":\"/ja/references/examples/app_with_google_maps.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_google_maps\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_google_maps.md\\\"\\n---\\n\\n\\n\\n# App with Google Maps\\n\\nAn example of integrating an app with Google Maps. The `GoogleMaps` dependency is imported into the App through a dynamic framework.\\n\\nCheck out example\\n\",\"title\":\"App with Google Maps\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_google_maps\",\"LLMS_URL\":\"/ja/references/examples/app_with_google_maps.md\"}},{\"path\":\"/ja/references/examples/app_with_local_spm_module_with_embed_frameworks.md\",\"url\":\"/ja/references/examples/app_with_local_spm_module_with_embed_frameworks\",\"llmUrl\":\"/ja/references/examples/app_with_local_spm_module_with_embed_frameworks.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_local_spm_module_with_embed_frameworks\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_local_spm_module_with_embed_frameworks.md\\\"\\n---\\n\\n\\n\\n# Application with Embedded Local SPM Module\\n\\nThis example project demonstrates an application that includes a local Swift Package Manager (SPM) module (`LocalSwiftPackage`) configured as an embedded framework.\\n\\nThe project leverages a local SPM module added to the Embed Frameworks section, showing that local SPM packages can now be embedded within the application.\\n\\nThis demo project exists to validate and showcase the capability to embed local SPM modules as frameworks, allowing seamless integration into the main app.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Embedded Local SPM Module\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_local_spm_module_with_embed_frameworks\",\"LLMS_URL\":\"/ja/references/examples/app_with_local_spm_module_with_embed_frameworks.md\"}},{\"path\":\"/ja/references/examples/app_with_local_spm_module_with_remote_dependencies.md\",\"url\":\"/ja/references/examples/app_with_local_spm_module_with_remote_dependencies\",\"llmUrl\":\"/ja/references/examples/app_with_local_spm_module_with_remote_dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_local_spm_module_with_remote_dependencies\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_local_spm_module_with_remote_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application wih Local SPM Module with Remote Dependencies\\n\\nThis example contains a project that depends upon a local SPM module (`LocalSwiftPackage`) colocated within this directory.\\n\\nThis project does NOT contain any direct remote dependencies.\\nHowever, `LocalSwiftPackage` DOES have remote dependencies.\\n\\nThis example application exists to ensure that package resolution occurs even in the case of solely transitive remote dependencies.\\n\\nCheck out example\\n\",\"title\":\"Application wih Local SPM Module with Remote Dependencies\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_local_spm_module_with_remote_dependencies\",\"LLMS_URL\":\"/ja/references/examples/app_with_local_spm_module_with_remote_dependencies.md\"}},{\"path\":\"/ja/references/examples/app_with_metal_options.md\",\"url\":\"/ja/references/examples/app_with_metal_options\",\"llmUrl\":\"/ja/references/examples/app_with_metal_options.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_metal_options\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_metal_options.md\\\"\\n---\\n\\n\\n\\n# App with a metal diagnostic configuration\\n\\nApp that showcases a custom and default configuration for metal diagnostics.\\n\\n\\nCheck out example\\n\",\"title\":\"App with a metal diagnostic configuration\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_metal_options\",\"LLMS_URL\":\"/ja/references/examples/app_with_metal_options.md\"}},{\"path\":\"/ja/references/examples/app_with_organization_name_project.md\",\"url\":\"/ja/references/examples/app_with_organization_name_project\",\"llmUrl\":\"/ja/references/examples/app_with_organization_name_project.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_organization_name_project\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_organization_name_project.md\\\"\\n---\\n\\n\\n\\n# App with organization name defined in `Project`\\n\\nAn iOS app where the organization name is defined at the `Project` level.\\n\\nCheck out example\\n\",\"title\":\"App with organization name defined in `Project`\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_organization_name_project\",\"LLMS_URL\":\"/ja/references/examples/app_with_organization_name_project.md\"}},{\"path\":\"/ja/references/examples/app_with_realm.md\",\"url\":\"/ja/references/examples/app_with_realm\",\"llmUrl\":\"/ja/references/examples/app_with_realm.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_realm\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_realm.md\\\"\\n---\\n\\n\\n\\n# Application with Realm\\n\\nThis example contains an example that showcases how to integrate the [Realm Swift](https://github.com/realm/realm-swift) library.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with Realm\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_realm\",\"LLMS_URL\":\"/ja/references/examples/app_with_realm.md\"}},{\"path\":\"/ja/references/examples/app_with_signed_xcframework_dependencies.md\",\"url\":\"/ja/references/examples/app_with_signed_xcframework_dependencies\",\"llmUrl\":\"/ja/references/examples/app_with_signed_xcframework_dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_signed_xcframework_dependencies\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_signed_xcframework_dependencies.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies\\n\\nAn example of an application which depends on XCFrameworks with different kinds of signatures:\\n- Signature not specified (signature validation should be skipped)\\n- Unsigned\\n- Signed with Apple certificate\\n- Self signed\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_signed_xcframework_dependencies\",\"LLMS_URL\":\"/ja/references/examples/app_with_signed_xcframework_dependencies.md\"}},{\"path\":\"/ja/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"url\":\"/ja/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\",\"llmUrl\":\"/ja/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies - Mismatching Signature\\n\\nExample of an app with a signed XCFramework dependency, where the XCFramework is declared to have a signature that\\ndoesn't match the actual signature.\\n\\n\\nCheck out example\\n\",\"title\":\"App With Signed XCFramework Dependencies - Mismatching Signature\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\",\"LLMS_URL\":\"/ja/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\"}},{\"path\":\"/ja/references/examples/app_with_spm_xcframework_dependency.md\",\"url\":\"/ja/references/examples/app_with_spm_xcframework_dependency\",\"llmUrl\":\"/ja/references/examples/app_with_spm_xcframework_dependency.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/app_with_spm_xcframework_dependency\\\"\\nLLMS_URL: \\\"/ja/references/examples/app_with_spm_xcframework_dependency.md\\\"\\n---\\n\\n\\n\\n# Application with XCFramework Swift Package Manager Dependenciy\\n\\nThis example contains an example that imports an external XCFramework using Swift Package Manager dependencies.\\n\\n\\nCheck out example\\n\",\"title\":\"Application with XCFramework Swift Package Manager Dependenciy\",\"frontmatter\":{\"URL\":\"/ja/references/examples/app_with_spm_xcframework_dependency\",\"LLMS_URL\":\"/ja/references/examples/app_with_spm_xcframework_dependency.md\"}},{\"path\":\"/ja/references/examples/framework_with_environment_variables.md\",\"url\":\"/ja/references/examples/framework_with_environment_variables\",\"llmUrl\":\"/ja/references/examples/framework_with_environment_variables.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/framework_with_environment_variables\\\"\\nLLMS_URL: \\\"/ja/references/examples/framework_with_environment_variables.md\\\"\\n---\\n\\n\\n\\n# Framework with environment variables\\n\\nA framework project that leverages environment variables to change the name of the framework.\\n\\nCheck out example\\n\",\"title\":\"Framework with environment variables\",\"frontmatter\":{\"URL\":\"/ja/references/examples/framework_with_environment_variables\",\"LLMS_URL\":\"/ja/references/examples/framework_with_environment_variables.md\"}},{\"path\":\"/ja/references/examples/framework_with_macro_and_plugin_packages.md\",\"url\":\"/ja/references/examples/framework_with_macro_and_plugin_packages\",\"llmUrl\":\"/ja/references/examples/framework_with_macro_and_plugin_packages.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/framework_with_macro_and_plugin_packages\\\"\\nLLMS_URL: \\\"/ja/references/examples/framework_with_macro_and_plugin_packages.md\\\"\\n---\\n\\n\\n\\n# Framework with native Swift Macro and Plugin packages\\n\\nThis project represents a project with a framework that integrates the following Swift Packages:\\n\\n- A [build tool plugin](https://github.com/apple/swift-package-manager/blob/main/Documentation/Plugins.md) using Xcode's native integration.\\n- A Swift Macro using Tuist's integration based on XcodeProj primitives.\\n\\nCheck out example\\n\",\"title\":\"Framework with native Swift Macro and Plugin packages\",\"frontmatter\":{\"URL\":\"/ja/references/examples/framework_with_macro_and_plugin_packages\",\"LLMS_URL\":\"/ja/references/examples/framework_with_macro_and_plugin_packages.md\"}},{\"path\":\"/ja/references/examples/generated_ios_app_without_config_manifest.md\",\"url\":\"/ja/references/examples/generated_ios_app_without_config_manifest\",\"llmUrl\":\"/ja/references/examples/generated_ios_app_without_config_manifest.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/generated_ios_app_without_config_manifest\\\"\\nLLMS_URL: \\\"/ja/references/examples/generated_ios_app_without_config_manifest.md\\\"\\n---\\n\\n\\n\\n# Generated iOS App without a config manifest\\n\\nThe presence of `Tuist.swift` is optional. When absent, Tuist provides a default configuration based on the type project detected in the file-system.\\n\\n\\nCheck out example\\n\",\"title\":\"Generated iOS App without a config manifest\",\"frontmatter\":{\"URL\":\"/ja/references/examples/generated_ios_app_without_config_manifest\",\"LLMS_URL\":\"/ja/references/examples/generated_ios_app_without_config_manifest.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_actions.md\",\"url\":\"/ja/references/examples/ios_app_with_actions\",\"llmUrl\":\"/ja/references/examples/ios_app_with_actions.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_actions\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_actions.md\\\"\\n---\\n\\n\\n\\n# iOS app with actions\\n\\nAn iOS app with a target that has pre and post actions.\\n\\nCheck out example\\n\",\"title\":\"iOS app with actions\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_actions\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_actions.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_build_variables.md\",\"url\":\"/ja/references/examples/ios_app_with_build_variables\",\"llmUrl\":\"/ja/references/examples/ios_app_with_build_variables.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_build_variables\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_build_variables.md\\\"\\n---\\n\\n\\n\\n# iOS app with build variables\\n\\nAn iOS app with a Xcode build variables defined in pre action.\\n\\nCheck out example\\n\",\"title\":\"iOS app with build variables\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_build_variables\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_build_variables.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_coredata.md\",\"url\":\"/ja/references/examples/ios_app_with_coredata\",\"llmUrl\":\"/ja/references/examples/ios_app_with_coredata.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_coredata\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_coredata.md\\\"\\n---\\n\\n\\n\\n# Application with CoreData models\\n\\nThis example showcases a project that utilizes CoreData models and code generation for these models using resourceSynthesizer.\\n\\nCheck out example\\n\",\"title\":\"Application with CoreData models\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_coredata\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_coredata.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_cplusplus_interoperability.md\",\"url\":\"/ja/references/examples/ios_app_with_cplusplus_interoperability\",\"llmUrl\":\"/ja/references/examples/ios_app_with_cplusplus_interoperability.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_cplusplus_interoperability\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_cplusplus_interoperability.md\\\"\\n---\\n\\n\\n\\n# iOS App with C++ Interoperability\\n\\nThis repository contains dependencies with the `.interoperabilityMode(.Cxx)` and ensures when Tuist converts those into Xcode targets, the right build settings are applied to the generated targets.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS App with C++ Interoperability\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_cplusplus_interoperability\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_cplusplus_interoperability.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_custom_workspace.md\",\"url\":\"/ja/references/examples/ios_app_with_custom_workspace\",\"llmUrl\":\"/ja/references/examples/ios_app_with_custom_workspace.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_custom_workspace\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_custom_workspace.md\\\"\\n---\\n\\n\\n\\n# iOS app with a custom workspace\\n\\niOS with a few projects and a `Workspace.swift` manifest file.\\n\\nThe workspace manifest defines:\\n\\n- glob patterns to list projects\\n- glob patterns to include documentation files\\n- folder reference to directory with html files\\n\\nThe App's project manifest leverages `additionalFiles` that:\\n\\n- defines glob patterns to include documentation files\\n- includes a Swift `Danger.swift` file that shouldn't get included in any build phase\\n- defines folder references to a directory with json files\\n\\nCheck out example\\n\",\"title\":\"iOS app with a custom workspace\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_custom_workspace\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_custom_workspace.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_extensions.md\",\"url\":\"/ja/references/examples/ios_app_with_extensions\",\"llmUrl\":\"/ja/references/examples/ios_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_extensions\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# iOS app with extensions\\n\\nSample iOS application with extension targets.\\n\\nCheck out example\\n\",\"title\":\"iOS app with extensions\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_extensions\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_extensions.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_framework_and_resources.md\",\"url\":\"/ja/references/examples/ios_app_with_framework_and_resources\",\"llmUrl\":\"/ja/references/examples/ios_app_with_framework_and_resources.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_framework_and_resources\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_framework_and_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with a framework and resources\\n\\nA workspace with an application that includes resources.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - StaticFramework\\n - StaticFramework (static iOS framework)\\n - StaticFrameworkResources (iOS bundle)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> StaticFramework\\n- App -> StaticFrameworkResources\\n\\nCheck out example\\n\",\"title\":\"iOS app with a framework and resources\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_framework_and_resources\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_framework_and_resources.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_framework_linking_static_framework.md\",\"url\":\"/ja/references/examples/ios_app_with_framework_linking_static_framework\",\"llmUrl\":\"/ja/references/examples/ios_app_with_framework_linking_static_framework.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_framework_linking_static_framework\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_framework_linking_static_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a dynamic framework that links a static framework\\n\\n\\nAn example project demonstrating an iOS application linking a dynamic framework which itself depends on a static framework with transitive static dependencies.\\n\\nOnly `Framework1.framework` should be linked and included into App, everything else should be statically linked into the Framework1 executable.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (static iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (static iOS framework)\\n - Framework3Tests (iOS unit tests)\\n - Framework4:\\n - Framework4 (static iOS framework)\\n - Framework4Tests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2\\n- Framework1 -> Framework3\\n- Framework3 -> Framework4\\n\\n\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with a dynamic framework that links a static framework\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_framework_linking_static_framework\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_framework_linking_static_framework.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_frameworks.md\",\"url\":\"/ja/references/examples/ios_app_with_frameworks\",\"llmUrl\":\"/ja/references/examples/ios_app_with_frameworks.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_frameworks\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with frameworks\\n\\n\\nSlightly more complicated project that consists of an iOS app and few frameworks.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (dynamic iOS framework)\\n - Framework4:\\n - Framework4 (dynamic iOS framework)\\n - Framework5:\\n - Framework5 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> Framework2\\n- Framework1 -> Framework2\\n- Framework2 -> Framework3\\n- Framework3 -> Framework4\\n- Framework4 -> Framework5\\n\\nCheck out example\\n\",\"title\":\"iOS app with frameworks\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_frameworks\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_frameworks.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_helpers.md\",\"url\":\"/ja/references/examples/ios_app_with_helpers\",\"llmUrl\":\"/ja/references/examples/ios_app_with_helpers.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_helpers\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_helpers.md\\\"\\n---\\n\\n\\n\\n# iOS app with helpers\\n\\nA basic iOS app that leverages `ProjectDescriptionHelpers`.\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with helpers\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_helpers\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_helpers.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_incompatible_dependencies.md\",\"url\":\"/ja/references/examples/ios_app_with_incompatible_dependencies\",\"llmUrl\":\"/ja/references/examples/ios_app_with_incompatible_dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_incompatible_dependencies\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_incompatible_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible dependencies\\n\\nAn iOS app that has a dependency with a dependency on a framework for macOS.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible dependencies\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_incompatible_dependencies\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_incompatible_dependencies.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_incompatible_xcode.md\",\"url\":\"/ja/references/examples/ios_app_with_incompatible_xcode\",\"llmUrl\":\"/ja/references/examples/ios_app_with_incompatible_xcode.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_incompatible_xcode\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_incompatible_xcode.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible Xcode\\n\\nAn iOS app whose Config file requires an Xcode version that is not available in the system.\\n\\nCheck out example\\n\",\"title\":\"iOS app with incompatible Xcode\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_incompatible_xcode\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_incompatible_xcode.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_local_swift_package.md\",\"url\":\"/ja/references/examples/ios_app_with_local_swift_package\",\"llmUrl\":\"/ja/references/examples/ios_app_with_local_swift_package.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_local_swift_package\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_local_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a local Swift package\\n\\nAn iOS application that depends on a local Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS app with a local Swift package\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_local_swift_package\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_local_swift_package.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_multi_configs.md\",\"url\":\"/ja/references/examples/ios_app_with_multi_configs\",\"llmUrl\":\"/ja/references/examples/ios_app_with_multi_configs.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_multi_configs\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_multi_configs.md\\\"\\n---\\n\\n\\n\\n# iOS app with multiple configurations and an xcconfig\\n\\nA workspace that contains an application and frameworks that leverage multiple configurations (Debug, Beta and Release) each of which also has an associated xcconfig file within `ConfigurationFiles`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with multiple configurations and an xcconfig\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_multi_configs\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_multi_configs.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_on_demand_resources.md\",\"url\":\"/ja/references/examples/ios_app_with_on_demand_resources\",\"llmUrl\":\"/ja/references/examples/ios_app_with_on_demand_resources.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_on_demand_resources\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_on_demand_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with on demand resources\\n\\nAn iOS applicaiton with on-demand resources. It contains file resources and asset catalogs associated with tags which in turn are distributed between three categories:\\n- Initial install tags\\n- Prefetch tag order\\n- Dowloaded only on demand\\n\\nCheck out example\\n\",\"title\":\"iOS app with on demand resources\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_on_demand_resources\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_on_demand_resources.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_privacy_manifest.md\",\"url\":\"/ja/references/examples/ios_app_with_privacy_manifest\",\"llmUrl\":\"/ja/references/examples/ios_app_with_privacy_manifest.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_privacy_manifest\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_privacy_manifest.md\\\"\\n---\\n\\n\\n\\n# Application with Privacy Manifest\\n\\nThis example contains an example that uses a [Privacy Manifest](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files), which describe the data the app collects and the reasons required APIs it uses.\\n\\nCheck out example\\n\",\"title\":\"Application with Privacy Manifest\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_privacy_manifest\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_privacy_manifest.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_remote_swift_package.md\",\"url\":\"/ja/references/examples/ios_app_with_remote_swift_package\",\"llmUrl\":\"/ja/references/examples/ios_app_with_remote_swift_package.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_remote_swift_package\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_remote_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS App with a remote Swift package\\n\\nAn iOS application with a remote Swift package.\\n\\nCheck out example\\n\",\"title\":\"iOS App with a remote Swift package\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_remote_swift_package\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_remote_swift_package.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_sandbox_disabled.md\",\"url\":\"/ja/references/examples/ios_app_with_sandbox_disabled\",\"llmUrl\":\"/ja/references/examples/ios_app_with_sandbox_disabled.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_sandbox_disabled\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_sandbox_disabled.md\\\"\\n---\\n\\n\\n\\n# iOS app with sandbox disabled\\n\\nAn example of a project manifest that accesses the file system, and therefore requires the sandbox to be disabled.\\n\\n*Note: disabling the sandbox is discouraged and should only be used if absolutely necessary.*\\n\\n\\nCheck out example\\n\",\"title\":\"iOS app with sandbox disabled\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_sandbox_disabled\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_sandbox_disabled.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_sdk.md\",\"url\":\"/ja/references/examples/ios_app_with_sdk\",\"llmUrl\":\"/ja/references/examples/ios_app_with_sdk.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_sdk\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_sdk.md\\\"\\n---\\n\\n\\n\\n# iOS app with an SDK\\n\\nAn application that contains an application target that depends on system libraries and frameworks (`.framework` and `.tbd`).\\n\\nOne of the dependencies is declared as `.optional` i.e. will be linked weakly.\\n\\nCheck out example\\n\",\"title\":\"iOS app with an SDK\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_sdk\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_sdk.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_spm_dependencies.md\",\"url\":\"/ja/references/examples/ios_app_with_spm_dependencies\",\"llmUrl\":\"/ja/references/examples/ios_app_with_spm_dependencies.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_spm_dependencies\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_spm_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependencies\\n\\nAn iOS application project with various SPM dependencies.\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependencies\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_spm_dependencies\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_spm_dependencies.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"url\":\"/ja/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\",\"llmUrl\":\"/ja/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependency and force resolved versions flag\\n\\nAn iOS application project with one SPM dependency and --force-resolved-versions config flag\\n\\nCheck out example\\n\",\"title\":\"iOS app with SPM dependency and force resolved versions flag\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_static_frameworks.md\",\"url\":\"/ja/references/examples/ios_app_with_static_frameworks\",\"llmUrl\":\"/ja/references/examples/ios_app_with_static_frameworks.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_static_frameworks\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_static_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with static frameworks\\n\\n\\nThis fixture contains an application that depends on static frameworks, both directly and transitively.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Modules\\n - A:\\n - A (static framework iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static framework iOS)\\n - BTests (iOS unit tests)\\n - C:\\n - C (static framework iOS)\\n - CTests (iOS unit tests)\\n - D:\\n - D (dynamic framework iOS)\\n```\\n\\nA standalone `Prebuilt` project is used to generate a prebuilt static framework:\\n\\n```\\n- Prebuilt\\n - PrebuiltStaticFramework (static framework iOS)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- App -> C\\n- App -> PrebuiltStaticFramework\\n- A -> B\\n- A -> C\\n- C -> D\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_frameworks/Prebuilt//build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static frameworks\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_static_frameworks\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_static_frameworks.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_static_libraries.md\",\"url\":\"/ja/references/examples/ios_app_with_static_libraries\",\"llmUrl\":\"/ja/references/examples/ios_app_with_static_libraries.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_static_libraries\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_static_libraries.md\\\"\\n---\\n\\n\\n\\n# iOS app with static libraries\\n\\n\\nThis application provides a top level application with two static library dependencies. The first static library dependency has another static library dependency so that we are able to test how Tuist handles the transitiveness of the static libraries in the linked frameworks of the main app.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - A:\\n - A (static library iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static library iOS)\\n - BTests (iOS unit tests)\\n```\\n\\nA standalone C project is used to generate a prebuilt static library:\\n\\n```\\n - C:\\n - C (static library iOS)\\n - CTests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- A -> B\\n- A -> prebuild C (libC.a)\\n\\nNote: to re-create `libC.a` run `ios_app_with_static_libraries/Modules/C/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with static libraries\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_static_libraries\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_static_libraries.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_static_library_and_package.md\",\"url\":\"/ja/references/examples/ios_app_with_static_library_and_package\",\"llmUrl\":\"/ja/references/examples/ios_app_with_static_library_and_package.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_static_library_and_package\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_static_library_and_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a static library and a package\\n\\nAn iOS application that depends on static library that depends on Swift package where static library is defined first.\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_library_and_package/Prebuilt/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a static library and a package\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_static_library_and_package\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_static_library_and_package.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_tests.md\",\"url\":\"/ja/references/examples/ios_app_with_tests\",\"llmUrl\":\"/ja/references/examples/ios_app_with_tests.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_tests\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_tests.md\\\"\\n---\\n\\n\\n\\n# iOS app with tests\\n\\nA simple iOS app with tests, which includes a setup manifest and uses `.notGrouped` autogenerated schemes.\\n\\nCheck out example\\n\",\"title\":\"iOS app with tests\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_tests\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_tests.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_transitive_framework.md\",\"url\":\"/ja/references/examples/ios_app_with_transitive_framework\",\"llmUrl\":\"/ja/references/examples/ios_app_with_transitive_framework.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_transitive_framework\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_transitive_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a transitive framework\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n```\\n\\nA standalone Framework2 project is used to generate a prebuilt dynamic framework:\\n\\n```\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2 (prebuilt)\\n\\nNote: to re-create `Framework2.framework` run `ios_app_with_transitive_framework/Framework2/build.sh`\\n\\nCheck out example\\n\",\"title\":\"iOS app with a transitive framework\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_transitive_framework\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_transitive_framework.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_transitive_framework_through_macro.md\",\"url\":\"/ja/references/examples/ios_app_with_transitive_framework_through_macro\",\"llmUrl\":\"/ja/references/examples/ios_app_with_transitive_framework_through_macro.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_transitive_framework_through_macro\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_transitive_framework_through_macro.md\\\"\\n---\\n\\n\\n\\n# iOS app with transitive framework through macro executable\\n\\nThis fixture contains an iOS app that transitively and directly depends on a Swift Macro (executable)'s direct dependency.\\nIt was included [in this issue](https://github.com/tuist/tuist/issues/5988) because the set up caused the warming of the binary cache to fail due to \\\"multiple commands produce the same output\\\" error when archiving.\\nAs a solution, we moved away from using archive, and instead use the build action to warm the cache.\\n\\nCheck out example\\n\",\"title\":\"iOS app with transitive framework through macro executable\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_transitive_framework_through_macro\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_transitive_framework_through_macro.md\"}},{\"path\":\"/ja/references/examples/ios_app_with_xcframeworks.md\",\"url\":\"/ja/references/examples/ios_app_with_xcframeworks\",\"llmUrl\":\"/ja/references/examples/ios_app_with_xcframeworks.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_app_with_xcframeworks\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_app_with_xcframeworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with xcframeworks\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - MyFramework:\\n - MyFramework (dynamic iOS framework)\\n - MyStaticFramework:\\n - MyStaticFramework (static iOS framework)\\n - MyStaticLibirary:\\n - MyStaticLibrary (static iOS libraries)\\n```\\n\\nAn example of an application which depends on prebuilt `.xcframework`s.\\n\\nThe `.xcframework` can be obtained by running the `build.sh` script within the each of the xcframework directories\\ne.g. `ios_app_with_xcframeworks/XCFrameworks/MyFramework/build.sh`.\\n\\nCheck out example\\n\",\"title\":\"iOS app with xcframeworks\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_app_with_xcframeworks\",\"LLMS_URL\":\"/ja/references/examples/ios_app_with_xcframeworks.md\"}},{\"path\":\"/ja/references/examples/ios_workspace_with_dependency_cycle.md\",\"url\":\"/ja/references/examples/ios_workspace_with_dependency_cycle\",\"llmUrl\":\"/ja/references/examples/ios_workspace_with_dependency_cycle.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/ios_workspace_with_dependency_cycle\\\"\\nLLMS_URL: \\\"/ja/references/examples/ios_workspace_with_dependency_cycle.md\\\"\\n---\\n\\n\\n\\n# iOS workspace with a dependency cycle\\n\\nAn example of a workspace that has a dependency cycle between targets in different projects.\\n\\nCheck out example\\n\",\"title\":\"iOS workspace with a dependency cycle\",\"frontmatter\":{\"URL\":\"/ja/references/examples/ios_workspace_with_dependency_cycle\",\"LLMS_URL\":\"/ja/references/examples/ios_workspace_with_dependency_cycle.md\"}},{\"path\":\"/ja/references/examples/macos_app_with_extensions.md\",\"url\":\"/ja/references/examples/macos_app_with_extensions\",\"llmUrl\":\"/ja/references/examples/macos_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/macos_app_with_extensions\\\"\\nLLMS_URL: \\\"/ja/references/examples/macos_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# macOS app with extensions\\n\\nThe project contains a macOS app with various types of extensions.\\n\\nCheck out example\\n\",\"title\":\"macOS app with extensions\",\"frontmatter\":{\"URL\":\"/ja/references/examples/macos_app_with_extensions\",\"LLMS_URL\":\"/ja/references/examples/macos_app_with_extensions.md\"}},{\"path\":\"/ja/references/examples/package_with_registry_and_alamofire.md\",\"url\":\"/ja/references/examples/package_with_registry_and_alamofire\",\"llmUrl\":\"/ja/references/examples/package_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/package_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/ja/references/examples/package_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Swift package with registry and Alamofire\\n\\nA simple Swift package that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Swift package with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/ja/references/examples/package_with_registry_and_alamofire\",\"LLMS_URL\":\"/ja/references/examples/package_with_registry_and_alamofire.md\"}},{\"path\":\"/ja/references/examples/project_with_class_prefix.md\",\"url\":\"/ja/references/examples/project_with_class_prefix\",\"llmUrl\":\"/ja/references/examples/project_with_class_prefix.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/project_with_class_prefix\\\"\\nLLMS_URL: \\\"/ja/references/examples/project_with_class_prefix.md\\\"\\n---\\n\\n\\n\\n# Project with class prefix\\n\\nThis example generate Xcode project with custom class prefix setting.\\n\\nCheck out example\\n\",\"title\":\"Project with class prefix\",\"frontmatter\":{\"URL\":\"/ja/references/examples/project_with_class_prefix\",\"LLMS_URL\":\"/ja/references/examples/project_with_class_prefix.md\"}},{\"path\":\"/ja/references/examples/xcode_app.md\",\"url\":\"/ja/references/examples/xcode_app\",\"llmUrl\":\"/ja/references/examples/xcode_app.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/xcode_app\\\"\\nLLMS_URL: \\\"/ja/references/examples/xcode_app.md\\\"\\n---\\n\\n\\n\\n# Xcode app\\n\\nA simple app created with Xcode. This fixture is _not_ using Tuist projects and it is meant to test features that don't require Tuist projects, such as `tuist share`.\\n\\nCheck out example\\n\",\"title\":\"Xcode app\",\"frontmatter\":{\"URL\":\"/ja/references/examples/xcode_app\",\"LLMS_URL\":\"/ja/references/examples/xcode_app.md\"}},{\"path\":\"/ja/references/examples/xcode_project_with_registry_and_alamofire.md\",\"url\":\"/ja/references/examples/xcode_project_with_registry_and_alamofire\",\"llmUrl\":\"/ja/references/examples/xcode_project_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/ja/references/examples/xcode_project_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/ja/references/examples/xcode_project_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Xcode project with registry and Alamofire\\n\\nA simple app created with Xcode that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\nCheck out example\\n\",\"title\":\"Xcode project with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/ja/references/examples/xcode_project_with_registry_and_alamofire\",\"LLMS_URL\":\"/ja/references/examples/xcode_project_with_registry_and_alamofire.md\"}},{\"path\":\"/ja/references/migrations/from-v3-to-v4.md\",\"url\":\"/ja/references/migrations/from-v3-to-v4\",\"llmUrl\":\"/ja/references/migrations/from-v3-to-v4.md\",\"content\":\"---\\nURL: \\\"/ja/references/migrations/from-v3-to-v4\\\"\\nLLMS_URL: \\\"/ja/references/migrations/from-v3-to-v4.md\\\"\\ntitle: \\\"From v3 to v4\\\"\\ntitleTemplate: \\\":title · Migrations · References · Tuist\\\"\\ndescription: \\\"This page documents how to migrate the Tuist CLI from the version 3 to version 4.\\\"\\n---\\n\\n# From Tuist v3 to v4 {#from-tuist-v3-to-v4}\\n\\nWith the release of [Tuist 4](https://github.com/tuist/tuist/releases/tag/4.0.0), we took the opportunity to introduce some breaking changes to the project, which we believed would make the project easier to use and maintain in the long run. This document outlines the changes you will need to make to your project to upgrade from Tuist 3 to Tuist 4.\\n\\n### Dropped version management through `tuistenv` {#dropped-version-management-through-tuistenv}\\n\\nPrior to Tuist 4, the installation script installed a tool, `tuistenv`, that would get renamed to `tuist` at installation time. The tool would take care of installing and activating versions of Tuist ensuring determinism across environments. With the aim of reducing the feature surface of Tuist, we decided to drop `tuistenv` in favor of [Mise](https://mise.jdx.dev/), a tool that does the same job but is more flexible and can be used across different tools. If you were using `tuistenv`, you'll have to uninstall the current version of Tuist by running `curl -Ls https://uninstall.tuist.io | bash` and then install it using the installation method of your choice. We strongly recommend the usage of Mise because it's able to install and activate versions deterministically across environments.\\n\\n::: code-group\\n\\n```bash [Uninstall tuistenv]\\ncurl -Ls https://uninstall.tuist.io | bash\\n```\\n\\n:::\\n\\n> [!IMPORTANT] MISE IN CI ENVIRONMENTS AND XCODE PROJECTS\\n> If you decide to embrace the determinism that Mise brings across the board, we recommend checking out the documentation for how to use Mise in [CI environments](https://mise.jdx.dev/continuous-integration.html) and [Xcode projects](https://mise.jdx.dev/ide-integration.html#xcode).\\n\\n> [!NOTE] HOMEBREW IS SUPPORTED\\n> Note that you can still install Tuist using Homebrew, which is a popular package manager for macOS. You can find the instructions on how to install Tuist using Homebrew in the installation guide.\\n\\n### Dropped `init` constructors from `ProjectDescription` models {#dropped-init-constructors-from-projectdescription-models}\\n\\nWith the aim of improving the readability and expressiveness of the APIs, we decided to remove the `init` constructors from all the `ProjectDescription` models. Every model now provides a static constructor that you can use to create instances of the models. If you were using the `init` constructors, you'll have to update your project to use the static constructors instead.\\n\\n> [!TIP] NAMING CONVENTION\\n> The naming convention that we follow is to use the name of the model as the name of the static constructor. For example, the static constructor for the `Target` model is `Target.target`.\\n\\n### Renamed `--no-cache` to `--no-binary-cache` {#renamed-nocache-to-nobinarycache}\\n\\nBecause the `--no-cache` flag was ambiguous, we decided to rename it to `--no-binary-cache` to make it clear that it refers to the binary cache. If you were using the `--no-cache` flag, you'll have to update your project to use the `--no-binary-cache` flag instead.\\n\\n### Renamed `tuist fetch` to `tuist install` {#renamed-tuist-fetch-to-tuist-install}\\n\\nWe renamed the `tuist fetch` command to `tuist install` to align with the industry convention. If you were using the `tuist fetch` command, you'll have to update your project to use the `tuist install` command instead.\\n\\n### [Adopt `Package.swift` as the DSL for dependencies](https://github.com/tuist/tuist/pull/5862) {#adopt-packageswift-as-the-dsl-for-dependencieshttpsgithubcomtuisttuistpull5862}\\n\\nBefore Tuist 4, you could define dependencies in a `Dependencies.swift` file. This proprietary format broke the support in tools like [Dependabot](https://github.com/dependabot) or [Renovatebot](https://github.com/renovatebot/renovate) to automatically update dependencies. Moreover, it introduced unnecessary indirections for users. Therefore, we decided to embrace `Package.swift` as the only way to define dependencies in Tuist. If you were using the `Dependencies.swift` file, you'll have to move the content from your `Tuist/Dependencies.swift` to a `Package.swift` at the root, and use the `#if TUIST` directive to configure the integration. You can read more about how to integrate Swift Package dependencies here\\n\\n### Renamed `tuist cache warm` to `tuist cache` {#renamed-tuist-cache-warm-to-tuist-cache}\\n\\nFor brevity, we decided to rename the `tuist cache warm` command to `tuist cache`. If you were using the `tuist cache warm` command, you'll have to update your project to use the `tuist cache` command instead.\\n\\n### Renamed `tuist cache print-hashes` to `tuist cache --print-hashes` {#renamed-tuist-cache-printhashes-to-tuist-cache-printhashes}\\n\\nWe decided to rename the `tuist cache print-hashes` command to `tuist cache --print-hashes` to make it clear that it's a flag of the `tuist cache` command. If you were using the `tuist cache print-hashes` command, you'll have to update your project to use the `tuist cache --print-hashes` flag instead.\\n\\n### Removed caching profiles {#removed-caching-profiles}\\n\\nBefore Tuist 4, you could define caching profiles in `Tuist/Config.swift` which contained a configuration for the cache. We decided to remove this feature because it could lead to confusion when using it in the generation process with a profile other than the one that was used to generate the project. Moreover, it could lead to users using a debug profile to build a release version of the app, which could lead to unexpected results. In its place, we introduced the `--configuration` option, which you can use to specify the configuration you want to use when generating the project. If you were using caching profiles, you'll have to update your project to use the `--configuration` option instead.\\n\\n### Removed `--skip-cache` in favor of arguments {#removed-skipcache-in-favor-of-arguments}\\n\\nWe removed the flag `--skip-cache` from the `generate` command in favor of controlling for which targets the binary cache should be skipped by using the arguments. If you were using the `--skip-cache` flag, you'll have to update your project to use the arguments instead.\\n\\n::: code-group\\n\\n```bash [Before]\\ntuist generate --skip-cache Foo\\n```\\n\\n```bash [After]\\ntuist generate Foo\\n```\\n\\n:::\\n\\n### [Dropped signing capabilities](https://github.com/tuist/tuist/pull/5716) {#dropped-signing-capabilitieshttpsgithubcomtuisttuistpull5716}\\n\\nSigning is already solved by community tooling like [Fastlane](https://fastlane.tools/) and Xcode itself, which do a much better job at that. We felt that signing was an stretch goal for Tuist, and that it was better to focus on the core features of the project. If you were using Tuist signing capabilities, which consisted of encrypting the certificates and profiles in the repository and installing them in the right places at generation time, you might want to replicate that logic in your own scripts that run before project generation. In particular:\\n\\n- A script that decrypts the certificates and profiles using a key either stored in the file-system or in an environment variable, and installs certificates in the keychain, and the provisioning profiles in the directory `~/Library/MobileDevice/Provisioning\\\\ Profiles`.\\n- A script that can take an existing profiles and certificates and encrypt them.\\n\\n> [!TIP] SIGNING REQUIREMENTS\\n> Signing requires the right certificates to be present in the keychain and the provisioning profiles to be present in the directory `~/Library/MobileDevice/Provisioning\\\\ Profiles`. You can use the `security` command-line tool to install certificates in the keychain and the `cp` command to copy the provisioning profiles to the right directory.\\n\\n### Dropped Carthage integration via `Dependencies.swift` {#dropped-carthage-integration-via-dependenciesswift}\\n\\nBefore Tuist 4, Carthage dependencies could be defined in a `Dependencies.swift` file, which users could then fetch by running `tuist fetch`. We also felt that this was a stretch goal for Tuist, specially considering a future where Swift Package Manager would be the preferred way to manage dependencies. If you were using Carthage dependencies, you'll have to use `Carthage` directly to pull the pre-compiled frameworks and XCFrameworks into Carthage's standard directory, and then reference those binaries from your tagets using the `TargetDependency.xcframework` and `TargetDependency.framework` cases.\\n\\n> [!NOTE] CARTHAGE IS STILL SUPPORTED\\n> Some users understood that we dropped Carthage support. We didn't. The contract between Tuist and Carthage's output is to system-stored frameworks and XCFrameworks. The only thing that changed is who is responsible for fetching the dependencies. It used to be Tuist through Carthage, now it's Carthage.\\n\\n### Dropped the `TargetDependency.packagePlugin` API {#dropped-the-targetdependencypackageplugin-api}\\n\\nBefore Tuist 4, you could define a package plugin dependency using the `TargetDependency.packagePlugin` case. After seeing the Swift Package Manager introducing new package types, we decided to iterate on the API towards something that would be more flexible and future-proof. If you were using `TargetDependency.packagePlugin`, you'll have to use `TargetDependency.package` instead, and pass the type of package you want to use as an argument.\\n\\n### [Dropped deprecated APIs](https://github.com/tuist/tuist/pull/5560) {#dropped-deprecated-apishttpsgithubcomtuisttuistpull5560}\\n\\nWe removed the APIs that were marked as deprecated in Tuist 3. If you were using any of the deprecated APIs, you'll have to update your project to use the new APIs.\\n\",\"title\":\"From v3 to v4\",\"frontmatter\":{\"URL\":\"/ja/references/migrations/from-v3-to-v4\",\"LLMS_URL\":\"/ja/references/migrations/from-v3-to-v4.md\",\"title\":\"From v3 to v4\",\"titleTemplate\":\":title · Migrations · References · Tuist\",\"description\":\"This page documents how to migrate the Tuist CLI from the version 3 to version 4.\"}},{\"path\":\"/ja/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\",\"url\":\"/ja/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\",\"llmUrl\":\"/ja/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `AutogeneratedWorkspaceSchemes.CodeCoverageMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `relevant`\\n - `targets(_:)`\\n - `disabled`\\n\\n```swift\\npublic enum CodeCoverageMode: Codable, Equatable, Sendable\\n```\\n\\nContains options for code coverage\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\nGather code coverage data for all targets in workspace.\\n\\n### `relevant`\\n\\n```swift\\ncase relevant\\n```\\n\\nEnable code coverage for targets that have enabled code coverage in any of schemes in workspace.\\n\\n### `targets(_:)`\\n\\n```swift\\ncase targets([TargetReference])\\n```\\n\\nGather code coverage for specified target references.\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDo not gather code coverage data.\\n\\n\",\"title\":\"`AutogeneratedWorkspaceSchemes.CodeCoverageMode`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\",\"LLMS_URL\":\"/ja/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\"}},{\"path\":\"/ja/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\",\"url\":\"/ja/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\",\"llmUrl\":\"/ja/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `AutomaticSchemesOptions.TargetSchemesGrouping`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `singleScheme`\\n - `byNameSuffix(build:test:run:)`\\n - `notGrouped`\\n\\n```swift\\npublic enum TargetSchemesGrouping: Codable, Equatable, Sendable\\n```\\n\\nAllows you to define what targets will be enabled for code coverage data gathering.\\n\\n## Cases\\n### `singleScheme`\\n\\n```swift\\ncase singleScheme\\n```\\n\\nGenerate a single scheme for each project.\\n\\n### `byNameSuffix(build:test:run:)`\\n\\n```swift\\ncase byNameSuffix(build: Set, test: Set, run: Set)\\n```\\n\\nGroup schemes according to the suffix of their names.\\n\\n### `notGrouped`\\n\\n```swift\\ncase notGrouped\\n```\\n\\nGenerate a scheme for each target.\\n\\n\",\"title\":\"`AutomaticSchemesOptions.TargetSchemesGrouping`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\",\"LLMS_URL\":\"/ja/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\"}},{\"path\":\"/ja/references/project-description/enums/buildorder.md\",\"url\":\"/ja/references/project-description/enums/buildorder\",\"llmUrl\":\"/ja/references/project-description/enums/buildorder.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/buildorder\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/buildorder.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildOrder`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `dependency`\\n - `manual`\\n\\n```swift\\npublic enum BuildOrder: Codable, Sendable\\n```\\n\\nRepresents the order in which targets are built within an Xcode scheme.\\n\\n## Cases\\n### `dependency`\\n\\n```swift\\ncase dependency\\n```\\n\\nBuilds targets automatically based on their dependency graph.\\nThis is the default and recommended setting for most projects.\\n\\n### `manual`\\n\\n```swift\\ncase manual\\n```\\n\\nBuilds targets in the order they appear in the scheme’s Build list.\\nUse this when you need fine-grained control.\\n\\n- Warning: This option is deprecated and may not be respected in future versions of Xcode.\\nUse `dependency` to ensure reliable and maintainable build behavior.\\n\\n\",\"title\":\"`BuildOrder`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/buildorder\",\"LLMS_URL\":\"/ja/references/project-description/enums/buildorder.md\"}},{\"path\":\"/ja/references/project-description/enums/buildrule.compilerspec.md\",\"url\":\"/ja/references/project-description/enums/buildrule.compilerspec\",\"llmUrl\":\"/ja/references/project-description/enums/buildrule.compilerspec.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/buildrule.compilerspec\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/buildrule.compilerspec.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildRule.CompilerSpec`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `appIntentsMetadataExtractor`\\n - `appShortcutStringsMetadataExtractor`\\n - `appleClang`\\n - `assetCatalogCompiler`\\n - `codeSign`\\n - `compileRealityComposerProject`\\n - `compileSceneKitShaders`\\n - `compileSkybox`\\n - `compileUSDZ`\\n - `compressPNG`\\n - `copyPlistFile`\\n - `copySceneKitAssets`\\n - `copyStringsFile`\\n - `copyTiffFile`\\n - `coreDataMappingModelCompiler`\\n - `coreMLModelCompiler`\\n - `dataModelCompiler`\\n - `defaultCompiler`\\n - `dTrace`\\n - `generateSpriteKitTextureAtlas`\\n - `iconutil`\\n - `instrumetsPackageBuilder`\\n - `intentDefinitionCompiler`\\n - `interfaceBuilderNIBPostprocessor`\\n - `interfaceBuilderStoryboardCompiler`\\n - `interfaceBuilderStoryboardLinker`\\n - `interfaceBuilderStoryboardPostprocessor`\\n - `interfaceBuilderXIBCompiler`\\n - `ioKitInterfaceGenerator`\\n - `lex`\\n - `lsRegisterURL`\\n - `metalCompiler`\\n - `metalLinker`\\n - `mig`\\n - `nasm`\\n - `nmedit`\\n - `openCL`\\n - `osaCompile`\\n - `pbxcp`\\n - `processSceneKitDocument`\\n - `processXCAppExtensionPoints`\\n - `rez`\\n - `stripSymbols`\\n - `swiftCompiler`\\n - `swiftABIBaselineGenerator`\\n - `swiftFrameworkABIChecker`\\n - `textBasedAPITool`\\n - `unifdef`\\n - `yacc`\\n - `customScript`\\n\\n```swift\\npublic enum CompilerSpec: Codable, Sendable\\n```\\n\\nThe type of compiler spec which is used for a selected file type.\\nAll the values are taken from build rule options hidden under a pup-up button's menu next to a label `Using` in a target's\\n`Build Rules` section.\\n\\n## Cases\\n### `appIntentsMetadataExtractor`\\n\\n```swift\\ncase appIntentsMetadataExtractor\\n```\\n\\n### `appShortcutStringsMetadataExtractor`\\n\\n```swift\\ncase appShortcutStringsMetadataExtractor\\n```\\n\\n### `appleClang`\\n\\n```swift\\ncase appleClang\\n```\\n\\n### `assetCatalogCompiler`\\n\\n```swift\\ncase assetCatalogCompiler\\n```\\n\\n### `codeSign`\\n\\n```swift\\ncase codeSign\\n```\\n\\n### `compileRealityComposerProject`\\n\\n```swift\\ncase compileRealityComposerProject\\n```\\n\\n### `compileSceneKitShaders`\\n\\n```swift\\ncase compileSceneKitShaders\\n```\\n\\n### `compileSkybox`\\n\\n```swift\\ncase compileSkybox\\n```\\n\\n### `compileUSDZ`\\n\\n```swift\\ncase compileUSDZ\\n```\\n\\n### `compressPNG`\\n\\n```swift\\ncase compressPNG\\n```\\n\\n### `copyPlistFile`\\n\\n```swift\\ncase copyPlistFile\\n```\\n\\n### `copySceneKitAssets`\\n\\n```swift\\ncase copySceneKitAssets\\n```\\n\\n### `copyStringsFile`\\n\\n```swift\\ncase copyStringsFile\\n```\\n\\n### `copyTiffFile`\\n\\n```swift\\ncase copyTiffFile\\n```\\n\\n### `coreDataMappingModelCompiler`\\n\\n```swift\\ncase coreDataMappingModelCompiler\\n```\\n\\n### `coreMLModelCompiler`\\n\\n```swift\\ncase coreMLModelCompiler\\n```\\n\\n### `dataModelCompiler`\\n\\n```swift\\ncase dataModelCompiler\\n```\\n\\n### `defaultCompiler`\\n\\n```swift\\ncase defaultCompiler\\n```\\n\\n### `dTrace`\\n\\n```swift\\ncase dTrace\\n```\\n\\n### `generateSpriteKitTextureAtlas`\\n\\n```swift\\ncase generateSpriteKitTextureAtlas\\n```\\n\\n### `iconutil`\\n\\n```swift\\ncase iconutil\\n```\\n\\n### `instrumetsPackageBuilder`\\n\\n```swift\\ncase instrumetsPackageBuilder\\n```\\n\\n### `intentDefinitionCompiler`\\n\\n```swift\\ncase intentDefinitionCompiler\\n```\\n\\n### `interfaceBuilderNIBPostprocessor`\\n\\n```swift\\ncase interfaceBuilderNIBPostprocessor\\n```\\n\\n### `interfaceBuilderStoryboardCompiler`\\n\\n```swift\\ncase interfaceBuilderStoryboardCompiler\\n```\\n\\n### `interfaceBuilderStoryboardLinker`\\n\\n```swift\\ncase interfaceBuilderStoryboardLinker\\n```\\n\\n### `interfaceBuilderStoryboardPostprocessor`\\n\\n```swift\\ncase interfaceBuilderStoryboardPostprocessor\\n```\\n\\n### `interfaceBuilderXIBCompiler`\\n\\n```swift\\ncase interfaceBuilderXIBCompiler\\n```\\n\\n### `ioKitInterfaceGenerator`\\n\\n```swift\\ncase ioKitInterfaceGenerator\\n```\\n\\n### `lex`\\n\\n```swift\\ncase lex\\n```\\n\\n### `lsRegisterURL`\\n\\n```swift\\ncase lsRegisterURL\\n```\\n\\n### `metalCompiler`\\n\\n```swift\\ncase metalCompiler\\n```\\n\\n### `metalLinker`\\n\\n```swift\\ncase metalLinker\\n```\\n\\n### `mig`\\n\\n```swift\\ncase mig\\n```\\n\\n### `nasm`\\n\\n```swift\\ncase nasm\\n```\\n\\n### `nmedit`\\n\\n```swift\\ncase nmedit\\n```\\n\\n### `openCL`\\n\\n```swift\\ncase openCL\\n```\\n\\n### `osaCompile`\\n\\n```swift\\ncase osaCompile\\n```\\n\\n### `pbxcp`\\n\\n```swift\\ncase pbxcp\\n```\\n\\n### `processSceneKitDocument`\\n\\n```swift\\ncase processSceneKitDocument\\n```\\n\\n### `processXCAppExtensionPoints`\\n\\n```swift\\ncase processXCAppExtensionPoints\\n```\\n\\n### `rez`\\n\\n```swift\\ncase rez\\n```\\n\\n### `stripSymbols`\\n\\n```swift\\ncase stripSymbols\\n```\\n\\n### `swiftCompiler`\\n\\n```swift\\ncase swiftCompiler\\n```\\n\\n### `swiftABIBaselineGenerator`\\n\\n```swift\\ncase swiftABIBaselineGenerator\\n```\\n\\n### `swiftFrameworkABIChecker`\\n\\n```swift\\ncase swiftFrameworkABIChecker\\n```\\n\\n### `textBasedAPITool`\\n\\n```swift\\ncase textBasedAPITool\\n```\\n\\n### `unifdef`\\n\\n```swift\\ncase unifdef\\n```\\n\\n### `yacc`\\n\\n```swift\\ncase yacc\\n```\\n\\n### `customScript`\\n\\n```swift\\ncase customScript\\n```\\n\\n\",\"title\":\"`BuildRule.CompilerSpec`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/buildrule.compilerspec\",\"LLMS_URL\":\"/ja/references/project-description/enums/buildrule.compilerspec.md\"}},{\"path\":\"/ja/references/project-description/enums/buildrule.filetype.md\",\"url\":\"/ja/references/project-description/enums/buildrule.filetype\",\"llmUrl\":\"/ja/references/project-description/enums/buildrule.filetype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/buildrule.filetype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/buildrule.filetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildRule.FileType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `instrumentsPackageDefinition`\\n - `metalAIR`\\n - `machO`\\n - `machOObject`\\n - `siriKitIntent`\\n - `coreMLMachineLearning`\\n - `rcProjectDocument`\\n - `skyboxDocument`\\n - `interfaceBuilderStoryboard`\\n - `interfaceBuilder`\\n - `documentationCatalog`\\n - `coreMLMachineLearningModelPackage`\\n - `assemblyAsm`\\n - `assemblyAsmAsm`\\n - `llvmAssembly`\\n - `cSource`\\n - `clipsSource`\\n - `cppSource`\\n - `dtraceSource`\\n - `dylanSource`\\n - `fortranSource`\\n - `glslSource`\\n - `iigSource`\\n - `javaSource`\\n - `lexSource`\\n - `metalShaderSource`\\n - `migSource`\\n - `nasmAssembly`\\n - `openCLSource`\\n - `pascalSource`\\n - `protobufSource`\\n - `rezSource`\\n - `swiftSource`\\n - `yaccSource`\\n - `localizationString`\\n - `localizationStringDictionary`\\n - `xcAppExtensionPoints`\\n - `xcodeSpecificationPlist`\\n - `dae`\\n - `nib`\\n - `interfaceBuilderStoryboardPackage`\\n - `classModel`\\n - `dataModel`\\n - `dataModelVersion`\\n - `mappingModel`\\n - `sourceFilesWithNamesMatching`\\n\\n```swift\\npublic enum FileType: Codable, Sendable\\n```\\n\\nFile types processed by a build rule.\\nAll the values are taken from build rule options hidden under a pup-up button's menu next to a label `Process` in a\\ntarget's `Build Rules` section.\\n\\n## Cases\\n### `instrumentsPackageDefinition`\\n\\n```swift\\ncase instrumentsPackageDefinition\\n```\\n\\n### `metalAIR`\\n\\n```swift\\ncase metalAIR\\n```\\n\\n### `machO`\\n\\n```swift\\ncase machO\\n```\\n\\n### `machOObject`\\n\\n```swift\\ncase machOObject\\n```\\n\\n### `siriKitIntent`\\n\\n```swift\\ncase siriKitIntent\\n```\\n\\n### `coreMLMachineLearning`\\n\\n```swift\\ncase coreMLMachineLearning\\n```\\n\\n### `rcProjectDocument`\\n\\n```swift\\ncase rcProjectDocument\\n```\\n\\n### `skyboxDocument`\\n\\n```swift\\ncase skyboxDocument\\n```\\n\\n### `interfaceBuilderStoryboard`\\n\\n```swift\\ncase interfaceBuilderStoryboard\\n```\\n\\n### `interfaceBuilder`\\n\\n```swift\\ncase interfaceBuilder\\n```\\n\\n### `documentationCatalog`\\n\\n```swift\\ncase documentationCatalog\\n```\\n\\n### `coreMLMachineLearningModelPackage`\\n\\n```swift\\ncase coreMLMachineLearningModelPackage\\n```\\n\\n### `assemblyAsm`\\n\\n```swift\\ncase assemblyAsm\\n```\\n\\n### `assemblyAsmAsm`\\n\\n```swift\\ncase assemblyAsmAsm\\n```\\n\\n### `llvmAssembly`\\n\\n```swift\\ncase llvmAssembly\\n```\\n\\n### `cSource`\\n\\n```swift\\ncase cSource\\n```\\n\\n### `clipsSource`\\n\\n```swift\\ncase clipsSource\\n```\\n\\n### `cppSource`\\n\\n```swift\\ncase cppSource\\n```\\n\\n### `dtraceSource`\\n\\n```swift\\ncase dtraceSource\\n```\\n\\n### `dylanSource`\\n\\n```swift\\ncase dylanSource\\n```\\n\\n### `fortranSource`\\n\\n```swift\\ncase fortranSource\\n```\\n\\n### `glslSource`\\n\\n```swift\\ncase glslSource\\n```\\n\\n### `iigSource`\\n\\n```swift\\ncase iigSource\\n```\\n\\n### `javaSource`\\n\\n```swift\\ncase javaSource\\n```\\n\\n### `lexSource`\\n\\n```swift\\ncase lexSource\\n```\\n\\n### `metalShaderSource`\\n\\n```swift\\ncase metalShaderSource\\n```\\n\\n### `migSource`\\n\\n```swift\\ncase migSource\\n```\\n\\n### `nasmAssembly`\\n\\n```swift\\ncase nasmAssembly\\n```\\n\\n### `openCLSource`\\n\\n```swift\\ncase openCLSource\\n```\\n\\n### `pascalSource`\\n\\n```swift\\ncase pascalSource\\n```\\n\\n### `protobufSource`\\n\\n```swift\\ncase protobufSource\\n```\\n\\n### `rezSource`\\n\\n```swift\\ncase rezSource\\n```\\n\\n### `swiftSource`\\n\\n```swift\\ncase swiftSource\\n```\\n\\n### `yaccSource`\\n\\n```swift\\ncase yaccSource\\n```\\n\\n### `localizationString`\\n\\n```swift\\ncase localizationString\\n```\\n\\n### `localizationStringDictionary`\\n\\n```swift\\ncase localizationStringDictionary\\n```\\n\\n### `xcAppExtensionPoints`\\n\\n```swift\\ncase xcAppExtensionPoints\\n```\\n\\n### `xcodeSpecificationPlist`\\n\\n```swift\\ncase xcodeSpecificationPlist\\n```\\n\\n### `dae`\\n\\n```swift\\ncase dae\\n```\\n\\n### `nib`\\n\\n```swift\\ncase nib\\n```\\n\\n### `interfaceBuilderStoryboardPackage`\\n\\n```swift\\ncase interfaceBuilderStoryboardPackage\\n```\\n\\n### `classModel`\\n\\n```swift\\ncase classModel\\n```\\n\\n### `dataModel`\\n\\n```swift\\ncase dataModel\\n```\\n\\n### `dataModelVersion`\\n\\n```swift\\ncase dataModelVersion\\n```\\n\\n### `mappingModel`\\n\\n```swift\\ncase mappingModel\\n```\\n\\n### `sourceFilesWithNamesMatching`\\n\\n```swift\\ncase sourceFilesWithNamesMatching\\n```\\n\\n\",\"title\":\"`BuildRule.FileType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/buildrule.filetype\",\"LLMS_URL\":\"/ja/references/project-description/enums/buildrule.filetype.md\"}},{\"path\":\"/ja/references/project-description/enums/cloud.option.md\",\"url\":\"/ja/references/project-description/enums/cloud.option\",\"llmUrl\":\"/ja/references/project-description/enums/cloud.option.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/cloud.option\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/cloud.option.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Cloud.Option`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `optional`\\n\\n```swift\\npublic enum Option: String, Codable, Equatable, Sendable\\n```\\n\\nOptions for cloud configuration.\\n\\n## Cases\\n### `optional`\\n\\n```swift\\ncase optional\\n```\\n\\nMarks whether the Tuist server authentication is optional.\\nIf present, the interaction with the Tuist server will be skipped (instead of failing) if a user is not authenticated.\\n\\n\",\"title\":\"`Cloud.Option`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/cloud.option\",\"LLMS_URL\":\"/ja/references/project-description/enums/cloud.option.md\"}},{\"path\":\"/ja/references/project-description/enums/compatiblexcodeversions.md\",\"url\":\"/ja/references/project-description/enums/compatiblexcodeversions\",\"llmUrl\":\"/ja/references/project-description/enums/compatiblexcodeversions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/compatiblexcodeversions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/compatiblexcodeversions.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CompatibleXcodeVersions`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `exact(_:)`\\n - `upToNextMajor(_:)`\\n - `upToNextMinor(_:)`\\n - `list(_:)`\\n- [Methods](#methods)\\n - `init(arrayLiteral:)`\\n - `init(arrayLiteral:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic enum CompatibleXcodeVersions: ExpressibleByArrayLiteral, ExpressibleByStringInterpolation, Codable, Equatable, Sendable\\n```\\n\\nOptions of compatibles Xcode versions.\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\nThe project supports all Xcode versions.\\n\\n### `exact(_:)`\\n\\n```swift\\ncase exact(Version)\\n```\\n\\nThe project supports only a specific Xcode version.\\n\\n### `upToNextMajor(_:)`\\n\\n```swift\\ncase upToNextMajor(Version)\\n```\\n\\nThe project supports all Xcode versions from the specified version up to but not including the next major version.\\n\\n### `upToNextMinor(_:)`\\n\\n```swift\\ncase upToNextMinor(Version)\\n```\\n\\nThe project supports all Xcode versions from the specified version up to but not including the next minor version.\\n\\n### `list(_:)`\\n\\n```swift\\ncase list([CompatibleXcodeVersions])\\n```\\n\\nList of versions that are supported by the project.\\n\\n## Methods\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: [CompatibleXcodeVersions])\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: CompatibleXcodeVersions...)\\n```\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`CompatibleXcodeVersions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/compatiblexcodeversions\",\"LLMS_URL\":\"/ja/references/project-description/enums/compatiblexcodeversions.md\"}},{\"path\":\"/ja/references/project-description/enums/configuration.variant.md\",\"url\":\"/ja/references/project-description/enums/configuration.variant\",\"llmUrl\":\"/ja/references/project-description/enums/configuration.variant.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/configuration.variant\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/configuration.variant.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Configuration.Variant`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `debug`\\n - `release`\\n\\n```swift\\npublic enum Variant: String, Codable, Sendable\\n```\\n\\n## Cases\\n### `debug`\\n\\n```swift\\ncase debug\\n```\\n\\n### `release`\\n\\n```swift\\ncase release\\n```\\n\\n\",\"title\":\"`Configuration.Variant`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/configuration.variant\",\"LLMS_URL\":\"/ja/references/project-description/enums/configuration.variant.md\"}},{\"path\":\"/ja/references/project-description/enums/copyfileelement.md\",\"url\":\"/ja/references/project-description/enums/copyfileelement\",\"llmUrl\":\"/ja/references/project-description/enums/copyfileelement.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/copyfileelement\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/copyfileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CopyFileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:condition:codeSignOnCopy:)`\\n - `folderReference(path:condition:codeSignOnCopy:)`\\n\\n```swift\\npublic enum CopyFileElement: Codable, Equatable, Sendable\\n```\\n\\nA file element from a glob pattern or a folder reference which is conditionally applied to specific platforms with an optional\\n\\\"Code Sign On Copy\\\" flag.\\n\\n## Cases\\n### `glob(pattern:condition:codeSignOnCopy:)`\\n\\n```swift\\ncase glob(pattern: Path, condition: PlatformCondition? = nil, codeSignOnCopy: Bool = false)\\n```\\n\\nA file path (or glob pattern) to include with an optional PlatformCondition to control which platforms it applies.\\n\\\"Code Sign on Copy\\\" can be optionally enabled for the glob.\\n\\n### `folderReference(path:condition:codeSignOnCopy:)`\\n\\n```swift\\ncase folderReference(path: Path, condition: PlatformCondition? = nil, codeSignOnCopy: Bool = false)\\n```\\n\\nA directory path to include as a folder reference with an optional PlatformCondition to control which platforms it applies\\nto. \\\"Code Sign on Copy\\\" can be optionally enabled for the folder reference.\\n\\n\",\"title\":\"`CopyFileElement`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/copyfileelement\",\"LLMS_URL\":\"/ja/references/project-description/enums/copyfileelement.md\"}},{\"path\":\"/ja/references/project-description/enums/copyfilesaction.destination.md\",\"url\":\"/ja/references/project-description/enums/copyfilesaction.destination\",\"llmUrl\":\"/ja/references/project-description/enums/copyfilesaction.destination.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/copyfilesaction.destination\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/copyfilesaction.destination.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CopyFilesAction.Destination`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `absolutePath`\\n - `productsDirectory`\\n - `wrapper`\\n - `executables`\\n - `resources`\\n - `javaResources`\\n - `frameworks`\\n - `sharedFrameworks`\\n - `sharedSupport`\\n - `plugins`\\n - `other`\\n\\n```swift\\npublic enum Destination: String, Codable, Equatable, Sendable\\n```\\n\\nDestination path.\\n\\n## Cases\\n### `absolutePath`\\n\\n```swift\\ncase absolutePath\\n```\\n\\n### `productsDirectory`\\n\\n```swift\\ncase productsDirectory\\n```\\n\\n### `wrapper`\\n\\n```swift\\ncase wrapper\\n```\\n\\n### `executables`\\n\\n```swift\\ncase executables\\n```\\n\\n### `resources`\\n\\n```swift\\ncase resources\\n```\\n\\n### `javaResources`\\n\\n```swift\\ncase javaResources\\n```\\n\\n### `frameworks`\\n\\n```swift\\ncase frameworks\\n```\\n\\n### `sharedFrameworks`\\n\\n```swift\\ncase sharedFrameworks\\n```\\n\\n### `sharedSupport`\\n\\n```swift\\ncase sharedSupport\\n```\\n\\n### `plugins`\\n\\n```swift\\ncase plugins\\n```\\n\\n### `other`\\n\\n```swift\\ncase other\\n```\\n\\n\",\"title\":\"`CopyFilesAction.Destination`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/copyfilesaction.destination\",\"LLMS_URL\":\"/ja/references/project-description/enums/copyfilesaction.destination.md\"}},{\"path\":\"/ja/references/project-description/enums/debuginformationformat.md\",\"url\":\"/ja/references/project-description/enums/debuginformationformat\",\"llmUrl\":\"/ja/references/project-description/enums/debuginformationformat.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/debuginformationformat\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/debuginformationformat.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `DebugInformationFormat`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `dwarf`\\n - `dwarfWithDsym`\\n\\n```swift\\npublic enum DebugInformationFormat: String\\n```\\n\\n## Cases\\n### `dwarf`\\n\\n```swift\\ncase dwarf\\n```\\n\\n### `dwarfWithDsym`\\n\\n```swift\\ncase dwarfWithDsym = \\\"dwarf-with-dsym\\\"\\n```\\n\\n\",\"title\":\"`DebugInformationFormat`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/debuginformationformat\",\"LLMS_URL\":\"/ja/references/project-description/enums/debuginformationformat.md\"}},{\"path\":\"/ja/references/project-description/enums/defaultsettings.md\",\"url\":\"/ja/references/project-description/enums/defaultsettings\",\"llmUrl\":\"/ja/references/project-description/enums/defaultsettings.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/defaultsettings\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/defaultsettings.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `DefaultSettings`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `recommended(excluding:)`\\n - `essential(excluding:)`\\n - `none`\\n\\n```swift\\npublic enum DefaultSettings: Codable, Equatable, Sendable\\n```\\n\\nSpecifies the default set of settings applied to all the projects and targets.\\nThe default settings can be overridden via `Settings base: SettingsDictionary`\\nand `Configuration settings: SettingsDictionary`.\\n\\n## Cases\\n### `recommended(excluding:)`\\n\\n```swift\\ncase recommended(excluding: Set = [])\\n```\\n\\nRecommended settings including warning flags to help you catch some of the bugs at the early stage of development. If you\\nneed to override certain settings in a `Configuration` it's possible to add those keys to `excluding`.\\n\\n### `essential(excluding:)`\\n\\n```swift\\ncase essential(excluding: Set = [])\\n```\\n\\nA minimal set of settings to make the project compile without any additional settings for example `PRODUCT_NAME` or\\n`TARGETED_DEVICE_FAMILY`. If you need to override certain settings in a Configuration it's possible to add those keys to\\n`excluding`.\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\nTuist won't generate any build settings for the target or project.\\n\\n\",\"title\":\"`DefaultSettings`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/defaultsettings\",\"LLMS_URL\":\"/ja/references/project-description/enums/defaultsettings.md\"}},{\"path\":\"/ja/references/project-description/enums/destination.md\",\"url\":\"/ja/references/project-description/enums/destination\",\"llmUrl\":\"/ja/references/project-description/enums/destination.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/destination\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/destination.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Destination`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iPhone`\\n - `iPad`\\n - `mac`\\n - `macWithiPadDesign`\\n - `macCatalyst`\\n - `appleWatch`\\n - `appleTv`\\n - `appleVision`\\n - `appleVisionWithiPadDesign`\\n- [Properties](#properties)\\n - `platform`\\n\\n```swift\\npublic enum Destination: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported deployment destination representation.\\n\\n## Cases\\n### `iPhone`\\n\\n```swift\\ncase iPhone\\n```\\n\\niPhone support\\n\\n### `iPad`\\n\\n```swift\\ncase iPad\\n```\\n\\niPad support\\n\\n### `mac`\\n\\n```swift\\ncase mac\\n```\\n\\nNative macOS support\\n\\n### `macWithiPadDesign`\\n\\n```swift\\ncase macWithiPadDesign\\n```\\n\\nmacOS support using iPad design\\n\\n### `macCatalyst`\\n\\n```swift\\ncase macCatalyst\\n```\\n\\nmac Catalyst support\\n\\n### `appleWatch`\\n\\n```swift\\ncase appleWatch\\n```\\n\\nwatchOS support\\n\\n### `appleTv`\\n\\n```swift\\ncase appleTv\\n```\\n\\ntvOS support\\n\\n### `appleVision`\\n\\n```swift\\ncase appleVision\\n```\\n\\nvisionOS support\\n\\n### `appleVisionWithiPadDesign`\\n\\n```swift\\ncase appleVisionWithiPadDesign\\n```\\n\\nvisionOS support using iPad design\\n\\n## Properties\\n### `platform`\\n\\n```swift\\npublic var platform: Platform\\n```\\n\\nSDK Platform of a destination\\n\\n\",\"title\":\"`Destination`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/destination\",\"LLMS_URL\":\"/ja/references/project-description/enums/destination.md\"}},{\"path\":\"/ja/references/project-description/enums/entitlements.md\",\"url\":\"/ja/references/project-description/enums/entitlements\",\"llmUrl\":\"/ja/references/project-description/enums/entitlements.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/entitlements\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/entitlements.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Entitlements`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(path:)`\\n - `dictionary(_:)`\\n - `variable(_:)`\\n- [Properties](#properties)\\n - `path`\\n\\n```swift\\npublic enum Entitlements: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `file(path:)`\\n\\n```swift\\ncase file(path: Path)\\n```\\n\\nThe path to an existing .entitlements file.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Plist.Value])\\n```\\n\\nA dictionary with the entitlements content. Tuist generates the .entitlements file at the generation time.\\n\\n### `variable(_:)`\\n\\n```swift\\ncase variable(String)\\n```\\n\\nA build setting variable that points to an .entitlements file.\\n\\nThis should be used when you have an xcconfig file or build setting that defines a variable pointing to the entitlements\\nfile path.\\nThis is particularly useful when the project has different entitlements files per configuration (e.g., debug, release,\\nstaging).\\n\\nExample:\\n\\n```\\n.target(\\n ...\\n entitlements: .variable(\\\"$(ENTITLEMENT_FILE_VARIABLE)\\\")\\n)\\n```\\n\\nOr, as literal string:\\n\\n```\\n.target(\\n ...\\n entitlements: \\\"$(ENTITLEMENT_FILE_VARIABLE)\\\"\\n)\\n```\\n\\n> Note: For per-configuration entitlements, you can also:\\n> 1. Keep `Target.entitlements` as `nil`\\n> 2. Set the `CODE_SIGN_ENTITLEMENTS` build setting using `Target.settings` for each configuration\\n> 3. If you want the entitlement files to be included in the project navigator, add them using `Project.additionalFiles`\\n>\\n> Example:\\n> ```swift\\n> let target = Target(\\n> name: \\\"MyApp\\\",\\n> // ... other properties\\n> entitlements: nil, // Important: keep this as nil\\n> settings: .settings(\\n> configurations: [\\n> .debug(name: \\\"Debug\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Debug.entitlements\\\"]),\\n> .release(name: \\\"Release\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Release.entitlements\\\"])\\n> ]\\n> )\\n> )\\n>\\n> let project = Project(\\n> name: \\\"MyProject\\\",\\n> targets: [target],\\n> additionalFiles: [\\n> \\\"Debug.entitlements\\\",\\n> \\\"Release.entitlements\\\"\\n> ]\\n> )\\n> ```\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic var path: Path?\\n```\\n\\n\",\"title\":\"`Entitlements`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/entitlements\",\"LLMS_URL\":\"/ja/references/project-description/enums/entitlements.md\"}},{\"path\":\"/ja/references/project-description/enums/entitlements.codingerror.md\",\"url\":\"/ja/references/project-description/enums/entitlements.codingerror\",\"llmUrl\":\"/ja/references/project-description/enums/entitlements.codingerror.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/entitlements.codingerror\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/entitlements.codingerror.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Entitlements.CodingError`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `invalidType(_:)`\\n\\n```swift\\npublic enum CodingError: Error\\n```\\n\\n## Cases\\n### `invalidType(_:)`\\n\\n```swift\\ncase invalidType(String)\\n```\\n\\n\",\"title\":\"`Entitlements.CodingError`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/entitlements.codingerror\",\"LLMS_URL\":\"/ja/references/project-description/enums/entitlements.codingerror.md\"}},{\"path\":\"/ja/references/project-description/enums/environment.md\",\"url\":\"/ja/references/project-description/enums/environment\",\"llmUrl\":\"/ja/references/project-description/enums/environment.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/environment\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/environment.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Environment`\\n\\n```swift\\npublic enum Environment\\n```\\n\\nA convenience structure to read environment variables.\\n\\n\",\"title\":\"`Environment`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/environment\",\"LLMS_URL\":\"/ja/references/project-description/enums/environment.md\"}},{\"path\":\"/ja/references/project-description/enums/environment.value.md\",\"url\":\"/ja/references/project-description/enums/environment.value\",\"llmUrl\":\"/ja/references/project-description/enums/environment.value.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/environment.value\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/environment.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Environment.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n\\n```swift\\npublic enum Value: Equatable\\n```\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\n\",\"title\":\"`Environment.Value`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/environment.value\",\"LLMS_URL\":\"/ja/references/project-description/enums/environment.value.md\"}},{\"path\":\"/ja/references/project-description/enums/filecodegen.md\",\"url\":\"/ja/references/project-description/enums/filecodegen\",\"llmUrl\":\"/ja/references/project-description/enums/filecodegen.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/filecodegen\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/filecodegen.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileCodeGen`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `public`\\n - `private`\\n - `project`\\n - `disabled`\\n\\n```swift\\npublic enum FileCodeGen: String, Codable, Equatable, Sendable\\n```\\n\\nOptions for source file code generation.\\n\\n## Cases\\n### `public`\\n\\n```swift\\ncase `public`\\n```\\n\\nPublic codegen\\n\\n### `private`\\n\\n```swift\\ncase `private`\\n```\\n\\nPrivate codegen\\n\\n### `project`\\n\\n```swift\\ncase project\\n```\\n\\nProject codegen\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDisabled codegen\\n\\n\",\"title\":\"`FileCodeGen`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/filecodegen\",\"LLMS_URL\":\"/ja/references/project-description/enums/filecodegen.md\"}},{\"path\":\"/ja/references/project-description/enums/fileelement.md\",\"url\":\"/ja/references/project-description/enums/fileelement\",\"llmUrl\":\"/ja/references/project-description/enums/fileelement.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/fileelement\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/fileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:)`\\n - `folderReference(path:)`\\n\\n```swift\\npublic enum FileElement: Codable, Equatable, Sendable\\n```\\n\\nA file element from a glob pattern or a folder reference.\\n\\n- glob: a glob pattern for files to include\\n- folderReference: a single path to a directory\\n\\nNote: For convenience, an element can be represented as a string literal\\n `\\\"some/pattern/**\\\"` is the equivalent of `FileElement.glob(pattern: \\\"some/pattern/**\\\")`\\n\\n## Cases\\n### `glob(pattern:)`\\n\\n```swift\\ncase glob(pattern: Path)\\n```\\n\\nA file path (or glob pattern) to include. For convenience, a string literal can be used as an alternate way to specify\\nthis option.\\n\\n### `folderReference(path:)`\\n\\n```swift\\ncase folderReference(path: Path)\\n```\\n\\nA directory path to include as a folder reference.\\n\\n\",\"title\":\"`FileElement`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/fileelement\",\"LLMS_URL\":\"/ja/references/project-description/enums/fileelement.md\"}},{\"path\":\"/ja/references/project-description/enums/fileheadertemplate.md\",\"url\":\"/ja/references/project-description/enums/fileheadertemplate\",\"llmUrl\":\"/ja/references/project-description/enums/fileheadertemplate.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/fileheadertemplate\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/fileheadertemplate.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileHeaderTemplate`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(_:)`\\n - `string(_:)`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic enum FileHeaderTemplate: Codable, Equatable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\nA header template from a file or a string.\\n\\nLets you define custom file header template for built-in Xcode templates, e.g. when you create new Swift file you can\\nautomatically have your custom define file header.\\n\\nTuist automatically performs several template transformations for you\\n - if your template starts with comment slashes (`//`) we remove them as they are added automatically by Xcode\\n - if your template doesn't start with comment and whitespace or newline, we add a space - otherwise your header would be\\nglued to implicit comment slashes which you probably do not want\\n - if your template has trailing newline, we remove it as it is implicitly added by Xcode\\n\\n## Cases\\n### `file(_:)`\\n\\n```swift\\ncase file(Path)\\n```\\n\\nLoad template stored in file\\n\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nUse inline string as template\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\nCreates file template as `.string(value)`\\n\\n\",\"title\":\"`FileHeaderTemplate`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/fileheadertemplate\",\"LLMS_URL\":\"/ja/references/project-description/enums/fileheadertemplate.md\"}},{\"path\":\"/ja/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\",\"url\":\"/ja/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\",\"llmUrl\":\"/ja/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `GenerationOptions.AutogeneratedWorkspaceSchemes`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n - `enabled(codeCoverageMode:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:)`\\n\\n```swift\\npublic enum AutogeneratedWorkspaceSchemes: Codable, Equatable, Sendable\\n```\\n\\nContains options for autogenerated workspace schemes\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nTuist will not automatically generate any schemes\\n\\n### `enabled(codeCoverageMode:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:)`\\n\\n```swift\\ncase enabled(\\n codeCoverageMode: CodeCoverageMode = .disabled,\\n testingOptions: TestingOptions = [],\\n testLanguage: SchemeLanguage? = nil,\\n testRegion: String? = nil,\\n testScreenCaptureFormat: ScreenCaptureFormat? = nil\\n)\\n```\\n\\nTuist will generate schemes with the associated testing options\\n\\n\",\"title\":\"`GenerationOptions.AutogeneratedWorkspaceSchemes`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\",\"LLMS_URL\":\"/ja/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\"}},{\"path\":\"/ja/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\",\"url\":\"/ja/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\",\"llmUrl\":\"/ja/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `GenerationOptions.StaticSideEffectsWarningTargets`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `none`\\n - `excluding(_:)`\\n\\n```swift\\npublic enum StaticSideEffectsWarningTargets: Codable, Equatable, Sendable\\n```\\n\\nThis enum represents the targets against which Tuist will run the check for potential side effects\\ncaused by static transitive dependencies.\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\n### `excluding(_:)`\\n\\n```swift\\ncase excluding([String])\\n```\\n\\n\",\"title\":\"`GenerationOptions.StaticSideEffectsWarningTargets`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\",\"LLMS_URL\":\"/ja/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\"}},{\"path\":\"/ja/references/project-description/enums/headers.automaticexclusionrule.md\",\"url\":\"/ja/references/project-description/enums/headers.automaticexclusionrule\",\"llmUrl\":\"/ja/references/project-description/enums/headers.automaticexclusionrule.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/headers.automaticexclusionrule\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/headers.automaticexclusionrule.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Headers.AutomaticExclusionRule`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `projectExcludesPrivateAndPublic`\\n - `publicExcludesPrivateAndProject`\\n\\n```swift\\npublic enum AutomaticExclusionRule: Int, Codable, Sendable\\n```\\n\\nDetermine how to resolve cases, when the same files found in different header scopes\\n\\n## Cases\\n### `projectExcludesPrivateAndPublic`\\n\\n```swift\\ncase projectExcludesPrivateAndPublic\\n```\\n\\nProject headers = all found - private headers - public headers\\n\\nOrder of tuist search:\\n 1) Public headers\\n 2) Private headers (with auto excludes all found public headers)\\n 3) Project headers (with excluding public/private headers)\\n\\n Also tuist doesn't ignore all excludes,\\n which had been set by `excluding` param\\n\\n### `publicExcludesPrivateAndProject`\\n\\n```swift\\ncase publicExcludesPrivateAndProject\\n```\\n\\nPublic headers = all found - private headers - project headers\\n\\nOrder of tuist search (reverse search):\\n 1) Project headers\\n 2) Private headers (with auto excludes all found project headers)\\n 3) Public headers (with excluding project/private headers)\\n\\n Also tuist doesn't ignore all excludes,\\n which had been set by `excluding` param\\n\\n\",\"title\":\"`Headers.AutomaticExclusionRule`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/headers.automaticexclusionrule\",\"LLMS_URL\":\"/ja/references/project-description/enums/headers.automaticexclusionrule.md\"}},{\"path\":\"/ja/references/project-description/enums/infoplist.md\",\"url\":\"/ja/references/project-description/enums/infoplist\",\"llmUrl\":\"/ja/references/project-description/enums/infoplist.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/infoplist\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/infoplist.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `InfoPlist`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(path:)`\\n - `dictionary(_:)`\\n - `extendingDefault(with:)`\\n - `variable(_:)`\\n- [Properties](#properties)\\n - `default`\\n - `path`\\n\\n```swift\\npublic enum InfoPlist: Codable, Equatable, Sendable\\n```\\n\\nA info plist from a file, a custom dictionary or a extended defaults.\\n\\n## Cases\\n### `file(path:)`\\n\\n```swift\\ncase file(path: Path)\\n```\\n\\nThe path to an existing Info.plist file.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Plist.Value])\\n```\\n\\nA dictionary with the Info.plist content. Tuist generates the Info.plist file at the generation time.\\n\\n### `extendingDefault(with:)`\\n\\n```swift\\ncase extendingDefault(with: [String: Plist.Value])\\n```\\n\\nGenerate an Info.plist file with the default content for the target product extended with the values in the given\\ndictionary.\\n\\n### `variable(_:)`\\n\\n```swift\\ncase variable(String)\\n```\\n\\nA user defined xcconfig variable map to Info.plist file.\\n\\nThis should be used when the project has different Info.plist files per config (aka: debug, release, staging, etc.).\\n\\nExample:\\n\\n```\\n.target(\\n ...\\n infoPlist: .variable(\\\"$(INFO_PLIST_FILE_VARIABLE)\\\")\\n)\\n```\\n\\nOr, as literal string:\\n\\n```\\n.target(\\n ...\\n infoPlist: $(INFO_PLIST_FILE_VARIABLE)\\n)\\n```\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: InfoPlist\\n```\\n\\nGenerate the default content for the target the InfoPlist belongs to.\\n\\n### `path`\\n\\n```swift\\npublic var path: Path?\\n```\\n\\n\",\"title\":\"`InfoPlist`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/infoplist\",\"LLMS_URL\":\"/ja/references/project-description/enums/infoplist.md\"}},{\"path\":\"/ja/references/project-description/enums/infoplist.codingerror.md\",\"url\":\"/ja/references/project-description/enums/infoplist.codingerror\",\"llmUrl\":\"/ja/references/project-description/enums/infoplist.codingerror.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/infoplist.codingerror\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/infoplist.codingerror.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `InfoPlist.CodingError`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `invalidType(_:)`\\n\\n```swift\\npublic enum CodingError: Error\\n```\\n\\n## Cases\\n### `invalidType(_:)`\\n\\n```swift\\ncase invalidType(String)\\n```\\n\\n\",\"title\":\"`InfoPlist.CodingError`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/infoplist.codingerror\",\"LLMS_URL\":\"/ja/references/project-description/enums/infoplist.codingerror.md\"}},{\"path\":\"/ja/references/project-description/enums/launchstyle.md\",\"url\":\"/ja/references/project-description/enums/launchstyle\",\"llmUrl\":\"/ja/references/project-description/enums/launchstyle.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/launchstyle\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/launchstyle.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `LaunchStyle`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `automatically`\\n - `waitForExecutableToBeLaunched`\\n\\n```swift\\npublic enum LaunchStyle: Codable, Sendable\\n```\\n\\n## Cases\\n### `automatically`\\n\\n```swift\\ncase automatically\\n```\\n\\n### `waitForExecutableToBeLaunched`\\n\\n```swift\\ncase waitForExecutableToBeLaunched\\n```\\n\\n\",\"title\":\"`LaunchStyle`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/launchstyle\",\"LLMS_URL\":\"/ja/references/project-description/enums/launchstyle.md\"}},{\"path\":\"/ja/references/project-description/enums/linkingstatus.md\",\"url\":\"/ja/references/project-description/enums/linkingstatus\",\"llmUrl\":\"/ja/references/project-description/enums/linkingstatus.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/linkingstatus\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/linkingstatus.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `LinkingStatus`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `required`\\n - `optional`\\n - `none`\\n\\n```swift\\npublic enum LinkingStatus: String, Codable, Hashable, Sendable\\n```\\n\\nDependency status used by dependencies\\n\\n## Cases\\n### `required`\\n\\n```swift\\ncase required\\n```\\n\\nRequired dependency\\n\\n### `optional`\\n\\n```swift\\ncase optional\\n```\\n\\nOptional dependency (weakly linked)\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\nSkip linking\\n\\n\",\"title\":\"`LinkingStatus`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/linkingstatus\",\"LLMS_URL\":\"/ja/references/project-description/enums/linkingstatus.md\"}},{\"path\":\"/ja/references/project-description/enums/mergedbinarytype.md\",\"url\":\"/ja/references/project-description/enums/mergedbinarytype\",\"llmUrl\":\"/ja/references/project-description/enums/mergedbinarytype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/mergedbinarytype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/mergedbinarytype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `MergedBinaryType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n - `automatic`\\n - `manual(mergeableDependencies:)`\\n\\n```swift\\npublic enum MergedBinaryType: Equatable, Codable, Sendable\\n```\\n\\nRepresents the different options to configure a target for mergeable libraries\\n\\nhttps://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nTarget is never going to merge available dependencies\\n\\n### `automatic`\\n\\n```swift\\ncase automatic\\n```\\n\\nTarget is going to merge direct target dependencies (just the ones declared as part of it's project). With this build\\nsetting,\\nXcode treats mergeable dependencies like normal dynamic libraries in debug builds,\\nbut performs steps in release mode to automatically handle merging for **direct dependencies**\\n\\nA direct dependency is a library that meets two criteria:\\n- The library is listed in your target’s Link Binary with Libraries build phase.\\n- The library is the product of another target in your project.\\n\\n### `manual(mergeableDependencies:)`\\n\\n```swift\\ncase manual(mergeableDependencies: Set)\\n```\\n\\nTarget is going to merge direct and specified dependencies that are not part of the project. The set of dependencies\\nis going to reflect the list of precompiled dynamic dependencies you want to merge as part of the target. These binaries\\nmust be compiled with `MAKE_MERGEABLE` flag set to true\\n\\nIn some cases, you may want to manually configure merging between your app or framework target and dependent libraries.\\nFor example, you might not want to automatically merge dependencies that you share between an app and an app extension\\nif you’re concerned about the app extension’s binary size. To set up manual merging, configure your app or framework\\ntarget,\\nthen configure your dependent libraries.\\n\\nIn your app or framework target, add the flag `mergedBinaryType` and set it to manual. After you add that setting to your\\ntarget:\\n- In release builds, Xcode merges the products of any of its direct dependencies which have\\nMAKE_MERGEABLE enabled using the linker flags -merge_framework, -merge-l and so on.\\n- In debug builds, Xcode links any of your target’s direct dependencies which have MERGEABLE_LIBRARY\\n enabled, but not MAKE_MERGEABLE with the linker flags -reexport_framework, -reexport-l, and so on.\\n- Xcode uses normal linking for targets that don’t have MERGEABLE_LIBRARY enabled. This is the same linking\\nthat Xcode uses for static libraries, or dynamic libraries that aren’t mergeable.\\n\\n\",\"title\":\"`MergedBinaryType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/mergedbinarytype\",\"LLMS_URL\":\"/ja/references/project-description/enums/mergedbinarytype.md\"}},{\"path\":\"/ja/references/project-description/enums/package.md\",\"url\":\"/ja/references/project-description/enums/package\",\"llmUrl\":\"/ja/references/project-description/enums/package.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/package\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/package.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Package`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `remote(url:requirement:)`\\n - `registry(identifier:requirement:)`\\n - `local(path:)`\\n\\n```swift\\npublic enum Package: Equatable, Codable, Sendable\\n```\\n\\nA dependency of a Swift package.\\n\\nA package dependency can be either:\\n - remote: A Git URL to the source of the package,\\n and a requirement for the version of the package.\\n - local: A relative path to the package.\\n\\n## Cases\\n### `remote(url:requirement:)`\\n\\n```swift\\ncase remote(url: String, requirement: Requirement)\\n```\\n\\n### `registry(identifier:requirement:)`\\n\\n```swift\\ncase registry(identifier: String, requirement: Requirement)\\n```\\n\\n### `local(path:)`\\n\\n```swift\\ncase local(path: Path)\\n```\\n\\n\",\"title\":\"`Package`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/package\",\"LLMS_URL\":\"/ja/references/project-description/enums/package.md\"}},{\"path\":\"/ja/references/project-description/enums/package.requirement.md\",\"url\":\"/ja/references/project-description/enums/package.requirement\",\"llmUrl\":\"/ja/references/project-description/enums/package.requirement.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/package.requirement\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/package.requirement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Package.Requirement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `upToNextMajor(from:)`\\n - `upToNextMinor(from:)`\\n - `range(from:to:)`\\n - `exact(_:)`\\n - `branch(_:)`\\n - `revision(_:)`\\n\\n```swift\\npublic enum Requirement: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `upToNextMajor(from:)`\\n\\n```swift\\ncase upToNextMajor(from: Version)\\n```\\n\\n### `upToNextMinor(from:)`\\n\\n```swift\\ncase upToNextMinor(from: Version)\\n```\\n\\n### `range(from:to:)`\\n\\n```swift\\ncase range(from: Version, to: Version)\\n```\\n\\n### `exact(_:)`\\n\\n```swift\\ncase exact(Version)\\n```\\n\\n### `branch(_:)`\\n\\n```swift\\ncase branch(String)\\n```\\n\\n### `revision(_:)`\\n\\n```swift\\ncase revision(String)\\n```\\n\\n\",\"title\":\"`Package.Requirement`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/package.requirement\",\"LLMS_URL\":\"/ja/references/project-description/enums/package.requirement.md\"}},{\"path\":\"/ja/references/project-description/enums/packageplatform.md\",\"url\":\"/ja/references/project-description/enums/packageplatform\",\"llmUrl\":\"/ja/references/project-description/enums/packageplatform.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/packageplatform\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/packageplatform.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PackagePlatform`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iOS`\\n - `macOS`\\n - `macCatalyst`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n\\n```swift\\npublic enum PackagePlatform: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported Swift Package Manager platform representation.\\n\\n## Cases\\n### `iOS`\\n\\n```swift\\ncase iOS = \\\"ios\\\"\\n```\\n\\nThe iOS platform\\n\\n### `macOS`\\n\\n```swift\\ncase macOS = \\\"macos\\\"\\n```\\n\\nThe macOS platform\\n\\n### `macCatalyst`\\n\\n```swift\\ncase macCatalyst = \\\"maccatalyst\\\"\\n```\\n\\nThe Mac Catalyst platform\\n\\n### `watchOS`\\n\\n```swift\\ncase watchOS = \\\"watchos\\\"\\n```\\n\\nThe watchOS platform\\n\\n### `tvOS`\\n\\n```swift\\ncase tvOS = \\\"tvos\\\"\\n```\\n\\nThe tvOS platform\\n\\n### `visionOS`\\n\\n```swift\\ncase visionOS = \\\"visionos\\\"\\n```\\n\\nThe visionOS platform\\n\\n\",\"title\":\"`PackagePlatform`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/packageplatform\",\"LLMS_URL\":\"/ja/references/project-description/enums/packageplatform.md\"}},{\"path\":\"/ja/references/project-description/enums/parser.option.md\",\"url\":\"/ja/references/project-description/enums/parser.option\",\"llmUrl\":\"/ja/references/project-description/enums/parser.option.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/parser.option\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/parser.option.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Parser.Option`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `double(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic enum Option: Equatable, Codable, Sendable\\n```\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `double(_:)`\\n\\n```swift\\ncase double(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Option])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Option])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Parser.Option`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/parser.option\",\"LLMS_URL\":\"/ja/references/project-description/enums/parser.option.md\"}},{\"path\":\"/ja/references/project-description/enums/path.pathtype.md\",\"url\":\"/ja/references/project-description/enums/path.pathtype\",\"llmUrl\":\"/ja/references/project-description/enums/path.pathtype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/path.pathtype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/path.pathtype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Path.PathType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `relativeToCurrentFile`\\n - `relativeToManifest`\\n - `relativeToRoot`\\n\\n```swift\\npublic enum PathType: String, Codable, Sendable\\n```\\n\\n## Cases\\n### `relativeToCurrentFile`\\n\\n```swift\\ncase relativeToCurrentFile\\n```\\n\\n### `relativeToManifest`\\n\\n```swift\\ncase relativeToManifest\\n```\\n\\n### `relativeToRoot`\\n\\n```swift\\ncase relativeToRoot\\n```\\n\\n\",\"title\":\"`Path.PathType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/path.pathtype\",\"LLMS_URL\":\"/ja/references/project-description/enums/path.pathtype.md\"}},{\"path\":\"/ja/references/project-description/enums/platform.md\",\"url\":\"/ja/references/project-description/enums/platform\",\"llmUrl\":\"/ja/references/project-description/enums/platform.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/platform\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/platform.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Platform`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iOS`\\n - `macOS`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n\\n```swift\\npublic enum Platform: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported platform representation.\\n\\n## Cases\\n### `iOS`\\n\\n```swift\\ncase iOS = \\\"ios\\\"\\n```\\n\\nThe iOS platform\\n\\n### `macOS`\\n\\n```swift\\ncase macOS = \\\"macos\\\"\\n```\\n\\nThe macOS platform\\n\\n### `watchOS`\\n\\n```swift\\ncase watchOS = \\\"watchos\\\"\\n```\\n\\nThe watchOS platform\\n\\n### `tvOS`\\n\\n```swift\\ncase tvOS = \\\"tvos\\\"\\n```\\n\\nThe tvOS platform\\n\\n### `visionOS`\\n\\n```swift\\ncase visionOS = \\\"visionos\\\"\\n```\\n\\nThe visionOS platform\\n\\n\",\"title\":\"`Platform`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/platform\",\"LLMS_URL\":\"/ja/references/project-description/enums/platform.md\"}},{\"path\":\"/ja/references/project-description/enums/platformfilter.md\",\"url\":\"/ja/references/project-description/enums/platformfilter\",\"llmUrl\":\"/ja/references/project-description/enums/platformfilter.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/platformfilter\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/platformfilter.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PlatformFilter`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `ios`\\n - `macos`\\n - `tvos`\\n - `catalyst`\\n - `driverkit`\\n - `watchos`\\n - `visionos`\\n\\n```swift\\npublic enum PlatformFilter: Comparable, Hashable, Codable, CaseIterable, Sendable\\n```\\n\\n## Cases\\n### `ios`\\n\\n```swift\\ncase ios\\n```\\n\\n### `macos`\\n\\n```swift\\ncase macos\\n```\\n\\n### `tvos`\\n\\n```swift\\ncase tvos\\n```\\n\\n### `catalyst`\\n\\n```swift\\ncase catalyst\\n```\\n\\n### `driverkit`\\n\\n```swift\\ncase driverkit\\n```\\n\\n### `watchos`\\n\\n```swift\\ncase watchos\\n```\\n\\n### `visionos`\\n\\n```swift\\ncase visionos\\n```\\n\\n\",\"title\":\"`PlatformFilter`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/platformfilter\",\"LLMS_URL\":\"/ja/references/project-description/enums/platformfilter.md\"}},{\"path\":\"/ja/references/project-description/enums/plist.md\",\"url\":\"/ja/references/project-description/enums/plist\",\"llmUrl\":\"/ja/references/project-description/enums/plist.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/plist\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/plist.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Plist`\\n\\n```swift\\npublic enum Plist\\n```\\n\\n\",\"title\":\"`Plist`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/plist\",\"LLMS_URL\":\"/ja/references/project-description/enums/plist.md\"}},{\"path\":\"/ja/references/project-description/enums/plist.value.md\",\"url\":\"/ja/references/project-description/enums/plist.value\",\"llmUrl\":\"/ja/references/project-description/enums/plist.value.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/plist.value\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/plist.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Plist.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `real(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic indirect enum Value: Codable, Equatable, Sendable\\n```\\n\\nIt represents the values of the .plist or .entitlements file dictionary.\\nIt ensures that the values used to define the content of the dynamically generated .plist or .entitlements files are valid\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `real(_:)`\\n\\n```swift\\ncase real(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Value])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Value])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Plist.Value`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/plist.value\",\"LLMS_URL\":\"/ja/references/project-description/enums/plist.value.md\"}},{\"path\":\"/ja/references/project-description/enums/pluginlocation.locationtype.md\",\"url\":\"/ja/references/project-description/enums/pluginlocation.locationtype\",\"llmUrl\":\"/ja/references/project-description/enums/pluginlocation.locationtype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/pluginlocation.locationtype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/pluginlocation.locationtype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PluginLocation.LocationType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `local(path:)`\\n - `gitWithTag(url:tag:directory:releaseUrl:)`\\n - `gitWithSha(url:sha:directory:)`\\n\\n```swift\\npublic enum LocationType: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `local(path:)`\\n\\n```swift\\ncase local(path: Path)\\n```\\n\\n### `gitWithTag(url:tag:directory:releaseUrl:)`\\n\\n```swift\\ncase gitWithTag(url: String, tag: String, directory: String?, releaseUrl: String?)\\n```\\n\\n### `gitWithSha(url:sha:directory:)`\\n\\n```swift\\ncase gitWithSha(url: String, sha: String, directory: String?)\\n```\\n\\n\",\"title\":\"`PluginLocation.LocationType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/pluginlocation.locationtype\",\"LLMS_URL\":\"/ja/references/project-description/enums/pluginlocation.locationtype.md\"}},{\"path\":\"/ja/references/project-description/enums/product.md\",\"url\":\"/ja/references/project-description/enums/product\",\"llmUrl\":\"/ja/references/project-description/enums/product.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/product\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/product.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Product`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `app`\\n - `staticLibrary`\\n - `dynamicLibrary`\\n - `framework`\\n - `staticFramework`\\n - `unitTests`\\n - `uiTests`\\n - `bundle`\\n - `commandLineTool`\\n - `appClip`\\n - `appExtension`\\n - `watch2App`\\n - `watch2Extension`\\n - `tvTopShelfExtension`\\n - `messagesExtension`\\n - `stickerPackExtension`\\n - `xpc`\\n - `systemExtension`\\n - `extensionKitExtension`\\n - `macro`\\n\\n```swift\\npublic enum Product: String, Codable, Equatable, Sendable\\n```\\n\\nPossible products types.\\n\\n## Cases\\n### `app`\\n\\n```swift\\ncase app\\n```\\n\\nAn application.\\n\\n### `staticLibrary`\\n\\n```swift\\ncase staticLibrary = \\\"static_library\\\"\\n```\\n\\nA static library.\\n\\n### `dynamicLibrary`\\n\\n```swift\\ncase dynamicLibrary = \\\"dynamic_library\\\"\\n```\\n\\nA dynamic library.\\n\\n### `framework`\\n\\n```swift\\ncase framework\\n```\\n\\nA dynamic framework.\\n\\n### `staticFramework`\\n\\n```swift\\ncase staticFramework\\n```\\n\\nA static framework.\\n\\n### `unitTests`\\n\\n```swift\\ncase unitTests = \\\"unit_tests\\\"\\n```\\n\\nA unit tests bundle.\\n\\n### `uiTests`\\n\\n```swift\\ncase uiTests = \\\"ui_tests\\\"\\n```\\n\\nA UI tests bundle.\\n\\n### `bundle`\\n\\n```swift\\ncase bundle\\n```\\n\\nA custom bundle. (currently only iOS resource bundles are supported).\\n\\n### `commandLineTool`\\n\\n```swift\\ncase commandLineTool\\n```\\n\\nA command line tool (macOS platform only).\\n\\n### `appClip`\\n\\n```swift\\ncase appClip\\n```\\n\\nAn appClip. (iOS platform only).\\n\\n### `appExtension`\\n\\n```swift\\ncase appExtension = \\\"app_extension\\\"\\n```\\n\\nAn application extension.\\n\\n### `watch2App`\\n\\n```swift\\ncase watch2App\\n```\\n\\nA Watch application. (watchOS platform only) .\\n\\n### `watch2Extension`\\n\\n```swift\\ncase watch2Extension\\n```\\n\\nA Watch application extension. (watchOS platform only).\\n\\n### `tvTopShelfExtension`\\n\\n```swift\\ncase tvTopShelfExtension\\n```\\n\\nA TV Top Shelf Extension.\\n\\n### `messagesExtension`\\n\\n```swift\\ncase messagesExtension\\n```\\n\\nAn iMessage extension. (iOS platform only)\\n\\n### `stickerPackExtension`\\n\\n```swift\\ncase stickerPackExtension = \\\"sticker_pack_extension\\\"\\n```\\n\\nA sticker pack extension.\\n\\n### `xpc`\\n\\n```swift\\ncase xpc\\n```\\n\\nAn XPC. (macOS platform only).\\n\\n### `systemExtension`\\n\\n```swift\\ncase systemExtension\\n```\\n\\nAn system extension. (macOS platform only).\\n\\n### `extensionKitExtension`\\n\\n```swift\\ncase extensionKitExtension = \\\"extension_kit_extension\\\"\\n```\\n\\nAn ExtensionKit extension.\\n\\n### `macro`\\n\\n```swift\\ncase macro\\n```\\n\\nA Swift Macro\\nAlthough Apple doesn't officially support Swift Macro Xcode Project targets, we\\nenable them by adding a command line tool target, a target dependency in\\nthe dependent targets, and the right build settings to use the macro executable.\\n\\n\",\"title\":\"`Product`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/product\",\"LLMS_URL\":\"/ja/references/project-description/enums/product.md\"}},{\"path\":\"/ja/references/project-description/enums/project.options.automaticschemesoptions.md\",\"url\":\"/ja/references/project-description/enums/project.options.automaticschemesoptions\",\"llmUrl\":\"/ja/references/project-description/enums/project.options.automaticschemesoptions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/project.options.automaticschemesoptions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/project.options.automaticschemesoptions.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Project.Options.AutomaticSchemesOptions`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `enabled(targetSchemesGrouping:codeCoverageEnabled:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:runLanguage:runRegion:)`\\n - `disabled`\\n\\n```swift\\npublic enum AutomaticSchemesOptions: Codable, Equatable, Sendable\\n```\\n\\nAutomatic schemes options allow customizing the generation of the target schemes.\\n\\n## Cases\\n### `enabled(targetSchemesGrouping:codeCoverageEnabled:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:runLanguage:runRegion:)`\\n\\n```swift\\ncase enabled(\\n targetSchemesGrouping: TargetSchemesGrouping = .byNameSuffix(\\n build: [\\\"Implementation\\\", \\\"Interface\\\", \\\"Mocks\\\", \\\"Testing\\\"],\\n test: [\\\"Tests\\\", \\\"IntegrationTests\\\", \\\"UITests\\\", \\\"SnapshotTests\\\"],\\n run: [\\\"App\\\", \\\"Demo\\\", \\\"Example\\\"]\\n ),\\n codeCoverageEnabled: Bool = false,\\n testingOptions: TestingOptions = [],\\n testLanguage: SchemeLanguage? = nil,\\n testRegion: String? = nil,\\n testScreenCaptureFormat: ScreenCaptureFormat? = nil,\\n runLanguage: SchemeLanguage? = nil,\\n runRegion: String? = nil\\n)\\n```\\n\\nEnable autogenerated schemes\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDisable autogenerated schemes\\n\\n\",\"title\":\"`Project.Options.AutomaticSchemesOptions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/project.options.automaticschemesoptions\",\"LLMS_URL\":\"/ja/references/project-description/enums/project.options.automaticschemesoptions.md\"}},{\"path\":\"/ja/references/project-description/enums/resourcefileelement.md\",\"url\":\"/ja/references/project-description/enums/resourcefileelement\",\"llmUrl\":\"/ja/references/project-description/enums/resourcefileelement.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/resourcefileelement\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/resourcefileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceFileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:excluding:tags:inclusionCondition:)`\\n - `folderReference(path:tags:inclusionCondition:)`\\n\\n```swift\\npublic enum ResourceFileElement: Codable, Equatable, Sendable, Hashable\\n```\\n\\nA resource file element from a glob pattern or a folder reference.\\n\\n- glob: a glob pattern for files to include\\n- folderReference: a single path to a directory\\n\\nNote: For convenience, an element can be represented as a string literal\\n `\\\"some/pattern/**\\\"` is the equivalent of `ResourceFileElement.glob(pattern: \\\"some/pattern/**\\\")`\\n\\n## Cases\\n### `glob(pattern:excluding:tags:inclusionCondition:)`\\n\\n```swift\\ncase glob(pattern: Path, excluding: [Path] = [], tags: [String] = [], inclusionCondition: PlatformCondition? = nil)\\n```\\n\\nA glob pattern of files to include and ODR tags\\n\\n### `folderReference(path:tags:inclusionCondition:)`\\n\\n```swift\\ncase folderReference(path: Path, tags: [String] = [], inclusionCondition: PlatformCondition? = nil)\\n```\\n\\nRelative path to a directory to include as a folder reference and ODR tags\\n\\n\",\"title\":\"`ResourceFileElement`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/resourcefileelement\",\"LLMS_URL\":\"/ja/references/project-description/enums/resourcefileelement.md\"}},{\"path\":\"/ja/references/project-description/enums/resourcesynthesizer.parser.md\",\"url\":\"/ja/references/project-description/enums/resourcesynthesizer.parser\",\"llmUrl\":\"/ja/references/project-description/enums/resourcesynthesizer.parser.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/resourcesynthesizer.parser\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/resourcesynthesizer.parser.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceSynthesizer.Parser`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `strings`\\n - `assets`\\n - `plists`\\n - `fonts`\\n - `coreData`\\n - `interfaceBuilder`\\n - `json`\\n - `yaml`\\n - `files`\\n\\n```swift\\npublic enum Parser: String, Codable, Sendable\\n```\\n\\nThere are multiple parsers you can choose from\\nEach parser will give you different metadata from a file\\nYou can read more about available parsers and how to use their metadata here:\\nhttps://github.com/SwiftGen/SwiftGen#available-parsers\\n\\n## Cases\\n### `strings`\\n\\n```swift\\ncase strings\\n```\\n\\n### `assets`\\n\\n```swift\\ncase assets\\n```\\n\\n### `plists`\\n\\n```swift\\ncase plists\\n```\\n\\n### `fonts`\\n\\n```swift\\ncase fonts\\n```\\n\\n### `coreData`\\n\\n```swift\\ncase coreData\\n```\\n\\n### `interfaceBuilder`\\n\\n```swift\\ncase interfaceBuilder\\n```\\n\\n### `json`\\n\\n```swift\\ncase json\\n```\\n\\n### `yaml`\\n\\n```swift\\ncase yaml\\n```\\n\\n### `files`\\n\\n```swift\\ncase files\\n```\\n\\n\",\"title\":\"`ResourceSynthesizer.Parser`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/resourcesynthesizer.parser\",\"LLMS_URL\":\"/ja/references/project-description/enums/resourcesynthesizer.parser.md\"}},{\"path\":\"/ja/references/project-description/enums/resourcesynthesizer.templatetype.md\",\"url\":\"/ja/references/project-description/enums/resourcesynthesizer.templatetype\",\"llmUrl\":\"/ja/references/project-description/enums/resourcesynthesizer.templatetype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/resourcesynthesizer.templatetype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/resourcesynthesizer.templatetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceSynthesizer.TemplateType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `plugin(name:resourceName:)`\\n - `defaultTemplate(resourceName:)`\\n\\n```swift\\npublic enum TemplateType: Codable, Equatable, Sendable\\n```\\n\\nTemplates can be either a local template file, from a plugin, or a default template from tuist\\n\\n## Cases\\n### `plugin(name:resourceName:)`\\n\\n```swift\\ncase plugin(name: String, resourceName: String)\\n```\\n\\nPlugin template file\\n`name` is a name of a plugin\\n`resourceName` is a name of the resource - that is used for finding a template as well as naming the resulting\\n`.swift` file\\n\\n### `defaultTemplate(resourceName:)`\\n\\n```swift\\ncase defaultTemplate(resourceName: String)\\n```\\n\\nDefault template defined `Tuist/{ProjectName}`, or if not present there, in tuist itself\\n`resourceName` is used for the name of the resulting `.swift` file\\n\\n\",\"title\":\"`ResourceSynthesizer.TemplateType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/resourcesynthesizer.templatetype\",\"LLMS_URL\":\"/ja/references/project-description/enums/resourcesynthesizer.templatetype.md\"}},{\"path\":\"/ja/references/project-description/enums/runactionoptions.gpuframecapturemode.md\",\"url\":\"/ja/references/project-description/enums/runactionoptions.gpuframecapturemode\",\"llmUrl\":\"/ja/references/project-description/enums/runactionoptions.gpuframecapturemode.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/runactionoptions.gpuframecapturemode\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/runactionoptions.gpuframecapturemode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `RunActionOptions.GPUFrameCaptureMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `autoEnabled`\\n - `metal`\\n - `openGL`\\n - `disabled`\\n- [Properties](#properties)\\n - `default`\\n\\n```swift\\npublic enum GPUFrameCaptureMode: String, Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `autoEnabled`\\n\\n```swift\\ncase autoEnabled\\n```\\n\\n### `metal`\\n\\n```swift\\ncase metal\\n```\\n\\n### `openGL`\\n\\n```swift\\ncase openGL\\n```\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: GPUFrameCaptureMode\\n```\\n\\n\",\"title\":\"`RunActionOptions.GPUFrameCaptureMode`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/runactionoptions.gpuframecapturemode\",\"LLMS_URL\":\"/ja/references/project-description/enums/runactionoptions.gpuframecapturemode.md\"}},{\"path\":\"/ja/references/project-description/enums/screencaptureformat.md\",\"url\":\"/ja/references/project-description/enums/screencaptureformat\",\"llmUrl\":\"/ja/references/project-description/enums/screencaptureformat.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/screencaptureformat\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/screencaptureformat.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ScreenCaptureFormat`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `screenshots`\\n - `screenRecording`\\n\\n```swift\\npublic enum ScreenCaptureFormat: String, Codable, Sendable\\n```\\n\\nPreferred screen capture format for UI tests results in Xcode 15+\\n\\nAvailable options are screen recordings and screenshots.\\n\\nIn Xcode 15 screen recordings are enabled by default (in favour of screenshots).\\nThis setting is ignored by Xcode 14.x and prior.\\n\\n## Cases\\n### `screenshots`\\n\\n```swift\\ncase screenshots\\n```\\n\\nScreenshots\\n\\n### `screenRecording`\\n\\n```swift\\ncase screenRecording\\n```\\n\\nAutomatic screen recordings\\n\\n\",\"title\":\"`ScreenCaptureFormat`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/screencaptureformat\",\"LLMS_URL\":\"/ja/references/project-description/enums/screencaptureformat.md\"}},{\"path\":\"/ja/references/project-description/enums/sdktype.md\",\"url\":\"/ja/references/project-description/enums/sdktype\",\"llmUrl\":\"/ja/references/project-description/enums/sdktype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/sdktype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/sdktype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SDKType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `library`\\n - `swiftLibrary`\\n - `framework`\\n\\n```swift\\npublic enum SDKType: String, Codable, Hashable, Sendable\\n```\\n\\nDependency type used by `.sdk` target dependencies\\n\\n## Cases\\n### `library`\\n\\n```swift\\ncase library\\n```\\n\\nLibrary SDK dependency\\nLibraries are located in:\\n`{path-to-xcode}.app/Contents/Developer/Platforms/{platform}.platform/Developer/SDKs/{runtime}.sdk/usr/lib`\\n\\n### `swiftLibrary`\\n\\n```swift\\ncase swiftLibrary\\n```\\n\\nSwift library SDK dependency\\nSwift libraries are located in:\\n`{path-to-xcode}.app/Contents/Developer/Platforms/{platform}.platform/Developer/SDKs/{runtime}.sdk/usr/lib/swift`\\n\\n### `framework`\\n\\n```swift\\ncase framework\\n```\\n\\nFramework SDK dependency\\n\\n\",\"title\":\"`SDKType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/sdktype\",\"LLMS_URL\":\"/ja/references/project-description/enums/sdktype.md\"}},{\"path\":\"/ja/references/project-description/enums/settingvalue.md\",\"url\":\"/ja/references/project-description/enums/settingvalue\",\"llmUrl\":\"/ja/references/project-description/enums/settingvalue.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/settingvalue\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/settingvalue.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SettingValue`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `array(_:)`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `init(arrayLiteral:)`\\n - `init(booleanLiteral:)`\\n - `init(_:)`\\n\\n```swift\\npublic enum SettingValue: ExpressibleByStringInterpolation, ExpressibleByArrayLiteral, ExpressibleByBooleanLiteral, Equatable,\\n Codable, Sendable\\n```\\n\\nA value or a collection of values used for settings configuration.\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([String])\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: String...)\\n```\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(_:)`\\n\\n```swift\\npublic init(_ stringRawRepresentable: T) where T: RawRepresentable, T.RawValue == String\\n```\\n\\n\",\"title\":\"`SettingValue`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/settingvalue\",\"LLMS_URL\":\"/ja/references/project-description/enums/settingvalue.md\"}},{\"path\":\"/ja/references/project-description/enums/sourcefileglob.filetype.md\",\"url\":\"/ja/references/project-description/enums/sourcefileglob.filetype\",\"llmUrl\":\"/ja/references/project-description/enums/sourcefileglob.filetype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/sourcefileglob.filetype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/sourcefileglob.filetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SourceFileGlob.FileType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `alwaysPresent`\\n - `generated`\\n\\n```swift\\npublic enum FileType: String, Codable, Sendable\\n```\\n\\nType of the source file.\\n\\n## Cases\\n### `alwaysPresent`\\n\\n```swift\\ncase alwaysPresent\\n```\\n\\nFile is already present on disk before generating the project.\\n\\n### `generated`\\n\\n```swift\\ncase generated\\n```\\n\\nFile is generated, meaning it wasn't initially present on disk at the time of project generation.\\nFor example, a file created by a pre-build phase script.\\n\\n- Important: Since generated files do not exist at the time of project generation, their content cannot be hashed,\\nwhich affects the ability to identify changes in their content during caching.\\nNote that specifically for files generated by a pre-build phase script, the input and output file paths are part of\\nthe target's hash, if they are specified.\\n\\n\",\"title\":\"`SourceFileGlob.FileType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/sourcefileglob.filetype\",\"LLMS_URL\":\"/ja/references/project-description/enums/sourcefileglob.filetype.md\"}},{\"path\":\"/ja/references/project-description/enums/swiftcompilationmode.md\",\"url\":\"/ja/references/project-description/enums/swiftcompilationmode\",\"llmUrl\":\"/ja/references/project-description/enums/swiftcompilationmode.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/swiftcompilationmode\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/swiftcompilationmode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SwiftCompilationMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `singlefile`\\n - `wholemodule`\\n\\n```swift\\npublic enum SwiftCompilationMode: String\\n```\\n\\n## Cases\\n### `singlefile`\\n\\n```swift\\ncase singlefile\\n```\\n\\n### `wholemodule`\\n\\n```swift\\ncase wholemodule\\n```\\n\\n\",\"title\":\"`SwiftCompilationMode`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/swiftcompilationmode\",\"LLMS_URL\":\"/ja/references/project-description/enums/swiftcompilationmode.md\"}},{\"path\":\"/ja/references/project-description/enums/swiftoptimizationlevel.md\",\"url\":\"/ja/references/project-description/enums/swiftoptimizationlevel\",\"llmUrl\":\"/ja/references/project-description/enums/swiftoptimizationlevel.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/swiftoptimizationlevel\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/swiftoptimizationlevel.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SwiftOptimizationLevel`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `o`\\n - `oNone`\\n - `oSize`\\n\\n```swift\\npublic enum SwiftOptimizationLevel: String\\n```\\n\\n## Cases\\n### `o`\\n\\n```swift\\ncase o = \\\"-O\\\"\\n```\\n\\n### `oNone`\\n\\n```swift\\ncase oNone = \\\"-Onone\\\"\\n```\\n\\n### `oSize`\\n\\n```swift\\ncase oSize = \\\"-Osize\\\"\\n```\\n\\n\",\"title\":\"`SwiftOptimizationLevel`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/swiftoptimizationlevel\",\"LLMS_URL\":\"/ja/references/project-description/enums/swiftoptimizationlevel.md\"}},{\"path\":\"/ja/references/project-description/enums/targetdependency.md\",\"url\":\"/ja/references/project-description/enums/targetdependency\",\"llmUrl\":\"/ja/references/project-description/enums/targetdependency.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/targetdependency\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/targetdependency.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetDependency`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `target(name:status:condition:)`\\n - `macro(name:)`\\n - `project(target:path:status:condition:)`\\n - `framework(path:status:condition:)`\\n - `library(path:publicHeaders:swiftModuleMap:condition:)`\\n - `package(product:type:condition:)`\\n - `sdk(name:type:status:condition:)`\\n - `xcframework(path:expectedSignature:status:condition:)`\\n - `xctest`\\n - `external(name:condition:)`\\n- [Properties](#properties)\\n - `typeName`\\n- [Methods](#methods)\\n - `sdk(name:type:condition:)`\\n - `target(_:condition:)`\\n\\n```swift\\npublic enum TargetDependency: Codable, Hashable, Sendable\\n```\\n\\nA target dependency.\\n\\n## Cases\\n### `target(name:status:condition:)`\\n\\n```swift\\ncase target(name: String, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on another target within the same project\\n\\n- Parameters:\\n - name: Name of the target to depend on\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `macro(name:)`\\n\\n```swift\\ncase macro(name: String)\\n```\\n\\nDependency on a macro target within the same project\\n\\n- Parameters:\\n - name: Name of the target to depend on\\n\\n### `project(target:path:status:condition:)`\\n\\n```swift\\ncase project(target: String, path: Path, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a target within another project\\n\\n- Parameters:\\n - target: Name of the target to depend on\\n - path: Relative path to the other project directory\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `framework(path:status:condition:)`\\n\\n```swift\\ncase framework(path: Path, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a prebuilt framework\\n\\n- Parameters:\\n - path: Relative path to the prebuilt framework\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `library(path:publicHeaders:swiftModuleMap:condition:)`\\n\\n```swift\\ncase library(path: Path, publicHeaders: Path, swiftModuleMap: Path?, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on prebuilt library\\n\\n- Parameters:\\n - path: Relative path to the prebuilt library\\n - publicHeaders: Relative path to the library's public headers directory\\n - swiftModuleMap: Relative path to the library's swift module map file\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `package(product:type:condition:)`\\n\\n```swift\\ncase package(product: String, type: PackageType = .runtime, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a swift package manager product using Xcode native integration. It's recommended to use `external` instead.\\nFor more info, check the [external dependencies documentation\\n](https://docs.tuist.dev/en/guides/features/projects/dependencies#external-dependencies).\\n\\n- Parameters:\\n - product: The name of the output product. ${PRODUCT_NAME} inside Xcode.\\n e.g. RxSwift\\n - type: The type of package being integrated.\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `sdk(name:type:status:condition:)`\\n\\n```swift\\ncase sdk(name: String, type: SDKType, status: LinkingStatus, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on system library or framework\\n\\n- Parameters:\\n - name: Name of the system library or framework (not including extension)\\n e.g. `ARKit`, `c++`\\n - type: The dependency type\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `xcframework(path:expectedSignature:status:condition:)`\\n\\n```swift\\ncase xcframework(\\n path: Path,\\n expectedSignature: XCFrameworkSignature? = nil,\\n status: LinkingStatus = .required,\\n condition: PlatformCondition? = nil\\n)\\n```\\n\\nDependency on a xcframework\\n\\n- Parameters:\\n - path: Relative path to the xcframework\\n - expectedSignature: The expected signature if the xcframework is signed.\\n Used for verifying the xcframework's integrity against the actual fingerprint derived from the given xcframeowrk\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `xctest`\\n\\n```swift\\ncase xctest\\n```\\n\\nDependency on XCTest.\\n\\n### `external(name:condition:)`\\n\\n```swift\\ncase external(name: String, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on an external dependency imported through `Package.swift`.\\n\\n- Parameters:\\n - name: Name of the external dependency\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n## Properties\\n### `typeName`\\n\\n```swift\\npublic var typeName: String\\n```\\n\\n## Methods\\n### `sdk(name:type:condition:)`\\n\\n```swift\\npublic static func sdk(name: String, type: SDKType, condition: PlatformCondition? = nil) -> TargetDependency\\n```\\n\\nDependency on system library or framework\\n\\n- Parameters:\\n - name: Name of the system library or framework (including extension)\\n e.g. `ARKit.framework`, `libc++.tbd`\\n - type: Whether or not this dependecy is required. Defaults to `.required`\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the system library or framework (including extension) e.g. `ARKit.framework`, `libc++.tbd` |\\n| type | Whether or not this dependecy is required. Defaults to `.required` |\\n| condition | condition under which to use this dependency, `nil` if this should always be used |\\n\\n### `target(_:condition:)`\\n\\n```swift\\npublic static func target(_ target: Target, condition: PlatformCondition? = nil) -> TargetDependency\\n```\\n\\nDependency on another target within the same project. This is just syntactic sugar for `.target(name: target.name)`.\\n\\n- Parameters:\\n - target: Instance of the target to depend on\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | Instance of the target to depend on |\\n| condition | condition under which to use this dependency, `nil` if this should always be used |\\n\",\"title\":\"`TargetDependency`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/targetdependency\",\"LLMS_URL\":\"/ja/references/project-description/enums/targetdependency.md\"}},{\"path\":\"/ja/references/project-description/enums/targetdependency.packagetype.md\",\"url\":\"/ja/references/project-description/enums/targetdependency.packagetype\",\"llmUrl\":\"/ja/references/project-description/enums/targetdependency.packagetype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/targetdependency.packagetype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/targetdependency.packagetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetDependency.PackageType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `runtime`\\n - `runtimeEmbedded`\\n - `plugin`\\n - `macro`\\n\\n```swift\\npublic enum PackageType: Codable, Hashable, Sendable\\n```\\n\\n## Cases\\n### `runtime`\\n\\n```swift\\ncase runtime\\n```\\n\\nA runtime package type represents a standard package whose sources are linked at runtime.\\nFor example importing the framework and consuming from dependent targets.\\n\\n### `runtimeEmbedded`\\n\\n```swift\\ncase runtimeEmbedded\\n```\\n\\nA runtime embedded package type represents a package that's embedded in the product at runtime.\\n\\n### `plugin`\\n\\n```swift\\ncase plugin\\n```\\n\\nA plugin package represents a package that's loaded by the build system at compile-time to\\nextend the compilation process.\\n\\n### `macro`\\n\\n```swift\\ncase macro\\n```\\n\\nA macro package represents a package that contains a Swift Macro.\\n\\n\",\"title\":\"`TargetDependency.PackageType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/targetdependency.packagetype\",\"LLMS_URL\":\"/ja/references/project-description/enums/targetdependency.packagetype.md\"}},{\"path\":\"/ja/references/project-description/enums/targetscript.order.md\",\"url\":\"/ja/references/project-description/enums/targetscript.order\",\"llmUrl\":\"/ja/references/project-description/enums/targetscript.order.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/targetscript.order\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/targetscript.order.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetScript.Order`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `pre`\\n - `post`\\n\\n```swift\\npublic enum Order: String, Codable, Equatable, Sendable\\n```\\n\\nOrder when the script gets executed.\\n\\n- pre: Before the sources and resources build phase.\\n- post: After the sources and resources build phase.\\n\\n## Cases\\n### `pre`\\n\\n```swift\\ncase pre\\n```\\n\\n### `post`\\n\\n```swift\\ncase post\\n```\\n\\n\",\"title\":\"`TargetScript.Order`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/targetscript.order\",\"LLMS_URL\":\"/ja/references/project-description/enums/targetscript.order.md\"}},{\"path\":\"/ja/references/project-description/enums/targetscript.script.md\",\"url\":\"/ja/references/project-description/enums/targetscript.script\",\"llmUrl\":\"/ja/references/project-description/enums/targetscript.script.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/targetscript.script\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/targetscript.script.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetScript.Script`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `tool(path:args:)`\\n - `scriptPath(path:args:)`\\n - `embedded(_:)`\\n\\n```swift\\npublic enum Script: Equatable, Codable, Sendable\\n```\\n\\nSpecifies how to execute the target script\\n\\n- tool: Executes the tool with the given arguments. Tuist will look up the tool on the environment's PATH.\\n- scriptPath: Executes the file at the path with the given arguments.\\n- text: Executes the embedded script. This should be a short command.\\n\\n## Cases\\n### `tool(path:args:)`\\n\\n```swift\\ncase tool(path: String, args: [String])\\n```\\n\\n### `scriptPath(path:args:)`\\n\\n```swift\\ncase scriptPath(path: Path, args: [String])\\n```\\n\\n### `embedded(_:)`\\n\\n```swift\\ncase embedded(String)\\n```\\n\\n\",\"title\":\"`TargetScript.Script`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/targetscript.script\",\"LLMS_URL\":\"/ja/references/project-description/enums/targetscript.script.md\"}},{\"path\":\"/ja/references/project-description/enums/template.attribute.md\",\"url\":\"/ja/references/project-description/enums/template.attribute\",\"llmUrl\":\"/ja/references/project-description/enums/template.attribute.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/template.attribute\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/template.attribute.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Attribute`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `required(_:)`\\n - `optional(_:default:)`\\n\\n```swift\\npublic enum Attribute: Codable, Equatable, Sendable\\n```\\n\\nAttribute to be passed to `tuist scaffold` for generating with `Template`\\n\\n## Cases\\n### `required(_:)`\\n\\n```swift\\ncase required(String)\\n```\\n\\nRequired attribute with a given name\\n\\n### `optional(_:default:)`\\n\\n```swift\\ncase optional(String, default: Value)\\n```\\n\\nOptional attribute with a given name and a default value used when attribute not provided by user\\n\\n\",\"title\":\"`Template.Attribute`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/template.attribute\",\"LLMS_URL\":\"/ja/references/project-description/enums/template.attribute.md\"}},{\"path\":\"/ja/references/project-description/enums/template.attribute.value.md\",\"url\":\"/ja/references/project-description/enums/template.attribute.value\",\"llmUrl\":\"/ja/references/project-description/enums/template.attribute.value.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/template.attribute.value\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/template.attribute.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Attribute.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `real(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic indirect enum Value: Codable, Equatable, Sendable\\n```\\n\\nThis represents the default value type of Attribute\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `real(_:)`\\n\\n```swift\\ncase real(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Value])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Value])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Template.Attribute.Value`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/template.attribute.value\",\"LLMS_URL\":\"/ja/references/project-description/enums/template.attribute.value.md\"}},{\"path\":\"/ja/references/project-description/enums/template.contents.md\",\"url\":\"/ja/references/project-description/enums/template.contents\",\"llmUrl\":\"/ja/references/project-description/enums/template.contents.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/template.contents\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/template.contents.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Contents`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `file(_:)`\\n - `directory(_:)`\\n\\n```swift\\npublic enum Contents: Codable, Equatable, Sendable\\n```\\n\\nEnum containing information about how to generate item\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nString Contents is defined in `name_of_template.swift` and contains a simple `String`\\nCan not contain any additional logic apart from plain `String` from `arguments`\\n\\n### `file(_:)`\\n\\n```swift\\ncase file(Path)\\n```\\n\\nFile content is defined in a different file from `name_of_template.swift`\\nCan contain additional logic and anything that is defined in `ProjectDescriptionHelpers`\\n\\n### `directory(_:)`\\n\\n```swift\\ncase directory(Path)\\n```\\n\\nDirectory content is defined in a path\\nIt is just for copying files without modifications and logic inside\\n\\n\",\"title\":\"`Template.Contents`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/template.contents\",\"LLMS_URL\":\"/ja/references/project-description/enums/template.contents.md\"}},{\"path\":\"/ja/references/project-description/enums/templatestring.token.md\",\"url\":\"/ja/references/project-description/enums/templatestring.token\",\"llmUrl\":\"/ja/references/project-description/enums/templatestring.token.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/templatestring.token\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/templatestring.token.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TemplateString.Token`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `projectName`\\n\\n```swift\\npublic enum Token: String, Equatable\\n```\\n\\nProvides a template for existing project properties.\\n\\n- projectName: The name of the project.\\n\\n## Cases\\n### `projectName`\\n\\n```swift\\ncase projectName = \\\"${project_name}\\\"\\n```\\n\\n\",\"title\":\"`TemplateString.Token`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/templatestring.token\",\"LLMS_URL\":\"/ja/references/project-description/enums/templatestring.token.md\"}},{\"path\":\"/ja/references/project-description/enums/testabletarget.parallelization.md\",\"url\":\"/ja/references/project-description/enums/testabletarget.parallelization\",\"llmUrl\":\"/ja/references/project-description/enums/testabletarget.parallelization.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/testabletarget.parallelization\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/testabletarget.parallelization.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TestableTarget.Parallelization`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n\\n```swift\\npublic enum Parallelization: Equatable, Codable, Sendable\\n```\\n\\nWith the introduction of Swift Testing and Xcode 16, you can now choose to run your tests\\nin parallel across either the full suite of tests in a target with `.enabled`, just those created\\nunder Swift Testing with `.swiftTestingOnly`, or run them serially with the `.disabled` option.\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\n\",\"title\":\"`TestableTarget.Parallelization`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/testabletarget.parallelization\",\"LLMS_URL\":\"/ja/references/project-description/enums/testabletarget.parallelization.md\"}},{\"path\":\"/ja/references/project-description/enums/tuistproject.md\",\"url\":\"/ja/references/project-description/enums/tuistproject\",\"llmUrl\":\"/ja/references/project-description/enums/tuistproject.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/tuistproject\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/tuistproject.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TuistProject`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `tuist(compatibleXcodeVersions:swiftVersion:plugins:generationOptions:installOptions:)`\\n - `xcode(_:)`\\n\\n```swift\\npublic enum TuistProject: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `tuist(compatibleXcodeVersions:swiftVersion:plugins:generationOptions:installOptions:)`\\n\\n```swift\\ncase tuist(\\n compatibleXcodeVersions: CompatibleXcodeVersions = .all,\\n swiftVersion: Version? = nil,\\n plugins: [PluginLocation] = [],\\n generationOptions: Tuist.GenerationOptions = .options(),\\n installOptions: Tuist.InstallOptions = .options()\\n)\\n```\\n\\nCreates a configuration for a Tuist project.\\n\\n- Parameters:\\n - compatibleXcodeVersions: List of Xcode versions the project is compatible with.\\n - swiftVersion: The version of Swift that will be used by Tuist.\\n - plugins: A list of plugins to extend Tuist.\\n - generationOptions: List of options to use when generating the project.\\n - installOptions: List of options to use when running `tuist install`.\\n\\n### `xcode(_:)`\\n\\n```swift\\ncase xcode(TuistXcodeProjectOptions = TuistXcodeProjectOptions.options())\\n```\\n\\n\",\"title\":\"`TuistProject`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/tuistproject\",\"LLMS_URL\":\"/ja/references/project-description/enums/tuistproject.md\"}},{\"path\":\"/ja/references/project-description/enums/xcframeworksignature.md\",\"url\":\"/ja/references/project-description/enums/xcframeworksignature\",\"llmUrl\":\"/ja/references/project-description/enums/xcframeworksignature.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/enums/xcframeworksignature\\\"\\nLLMS_URL: \\\"/ja/references/project-description/enums/xcframeworksignature.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `XCFrameworkSignature`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `unsigned`\\n - `signedWithAppleCertificate(teamIdentifier:teamName:)`\\n - `selfSigned(fingerprint:)`\\n\\n```swift\\npublic enum XCFrameworkSignature: Equatable, Hashable, Codable, Sendable\\n```\\n\\nExpected signature for XCFramework. Can be used to verify the authenticity of the XCFramework against the actual signature\\ncalculated from it.\\n\\n## Cases\\n### `unsigned`\\n\\n```swift\\ncase unsigned\\n```\\n\\nThe XCFramework is not signed.\\n\\n### `signedWithAppleCertificate(teamIdentifier:teamName:)`\\n\\n```swift\\ncase signedWithAppleCertificate(teamIdentifier: String, teamName: String)\\n```\\n\\nThe XCFramework is signed with an Apple Development certificate.\\n\\n### `selfSigned(fingerprint:)`\\n\\n```swift\\ncase selfSigned(fingerprint: String)\\n```\\n\\nThe XCFramework is signed by a self issued code signing identity.\\n\\n\",\"title\":\"`XCFrameworkSignature`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/enums/xcframeworksignature\",\"LLMS_URL\":\"/ja/references/project-description/enums/xcframeworksignature.md\"}},{\"path\":\"/ja/references/project-description/extensions/array.md\",\"url\":\"/ja/references/project-description/extensions/array\",\"llmUrl\":\"/ja/references/project-description/extensions/array.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/array\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/array.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `[FileElement]`\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`[FileElement]`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/array\",\"LLMS_URL\":\"/ja/references/project-description/extensions/array.md\"}},{\"path\":\"/ja/references/project-description/extensions/array.md\",\"url\":\"/ja/references/project-description/extensions/array\",\"llmUrl\":\"/ja/references/project-description/extensions/array.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/array\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/array.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `[ResourceSynthesizer]`\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: Self\\n```\\n\\n\",\"title\":\"`[ResourceSynthesizer]`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/array\",\"LLMS_URL\":\"/ja/references/project-description/extensions/array.md\"}},{\"path\":\"/ja/references/project-description/extensions/closedrange.md\",\"url\":\"/ja/references/project-description/extensions/closedrange\",\"llmUrl\":\"/ja/references/project-description/extensions/closedrange.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/closedrange\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/closedrange.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ClosedRange`\\n```swift\\nextension ClosedRange where Bound == Version\\n```\\n\\n## Methods\\n### `contains(_:)`\\n\\n```swift\\npublic func contains(_: Version) -> Bool\\n```\\n\\nMarked as unavailable because we have custom rules for contains.\\n\\n\",\"title\":\"`ClosedRange`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/closedrange\",\"LLMS_URL\":\"/ja/references/project-description/extensions/closedrange.md\"}},{\"path\":\"/ja/references/project-description/extensions/copyfileelement.md\",\"url\":\"/ja/references/project-description/extensions/copyfileelement\",\"llmUrl\":\"/ja/references/project-description/extensions/copyfileelement.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/copyfileelement\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/copyfileelement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `CopyFileElement`\\n```swift\\nextension CopyFileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`CopyFileElement`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/copyfileelement\",\"LLMS_URL\":\"/ja/references/project-description/extensions/copyfileelement.md\"}},{\"path\":\"/ja/references/project-description/extensions/defaultsettings.md\",\"url\":\"/ja/references/project-description/extensions/defaultsettings\",\"llmUrl\":\"/ja/references/project-description/extensions/defaultsettings.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/defaultsettings\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/defaultsettings.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `DefaultSettings`\\n```swift\\nextension DefaultSettings\\n```\\n\\n## Properties\\n### `recommended`\\n\\n```swift\\npublic static var recommended: DefaultSettings\\n```\\n\\n### `essential`\\n\\n```swift\\npublic static var essential: DefaultSettings\\n```\\n\\n\",\"title\":\"`DefaultSettings`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/defaultsettings\",\"LLMS_URL\":\"/ja/references/project-description/extensions/defaultsettings.md\"}},{\"path\":\"/ja/references/project-description/extensions/destinations.md\",\"url\":\"/ja/references/project-description/extensions/destinations\",\"llmUrl\":\"/ja/references/project-description/extensions/destinations.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/destinations\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/destinations.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Destinations`\\n```swift\\nextension Destinations\\n```\\n\\n## Properties\\n### `watchOS`\\n\\n```swift\\npublic static let watchOS: Destinations = [.appleWatch]\\n```\\n\\n### `iOS`\\n\\n```swift\\npublic static let iOS: Destinations = [.iPhone, .iPad, .macWithiPadDesign]\\n```\\n\\nCurrently we omit `.visionOSwithiPadDesign` from our default because `visionOS` is unreleased.\\n\\n### `macOS`\\n\\n```swift\\npublic static let macOS: Destinations = [.mac]\\n```\\n\\n### `tvOS`\\n\\n```swift\\npublic static let tvOS: Destinations = [.appleTv]\\n```\\n\\n### `visionOS`\\n\\n```swift\\npublic static let visionOS: Destinations = [.appleVision]\\n```\\n\\n### `platforms`\\n\\n```swift\\npublic var platforms: Set\\n```\\n\\nConvenience set of platforms that are supported by a set of destinations\\n\\n\",\"title\":\"`Destinations`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/destinations\",\"LLMS_URL\":\"/ja/references/project-description/extensions/destinations.md\"}},{\"path\":\"/ja/references/project-description/extensions/entitlements.md\",\"url\":\"/ja/references/project-description/extensions/entitlements\",\"llmUrl\":\"/ja/references/project-description/extensions/entitlements.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/entitlements\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/entitlements.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Entitlements`\\n```swift\\nextension Entitlements: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`Entitlements`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/entitlements\",\"LLMS_URL\":\"/ja/references/project-description/extensions/entitlements.md\"}},{\"path\":\"/ja/references/project-description/extensions/environment.value_.md\",\"url\":\"/ja/references/project-description/extensions/environment.value_\",\"llmUrl\":\"/ja/references/project-description/extensions/environment.value_.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/environment.value_\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/environment.value_.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Environment.Value?`\\n```swift\\nextension Environment.Value?\\n```\\n\\n## Methods\\n### `getString(default:)`\\n\\n```swift\\npublic func getString(default defaultString: String) -> String\\n```\\n\\nRetrieve the Environment value as a string or return the specified default string value\\n- Parameters:\\n - default: default String value to be returned\\n- Returns: String\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| default | default String value to be returned |\\n\\n### `getBoolean(default:)`\\n\\n```swift\\npublic func getBoolean(default defaultBoolean: Bool) -> Bool\\n```\\n\\nRetrieve the Environment value as a boolean or return the specified default boolean value\\n- Parameters:\\n - default: default Boolean value to be returned\\n- Returns: Bool\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| default | default Boolean value to be returned |\\n\",\"title\":\"`Environment.Value?`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/environment.value_\",\"LLMS_URL\":\"/ja/references/project-description/extensions/environment.value_.md\"}},{\"path\":\"/ja/references/project-description/extensions/fileelement.md\",\"url\":\"/ja/references/project-description/extensions/fileelement\",\"llmUrl\":\"/ja/references/project-description/extensions/fileelement.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/fileelement\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/fileelement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileElement`\\n```swift\\nextension FileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`FileElement`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/fileelement\",\"LLMS_URL\":\"/ja/references/project-description/extensions/fileelement.md\"}},{\"path\":\"/ja/references/project-description/extensions/filelist.md\",\"url\":\"/ja/references/project-description/extensions/filelist\",\"llmUrl\":\"/ja/references/project-description/extensions/filelist.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/filelist\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/filelist.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileList`\\n```swift\\nextension FileList: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: String...)\\n```\\n\\n\",\"title\":\"`FileList`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/filelist\",\"LLMS_URL\":\"/ja/references/project-description/extensions/filelist.md\"}},{\"path\":\"/ja/references/project-description/extensions/filelistglob.md\",\"url\":\"/ja/references/project-description/extensions/filelistglob\",\"llmUrl\":\"/ja/references/project-description/extensions/filelistglob.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/filelistglob\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/filelistglob.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `FileListGlob`\\n```swift\\nextension FileListGlob: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`FileListGlob`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/filelistglob\",\"LLMS_URL\":\"/ja/references/project-description/extensions/filelistglob.md\"}},{\"path\":\"/ja/references/project-description/extensions/infoplist.md\",\"url\":\"/ja/references/project-description/extensions/infoplist\",\"llmUrl\":\"/ja/references/project-description/extensions/infoplist.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/infoplist\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/infoplist.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `InfoPlist`\\n```swift\\nextension InfoPlist: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`InfoPlist`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/infoplist\",\"LLMS_URL\":\"/ja/references/project-description/extensions/infoplist.md\"}},{\"path\":\"/ja/references/project-description/extensions/package.md\",\"url\":\"/ja/references/project-description/extensions/package\",\"llmUrl\":\"/ja/references/project-description/extensions/package.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/package\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/package.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Package`\\n```swift\\nextension Package\\n```\\n\\n## Methods\\n### `package(url:from:)`\\n\\n```swift\\npublic static func package(url: String, from version: Version) -> Package\\n```\\n\\nCreate a package dependency that uses the version requirement, starting with the given minimum version,\\ngoing up to the next major version.\\n\\nThis is the recommended way to specify a remote package dependency.\\nIt allows you to specify the minimum version you require, allows updates that include bug fixes\\nand backward-compatible feature updates, but requires you to explicitly update to a new major version of the dependency.\\nThis approach provides the maximum flexibility on which version to use,\\nwhile making sure you don't update to a version with breaking changes,\\nand helps to prevent conflicts in your dependency graph.\\n\\nThe following example allows the Swift package manager to select a version\\nlike a `1.2.3`, `1.2.4`, or `1.3.0`, but not `2.0.0`.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", from: \\\"1.2.3\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - version: The minimum version requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| version | The minimum version requirement. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ requirement: Package.Requirement) -> Package\\n```\\n\\nAdd a remote package dependency given a version requirement.\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - requirement: A dependency requirement. See static methods on `Package.Requirement` for available options.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| requirement | A dependency requirement. See static methods on `Package.Requirement` for available options. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ range: Range) -> Package\\n```\\n\\nAdd a package dependency starting with a specific minimum version, up to\\nbut not including a specified maximum version.\\n\\nThe following example allows the Swift package manager to pick\\nversions `1.2.3`, `1.2.4`, `1.2.5`, but not `1.2.6`.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", \\\"1.2.3\\\"..<\\\"1.2.6\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - range: The custom version range requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| range | The custom version range requirement. |\\n\\n### `package(url:_:)`\\n\\n```swift\\npublic static func package(url: String, _ range: ClosedRange) -> Package\\n```\\n\\nAdd a package dependency starting with a specific minimum version, going\\nup to and including a specific maximum version.\\n\\nThe following example allows the Swift package manager to pick\\nversions 1.2.3, 1.2.4, 1.2.5, as well as 1.2.6.\\n\\n .package(url: \\\"https://example.com/example-package.git\\\", \\\"1.2.3\\\"...\\\"1.2.6\\\"),\\n\\n- Parameters:\\n - url: The valid Git URL of the package.\\n - range: The closed version range requirement.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| url | The valid Git URL of the package. |\\n| range | The closed version range requirement. |\\n\\n### `package(path:)`\\n\\n```swift\\npublic static func package(path: Path) -> Package\\n```\\n\\nAdd a dependency to a local package on the filesystem.\\n\\nThe Swift Package Manager uses the package dependency as-is\\nand does not perform any source control access. Local package dependencies\\nare especially useful during development of a new package or when working\\non multiple tightly coupled packages.\\n\\n- Parameter path: The path of the package.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | The path of the package. |\\n\\n### `package(id:from:)`\\n\\n```swift\\npublic static func package(id: String, from version: Version) -> Package\\n```\\n\\nAdds a package dependency that uses the version requirement, starting with the given minimum version,\\ngoing up to the next major version.\\n\\nThis is the recommended way to specify a remote package dependency.\\nIt allows you to specify the minimum version you require, allows updates that include bug fixes\\nand backward-compatible feature updates, but requires you to explicitly update to a new major version of the dependency.\\nThis approach provides the maximum flexibility on which version to use,\\nwhile making sure you don't update to a version with breaking changes,\\nand helps to prevent conflicts in your dependency graph.\\n\\nThe following example allows the Swift Package Manager to select a version\\nlike a `1.2.3`, `1.2.4`, or `1.3.0`, but not `2.0.0`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", from: \\\"1.2.3\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - version: The minimum version requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| version | The minimum version requirement. |\\n\\n### `package(id:exact:)`\\n\\n```swift\\npublic static func package(id: String, exact version: Version) -> Package\\n```\\n\\nAdds a package dependency that uses the exact version requirement.\\n\\nSpecifying exact version requirements are not recommended as\\nthey can cause conflicts in your dependency graph when multiple other packages depend on a package.\\nBecause Swift packages follow the semantic versioning convention,\\nthink about specifying a version range instead.\\n\\nThe following example instructs the Swift Package Manager to use version `1.2.3`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", exact: \\\"1.2.3\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - version: The exact version of the dependency for this requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| version | The exact version of the dependency for this requirement. |\\n\\n### `package(id:_:)`\\n\\n```swift\\npublic static func package(id: String, _ range: Range) -> Package\\n```\\n\\nAdds a package dependency starting with a specific minimum version, up to\\nbut not including a specified maximum version.\\n\\nThe following example allows the Swift Package Manager to pick\\nversions `1.2.3`, `1.2.4`, `1.2.5`, but not `1.2.6`.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", \\\"1.2.3\\\"..<\\\"1.2.6\\\"),\\n```\\n\\nThe following example allows the Swift Package Manager to pick\\nversions between 1.0.0 and 2.0.0\\n\\n```swift\\n.package(id: \\\"scope.name\\\", .upToNextMajor(from: \\\"1.0.0\\\")),\\n```\\n\\nThe following example allows the Swift Package Manager to pick\\nversions between 1.0.0 and 1.1.0\\n\\n```swift\\n.package(id: \\\"scope.name\\\", .upToNextMinor(from: \\\"1.0.0\\\")),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - range: The custom version range requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| range | The custom version range requirement. |\\n\\n### `package(id:_:)`\\n\\n```swift\\npublic static func package(id: String, _ range: ClosedRange) -> Package\\n```\\n\\nAdds a package dependency starting with a specific minimum version, going\\nup to and including a specific maximum version.\\n\\nThe following example allows the Swift Package Manager to pick\\nversions 1.2.3, 1.2.4, 1.2.5, as well as 1.2.6.\\n\\n```swift\\n.package(id: \\\"scope.name\\\", \\\"1.2.3\\\"...\\\"1.2.6\\\"),\\n```\\n\\n- Parameters:\\n - id: The identity of the package.\\n - range: The closed version range requirement.\\n\\n- Returns: A `Package` instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| id | The identity of the package. |\\n| range | The closed version range requirement. |\\n\\n### `package(url:version:)`\\n\\n### `package(url:branch:)`\\n\\n### `package(url:revision:)`\\n\\n### `package(url:range:)`\\n\\n\",\"title\":\"`Package`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/package\",\"LLMS_URL\":\"/ja/references/project-description/extensions/package.md\"}},{\"path\":\"/ja/references/project-description/extensions/platformfilters.md\",\"url\":\"/ja/references/project-description/extensions/platformfilters\",\"llmUrl\":\"/ja/references/project-description/extensions/platformfilters.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/platformfilters\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/platformfilters.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `PlatformFilters`\\n```swift\\nextension PlatformFilters\\n```\\n\\n## Properties\\n### `all`\\n\\n```swift\\npublic static let all = Set(PlatformFilter.allCases)\\n```\\n\\n\",\"title\":\"`PlatformFilters`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/platformfilters\",\"LLMS_URL\":\"/ja/references/project-description/extensions/platformfilters.md\"}},{\"path\":\"/ja/references/project-description/extensions/plist.value.md\",\"url\":\"/ja/references/project-description/extensions/plist.value\",\"llmUrl\":\"/ja/references/project-description/extensions/plist.value.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/plist.value\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/plist.value.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Plist.Value`\\n```swift\\nextension Plist.Value: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Plist.Value)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Plist.Value...)\\n```\\n\\n\",\"title\":\"`Plist.Value`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/plist.value\",\"LLMS_URL\":\"/ja/references/project-description/extensions/plist.value.md\"}},{\"path\":\"/ja/references/project-description/extensions/range.md\",\"url\":\"/ja/references/project-description/extensions/range\",\"llmUrl\":\"/ja/references/project-description/extensions/range.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/range\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/range.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Range`\\n```swift\\nextension Range where Bound == Version\\n```\\n\\n## Methods\\n### `contains(_:)`\\n\\n```swift\\npublic func contains(_: Version) -> Bool\\n```\\n\\nMarked as unavailable because we have custom rules for contains.\\n\\n### `contains(version:)`\\n\\n```swift\\npublic func contains(version: Version) -> Bool\\n```\\n\\n\",\"title\":\"`Range`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/range\",\"LLMS_URL\":\"/ja/references/project-description/extensions/range.md\"}},{\"path\":\"/ja/references/project-description/extensions/resourcefileelement.md\",\"url\":\"/ja/references/project-description/extensions/resourcefileelement\",\"llmUrl\":\"/ja/references/project-description/extensions/resourcefileelement.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/resourcefileelement\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/resourcefileelement.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceFileElement`\\n```swift\\nextension ResourceFileElement: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`ResourceFileElement`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/resourcefileelement\",\"LLMS_URL\":\"/ja/references/project-description/extensions/resourcefileelement.md\"}},{\"path\":\"/ja/references/project-description/extensions/resourcefileelements.md\",\"url\":\"/ja/references/project-description/extensions/resourcefileelements\",\"llmUrl\":\"/ja/references/project-description/extensions/resourcefileelements.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/resourcefileelements\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/resourcefileelements.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceFileElements`\\n```swift\\nextension ResourceFileElements: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: ResourceFileElement...)\\n```\\n\\n\",\"title\":\"`ResourceFileElements`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/resourcefileelements\",\"LLMS_URL\":\"/ja/references/project-description/extensions/resourcefileelements.md\"}},{\"path\":\"/ja/references/project-description/extensions/resourcesynthesizer.parser.option.md\",\"url\":\"/ja/references/project-description/extensions/resourcesynthesizer.parser.option\",\"llmUrl\":\"/ja/references/project-description/extensions/resourcesynthesizer.parser.option.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/resourcesynthesizer.parser.option\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/resourcesynthesizer.parser.option.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `ResourceSynthesizer.Parser.Option`\\n```swift\\nextension ResourceSynthesizer.Parser.Option: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Self)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Self...)\\n```\\n\\n\",\"title\":\"`ResourceSynthesizer.Parser.Option`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/resourcesynthesizer.parser.option\",\"LLMS_URL\":\"/ja/references/project-description/extensions/resourcesynthesizer.parser.option.md\"}},{\"path\":\"/ja/references/project-description/extensions/schemelanguage.md\",\"url\":\"/ja/references/project-description/extensions/schemelanguage\",\"llmUrl\":\"/ja/references/project-description/extensions/schemelanguage.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/schemelanguage\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/schemelanguage.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SchemeLanguage`\\n```swift\\nextension SchemeLanguage\\n```\\n\\n## Properties\\n### `doubleLengthPseudoLanguage`\\n\\n```swift\\npublic static var doubleLengthPseudoLanguage: SchemeLanguage\\n```\\n\\n### `rightToLeftPseudoLanguage`\\n\\n```swift\\npublic static var rightToLeftPseudoLanguage: SchemeLanguage\\n```\\n\\n### `accentedPseudoLanguage`\\n\\n```swift\\npublic static var accentedPseudoLanguage: SchemeLanguage\\n```\\n\\n### `boundedStringPseudoLanguage`\\n\\n```swift\\npublic static var boundedStringPseudoLanguage: SchemeLanguage\\n```\\n\\n### `rightToLeftWithStringsPseudoLanguage`\\n\\n```swift\\npublic static var rightToLeftWithStringsPseudoLanguage: SchemeLanguage\\n```\\n\\n\",\"title\":\"`SchemeLanguage`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/schemelanguage\",\"LLMS_URL\":\"/ja/references/project-description/extensions/schemelanguage.md\"}},{\"path\":\"/ja/references/project-description/extensions/settingsdictionary.md\",\"url\":\"/ja/references/project-description/extensions/settingsdictionary\",\"llmUrl\":\"/ja/references/project-description/extensions/settingsdictionary.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/settingsdictionary\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/settingsdictionary.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SettingsDictionary`\\n```swift\\nextension SettingsDictionary\\n```\\n\\n## Methods\\n### `merge(_:)`\\n\\n```swift\\npublic mutating func merge(_ other: SettingsDictionary)\\n```\\n\\n### `merging(_:)`\\n\\n```swift\\npublic func merging(_ other: SettingsDictionary) -> SettingsDictionary\\n```\\n\\n### `manualCodeSigning(identity:provisioningProfileSpecifier:)`\\n\\n```swift\\npublic func manualCodeSigning(identity: String? = nil, provisioningProfileSpecifier: String? = nil) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_STYLE\\\"` to `\\\"Manual\\\"`,` \\\"CODE_SIGN_IDENTITY\\\"` to `identity`, and `\\\"PROVISIONING_PROFILE_SPECIFIER\\\"` to\\n`provisioningProfileSpecifier`\\n\\n### `automaticCodeSigning(devTeam:)`\\n\\n```swift\\npublic func automaticCodeSigning(devTeam: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_STYLE\\\"` to `\\\"Automatic\\\"` and `\\\"DEVELOPMENT_TEAM\\\"` to `devTeam`\\n- Parameters:\\n - devTeam: Your Apple Developer Team ID. See\\n[here](https://developer.apple.com/help/account/manage-your-team/locate-your-team-id/) how you can find it.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| devTeam | Your Apple Developer Team ID. See how you can find it. |\\n\\n### `codeSignIdentityAppleDevelopment()`\\n\\n```swift\\npublic func codeSignIdentityAppleDevelopment() -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_IDENTITY\\\"` to `\\\"Apple Development\\\"`\\n\\n### `codeSignIdentity(_:)`\\n\\n```swift\\npublic func codeSignIdentity(_ identity: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CODE_SIGN_IDENTITY\\\"` to `identity`\\n\\n### `currentProjectVersion(_:)`\\n\\n```swift\\npublic func currentProjectVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"CURRENT_PROJECT_VERSION\\\"` to `version`\\n\\n### `marketingVersion(_:)`\\n\\n```swift\\npublic func marketingVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"MARKETING_VERSION\\\"` to `version`\\n\\n### `appleGenericVersioningSystem()`\\n\\n```swift\\npublic func appleGenericVersioningSystem() -> SettingsDictionary\\n```\\n\\nSets `\\\"VERSIONING_SYSTEM\\\"` to `\\\"apple-generic\\\"`\\n\\n### `versionInfo(_:prefix:suffix:)`\\n\\n```swift\\npublic func versionInfo(_ version: String, prefix: String? = nil, suffix: String? = nil) -> SettingsDictionary\\n```\\n\\nSets \\\"VERSION_INFO_STRING\\\" to `version`. If `prefix` and `suffix` are not `nil`, they're used as `\\\"VERSION_INFO_PREFIX\\\"`\\nand `\\\"VERSION_INFO_SUFFIX\\\"` respectively.\\n\\n### `swiftVersion(_:)`\\n\\n```swift\\npublic func swiftVersion(_ version: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_VERSION\\\"` to `version`\\n\\n### `otherSwiftFlags(_:)`\\n\\n```swift\\npublic func otherSwiftFlags(_ flags: String...) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_SWIFT_FLAGS\\\"` to `flags`\\n\\n### `otherSwiftFlags(_:)`\\n\\n```swift\\npublic func otherSwiftFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_SWIFT_FLAGS\\\"` to `flags`\\n\\n### `swiftActiveCompilationConditions(_:)`\\n\\n```swift\\npublic func swiftActiveCompilationConditions(_ conditions: String...) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_ACTIVE_COMPILATION_CONDITIONS\\\"` to `conditions`\\n\\n### `swiftActiveCompilationConditions(_:)`\\n\\n```swift\\npublic func swiftActiveCompilationConditions(_ conditions: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_ACTIVE_COMPILATION_CONDITIONS\\\"` to `conditions`\\n\\n### `swiftCompilationMode(_:)`\\n\\n```swift\\npublic func swiftCompilationMode(_ mode: SwiftCompilationMode) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_COMPILATION_MODE\\\"` to the available `SwiftCompilationMode` (`\\\"singlefile\\\"` or `\\\"wholemodule\\\"`)\\n\\n### `swiftOptimizationLevel(_:)`\\n\\n```swift\\npublic func swiftOptimizationLevel(_ level: SwiftOptimizationLevel) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OPTIMIZATION_LEVEL\\\"` to the available `SwiftOptimizationLevel` (`\\\"-O\\\"`, `\\\"-Onone\\\"` or `\\\"-Osize\\\"`)\\n\\n### `swiftOptimizeObjectLifetimes(_:)`\\n\\n```swift\\npublic func swiftOptimizeObjectLifetimes(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OPTIMIZE_OBJECT_LIFETIME\\\"` to `\\\"YES\\\"` or `\\\"NO\\\"`\\n\\n### `swiftObjcBridgingHeaderPath(_:)`\\n\\n```swift\\npublic func swiftObjcBridgingHeaderPath(_ path: String) -> SettingsDictionary\\n```\\n\\nSets `\\\"SWIFT_OBJC_BRIDGING_HEADER\\\"` to `path`\\n\\n### `otherCFlags(_:)`\\n\\n```swift\\npublic func otherCFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_CFLAGS\\\"` to `flags`\\n\\n### `otherLinkerFlags(_:)`\\n\\n```swift\\npublic func otherLinkerFlags(_ flags: [String]) -> SettingsDictionary\\n```\\n\\nSets `\\\"OTHER_LDFLAGS\\\"` to `flags`\\n\\n### `bitcodeEnabled(_:)`\\n\\n```swift\\npublic func bitcodeEnabled(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"ENABLE_BITCODE\\\"` to `\\\"YES\\\"` or `\\\"NO\\\"`\\n\\n### `debugInformationFormat(_:)`\\n\\n```swift\\npublic func debugInformationFormat(_ format: DebugInformationFormat) -> SettingsDictionary\\n```\\n\\nSets `\\\"DEBUG_INFORMATION_FORMAT\\\"`to `\\\"dwarf\\\"` or `\\\"dwarf-with-dsym\\\"`\\n\\n### `betaFeature_enableExplicitModules(_:)`\\n\\n```swift\\npublic func betaFeature_enableExplicitModules(_ enabled: Bool) -> SettingsDictionary\\n```\\n\\nSets `\\\"_EXPERIMENTAL_SWIFT_EXPLICIT_MODULES\\\"`\\nNOTE: This is only available when using Xcode 16 or later.\\nThis setting may change and is not guaranteed to work across all beta versions.\\n\\n\",\"title\":\"`SettingsDictionary`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/settingsdictionary\",\"LLMS_URL\":\"/ja/references/project-description/extensions/settingsdictionary.md\"}},{\"path\":\"/ja/references/project-description/extensions/sourcefileglob.md\",\"url\":\"/ja/references/project-description/extensions/sourcefileglob\",\"llmUrl\":\"/ja/references/project-description/extensions/sourcefileglob.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/sourcefileglob\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/sourcefileglob.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SourceFileGlob`\\n```swift\\nextension SourceFileGlob: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`SourceFileGlob`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/sourcefileglob\",\"LLMS_URL\":\"/ja/references/project-description/extensions/sourcefileglob.md\"}},{\"path\":\"/ja/references/project-description/extensions/sourcefileslist.md\",\"url\":\"/ja/references/project-description/extensions/sourcefileslist\",\"llmUrl\":\"/ja/references/project-description/extensions/sourcefileslist.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/sourcefileslist\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/sourcefileslist.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `SourceFilesList`\\n```swift\\nextension SourceFilesList: ExpressibleByStringInterpolation\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: SourceFileGlob...)\\n```\\n\\n\",\"title\":\"`SourceFilesList`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/sourcefileslist\",\"LLMS_URL\":\"/ja/references/project-description/extensions/sourcefileslist.md\"}},{\"path\":\"/ja/references/project-description/extensions/string.stringinterpolation.md\",\"url\":\"/ja/references/project-description/extensions/string.stringinterpolation\",\"llmUrl\":\"/ja/references/project-description/extensions/string.stringinterpolation.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/string.stringinterpolation\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/string.stringinterpolation.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `String.StringInterpolation`\\n```swift\\nextension String.StringInterpolation\\n```\\n\\n## Methods\\n### `appendInterpolation(_:)`\\n\\n```swift\\npublic mutating func appendInterpolation(_ value: Template.Attribute)\\n```\\n\\n\",\"title\":\"`String.StringInterpolation`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/string.stringinterpolation\",\"LLMS_URL\":\"/ja/references/project-description/extensions/string.stringinterpolation.md\"}},{\"path\":\"/ja/references/project-description/extensions/template.attribute.value.md\",\"url\":\"/ja/references/project-description/extensions/template.attribute.value\",\"llmUrl\":\"/ja/references/project-description/extensions/template.attribute.value.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/template.attribute.value\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/template.attribute.value.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Template.Attribute.Value`\\n```swift\\nextension Template.Attribute.Value: ExpressibleByStringLiteral\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(integerLiteral:)`\\n\\n```swift\\npublic init(integerLiteral value: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(floatLiteral:)`\\n\\n```swift\\npublic init(floatLiteral value: Double)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value to create. |\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(dictionaryLiteral:)`\\n\\n```swift\\npublic init(dictionaryLiteral elements: (String, Template.Attribute.Value)...)\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: Template.Attribute.Value...)\\n```\\n\\n\",\"title\":\"`Template.Attribute.Value`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/template.attribute.value\",\"LLMS_URL\":\"/ja/references/project-description/extensions/template.attribute.value.md\"}},{\"path\":\"/ja/references/project-description/extensions/template.item.md\",\"url\":\"/ja/references/project-description/extensions/template.item\",\"llmUrl\":\"/ja/references/project-description/extensions/template.item.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/template.item\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/template.item.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Template.Item`\\n```swift\\nextension Template.Item\\n```\\n\\n## Methods\\n### `string(path:contents:)`\\n\\n```swift\\npublic static func string(path: String, contents: String) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where to generate file\\n - contents: String Contents\\n- Returns: `Template.Item` that is `.string`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where to generate file |\\n| contents | String Contents |\\n\\n### `file(path:templatePath:)`\\n\\n```swift\\npublic static func file(path: String, templatePath: Path) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where to generate file\\n - templatePath: Path of file where the template is defined\\n- Returns: `Template.Item` that is `.file`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where to generate file |\\n| templatePath | Path of file where the template is defined |\\n\\n### `directory(path:sourcePath:)`\\n\\n```swift\\npublic static func directory(path: String, sourcePath: Path) -> Template.Item\\n```\\n\\n- Parameters:\\n - path: Path where will be copied the folder\\n - sourcePath: Path of folder which will be copied\\n- Returns: `Template.Item` that is `.directory`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path where will be copied the folder |\\n| sourcePath | Path of folder which will be copied |\\n\",\"title\":\"`Template.Item`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/template.item\",\"LLMS_URL\":\"/ja/references/project-description/extensions/template.item.md\"}},{\"path\":\"/ja/references/project-description/extensions/templatestring.md\",\"url\":\"/ja/references/project-description/extensions/templatestring\",\"llmUrl\":\"/ja/references/project-description/extensions/templatestring.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/templatestring\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/templatestring.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `TemplateString`\\n```swift\\nextension TemplateString: ExpressibleByStringLiteral\\n```\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic var description: String\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(stringInterpolation:)`\\n\\n```swift\\npublic init(stringInterpolation: StringInterpolation)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| stringInterpolation | An instance of `StringInterpolation` which has had each segment of the string literal appended to it. |\\n\",\"title\":\"`TemplateString`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/templatestring\",\"LLMS_URL\":\"/ja/references/project-description/extensions/templatestring.md\"}},{\"path\":\"/ja/references/project-description/extensions/version.md\",\"url\":\"/ja/references/project-description/extensions/version\",\"llmUrl\":\"/ja/references/project-description/extensions/version.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/extensions/version\\\"\\nLLMS_URL: \\\"/ja/references/project-description/extensions/version.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `Version`\\n```swift\\nextension Version: Comparable\\n```\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic var description: String\\n```\\n\\n## Methods\\n### `<(_:_:)`\\n\\n```swift\\npublic static func < (lhs: Version, rhs: Version) -> Bool\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| lhs | A value to compare. |\\n| rhs | Another value to compare. |\\n\\n### `init(string:)`\\n\\n```swift\\npublic init?(string: String)\\n```\\n\\nCreate a version object from string.\\n\\n- Parameters:\\n - string: The string to parse.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| string | The string to parse. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`Version`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/extensions/version\",\"LLMS_URL\":\"/ja/references/project-description/extensions/version.md\"}},{\"path\":\"/ja/references/project-description/structs/analyzeaction.md\",\"url\":\"/ja/references/project-description/structs/analyzeaction\",\"llmUrl\":\"/ja/references/project-description/structs/analyzeaction.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/analyzeaction\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/analyzeaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `AnalyzeAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n- [Methods](#methods)\\n - `analyzeAction(configuration:)`\\n\\n```swift\\npublic struct AnalyzeAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that analyzes the built products.\\n\\nIt's initialized with the `.analyzeAction` static method\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should be analyzed with.\\n\\n## Methods\\n### `analyzeAction(configuration:)`\\n\\n```swift\\npublic static func analyzeAction(configuration: ConfigurationName) -> AnalyzeAction\\n```\\n\\nReturns an analyze action.\\n- Parameter configuration: Indicates the build configuration the product should be analyzed with.\\n- Returns: Analyze action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should be analyzed with. |\\n\",\"title\":\"`AnalyzeAction`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/analyzeaction\",\"LLMS_URL\":\"/ja/references/project-description/structs/analyzeaction.md\"}},{\"path\":\"/ja/references/project-description/structs/archiveaction.md\",\"url\":\"/ja/references/project-description/structs/archiveaction\",\"llmUrl\":\"/ja/references/project-description/structs/archiveaction.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/archiveaction\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/archiveaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ArchiveAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `revealArchiveInOrganizer`\\n - `customArchiveName`\\n - `preActions`\\n - `postActions`\\n- [Methods](#methods)\\n - `archiveAction(configuration:revealArchiveInOrganizer:customArchiveName:preActions:postActions:)`\\n\\n```swift\\npublic struct ArchiveAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that archives the built products.\\n\\nIt's initialized with the `.archiveAction` static method.\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration to run the archive with.\\n\\n### `revealArchiveInOrganizer`\\n\\n```swift\\npublic var revealArchiveInOrganizer: Bool\\n```\\n\\nIf set to true, Xcode will reveal the Organizer on completion.\\n\\n### `customArchiveName`\\n\\n```swift\\npublic var customArchiveName: String?\\n```\\n\\nSet if you want to override Xcode's default archive name.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the archive process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the archive process.\\n\\n## Methods\\n### `archiveAction(configuration:revealArchiveInOrganizer:customArchiveName:preActions:postActions:)`\\n\\n```swift\\npublic static func archiveAction(\\n configuration: ConfigurationName,\\n revealArchiveInOrganizer: Bool = true,\\n customArchiveName: String? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = []\\n) -> ArchiveAction\\n```\\n\\nInitialize a `ArchiveAction`\\n- Parameters:\\n - configuration: Indicates the build configuration to run the archive with.\\n - revealArchiveInOrganizer: If set to true, Xcode will reveal the Organizer on completion.\\n - customArchiveName: Set if you want to override Xcode's default archive name.\\n - preActions: A list of actions that are executed before starting the archive process.\\n - postActions: A list of actions that are executed after the archive process.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration to run the archive with. |\\n| revealArchiveInOrganizer | If set to true, Xcode will reveal the Organizer on completion. |\\n| customArchiveName | Set if you want to override Xcode’s default archive name. |\\n| preActions | A list of actions that are executed before starting the archive process. |\\n| postActions | A list of actions that are executed after the archive process. |\\n\",\"title\":\"`ArchiveAction`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/archiveaction\",\"LLMS_URL\":\"/ja/references/project-description/structs/archiveaction.md\"}},{\"path\":\"/ja/references/project-description/structs/arguments.md\",\"url\":\"/ja/references/project-description/structs/arguments\",\"llmUrl\":\"/ja/references/project-description/structs/arguments.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/arguments\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/arguments.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Arguments`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `environmentVariables`\\n - `launchArguments`\\n- [Methods](#methods)\\n - `arguments(environmentVariables:launchArguments:)`\\n\\n```swift\\npublic struct Arguments: Equatable, Codable, Sendable\\n```\\n\\nA collection of arguments and environment variables.\\n\\n## Properties\\n### `environmentVariables`\\n\\n```swift\\npublic var environmentVariables: [String: EnvironmentVariable]\\n```\\n\\n### `launchArguments`\\n\\n```swift\\npublic var launchArguments: [LaunchArgument]\\n```\\n\\n## Methods\\n### `arguments(environmentVariables:launchArguments:)`\\n\\n```swift\\npublic static func arguments(\\n environmentVariables: [String: EnvironmentVariable] = [:],\\n launchArguments: [LaunchArgument] = []\\n) -> Self\\n```\\n\\n\",\"title\":\"`Arguments`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/arguments\",\"LLMS_URL\":\"/ja/references/project-description/structs/arguments.md\"}},{\"path\":\"/ja/references/project-description/structs/buildaction.md\",\"url\":\"/ja/references/project-description/structs/buildaction\",\"llmUrl\":\"/ja/references/project-description/structs/buildaction.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/buildaction\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/buildaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `BuildAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `targets`\\n - `preActions`\\n - `postActions`\\n - `buildOrder`\\n - `runPostActionsOnFailure`\\n - `findImplicitDependencies`\\n- [Methods](#methods)\\n - `buildAction(targets:preActions:postActions:buildOrder:runPostActionsOnFailure:findImplicitDependencies:)`\\n\\n```swift\\npublic struct BuildAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that builds products.\\n\\nIt's initialized with the `.buildAction` static method.\\n\\n## Properties\\n### `targets`\\n\\n```swift\\npublic var targets: [TargetReference]\\n```\\n\\nA list of targets to build, which are defined in the project.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the build process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the build process.\\n\\n### `buildOrder`\\n\\n```swift\\npublic var buildOrder: BuildOrder\\n```\\n\\nDefines the order in which targets are built.\\n\\n### `runPostActionsOnFailure`\\n\\n```swift\\npublic var runPostActionsOnFailure: Bool\\n```\\n\\nWhether the post actions should be run in the case of a failure\\n\\n### `findImplicitDependencies`\\n\\n```swift\\npublic var findImplicitDependencies: Bool\\n```\\n\\nWhether Xcode should be allowed to find dependencies implicitly. The default is `true`.\\n\\n## Methods\\n### `buildAction(targets:preActions:postActions:buildOrder:runPostActionsOnFailure:findImplicitDependencies:)`\\n\\n```swift\\npublic static func buildAction(\\n targets: [TargetReference],\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n buildOrder: BuildOrder = .dependency,\\n runPostActionsOnFailure: Bool = false,\\n findImplicitDependencies: Bool = true\\n) -> BuildAction\\n```\\n\\nReturns a build action.\\n- Parameters:\\n - targets: A list of targets to build, which are defined in the project.\\n - preActions: A list of actions that are executed before starting the build process.\\n - postActions: A list of actions that are executed after the build process.\\n - buildOrder: Defines the order in which targets are built. Defaults to `.dependency`.\\n - runPostActionsOnFailure: Whether the post actions should be run in the case of a failure\\n - findImplicitDependencies: Whether Xcode should be allowed to find dependencies implicitly. The default is `true`.\\n- Returns: Initialized build action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| targets | A list of targets to build, which are defined in the project. |\\n| preActions | A list of actions that are executed before starting the build process. |\\n| postActions | A list of actions that are executed after the build process. |\\n| buildOrder | Defines the order in which targets are built. Defaults to `.dependency`. |\\n| runPostActionsOnFailure | Whether the post actions should be run in the case of a failure |\\n| findImplicitDependencies | Whether Xcode should be allowed to find dependencies implicitly. The default is `true`. |\\n\",\"title\":\"`BuildAction`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/buildaction\",\"LLMS_URL\":\"/ja/references/project-description/structs/buildaction.md\"}},{\"path\":\"/ja/references/project-description/structs/buildrule.md\",\"url\":\"/ja/references/project-description/structs/buildrule\",\"llmUrl\":\"/ja/references/project-description/structs/buildrule.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/buildrule\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/buildrule.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `BuildRule`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `compilerSpec`\\n - `filePatterns`\\n - `fileType`\\n - `name`\\n - `outputFiles`\\n - `inputFiles`\\n - `outputFilesCompilerFlags`\\n - `script`\\n - `runOncePerArchitecture`\\n- [Methods](#methods)\\n - `buildRule(name:fileType:filePatterns:compilerSpec:inputFiles:outputFiles:outputFilesCompilerFlags:script:runOncePerArchitecture:)`\\n\\n```swift\\npublic struct BuildRule: Codable, Equatable, Sendable\\n```\\n\\nA BuildRule is used to specify a method for transforming an input file in to an output file(s).\\n\\n## Properties\\n### `compilerSpec`\\n\\n```swift\\npublic var compilerSpec: CompilerSpec\\n```\\n\\nCompiler specification for element transformation.\\n\\n### `filePatterns`\\n\\n```swift\\npublic var filePatterns: String?\\n```\\n\\nRegex pattern when `sourceFilesWithNamesMatching` is used.\\n\\n### `fileType`\\n\\n```swift\\npublic var fileType: FileType\\n```\\n\\nFile types which are processed by build rule.\\n\\n### `name`\\n\\n```swift\\npublic var name: String?\\n```\\n\\nBuild rule name.\\n\\n### `outputFiles`\\n\\n```swift\\npublic var outputFiles: [String]\\n```\\n\\nBuild rule output files.\\n\\n### `inputFiles`\\n\\n```swift\\npublic var inputFiles: [String]\\n```\\n\\nBuild rule input files.\\n\\n### `outputFilesCompilerFlags`\\n\\n```swift\\npublic var outputFilesCompilerFlags: [String]\\n```\\n\\nBuild rule output files compiler flags.\\n\\n### `script`\\n\\n```swift\\npublic var script: String?\\n```\\n\\nBuild rule custom script when `customScript` is used.\\n\\n### `runOncePerArchitecture`\\n\\n```swift\\npublic var runOncePerArchitecture: Bool?\\n```\\n\\nBuild rule run once per architecture.\\n\\n## Methods\\n### `buildRule(name:fileType:filePatterns:compilerSpec:inputFiles:outputFiles:outputFilesCompilerFlags:script:runOncePerArchitecture:)`\\n\\n```swift\\npublic static func buildRule(\\n name: String? = nil,\\n fileType: FileType,\\n filePatterns: String? = nil,\\n compilerSpec: CompilerSpec,\\n inputFiles: [String] = [],\\n outputFiles: [String] = [],\\n outputFilesCompilerFlags: [String] = [],\\n script: String? = nil,\\n runOncePerArchitecture: Bool = false\\n) -> Self\\n```\\n\\n\",\"title\":\"`BuildRule`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/buildrule\",\"LLMS_URL\":\"/ja/references/project-description/structs/buildrule.md\"}},{\"path\":\"/ja/references/project-description/structs/cloud.md\",\"url\":\"/ja/references/project-description/structs/cloud\",\"llmUrl\":\"/ja/references/project-description/structs/cloud.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/cloud\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/cloud.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Cloud`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `url`\\n - `projectId`\\n - `options`\\n- [Methods](#methods)\\n - `cloud(projectId:url:options:)`\\n\\n```swift\\npublic struct Cloud: Codable, Equatable, Sendable\\n```\\n\\nA cloud configuration, used for remote caching.\\n\\n## Properties\\n### `url`\\n\\n```swift\\npublic var url: String\\n```\\n\\nThe base URL that points to the Cloud server.\\n\\n### `projectId`\\n\\n```swift\\npublic var projectId: String\\n```\\n\\nThe project unique identifier.\\n\\n### `options`\\n\\n```swift\\npublic var options: [Option]\\n```\\n\\nThe configuration options.\\n\\n## Methods\\n### `cloud(projectId:url:options:)`\\n\\n```swift\\npublic static func cloud(projectId: String, url: String = \\\"https://tuist.dev\\\", options: [Option] = []) -> Cloud\\n```\\n\\nReturns a generic cloud configuration.\\n- Parameters:\\n - projectId: Project unique identifier.\\n - url: Base URL to the Cloud server.\\n - options: Cloud options.\\n- Returns: A Cloud instance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| projectId | Project unique identifier. |\\n| url | Base URL to the Cloud server. |\\n| options | Cloud options. |\\n\",\"title\":\"`Cloud`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/cloud\",\"LLMS_URL\":\"/ja/references/project-description/structs/cloud.md\"}},{\"path\":\"/ja/references/project-description/structs/config.inspectoptions.md\",\"url\":\"/ja/references/project-description/structs/config.inspectoptions\",\"llmUrl\":\"/ja/references/project-description/structs/config.inspectoptions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/config.inspectoptions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/config.inspectoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Config.InspectOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `redundantDependencies`\\n- [Methods](#methods)\\n - `options(redundantDependencies:)`\\n\\n```swift\\npublic struct InspectOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for inspect.\\n\\n## Properties\\n### `redundantDependencies`\\n\\n```swift\\npublic var redundantDependencies: RedundantDependencies\\n```\\n\\nOptions for inspect redundant dependencies.\\n\\n## Methods\\n### `options(redundantDependencies:)`\\n\\n```swift\\npublic static func options(\\n redundantDependencies: RedundantDependencies = .redundantDependencies()\\n) -> Self\\n```\\n\\n\",\"title\":\"`Config.InspectOptions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/config.inspectoptions\",\"LLMS_URL\":\"/ja/references/project-description/structs/config.inspectoptions.md\"}},{\"path\":\"/ja/references/project-description/structs/config.installoptions.md\",\"url\":\"/ja/references/project-description/structs/config.installoptions\",\"llmUrl\":\"/ja/references/project-description/structs/config.installoptions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/config.installoptions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/config.installoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Config.InstallOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `passthroughSwiftPackageManagerArguments`\\n- [Methods](#methods)\\n - `options(passthroughSwiftPackageManagerArguments:)`\\n\\n```swift\\npublic struct InstallOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for install.\\n\\n## Properties\\n### `passthroughSwiftPackageManagerArguments`\\n\\n```swift\\npublic var passthroughSwiftPackageManagerArguments: [String]\\n```\\n\\nArguments passed to the Swift Package Manager's `swift package` command when running `swift package resolve`.\\n\\n## Methods\\n### `options(passthroughSwiftPackageManagerArguments:)`\\n\\n```swift\\npublic static func options(\\n passthroughSwiftPackageManagerArguments: [String] = []\\n) -> Self\\n```\\n\\n\",\"title\":\"`Config.InstallOptions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/config.installoptions\",\"LLMS_URL\":\"/ja/references/project-description/structs/config.installoptions.md\"}},{\"path\":\"/ja/references/project-description/structs/configuration.md\",\"url\":\"/ja/references/project-description/structs/configuration\",\"llmUrl\":\"/ja/references/project-description/structs/configuration.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/configuration\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/configuration.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Configuration`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `variant`\\n - `settings`\\n - `xcconfig`\\n- [Methods](#methods)\\n - `debug(name:settings:xcconfig:)`\\n - `release(name:settings:xcconfig:)`\\n\\n```swift\\npublic struct Configuration: Equatable, Codable, Sendable\\n```\\n\\nA the build settings and the .xcconfig file of a project or target. It is initialized with either the `.debug` or `.release`\\nstatic method.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: ConfigurationName\\n```\\n\\n### `variant`\\n\\n```swift\\npublic var variant: Variant\\n```\\n\\n### `settings`\\n\\n```swift\\npublic var settings: SettingsDictionary\\n```\\n\\n### `xcconfig`\\n\\n```swift\\npublic var xcconfig: Path?\\n```\\n\\n## Methods\\n### `debug(name:settings:xcconfig:)`\\n\\n```swift\\npublic static func debug(\\n name: ConfigurationName,\\n settings: SettingsDictionary = [:],\\n xcconfig: Path? = nil\\n) -> Configuration\\n```\\n\\nReturns a debug configuration.\\n\\n- Parameters:\\n - name: The name of the configuration to use\\n - settings: The base build settings to apply\\n - xcconfig: The xcconfig file to associate with this configuration\\n- Returns: A debug `CustomConfiguration`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the configuration to use |\\n| settings | The base build settings to apply |\\n| xcconfig | The xcconfig file to associate with this configuration |\\n\\n### `release(name:settings:xcconfig:)`\\n\\n```swift\\npublic static func release(\\n name: ConfigurationName,\\n settings: SettingsDictionary = [:],\\n xcconfig: Path? = nil\\n) -> Configuration\\n```\\n\\nCreates a release configuration\\n\\n- Parameters:\\n - name: The name of the configuration to use\\n - settings: The base build settings to apply\\n - xcconfig: The xcconfig file to associate with this configuration\\n- Returns: A release `CustomConfiguration`\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the configuration to use |\\n| settings | The base build settings to apply |\\n| xcconfig | The xcconfig file to associate with this configuration |\\n\",\"title\":\"`Configuration`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/configuration\",\"LLMS_URL\":\"/ja/references/project-description/structs/configuration.md\"}},{\"path\":\"/ja/references/project-description/structs/configurationname.md\",\"url\":\"/ja/references/project-description/structs/configurationname\",\"llmUrl\":\"/ja/references/project-description/structs/configurationname.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/configurationname\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/configurationname.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ConfigurationName`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `rawValue`\\n - `debug`\\n - `release`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `configuration(_:)`\\n\\n```swift\\npublic struct ConfigurationName: ExpressibleByStringLiteral, Codable, Equatable, Sendable\\n```\\n\\nA configuration name.\\n\\nIt has build-in support for ``debug`` and ``release`` configurations.\\n\\nYou can extend with your own configurations using a extension:\\n```\\nimport ProjectDescription\\nextension ConfigurationName {\\n static var beta: ConfigurationName {\\n ConfigurationName(\\\"Beta\\\")\\n }\\n}\\n```\\n\\n## Properties\\n### `rawValue`\\n\\n```swift\\npublic var rawValue: String\\n```\\n\\nThe configuration name.\\n\\n### `debug`\\n\\n```swift\\npublic static var debug: ConfigurationName\\n```\\n\\nReturns a configuration named \\\"Debug\\\"\\n\\n### `release`\\n\\n```swift\\npublic static var release: ConfigurationName\\n```\\n\\nReturns a configuration named \\\"Release\\\"\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: StringLiteralType)\\n```\\n\\nCreates a configuration name with its name.\\n- Parameter value: Configuration name.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | Configuration name. |\\n\\n### `configuration(_:)`\\n\\n```swift\\npublic static func configuration(_ name: String) -> ConfigurationName\\n```\\n\\nReturns a configuration name with its name.\\n- Parameter name: Configuration name.\\n- Returns: Initialized configuration name.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Configuration name. |\\n\",\"title\":\"`ConfigurationName`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/configurationname\",\"LLMS_URL\":\"/ja/references/project-description/structs/configurationname.md\"}},{\"path\":\"/ja/references/project-description/structs/copyfilesaction.md\",\"url\":\"/ja/references/project-description/structs/copyfilesaction\",\"llmUrl\":\"/ja/references/project-description/structs/copyfilesaction.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/copyfilesaction\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/copyfilesaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `CopyFilesAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `destination`\\n - `subpath`\\n - `files`\\n- [Methods](#methods)\\n - `absolutePath(name:subpath:files:)`\\n - `productsDirectory(name:subpath:files:)`\\n - `wrapper(name:subpath:files:)`\\n - `executables(name:subpath:files:)`\\n - `resources(name:subpath:files:)`\\n - `javaResources(name:subpath:files:)`\\n - `frameworks(name:subpath:files:)`\\n - `sharedFrameworks(name:subpath:files:)`\\n - `sharedSupport(name:subpath:files:)`\\n - `plugins(name:subpath:files:)`\\n\\n```swift\\npublic struct CopyFilesAction: Codable, Equatable, Sendable\\n```\\n\\nA build phase action used to copy files.\\n\\nCopy files actions, represented as target copy files build phases, are useful to associate project files\\nand products of other targets with the target and copies them to a specified destination, typically a\\nsubfolder within a product. This action may be used multiple times per target.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of the build phase when the project gets generated.\\n\\n### `destination`\\n\\n```swift\\npublic var destination: Destination\\n```\\n\\nDestination to copy files to.\\n\\n### `subpath`\\n\\n```swift\\npublic var subpath: String?\\n```\\n\\nPath to a folder inside the destination.\\n\\n### `files`\\n\\n```swift\\npublic var files: [CopyFileElement]\\n```\\n\\nRelative paths to the files to be copied.\\n\\n## Methods\\n### `absolutePath(name:subpath:files:)`\\n\\n```swift\\npublic static func absolutePath(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for an absolute path.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `productsDirectory(name:subpath:files:)`\\n\\n```swift\\npublic static func productsDirectory(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the products directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `wrapper(name:subpath:files:)`\\n\\n```swift\\npublic static func wrapper(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the wrapper directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `executables(name:subpath:files:)`\\n\\n```swift\\npublic static func executables(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the executables directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `resources(name:subpath:files:)`\\n\\n```swift\\npublic static func resources(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the resources directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `javaResources(name:subpath:files:)`\\n\\n```swift\\npublic static func javaResources(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the java resources directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `frameworks(name:subpath:files:)`\\n\\n```swift\\npublic static func frameworks(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the frameworks directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `sharedFrameworks(name:subpath:files:)`\\n\\n```swift\\npublic static func sharedFrameworks(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the shared frameworks directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `sharedSupport(name:subpath:files:)`\\n\\n```swift\\npublic static func sharedSupport(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the shared support directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\\n### `plugins(name:subpath:files:)`\\n\\n```swift\\npublic static func plugins(\\n name: String,\\n subpath: String? = nil,\\n files: [CopyFileElement]\\n) -> CopyFilesAction\\n```\\n\\nA copy files action for the plugins directory.\\n- Parameters:\\n - name: Name of the build phase when the project gets generated.\\n - subpath: Path to a folder inside the destination.\\n - files: Relative paths to the files to be copied.\\n- Returns: Copy files action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the build phase when the project gets generated. |\\n| subpath | Path to a folder inside the destination. |\\n| files | Relative paths to the files to be copied. |\\n\",\"title\":\"`CopyFilesAction`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/copyfilesaction\",\"LLMS_URL\":\"/ja/references/project-description/structs/copyfilesaction.md\"}},{\"path\":\"/ja/references/project-description/structs/coredatamodel.md\",\"url\":\"/ja/references/project-description/structs/coredatamodel\",\"llmUrl\":\"/ja/references/project-description/structs/coredatamodel.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/coredatamodel\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/coredatamodel.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `CoreDataModel`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `path`\\n - `currentVersion`\\n- [Methods](#methods)\\n - `coreDataModel(_:currentVersion:)`\\n\\n```swift\\npublic struct CoreDataModel: Codable, Equatable, Sendable\\n```\\n\\nA Core Data model.\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic var path: Path\\n```\\n\\nRelative path to the model.\\n\\n### `currentVersion`\\n\\n```swift\\npublic var currentVersion: String?\\n```\\n\\nOptional Current version (with or without extension)\\n\\n## Methods\\n### `coreDataModel(_:currentVersion:)`\\n\\n```swift\\npublic static func coreDataModel(\\n _ path: Path,\\n currentVersion: String? = nil\\n) -> Self\\n```\\n\\nCreates a Core Data model from a path.\\n\\n- Parameters:\\n - path: relative path to the Core Data model.\\n - currentVersion: optional current version name (with or without the extension)\\n By providing nil, it will try to read it from the .xccurrentversion file.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | relative path to the Core Data model. |\\n| currentVersion | optional current version name (with or without the extension) By providing nil, it will try to read it from the .xccurrentversion file. |\\n\",\"title\":\"`CoreDataModel`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/coredatamodel\",\"LLMS_URL\":\"/ja/references/project-description/structs/coredatamodel.md\"}},{\"path\":\"/ja/references/project-description/structs/deploymenttargets.md\",\"url\":\"/ja/references/project-description/structs/deploymenttargets\",\"llmUrl\":\"/ja/references/project-description/structs/deploymenttargets.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/deploymenttargets\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/deploymenttargets.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `DeploymentTargets`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `iOS`\\n - `macOS`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n- [Methods](#methods)\\n - `multiplatform(iOS:macOS:watchOS:tvOS:visionOS:)`\\n - `iOS(_:)`\\n - `macOS(_:)`\\n - `watchOS(_:)`\\n - `tvOS(_:)`\\n - `visionOS(_:)`\\n\\n```swift\\npublic struct DeploymentTargets: Hashable, Codable, Sendable\\n```\\n\\nA struct representing the minimum deployment versions for each platform.\\n\\n## Properties\\n### `iOS`\\n\\n```swift\\npublic var iOS: String?\\n```\\n\\nMinimum deployment version for iOS\\n\\n### `macOS`\\n\\n```swift\\npublic var macOS: String?\\n```\\n\\nMinimum deployment version for macOS\\n\\n### `watchOS`\\n\\n```swift\\npublic var watchOS: String?\\n```\\n\\nMinimum deployment version for watchOS\\n\\n### `tvOS`\\n\\n```swift\\npublic var tvOS: String?\\n```\\n\\nMinimum deployment version for tvOS\\n\\n### `visionOS`\\n\\n```swift\\npublic var visionOS: String?\\n```\\n\\nMinimum deployment version for visionOS\\n\\n## Methods\\n### `multiplatform(iOS:macOS:watchOS:tvOS:visionOS:)`\\n\\n```swift\\npublic static func multiplatform(\\n iOS: String? = nil,\\n macOS: String? = nil,\\n watchOS: String? = nil,\\n tvOS: String? = nil,\\n visionOS: String? = nil\\n) -> Self\\n```\\n\\nMultiplatform deployment target\\n\\n### `iOS(_:)`\\n\\n```swift\\npublic static func iOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `iOS` only minimum version\\n\\n### `macOS(_:)`\\n\\n```swift\\npublic static func macOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `macOS` only minimum version\\n\\n### `watchOS(_:)`\\n\\n```swift\\npublic static func watchOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `watchOS` only minimum version\\n\\n### `tvOS(_:)`\\n\\n```swift\\npublic static func tvOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `tvOS` only minimum version\\n\\n### `visionOS(_:)`\\n\\n```swift\\npublic static func visionOS(_ version: String) -> DeploymentTargets\\n```\\n\\nConvenience method for `visionOS` only minimum version\\n\\n\",\"title\":\"`DeploymentTargets`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/deploymenttargets\",\"LLMS_URL\":\"/ja/references/project-description/structs/deploymenttargets.md\"}},{\"path\":\"/ja/references/project-description/structs/environmentvariable.md\",\"url\":\"/ja/references/project-description/structs/environmentvariable\",\"llmUrl\":\"/ja/references/project-description/structs/environmentvariable.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/environmentvariable\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/environmentvariable.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `EnvironmentVariable`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `value`\\n - `isEnabled`\\n- [Methods](#methods)\\n - `environmentVariable(value:isEnabled:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct EnvironmentVariable: Equatable, Codable, Hashable, ExpressibleByStringLiteral, Sendable\\n```\\n\\nIt represents an environment variable that is passed when running a scheme's action\\n\\n## Properties\\n### `value`\\n\\n```swift\\npublic var value: String\\n```\\n\\nThe value of the environment variable\\n\\n### `isEnabled`\\n\\n```swift\\npublic var isEnabled: Bool\\n```\\n\\nWhether the variable is enabled or not\\n\\n## Methods\\n### `environmentVariable(value:isEnabled:)`\\n\\n```swift\\npublic static func environmentVariable(value: String, isEnabled: Bool) -> Self\\n```\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`EnvironmentVariable`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/environmentvariable\",\"LLMS_URL\":\"/ja/references/project-description/structs/environmentvariable.md\"}},{\"path\":\"/ja/references/project-description/structs/executionaction.md\",\"url\":\"/ja/references/project-description/structs/executionaction\",\"llmUrl\":\"/ja/references/project-description/structs/executionaction.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/executionaction\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/executionaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ExecutionAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `title`\\n - `scriptText`\\n - `target`\\n - `shellPath`\\n- [Methods](#methods)\\n - `executionAction(title:scriptText:target:shellPath:)`\\n\\n```swift\\npublic struct ExecutionAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that can be executed as part of another action for pre or post execution.\\n\\n## Properties\\n### `title`\\n\\n```swift\\npublic var title: String\\n```\\n\\n### `scriptText`\\n\\n```swift\\npublic var scriptText: String\\n```\\n\\n### `target`\\n\\n```swift\\npublic var target: TargetReference?\\n```\\n\\n### `shellPath`\\n\\n```swift\\npublic var shellPath: String?\\n```\\n\\nThe path to the shell which shall execute this script. if it is nil, Xcode will use default value.\\n\\n## Methods\\n### `executionAction(title:scriptText:target:shellPath:)`\\n\\n```swift\\npublic static func executionAction(\\n title: String = \\\"Run Script\\\",\\n scriptText: String,\\n target: TargetReference? = nil,\\n shellPath: String? = nil\\n) -> Self\\n```\\n\\n\",\"title\":\"`ExecutionAction`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/executionaction\",\"LLMS_URL\":\"/ja/references/project-description/structs/executionaction.md\"}},{\"path\":\"/ja/references/project-description/structs/filelist.md\",\"url\":\"/ja/references/project-description/structs/filelist\",\"llmUrl\":\"/ja/references/project-description/structs/filelist.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/filelist\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/filelist.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `FileList`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `globs`\\n- [Methods](#methods)\\n - `list(_:)`\\n\\n```swift\\npublic struct FileList: Codable, Equatable, Sendable\\n```\\n\\nA collection of file globs.\\n\\nThe list of files can be initialized with a string that represents the glob pattern, or an array of strings, which represents\\na list of glob patterns.\\n\\n## Properties\\n### `globs`\\n\\n```swift\\npublic let globs: [FileListGlob]\\n```\\n\\nGlob pattern to the files.\\n\\n## Methods\\n### `list(_:)`\\n\\n```swift\\npublic static func list(_ globs: [FileListGlob]) -> FileList\\n```\\n\\nCreates a file list from a collection of glob patterns.\\n\\n - glob: Relative glob pattern.\\n - excluding: Relative glob patterns for excluded files.\\n\\n\",\"title\":\"`FileList`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/filelist\",\"LLMS_URL\":\"/ja/references/project-description/structs/filelist.md\"}},{\"path\":\"/ja/references/project-description/structs/filelistglob.md\",\"url\":\"/ja/references/project-description/structs/filelistglob\",\"llmUrl\":\"/ja/references/project-description/structs/filelistglob.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/filelistglob\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/filelistglob.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `FileListGlob`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `glob`\\n - `excluding`\\n- [Methods](#methods)\\n - `glob(_:excluding:)`\\n - `glob(_:excluding:)`\\n\\n```swift\\npublic struct FileListGlob: Codable, Equatable, Sendable\\n```\\n\\nA glob pattern that refers to files.\\n\\n## Properties\\n### `glob`\\n\\n```swift\\npublic var glob: Path\\n```\\n\\nThe path with a glob pattern.\\n\\n### `excluding`\\n\\n```swift\\npublic var excluding: [Path]\\n```\\n\\nThe excluding paths.\\n\\n## Methods\\n### `glob(_:excluding:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: [Path] = []\\n) -> FileListGlob\\n```\\n\\nReturns a generic file list glob.\\n- Parameters:\\n - glob: The path with a glob pattern.\\n - excluding: The excluding paths.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| glob | The path with a glob pattern. |\\n| excluding | The excluding paths. |\\n\\n### `glob(_:excluding:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: Path?\\n) -> FileListGlob\\n```\\n\\nReturns a file list glob with an optional excluding path.\\n\\n\",\"title\":\"`FileListGlob`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/filelistglob\",\"LLMS_URL\":\"/ja/references/project-description/structs/filelistglob.md\"}},{\"path\":\"/ja/references/project-description/structs/headers.md\",\"url\":\"/ja/references/project-description/structs/headers\",\"llmUrl\":\"/ja/references/project-description/structs/headers.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/headers\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/headers.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Headers`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `umbrellaHeader`\\n - `public`\\n - `private`\\n - `project`\\n - `exclusionRule`\\n- [Methods](#methods)\\n - `headers(public:private:project:exclusionRule:)`\\n - `allHeaders(from:umbrella:private:)`\\n - `onlyHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic struct Headers: Codable, Equatable, Sendable\\n```\\n\\nA group of public, private and project headers.\\n\\n## Properties\\n### `umbrellaHeader`\\n\\n```swift\\npublic var umbrellaHeader: Path?\\n```\\n\\nPath to an umbrella header, which will be used to get list of public headers.\\n\\n### `public`\\n\\n```swift\\npublic var `public`: FileList?\\n```\\n\\nRelative glob pattern that points to the public headers.\\n\\n### `private`\\n\\n```swift\\npublic var `private`: FileList?\\n```\\n\\nRelative glob pattern that points to the private headers.\\n\\n### `project`\\n\\n```swift\\npublic var project: FileList?\\n```\\n\\nRelative glob pattern that points to the project headers.\\n\\n### `exclusionRule`\\n\\n```swift\\npublic var exclusionRule: AutomaticExclusionRule\\n```\\n\\nRule, which determines how to resolve found duplicates in public/private/project scopes\\n\\n## Methods\\n### `headers(public:private:project:exclusionRule:)`\\n\\n```swift\\npublic static func headers(\\n public: FileList? = nil,\\n private: FileList? = nil,\\n project: FileList? = nil,\\n exclusionRule: AutomaticExclusionRule = .projectExcludesPrivateAndPublic\\n) -> Headers\\n```\\n\\n### `allHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic static func allHeaders(\\n from list: FileList,\\n umbrella: Path,\\n private privateHeaders: FileList? = nil\\n) -> Headers\\n```\\n\\nHeaders from the file list are included as:\\n- `public`, if the header is present in the umbrella header\\n- `private`, if the header is present in the `private` list\\n- `project`, otherwise\\n- Parameters:\\n - from: File list, which contains `public` and `project` headers\\n - umbrella: File path to the umbrella header\\n - private: File list, which contains `private` headers\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| from | File list, which contains `public` and `project` headers |\\n| umbrella | File path to the umbrella header |\\n| private | File list, which contains `private` headers |\\n\\n### `onlyHeaders(from:umbrella:private:)`\\n\\n```swift\\npublic static func onlyHeaders(\\n from list: FileList,\\n umbrella: Path,\\n private privateHeaders: FileList? = nil\\n) -> Headers\\n```\\n\\nHeaders from the file list are included as:\\n- `public`, if the header is present in the umbrella header\\n- `private`, if the header is present in the `private` list\\n- not included, otherwise\\n- Parameters:\\n - from: File list, which contains `public` and `project` headers\\n - umbrella: File path to the umbrella header\\n - private: File list, which contains `private` headers\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| from | File list, which contains `public` and `project` headers |\\n| umbrella | File path to the umbrella header |\\n| private | File list, which contains `private` headers |\\n\",\"title\":\"`Headers`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/headers\",\"LLMS_URL\":\"/ja/references/project-description/structs/headers.md\"}},{\"path\":\"/ja/references/project-description/structs/inspectoptions.redundantdependencies.md\",\"url\":\"/ja/references/project-description/structs/inspectoptions.redundantdependencies\",\"llmUrl\":\"/ja/references/project-description/structs/inspectoptions.redundantdependencies.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/inspectoptions.redundantdependencies\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/inspectoptions.redundantdependencies.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `InspectOptions.RedundantDependencies`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `ignoreTagsMatching`\\n- [Methods](#methods)\\n - `redundantDependencies(ignoreTagsMatching:)`\\n\\n```swift\\npublic struct RedundantDependencies: Codable, Equatable, Sendable\\n```\\n\\nOptions for inspect redundant dependencies.\\n\\n## Properties\\n### `ignoreTagsMatching`\\n\\n```swift\\npublic let ignoreTagsMatching: Set\\n```\\n\\nThe set of tags which targets should be ignored when inspecting redundant dependencies\\n\\n## Methods\\n### `redundantDependencies(ignoreTagsMatching:)`\\n\\n```swift\\npublic static func redundantDependencies(\\n ignoreTagsMatching: Set = []\\n) -> Self\\n```\\n\\n\",\"title\":\"`InspectOptions.RedundantDependencies`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/inspectoptions.redundantdependencies\",\"LLMS_URL\":\"/ja/references/project-description/structs/inspectoptions.redundantdependencies.md\"}},{\"path\":\"/ja/references/project-description/structs/launchargument.md\",\"url\":\"/ja/references/project-description/structs/launchargument\",\"llmUrl\":\"/ja/references/project-description/structs/launchargument.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/launchargument\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/launchargument.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `LaunchArgument`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `isEnabled`\\n- [Methods](#methods)\\n - `launchArgument(name:isEnabled:)`\\n\\n```swift\\npublic struct LaunchArgument: Equatable, Codable, Sendable\\n```\\n\\nA launch argument, passed when running a scheme.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of argument\\n\\n### `isEnabled`\\n\\n```swift\\npublic var isEnabled: Bool\\n```\\n\\nIf enabled then argument is marked as active\\n\\n## Methods\\n### `launchArgument(name:isEnabled:)`\\n\\n```swift\\npublic static func launchArgument(name: String, isEnabled: Bool) -> Self\\n```\\n\\nCreate new launch argument\\n- Parameters:\\n - name: Name of argument\\n - isEnabled: If enabled then argument is marked as active\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of argument |\\n| isEnabled | If enabled then argument is marked as active |\\n\",\"title\":\"`LaunchArgument`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/launchargument\",\"LLMS_URL\":\"/ja/references/project-description/structs/launchargument.md\"}},{\"path\":\"/ja/references/project-description/structs/metaloptions.md\",\"url\":\"/ja/references/project-description/structs/metaloptions\",\"llmUrl\":\"/ja/references/project-description/structs/metaloptions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/metaloptions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/metaloptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `MetalOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `apiValidation`\\n - `shaderValidation`\\n - `showGraphicsOverview`\\n - `logGraphicsOverview`\\n- [Methods](#methods)\\n - `options(apiValidation:shaderValidation:showGraphicsOverview:logGraphicsOverview:)`\\n\\n```swift\\npublic struct MetalOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions to configure scheme metal options for run and test actions.\\n\\n## Properties\\n### `apiValidation`\\n\\n```swift\\npublic var apiValidation: Bool\\n```\\n\\nAPI Validation\\n\\n### `shaderValidation`\\n\\n```swift\\npublic var shaderValidation: Bool\\n```\\n\\nShader Validation\\n\\n### `showGraphicsOverview`\\n\\n```swift\\npublic var showGraphicsOverview: Bool\\n```\\n\\nShows graphics overview\\n\\n### `logGraphicsOverview`\\n\\n```swift\\npublic var logGraphicsOverview: Bool\\n```\\n\\nLog graphics overview\\n\\n## Methods\\n### `options(apiValidation:shaderValidation:showGraphicsOverview:logGraphicsOverview:)`\\n\\n```swift\\npublic static func options(\\n apiValidation: Bool = true,\\n shaderValidation: Bool = false,\\n showGraphicsOverview: Bool = false,\\n logGraphicsOverview: Bool = false\\n) -> MetalOptions\\n```\\n\\nCreates a `MetalOptions` instance\\n\\n- Parameters:\\n - apiValidation: Specifies whether API validation is enabled.\\n - shaderValidation: Specifies whether shader validation is enabled.\\n - showGraphicsOverview: Specifies whether to show the graphics overview.\\n - logGraphicsOverview: Specifies whether to log the graphics overview.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| apiValidation | Specifies whether API validation is enabled. |\\n| shaderValidation | Specifies whether shader validation is enabled. |\\n| showGraphicsOverview | Specifies whether to show the graphics overview. |\\n| logGraphicsOverview | Specifies whether to log the graphics overview. |\\n\",\"title\":\"`MetalOptions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/metaloptions\",\"LLMS_URL\":\"/ja/references/project-description/structs/metaloptions.md\"}},{\"path\":\"/ja/references/project-description/structs/ondemandresourcestags.md\",\"url\":\"/ja/references/project-description/structs/ondemandresourcestags\",\"llmUrl\":\"/ja/references/project-description/structs/ondemandresourcestags.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/ondemandresourcestags\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/ondemandresourcestags.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `OnDemandResourcesTags`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `initialInstall`\\n - `prefetchOrder`\\n- [Methods](#methods)\\n - `tags(initialInstall:prefetchOrder:)`\\n\\n```swift\\npublic struct OnDemandResourcesTags: Codable, Equatable, Sendable\\n```\\n\\nOn-demand resources tags associated with Initial Install and Prefetched Order categories\\n\\n## Properties\\n### `initialInstall`\\n\\n```swift\\npublic let initialInstall: [String]?\\n```\\n\\nInitial install tags associated with on demand resources\\n\\n### `prefetchOrder`\\n\\n```swift\\npublic let prefetchOrder: [String]?\\n```\\n\\nPrefetched tag order associated with on demand resources\\n\\n## Methods\\n### `tags(initialInstall:prefetchOrder:)`\\n\\n```swift\\npublic static func tags(initialInstall: [String]?, prefetchOrder: [String]?) -> Self\\n```\\n\\nReturns OnDemandResourcesTags.\\n- Parameter initialInstall: An array of strings that lists the tags assosiated with the Initial install tags category.\\n- Parameter prefetchOrder: An array of strings that lists the tags associated with the Prefetch tag order category.\\n- Returns: OnDemandResourcesTags.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| initialInstall | An array of strings that lists the tags assosiated with the Initial install tags category. |\\n| prefetchOrder | An array of strings that lists the tags associated with the Prefetch tag order category. |\\n\",\"title\":\"`OnDemandResourcesTags`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/ondemandresourcestags\",\"LLMS_URL\":\"/ja/references/project-description/structs/ondemandresourcestags.md\"}},{\"path\":\"/ja/references/project-description/structs/packagesettings.md\",\"url\":\"/ja/references/project-description/structs/packagesettings\",\"llmUrl\":\"/ja/references/project-description/structs/packagesettings.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/packagesettings\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/packagesettings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PackageSettings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `productTypes`\\n - `productDestinations`\\n - `baseSettings`\\n - `targetSettings`\\n - `projectOptions`\\n- [Methods](#methods)\\n - `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n - `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic struct PackageSettings: Codable, Equatable, Sendable\\n```\\n\\nA custom Swift Package Manager configuration\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n import ProjectDescriptionHelpers\\n\\n let packageSettings = PackageSettings(\\n productTypes: [\\n \\\"Alamofire\\\": .framework, // default is .staticFramework\\n ]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"PackageName\\\",\\n dependencies: [\\n .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n ]\\n)\\n```\\n\\n## Properties\\n### `productTypes`\\n\\n```swift\\npublic var productTypes: [String: Product]\\n```\\n\\nThe custom `Product` type to be used for SPM targets.\\n\\n### `productDestinations`\\n\\n```swift\\npublic var productDestinations: [String: Destinations]\\n```\\n\\nCustom product destinations where key of the dictionary is the name of the SPM product and the value contains the\\nsupported destinations.\\n**Note**: This setting should only be used when using Tuist for SPM package projects, _not_ for your external\\ndependencies.\\nSPM implicitly always supports all platforms, but some commands like `tuist cache` depend on destinations being explicit.\\nIf a product does not support all destinations, you can use `productDestinations` to make the supported destinations\\nexplicit.\\n\\n### `baseSettings`\\n\\n```swift\\npublic var baseSettings: Settings\\n```\\n\\nThe base settings to be used for targets generated from SwiftPackageManager\\n\\n### `targetSettings`\\n\\n```swift\\npublic var targetSettings: [String: Settings]\\n```\\n\\nAdditional settings to be added to targets generated from SwiftPackageManager.\\n\\n### `projectOptions`\\n\\n```swift\\npublic var projectOptions: [String: Project.Options]\\n```\\n\\nCustom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n## Methods\\n### `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic init(\\n productTypes: [String: Product] = [:],\\n productDestinations: [String: Destinations] = [:],\\n baseSettings: Settings = .settings(),\\n targetSettings: [String: Settings] = [:],\\n projectOptions: [String: Project.Options] = [:]\\n)\\n```\\n\\nCreates `PackageSettings` instance for custom Swift Package Manager configuration.\\n- Parameters:\\n - productTypes: The custom `Product` types to be used for SPM targets.\\n - productDestinations: Custom destinations to be used for SPM products.\\n - baseSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - targetSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - projectOptions: Custom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| productTypes | The custom `Product` types to be used for SPM targets. |\\n| productDestinations | Custom destinations to be used for SPM products. |\\n| baseSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| targetSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| projectOptions | Custom project configurations to be used for projects generated from SwiftPackageManager. |\\n\\n### `init(productTypes:productDestinations:baseSettings:targetSettings:projectOptions:)`\\n\\n```swift\\npublic init(\\n productTypes: [String: Product] = [:],\\n productDestinations: [String: Destinations] = [:],\\n baseSettings: Settings = .settings(),\\n targetSettings: [String: SettingsDictionary],\\n projectOptions: [String: Project.Options] = [:]\\n)\\n```\\n\\nCreates `PackageSettings` instance for custom Swift Package Manager configuration.\\n- Parameters:\\n - productTypes: The custom `Product` types to be used for SPM targets.\\n - productDestinations: Custom destinations to be used for SPM products.\\n - baseSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - targetSettings: Additional settings to be added to targets generated from SwiftPackageManager.\\n - projectOptions: Custom project configurations to be used for projects generated from SwiftPackageManager.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| productTypes | The custom `Product` types to be used for SPM targets. |\\n| productDestinations | Custom destinations to be used for SPM products. |\\n| baseSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| targetSettings | Additional settings to be added to targets generated from SwiftPackageManager. |\\n| projectOptions | Custom project configurations to be used for projects generated from SwiftPackageManager. |\\n\",\"title\":\"`PackageSettings`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/packagesettings\",\"LLMS_URL\":\"/ja/references/project-description/structs/packagesettings.md\"}},{\"path\":\"/ja/references/project-description/structs/path.md\",\"url\":\"/ja/references/project-description/structs/path\",\"llmUrl\":\"/ja/references/project-description/structs/path.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/path\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/path.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Path`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `type`\\n - `pathString`\\n - `callerPath`\\n- [Methods](#methods)\\n - `path(_:)`\\n - `relativeToCurrentFile(_:callerPath:)`\\n - `relativeToManifest(_:)`\\n - `relativeToRoot(_:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct Path: ExpressibleByStringInterpolation, Codable, Hashable, Sendable\\n```\\n\\nA path represents to a file, directory, or a group of files represented by a glob expression.\\n\\nPaths can be relative and absolute. We discourage using absolute paths because they create a dependency with the environment\\nwhere they are defined.\\n\\n## Properties\\n### `type`\\n\\n```swift\\npublic var type: PathType\\n```\\n\\n### `pathString`\\n\\n```swift\\npublic var pathString: String\\n```\\n\\n### `callerPath`\\n\\n```swift\\npublic var callerPath: String?\\n```\\n\\n## Methods\\n### `path(_:)`\\n\\n```swift\\npublic static func path(_ path: String) -> Self\\n```\\n\\nDefault PathType is `.relativeToManifest`\\n\\n### `relativeToCurrentFile(_:callerPath:)`\\n\\n```swift\\npublic static func relativeToCurrentFile(_ pathString: String, callerPath: StaticString = #file) -> Path\\n```\\n\\nInitialize a path that is relative to the file that defines the path.\\n\\n### `relativeToManifest(_:)`\\n\\n```swift\\npublic static func relativeToManifest(_ pathString: String) -> Path\\n```\\n\\nInitialize a path that is relative to the directory that contains the manifest file being loaded, for example the\\ndirectory that contains the Project.swift file.\\n\\n### `relativeToRoot(_:)`\\n\\n```swift\\npublic static func relativeToRoot(_ pathString: String) -> Path\\n```\\n\\nInitialize a path that is relative to the closest directory that contains a Tuist or a .git directory.\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\nInitializer uses `.relativeToRoot` if path starts with `//` otherwise it is `.relativeToManifest` by default\\n\\n\",\"title\":\"`Path`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/path\",\"LLMS_URL\":\"/ja/references/project-description/structs/path.md\"}},{\"path\":\"/ja/references/project-description/structs/platformcondition.md\",\"url\":\"/ja/references/project-description/structs/platformcondition\",\"llmUrl\":\"/ja/references/project-description/structs/platformcondition.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/platformcondition\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/platformcondition.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PlatformCondition`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `platformFilters`\\n- [Methods](#methods)\\n - `when(_:)`\\n\\n```swift\\npublic struct PlatformCondition: Codable, Hashable, Equatable, Sendable\\n```\\n\\nA condition applied to an \\\"entity\\\" allowing it to only be used in certain circumstances\\n\\n## Properties\\n### `platformFilters`\\n\\n```swift\\npublic let platformFilters: Set\\n```\\n\\n## Methods\\n### `when(_:)`\\n\\n```swift\\npublic static func when(_ platformFilters: Set) -> PlatformCondition?\\n```\\n\\nCreates a condition using the specified set of filters.\\n- Parameter platformFilters: filters to define which platforms this condition supports\\n- Returns: a `Condition` with the given set of filters or `nil` if empty.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| platformFilters | filters to define which platforms this condition supports |\\n\",\"title\":\"`PlatformCondition`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/platformcondition\",\"LLMS_URL\":\"/ja/references/project-description/structs/platformcondition.md\"}},{\"path\":\"/ja/references/project-description/structs/plugin.md\",\"url\":\"/ja/references/project-description/structs/plugin\",\"llmUrl\":\"/ja/references/project-description/structs/plugin.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/plugin\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/plugin.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Plugin`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n- [Methods](#methods)\\n - `init(name:)`\\n\\n```swift\\npublic struct Plugin: Codable, Equatable, Sendable\\n```\\n\\nA plugin representation.\\n\\nSupported plugins include:\\n- ProjectDescriptionHelpers\\n - These are plugins designed to be usable by any other manifest excluding `Config` and `Plugin`.\\n - The source files for these helpers must live under a ProjectDescriptionHelpers directory in the location where `Plugin`\\nmanifest lives.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the `Plugin`.\\n\\n## Methods\\n### `init(name:)`\\n\\n```swift\\npublic init(name: String)\\n```\\n\\nCreates a new plugin.\\n- Parameters:\\n - name: The name of the plugin.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | The name of the plugin. |\\n\",\"title\":\"`Plugin`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/plugin\",\"LLMS_URL\":\"/ja/references/project-description/structs/plugin.md\"}},{\"path\":\"/ja/references/project-description/structs/pluginlocation.md\",\"url\":\"/ja/references/project-description/structs/pluginlocation\",\"llmUrl\":\"/ja/references/project-description/structs/pluginlocation.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/pluginlocation\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/pluginlocation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PluginLocation`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `type`\\n- [Methods](#methods)\\n - `local(path:)`\\n - `git(url:tag:directory:releaseUrl:)`\\n - `git(url:sha:directory:)`\\n\\n```swift\\npublic struct PluginLocation: Codable, Equatable, Sendable\\n```\\n\\nA location to a plugin, either local or remote.\\n\\n## Properties\\n### `type`\\n\\n```swift\\npublic var type: LocationType\\n```\\n\\nThe type of location `local` or `git`.\\n\\n## Methods\\n### `local(path:)`\\n\\n```swift\\npublic static func local(path: Path) -> Self\\n```\\n\\nA `Path` to a directory containing a `Plugin` manifest.\\n\\nExample:\\n```\\n.local(path: \\\"/User/local/bin\\\")\\n```\\n\\n### `git(url:tag:directory:releaseUrl:)`\\n\\n```swift\\npublic static func git(url: String, tag: String, directory: String? = nil, releaseUrl: String? = nil) -> Self\\n```\\n\\nA `URL` to a `git` repository pointing at a `tag`.\\nYou can also specify a custom directory in case the plugin is not located at the root of the repository.\\nYou can also specify a custom release URL from where the plugin binary should be downloaded. If not specified,\\nit defaults to the GitHub release URL. Note that the URL should be publicly reachable.\\n\\nExample:\\n```\\n.git(url: \\\"https://git/plugin.git\\\", tag: \\\"1.0.0\\\", directory: \\\"PluginDirectory\\\")\\n```\\n\\n### `git(url:sha:directory:)`\\n\\n```swift\\npublic static func git(url: String, sha: String, directory: String? = nil) -> Self\\n```\\n\\nA `URL` to a `git` repository pointing at a commit `sha`.\\nYou can also specify a custom directory in case the plugin is not located at the root of the repository.\\n\\nExample:\\n```\\n.git(url: \\\"https://git/plugin.git\\\", sha: \\\"d06b4b3d\\\")\\n```\\n\\n\",\"title\":\"`PluginLocation`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/pluginlocation\",\"LLMS_URL\":\"/ja/references/project-description/structs/pluginlocation.md\"}},{\"path\":\"/ja/references/project-description/structs/privacymanifest.md\",\"url\":\"/ja/references/project-description/structs/privacymanifest\",\"llmUrl\":\"/ja/references/project-description/structs/privacymanifest.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/privacymanifest\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/privacymanifest.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `PrivacyManifest`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `tracking`\\n - `trackingDomains`\\n - `collectedDataTypes`\\n - `accessedApiTypes`\\n- [Methods](#methods)\\n - `privacyManifest(tracking:trackingDomains:collectedDataTypes:accessedApiTypes:)`\\n\\n```swift\\npublic struct PrivacyManifest: Codable, Equatable, Sendable\\n```\\n\\nDescribe the data your app or third-party SDK collects and the reasons required APIs it uses.\\n\\n## Properties\\n### `tracking`\\n\\n```swift\\npublic var tracking: Bool\\n```\\n\\nA Boolean that indicates whether your app or third-party SDK uses data for tracking as defined under the App\\nTracking Transparency framework. For more information, see [User Privacy and Data\\nUse](https://developer.apple.com/app-store/user-privacy-and-data-use/).\\n\\n### `trackingDomains`\\n\\n```swift\\npublic var trackingDomains: [String]\\n```\\n\\nAn array of strings that lists the internet domains your app or third-party SDK connects to that\\nengage in tracking. If the user has not granted tracking permission through the App Tracking Transparency framework,\\nnetwork requests to these domains fail and your app receives an error. If you set `tracking` to true then you need to\\nprovide at least one internet domain in NSPrivacyTrackingDomains; otherwise, you can provide zero or more domains.\\n\\n### `collectedDataTypes`\\n\\n```swift\\npublic var collectedDataTypes: [[String: Plist.Value]]\\n```\\n\\nAn array of dictionaries that describes the data types your app or third-party SDK collects. For\\ninformation on the keys and values to use in the dictionaries, see [Describing data use in privacy manifests](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests).\\n\\n### `accessedApiTypes`\\n\\n```swift\\npublic var accessedApiTypes: [[String: Plist.Value]]\\n```\\n\\nAn array of dictionaries that describe the API types your app or third-party SDK accesses that have\\nbeen designated as APIs that require reasons to access. For information on the keys and values to use in the dictionaries,\\nsee [Describing use of required reason API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api).\\n\\n## Methods\\n### `privacyManifest(tracking:trackingDomains:collectedDataTypes:accessedApiTypes:)`\\n\\n```swift\\npublic static func privacyManifest(\\n tracking: Bool,\\n trackingDomains: [String],\\n collectedDataTypes: [[String: Plist.Value]],\\n accessedApiTypes: [[String: Plist.Value]]\\n) -> Self\\n```\\n\\nReturns a PrivacyManifest.\\n- Parameter tracking: A Boolean that indicates whether your app or third-party SDK uses data for tracking.\\n- Parameter trackingDomains: An array of strings that lists the internet domains your app or third-party SDK connects to\\nthat engage in tracking.\\n- Parameter collectedDataTypes: An array of dictionaries that describes the data types your app or third-party SDK\\ncollects.\\n- Parameter accessedApiTypes: An array of dictionaries that describe the API types your app or third-party SDK accesses\\nthat have\\nbeen designated as APIs that require reasons to access.\\n- Returns: PrivacyManifest.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tracking | A Boolean that indicates whether your app or third-party SDK uses data for tracking. |\\n| trackingDomains | An array of strings that lists the internet domains your app or third-party SDK connects to that engage in tracking. |\\n| collectedDataTypes | An array of dictionaries that describes the data types your app or third-party SDK collects. |\\n| accessedApiTypes | An array of dictionaries that describe the API types your app or third-party SDK accesses that have been designated as APIs that require reasons to access. |\\n\",\"title\":\"`PrivacyManifest`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/privacymanifest\",\"LLMS_URL\":\"/ja/references/project-description/structs/privacymanifest.md\"}},{\"path\":\"/ja/references/project-description/structs/profileaction.md\",\"url\":\"/ja/references/project-description/structs/profileaction\",\"llmUrl\":\"/ja/references/project-description/structs/profileaction.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/profileaction\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/profileaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ProfileAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `preActions`\\n - `postActions`\\n - `executable`\\n - `arguments`\\n- [Methods](#methods)\\n - `profileAction(configuration:preActions:postActions:executable:arguments:)`\\n\\n```swift\\npublic struct ProfileAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that profiles the built products.\\n\\nIt's initialized with the `.profileAction` static method\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should be profiled with.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the profile process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the profile process.\\n\\n### `executable`\\n\\n```swift\\npublic var executable: TargetReference?\\n```\\n\\nThe name of the executable or target to profile.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n## Methods\\n### `profileAction(configuration:preActions:postActions:executable:arguments:)`\\n\\n```swift\\npublic static func profileAction(\\n configuration: ConfigurationName = .release,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n executable: TargetReference? = nil,\\n arguments: Arguments? = nil\\n) -> ProfileAction\\n```\\n\\nReturns a profile action.\\n- Parameters:\\n - configuration: Indicates the build configuration the product should be profiled with.\\n - preActions: A list of actions that are executed before starting the profile process.\\n - postActions: A list of actions that are executed after the profile process.\\n - executable: The name of the executable or target to profile.\\n - arguments: Command line arguments passed on launch and environment variables.\\n- Returns: Initialized profile action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should be profiled with. |\\n| preActions | A list of actions that are executed before starting the profile process. |\\n| postActions | A list of actions that are executed after the profile process. |\\n| executable | The name of the executable or target to profile. |\\n| arguments | Command line arguments passed on launch and environment variables. |\\n\",\"title\":\"`ProfileAction`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/profileaction\",\"LLMS_URL\":\"/ja/references/project-description/structs/profileaction.md\"}},{\"path\":\"/ja/references/project-description/structs/project.md\",\"url\":\"/ja/references/project-description/structs/project\",\"llmUrl\":\"/ja/references/project-description/structs/project.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/project\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/project.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `organizationName`\\n - `classPrefix`\\n - `options`\\n - `packages`\\n - `targets`\\n - `schemes`\\n - `settings`\\n - `fileHeaderTemplate`\\n - `additionalFiles`\\n - `resourceSynthesizers`\\n - `containsExternalDependencies`\\n- [Methods](#methods)\\n - `init(name:organizationName:classPrefix:options:packages:settings:targets:schemes:fileHeaderTemplate:additionalFiles:resourceSynthesizers:)`\\n\\n```swift\\npublic struct Project: Codable, Equatable, Sendable\\n```\\n\\nA project representation.\\n\\nA project manifest needs to be defined in a `Project.swift` manifest file.\\nManifests need to import the framework ProjectDescription which contains all\\nthe classes and enums that are available for you to describe your projects.\\n\\nThe snippet below shows an example project manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n organizationName: \\\"MyOrg\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"dev.tuist.App\\\",\\n infoPlist: \\\"Config/App-Info.plist\\\",\\n sources: [\\\"Sources/**\\\"],\\n resources: [\\n \\\"Resources/**\\\",\\n .folderReference(path: \\\"Stubs\\\"),\\n .folderReference(path: \\\"ODR\\\", tags: [\\\"odr_tag\\\"])\\n ],\\n headers: .headers(\\n public: [\\\"Sources/public/A/**\\\", \\\"Sources/public/B/**\\\"],\\n private: \\\"Sources/private/**\\\",\\n project: [\\\"Sources/project/A/**\\\", \\\"Sources/project/B/**\\\"]\\n ),\\n dependencies: [\\n .project(target: \\\"Framework1\\\", path: \\\"../Framework1\\\"),\\n .project(target: \\\"Framework2\\\", path: \\\"../Framework2\\\")\\n ]\\n )\\n ],\\n schemes: [\\n Scheme(\\n name: \\\"App-Debug\\\",\\n shared: true,\\n buildAction: .buildAction(targets: [\\\"App\\\"]),\\n testAction: .targets([\\\"AppTests\\\"]),\\n runAction: .runAction(executable: \\\"App\\\")\\n ),\\n Scheme(\\n name: \\\"App-Release\\\",\\n shared: true,\\n buildAction: .buildAction(targets: [\\\"App\\\"]),\\n runAction: .runAction(executable: \\\"App\\\")\\n )\\n ],\\n additionalFiles: [\\n \\\"Dangerfile.swift\\\",\\n \\\"Documentation/**\\\",\\n .folderReference(path: \\\"Website\\\")\\n ]\\n)\\n```\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the project. Also, the file name of the generated Xcode project.\\n\\n### `organizationName`\\n\\n```swift\\npublic let organizationName: String?\\n```\\n\\nThe name of the organization used by Xcode as copyright.\\n\\n### `classPrefix`\\n\\n```swift\\npublic let classPrefix: String?\\n```\\n\\nThe prefix for class files Xcode generates when you create a project or class file.\\n\\n### `options`\\n\\n```swift\\npublic let options: Options\\n```\\n\\nThe project options.\\n\\n### `packages`\\n\\n```swift\\npublic let packages: [Package]\\n```\\n\\nThe Swift Packages used by the project.\\n\\n### `targets`\\n\\n```swift\\npublic let targets: [Target]\\n```\\n\\nThe targets of the project.\\n\\n### `schemes`\\n\\n```swift\\npublic let schemes: [Scheme]\\n```\\n\\nThe custom schemes for the project. Default schemes for each target are generated by default.\\n\\n### `settings`\\n\\n```swift\\npublic let settings: Settings?\\n```\\n\\nThe build settings and configuration for the project.\\n\\n### `fileHeaderTemplate`\\n\\n```swift\\npublic let fileHeaderTemplate: FileHeaderTemplate?\\n```\\n\\nThe custom file header template for Xcode built-in file templates.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic let additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the project. For target's additional files, see ``Target/additionalFiles``.\\n\\n### `resourceSynthesizers`\\n\\n```swift\\npublic let resourceSynthesizers: [ResourceSynthesizer]\\n```\\n\\nThe resource synthesizers for the project to generate accessors for resources.\\n\\n### `containsExternalDependencies`\\n\\n```swift\\npublic var containsExternalDependencies: Bool\\n```\\n\\nThe project contains targets that depend on external dependencies\\n\\n## Methods\\n### `init(name:organizationName:classPrefix:options:packages:settings:targets:schemes:fileHeaderTemplate:additionalFiles:resourceSynthesizers:)`\\n\\n```swift\\npublic init(\\n name: String,\\n organizationName: String? = nil,\\n classPrefix: String? = nil,\\n options: Options = .options(),\\n packages: [Package] = [],\\n settings: Settings? = nil,\\n targets: [Target] = [],\\n schemes: [Scheme] = [],\\n fileHeaderTemplate: FileHeaderTemplate? = nil,\\n additionalFiles: [FileElement] = [],\\n resourceSynthesizers: [ResourceSynthesizer] = .default\\n)\\n```\\n\\n\",\"title\":\"`Project`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/project\",\"LLMS_URL\":\"/ja/references/project-description/structs/project.md\"}},{\"path\":\"/ja/references/project-description/structs/project.options.md\",\"url\":\"/ja/references/project-description/structs/project.options\",\"llmUrl\":\"/ja/references/project-description/structs/project.options.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/project.options\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/project.options.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project.Options`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `automaticSchemesOptions`\\n - `defaultKnownRegions`\\n - `developmentRegion`\\n - `disableBundleAccessors`\\n - `disableShowEnvironmentVarsInScriptPhases`\\n - `disableSynthesizedResourceAccessors`\\n - `textSettings`\\n - `xcodeProjectName`\\n- [Methods](#methods)\\n - `options(automaticSchemesOptions:defaultKnownRegions:developmentRegion:disableBundleAccessors:disableShowEnvironmentVarsInScriptPhases:disableSynthesizedResourceAccessors:textSettings:xcodeProjectName:)`\\n\\n```swift\\npublic struct Options: Codable, Equatable, Sendable\\n```\\n\\nOptions to configure a project.\\n\\n## Properties\\n### `automaticSchemesOptions`\\n\\n```swift\\npublic var automaticSchemesOptions: AutomaticSchemesOptions\\n```\\n\\nConfigures automatic target schemes generation.\\n\\n### `defaultKnownRegions`\\n\\n```swift\\npublic var defaultKnownRegions: [String]?\\n```\\n\\nConfigures the default known regions\\n\\n### `developmentRegion`\\n\\n```swift\\npublic var developmentRegion: String?\\n```\\n\\nConfigures the development region.\\n\\n### `disableBundleAccessors`\\n\\n```swift\\npublic var disableBundleAccessors: Bool\\n```\\n\\nDisables generating Bundle accessors.\\n\\n### `disableShowEnvironmentVarsInScriptPhases`\\n\\n```swift\\npublic var disableShowEnvironmentVarsInScriptPhases: Bool\\n```\\n\\nSuppress logging of environment in Run Script build phases.\\n\\n### `disableSynthesizedResourceAccessors`\\n\\n```swift\\npublic var disableSynthesizedResourceAccessors: Bool\\n```\\n\\nDisable synthesized resource accessors.\\n\\n### `textSettings`\\n\\n```swift\\npublic var textSettings: TextSettings\\n```\\n\\nConfigures text settings.\\n\\n### `xcodeProjectName`\\n\\n```swift\\npublic var xcodeProjectName: String?\\n```\\n\\nConfigures the name of the generated .xcodeproj.\\n\\n## Methods\\n### `options(automaticSchemesOptions:defaultKnownRegions:developmentRegion:disableBundleAccessors:disableShowEnvironmentVarsInScriptPhases:disableSynthesizedResourceAccessors:textSettings:xcodeProjectName:)`\\n\\n```swift\\npublic static func options(\\n automaticSchemesOptions: AutomaticSchemesOptions = .enabled(),\\n defaultKnownRegions: [String]? = nil,\\n developmentRegion: String? = nil,\\n disableBundleAccessors: Bool = false,\\n disableShowEnvironmentVarsInScriptPhases: Bool = false,\\n disableSynthesizedResourceAccessors: Bool = false,\\n textSettings: TextSettings = .textSettings(),\\n xcodeProjectName: String? = nil\\n) -> Self\\n```\\n\\n\",\"title\":\"`Project.Options`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/project.options\",\"LLMS_URL\":\"/ja/references/project-description/structs/project.options.md\"}},{\"path\":\"/ja/references/project-description/structs/project.options.textsettings.md\",\"url\":\"/ja/references/project-description/structs/project.options.textsettings\",\"llmUrl\":\"/ja/references/project-description/structs/project.options.textsettings.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/project.options.textsettings\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/project.options.textsettings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Project.Options.TextSettings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `usesTabs`\\n - `indentWidth`\\n - `tabWidth`\\n - `wrapsLines`\\n- [Methods](#methods)\\n - `textSettings(usesTabs:indentWidth:tabWidth:wrapsLines:)`\\n\\n```swift\\npublic struct TextSettings: Codable, Equatable, Sendable\\n```\\n\\nThe text settings options\\n\\n## Properties\\n### `usesTabs`\\n\\n```swift\\npublic var usesTabs: Bool?\\n```\\n\\nWhether tabs should be used instead of spaces\\n\\n### `indentWidth`\\n\\n```swift\\npublic var indentWidth: UInt?\\n```\\n\\nThe width of space indent\\n\\n### `tabWidth`\\n\\n```swift\\npublic var tabWidth: UInt?\\n```\\n\\nThe width of tab indent\\n\\n### `wrapsLines`\\n\\n```swift\\npublic var wrapsLines: Bool?\\n```\\n\\nWhether lines should be wrapped or not\\n\\n## Methods\\n### `textSettings(usesTabs:indentWidth:tabWidth:wrapsLines:)`\\n\\n```swift\\npublic static func textSettings(\\n usesTabs: Bool? = nil,\\n indentWidth: UInt? = nil,\\n tabWidth: UInt? = nil,\\n wrapsLines: Bool? = nil\\n) -> Self\\n```\\n\\n\",\"title\":\"`Project.Options.TextSettings`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/project.options.textsettings\",\"LLMS_URL\":\"/ja/references/project-description/structs/project.options.textsettings.md\"}},{\"path\":\"/ja/references/project-description/structs/resourcefileelements.md\",\"url\":\"/ja/references/project-description/structs/resourcefileelements\",\"llmUrl\":\"/ja/references/project-description/structs/resourcefileelements.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/resourcefileelements\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/resourcefileelements.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ResourceFileElements`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `resources`\\n - `privacyManifest`\\n- [Methods](#methods)\\n - `resources(_:privacyManifest:)`\\n\\n```swift\\npublic struct ResourceFileElements: Codable, Equatable, Sendable\\n```\\n\\nA collection of resource file.\\n\\n## Properties\\n### `resources`\\n\\n```swift\\npublic var resources: [ResourceFileElement]\\n```\\n\\nList of resource file elements\\n\\n### `privacyManifest`\\n\\n```swift\\npublic var privacyManifest: PrivacyManifest?\\n```\\n\\nDefine your apps privacy manifest\\n\\n## Methods\\n### `resources(_:privacyManifest:)`\\n\\n```swift\\npublic static func resources(_ resources: [ResourceFileElement], privacyManifest: PrivacyManifest? = nil) -> Self\\n```\\n\\n\",\"title\":\"`ResourceFileElements`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/resourcefileelements\",\"LLMS_URL\":\"/ja/references/project-description/structs/resourcefileelements.md\"}},{\"path\":\"/ja/references/project-description/structs/resourcesynthesizer.md\",\"url\":\"/ja/references/project-description/structs/resourcesynthesizer\",\"llmUrl\":\"/ja/references/project-description/structs/resourcesynthesizer.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/resourcesynthesizer\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/resourcesynthesizer.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `ResourceSynthesizer`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `templateType`\\n - `parser`\\n - `parserOptions`\\n - `extensions`\\n- [Methods](#methods)\\n - `strings(parserOptions:)`\\n - `strings(plugin:parserOptions:)`\\n - `assets(parserOptions:)`\\n - `assets(plugin:parserOptions:)`\\n - `fonts(parserOptions:)`\\n - `fonts(plugin:parserOptions:)`\\n - `plists(parserOptions:)`\\n - `plists(plugin:parserOptions:)`\\n - `coreData(plugin:parserOptions:)`\\n - `coreData(parserOptions:)`\\n - `interfaceBuilder(plugin:parserOptions:)`\\n - `interfaceBuilder(parserOptions:)`\\n - `json(plugin:parserOptions:)`\\n - `json(parserOptions:)`\\n - `yaml(plugin:parserOptions:)`\\n - `yaml(parserOptions:)`\\n - `files(plugin:parserOptions:extensions:)`\\n - `files(parserOptions:extensions:)`\\n - `custom(plugin:parser:parserOptions:extensions:resourceName:)`\\n - `custom(name:parser:parserOptions:extensions:)`\\n\\n```swift\\npublic struct ResourceSynthesizer: Codable, Equatable, Sendable\\n```\\n\\nA resource synthesizer for given file extensions.\\n\\nFor example to synthesize resource accessors for strings, you can use:\\n- `.strings()` for tuist's default\\n- `.strings(parserOptions: [\\\"separator\\\": \\\"/\\\"])` to use strings template with SwiftGen Parser Options\\n- `.strings(plugin: \\\"MyPlugin\\\")` to use strings template from a plugin\\n- `.strings(templatePath: \\\"Templates/Strings.stencil\\\")` to use strings template at a given path\\n\\n## Properties\\n### `templateType`\\n\\n```swift\\npublic var templateType: TemplateType\\n```\\n\\nTemplates can be of multiple types\\n\\n### `parser`\\n\\n```swift\\npublic var parser: Parser\\n```\\n\\n### `parserOptions`\\n\\n```swift\\npublic var parserOptions: [String: Parser.Option]\\n```\\n\\n### `extensions`\\n\\n```swift\\npublic var extensions: Set\\n```\\n\\n## Methods\\n### `strings(parserOptions:)`\\n\\n```swift\\npublic static func strings(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault strings synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `strings(plugin:parserOptions:)`\\n\\n```swift\\npublic static func strings(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nStrings synthesizer defined in a plugin\\n\\n### `assets(parserOptions:)`\\n\\n```swift\\npublic static func assets(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault assets synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `assets(plugin:parserOptions:)`\\n\\n```swift\\npublic static func assets(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nAssets synthesizer defined in a plugin\\n\\n### `fonts(parserOptions:)`\\n\\n```swift\\npublic static func fonts(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault fonts synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `fonts(plugin:parserOptions:)`\\n\\n```swift\\npublic static func fonts(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nFonts synthesizer defined in a plugin\\n\\n### `plists(parserOptions:)`\\n\\n```swift\\npublic static func plists(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault plists synthesizer defined in `Tuist/{ProjectName}` or tuist itself\\n\\n### `plists(plugin:parserOptions:)`\\n\\n```swift\\npublic static func plists(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nPlists synthesizer defined in a plugin\\n\\n### `coreData(plugin:parserOptions:)`\\n\\n```swift\\npublic static func coreData(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nCoreData synthesizer defined in a plugin\\n\\n### `coreData(parserOptions:)`\\n\\n```swift\\npublic static func coreData(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nDefault CoreData synthesizer defined in `Tuist/{ProjectName}`\\n\\n### `interfaceBuilder(plugin:parserOptions:)`\\n\\n```swift\\npublic static func interfaceBuilder(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:]\\n) -> Self\\n```\\n\\nInterfaceBuilder synthesizer defined in a plugin\\n\\n### `interfaceBuilder(parserOptions:)`\\n\\n```swift\\npublic static func interfaceBuilder(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nInterfaceBuilder synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `json(plugin:parserOptions:)`\\n\\n```swift\\npublic static func json(plugin: String, parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nJSON synthesizer defined in a plugin\\n\\n### `json(parserOptions:)`\\n\\n```swift\\npublic static func json(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nJSON synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `yaml(plugin:parserOptions:)`\\n\\n```swift\\npublic static func yaml(plugin: String, parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nYAML synthesizer defined in a plugin\\n\\n### `yaml(parserOptions:)`\\n\\n```swift\\npublic static func yaml(parserOptions: [String: Parser.Option] = [:]) -> Self\\n```\\n\\nCoreData synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `files(plugin:parserOptions:extensions:)`\\n\\n```swift\\npublic static func files(\\n plugin: String,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nFiles synthesizer defined in a plugin\\n\\n### `files(parserOptions:extensions:)`\\n\\n```swift\\npublic static func files(\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nFiles synthesizer with a template defined in `Tuist/{ProjectName}`\\n\\n### `custom(plugin:parser:parserOptions:extensions:resourceName:)`\\n\\n```swift\\npublic static func custom(\\n plugin: String,\\n parser: Parser,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set,\\n resourceName: String\\n) -> Self\\n```\\n\\nCustom synthesizer from a plugin\\n- Parameters:\\n - plugin: Name of a plugin where resource synthesizer template is located\\n - parser: `Parser` to use for parsing the file to obtain its data\\n - extensions: Set of extensions that should be parsed\\n - resourceName: Name of the template file and the resulting `.swift` file\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| plugin | Name of a plugin where resource synthesizer template is located |\\n| parser | `Parser` to use for parsing the file to obtain its data |\\n| extensions | Set of extensions that should be parsed |\\n| resourceName | Name of the template file and the resulting `.swift` file |\\n\\n### `custom(name:parser:parserOptions:extensions:)`\\n\\n```swift\\npublic static func custom(\\n name: String,\\n parser: Parser,\\n parserOptions: [String: Parser.Option] = [:],\\n extensions: Set\\n) -> Self\\n```\\n\\nCustom local synthesizer defined `Tuist/ResourceSynthesizers/{name}.stencil`\\n- Parameters:\\n - name: Name of synthesizer\\n - parser: `Parser` to use for parsing the file to obtain its data\\n - extensions: Set of extensions that should be parsed\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of synthesizer |\\n| parser | `Parser` to use for parsing the file to obtain its data |\\n| extensions | Set of extensions that should be parsed |\\n\",\"title\":\"`ResourceSynthesizer`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/resourcesynthesizer\",\"LLMS_URL\":\"/ja/references/project-description/structs/resourcesynthesizer.md\"}},{\"path\":\"/ja/references/project-description/structs/runaction.md\",\"url\":\"/ja/references/project-description/structs/runaction\",\"llmUrl\":\"/ja/references/project-description/structs/runaction.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/runaction\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/runaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `RunAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `configuration`\\n - `attachDebugger`\\n - `customLLDBInitFile`\\n - `preActions`\\n - `postActions`\\n - `executable`\\n - `arguments`\\n - `options`\\n - `diagnosticsOptions`\\n - `metalOptions`\\n - `expandVariableFromTarget`\\n - `launchStyle`\\n - `appClipInvocationURLString`\\n- [Methods](#methods)\\n - `runAction(configuration:attachDebugger:customLLDBInitFile:preActions:postActions:executable:arguments:options:diagnosticsOptions:metalOptions:expandVariableFromTarget:launchStyle:appClipInvocationURLString:)`\\n\\n```swift\\npublic struct RunAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that runs the built products.\\n\\nIt's initialized with the .runAction static method.\\n\\n## Properties\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nIndicates the build configuration the product should run with.\\n\\n### `attachDebugger`\\n\\n```swift\\npublic var attachDebugger: Bool\\n```\\n\\nWhether a debugger should be attached to the run process or not.\\n\\n### `customLLDBInitFile`\\n\\n```swift\\npublic var customLLDBInitFile: Path?\\n```\\n\\nThe path of custom lldbinit file.\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the run process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the run process.\\n\\n### `executable`\\n\\n```swift\\npublic var executable: TargetReference?\\n```\\n\\nThe name of the executable or target to run.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n### `options`\\n\\n```swift\\npublic var options: RunActionOptions\\n```\\n\\nList of options to set to the action.\\n\\n### `diagnosticsOptions`\\n\\n```swift\\npublic var diagnosticsOptions: SchemeDiagnosticsOptions\\n```\\n\\nList of diagnostics options to set to the action.\\n\\n### `metalOptions`\\n\\n```swift\\npublic var metalOptions: MetalOptions\\n```\\n\\nList of metal options to set to the action\\n\\n### `expandVariableFromTarget`\\n\\n```swift\\npublic var expandVariableFromTarget: TargetReference?\\n```\\n\\nA target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT)\\n\\n### `launchStyle`\\n\\n```swift\\npublic var launchStyle: LaunchStyle\\n```\\n\\nThe launch style of the action\\n\\n### `appClipInvocationURLString`\\n\\n```swift\\npublic var appClipInvocationURLString: String?\\n```\\n\\nThe URL string used to invoke the app clip, if available.\\n\\n## Methods\\n### `runAction(configuration:attachDebugger:customLLDBInitFile:preActions:postActions:executable:arguments:options:diagnosticsOptions:metalOptions:expandVariableFromTarget:launchStyle:appClipInvocationURLString:)`\\n\\n```swift\\npublic static func runAction(\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n customLLDBInitFile: Path? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n executable: TargetReference? = nil,\\n arguments: Arguments? = nil,\\n options: RunActionOptions = .options(),\\n diagnosticsOptions: SchemeDiagnosticsOptions = .options(),\\n metalOptions: MetalOptions = .options(),\\n expandVariableFromTarget: TargetReference? = nil,\\n launchStyle: LaunchStyle = .automatically,\\n appClipInvocationURLString: String? = nil\\n) -> RunAction\\n```\\n\\nReturns a run action.\\n- Parameters:\\n - configuration: Indicates the build configuration the product should run with.\\n - attachDebugger: Whether a debugger should be attached to the run process or not.\\n - preActions: A list of actions that are executed before starting the run process.\\n - postActions: A list of actions that are executed after the run process.\\n - executable: The name of the executable or target to run.\\n - arguments: Command line arguments passed on launch and environment variables.\\n - options: List of options to set to the action.\\n - diagnosticsOptions: List of diagnostics options to set to the action.\\n - metalOptions: List of metal options to set to the action.\\n - expandVariableFromTarget: A target that will be used to expand the variables defined inside Environment Variables\\ndefinition (e.g. $SOURCE_ROOT). When nil, it does not expand any variables.\\n - appClipInvocationURLString: The URL string used to invoke the app clip, if available.\\n - launchStyle: The launch style of the action\\n- Returns: Run action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| configuration | Indicates the build configuration the product should run with. |\\n| attachDebugger | Whether a debugger should be attached to the run process or not. |\\n| preActions | A list of actions that are executed before starting the run process. |\\n| postActions | A list of actions that are executed after the run process. |\\n| executable | The name of the executable or target to run. |\\n| arguments | Command line arguments passed on launch and environment variables. |\\n| options | List of options to set to the action. |\\n| diagnosticsOptions | List of diagnostics options to set to the action. |\\n| metalOptions | List of metal options to set to the action. |\\n| expandVariableFromTarget | A target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT). When nil, it does not expand any variables. |\\n| appClipInvocationURLString | The URL string used to invoke the app clip, if available. |\\n| launchStyle | The launch style of the action |\\n\",\"title\":\"`RunAction`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/runaction\",\"LLMS_URL\":\"/ja/references/project-description/structs/runaction.md\"}},{\"path\":\"/ja/references/project-description/structs/runactionoptions.md\",\"url\":\"/ja/references/project-description/structs/runactionoptions\",\"llmUrl\":\"/ja/references/project-description/structs/runactionoptions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/runactionoptions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/runactionoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `RunActionOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `language`\\n - `region`\\n - `storeKitConfigurationPath`\\n - `simulatedLocation`\\n - `enableGPUFrameCaptureMode`\\n- [Methods](#methods)\\n - `options(language:region:storeKitConfigurationPath:simulatedLocation:enableGPUFrameCaptureMode:)`\\n\\n```swift\\npublic struct RunActionOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions for the `RunAction` action\\n\\n## Properties\\n### `language`\\n\\n```swift\\npublic var language: SchemeLanguage?\\n```\\n\\nLanguage to use when running the app.\\n\\n### `region`\\n\\n```swift\\npublic var region: String?\\n```\\n\\nRegion to use when running the app.\\n\\n### `storeKitConfigurationPath`\\n\\n```swift\\npublic var storeKitConfigurationPath: Path?\\n```\\n\\nThe path of the\\n[StoreKit configuration\\nfile](https://developer.apple.com/documentation/xcode/setting_up_storekit_testing_in_xcode#3625700).\\n\\n### `simulatedLocation`\\n\\n```swift\\npublic var simulatedLocation: ProjectDescription.SimulatedLocation?\\n```\\n\\nA simulated GPS location to use when running the app.\\n\\n### `enableGPUFrameCaptureMode`\\n\\n```swift\\npublic var enableGPUFrameCaptureMode: GPUFrameCaptureMode\\n```\\n\\nConfigure your project to work with the Metal frame debugger.\\n\\n## Methods\\n### `options(language:region:storeKitConfigurationPath:simulatedLocation:enableGPUFrameCaptureMode:)`\\n\\n```swift\\npublic static func options(\\n language: SchemeLanguage? = nil,\\n region: String? = nil,\\n storeKitConfigurationPath: Path? = nil,\\n simulatedLocation: ProjectDescription.SimulatedLocation? = nil,\\n enableGPUFrameCaptureMode: GPUFrameCaptureMode = GPUFrameCaptureMode.default\\n) -> Self\\n```\\n\\nCreates an `RunActionOptions` instance\\n\\n- Parameters:\\n - language: language (e.g. \\\"en\\\").\\n\\n - region: region (e.g. \\\"US\\\").\\n\\n - storeKitConfigurationPath: The path of the\\n [StoreKit configuration\\nfile](https://developer.apple.com/documentation/xcode/setting_up_storekit_testing_in_xcode#3625700).\\n Please note that this file is automatically added to the Project/Workspace. You should not add it manually.\\n The default value is `nil`, which results in no configuration defined for the scheme\\n\\n - simulatedLocation: The simulated GPS location to use when running the app.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project's resources.\\n\\n - enableGPUFrameCaptureMode: The Metal Frame Capture mode to use. e.g: .disabled\\n If your target links to the Metal framework, Xcode enables GPU Frame Capture.\\n You can disable it to test your app in best performance.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| language | language (e.g. “en”). |\\n| region | region (e.g. “US”). |\\n| storeKitConfigurationPath | The path of the . Please note that this file is automatically added to the Project/Workspace. You should not add it manually. The default value is `nil`, which results in no configuration defined for the scheme |\\n| simulatedLocation | The simulated GPS location to use when running the app. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n| enableGPUFrameCaptureMode | The Metal Frame Capture mode to use. e.g: .disabled If your target links to the Metal framework, Xcode enables GPU Frame Capture. You can disable it to test your app in best performance. |\\n\",\"title\":\"`RunActionOptions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/runactionoptions\",\"LLMS_URL\":\"/ja/references/project-description/structs/runactionoptions.md\"}},{\"path\":\"/ja/references/project-description/structs/scheme.md\",\"url\":\"/ja/references/project-description/structs/scheme\",\"llmUrl\":\"/ja/references/project-description/structs/scheme.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/scheme\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/scheme.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Scheme`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `shared`\\n - `hidden`\\n - `buildAction`\\n - `testAction`\\n - `runAction`\\n - `archiveAction`\\n - `profileAction`\\n - `analyzeAction`\\n- [Methods](#methods)\\n - `scheme(name:shared:hidden:buildAction:testAction:runAction:archiveAction:profileAction:analyzeAction:)`\\n\\n```swift\\npublic struct Scheme: Equatable, Codable, Sendable\\n```\\n\\nA custom scheme for a project.\\n\\nA scheme defines a collection of targets to Build, Run, Test, Profile, Analyze and Archive.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nThe name of the scheme.\\n\\n### `shared`\\n\\n```swift\\npublic var shared: Bool\\n```\\n\\nMarks the scheme as shared (i.e. one that is checked in to the repository and is visible to xcodebuild from the command\\nline).\\n\\n### `hidden`\\n\\n```swift\\npublic var hidden: Bool\\n```\\n\\nWhen `true` the scheme doesn't show up in the dropdown scheme's list.\\n\\n### `buildAction`\\n\\n```swift\\npublic var buildAction: BuildAction?\\n```\\n\\nAction that builds the project targets.\\n\\n### `testAction`\\n\\n```swift\\npublic var testAction: TestAction?\\n```\\n\\nAction that runs the project tests.\\n\\n### `runAction`\\n\\n```swift\\npublic var runAction: RunAction?\\n```\\n\\nAction that runs project built products.\\n\\n### `archiveAction`\\n\\n```swift\\npublic var archiveAction: ArchiveAction?\\n```\\n\\nAction that runs the project archive.\\n\\n### `profileAction`\\n\\n```swift\\npublic var profileAction: ProfileAction?\\n```\\n\\nAction that profiles the project.\\n\\n### `analyzeAction`\\n\\n```swift\\npublic var analyzeAction: AnalyzeAction?\\n```\\n\\nAction that analyze the project.\\n\\n## Methods\\n### `scheme(name:shared:hidden:buildAction:testAction:runAction:archiveAction:profileAction:analyzeAction:)`\\n\\n```swift\\npublic static func scheme(\\n name: String,\\n shared: Bool = true,\\n hidden: Bool = false,\\n buildAction: BuildAction? = nil,\\n testAction: TestAction? = nil,\\n runAction: RunAction? = nil,\\n archiveAction: ArchiveAction? = nil,\\n profileAction: ProfileAction? = nil,\\n analyzeAction: AnalyzeAction? = nil\\n) -> Self\\n```\\n\\nCreates a new instance of a scheme.\\n- Parameters:\\n - name: Name of the scheme.\\n - shared: Whether the scheme is shared.\\n - hidden: When true, the scheme is hidden in the list of schemes from Xcode's dropdown.\\n - buildAction: Action that builds the project targets.\\n - testAction: Action that runs the project tests.\\n - runAction: Action that runs project built products.\\n - archiveAction: Action that runs the project archive.\\n - profileAction: Action that profiles the project.\\n - analyzeAction: Action that analyze the project.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the scheme. |\\n| shared | Whether the scheme is shared. |\\n| hidden | When true, the scheme is hidden in the list of schemes from Xcode’s dropdown. |\\n| buildAction | Action that builds the project targets. |\\n| testAction | Action that runs the project tests. |\\n| runAction | Action that runs project built products. |\\n| archiveAction | Action that runs the project archive. |\\n| profileAction | Action that profiles the project. |\\n| analyzeAction | Action that analyze the project. |\\n\",\"title\":\"`Scheme`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/scheme\",\"LLMS_URL\":\"/ja/references/project-description/structs/scheme.md\"}},{\"path\":\"/ja/references/project-description/structs/schemediagnosticsoptions.md\",\"url\":\"/ja/references/project-description/structs/schemediagnosticsoptions\",\"llmUrl\":\"/ja/references/project-description/structs/schemediagnosticsoptions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/schemediagnosticsoptions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/schemediagnosticsoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SchemeDiagnosticsOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `addressSanitizerEnabled`\\n - `detectStackUseAfterReturnEnabled`\\n - `threadSanitizerEnabled`\\n - `mainThreadCheckerEnabled`\\n - `performanceAntipatternCheckerEnabled`\\n- [Methods](#methods)\\n - `options(addressSanitizerEnabled:detectStackUseAfterReturnEnabled:threadSanitizerEnabled:mainThreadCheckerEnabled:performanceAntipatternCheckerEnabled:)`\\n\\n```swift\\npublic struct SchemeDiagnosticsOptions: Equatable, Codable, Sendable\\n```\\n\\nOptions to configure scheme diagnostics for run and test actions.\\n\\n## Properties\\n### `addressSanitizerEnabled`\\n\\n```swift\\npublic var addressSanitizerEnabled: Bool\\n```\\n\\nEnable the address sanitizer\\n\\n### `detectStackUseAfterReturnEnabled`\\n\\n```swift\\npublic var detectStackUseAfterReturnEnabled: Bool\\n```\\n\\nEnable the detect use of stack after return of address sanitizer\\n\\n### `threadSanitizerEnabled`\\n\\n```swift\\npublic var threadSanitizerEnabled: Bool\\n```\\n\\nEnable the thread sanitizer\\n\\n### `mainThreadCheckerEnabled`\\n\\n```swift\\npublic var mainThreadCheckerEnabled: Bool\\n```\\n\\nEnable the main thread cheker\\n\\n### `performanceAntipatternCheckerEnabled`\\n\\n```swift\\npublic var performanceAntipatternCheckerEnabled: Bool\\n```\\n\\nEnable thread performance checker\\n\\n## Methods\\n### `options(addressSanitizerEnabled:detectStackUseAfterReturnEnabled:threadSanitizerEnabled:mainThreadCheckerEnabled:performanceAntipatternCheckerEnabled:)`\\n\\n```swift\\npublic static func options(\\n addressSanitizerEnabled: Bool = false,\\n detectStackUseAfterReturnEnabled: Bool = false,\\n threadSanitizerEnabled: Bool = false,\\n mainThreadCheckerEnabled: Bool = true,\\n performanceAntipatternCheckerEnabled: Bool = true\\n) -> SchemeDiagnosticsOptions\\n```\\n\\n\",\"title\":\"`SchemeDiagnosticsOptions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/schemediagnosticsoptions\",\"LLMS_URL\":\"/ja/references/project-description/structs/schemediagnosticsoptions.md\"}},{\"path\":\"/ja/references/project-description/structs/schemelanguage.md\",\"url\":\"/ja/references/project-description/structs/schemelanguage\",\"llmUrl\":\"/ja/references/project-description/structs/schemelanguage.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/schemelanguage\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/schemelanguage.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SchemeLanguage`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `identifier`\\n- [Methods](#methods)\\n - `init(identifier:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct SchemeLanguage: Codable, Equatable, ExpressibleByStringLiteral, Sendable\\n```\\n\\nA language to use for run and test actions.\\n\\n## Properties\\n### `identifier`\\n\\n```swift\\npublic let identifier: String\\n```\\n\\n## Methods\\n### `init(identifier:)`\\n\\n```swift\\npublic init(identifier: String)\\n```\\n\\nCreates a new scheme language.\\n- Parameter identifier: A valid language code or a pre-defined pseudo language.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| identifier | A valid language code or a pre-defined pseudo language. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral: String)\\n```\\n\\nCreates a new scheme language.\\n- Parameter stringLiteral: A valid language code or a pre-defined pseudo language.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| stringLiteral | A valid language code or a pre-defined pseudo language. |\\n\",\"title\":\"`SchemeLanguage`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/schemelanguage\",\"LLMS_URL\":\"/ja/references/project-description/structs/schemelanguage.md\"}},{\"path\":\"/ja/references/project-description/structs/settings.md\",\"url\":\"/ja/references/project-description/structs/settings\",\"llmUrl\":\"/ja/references/project-description/structs/settings.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/settings\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/settings.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Settings`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `base`\\n - `configurations`\\n - `defaultSettings`\\n - `defaultConfiguration`\\n- [Methods](#methods)\\n - `settings(base:debug:release:defaultSettings:defaultConfiguration:)`\\n - `settings(base:configurations:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic struct Settings: Equatable, Codable, Sendable\\n```\\n\\nA group of settings configuration.\\n\\n## Properties\\n### `base`\\n\\n```swift\\npublic var base: SettingsDictionary\\n```\\n\\nA dictionary with build settings that are inherited from all the configurations.\\n\\n### `configurations`\\n\\n```swift\\npublic var configurations: [Configuration]\\n```\\n\\n### `defaultSettings`\\n\\n```swift\\npublic var defaultSettings: DefaultSettings\\n```\\n\\n### `defaultConfiguration`\\n\\n```swift\\npublic var defaultConfiguration: String?\\n```\\n\\n## Methods\\n### `settings(base:debug:release:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic static func settings(\\n base: SettingsDictionary = [:],\\n debug: SettingsDictionary = [:],\\n release: SettingsDictionary = [:],\\n defaultSettings: DefaultSettings = .recommended,\\n defaultConfiguration: String? = nil\\n) -> Settings\\n```\\n\\nCreates settings with default.configurations `Debug` and `Release`\\n\\n- Parameters:\\n - base: A dictionary with build settings that are inherited from all the configurations.\\n - debug: The debug configuration settings.\\n - release: The release configuration settings.\\n - defaultSettings: An enum specifying the set of default settings.\\n - defaultConfiguration: The default configuration to be used when building the project from command-line.\\n\\n- Note: To specify custom configurations (e.g. `Debug`, `Beta` & `Release`) or to specify xcconfigs, you can use the\\nalternate static method\\n `.settings(base:configurations:defaultSettings:)`\\n\\n- seealso: Configuration\\n- seealso: DefaultSettings\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| base | A dictionary with build settings that are inherited from all the configurations. |\\n| debug | The debug configuration settings. |\\n| release | The release configuration settings. |\\n| defaultSettings | An enum specifying the set of default settings. |\\n| defaultConfiguration | The default configuration to be used when building the project from command-line. |\\n\\n### `settings(base:configurations:defaultSettings:defaultConfiguration:)`\\n\\n```swift\\npublic static func settings(\\n base: SettingsDictionary = [:],\\n configurations: [Configuration],\\n defaultSettings: DefaultSettings = .recommended,\\n defaultConfiguration: String? = nil\\n) -> Settings\\n```\\n\\nCreates settings with any number of configurations.\\n\\n- Parameters:\\n - base: A dictionary with build settings that are inherited from all the configurations.\\n - configurations: A list of configurations.\\n - defaultSettings: An enum specifying the set of default settings.\\n - defaultConfiguration: The default configuration to be used when building the project from command-line.\\n\\n- Note: Configurations shouldn't be empty, please use the alternate static method\\n `.settings(base:debug:release:defaultSettings:)` to leverage the default configurations\\n if you don't have any custom configurations.\\n\\n- seealso: Configuration\\n- seealso: DefaultSettings\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| base | A dictionary with build settings that are inherited from all the configurations. |\\n| configurations | A list of configurations. |\\n| defaultSettings | An enum specifying the set of default settings. |\\n| defaultConfiguration | The default configuration to be used when building the project from command-line. |\\n\",\"title\":\"`Settings`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/settings\",\"LLMS_URL\":\"/ja/references/project-description/structs/settings.md\"}},{\"path\":\"/ja/references/project-description/structs/simulatedlocation.md\",\"url\":\"/ja/references/project-description/structs/simulatedlocation\",\"llmUrl\":\"/ja/references/project-description/structs/simulatedlocation.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/simulatedlocation\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/simulatedlocation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SimulatedLocation`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `identifier`\\n - `gpxFile`\\n - `london`\\n - `johannesburg`\\n - `moscow`\\n - `mumbai`\\n - `tokyo`\\n - `sydney`\\n - `hongKong`\\n - `honolulu`\\n - `sanFrancisco`\\n - `mexicoCity`\\n - `newYork`\\n - `rioDeJaneiro`\\n- [Methods](#methods)\\n - `custom(gpxFile:)`\\n\\n```swift\\npublic struct SimulatedLocation: Codable, Equatable, Sendable\\n```\\n\\nSimulated location represents a GPS location that is used when running an app on the simulator.\\n\\n## Properties\\n### `identifier`\\n\\n```swift\\npublic var identifier: String?\\n```\\n\\nThe identifier of the location (e.g. London, England)\\n\\n### `gpxFile`\\n\\n```swift\\npublic var gpxFile: Path?\\n```\\n\\nPath to a .gpx file that indicates the location\\n\\n### `london`\\n\\n```swift\\npublic static var london: SimulatedLocation\\n```\\n\\n### `johannesburg`\\n\\n```swift\\npublic static var johannesburg: SimulatedLocation\\n```\\n\\n### `moscow`\\n\\n```swift\\npublic static var moscow: SimulatedLocation\\n```\\n\\n### `mumbai`\\n\\n```swift\\npublic static var mumbai: SimulatedLocation\\n```\\n\\n### `tokyo`\\n\\n```swift\\npublic static var tokyo: SimulatedLocation\\n```\\n\\n### `sydney`\\n\\n```swift\\npublic static var sydney: SimulatedLocation\\n```\\n\\n### `hongKong`\\n\\n```swift\\npublic static var hongKong: SimulatedLocation\\n```\\n\\n### `honolulu`\\n\\n```swift\\npublic static var honolulu: SimulatedLocation\\n```\\n\\n### `sanFrancisco`\\n\\n```swift\\npublic static var sanFrancisco: SimulatedLocation\\n```\\n\\n### `mexicoCity`\\n\\n```swift\\npublic static var mexicoCity: SimulatedLocation\\n```\\n\\n### `newYork`\\n\\n```swift\\npublic static var newYork: SimulatedLocation\\n```\\n\\n### `rioDeJaneiro`\\n\\n```swift\\npublic static var rioDeJaneiro: SimulatedLocation\\n```\\n\\n## Methods\\n### `custom(gpxFile:)`\\n\\n```swift\\npublic static func custom(gpxFile: Path) -> SimulatedLocation\\n```\\n\\n\",\"title\":\"`SimulatedLocation`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/simulatedlocation\",\"LLMS_URL\":\"/ja/references/project-description/structs/simulatedlocation.md\"}},{\"path\":\"/ja/references/project-description/structs/sourcefileglob.md\",\"url\":\"/ja/references/project-description/structs/sourcefileglob\",\"llmUrl\":\"/ja/references/project-description/structs/sourcefileglob.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/sourcefileglob\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/sourcefileglob.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SourceFileGlob`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `glob`\\n - `excluding`\\n - `compilerFlags`\\n - `codeGen`\\n - `compilationCondition`\\n - `type`\\n- [Methods](#methods)\\n - `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n - `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n - `generated(_:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic struct SourceFileGlob: Codable, Equatable, Sendable\\n```\\n\\nA glob pattern configuration representing source files and its compiler flags, if any.\\n\\n## Properties\\n### `glob`\\n\\n```swift\\npublic var glob: Path\\n```\\n\\nGlob pattern to the source files.\\n\\n### `excluding`\\n\\n```swift\\npublic var excluding: [Path]\\n```\\n\\nGlob patterns for source files that will be excluded.\\n\\n### `compilerFlags`\\n\\n```swift\\npublic var compilerFlags: String?\\n```\\n\\nThe compiler flags to be set to the source files in the sources build phase.\\n\\n### `codeGen`\\n\\n```swift\\npublic var codeGen: FileCodeGen?\\n```\\n\\nThe source file attribute to be set in the build phase.\\n\\n### `compilationCondition`\\n\\n```swift\\npublic var compilationCondition: PlatformCondition?\\n```\\n\\nSource file condition for compilation\\n\\n### `type`\\n\\n```swift\\npublic var type: FileType\\n```\\n\\nType of the file.\\n\\n## Methods\\n### `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: [Path] = [],\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\nReturns a source glob pattern configuration.\\nUsed for file there were already present during the generation.\\n\\n- Parameters:\\n - glob: Glob pattern to the source files.\\n - excluding: Glob patterns for source files that will be excluded.\\n - compilerFlags: The compiler flags to be set to the source files in the sources build phase.\\n - codeGen: The source file attribute to be set in the build phase.\\n - compilationCondition: Condition for file compilation.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| glob | Glob pattern to the source files. |\\n| excluding | Glob patterns for source files that will be excluded. |\\n| compilerFlags | The compiler flags to be set to the source files in the sources build phase. |\\n| codeGen | The source file attribute to be set in the build phase. |\\n| compilationCondition | Condition for file compilation. |\\n\\n### `glob(_:excluding:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func glob(\\n _ glob: Path,\\n excluding: Path?,\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\n### `generated(_:compilerFlags:codeGen:compilationCondition:)`\\n\\n```swift\\npublic static func generated(\\n _ path: Path,\\n compilerFlags: String? = nil,\\n codeGen: FileCodeGen? = nil,\\n compilationCondition: PlatformCondition? = nil\\n) -> Self\\n```\\n\\nReturns a source generated source file configuration, for a single generated file.\\n\\n- Parameters:\\n - path: Path to the generated file. Assumed to be a specific path (as oppose to a glob pattern).\\n - compilerFlags: The compiler flags to be set to the source files in the sources build phase.\\n - codeGen: The source file attribute to be set in the build phase.\\n - compilationCondition: Condition for file compilation.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the generated file. Assumed to be a specific path (as oppose to a glob pattern). |\\n| compilerFlags | The compiler flags to be set to the source files in the sources build phase. |\\n| codeGen | The source file attribute to be set in the build phase. |\\n| compilationCondition | Condition for file compilation. |\\n\",\"title\":\"`SourceFileGlob`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/sourcefileglob\",\"LLMS_URL\":\"/ja/references/project-description/structs/sourcefileglob.md\"}},{\"path\":\"/ja/references/project-description/structs/sourcefileslist.md\",\"url\":\"/ja/references/project-description/structs/sourcefileslist\",\"llmUrl\":\"/ja/references/project-description/structs/sourcefileslist.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/sourcefileslist\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/sourcefileslist.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `SourceFilesList`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `globs`\\n- [Methods](#methods)\\n - `sourceFilesList(globs:)`\\n - `sourceFilesList(globs:)`\\n - `paths(_:)`\\n\\n```swift\\npublic struct SourceFilesList: Codable, Equatable, Sendable\\n```\\n\\nA collection of source file globs.\\n\\n## Properties\\n### `globs`\\n\\n```swift\\npublic var globs: [SourceFileGlob]\\n```\\n\\nList glob patterns.\\n\\n## Methods\\n### `sourceFilesList(globs:)`\\n\\n```swift\\npublic static func sourceFilesList(globs: [SourceFileGlob]) -> Self\\n```\\n\\nCreates the source files list with the glob patterns.\\n\\n- Parameter globs: Glob patterns.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| globs | Glob patterns. |\\n\\n### `sourceFilesList(globs:)`\\n\\n```swift\\npublic static func sourceFilesList(globs: [String]) -> Self\\n```\\n\\nCreates the source files list with the glob patterns as strings.\\n\\n- Parameter globs: Glob patterns.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| globs | Glob patterns. |\\n\\n### `paths(_:)`\\n\\n```swift\\npublic static func paths(_ paths: [Path]) -> SourceFilesList\\n```\\n\\nReturns a sources list from a list of paths.\\n- Parameter paths: Source paths.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| paths | Source paths. |\\n\",\"title\":\"`SourceFilesList`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/sourcefileslist\",\"LLMS_URL\":\"/ja/references/project-description/structs/sourcefileslist.md\"}},{\"path\":\"/ja/references/project-description/structs/target.md\",\"url\":\"/ja/references/project-description/structs/target\",\"llmUrl\":\"/ja/references/project-description/structs/target.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/target\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/target.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Target`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `destinations`\\n - `product`\\n - `productName`\\n - `bundleId`\\n - `deploymentTargets`\\n - `infoPlist`\\n - `sources`\\n - `resources`\\n - `copyFiles`\\n - `headers`\\n - `entitlements`\\n - `scripts`\\n - `dependencies`\\n - `settings`\\n - `coreDataModels`\\n - `environmentVariables`\\n - `launchArguments`\\n - `additionalFiles`\\n - `buildRules`\\n - `mergedBinaryType`\\n - `mergeable`\\n - `onDemandResourcesTags`\\n - `metadata`\\n- [Methods](#methods)\\n - `target(name:destinations:product:productName:bundleId:deploymentTargets:infoPlist:sources:resources:copyFiles:headers:entitlements:scripts:dependencies:settings:coreDataModels:environmentVariables:launchArguments:additionalFiles:buildRules:mergedBinaryType:mergeable:onDemandResourcesTags:metadata:)`\\n\\n```swift\\npublic struct Target: Codable, Equatable, Sendable\\n```\\n\\nA target of a project.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nThe name of the target. Also, the product name if not specified with ``productName``.\\n\\n### `destinations`\\n\\n```swift\\npublic var destinations: Destinations\\n```\\n\\nThe destinations this target supports, e.g. iPhone, appleVision, macCatalyst\\n\\n### `product`\\n\\n```swift\\npublic var product: Product\\n```\\n\\nThe type of build product this target will output.\\n\\n### `productName`\\n\\n```swift\\npublic var productName: String?\\n```\\n\\nThe built product name. If nil, it will be equal to ``name``.\\n\\n### `bundleId`\\n\\n```swift\\npublic var bundleId: String\\n```\\n\\nThe product bundle identifier.\\n\\n### `deploymentTargets`\\n\\n```swift\\npublic var deploymentTargets: DeploymentTargets?\\n```\\n\\nThe minimum deployment targets your product will support.\\n\\n### `infoPlist`\\n\\n```swift\\npublic var infoPlist: InfoPlist?\\n```\\n\\nThe Info.plist representation.\\n\\n### `sources`\\n\\n```swift\\npublic var sources: SourceFilesList?\\n```\\n\\nThe source files of the target.\\nNote: any playgrounds matched by the globs used in this property will be automatically added.\\n\\n### `resources`\\n\\n```swift\\npublic var resources: ResourceFileElements?\\n```\\n\\nThe resource files of target.\\nNote: localizable files, `*.lproj`, are supported.\\n\\n### `copyFiles`\\n\\n```swift\\npublic var copyFiles: [CopyFilesAction]?\\n```\\n\\nThe build phase copy files actions for the target.\\n\\n### `headers`\\n\\n```swift\\npublic var headers: Headers?\\n```\\n\\nThe headers for the target.\\n\\n### `entitlements`\\n\\n```swift\\npublic var entitlements: Entitlements?\\n```\\n\\nThe entitlements representation.\\n\\n> Note: For per-configuration entitlements, you should:\\n> 1. Keep this property as `nil`\\n> 2. Set the `CODE_SIGN_ENTITLEMENTS` build setting using `Target.settings` for each configuration\\n> 3. If you want the entitlement files to be included in the project navigator, add them using `Project.additionalFiles`\\n>\\n> Example:\\n> ```swift\\n> let target = Target(\\n> name: \\\"MyApp\\\",\\n> // ... other properties\\n> entitlements: nil, // Important: keep this as nil\\n> settings: .settings(\\n> configurations: [\\n> .debug(name: \\\"Debug\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Debug.entitlements\\\"]),\\n> .release(name: \\\"Release\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Release.entitlements\\\"])\\n> ]\\n> )\\n> )\\n>\\n> let project = Project(\\n> name: \\\"MyProject\\\",\\n> targets: [target],\\n> additionalFiles: [\\n> \\\"Debug.entitlements\\\",\\n> \\\"Release.entitlements\\\"\\n> ]\\n> )\\n> ```\\n\\n### `scripts`\\n\\n```swift\\npublic var scripts: [TargetScript]\\n```\\n\\nThe build phase scripts actions for the target.\\n\\n### `dependencies`\\n\\n```swift\\npublic var dependencies: [TargetDependency]\\n```\\n\\nThe target's dependencies.\\n\\n### `settings`\\n\\n```swift\\npublic var settings: Settings?\\n```\\n\\nThe target's settings.\\n\\n### `coreDataModels`\\n\\n```swift\\npublic var coreDataModels: [CoreDataModel]\\n```\\n\\nThe Core Data models.\\n\\n### `environmentVariables`\\n\\n```swift\\npublic var environmentVariables: [String: EnvironmentVariable]\\n```\\n\\nThe environment variables. Used by autogenerated schemes for the target.\\n\\n### `launchArguments`\\n\\n```swift\\npublic var launchArguments: [LaunchArgument]\\n```\\n\\nThe launch arguments. Used by autogenerated schemes for the target.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic var additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the target. For project's additional files, see ``Project/additionalFiles``.\\n\\n### `buildRules`\\n\\n```swift\\npublic var buildRules: [BuildRule]\\n```\\n\\nThe build rules used for transformation of source files during compilation.\\n\\n### `mergedBinaryType`\\n\\n```swift\\npublic var mergedBinaryType: MergedBinaryType\\n```\\n\\nSpecifies whether if the target can merge or not the dynamic dependencies as part of its binary\\n\\n### `mergeable`\\n\\n```swift\\npublic var mergeable: Bool\\n```\\n\\nSpecifies whether if the target can be merged as part of another binary or not\\n\\n### `onDemandResourcesTags`\\n\\n```swift\\npublic var onDemandResourcesTags: OnDemandResourcesTags?\\n```\\n\\nThe target's tags associated with on demand resources\\n\\n### `metadata`\\n\\n```swift\\npublic var metadata: TargetMetadata\\n```\\n\\nThe target's metadata.\\n\\n## Methods\\n### `target(name:destinations:product:productName:bundleId:deploymentTargets:infoPlist:sources:resources:copyFiles:headers:entitlements:scripts:dependencies:settings:coreDataModels:environmentVariables:launchArguments:additionalFiles:buildRules:mergedBinaryType:mergeable:onDemandResourcesTags:metadata:)`\\n\\n```swift\\npublic static func target(\\n name: String,\\n destinations: Destinations,\\n product: Product,\\n productName: String? = nil,\\n bundleId: String,\\n deploymentTargets: DeploymentTargets? = nil,\\n infoPlist: InfoPlist? = .default,\\n sources: SourceFilesList? = nil,\\n resources: ResourceFileElements? = nil,\\n copyFiles: [CopyFilesAction]? = nil,\\n headers: Headers? = nil,\\n entitlements: Entitlements? = nil,\\n scripts: [TargetScript] = [],\\n dependencies: [TargetDependency] = [],\\n settings: Settings? = nil,\\n coreDataModels: [CoreDataModel] = [],\\n environmentVariables: [String: EnvironmentVariable] = [:],\\n launchArguments: [LaunchArgument] = [],\\n additionalFiles: [FileElement] = [],\\n buildRules: [BuildRule] = [],\\n mergedBinaryType: MergedBinaryType = .disabled,\\n mergeable: Bool = false,\\n onDemandResourcesTags: OnDemandResourcesTags? = nil,\\n metadata: TargetMetadata = .default\\n) -> Self\\n```\\n\\n\",\"title\":\"`Target`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/target\",\"LLMS_URL\":\"/ja/references/project-description/structs/target.md\"}},{\"path\":\"/ja/references/project-description/structs/targetmetadata.md\",\"url\":\"/ja/references/project-description/structs/targetmetadata\",\"llmUrl\":\"/ja/references/project-description/structs/targetmetadata.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/targetmetadata\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/targetmetadata.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetMetadata`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `tags`\\n - `default`\\n- [Methods](#methods)\\n - `metadata(tags:)`\\n\\n```swift\\npublic struct TargetMetadata: Codable, Equatable, Sendable\\n```\\n\\n## Properties\\n### `tags`\\n\\n```swift\\npublic var tags: [String]\\n```\\n\\n### `default`\\n\\n```swift\\npublic static var `default`: TargetMetadata\\n```\\n\\n## Methods\\n### `metadata(tags:)`\\n\\n```swift\\npublic static func metadata(\\n tags: [String] = []\\n) -> TargetMetadata\\n```\\n\\nReturns a target metadata.\\n\\n- Parameters:\\n - tags: The list of tags to use. Used to select focused targets when generating the project.\\n- Returns: Target metadata\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tags | The list of tags to use. Used to select focused targets when generating the project. |\\n\",\"title\":\"`TargetMetadata`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/targetmetadata\",\"LLMS_URL\":\"/ja/references/project-description/structs/targetmetadata.md\"}},{\"path\":\"/ja/references/project-description/structs/targetreference.md\",\"url\":\"/ja/references/project-description/structs/targetreference\",\"llmUrl\":\"/ja/references/project-description/structs/targetreference.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/targetreference\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/targetreference.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetReference`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `projectPath`\\n - `targetName`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `project(path:target:)`\\n - `target(_:)`\\n\\n```swift\\npublic struct TargetReference: Hashable, Codable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\nA target reference for a specified project.\\n\\nThe project is specified through the path and should contain the target name.\\n\\n## Properties\\n### `projectPath`\\n\\n```swift\\npublic var projectPath: Path?\\n```\\n\\nPath to the target's project directory.\\n\\n### `targetName`\\n\\n```swift\\npublic var targetName: String\\n```\\n\\nName of the target.\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `project(path:target:)`\\n\\n```swift\\npublic static func project(path: Path, target: String) -> TargetReference\\n```\\n\\n### `target(_:)`\\n\\n```swift\\npublic static func target(_ name: String) -> TargetReference\\n```\\n\\n\",\"title\":\"`TargetReference`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/targetreference\",\"LLMS_URL\":\"/ja/references/project-description/structs/targetreference.md\"}},{\"path\":\"/ja/references/project-description/structs/targetscript.md\",\"url\":\"/ja/references/project-description/structs/targetscript\",\"llmUrl\":\"/ja/references/project-description/structs/targetscript.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/targetscript\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/targetscript.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TargetScript`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `script`\\n - `order`\\n - `inputPaths`\\n - `inputFileListPaths`\\n - `outputPaths`\\n - `outputFileListPaths`\\n - `basedOnDependencyAnalysis`\\n - `runForInstallBuildsOnly`\\n - `shellPath`\\n - `dependencyFile`\\n- [Methods](#methods)\\n - `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `pre(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n - `post(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic struct TargetScript: Codable, Equatable, Sendable\\n```\\n\\nA build phase action used to run a script.\\n\\nTarget scripts, represented as target script build phases in the generated Xcode projects, are useful to define actions to be\\nexecuted before of after the build process of a target.\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic var name: String\\n```\\n\\nName of the build phase when the project gets generated.\\n\\n### `script`\\n\\n```swift\\npublic var script: Script\\n```\\n\\nThe script that is to be executed\\n\\n### `order`\\n\\n```swift\\npublic var order: Order\\n```\\n\\nTarget script order.\\n\\n### `inputPaths`\\n\\n```swift\\npublic var inputPaths: [FileListGlob]\\n```\\n\\nList of input file paths\\n\\n### `inputFileListPaths`\\n\\n```swift\\npublic var inputFileListPaths: [Path]\\n```\\n\\nList of input filelist paths\\n\\n### `outputPaths`\\n\\n```swift\\npublic var outputPaths: [Path]\\n```\\n\\nList of output file paths\\n\\n### `outputFileListPaths`\\n\\n```swift\\npublic var outputFileListPaths: [Path]\\n```\\n\\nList of output filelist paths\\n\\n### `basedOnDependencyAnalysis`\\n\\n```swift\\npublic var basedOnDependencyAnalysis: Bool?\\n```\\n\\nWhether to skip running this script in incremental builds, if nothing has changed\\n\\n### `runForInstallBuildsOnly`\\n\\n```swift\\npublic var runForInstallBuildsOnly: Bool\\n```\\n\\nWhether this script only runs on install builds (default is false)\\n\\n### `shellPath`\\n\\n```swift\\npublic var shellPath: String\\n```\\n\\nThe path to the shell which shall execute this script.\\n\\n### `dependencyFile`\\n\\n```swift\\npublic var dependencyFile: Path?\\n```\\n\\nThe path to the dependency file\\n\\n## Methods\\n### `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n path: Path,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n path: Path,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n path: Path,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(path:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n path: Path,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - path: Path to the script to execute.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| path | Path to the script to execute. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n tool: String,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n tool: String,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n tool: String,\\n arguments: String...,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(tool:arguments:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n tool: String,\\n arguments: [String],\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - tool: Name of the tool to execute. Tuist will look up the tool on the environment's PATH.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| tool | Name of the tool to execute. Tuist will look up the tool on the environment’s PATH. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `pre(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func pre(\\n script: String,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed before the sources and resources build phase.\\n\\n- Parameters:\\n - script: The text of the script to run. This should be kept small.\\n - arguments: Arguments that to be passed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| script | The text of the script to run. This should be kept small. |\\n| arguments | Arguments that to be passed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\\n### `post(script:name:inputPaths:inputFileListPaths:outputPaths:outputFileListPaths:basedOnDependencyAnalysis:runForInstallBuildsOnly:shellPath:dependencyFile:)`\\n\\n```swift\\npublic static func post(\\n script: String,\\n name: String,\\n inputPaths: [FileListGlob] = [],\\n inputFileListPaths: [Path] = [],\\n outputPaths: [Path] = [],\\n outputFileListPaths: [Path] = [],\\n basedOnDependencyAnalysis: Bool? = nil,\\n runForInstallBuildsOnly: Bool = false,\\n shellPath: String = \\\"/bin/sh\\\",\\n dependencyFile: Path? = nil\\n) -> TargetScript\\n```\\n\\nReturns a target script that gets executed after the sources and resources build phase.\\n\\n- Parameters:\\n - script: The script to be executed.\\n - name: Name of the build phase when the project gets generated.\\n - inputPaths: Glob pattern to the files.\\n - inputFileListPaths: List of input filelist paths.\\n - outputPaths: List of output file paths.\\n - outputFileListPaths: List of output filelist paths.\\n - basedOnDependencyAnalysis: Whether to skip running this script in incremental builds\\n - runForInstallBuildsOnly: Whether this script only runs on install builds (default is false)\\n - shellPath: The path to the shell which shall execute this script. Default is `/bin/sh`.\\n - dependencyFile: The path to the dependency file. Default is `nil`.\\n- Returns: Target script.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| script | The script to be executed. |\\n| name | Name of the build phase when the project gets generated. |\\n| inputPaths | Glob pattern to the files. |\\n| inputFileListPaths | List of input filelist paths. |\\n| outputPaths | List of output file paths. |\\n| outputFileListPaths | List of output filelist paths. |\\n| basedOnDependencyAnalysis | Whether to skip running this script in incremental builds |\\n| runForInstallBuildsOnly | Whether this script only runs on install builds (default is false) |\\n| shellPath | The path to the shell which shall execute this script. Default is `/bin/sh`. |\\n| dependencyFile | The path to the dependency file. Default is `nil`. |\\n\",\"title\":\"`TargetScript`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/targetscript\",\"LLMS_URL\":\"/ja/references/project-description/structs/targetscript.md\"}},{\"path\":\"/ja/references/project-description/structs/template.md\",\"url\":\"/ja/references/project-description/structs/template\",\"llmUrl\":\"/ja/references/project-description/structs/template.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/template\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/template.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Template`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `description`\\n - `attributes`\\n - `items`\\n- [Methods](#methods)\\n - `init(description:attributes:items:)`\\n\\n```swift\\npublic struct Template: Codable, Equatable, Sendable\\n```\\n\\nA scaffold template model.\\n\\n## Properties\\n### `description`\\n\\n```swift\\npublic let description: String\\n```\\n\\nDescription of template\\n\\n### `attributes`\\n\\n```swift\\npublic let attributes: [Attribute]\\n```\\n\\nAttributes to be passed to template\\n\\n### `items`\\n\\n```swift\\npublic let items: [Item]\\n```\\n\\nItems to generate\\n\\n## Methods\\n### `init(description:attributes:items:)`\\n\\n```swift\\npublic init(\\n description: String,\\n attributes: [Attribute] = [],\\n items: [Item] = []\\n)\\n```\\n\\n\",\"title\":\"`Template`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/template\",\"LLMS_URL\":\"/ja/references/project-description/structs/template.md\"}},{\"path\":\"/ja/references/project-description/structs/template.item.md\",\"url\":\"/ja/references/project-description/structs/template.item\",\"llmUrl\":\"/ja/references/project-description/structs/template.item.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/template.item\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/template.item.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Template.Item`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `path`\\n - `contents`\\n- [Methods](#methods)\\n - `item(path:contents:)`\\n\\n```swift\\npublic struct Item: Codable, Equatable, Sendable\\n```\\n\\nFile description for generating\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic let path: String\\n```\\n\\n### `contents`\\n\\n```swift\\npublic let contents: Contents\\n```\\n\\n## Methods\\n### `item(path:contents:)`\\n\\n```swift\\npublic static func item(path: String, contents: Contents) -> Self\\n```\\n\\n\",\"title\":\"`Template.Item`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/template.item\",\"LLMS_URL\":\"/ja/references/project-description/structs/template.item.md\"}},{\"path\":\"/ja/references/project-description/structs/templatestring.md\",\"url\":\"/ja/references/project-description/structs/templatestring\",\"llmUrl\":\"/ja/references/project-description/structs/templatestring.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/templatestring\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/templatestring.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TemplateString`\\n\\n```swift\\npublic struct TemplateString: Encodable, Decodable, Equatable\\n```\\n\\n\",\"title\":\"`TemplateString`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/templatestring\",\"LLMS_URL\":\"/ja/references/project-description/structs/templatestring.md\"}},{\"path\":\"/ja/references/project-description/structs/templatestring.stringinterpolation.md\",\"url\":\"/ja/references/project-description/structs/templatestring.stringinterpolation\",\"llmUrl\":\"/ja/references/project-description/structs/templatestring.stringinterpolation.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/templatestring.stringinterpolation\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/templatestring.stringinterpolation.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TemplateString.StringInterpolation`\\n\\n**Contents**\\n\\n- [Methods](#methods)\\n - `init(literalCapacity:interpolationCount:)`\\n - `appendLiteral(_:)`\\n - `appendInterpolation(_:)`\\n\\n```swift\\npublic struct StringInterpolation: StringInterpolationProtocol\\n```\\n\\n## Methods\\n### `init(literalCapacity:interpolationCount:)`\\n\\n```swift\\npublic init(literalCapacity _: Int, interpolationCount _: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| literalCapacity | The approximate size of all literal segments combined. This is meant to be passed to `String.reserveCapacity(_:)`; it may be slightly larger or smaller than the sum of the counts of each literal segment. |\\n| interpolationCount | The number of interpolations which will be appended. Use this value to estimate how much additional capacity will be needed for the interpolated segments. |\\n\\n### `appendLiteral(_:)`\\n\\n```swift\\npublic mutating func appendLiteral(_ literal: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| literal | A string literal containing the characters that appear next in the string literal. |\\n\\n### `appendInterpolation(_:)`\\n\\n```swift\\npublic mutating func appendInterpolation(_ token: TemplateString.Token)\\n```\\n\\n\",\"title\":\"`TemplateString.StringInterpolation`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/templatestring.stringinterpolation\",\"LLMS_URL\":\"/ja/references/project-description/structs/templatestring.stringinterpolation.md\"}},{\"path\":\"/ja/references/project-description/structs/testabletarget.md\",\"url\":\"/ja/references/project-description/structs/testabletarget\",\"llmUrl\":\"/ja/references/project-description/structs/testabletarget.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/testabletarget\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/testabletarget.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestableTarget`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `target`\\n - `isSkipped`\\n - `isParallelizable`\\n - `parallelization`\\n - `isRandomExecutionOrdering`\\n - `simulatedLocation`\\n- [Methods](#methods)\\n - `testableTarget(target:isSkipped:isParallelizable:isRandomExecutionOrdering:simulatedLocation:)`\\n - `testableTarget(target:isSkipped:parallelization:isRandomExecutionOrdering:simulatedLocation:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic struct TestableTarget: Equatable, Codable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\n## Properties\\n### `target`\\n\\n```swift\\npublic var target: TargetReference\\n```\\n\\n### `isSkipped`\\n\\n```swift\\npublic var isSkipped: Bool\\n```\\n\\n### `isParallelizable`\\n\\n```swift\\npublic var isParallelizable: Bool\\n```\\n\\n### `parallelization`\\n\\n```swift\\npublic var parallelization: Parallelization\\n```\\n\\n### `isRandomExecutionOrdering`\\n\\n```swift\\npublic var isRandomExecutionOrdering: Bool\\n```\\n\\n### `simulatedLocation`\\n\\n```swift\\npublic var simulatedLocation: SimulatedLocation?\\n```\\n\\n## Methods\\n### `testableTarget(target:isSkipped:isParallelizable:isRandomExecutionOrdering:simulatedLocation:)`\\n\\n```swift\\npublic static func testableTarget(\\n target: TargetReference,\\n isSkipped: Bool = false,\\n isParallelizable: Bool,\\n isRandomExecutionOrdering: Bool = false,\\n simulatedLocation: SimulatedLocation? = nil\\n) -> Self\\n```\\n\\nReturns a testable target.\\n\\n- Parameters:\\n - target: The name or reference of target to test.\\n - isSkipped: Whether to skip this test target. If true, the test target is disabled.\\n - isParallelizable: Whether to run in parallel.\\n - isRandomExecutionOrdering: Whether to test in random order.\\n - simulatedLocation: The simulated GPS location to use when testing this target.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | The name or reference of target to test. |\\n| isSkipped | Whether to skip this test target. If true, the test target is disabled. |\\n| isParallelizable | Whether to run in parallel. |\\n| isRandomExecutionOrdering | Whether to test in random order. |\\n| simulatedLocation | The simulated GPS location to use when testing this target. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n\\n### `testableTarget(target:isSkipped:parallelization:isRandomExecutionOrdering:simulatedLocation:)`\\n\\n```swift\\npublic static func testableTarget(\\n target: TargetReference,\\n isSkipped: Bool = false,\\n parallelization: Parallelization = .disabled,\\n isRandomExecutionOrdering: Bool = false,\\n simulatedLocation: SimulatedLocation? = nil\\n) -> Self\\n```\\n\\nReturns a testable target.\\n\\n- Parameters:\\n - target: The name or reference of target to test.\\n - isSkipped: Whether to skip this test target. If true, the test target is disabled.\\n - parallelization: Whether to run tests in parallel. Can be either `.disabled`, `.enabled`, or `.swiftTestingOnly`. The\\ndefault value is `.disabled`.\\n - isRandomExecutionOrdering: Whether to test in random order.\\n - simulatedLocation: The simulated GPS location to use when testing this target.\\n Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | The name or reference of target to test. |\\n| isSkipped | Whether to skip this test target. If true, the test target is disabled. |\\n| parallelization | Whether to run tests in parallel. Can be either `.disabled`, `.enabled`, or `.swiftTestingOnly`. The default value is `.disabled`. |\\n| isRandomExecutionOrdering | Whether to test in random order. |\\n| simulatedLocation | The simulated GPS location to use when testing this target. Please note that the `.custom(gpxPath:)` case must refer to a valid GPX file in your project’s resources. |\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`TestableTarget`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/testabletarget\",\"LLMS_URL\":\"/ja/references/project-description/structs/testabletarget.md\"}},{\"path\":\"/ja/references/project-description/structs/testaction.md\",\"url\":\"/ja/references/project-description/structs/testaction\",\"llmUrl\":\"/ja/references/project-description/structs/testaction.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/testaction\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/testaction.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestAction`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `testPlans`\\n - `targets`\\n - `arguments`\\n - `configuration`\\n - `attachDebugger`\\n - `expandVariableFromTarget`\\n - `preActions`\\n - `postActions`\\n - `options`\\n - `diagnosticsOptions`\\n - `skippedTests`\\n- [Methods](#methods)\\n - `targets(_:arguments:configuration:attachDebugger:expandVariableFromTarget:preActions:postActions:options:diagnosticsOptions:skippedTests:)`\\n - `testPlans(_:configuration:attachDebugger:preActions:postActions:)`\\n\\n```swift\\npublic struct TestAction: Equatable, Codable, Sendable\\n```\\n\\nAn action that tests the built products.\\n\\nYou can create a test action with either a set of test targets or test plans using the `.targets` or `.testPlans` static\\nmethods respectively.\\n\\n## Properties\\n### `testPlans`\\n\\n```swift\\npublic var testPlans: [Path]?\\n```\\n\\nList of test plans. The first in the list will be the default plan.\\n\\n### `targets`\\n\\n```swift\\npublic var targets: [TestableTarget]\\n```\\n\\nA list of testable targets, that are targets which are defined in the project with testable information.\\n\\n### `arguments`\\n\\n```swift\\npublic var arguments: Arguments?\\n```\\n\\nCommand line arguments passed on launch and environment variables.\\n\\n### `configuration`\\n\\n```swift\\npublic var configuration: ConfigurationName\\n```\\n\\nBuild configuration to run the test with.\\n\\n### `attachDebugger`\\n\\n```swift\\npublic var attachDebugger: Bool\\n```\\n\\nWhether a debugger should be attached to the test process or not.\\n\\n### `expandVariableFromTarget`\\n\\n```swift\\npublic var expandVariableFromTarget: TargetReference?\\n```\\n\\nA target that will be used to expand the variables defined inside Environment Variables definition (e.g. $SOURCE_ROOT)\\n\\n### `preActions`\\n\\n```swift\\npublic var preActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed before starting the tests-run process.\\n\\n### `postActions`\\n\\n```swift\\npublic var postActions: [ExecutionAction]\\n```\\n\\nA list of actions that are executed after the tests-run process.\\n\\n### `options`\\n\\n```swift\\npublic var options: TestActionOptions\\n```\\n\\nList of options to set to the action.\\n\\n### `diagnosticsOptions`\\n\\n```swift\\npublic var diagnosticsOptions: SchemeDiagnosticsOptions\\n```\\n\\nList of diagnostics options to set to the action.\\n\\n### `skippedTests`\\n\\n```swift\\npublic var skippedTests: [String]?\\n```\\n\\nList of testIdentifiers to skip to the test\\n\\n## Methods\\n### `targets(_:arguments:configuration:attachDebugger:expandVariableFromTarget:preActions:postActions:options:diagnosticsOptions:skippedTests:)`\\n\\n```swift\\npublic static func targets(\\n _ targets: [TestableTarget],\\n arguments: Arguments? = nil,\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n expandVariableFromTarget: TargetReference? = nil,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = [],\\n options: TestActionOptions = .options(),\\n diagnosticsOptions: SchemeDiagnosticsOptions = .options(),\\n skippedTests: [String] = []\\n) -> Self\\n```\\n\\nReturns a test action from a list of targets to be tested.\\n- Parameters:\\n - targets: List of targets to be tested.\\n - arguments: Arguments passed when running the tests.\\n - configuration: Configuration to be used.\\n - attachDebugger: A boolean controlling whether a debugger is attached to the process running the tests.\\n - expandVariableFromTarget: A target that will be used to expand the variables defined inside Environment Variables\\ndefinition. When nil, it does not expand any variables.\\n - preActions: Actions to execute before running the tests.\\n - postActions: Actions to execute after running the tests.\\n - options: Test options.\\n - diagnosticsOptions: Diagnostics options.\\n- Returns: An initialized test action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| targets | List of targets to be tested. |\\n| arguments | Arguments passed when running the tests. |\\n| configuration | Configuration to be used. |\\n| attachDebugger | A boolean controlling whether a debugger is attached to the process running the tests. |\\n| expandVariableFromTarget | A target that will be used to expand the variables defined inside Environment Variables definition. When nil, it does not expand any variables. |\\n| preActions | Actions to execute before running the tests. |\\n| postActions | Actions to execute after running the tests. |\\n| options | Test options. |\\n| diagnosticsOptions | Diagnostics options. |\\n\\n### `testPlans(_:configuration:attachDebugger:preActions:postActions:)`\\n\\n```swift\\npublic static func testPlans(\\n _ testPlans: [Path],\\n configuration: ConfigurationName = .debug,\\n attachDebugger: Bool = true,\\n preActions: [ExecutionAction] = [],\\n postActions: [ExecutionAction] = []\\n) -> Self\\n```\\n\\nReturns a test action from a list of test plans.\\n- Parameters:\\n - testPlans: List of test plans to run.\\n - configuration: Configuration to be used.\\n - attachDebugger: A boolean controlling whether a debugger is attached to the process running the tests.\\n - preActions: Actions to execute before running the tests.\\n - postActions: Actions to execute after running the tests.\\n- Returns: A test action.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| testPlans | List of test plans to run. |\\n| configuration | Configuration to be used. |\\n| attachDebugger | A boolean controlling whether a debugger is attached to the process running the tests. |\\n| preActions | Actions to execute before running the tests. |\\n| postActions | Actions to execute after running the tests. |\\n\",\"title\":\"`TestAction`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/testaction\",\"LLMS_URL\":\"/ja/references/project-description/structs/testaction.md\"}},{\"path\":\"/ja/references/project-description/structs/testactionoptions.md\",\"url\":\"/ja/references/project-description/structs/testactionoptions\",\"llmUrl\":\"/ja/references/project-description/structs/testactionoptions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/testactionoptions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/testactionoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestActionOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `language`\\n - `region`\\n - `preferredScreenCaptureFormat`\\n - `coverage`\\n - `codeCoverageTargets`\\n- [Methods](#methods)\\n - `options(language:region:preferredScreenCaptureFormat:coverage:codeCoverageTargets:)`\\n\\n```swift\\npublic struct TestActionOptions: Equatable, Codable, Sendable\\n```\\n\\nThe type `TestActionOptions` represents a set of options for a test action.\\n\\n## Properties\\n### `language`\\n\\n```swift\\npublic var language: SchemeLanguage?\\n```\\n\\nLanguage used to run the tests.\\n\\n### `region`\\n\\n```swift\\npublic var region: String?\\n```\\n\\nRegion used to run the tests.\\n\\n### `preferredScreenCaptureFormat`\\n\\n```swift\\npublic var preferredScreenCaptureFormat: ScreenCaptureFormat?\\n```\\n\\nPreferred screen capture format for UI tests results in Xcode 15+\\n\\n### `coverage`\\n\\n```swift\\npublic var coverage: Bool\\n```\\n\\nWhether the scheme should or not gather the test coverage data.\\n\\n### `codeCoverageTargets`\\n\\n```swift\\npublic var codeCoverageTargets: [TargetReference]\\n```\\n\\nA list of targets you want to gather the test coverage data for them, which are defined in the project.\\n\\n## Methods\\n### `options(language:region:preferredScreenCaptureFormat:coverage:codeCoverageTargets:)`\\n\\n```swift\\npublic static func options(\\n language: SchemeLanguage? = nil,\\n region: String? = nil,\\n preferredScreenCaptureFormat: ScreenCaptureFormat? = nil,\\n coverage: Bool = false,\\n codeCoverageTargets: [TargetReference] = []\\n) -> TestActionOptions\\n```\\n\\nReturns a set of options for a test action.\\n- Parameters:\\n - language: Language used for running the tests.\\n - region: Region used for running the tests.\\n - coverage: Whether test coverage should be collected.\\n - codeCoverageTargets: List of test targets whose code coverage information should be collected.\\n- Returns: A set of options.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| language | Language used for running the tests. |\\n| region | Region used for running the tests. |\\n| coverage | Whether test coverage should be collected. |\\n| codeCoverageTargets | List of test targets whose code coverage information should be collected. |\\n\",\"title\":\"`TestActionOptions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/testactionoptions\",\"LLMS_URL\":\"/ja/references/project-description/structs/testactionoptions.md\"}},{\"path\":\"/ja/references/project-description/structs/testingoptions.md\",\"url\":\"/ja/references/project-description/structs/testingoptions\",\"llmUrl\":\"/ja/references/project-description/structs/testingoptions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/testingoptions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/testingoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TestingOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `rawValue`\\n - `parallelizable`\\n - `randomExecutionOrdering`\\n- [Methods](#methods)\\n - `init(rawValue:)`\\n\\n```swift\\npublic struct TestingOptions: OptionSet, Codable, Equatable, Sendable\\n```\\n\\nOptions to configure testing of autogenerated schemes.\\n\\n## Properties\\n### `rawValue`\\n\\n```swift\\npublic let rawValue: Int\\n```\\n\\n### `parallelizable`\\n\\n```swift\\npublic static let parallelizable = TestingOptions(rawValue: 1 << 0)\\n```\\n\\nRun tests on multiple destinations in parallel\\n\\n### `randomExecutionOrdering`\\n\\n```swift\\npublic static let randomExecutionOrdering = TestingOptions(rawValue: 1 << 1)\\n```\\n\\nExecute tests in random order\\n\\n## Methods\\n### `init(rawValue:)`\\n\\n```swift\\npublic init(rawValue: Int)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| rawValue | The raw value of the option set to create. Each bit of `rawValue` potentially represents an element of the option set, though raw values may include bits that are not defined as distinct values of the `OptionSet` type. |\\n\",\"title\":\"`TestingOptions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/testingoptions\",\"LLMS_URL\":\"/ja/references/project-description/structs/testingoptions.md\"}},{\"path\":\"/ja/references/project-description/structs/tuist.md\",\"url\":\"/ja/references/project-description/structs/tuist\",\"llmUrl\":\"/ja/references/project-description/structs/tuist.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/tuist\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/tuist.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Tuist`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `project`\\n - `fullHandle`\\n - `inspectOptions`\\n - `url`\\n- [Methods](#methods)\\n - `init(compatibleXcodeVersions:cloud:fullHandle:url:swiftVersion:plugins:generationOptions:inspectOptions:installOptions:)`\\n - `init(fullHandle:inspectOptions:url:project:)`\\n\\n```swift\\npublic struct Tuist: Codable, Equatable, Sendable\\n```\\n\\n## Properties\\n### `project`\\n\\n```swift\\npublic let project: TuistProject\\n```\\n\\nConfigures the project Tuist will interact with.\\nWhen no project is provided, Tuist defaults to the workspace or project in the current directory.\\n\\n### `fullHandle`\\n\\n```swift\\npublic let fullHandle: String?\\n```\\n\\nThe full project handle such as tuist-org/tuist.\\n\\n### `inspectOptions`\\n\\n```swift\\npublic let inspectOptions: InspectOptions\\n```\\n\\nThe options to use when running `tuist inspect`.\\n\\n### `url`\\n\\n```swift\\npublic let url: String\\n```\\n\\nThe base URL that points to the Tuist server.\\n\\n## Methods\\n### `init(compatibleXcodeVersions:cloud:fullHandle:url:swiftVersion:plugins:generationOptions:inspectOptions:installOptions:)`\\n\\n```swift\\npublic init(\\n compatibleXcodeVersions: CompatibleXcodeVersions = .all,\\n cloud: Cloud? = nil,\\n fullHandle: String? = nil,\\n url: String = \\\"https://tuist.dev\\\",\\n swiftVersion: Version? = nil,\\n plugins: [PluginLocation] = [],\\n generationOptions: GenerationOptions = .options(),\\n inspectOptions: InspectOptions = .options(),\\n installOptions: InstallOptions = .options()\\n)\\n```\\n\\nCreates a tuist configuration.\\n\\n- Parameters:\\n - compatibleXcodeVersions: List of Xcode versions the project is compatible with.\\n - cloud: Cloud configuration.\\n - swiftVersion: The version of Swift that will be used by Tuist.\\n - plugins: A list of plugins to extend Tuist.\\n - generationOptions: List of options to use when generating the project.\\n - installOptions: List of options to use when running `tuist install`.\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| compatibleXcodeVersions | List of Xcode versions the project is compatible with. |\\n| cloud | Cloud configuration. |\\n| swiftVersion | The version of Swift that will be used by Tuist. |\\n| plugins | A list of plugins to extend Tuist. |\\n| generationOptions | List of options to use when generating the project. |\\n| installOptions | List of options to use when running `tuist install`. |\\n\\n### `init(fullHandle:inspectOptions:url:project:)`\\n\\n```swift\\npublic init(\\n fullHandle: String? = nil,\\n inspectOptions: InspectOptions = .options(),\\n url: String = \\\"https://tuist.dev\\\",\\n project: TuistProject\\n)\\n```\\n\\n\",\"title\":\"`Tuist`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/tuist\",\"LLMS_URL\":\"/ja/references/project-description/structs/tuist.md\"}},{\"path\":\"/ja/references/project-description/structs/tuist.generationoptions.md\",\"url\":\"/ja/references/project-description/structs/tuist.generationoptions\",\"llmUrl\":\"/ja/references/project-description/structs/tuist.generationoptions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/tuist.generationoptions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/tuist.generationoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Tuist.GenerationOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `resolveDependenciesWithSystemScm`\\n - `disablePackageVersionLocking`\\n - `clonedSourcePackagesDirPath`\\n - `staticSideEffectsWarningTargets`\\n - `enforceExplicitDependencies`\\n - `defaultConfiguration`\\n - `optionalAuthentication`\\n - `buildInsightsDisabled`\\n - `disableSandbox`\\n- [Methods](#methods)\\n - `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:)`\\n - `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:defaultConfiguration:optionalAuthentication:)`\\n\\n```swift\\npublic struct GenerationOptions: Codable, Equatable, Sendable\\n```\\n\\nOptions for project generation.\\n\\n## Properties\\n### `resolveDependenciesWithSystemScm`\\n\\n```swift\\npublic var resolveDependenciesWithSystemScm: Bool\\n```\\n\\nWhen passed, Xcode will resolve its Package Manager dependencies using the system-defined\\naccounts (for example, git) instead of the Xcode-defined accounts\\n\\n### `disablePackageVersionLocking`\\n\\n```swift\\npublic var disablePackageVersionLocking: Bool\\n```\\n\\nDisables locking Swift packages. This can speed up generation but does increase risk if packages are not locked\\nin their declarations.\\n\\n### `clonedSourcePackagesDirPath`\\n\\n```swift\\npublic var clonedSourcePackagesDirPath: Path?\\n```\\n\\nAllows setting a custom directory to be used when resolving package dependencies\\nThis path is passed to `xcodebuild` via the `-clonedSourcePackagesDirPath` argument\\n\\n### `staticSideEffectsWarningTargets`\\n\\n```swift\\npublic var staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets\\n```\\n\\nAllows configuring which targets Tuist checks for potential side effects due multiple branches of the graph\\nincluding the same static library of framework as a transitive dependency.\\n\\n### `enforceExplicitDependencies`\\n\\n```swift\\npublic let enforceExplicitDependencies: Bool\\n```\\n\\nThe generated project has build settings and build paths modified in such a way that projects with implicit\\ndependencies won't build until all dependencies are declared explicitly.\\n\\n### `defaultConfiguration`\\n\\n```swift\\npublic var defaultConfiguration: String?\\n```\\n\\nThe default configuration to be used when generating the project.\\nIf not specified, Tuist generates for the first (when alphabetically sorted) debug configuration.\\n\\n### `optionalAuthentication`\\n\\n```swift\\npublic var optionalAuthentication: Bool\\n```\\n\\nMarks whether the Tuist server authentication is optional.\\nIf present, the interaction with the Tuist server will be skipped (instead of failing) if a user is not authenticated.\\n\\n### `buildInsightsDisabled`\\n\\n```swift\\npublic var buildInsightsDisabled: Bool\\n```\\n\\nWhen disabled, build insights are not collected. Build insights are never collected unless you are connected to a\\nremote Tuist project.\\nDefault value is `true`.\\n\\n### `disableSandbox`\\n\\n```swift\\npublic var disableSandbox: Bool\\n```\\n\\nDisables building manifests in a sandboxed environment.\\n\\n- Warning: This is discouraged and should only be used if absolutely necessary. It guards against using file system\\noperations which:\\n - Make generation slow\\n - Cause issues with manifest caching\\n\\n## Methods\\n### `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:defaultConfiguration:optionalAuthentication:buildInsightsDisabled:disableSandbox:)`\\n\\n```swift\\npublic static func options(\\n resolveDependenciesWithSystemScm: Bool = false,\\n disablePackageVersionLocking: Bool = false,\\n clonedSourcePackagesDirPath: Path? = nil,\\n staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,\\n defaultConfiguration: String? = nil,\\n optionalAuthentication: Bool = false,\\n buildInsightsDisabled: Bool = false,\\n disableSandbox: Bool = false\\n) -> Self\\n```\\n\\n### `options(resolveDependenciesWithSystemScm:disablePackageVersionLocking:clonedSourcePackagesDirPath:staticSideEffectsWarningTargets:enforceExplicitDependencies:defaultConfiguration:optionalAuthentication:)`\\n\\n```swift\\npublic static func options(\\n resolveDependenciesWithSystemScm: Bool = false,\\n disablePackageVersionLocking: Bool = false,\\n clonedSourcePackagesDirPath: Path? = nil,\\n staticSideEffectsWarningTargets: StaticSideEffectsWarningTargets = .all,\\n enforceExplicitDependencies: Bool,\\n defaultConfiguration: String? = nil,\\n optionalAuthentication: Bool = false\\n) -> Self\\n```\\n\\n\",\"title\":\"`Tuist.GenerationOptions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/tuist.generationoptions\",\"LLMS_URL\":\"/ja/references/project-description/structs/tuist.generationoptions.md\"}},{\"path\":\"/ja/references/project-description/structs/tuistxcodeprojectoptions.md\",\"url\":\"/ja/references/project-description/structs/tuistxcodeprojectoptions\",\"llmUrl\":\"/ja/references/project-description/structs/tuistxcodeprojectoptions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/tuistxcodeprojectoptions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/tuistxcodeprojectoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `TuistXcodeProjectOptions`\\n\\n**Contents**\\n\\n- [Methods](#methods)\\n - `options()`\\n\\n```swift\\npublic struct TuistXcodeProjectOptions: Codable, Equatable, Sendable\\n```\\n\\n## Methods\\n### `options()`\\n\\n```swift\\npublic static func options() -> Self\\n```\\n\\n\",\"title\":\"`TuistXcodeProjectOptions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/tuistxcodeprojectoptions\",\"LLMS_URL\":\"/ja/references/project-description/structs/tuistxcodeprojectoptions.md\"}},{\"path\":\"/ja/references/project-description/structs/version.md\",\"url\":\"/ja/references/project-description/structs/version\",\"llmUrl\":\"/ja/references/project-description/structs/version.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/version\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/version.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Version`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `major`\\n - `minor`\\n - `patch`\\n - `prereleaseIdentifiers`\\n - `buildMetadataIdentifiers`\\n- [Methods](#methods)\\n - `init(_:_:_:prereleaseIdentifiers:buildMetadataIdentifiers:)`\\n\\n```swift\\npublic struct Version: Hashable, Codable, Sendable\\n```\\n\\nA struct representing a semver version.\\nThis is taken from SPMUtility and copied here so we do not create a direct dependency for ProjectDescription. Used for\\nspecifying version number requirements inside of Project.swift\\n\\n## Properties\\n### `major`\\n\\n```swift\\npublic var major: Int\\n```\\n\\nThe major version.\\n\\n### `minor`\\n\\n```swift\\npublic var minor: Int\\n```\\n\\nThe minor version.\\n\\n### `patch`\\n\\n```swift\\npublic var patch: Int\\n```\\n\\nThe patch version.\\n\\n### `prereleaseIdentifiers`\\n\\n```swift\\npublic var prereleaseIdentifiers: [String]\\n```\\n\\nThe pre-release identifier.\\n\\n### `buildMetadataIdentifiers`\\n\\n```swift\\npublic var buildMetadataIdentifiers: [String]\\n```\\n\\nThe build metadata.\\n\\n## Methods\\n### `init(_:_:_:prereleaseIdentifiers:buildMetadataIdentifiers:)`\\n\\n```swift\\npublic init(\\n _ major: Int,\\n _ minor: Int,\\n _ patch: Int,\\n prereleaseIdentifiers: [String] = [],\\n buildMetadataIdentifiers: [String] = []\\n)\\n```\\n\\nCreate a version object.\\n\\n\",\"title\":\"`Version`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/version\",\"LLMS_URL\":\"/ja/references/project-description/structs/version.md\"}},{\"path\":\"/ja/references/project-description/structs/workspace.md\",\"url\":\"/ja/references/project-description/structs/workspace\",\"llmUrl\":\"/ja/references/project-description/structs/workspace.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/workspace\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/workspace.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Workspace`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `name`\\n - `projects`\\n - `schemes`\\n - `fileHeaderTemplate`\\n - `additionalFiles`\\n - `generationOptions`\\n- [Methods](#methods)\\n - `init(name:projects:schemes:fileHeaderTemplate:additionalFiles:generationOptions:)`\\n\\n```swift\\npublic struct Workspace: Codable, Equatable, Sendable\\n```\\n\\nA workspace representation.\\n\\nBy default, `tuist generate` generates an Xcode workspace that has the same name as the current project.\\nIt includes the project and all its dependencies.\\n\\nTuist allows customizing this behaviour by defining a workspace manifest within a `Workspace.swift` file.\\n\\nWorkspace manifests allow specifying a list of projects to generate and include in an Xcode workspace.\\nThose projects don’t necessarily have to depend on one another.\\nAdditionally, files and folder references _(such as documentation files)_ can be included in a workspace manifest.\\n\\nThe snippet below shows an example workspace manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet workspace = Workspace(\\n name: \\\"Workspace\\\",\\n projects: [\\\"Projects/**\\\"]\\n)\\n```\\n\\n## Properties\\n### `name`\\n\\n```swift\\npublic let name: String\\n```\\n\\nThe name of the workspace. Also, the file name of the generated Xcode workspace.\\n\\n### `projects`\\n\\n```swift\\npublic let projects: [Path]\\n```\\n\\nThe paths (or glob patterns) to manifest projects.\\n\\n### `schemes`\\n\\n```swift\\npublic let schemes: [Scheme]\\n```\\n\\nThe custom schemes for the workspace. Default schemes for each target are generated by default.\\n\\n### `fileHeaderTemplate`\\n\\n```swift\\npublic let fileHeaderTemplate: FileHeaderTemplate?\\n```\\n\\nThe custom file header template for Xcode built-in file templates.\\n\\n### `additionalFiles`\\n\\n```swift\\npublic let additionalFiles: [FileElement]\\n```\\n\\nThe additional files for the workspace. For project's additional files, see ``Project/additionalFiles``.\\n\\n### `generationOptions`\\n\\n```swift\\npublic let generationOptions: GenerationOptions\\n```\\n\\nThe generation configuration of the workspace.\\n\\n## Methods\\n### `init(name:projects:schemes:fileHeaderTemplate:additionalFiles:generationOptions:)`\\n\\n```swift\\npublic init(\\n name: String,\\n projects: [Path],\\n schemes: [Scheme] = [],\\n fileHeaderTemplate: FileHeaderTemplate? = nil,\\n additionalFiles: [FileElement] = [],\\n generationOptions: GenerationOptions = .options()\\n)\\n```\\n\\n\",\"title\":\"`Workspace`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/workspace\",\"LLMS_URL\":\"/ja/references/project-description/structs/workspace.md\"}},{\"path\":\"/ja/references/project-description/structs/workspace.generationoptions.md\",\"url\":\"/ja/references/project-description/structs/workspace.generationoptions\",\"llmUrl\":\"/ja/references/project-description/structs/workspace.generationoptions.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/structs/workspace.generationoptions\\\"\\nLLMS_URL: \\\"/ja/references/project-description/structs/workspace.generationoptions.md\\\"\\n---\\n\\n**STRUCT**\\n\\n# `Workspace.GenerationOptions`\\n\\n**Contents**\\n\\n- [Properties](#properties)\\n - `enableAutomaticXcodeSchemes`\\n - `autogeneratedWorkspaceSchemes`\\n - `lastXcodeUpgradeCheck`\\n - `renderMarkdownReadme`\\n- [Methods](#methods)\\n - `options(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:)`\\n\\n```swift\\npublic struct GenerationOptions: Codable, Equatable, Sendable\\n```\\n\\nGeneration options allow customizing the generation of the Xcode workspace.\\n\\n## Properties\\n### `enableAutomaticXcodeSchemes`\\n\\n```swift\\npublic var enableAutomaticXcodeSchemes: Bool?\\n```\\n\\nEnable or disable automatic generation of schemes by Xcode.\\n\\n### `autogeneratedWorkspaceSchemes`\\n\\n```swift\\npublic var autogeneratedWorkspaceSchemes: AutogeneratedWorkspaceSchemes\\n```\\n\\nEnable or disable automatic generation of `Workspace` schemes. If enabled, options to configure code coverage and test\\ntargets can be passed in via associated values.\\n\\n### `lastXcodeUpgradeCheck`\\n\\n```swift\\npublic var lastXcodeUpgradeCheck: Version?\\n```\\n\\nAllows to suppress warnings in Xcode about updates to recommended settings added in or below the specified Xcode\\nversion. The warnings appear when Xcode version has been upgraded.\\nIt is recommended to set the version option to Xcode's version that is used for development of a project, for example\\n`.lastXcodeUpgradeCheck(Version(13, 0, 0))` for Xcode 13.0.0.\\n\\n### `renderMarkdownReadme`\\n\\n```swift\\npublic var renderMarkdownReadme: Bool\\n```\\n\\nAllows to render markdown files inside the workspace including an .xcodesamples.plist inside it.\\n\\n## Methods\\n### `options(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:)`\\n\\n```swift\\npublic static func options(\\n enableAutomaticXcodeSchemes: Bool? = false,\\n autogeneratedWorkspaceSchemes: AutogeneratedWorkspaceSchemes = .enabled(),\\n lastXcodeUpgradeCheck: Version? = nil,\\n renderMarkdownReadme: Bool = false\\n) -> Self\\n```\\n\\n\",\"title\":\"`Workspace.GenerationOptions`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/structs/workspace.generationoptions\",\"LLMS_URL\":\"/ja/references/project-description/structs/workspace.generationoptions.md\"}},{\"path\":\"/ja/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\",\"url\":\"/ja/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype\",\"llmUrl\":\"/ja/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].ExtendedGraphemeClusterLiteralType`\\n\\n```swift\\npublic typealias ExtendedGraphemeClusterLiteralType = String\\n```\\n\\n\",\"title\":\"`[FileElement].ExtendedGraphemeClusterLiteralType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype\",\"LLMS_URL\":\"/ja/references/project-description/typealiases/array.extendedgraphemeclusterliteraltype.md\"}},{\"path\":\"/ja/references/project-description/typealiases/array.stringliteraltype.md\",\"url\":\"/ja/references/project-description/typealiases/array.stringliteraltype\",\"llmUrl\":\"/ja/references/project-description/typealiases/array.stringliteraltype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/typealiases/array.stringliteraltype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/typealiases/array.stringliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].StringLiteralType`\\n\\n```swift\\npublic typealias StringLiteralType = String\\n```\\n\\n\",\"title\":\"`[FileElement].StringLiteralType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/typealiases/array.stringliteraltype\",\"LLMS_URL\":\"/ja/references/project-description/typealiases/array.stringliteraltype.md\"}},{\"path\":\"/ja/references/project-description/typealiases/array.unicodescalarliteraltype.md\",\"url\":\"/ja/references/project-description/typealiases/array.unicodescalarliteraltype\",\"llmUrl\":\"/ja/references/project-description/typealiases/array.unicodescalarliteraltype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/typealiases/array.unicodescalarliteraltype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/typealiases/array.unicodescalarliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `[FileElement].UnicodeScalarLiteralType`\\n\\n```swift\\npublic typealias UnicodeScalarLiteralType = String\\n```\\n\\n\",\"title\":\"`[FileElement].UnicodeScalarLiteralType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/typealiases/array.unicodescalarliteraltype\",\"LLMS_URL\":\"/ja/references/project-description/typealiases/array.unicodescalarliteraltype.md\"}},{\"path\":\"/ja/references/project-description/typealiases/config.md\",\"url\":\"/ja/references/project-description/typealiases/config\",\"llmUrl\":\"/ja/references/project-description/typealiases/config.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/typealiases/config\\\"\\nLLMS_URL: \\\"/ja/references/project-description/typealiases/config.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `Config`\\n\\n```swift\\npublic typealias Config = Tuist\\n```\\n\\nThe configuration of your environment.\\n\\nTuist can be configured through a shared `Tuist.swift` manifest.\\nWhen Tuist is executed, it traverses up the directories to find `Tuist.swift` file.\\nDefining a configuration manifest is not required, but recommended to ensure a consistent behaviour across all the projects\\nthat are part of the repository.\\n\\nThe example below shows a project that has a global `Tuist.swift` file that will be used when Tuist is run from any of the\\nsubdirectories:\\n\\n```bash\\n/Workspace.swift\\n/Tuist.swift # Configuration manifest\\n/Framework/Project.swift\\n/App/Project.swift\\n```\\n\\nThat way, when executing Tuist in any of the subdirectories, it will use the shared configuration.\\n\\nThe snippet below shows an example configuration manifest:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Config(project: .tuist(generationOptions: .options(resolveDependenciesWithSystemScm: false)))\\n\\n```\\n\",\"title\":\"`Config`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/typealiases/config\",\"LLMS_URL\":\"/ja/references/project-description/typealiases/config.md\"}},{\"path\":\"/ja/references/project-description/typealiases/destinations.md\",\"url\":\"/ja/references/project-description/typealiases/destinations\",\"llmUrl\":\"/ja/references/project-description/typealiases/destinations.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/typealiases/destinations\\\"\\nLLMS_URL: \\\"/ja/references/project-description/typealiases/destinations.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `Destinations`\\n\\n```swift\\npublic typealias Destinations = Set\\n```\\n\\nSet of deployment destinations\\n\",\"title\":\"`Destinations`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/typealiases/destinations\",\"LLMS_URL\":\"/ja/references/project-description/typealiases/destinations.md\"}},{\"path\":\"/ja/references/project-description/typealiases/platformfilters.md\",\"url\":\"/ja/references/project-description/typealiases/platformfilters\",\"llmUrl\":\"/ja/references/project-description/typealiases/platformfilters.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/typealiases/platformfilters\\\"\\nLLMS_URL: \\\"/ja/references/project-description/typealiases/platformfilters.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `PlatformFilters`\\n\\n```swift\\npublic typealias PlatformFilters = Set\\n```\\n\\n\",\"title\":\"`PlatformFilters`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/typealiases/platformfilters\",\"LLMS_URL\":\"/ja/references/project-description/typealiases/platformfilters.md\"}},{\"path\":\"/ja/references/project-description/typealiases/runactionoptions.simulatedlocation.md\",\"url\":\"/ja/references/project-description/typealiases/runactionoptions.simulatedlocation\",\"llmUrl\":\"/ja/references/project-description/typealiases/runactionoptions.simulatedlocation.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/typealiases/runactionoptions.simulatedlocation\\\"\\nLLMS_URL: \\\"/ja/references/project-description/typealiases/runactionoptions.simulatedlocation.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `RunActionOptions.SimulatedLocation`\\n\\n```swift\\npublic typealias SimulatedLocation = ProjectDescription.SimulatedLocation\\n```\\n\\n\",\"title\":\"`RunActionOptions.SimulatedLocation`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/typealiases/runactionoptions.simulatedlocation\",\"LLMS_URL\":\"/ja/references/project-description/typealiases/runactionoptions.simulatedlocation.md\"}},{\"path\":\"/ja/references/project-description/typealiases/settingsdictionary.md\",\"url\":\"/ja/references/project-description/typealiases/settingsdictionary\",\"llmUrl\":\"/ja/references/project-description/typealiases/settingsdictionary.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/typealiases/settingsdictionary\\\"\\nLLMS_URL: \\\"/ja/references/project-description/typealiases/settingsdictionary.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `SettingsDictionary`\\n\\n```swift\\npublic typealias SettingsDictionary = [String: SettingValue]\\n```\\n\\n\",\"title\":\"`SettingsDictionary`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/typealiases/settingsdictionary\",\"LLMS_URL\":\"/ja/references/project-description/typealiases/settingsdictionary.md\"}},{\"path\":\"/ja/references/project-description/typealiases/settingvalue.booleanliteraltype.md\",\"url\":\"/ja/references/project-description/typealiases/settingvalue.booleanliteraltype\",\"llmUrl\":\"/ja/references/project-description/typealiases/settingvalue.booleanliteraltype.md\",\"content\":\"---\\nURL: \\\"/ja/references/project-description/typealiases/settingvalue.booleanliteraltype\\\"\\nLLMS_URL: \\\"/ja/references/project-description/typealiases/settingvalue.booleanliteraltype.md\\\"\\n---\\n\\n**TYPEALIAS**\\n\\n# `SettingValue.BooleanLiteralType`\\n\\n```swift\\npublic typealias BooleanLiteralType = Bool\\n```\\n\\n\",\"title\":\"`SettingValue.BooleanLiteralType`\",\"frontmatter\":{\"URL\":\"/ja/references/project-description/typealiases/settingvalue.booleanliteraltype\",\"LLMS_URL\":\"/ja/references/project-description/typealiases/settingvalue.booleanliteraltype.md\"}},{\"path\":\"/ko.md\",\"url\":\"/ko\",\"llmUrl\":\"/ko.md\",\"content\":\"---\\nURL: \\\"/ko\\\"\\nLLMS_URL: \\\"/ko.md\\\"\\ntitle: \\\"Tuist란?\\\"\\ndescription: \\\"Apple의 기본 도구를 확장하여 더 나은 앱을 효과적으로 개발하세요.\\\"\\n---\\n\\n\\n\\n# From idea to the store\\n\\n우리는 **더 나은 앱을 더 빠르게 개발할 수 있도록 Apple의 기본 도구와 통합된 확장 도구**입니다.\\n\\n \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n\\n\\n## Installation\\n\\nTuist를 설치하고 `tuist init`을 수행해 시작합니다:\\n\\n::: code-group\\n\\n```bash [Homebrew]\\nbrew tap tuist/tuist\\nbrew install --formula tuist\\n\\ntuist init\\n```\\n\\n```bash [Mise]\\nmise x tuist@latest -- tuist init\\n```\\n\\n:::\\n\\n더 자세한 내용은 설치 가이드 를 확인하세요.\\n\\n## 더 알아보기\\n\\n몇 분 안에 Tuist를 사용해 보고, Tuist를 최대한 활용하는 방법을 배워봅니다.\\n\\n\\n \\n \\n \\n\\n\\n## 최신 내용 확인\\n\\n우리 팀의 발표를 확인하세요. 최신 정보를 얻고 전문성을 키워보세요.\\n\\n\\n\\n## 커뮤니티 참여\\n\\n소스 코드를 확인하고, 다른 사람들과 교류하며 소통하세요.\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\",\"title\":\"Tuist란?\",\"frontmatter\":{\"URL\":\"/ko\",\"LLMS_URL\":\"/ko.md\",\"title\":\"Tuist란?\",\"description\":\"Apple의 기본 도구를 확장하여 더 나은 앱을 효과적으로 개발하세요.\"}},{\"path\":\"/ko/cli/account.md\",\"url\":\"/ko/cli/account\",\"llmUrl\":\"/ko/cli/account.md\",\"content\":\"---\\nURL: \\\"/ko/cli/account\\\"\\nLLMS_URL: \\\"/ko/cli/account.md\\\"\\n---\\n\\n# tuist account\\nA set of commands to manage your Tuist account\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist account -h\\ntuist account --help\\n```\\n\\n\",\"title\":\"tuist account\",\"frontmatter\":{\"URL\":\"/ko/cli/account\",\"LLMS_URL\":\"/ko/cli/account.md\"}},{\"path\":\"/ko/cli/account/update.md\",\"url\":\"/ko/cli/account/update\",\"llmUrl\":\"/ko/cli/account/update.md\",\"content\":\"---\\nURL: \\\"/ko/cli/account/update\\\"\\nLLMS_URL: \\\"/ko/cli/account/update.md\\\"\\n---\\n\\n# tuist account update\\nUpdate account settings.\\n\\n## Arguments\\n\\n### account-handle \\n\\nThe account handle of the account to update. If omitted, defaults to the account you're currently authenticated as.\\n```bash\\ntuist account update [account-handle]\\n```\\n\\n### handle \\n\\nThe new handle.\\n```bash\\ntuist account update --handle [handle]\\n```\\n\\n### path \\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist account update --path [path]\\ntuist account update -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist account update -h\\ntuist account update --help\\n```\\n\\n\",\"title\":\"tuist account update\",\"frontmatter\":{\"URL\":\"/ko/cli/account/update\",\"LLMS_URL\":\"/ko/cli/account/update.md\"}},{\"path\":\"/ko/cli/auth.md\",\"url\":\"/ko/cli/auth\",\"llmUrl\":\"/ko/cli/auth.md\",\"content\":\"---\\nURL: \\\"/ko/cli/auth\\\"\\nLLMS_URL: \\\"/ko/cli/auth.md\\\"\\n---\\n\\n# tuist auth\\nManage authentication\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth -h\\ntuist auth --help\\n```\\n\\n\",\"title\":\"tuist auth\",\"frontmatter\":{\"URL\":\"/ko/cli/auth\",\"LLMS_URL\":\"/ko/cli/auth.md\"}},{\"path\":\"/ko/cli/auth/login.md\",\"url\":\"/ko/cli/auth/login\",\"llmUrl\":\"/ko/cli/auth/login.md\",\"content\":\"---\\nURL: \\\"/ko/cli/auth/login\\\"\\nLLMS_URL: \\\"/ko/cli/auth/login.md\\\"\\n---\\n\\n# tuist auth login\\nLog in a user\\n\\n## Arguments\\n\\n### email \\n\\n**Environment variable** `TUIST_AUTH_EMAIL`\\n\\nEmail to authenticate with.\\n```bash\\ntuist auth login --email [email]\\n```\\n\\n### password \\n\\n**Environment variable** `TUIST_AUTH_PASSWORD`\\n\\nPassword to authenticate with.\\n```bash\\ntuist auth login --password [password]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_AUTH_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth login --path [path]\\ntuist auth login -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth login -h\\ntuist auth login --help\\n```\\n\\n\",\"title\":\"tuist auth login\",\"frontmatter\":{\"URL\":\"/ko/cli/auth/login\",\"LLMS_URL\":\"/ko/cli/auth/login.md\"}},{\"path\":\"/ko/cli/auth/logout.md\",\"url\":\"/ko/cli/auth/logout\",\"llmUrl\":\"/ko/cli/auth/logout.md\",\"content\":\"---\\nURL: \\\"/ko/cli/auth/logout\\\"\\nLLMS_URL: \\\"/ko/cli/auth/logout.md\\\"\\n---\\n\\n# tuist auth logout\\nRemoves an existing Tuist session.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LOGOUT_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth logout --path [path]\\ntuist auth logout -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth logout -h\\ntuist auth logout --help\\n```\\n\\n\",\"title\":\"tuist auth logout\",\"frontmatter\":{\"URL\":\"/ko/cli/auth/logout\",\"LLMS_URL\":\"/ko/cli/auth/logout.md\"}},{\"path\":\"/ko/cli/auth/refresh-token.md\",\"url\":\"/ko/cli/auth/refresh-token\",\"llmUrl\":\"/ko/cli/auth/refresh-token.md\",\"content\":\"---\\nURL: \\\"/ko/cli/auth/refresh-token\\\"\\nLLMS_URL: \\\"/ko/cli/auth/refresh-token.md\\\"\\n---\\n\\n# tuist auth refresh-token\\nRefreshes the token for a particular URL\\n\\n## Arguments\\n\\n### server-url \\n\\n**Environment variable** `TUIST_AUTH_REFRESH_TOKEN_SERVER_URL`\\n\\nThe URL of the server the token is being refreshed for.\\n```bash\\ntuist auth refresh-token [server-url]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth refresh-token -h\\ntuist auth refresh-token --help\\n```\\n\\n\",\"title\":\"tuist auth refresh-token\",\"frontmatter\":{\"URL\":\"/ko/cli/auth/refresh-token\",\"LLMS_URL\":\"/ko/cli/auth/refresh-token.md\"}},{\"path\":\"/ko/cli/auth/whoami.md\",\"url\":\"/ko/cli/auth/whoami\",\"llmUrl\":\"/ko/cli/auth/whoami.md\",\"content\":\"---\\nURL: \\\"/ko/cli/auth/whoami\\\"\\nLLMS_URL: \\\"/ko/cli/auth/whoami.md\\\"\\n---\\n\\n# tuist auth whoami\\nDisplay the user's email identity currently authenticated and in use.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_WHOAMI_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist auth whoami --path [path]\\ntuist auth whoami -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist auth whoami -h\\ntuist auth whoami --help\\n```\\n\\n\",\"title\":\"tuist auth whoami\",\"frontmatter\":{\"URL\":\"/ko/cli/auth/whoami\",\"LLMS_URL\":\"/ko/cli/auth/whoami.md\"}},{\"path\":\"/ko/cli/build.md\",\"url\":\"/ko/cli/build\",\"llmUrl\":\"/ko/cli/build.md\",\"content\":\"---\\nURL: \\\"/ko/cli/build\\\"\\nLLMS_URL: \\\"/ko/cli/build.md\\\"\\n---\\n\\n# tuist build\\nBuilds a project\\n\\n## Arguments\\n\\n### scheme \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_SCHEME`\\n\\nThe scheme to be built. By default it builds all the buildable schemes of the project in the current directory.\\n```bash\\ntuist build [scheme]\\n```\\n\\n### generate \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_GENERATE`\\n\\nForce the generation of the project before building.\\n```bash\\ntuist build --generate\\ntuist build --no-generate\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_CLEAN`\\n\\nWhen passed, it cleans the project before building it\\n```bash\\ntuist build --clean\\ntuist build --no-clean\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PATH`\\n\\nThe path to the directory that contains the project to be built.\\n```bash\\ntuist build --path [path]\\ntuist build -p [path]\\n```\\n\\n### device \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_DEVICE`\\n\\nBuild on a specific device.\\n```bash\\ntuist build --device [device]\\ntuist build -d [device]\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PLATFORM`\\n\\nBuild for a specific platform.\\n```bash\\ntuist build --platform [platform]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_OS`\\n\\nBuild with a specific version of the OS.\\n```bash\\ntuist build --os [os]\\ntuist build -o [os]\\n```\\n\\n### rosetta \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_ROSETTA`\\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist build --rosetta\\ntuist build --no-rosetta\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_CONFIGURATION`\\n\\nThe configuration to be used when building the scheme.\\n```bash\\ntuist build --configuration [configuration]\\ntuist build -C [configuration]\\n```\\n\\n### build-output-path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_BUILD_OUTPUT_PATH`\\n\\nThe directory where build products will be copied to when the project is built.\\n```bash\\ntuist build --build-output-path [build-output-path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_DERIVED_DATA_PATH`\\n\\nOverrides the folder that should be used for derived data when building the project.\\n```bash\\ntuist build --derived-data-path [derived-data-path]\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips building. This is useful for debugging purposes.\\n```bash\\ntuist build --generate-only\\ntuist build --no-generate-only\\n```\\n\\n### passthrough-xcode-build-arguments \\n\\n**Environment variable** `TUIST_BUILD_OPTIONS_PASSTHROUGH_XCODE_BUILD_ARGUMENTS`\\n\\nArguments that will be passed through to xcodebuild\\n```bash\\ntuist build [passthrough-xcode-build-arguments]\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_BUILD_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist build --binary-cache\\ntuist build --no-binary-cache\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist build -h\\ntuist build --help\\n```\\n\\n\",\"title\":\"tuist build\",\"frontmatter\":{\"URL\":\"/ko/cli/build\",\"LLMS_URL\":\"/ko/cli/build.md\"}},{\"path\":\"/ko/cli/cache.md\",\"url\":\"/ko/cli/cache\",\"llmUrl\":\"/ko/cli/cache.md\",\"content\":\"---\\nURL: \\\"/ko/cli/cache\\\"\\nLLMS_URL: \\\"/ko/cli/cache.md\\\"\\n---\\n\\n# tuist cache\\nWarms the local and remote cache.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist cache --path [path]\\ntuist cache -p [path]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_CACHE_CONFIGURATION`\\n\\nConfiguration to use for binary caching.\\n```bash\\ntuist cache --configuration [configuration]\\ntuist cache -c [configuration]\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_CACHE_TARGETS`\\n\\nA list of targets to cache. Those and their dependant targets will be cached. If no target is specified, all the project targets (excluding the external ones) and their dependencies will be cached.\\n```bash\\ntuist cache [targets]\\n```\\n\\n### external-only \\n\\n**Environment variable** `TUIST_CACHE_EXTERNAL_ONLY`\\n\\nIf passed, the command doesn't cache the targets passed in the `--targets` argument, but only their dependencies\\n```bash\\ntuist cache --external-only\\ntuist cache --no-external-only\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_CACHE_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips warming the cache. This is useful for debugging purposes.\\n```bash\\ntuist cache --generate-only\\ntuist cache --no-generate-only\\n```\\n\\n### print-hashes \\n\\n**Environment variable** `TUIST_CACHE_PRINT_HASHES`\\n\\nWhen passed, the hashes of the cacheable frameworks in the given project are printed.\\n```bash\\ntuist cache --print-hashes\\ntuist cache --no-print-hashes\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist cache -h\\ntuist cache --help\\n```\\n\\n\",\"title\":\"tuist cache\",\"frontmatter\":{\"URL\":\"/ko/cli/cache\",\"LLMS_URL\":\"/ko/cli/cache.md\"}},{\"path\":\"/ko/cli/clean.md\",\"url\":\"/ko/cli/clean\",\"llmUrl\":\"/ko/cli/clean.md\",\"content\":\"---\\nURL: \\\"/ko/cli/clean\\\"\\nLLMS_URL: \\\"/ko/cli/clean.md\\\"\\n---\\n\\n# tuist clean\\nClean all the artifacts stored locally\\n\\n## Arguments\\n\\n### clean-categories \\n\\n**Environment variable** `TUIST_CLEAN_CLEAN_CATEGORIES`\\n\\nThe cache and artifact categories to be cleaned. If no category is specified, everything is cleaned.\\n```bash\\ntuist clean [clean-categories]\\n```\\n\\n### remote \\n\\n**Environment variable** `TUIST_CLEAN_REMOTE`\\n\\nClean the remote cache\\n```bash\\ntuist clean --remote\\ntuist clean --no-remote\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_CLEAN_PATH`\\n\\nThe path to the directory that contains the project that should be cleaned.\\n```bash\\ntuist clean --path [path]\\ntuist clean -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist clean -h\\ntuist clean --help\\n```\\n\\n\",\"title\":\"tuist clean\",\"frontmatter\":{\"URL\":\"/ko/cli/clean\",\"LLMS_URL\":\"/ko/cli/clean.md\"}},{\"path\":\"/ko/cli/dump.md\",\"url\":\"/ko/cli/dump\",\"llmUrl\":\"/ko/cli/dump.md\",\"content\":\"---\\nURL: \\\"/ko/cli/dump\\\"\\nLLMS_URL: \\\"/ko/cli/dump.md\\\"\\n---\\n\\n# tuist dump\\nOutputs the manifest as a JSON\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_DUMP_PATH`\\n\\nThe path to the folder where the manifest is\\n```bash\\ntuist dump --path [path]\\ntuist dump -p [path]\\n```\\n\\n### manifest \\n\\n**Environment variable** `TUIST_DUMP_MANIFEST`\\n\\nThe manifest to be dumped\\n```bash\\ntuist dump [manifest]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist dump -h\\ntuist dump --help\\n```\\n\\n\",\"title\":\"tuist dump\",\"frontmatter\":{\"URL\":\"/ko/cli/dump\",\"LLMS_URL\":\"/ko/cli/dump.md\"}},{\"path\":\"/ko/cli/edit.md\",\"url\":\"/ko/cli/edit\",\"llmUrl\":\"/ko/cli/edit.md\",\"content\":\"---\\nURL: \\\"/ko/cli/edit\\\"\\nLLMS_URL: \\\"/ko/cli/edit.md\\\"\\n---\\n\\n# tuist edit\\nGenerates a temporary project to edit the project in the current directory\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_EDIT_PATH`\\n\\nThe path to the directory whose project will be edited\\n```bash\\ntuist edit --path [path]\\ntuist edit -p [path]\\n```\\n\\n### permanent \\n\\n**Environment variable** `TUIST_EDIT_PERMANENT`\\n\\nIt creates the project in the current directory or the one indicated by -p and doesn't block the process\\n```bash\\ntuist edit --permanent\\ntuist edit -P\\ntuist edit --no-permanent\\n```\\n\\n### only-current-directory \\n\\n**Environment variable** `TUIST_EDIT_ONLY_CURRENT_DIRECTORY`\\n\\nIt only includes the manifest in the current directory.\\n```bash\\ntuist edit --only-current-directory\\ntuist edit -o\\ntuist edit --no-only-current-directory\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist edit -h\\ntuist edit --help\\n```\\n\\n\",\"title\":\"tuist edit\",\"frontmatter\":{\"URL\":\"/ko/cli/edit\",\"LLMS_URL\":\"/ko/cli/edit.md\"}},{\"path\":\"/ko/cli/generate.md\",\"url\":\"/ko/cli/generate\",\"llmUrl\":\"/ko/cli/generate.md\",\"content\":\"---\\nURL: \\\"/ko/cli/generate\\\"\\nLLMS_URL: \\\"/ko/cli/generate.md\\\"\\n---\\n\\n# tuist generate\\nGenerates an Xcode workspace to start working on the project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_GENERATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist generate --path [path]\\ntuist generate -p [path]\\n```\\n\\n### query \\n\\nTargets 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 the project targets will be generated (except external ones, such as Swift packages).\\n```bash\\ntuist generate [query]\\n```\\n\\n### open \\n\\n**Environment variable** `TUIST_GENERATE_OPEN`\\n\\nDon't open the project after generating it.\\n```bash\\ntuist generate --open\\ntuist generate -o\\ntuist generate --no-open\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_GENERATE_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist generate --binary-cache\\ntuist generate --no-binary-cache\\n```\\n\\n### configuration \\n\\nConfiguration to generate for.\\n```bash\\ntuist generate --configuration [configuration]\\ntuist generate -c [configuration]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist generate -h\\ntuist generate --help\\n```\\n\\n\",\"title\":\"tuist generate\",\"frontmatter\":{\"URL\":\"/ko/cli/generate\",\"LLMS_URL\":\"/ko/cli/generate.md\"}},{\"path\":\"/ko/cli/graph.md\",\"url\":\"/ko/cli/graph\",\"llmUrl\":\"/ko/cli/graph.md\",\"content\":\"---\\nURL: \\\"/ko/cli/graph\\\"\\nLLMS_URL: \\\"/ko/cli/graph.md\\\"\\n---\\n\\n# tuist graph\\nGenerates a graph from the workspace or project in the current directory\\n\\n## Arguments\\n\\n### skip-test-targets \\n\\n**Environment variable** `TUIST_GRAPH_SKIP_TEST_TARGETS`\\n\\nSkip Test targets during graph rendering.\\n```bash\\ntuist graph -t\\ntuist graph --skip-test-targets\\ntuist graph --no-skip-test-targets\\n```\\n\\n### skip-external-dependencies \\n\\n**Environment variable** `TUIST_GRAPH_SKIP_EXTERNAL_DEPENDENCIES`\\n\\nSkip external dependencies.\\n```bash\\ntuist graph -d\\ntuist graph --skip-external-dependencies\\ntuist graph --no-skip-external-dependencies\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_GRAPH_PLATFORM`\\n\\nA platform to filter. Only targets for this platform will be showed in the graph. Available platforms: ios, macos, tvos, watchos\\n```bash\\ntuist graph -l [platform]\\ntuist graph --platform [platform]\\n```\\n\\n### format \\n\\n**Environment variable** `TUIST_GRAPH_FORMAT`\\n\\nAvailable formats: dot, json, png, svg\\n```bash\\ntuist graph -f [format]\\ntuist graph --format [format]\\n```\\n\\n### open \\n\\n**Environment variable** `TUIST_GRAPH_OPEN`\\n\\nDon't open the file after generating it.\\n```bash\\ntuist graph --open\\ntuist graph --no-open\\n```\\n\\n### algorithm \\n\\n**Environment variable** `TUIST_GRAPH_LAYOUT_ALGORITHM`\\n\\nAvailable formats: dot, neato, twopi, circo, fdp, sfdp, patchwork\\n```bash\\ntuist graph -a [algorithm]\\ntuist graph --algorithm [algorithm]\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_GRAPH_TARGETS`\\n\\nA list of targets to filter. Those and their dependent targets will be showed in the graph.\\n```bash\\ntuist graph [targets]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_GRAPH_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist graph --path [path]\\ntuist graph -p [path]\\n```\\n\\n### output-path \\n\\n**Environment variable** `TUIST_GRAPH_OUTPUT_PATH`\\n\\nThe path where the graph will be generated.\\n```bash\\ntuist graph --output-path [output-path]\\ntuist graph -o [output-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist graph -h\\ntuist graph --help\\n```\\n\\n\",\"title\":\"tuist graph\",\"frontmatter\":{\"URL\":\"/ko/cli/graph\",\"LLMS_URL\":\"/ko/cli/graph.md\"}},{\"path\":\"/ko/cli/hash.md\",\"url\":\"/ko/cli/hash\",\"llmUrl\":\"/ko/cli/hash.md\",\"content\":\"---\\nURL: \\\"/ko/cli/hash\\\"\\nLLMS_URL: \\\"/ko/cli/hash.md\\\"\\n---\\n\\n# tuist hash\\nUtilities to debug the hashing logic used by features like binary caching or selective testing.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash -h\\ntuist hash --help\\n```\\n\\n\",\"title\":\"tuist hash\",\"frontmatter\":{\"URL\":\"/ko/cli/hash\",\"LLMS_URL\":\"/ko/cli/hash.md\"}},{\"path\":\"/ko/cli/hash/cache.md\",\"url\":\"/ko/cli/hash/cache\",\"llmUrl\":\"/ko/cli/hash/cache.md\",\"content\":\"---\\nURL: \\\"/ko/cli/hash/cache\\\"\\nLLMS_URL: \\\"/ko/cli/hash/cache.md\\\"\\n---\\n\\n# tuist hash cache\\nReturns the hashes that will be used to persist binaries of the graph in its current state to the cache.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_HASH_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose targets will be cached.\\n```bash\\ntuist hash cache --path [path]\\ntuist hash cache -p [path]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_HASH_CACHE_CONFIGURATION`\\n\\nThe project configuration the cache binaries will be bound to.\\n```bash\\ntuist hash cache --configuration [configuration]\\ntuist hash cache -c [configuration]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash cache -h\\ntuist hash cache --help\\n```\\n\\n\",\"title\":\"tuist hash cache\",\"frontmatter\":{\"URL\":\"/ko/cli/hash/cache\",\"LLMS_URL\":\"/ko/cli/hash/cache.md\"}},{\"path\":\"/ko/cli/hash/selective-testing.md\",\"url\":\"/ko/cli/hash/selective-testing\",\"llmUrl\":\"/ko/cli/hash/selective-testing.md\",\"content\":\"---\\nURL: \\\"/ko/cli/hash/selective-testing\\\"\\nLLMS_URL: \\\"/ko/cli/hash/selective-testing.md\\\"\\n---\\n\\n# tuist hash selective-testing\\nReturns the hashes that will be used to persist targets' test results to select tests in future test runs.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_HASH_CACHE_PATH`\\n\\nThe path to the directory that contains the project whose tests will run selectively.\\n```bash\\ntuist hash selective-testing --path [path]\\ntuist hash selective-testing -p [path]\\n```\\n\\n### passthrough-xcodebuild-arguments \\n\\nWhen running tests selectively through 'tuist xcodebuild test', the additional 'xcodebuild' arguments that you'd pass, some of which are hashed.\\n```bash\\ntuist hash selective-testing [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist hash selective-testing -h\\ntuist hash selective-testing --help\\n```\\n\\n\",\"title\":\"tuist hash selective-testing\",\"frontmatter\":{\"URL\":\"/ko/cli/hash/selective-testing\",\"LLMS_URL\":\"/ko/cli/hash/selective-testing.md\"}},{\"path\":\"/ko/cli/init.md\",\"url\":\"/ko/cli/init\",\"llmUrl\":\"/ko/cli/init.md\",\"content\":\"---\\nURL: \\\"/ko/cli/init\\\"\\nLLMS_URL: \\\"/ko/cli/init.md\\\"\\n---\\n\\n# tuist init\\nGet started with Tuist in your Xcode project or create a generated project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INIT_PATH`\\n\\nThe path to the directory from where to start.\\n```bash\\ntuist init --path [path]\\ntuist init -p [path]\\n```\\n\\n### answers \\n\\n**Environment variable** `TUIST_INIT_PATH`\\n\\nBase64-encoded prompt answers\\n```bash\\ntuist init --answers [answers]\\ntuist init -a [answers]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist init -h\\ntuist init --help\\n```\\n\\n\",\"title\":\"tuist init\",\"frontmatter\":{\"URL\":\"/ko/cli/init\",\"LLMS_URL\":\"/ko/cli/init.md\"}},{\"path\":\"/ko/cli/inspect.md\",\"url\":\"/ko/cli/inspect\",\"llmUrl\":\"/ko/cli/inspect.md\",\"content\":\"---\\nURL: \\\"/ko/cli/inspect\\\"\\nLLMS_URL: \\\"/ko/cli/inspect.md\\\"\\n---\\n\\n# tuist inspect\\nInspect your project to identify issues such as implicit or redundant dependencies.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect -h\\ntuist inspect --help\\n```\\n\\n\",\"title\":\"tuist inspect\",\"frontmatter\":{\"URL\":\"/ko/cli/inspect\",\"LLMS_URL\":\"/ko/cli/inspect.md\"}},{\"path\":\"/ko/cli/inspect/build.md\",\"url\":\"/ko/cli/inspect/build\",\"llmUrl\":\"/ko/cli/inspect/build.md\",\"content\":\"---\\nURL: \\\"/ko/cli/inspect/build\\\"\\nLLMS_URL: \\\"/ko/cli/inspect/build.md\\\"\\n---\\n\\n# tuist inspect build\\nInspects the latest build.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INSPECT_BUILD_PATH`\\n\\nThe path to the directory that contains the project to inspect the latest build for.\\n```bash\\ntuist inspect build --path [path]\\ntuist inspect build -p [path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_INSPECT_BUILD_DERIVED_DATA_PATH`\\n\\nThe path to the directory containing the project's derived data artifacts.\\n```bash\\ntuist inspect build --derived-data-path [derived-data-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect build -h\\ntuist inspect build --help\\n```\\n\\n\",\"title\":\"tuist inspect build\",\"frontmatter\":{\"URL\":\"/ko/cli/inspect/build\",\"LLMS_URL\":\"/ko/cli/inspect/build.md\"}},{\"path\":\"/ko/cli/inspect/bundle.md\",\"url\":\"/ko/cli/inspect/bundle\",\"llmUrl\":\"/ko/cli/inspect/bundle.md\",\"content\":\"---\\nURL: \\\"/ko/cli/inspect/bundle\\\"\\nLLMS_URL: \\\"/ko/cli/inspect/bundle.md\\\"\\n---\\n\\n# tuist inspect bundle\\nInspects an app bundle. The app bundle has to be either `.app`, `.xcarchive` or `.ipa`.\\n\\n## Arguments\\n\\n### bundle \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE`\\n\\nThe path to the bundle.\\n```bash\\ntuist inspect bundle [bundle]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist inspect bundle --json\\ntuist inspect bundle --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_INSPECT_BUNDLE_PATH`\\n\\nThe path to the directory that contains the project associated with the inspected bundle.\\n```bash\\ntuist inspect bundle --path [path]\\ntuist inspect bundle -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect bundle -h\\ntuist inspect bundle --help\\n```\\n\\n\",\"title\":\"tuist inspect bundle\",\"frontmatter\":{\"URL\":\"/ko/cli/inspect/bundle\",\"LLMS_URL\":\"/ko/cli/inspect/bundle.md\"}},{\"path\":\"/ko/cli/inspect/implicit-imports.md\",\"url\":\"/ko/cli/inspect/implicit-imports\",\"llmUrl\":\"/ko/cli/inspect/implicit-imports.md\",\"content\":\"---\\nURL: \\\"/ko/cli/inspect/implicit-imports\\\"\\nLLMS_URL: \\\"/ko/cli/inspect/implicit-imports.md\\\"\\n---\\n\\n# tuist inspect implicit-imports\\nFind implicit imports in Tuist projects failing when cases are found.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LINT_IMPLICIT_DEPENDENCIES_PATH`\\n\\nThe path to the directory that contains the project.\\n```bash\\ntuist inspect implicit-imports --path [path]\\ntuist inspect implicit-imports -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect implicit-imports -h\\ntuist inspect implicit-imports --help\\n```\\n\\n\",\"title\":\"tuist inspect implicit-imports\",\"frontmatter\":{\"URL\":\"/ko/cli/inspect/implicit-imports\",\"LLMS_URL\":\"/ko/cli/inspect/implicit-imports.md\"}},{\"path\":\"/ko/cli/inspect/redundant-imports.md\",\"url\":\"/ko/cli/inspect/redundant-imports\",\"llmUrl\":\"/ko/cli/inspect/redundant-imports.md\",\"content\":\"---\\nURL: \\\"/ko/cli/inspect/redundant-imports\\\"\\nLLMS_URL: \\\"/ko/cli/inspect/redundant-imports.md\\\"\\n---\\n\\n# tuist inspect redundant-imports\\nFind redundant imports in Tuist projects failing when cases are found.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_LINT_REDUNDANT_DEPENDENCIES_PATH`\\n\\nThe path to the directory that contains the project.\\n```bash\\ntuist inspect redundant-imports --path [path]\\ntuist inspect redundant-imports -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist inspect redundant-imports -h\\ntuist inspect redundant-imports --help\\n```\\n\\n\",\"title\":\"tuist inspect redundant-imports\",\"frontmatter\":{\"URL\":\"/ko/cli/inspect/redundant-imports\",\"LLMS_URL\":\"/ko/cli/inspect/redundant-imports.md\"}},{\"path\":\"/ko/cli/install.md\",\"url\":\"/ko/cli/install\",\"llmUrl\":\"/ko/cli/install.md\",\"content\":\"---\\nURL: \\\"/ko/cli/install\\\"\\nLLMS_URL: \\\"/ko/cli/install.md\\\"\\n---\\n\\n# tuist install\\nInstalls any remote content (e.g. dependencies) necessary to interact with the project.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_INSTALL_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist install --path [path]\\ntuist install -p [path]\\n```\\n\\n### update \\n\\n**Environment variable** `TUIST_INSTALL_UPDATE`\\n\\nInstead of simple install, update external content when available.\\n```bash\\ntuist install --update\\ntuist install -u\\ntuist install --no-update\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist install -h\\ntuist install --help\\n```\\n\\n\",\"title\":\"tuist install\",\"frontmatter\":{\"URL\":\"/ko/cli/install\",\"LLMS_URL\":\"/ko/cli/install.md\"}},{\"path\":\"/ko/cli/logging.md\",\"url\":\"/ko/cli/logging\",\"llmUrl\":\"/ko/cli/logging.md\",\"content\":\"---\\nURL: \\\"/ko/cli/logging\\\"\\nLLMS_URL: \\\"/ko/cli/logging.md\\\"\\ntitle: \\\"로깅\\\"\\ntitleTemplate: \\\":title · CLI · Tuist\\\"\\ndescription: \\\"Tuist의 로깅 활성화와 설정 방법 배우기.\\\"\\n---\\n\\n# 로깅 {#logging}\\n\\nCLI는 내부적으로 메세지를 기록하여 문제 확인에 도움을 줍니다.\\n\\n## 로깅 사용하여 문제 진단하기 {#diagnose-issues-using-logs}\\n\\n명령어 수행이 원하는 결과를 가져오지 못한다면, 로그를 살펴보면서 문제의 원인을 파악해 볼 수 있습니다. CLI가 로그를 [OSLog](https://developer.apple.com/documentation/os/oslog)와 파일 시스템으로 전달해줍니다.\\n\\n실행 시 마다, `$XDG_STATE_HOME/tuist/logs/{uuid}.log`경로에 로그 파일을 생성합니다. 환경 변수가 설정되어 있지 않다면, `$XDG_STATE_HOME`는 `~/.local/state`로 되어 있습니다.\\n\\n예기치 않게 실행이 종료되었을 때, 기본적으로 CLI는 로그 경로를 출력합니다. 만일 로그 경로가 출력되지 않았다면, 위에 명시된 경로에서 로그(가장 최근의 로그)를 확인할 수 있습니다.\\n\\n> [!중요]\\n> 민감한 정보는 지워지지 않으니, 로그를 공유할 때 주의하세요.\\n\\n### 지속적인 통합 {#diagnose-issues-using-logs-ci}\\n\\n환경 설정이 일회용인 CI에서, Tuist 로그를 추출하기 위해서 CI 파이프라인 설정을 할 수 있습니다.\\n아티팩트(artifacts) 추출은 CI 서비스에서 일반적으로 사용되는 기능이고, 서비스맏 설정이 다릅니다.\\n예를 들어, 깃헙 액션(GitHub Actions)에서는 `actions/upload-artifact` 액션을 사용해서 로그를 아티팩트로 업로드할 수 있습니다:\\n\\n```yaml\\nname: Node CI\\n\\non: [push]\\n\\nenv:\\n XDG_STATE_HOME: /tmp\\n\\njobs:\\n build:\\n runs-on: ubuntu-latest\\n steps:\\n - name: Checkout repository\\n uses: actions/checkout@v4\\n # ... other steps\\n - run: tuist generate\\n # ... do something with the project\\n - name: Export Tuist logs\\n uses: actions/upload-artifact@v4\\n with:\\n name: tuist-logs\\n path: /tmp/tuist/logs/*.log\\n```\\n\",\"title\":\"로깅\",\"frontmatter\":{\"URL\":\"/ko/cli/logging\",\"LLMS_URL\":\"/ko/cli/logging.md\",\"title\":\"로깅\",\"titleTemplate\":\":title · CLI · Tuist\",\"description\":\"Tuist의 로깅 활성화와 설정 방법 배우기.\"}},{\"path\":\"/ko/cli/mcp.md\",\"url\":\"/ko/cli/mcp\",\"llmUrl\":\"/ko/cli/mcp.md\",\"content\":\"---\\nURL: \\\"/ko/cli/mcp\\\"\\nLLMS_URL: \\\"/ko/cli/mcp.md\\\"\\n---\\n\\n# tuist mcp\\nCommands for interfacing with Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp -h\\ntuist mcp --help\\n```\\n\\n\",\"title\":\"tuist mcp\",\"frontmatter\":{\"URL\":\"/ko/cli/mcp\",\"LLMS_URL\":\"/ko/cli/mcp.md\"}},{\"path\":\"/ko/cli/mcp/setup.md\",\"url\":\"/ko/cli/mcp/setup\",\"llmUrl\":\"/ko/cli/mcp/setup.md\",\"content\":\"---\\nURL: \\\"/ko/cli/mcp/setup\\\"\\nLLMS_URL: \\\"/ko/cli/mcp/setup.md\\\"\\n---\\n\\n# tuist mcp setup\\nCommands to automate integrating clients with Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup -h\\ntuist mcp setup --help\\n```\\n\\n\",\"title\":\"tuist mcp setup\",\"frontmatter\":{\"URL\":\"/ko/cli/mcp/setup\",\"LLMS_URL\":\"/ko/cli/mcp/setup.md\"}},{\"path\":\"/ko/cli/mcp/setup/claude.md\",\"url\":\"/ko/cli/mcp/setup/claude\",\"llmUrl\":\"/ko/cli/mcp/setup/claude.md\",\"content\":\"---\\nURL: \\\"/ko/cli/mcp/setup/claude\\\"\\nLLMS_URL: \\\"/ko/cli/mcp/setup/claude.md\\\"\\n---\\n\\n# tuist mcp setup claude\\nConfigure your environment's Claude application to point to the Tuist's MCP server.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup claude -h\\ntuist mcp setup claude --help\\n```\\n\\n\",\"title\":\"tuist mcp setup claude\",\"frontmatter\":{\"URL\":\"/ko/cli/mcp/setup/claude\",\"LLMS_URL\":\"/ko/cli/mcp/setup/claude.md\"}},{\"path\":\"/ko/cli/mcp/setup/claude-code.md\",\"url\":\"/ko/cli/mcp/setup/claude-code\",\"llmUrl\":\"/ko/cli/mcp/setup/claude-code.md\",\"content\":\"---\\nURL: \\\"/ko/cli/mcp/setup/claude-code\\\"\\nLLMS_URL: \\\"/ko/cli/mcp/setup/claude-code.md\\\"\\n---\\n\\n# tuist mcp setup claude-code\\nSetup Claude Code to use Tuist's MCP server\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup claude-code -h\\ntuist mcp setup claude-code --help\\n```\\n\\n\",\"title\":\"tuist mcp setup claude-code\",\"frontmatter\":{\"URL\":\"/ko/cli/mcp/setup/claude-code\",\"LLMS_URL\":\"/ko/cli/mcp/setup/claude-code.md\"}},{\"path\":\"/ko/cli/mcp/setup/cursor.md\",\"url\":\"/ko/cli/mcp/setup/cursor\",\"llmUrl\":\"/ko/cli/mcp/setup/cursor.md\",\"content\":\"---\\nURL: \\\"/ko/cli/mcp/setup/cursor\\\"\\nLLMS_URL: \\\"/ko/cli/mcp/setup/cursor.md\\\"\\n---\\n\\n# tuist mcp setup cursor\\nSetup Cursor IDE to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup cursor --path [path]\\ntuist mcp setup cursor -p [path]\\n```\\n\\n### global \\n\\nConfigure Cursor globally instead of locally.\\n```bash\\ntuist mcp setup cursor --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup cursor -h\\ntuist mcp setup cursor --help\\n```\\n\\n\",\"title\":\"tuist mcp setup cursor\",\"frontmatter\":{\"URL\":\"/ko/cli/mcp/setup/cursor\",\"LLMS_URL\":\"/ko/cli/mcp/setup/cursor.md\"}},{\"path\":\"/ko/cli/mcp/setup/vscode.md\",\"url\":\"/ko/cli/mcp/setup/vscode\",\"llmUrl\":\"/ko/cli/mcp/setup/vscode.md\",\"content\":\"---\\nURL: \\\"/ko/cli/mcp/setup/vscode\\\"\\nLLMS_URL: \\\"/ko/cli/mcp/setup/vscode.md\\\"\\n---\\n\\n# tuist mcp setup vscode\\nSetup VS Code to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup vscode --path [path]\\ntuist mcp setup vscode -p [path]\\n```\\n\\n### global \\n\\nConfigure VS Code globally instead of locally.\\n```bash\\ntuist mcp setup vscode --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup vscode -h\\ntuist mcp setup vscode --help\\n```\\n\\n\",\"title\":\"tuist mcp setup vscode\",\"frontmatter\":{\"URL\":\"/ko/cli/mcp/setup/vscode\",\"LLMS_URL\":\"/ko/cli/mcp/setup/vscode.md\"}},{\"path\":\"/ko/cli/mcp/setup/zed.md\",\"url\":\"/ko/cli/mcp/setup/zed\",\"llmUrl\":\"/ko/cli/mcp/setup/zed.md\",\"content\":\"---\\nURL: \\\"/ko/cli/mcp/setup/zed\\\"\\nLLMS_URL: \\\"/ko/cli/mcp/setup/zed.md\\\"\\n---\\n\\n# tuist mcp setup zed\\nSetup Zed editor to use Tuist's MCP server\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory where the configuration should be created.\\n```bash\\ntuist mcp setup zed --path [path]\\ntuist mcp setup zed -p [path]\\n```\\n\\n### global \\n\\nConfigure Zed globally instead of locally.\\n```bash\\ntuist mcp setup zed --global\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp setup zed -h\\ntuist mcp setup zed --help\\n```\\n\\n\",\"title\":\"tuist mcp setup zed\",\"frontmatter\":{\"URL\":\"/ko/cli/mcp/setup/zed\",\"LLMS_URL\":\"/ko/cli/mcp/setup/zed.md\"}},{\"path\":\"/ko/cli/mcp/start.md\",\"url\":\"/ko/cli/mcp/start\",\"llmUrl\":\"/ko/cli/mcp/start.md\",\"content\":\"---\\nURL: \\\"/ko/cli/mcp/start\\\"\\nLLMS_URL: \\\"/ko/cli/mcp/start.md\\\"\\n---\\n\\n# tuist mcp start\\nStart an MCP server to interface LLMs with your local dev environment.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist mcp start -h\\ntuist mcp start --help\\n```\\n\\n\",\"title\":\"tuist mcp start\",\"frontmatter\":{\"URL\":\"/ko/cli/mcp/start\",\"LLMS_URL\":\"/ko/cli/mcp/start.md\"}},{\"path\":\"/ko/cli/migration.md\",\"url\":\"/ko/cli/migration\",\"llmUrl\":\"/ko/cli/migration.md\",\"content\":\"---\\nURL: \\\"/ko/cli/migration\\\"\\nLLMS_URL: \\\"/ko/cli/migration.md\\\"\\n---\\n\\n# tuist migration\\nA set of utilities to assist in the migration of Xcode projects to Tuist.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration -h\\ntuist migration --help\\n```\\n\\n\",\"title\":\"tuist migration\",\"frontmatter\":{\"URL\":\"/ko/cli/migration\",\"LLMS_URL\":\"/ko/cli/migration.md\"}},{\"path\":\"/ko/cli/migration/check-empty-settings.md\",\"url\":\"/ko/cli/migration/check-empty-settings\",\"llmUrl\":\"/ko/cli/migration/check-empty-settings.md\",\"content\":\"---\\nURL: \\\"/ko/cli/migration/check-empty-settings\\\"\\nLLMS_URL: \\\"/ko/cli/migration/check-empty-settings.md\\\"\\n---\\n\\n# tuist migration check-empty-settings\\nIt checks if the build settings of a project or target are empty. Otherwise it exits unsuccessfully.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_CHECK_EMPTY_SETTINGS_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration check-empty-settings -p [xcodeproj-path]\\ntuist migration check-empty-settings --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### target \\n\\n**Environment variable** `TUIST_MIGRATION_CHECK_EMPTY_SETTINGS_TARGET`\\n\\nThe name of the target whose build settings will be checked. When not passed, it checks the build settings of the project.\\n```bash\\ntuist migration check-empty-settings --target [target]\\ntuist migration check-empty-settings -t [target]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration check-empty-settings -h\\ntuist migration check-empty-settings --help\\n```\\n\\n\",\"title\":\"tuist migration check-empty-settings\",\"frontmatter\":{\"URL\":\"/ko/cli/migration/check-empty-settings\",\"LLMS_URL\":\"/ko/cli/migration/check-empty-settings.md\"}},{\"path\":\"/ko/cli/migration/list-targets.md\",\"url\":\"/ko/cli/migration/list-targets\",\"llmUrl\":\"/ko/cli/migration/list-targets.md\",\"content\":\"---\\nURL: \\\"/ko/cli/migration/list-targets\\\"\\nLLMS_URL: \\\"/ko/cli/migration/list-targets.md\\\"\\n---\\n\\n# tuist migration list-targets\\nIt lists the targets of a project sorted by number of dependencies.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_LIST_TARGETS_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration list-targets -p [xcodeproj-path]\\ntuist migration list-targets --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration list-targets -h\\ntuist migration list-targets --help\\n```\\n\\n\",\"title\":\"tuist migration list-targets\",\"frontmatter\":{\"URL\":\"/ko/cli/migration/list-targets\",\"LLMS_URL\":\"/ko/cli/migration/list-targets.md\"}},{\"path\":\"/ko/cli/migration/settings-to-xcconfig.md\",\"url\":\"/ko/cli/migration/settings-to-xcconfig\",\"llmUrl\":\"/ko/cli/migration/settings-to-xcconfig.md\",\"content\":\"---\\nURL: \\\"/ko/cli/migration/settings-to-xcconfig\\\"\\nLLMS_URL: \\\"/ko/cli/migration/settings-to-xcconfig.md\\\"\\n---\\n\\n# tuist migration settings-to-xcconfig\\nIt extracts the build settings from a project or a target into an xcconfig file.\\n\\n## Arguments\\n\\n### xcodeproj-path \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_XCODEPROJ_PATH`\\n\\nThe path to the Xcode project\\n```bash\\ntuist migration settings-to-xcconfig -p [xcodeproj-path]\\ntuist migration settings-to-xcconfig --xcodeproj-path [xcodeproj-path]\\n```\\n\\n### xcconfig-path \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_XCCONFIG_PATH`\\n\\nThe path to the .xcconfig file where build settings will be extracted.\\n```bash\\ntuist migration settings-to-xcconfig -x [xcconfig-path]\\ntuist migration settings-to-xcconfig --xcconfig-path [xcconfig-path]\\n```\\n\\n### target \\n\\n**Environment variable** `TUIST_MIGRATION_SETTINGS_TO_XCCONFIG_TARGET`\\n\\nThe name of the target whose build settings will be extracted. When not passed, it extracts the build settings of the project.\\n```bash\\ntuist migration settings-to-xcconfig --target [target]\\ntuist migration settings-to-xcconfig -t [target]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist migration settings-to-xcconfig -h\\ntuist migration settings-to-xcconfig --help\\n```\\n\\n\",\"title\":\"tuist migration settings-to-xcconfig\",\"frontmatter\":{\"URL\":\"/ko/cli/migration/settings-to-xcconfig\",\"LLMS_URL\":\"/ko/cli/migration/settings-to-xcconfig.md\"}},{\"path\":\"/ko/cli/organization.md\",\"url\":\"/ko/cli/organization\",\"llmUrl\":\"/ko/cli/organization.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization\\\"\\nLLMS_URL: \\\"/ko/cli/organization.md\\\"\\n---\\n\\n# tuist organization\\nA set of commands to manage your Tuist organizations.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization -h\\ntuist organization --help\\n```\\n\\n\",\"title\":\"tuist organization\",\"frontmatter\":{\"URL\":\"/ko/cli/organization\",\"LLMS_URL\":\"/ko/cli/organization.md\"}},{\"path\":\"/ko/cli/organization/billing.md\",\"url\":\"/ko/cli/organization/billing\",\"llmUrl\":\"/ko/cli/organization/billing.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/billing\\\"\\nLLMS_URL: \\\"/ko/cli/organization/billing.md\\\"\\n---\\n\\n# tuist organization billing\\nOpen billing dashboard for the specified organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_BILLING_ORGANIZATION_NAME`\\n\\nThe name of the organization to show billing dashboard for.\\n```bash\\ntuist organization billing [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_BILLING_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization billing --path [path]\\ntuist organization billing -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization billing -h\\ntuist organization billing --help\\n```\\n\\n\",\"title\":\"tuist organization billing\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/billing\",\"LLMS_URL\":\"/ko/cli/organization/billing.md\"}},{\"path\":\"/ko/cli/organization/create.md\",\"url\":\"/ko/cli/organization/create\",\"llmUrl\":\"/ko/cli/organization/create.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/create\\\"\\nLLMS_URL: \\\"/ko/cli/organization/create.md\\\"\\n---\\n\\n# tuist organization create\\nCreate a new organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_CREATE_ORGANIZATION_NAME`\\n\\nThe name of the organization to create.\\n```bash\\ntuist organization create [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_CREATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization create --path [path]\\ntuist organization create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization create -h\\ntuist organization create --help\\n```\\n\\n\",\"title\":\"tuist organization create\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/create\",\"LLMS_URL\":\"/ko/cli/organization/create.md\"}},{\"path\":\"/ko/cli/organization/delete.md\",\"url\":\"/ko/cli/organization/delete\",\"llmUrl\":\"/ko/cli/organization/delete.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/delete\\\"\\nLLMS_URL: \\\"/ko/cli/organization/delete.md\\\"\\n---\\n\\n# tuist organization delete\\nDelete a new organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_DELETE_ORGANIZATION_NAME`\\n\\nThe name of the organization to delete.\\n```bash\\ntuist organization delete [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_DELETE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization delete --path [path]\\ntuist organization delete -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization delete -h\\ntuist organization delete --help\\n```\\n\\n\",\"title\":\"tuist organization delete\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/delete\",\"LLMS_URL\":\"/ko/cli/organization/delete.md\"}},{\"path\":\"/ko/cli/organization/invite.md\",\"url\":\"/ko/cli/organization/invite\",\"llmUrl\":\"/ko/cli/organization/invite.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/invite\\\"\\nLLMS_URL: \\\"/ko/cli/organization/invite.md\\\"\\n---\\n\\n# tuist organization invite\\nInvite a new member to your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_ORGANIZATION_NAME`\\n\\nThe name of the organization to invite the user to.\\n```bash\\ntuist organization invite [organization-name]\\n```\\n\\n### email \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_EMAIL`\\n\\nThe email of the user to invite.\\n```bash\\ntuist organization invite [email]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_INVITE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization invite --path [path]\\ntuist organization invite -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization invite -h\\ntuist organization invite --help\\n```\\n\\n\",\"title\":\"tuist organization invite\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/invite\",\"LLMS_URL\":\"/ko/cli/organization/invite.md\"}},{\"path\":\"/ko/cli/organization/list.md\",\"url\":\"/ko/cli/organization/list\",\"llmUrl\":\"/ko/cli/organization/list.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/list\\\"\\nLLMS_URL: \\\"/ko/cli/organization/list.md\\\"\\n---\\n\\n# tuist organization list\\nList your organizations.\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_ORGANIZATION_LIST_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist organization list --json\\ntuist organization list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_LIST_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization list --path [path]\\ntuist organization list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization list -h\\ntuist organization list --help\\n```\\n\\n\",\"title\":\"tuist organization list\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/list\",\"LLMS_URL\":\"/ko/cli/organization/list.md\"}},{\"path\":\"/ko/cli/organization/remove.md\",\"url\":\"/ko/cli/organization/remove\",\"llmUrl\":\"/ko/cli/organization/remove.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/remove\\\"\\nLLMS_URL: \\\"/ko/cli/organization/remove.md\\\"\\n---\\n\\n# tuist organization remove\\nA set of commands to remove members or cancel pending invitations.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove -h\\ntuist organization remove --help\\n```\\n\\n\",\"title\":\"tuist organization remove\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/remove\",\"LLMS_URL\":\"/ko/cli/organization/remove.md\"}},{\"path\":\"/ko/cli/organization/remove/invite.md\",\"url\":\"/ko/cli/organization/remove/invite\",\"llmUrl\":\"/ko/cli/organization/remove/invite.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/remove/invite\\\"\\nLLMS_URL: \\\"/ko/cli/organization/remove/invite.md\\\"\\n---\\n\\n# tuist organization remove invite\\nCancel pending invitation.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_ORGANIZATION_NAME`\\n\\nThe name of the organization to cancel the invitation for.\\n```bash\\ntuist organization remove invite [organization-name]\\n```\\n\\n### email \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_EMAIL`\\n\\nThe email of the user to cancel the invitation for.\\n```bash\\ntuist organization remove invite [email]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_INVITE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove invite --path [path]\\ntuist organization remove invite -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove invite -h\\ntuist organization remove invite --help\\n```\\n\\n\",\"title\":\"tuist organization remove invite\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/remove/invite\",\"LLMS_URL\":\"/ko/cli/organization/remove/invite.md\"}},{\"path\":\"/ko/cli/organization/remove/member.md\",\"url\":\"/ko/cli/organization/remove/member\",\"llmUrl\":\"/ko/cli/organization/remove/member.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/remove/member\\\"\\nLLMS_URL: \\\"/ko/cli/organization/remove/member.md\\\"\\n---\\n\\n# tuist organization remove member\\nRemove a member from your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_ORGANIZATION_NAME`\\n\\nThe name of the organization to remove the organization member from.\\n```bash\\ntuist organization remove member [organization-name]\\n```\\n\\n### username \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_USERNAME`\\n\\nThe username of the member you want to remove from the organization.\\n```bash\\ntuist organization remove member [username]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_MEMBER_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove member --path [path]\\ntuist organization remove member -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove member -h\\ntuist organization remove member --help\\n```\\n\\n\",\"title\":\"tuist organization remove member\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/remove/member\",\"LLMS_URL\":\"/ko/cli/organization/remove/member.md\"}},{\"path\":\"/ko/cli/organization/remove/sso.md\",\"url\":\"/ko/cli/organization/remove/sso\",\"llmUrl\":\"/ko/cli/organization/remove/sso.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/remove/sso\\\"\\nLLMS_URL: \\\"/ko/cli/organization/remove/sso.md\\\"\\n---\\n\\n# tuist organization remove sso\\nRemove the SSO provider for your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_SSO_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the SSO provider for.\\n```bash\\ntuist organization remove sso [organization-name]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_REMOVE_SSO_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization remove sso --path [path]\\ntuist organization remove sso -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization remove sso -h\\ntuist organization remove sso --help\\n```\\n\\n\",\"title\":\"tuist organization remove sso\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/remove/sso\",\"LLMS_URL\":\"/ko/cli/organization/remove/sso.md\"}},{\"path\":\"/ko/cli/organization/show.md\",\"url\":\"/ko/cli/organization/show\",\"llmUrl\":\"/ko/cli/organization/show.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/show\\\"\\nLLMS_URL: \\\"/ko/cli/organization/show.md\\\"\\n---\\n\\n# tuist organization show\\nShow information about the specified organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_ORGANIZATION_NAME`\\n\\nThe name of the organization to show.\\n```bash\\ntuist organization show [organization-name]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist organization show --json\\ntuist organization show --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_SHOW_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization show --path [path]\\ntuist organization show -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization show -h\\ntuist organization show --help\\n```\\n\\n\",\"title\":\"tuist organization show\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/show\",\"LLMS_URL\":\"/ko/cli/organization/show.md\"}},{\"path\":\"/ko/cli/organization/update.md\",\"url\":\"/ko/cli/organization/update\",\"llmUrl\":\"/ko/cli/organization/update.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/update\\\"\\nLLMS_URL: \\\"/ko/cli/organization/update.md\\\"\\n---\\n\\n# tuist organization update\\nA set of commands to update the organization.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update -h\\ntuist organization update --help\\n```\\n\\n\",\"title\":\"tuist organization update\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/update\",\"LLMS_URL\":\"/ko/cli/organization/update.md\"}},{\"path\":\"/ko/cli/organization/update/member.md\",\"url\":\"/ko/cli/organization/update/member\",\"llmUrl\":\"/ko/cli/organization/update/member.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/update/member\\\"\\nLLMS_URL: \\\"/ko/cli/organization/update/member.md\\\"\\n---\\n\\n# tuist organization update member\\nUpdate a member from your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the member for.\\n```bash\\ntuist organization update member [organization-name]\\n```\\n\\n### username \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_USERNAME`\\n\\nThe username of the member you want to update.\\n```bash\\ntuist organization update member [username]\\n```\\n\\n### role \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_ROLE`\\n\\nThe new member role\\n```bash\\ntuist organization update member --role [role]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_MEMBER_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization update member --path [path]\\ntuist organization update member -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update member -h\\ntuist organization update member --help\\n```\\n\\n\",\"title\":\"tuist organization update member\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/update/member\",\"LLMS_URL\":\"/ko/cli/organization/update/member.md\"}},{\"path\":\"/ko/cli/organization/update/sso.md\",\"url\":\"/ko/cli/organization/update/sso\",\"llmUrl\":\"/ko/cli/organization/update/sso.md\",\"content\":\"---\\nURL: \\\"/ko/cli/organization/update/sso\\\"\\nLLMS_URL: \\\"/ko/cli/organization/update/sso.md\\\"\\n---\\n\\n# tuist organization update sso\\nUpdate the SSO provider for your organization.\\n\\n## Arguments\\n\\n### organization-name \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_ORGANIZATION_NAME`\\n\\nThe name of the organization for which you want to update the SSO provider for.\\n```bash\\ntuist organization update sso [organization-name]\\n```\\n\\n### provider \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_PROVIDER`\\n\\nThe SSO provider to use.\\n```bash\\ntuist organization update sso --provider [provider]\\n```\\n\\n### organization-id \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_ORGANIZATION_ID`\\n\\nOrganization ID for your SSO provider. For Google, this is your Google domain (for example, if your email is [email protected], the domain would be tuist.dev). For Okta, it's the organization domain (such as my-org.okta.com)\\n```bash\\ntuist organization update sso --organization-id [organization-id]\\ntuist organization update sso -o [organization-id]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_ORGANIZATION_UPDATE_SSO_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist organization update sso --path [path]\\ntuist organization update sso -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist organization update sso -h\\ntuist organization update sso --help\\n```\\n\\n\",\"title\":\"tuist organization update sso\",\"frontmatter\":{\"URL\":\"/ko/cli/organization/update/sso\",\"LLMS_URL\":\"/ko/cli/organization/update/sso.md\"}},{\"path\":\"/ko/cli/plugin.md\",\"url\":\"/ko/cli/plugin\",\"llmUrl\":\"/ko/cli/plugin.md\",\"content\":\"---\\nURL: \\\"/ko/cli/plugin\\\"\\nLLMS_URL: \\\"/ko/cli/plugin.md\\\"\\n---\\n\\n# tuist plugin\\nA set of commands for plugin's management.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin -h\\ntuist plugin --help\\n```\\n\\n\",\"title\":\"tuist plugin\",\"frontmatter\":{\"URL\":\"/ko/cli/plugin\",\"LLMS_URL\":\"/ko/cli/plugin.md\"}},{\"path\":\"/ko/cli/plugin/archive.md\",\"url\":\"/ko/cli/plugin/archive\",\"llmUrl\":\"/ko/cli/plugin/archive.md\",\"content\":\"---\\nURL: \\\"/ko/cli/plugin/archive\\\"\\nLLMS_URL: \\\"/ko/cli/plugin/archive.md\\\"\\n---\\n\\n# tuist plugin archive\\nArchives a plugin into a NameOfPlugin.tuist-plugin.zip.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_ARCHIVE_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin archive --path [path]\\ntuist plugin archive -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin archive -h\\ntuist plugin archive --help\\n```\\n\\n\",\"title\":\"tuist plugin archive\",\"frontmatter\":{\"URL\":\"/ko/cli/plugin/archive\",\"LLMS_URL\":\"/ko/cli/plugin/archive.md\"}},{\"path\":\"/ko/cli/plugin/build.md\",\"url\":\"/ko/cli/plugin/build\",\"llmUrl\":\"/ko/cli/plugin/build.md\",\"content\":\"---\\nURL: \\\"/ko/cli/plugin/build\\\"\\nLLMS_URL: \\\"/ko/cli/plugin/build.md\\\"\\n---\\n\\n# tuist plugin build\\nBuilds a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin build --configuration [configuration]\\ntuist plugin build -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin build --path [path]\\ntuist plugin build -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin build --build-tests\\ntuist plugin build --no-build-tests\\n```\\n\\n### show-bin-path \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_SHOW_BIN_PATH`\\n\\nPrint the binary output path.\\n```bash\\ntuist plugin build --show-bin-path\\ntuist plugin build --no-show-bin-path\\n```\\n\\n### targets \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_TARGETS`\\n\\nBuild the specified targets.\\n```bash\\ntuist plugin build --targets [targets]\\n```\\n\\n### products \\n\\n**Environment variable** `TUIST_PLUGIN_BUILD_PRODUCTS`\\n\\nBuild the specified products.\\n```bash\\ntuist plugin build --products [products]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin build -h\\ntuist plugin build --help\\n```\\n\\n\",\"title\":\"tuist plugin build\",\"frontmatter\":{\"URL\":\"/ko/cli/plugin/build\",\"LLMS_URL\":\"/ko/cli/plugin/build.md\"}},{\"path\":\"/ko/cli/plugin/run.md\",\"url\":\"/ko/cli/plugin/run\",\"llmUrl\":\"/ko/cli/plugin/run.md\",\"content\":\"---\\nURL: \\\"/ko/cli/plugin/run\\\"\\nLLMS_URL: \\\"/ko/cli/plugin/run.md\\\"\\n---\\n\\n# tuist plugin run\\nRuns a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin run --configuration [configuration]\\ntuist plugin run -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin run --path [path]\\ntuist plugin run -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin run --build-tests\\ntuist plugin run --no-build-tests\\n```\\n\\n### skip-build \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_SKIP_BUILD`\\n\\nSkip building the plugin.\\n```bash\\ntuist plugin run --skip-build\\ntuist plugin run --no-skip-build\\n```\\n\\n### task \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_TASK`\\n\\nThe plugin task to run.\\n```bash\\ntuist plugin run [task]\\n```\\n\\n### arguments \\n\\n**Environment variable** `TUIST_PLUGIN_RUN_ARGUMENTS`\\n\\nThe arguments to pass to the plugin task.\\n```bash\\ntuist plugin run [arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin run -h\\ntuist plugin run --help\\n```\\n\\n\",\"title\":\"tuist plugin run\",\"frontmatter\":{\"URL\":\"/ko/cli/plugin/run\",\"LLMS_URL\":\"/ko/cli/plugin/run.md\"}},{\"path\":\"/ko/cli/plugin/test.md\",\"url\":\"/ko/cli/plugin/test\",\"llmUrl\":\"/ko/cli/plugin/test.md\",\"content\":\"---\\nURL: \\\"/ko/cli/plugin/test\\\"\\nLLMS_URL: \\\"/ko/cli/plugin/test.md\\\"\\n---\\n\\n# tuist plugin test\\nTests a plugin.\\n\\n## Arguments\\n\\n### configuration \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_CONFIGURATION`\\n\\nChoose configuration (default: debug).\\n```bash\\ntuist plugin test --configuration [configuration]\\ntuist plugin test -c [configuration]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PLUGIN_OPTIONS_PATH`\\n\\nThe path to the directory that contains the definition of the plugin.\\n```bash\\ntuist plugin test --path [path]\\ntuist plugin test -p [path]\\n```\\n\\n### build-tests \\n\\n**Environment variable** `TUIST_PLUGIN_TEST_BUILD_TESTS`\\n\\nBuild both source and test targets.\\n```bash\\ntuist plugin test --build-tests\\ntuist plugin test --no-build-tests\\n```\\n\\n### test-products \\n\\n**Environment variable** `TUIST_PLUGIN_TEST_TEST_PRODUCTS`\\n\\nTest the specified products.\\n```bash\\ntuist plugin test --test-products [test-products]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist plugin test -h\\ntuist plugin test --help\\n```\\n\\n\",\"title\":\"tuist plugin test\",\"frontmatter\":{\"URL\":\"/ko/cli/plugin/test\",\"LLMS_URL\":\"/ko/cli/plugin/test.md\"}},{\"path\":\"/ko/cli/project.md\",\"url\":\"/ko/cli/project\",\"llmUrl\":\"/ko/cli/project.md\",\"content\":\"---\\nURL: \\\"/ko/cli/project\\\"\\nLLMS_URL: \\\"/ko/cli/project.md\\\"\\n---\\n\\n# tuist project\\nA set of commands to manage your Tuist projects.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project -h\\ntuist project --help\\n```\\n\\n\",\"title\":\"tuist project\",\"frontmatter\":{\"URL\":\"/ko/cli/project\",\"LLMS_URL\":\"/ko/cli/project.md\"}},{\"path\":\"/ko/cli/project/create.md\",\"url\":\"/ko/cli/project/create\",\"llmUrl\":\"/ko/cli/project/create.md\",\"content\":\"---\\nURL: \\\"/ko/cli/project/create\\\"\\nLLMS_URL: \\\"/ko/cli/project/create.md\\\"\\n---\\n\\n# tuist project create\\nCreate a new project.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_CREATE_FULL_HANDLE`\\n\\nThe project to create. The full handle must be in the format of account-handle/project-handle.\\n```bash\\ntuist project create [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_CREATE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project create --path [path]\\ntuist project create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project create -h\\ntuist project create --help\\n```\\n\\n\",\"title\":\"tuist project create\",\"frontmatter\":{\"URL\":\"/ko/cli/project/create\",\"LLMS_URL\":\"/ko/cli/project/create.md\"}},{\"path\":\"/ko/cli/project/delete.md\",\"url\":\"/ko/cli/project/delete\",\"llmUrl\":\"/ko/cli/project/delete.md\",\"content\":\"---\\nURL: \\\"/ko/cli/project/delete\\\"\\nLLMS_URL: \\\"/ko/cli/project/delete.md\\\"\\n---\\n\\n# tuist project delete\\nDelete a Tuist project.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_DELETE_FULL_HANDLE`\\n\\nThe project to delete. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project delete [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_DELETE_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project delete --path [path]\\ntuist project delete -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project delete -h\\ntuist project delete --help\\n```\\n\\n\",\"title\":\"tuist project delete\",\"frontmatter\":{\"URL\":\"/ko/cli/project/delete\",\"LLMS_URL\":\"/ko/cli/project/delete.md\"}},{\"path\":\"/ko/cli/project/list.md\",\"url\":\"/ko/cli/project/list\",\"llmUrl\":\"/ko/cli/project/list.md\",\"content\":\"---\\nURL: \\\"/ko/cli/project/list\\\"\\nLLMS_URL: \\\"/ko/cli/project/list.md\\\"\\n---\\n\\n# tuist project list\\nList projects you have access to.\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_PROJECT_LIST_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist project list --json\\ntuist project list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_LIST_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project list --path [path]\\ntuist project list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project list -h\\ntuist project list --help\\n```\\n\\n\",\"title\":\"tuist project list\",\"frontmatter\":{\"URL\":\"/ko/cli/project/list\",\"LLMS_URL\":\"/ko/cli/project/list.md\"}},{\"path\":\"/ko/cli/project/show.md\",\"url\":\"/ko/cli/project/show\",\"llmUrl\":\"/ko/cli/project/show.md\",\"content\":\"---\\nURL: \\\"/ko/cli/project/show\\\"\\nLLMS_URL: \\\"/ko/cli/project/show.md\\\"\\n---\\n\\n# tuist project show\\nShow information about the specified project. Use --web flag to open the project in the browser.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_FULL_HANDLE`\\n\\nThe project to show. The full handle must be in the format of account-handle/project-handle.\\n```bash\\ntuist project show [full-handle]\\n```\\n\\n### web \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_WEB`\\n\\nOpen a project in the browser.\\n```bash\\ntuist project show --web\\ntuist project show --no-web\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_SHOW_PATH`\\n\\nThe path to the Tuist project.\\n```bash\\ntuist project show --path [path]\\ntuist project show -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project show -h\\ntuist project show --help\\n```\\n\\n\",\"title\":\"tuist project show\",\"frontmatter\":{\"URL\":\"/ko/cli/project/show\",\"LLMS_URL\":\"/ko/cli/project/show.md\"}},{\"path\":\"/ko/cli/project/tokens.md\",\"url\":\"/ko/cli/project/tokens\",\"llmUrl\":\"/ko/cli/project/tokens.md\",\"content\":\"---\\nURL: \\\"/ko/cli/project/tokens\\\"\\nLLMS_URL: \\\"/ko/cli/project/tokens.md\\\"\\n---\\n\\n# tuist project tokens\\nManage Tuist project tokens.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens -h\\ntuist project tokens --help\\n```\\n\\n\",\"title\":\"tuist project tokens\",\"frontmatter\":{\"URL\":\"/ko/cli/project/tokens\",\"LLMS_URL\":\"/ko/cli/project/tokens.md\"}},{\"path\":\"/ko/cli/project/tokens/create.md\",\"url\":\"/ko/cli/project/tokens/create\",\"llmUrl\":\"/ko/cli/project/tokens/create.md\",\"content\":\"---\\nURL: \\\"/ko/cli/project/tokens/create\\\"\\nLLMS_URL: \\\"/ko/cli/project/tokens/create.md\\\"\\n---\\n\\n# tuist project tokens create\\nCreate a new Tuist project token. You can save this token in the `TUIST_CONFIG_TOKEN` environment variable to authenticate requests against the Tuist API.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to create the token for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens create [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens create --path [path]\\ntuist project tokens create -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens create -h\\ntuist project tokens create --help\\n```\\n\\n\",\"title\":\"tuist project tokens create\",\"frontmatter\":{\"URL\":\"/ko/cli/project/tokens/create\",\"LLMS_URL\":\"/ko/cli/project/tokens/create.md\"}},{\"path\":\"/ko/cli/project/tokens/list.md\",\"url\":\"/ko/cli/project/tokens/list\",\"llmUrl\":\"/ko/cli/project/tokens/list.md\",\"content\":\"---\\nURL: \\\"/ko/cli/project/tokens/list\\\"\\nLLMS_URL: \\\"/ko/cli/project/tokens/list.md\\\"\\n---\\n\\n# tuist project tokens list\\nList Tuist project tokens.\\n\\n## Arguments\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to list the tokens for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens list [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens list --path [path]\\ntuist project tokens list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens list -h\\ntuist project tokens list --help\\n```\\n\\n\",\"title\":\"tuist project tokens list\",\"frontmatter\":{\"URL\":\"/ko/cli/project/tokens/list\",\"LLMS_URL\":\"/ko/cli/project/tokens/list.md\"}},{\"path\":\"/ko/cli/project/tokens/revoke.md\",\"url\":\"/ko/cli/project/tokens/revoke\",\"llmUrl\":\"/ko/cli/project/tokens/revoke.md\",\"content\":\"---\\nURL: \\\"/ko/cli/project/tokens/revoke\\\"\\nLLMS_URL: \\\"/ko/cli/project/tokens/revoke.md\\\"\\n---\\n\\n# tuist project tokens revoke\\nRevoke Tuist project tokens.\\n\\n## Arguments\\n\\n### project-token-id \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_ID`\\n\\nThe ID of the project token to revoke.\\n```bash\\ntuist project tokens revoke [project-token-id]\\n```\\n\\n### full-handle \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_FULL_HANDLE`\\n\\nThe project to revoke the token for. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project tokens revoke [full-handle]\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_PROJECT_TOKEN_PATH`\\n\\nThe path to the directory or a subdirectory of the project.\\n```bash\\ntuist project tokens revoke --path [path]\\ntuist project tokens revoke -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project tokens revoke -h\\ntuist project tokens revoke --help\\n```\\n\\n\",\"title\":\"tuist project tokens revoke\",\"frontmatter\":{\"URL\":\"/ko/cli/project/tokens/revoke\",\"LLMS_URL\":\"/ko/cli/project/tokens/revoke.md\"}},{\"path\":\"/ko/cli/project/update.md\",\"url\":\"/ko/cli/project/update\",\"llmUrl\":\"/ko/cli/project/update.md\",\"content\":\"---\\nURL: \\\"/ko/cli/project/update\\\"\\nLLMS_URL: \\\"/ko/cli/project/update.md\\\"\\n---\\n\\n# tuist project update\\nUpdate project settings\\n\\n## Arguments\\n\\n### full-handle \\n\\nThe full handle of the project to update. Must be in the format of account-handle/project-handle.\\n```bash\\ntuist project update [full-handle]\\n```\\n\\n### default-branch \\n\\nSet the default branch name for the repository linked to the project.\\n```bash\\ntuist project update --default-branch [default-branch]\\n```\\n\\n### repository-url \\n\\nSet the connected Git repository. Example: --repository-url https://github.com/tuist/tuist\\n```bash\\ntuist project update --repository-url [repository-url]\\n```\\n\\n### visibility \\n\\nSet the project's visibility. When private, only project's members have access to the project. Public projects are accessible by anyone.\\n```bash\\ntuist project update --visibility [visibility]\\n```\\n\\n### path \\n\\nThe path to the Tuist project.\\n```bash\\ntuist project update --path [path]\\ntuist project update -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist project update -h\\ntuist project update --help\\n```\\n\\n\",\"title\":\"tuist project update\",\"frontmatter\":{\"URL\":\"/ko/cli/project/update\",\"LLMS_URL\":\"/ko/cli/project/update.md\"}},{\"path\":\"/ko/cli/registry.md\",\"url\":\"/ko/cli/registry\",\"llmUrl\":\"/ko/cli/registry.md\",\"content\":\"---\\nURL: \\\"/ko/cli/registry\\\"\\nLLMS_URL: \\\"/ko/cli/registry.md\\\"\\n---\\n\\n# tuist registry\\nA set of commands to interact with the Tuist Registry.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry -h\\ntuist registry --help\\n```\\n\\n\",\"title\":\"tuist registry\",\"frontmatter\":{\"URL\":\"/ko/cli/registry\",\"LLMS_URL\":\"/ko/cli/registry.md\"}},{\"path\":\"/ko/cli/registry/login.md\",\"url\":\"/ko/cli/registry/login\",\"llmUrl\":\"/ko/cli/registry/login.md\",\"content\":\"---\\nURL: \\\"/ko/cli/registry/login\\\"\\nLLMS_URL: \\\"/ko/cli/registry/login.md\\\"\\n---\\n\\n# tuist registry login\\nLog in to the registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_LOGIN_PATH`\\n\\nThe path to the directory that contains the project to which registry you want to log in.\\n```bash\\ntuist registry login --path [path]\\ntuist registry login -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry login -h\\ntuist registry login --help\\n```\\n\\n\",\"title\":\"tuist registry login\",\"frontmatter\":{\"URL\":\"/ko/cli/registry/login\",\"LLMS_URL\":\"/ko/cli/registry/login.md\"}},{\"path\":\"/ko/cli/registry/logout.md\",\"url\":\"/ko/cli/registry/logout\",\"llmUrl\":\"/ko/cli/registry/logout.md\",\"content\":\"---\\nURL: \\\"/ko/cli/registry/logout\\\"\\nLLMS_URL: \\\"/ko/cli/registry/logout.md\\\"\\n---\\n\\n# tuist registry logout\\nLog out of the registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_LOGOUT_PATH`\\n\\nThe path to the directory that contains the project to which registry you want to log out of.\\n```bash\\ntuist registry logout --path [path]\\ntuist registry logout -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry logout -h\\ntuist registry logout --help\\n```\\n\\n\",\"title\":\"tuist registry logout\",\"frontmatter\":{\"URL\":\"/ko/cli/registry/logout\",\"LLMS_URL\":\"/ko/cli/registry/logout.md\"}},{\"path\":\"/ko/cli/registry/setup.md\",\"url\":\"/ko/cli/registry/setup\",\"llmUrl\":\"/ko/cli/registry/setup.md\",\"content\":\"---\\nURL: \\\"/ko/cli/registry/setup\\\"\\nLLMS_URL: \\\"/ko/cli/registry/setup.md\\\"\\n---\\n\\n# tuist registry setup\\nSet up the Tuist Registry.\\n\\n## Arguments\\n\\n### path \\n\\n**Environment variable** `TUIST_REGISTRY_SETUP_PATH`\\n\\nThe path to the directory that contains the project to set up the registry for.\\n```bash\\ntuist registry setup --path [path]\\ntuist registry setup -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist registry setup -h\\ntuist registry setup --help\\n```\\n\\n\",\"title\":\"tuist registry setup\",\"frontmatter\":{\"URL\":\"/ko/cli/registry/setup\",\"LLMS_URL\":\"/ko/cli/registry/setup.md\"}},{\"path\":\"/ko/cli/run.md\",\"url\":\"/ko/cli/run\",\"llmUrl\":\"/ko/cli/run.md\",\"content\":\"---\\nURL: \\\"/ko/cli/run\\\"\\nLLMS_URL: \\\"/ko/cli/run.md\\\"\\n---\\n\\n# tuist run\\nRuns a scheme or target in the project\\n\\n## Arguments\\n\\n### runnable \\n\\n**Environment variable** `TUIST_RUN_SCHEME`\\n\\nRunnable project scheme, a preview URL, or app name with a specifier such as App@latest or App@feature-branch.\\n```bash\\ntuist run [runnable]\\n```\\n\\n### generate \\n\\n**Environment variable** `TUIST_RUN_GENERATE`\\n\\nForce the generation of the project before running.\\n```bash\\ntuist run --generate\\ntuist run --no-generate\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_RUN_CLEAN`\\n\\nWhen passed, it cleans the project before running.\\n```bash\\ntuist run --clean\\ntuist run --no-clean\\n```\\n\\n### path \\n\\nThe path to the directory that contains the project with the target or scheme to be run.\\n```bash\\ntuist run --path [path]\\ntuist run -p [path]\\n```\\n\\n### configuration \\n\\nThe configuration to be used when building the scheme.\\n```bash\\ntuist run --configuration [configuration]\\ntuist run -C [configuration]\\n```\\n\\n### device \\n\\nThe simulator or physical device name to run the target, scheme, or preview on.\\n```bash\\ntuist run --device [device]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_RUN_OS`\\n\\nThe OS version of the simulator.\\n```bash\\ntuist run --os [os]\\ntuist run -o [os]\\n```\\n\\n### rosetta \\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist run --rosetta\\n```\\n\\n### arguments \\n\\n**Environment variable** `TUIST_RUN_ARGUMENTS`\\n\\nThe arguments to pass to the runnable target during execution.\\n```bash\\ntuist run [arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist run -h\\ntuist run --help\\n```\\n\\n\",\"title\":\"tuist run\",\"frontmatter\":{\"URL\":\"/ko/cli/run\",\"LLMS_URL\":\"/ko/cli/run.md\"}},{\"path\":\"/ko/cli/scaffold.md\",\"url\":\"/ko/cli/scaffold\",\"llmUrl\":\"/ko/cli/scaffold.md\",\"content\":\"---\\nURL: \\\"/ko/cli/scaffold\\\"\\nLLMS_URL: \\\"/ko/cli/scaffold.md\\\"\\n---\\n\\n# tuist scaffold\\nGenerates new project based on a template\\n\\n## Arguments\\n\\n### template \\n\\n**Environment variable** `TUIST_SCAFFOLD_TEMPLATE`\\n\\nName of template you want to use\\n```bash\\ntuist scaffold [template]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_SCAFFOLD_JSON`\\n\\nThe output in JSON format\\n```bash\\ntuist scaffold --json\\ntuist scaffold --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_SCAFFOLD_PATH`\\n\\nThe path to the folder where the template will be generated (Default: Current directory)\\n```bash\\ntuist scaffold --path [path]\\ntuist scaffold -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist scaffold -h\\ntuist scaffold --help\\n```\\n\\n\",\"title\":\"tuist scaffold\",\"frontmatter\":{\"URL\":\"/ko/cli/scaffold\",\"LLMS_URL\":\"/ko/cli/scaffold.md\"}},{\"path\":\"/ko/cli/scaffold/list.md\",\"url\":\"/ko/cli/scaffold/list\",\"llmUrl\":\"/ko/cli/scaffold/list.md\",\"content\":\"---\\nURL: \\\"/ko/cli/scaffold/list\\\"\\nLLMS_URL: \\\"/ko/cli/scaffold/list.md\\\"\\n---\\n\\n# tuist scaffold list\\nLists available scaffold templates\\n\\n## Arguments\\n\\n### json \\n\\n**Environment variable** `TUIST_SCAFFOLD_LIST_JSON`\\n\\nThe output in JSON format\\n```bash\\ntuist scaffold list --json\\ntuist scaffold list --no-json\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_SCAFFOLD_LIST_PATH`\\n\\nThe path where you want to list templates from\\n```bash\\ntuist scaffold list --path [path]\\ntuist scaffold list -p [path]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist scaffold list -h\\ntuist scaffold list --help\\n```\\n\\n\",\"title\":\"tuist scaffold list\",\"frontmatter\":{\"URL\":\"/ko/cli/scaffold/list\",\"LLMS_URL\":\"/ko/cli/scaffold/list.md\"}},{\"path\":\"/ko/cli/share.md\",\"url\":\"/ko/cli/share\",\"llmUrl\":\"/ko/cli/share.md\",\"content\":\"---\\nURL: \\\"/ko/cli/share\\\"\\nLLMS_URL: \\\"/ko/cli/share.md\\\"\\n---\\n\\n# tuist share\\nGenerate a link to share your app.\\n\\n## Arguments\\n\\n### path \\n\\nThe path to the directory that contains a Tuist or Xcode project with a buildable scheme that can output runnable artifacts.\\n```bash\\ntuist share --path [path]\\ntuist share -p [path]\\n```\\n\\n### apps \\n\\n**Environment variable** `TUIST_SHARE_APP`\\n\\nThe app name to be looked up in the built products directory or the paths to the app bundles or an .ipa archive.\\n```bash\\ntuist share [apps]\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_SHARE_CONFIGURATION`\\n\\nThe configuration of the app to share. Ignored when the app paths are passed directly.\\n```bash\\ntuist share --configuration [configuration]\\ntuist share -C [configuration]\\n```\\n\\n### platforms \\n\\n**Environment variable** `TUIST_SHARE_PLATFORM`\\n\\nThe platforms (iOS, tvOS, visionOS, watchOS or macOS) to share the app for. Ignored when the app paths are passed directly.\\n```bash\\ntuist share --platforms [platforms]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_SHARE_DERIVED_DATA_PATH`\\n\\nThe derived data path to find the apps in. When absent, the system-configured one.\\n```bash\\ntuist share --derived-data-path [derived-data-path]\\n```\\n\\n### json \\n\\n**Environment variable** `TUIST_SHARE_JSON`\\n\\nThe output in JSON format.\\n```bash\\ntuist share --json\\ntuist share --no-json\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist share -h\\ntuist share --help\\n```\\n\\n\",\"title\":\"tuist share\",\"frontmatter\":{\"URL\":\"/ko/cli/share\",\"LLMS_URL\":\"/ko/cli/share.md\"}},{\"path\":\"/ko/cli/shell-completions.md\",\"url\":\"/ko/cli/shell-completions\",\"llmUrl\":\"/ko/cli/shell-completions.md\",\"content\":\"---\\nURL: \\\"/ko/cli/shell-completions\\\"\\nLLMS_URL: \\\"/ko/cli/shell-completions.md\\\"\\ntitle: \\\"Shell completions\\\"\\ntitleTemplate: \\\":title · CLI · Tuist\\\"\\ndescription: \\\"Tuist 명령어를 자동으로 완성하도록 셀을 구성하는 방법에 대해 배워봅니다.\\\"\\n---\\n\\n# Shell completions\\n\\nTuist가 **전역으로 설치된 경우** (예: Homebrew),\\n명령어와 옵션을 자동으로 완성시키기 위해 Bash와 Zsh용 셀 자동 완성을 설치할 수 있습니다.\\n\\n:::warning WHAT IS A GLOBAL INSTALLATION\\nGlobal installation는 Shell의 `$PATH` 환경 변수에 포함된 설치를 말합니다. 즉, 터미널의 모든 디렉토리에서 `tuist`를 실행할 수 있습니다.이것은 Homebrew의 기본 설치 방법입니다. 이것은 Homebrew의 기본 설치 방법입니다.\\n:::\\n\\n#### Zsh {#zsh}\\n\\n[oh-my-zsh](https://ohmyz.sh)가 설치되어 있다면, 이미 자동으로 로드되는 완성 스크립트(completion script)들이 저장된 디렉터리인 `.oh-my-zsh/completions`가 있습니다. 새로운 완성 스크립트를 해당 디렉터리의 `_tuist`라는 새 파일에 복사합니다.\\n\\n```bash\\ntuist --generate-completion-script > ~/.oh-my-zsh/completions/_tuist\\n```\\n\\n`oh-my-zsh`가 없는 경우 함수 경로에 완성 스크립트 경로를 추가하고, 완성 스크립트 자동 로딩을 설정해야 합니다. 먼저 `~/.zshrc`에 다음 줄을 추가합니다\\n\\n```bash\\nfpath=(~/.zsh/completion $fpath)\\nautoload -U compinit\\ncompinit\\n```\\n\\n그런 다음, `~/.zsh/complication`에 디렉터리를 생성한 후, 완성 스크립트를 해당 디렉터리의 `_tuist`라는 파일에 복사합니다.\\n\\n```bash\\ntuist --generate-completion-script > ~/.zsh/completion/_tuist\\n```\\n\\n#### Bash {#bash}\\n\\nbash-complement](https://github.com/scop/bash-completion)가 설치되어 있다면, 새로운 완성 스크립트를 `/usr/local/etc/bash_complement.d/_tuist` 파일에 복사하기만 하면 됩니다.\\n\\n```bash\\ntuist --generate-completion-script > /usr/local/etc/bash_completion.d/_tuist\\n```\\n\\nbash-completion이 없으면 완성 스크립트를 직접 불러와야 합니다. 해당 스크립트를 `~/.bash_completions/`와 같은 디렉터리로 복사한 다음 `~/.bash_profile` 또는 `~/.bashrc`에 다음 줄을 추가합니다.\\n\\n```bash\\nsource ~/.bash_completions/example.bash\\n```\\n\\n#### Fish {#fish}\\n\\n[fish shell](https://fishshell.com)을 사용하는 경우 `~/.config/fish/completions/tuist.fish`에 새로운 자동완성 스크립트를 복사할 수 있습니다:\\n\\n```bash\\nmkdir -p ~/.config/fish/completions\\ntuist --generate-completion-script > ~/.config/fish/completions/tuist.fish\\n```\\n\",\"title\":\"Shell completions\",\"frontmatter\":{\"URL\":\"/ko/cli/shell-completions\",\"LLMS_URL\":\"/ko/cli/shell-completions.md\",\"title\":\"Shell completions\",\"titleTemplate\":\":title · CLI · Tuist\",\"description\":\"Tuist 명령어를 자동으로 완성하도록 셀을 구성하는 방법에 대해 배워봅니다.\"}},{\"path\":\"/ko/cli/test.md\",\"url\":\"/ko/cli/test\",\"llmUrl\":\"/ko/cli/test.md\",\"content\":\"---\\nURL: \\\"/ko/cli/test\\\"\\nLLMS_URL: \\\"/ko/cli/test.md\\\"\\n---\\n\\n# tuist test\\nTests a project\\n\\n## Arguments\\n\\n### scheme \\n\\n**Environment variable** `TUIST_TEST_SCHEME`\\n\\nThe scheme to be tested. By default it tests all the testable targets of the project in the current directory.\\n```bash\\ntuist test [scheme]\\n```\\n\\n### clean \\n\\n**Environment variable** `TUIST_TEST_CLEAN`\\n\\nWhen passed, it cleans the project before testing it.\\n```bash\\ntuist test --clean\\ntuist test -c\\ntuist test --no-clean\\n```\\n\\n### no-upload \\n\\n**Environment variable** `TUIST_TEST_NO_UPLOAD`\\n\\nWhen passed, the result necessary for test selection is not persisted to the server.\\n```bash\\ntuist test --no-upload\\ntuist test -n\\ntuist test --no-no-upload\\n```\\n\\n### path \\n\\n**Environment variable** `TUIST_TEST_PATH`\\n\\nThe path to the directory that contains the project to be tested.\\n```bash\\ntuist test --path [path]\\ntuist test -p [path]\\n```\\n\\n### device \\n\\n**Environment variable** `TUIST_TEST_DEVICE`\\n\\nTest on a specific device.\\n```bash\\ntuist test --device [device]\\ntuist test -d [device]\\n```\\n\\n### platform \\n\\n**Environment variable** `TUIST_TEST_PLATFORM`\\n\\nTest on a specific platform.\\n```bash\\ntuist test --platform [platform]\\n```\\n\\n### os \\n\\n**Environment variable** `TUIST_TEST_OS`\\n\\nTest with a specific version of the OS.\\n```bash\\ntuist test --os [os]\\ntuist test -o [os]\\n```\\n\\n### rosetta \\n\\n**Environment variable** `TUIST_TEST_ROSETTA`\\n\\nWhen passed, append arch=x86_64 to the 'destination' to run simulator in a Rosetta mode.\\n```bash\\ntuist test --rosetta\\ntuist test --no-rosetta\\n```\\n\\n### configuration \\n\\n**Environment variable** `TUIST_TEST_CONFIGURATION`\\n\\nThe configuration to be used when testing the scheme.\\n```bash\\ntuist test --configuration [configuration]\\ntuist test -C [configuration]\\n```\\n\\n### skip-ui-tests \\n\\n**Environment variable** `TUIST_TEST_SKIP_UITESTS`\\n\\nWhen passed, it skips testing UI Tests targets.\\n```bash\\ntuist test --skip-ui-tests\\ntuist test --no-skip-ui-tests\\n```\\n\\n### result-bundle-path \\n\\n**Environment variable** `TUIST_TEST_RESULT_BUNDLE_PATH`\\n\\nPath where test result bundle will be saved.\\n```bash\\ntuist test --result-bundle-path [result-bundle-path]\\ntuist test -T [result-bundle-path]\\n```\\n\\n### derived-data-path \\n\\n**Environment variable** `TUIST_TEST_DERIVED_DATA_PATH`\\n\\nOverrides the folder that should be used for derived data when testing a project.\\n```bash\\ntuist test --derived-data-path [derived-data-path]\\n```\\n\\n### retry-count \\n\\n**Environment variable** `TUIST_TEST_RETRY_COUNT`\\n\\nTests will retry \\\\ of times until success. Example: if 1 is specified, the test will be retried at most once, hence it will run up to 2 times.\\n```bash\\ntuist test --retry-count [retry-count]\\n```\\n\\n### test-plan \\n\\n**Environment variable** `TUIST_TEST_TEST_PLAN`\\n\\nThe test plan to run.\\n```bash\\ntuist test --test-plan [test-plan]\\n```\\n\\n### test-targets \\n\\n**Environment variable** `TUIST_TEST_TEST_TARGETS`\\n\\nThe list of test identifiers you want to test. Expected format is TestTarget[/TestClass[/TestMethod]]. It is applied before --skip-testing\\n```bash\\ntuist test --test-targets [test-targets]\\n```\\n\\n### skip-test-targets \\n\\n**Environment variable** `TUIST_TEST_SKIP_TEST_TARGETS`\\n\\nThe list of test identifiers you want to skip testing. Expected format is TestTarget[/TestClass[/TestMethod]].\\n```bash\\ntuist test --skip-test-targets [skip-test-targets]\\n```\\n\\n### filter-configurations \\n\\n**Environment variable** `TUIST_TEST_CONFIGURATIONS`\\n\\nThe list of configurations you want to test. It is applied before --skip-configuration\\n```bash\\ntuist test --filter-configurations [filter-configurations]\\n```\\n\\n### skip-configurations \\n\\n**Environment variable** `TUIST_TEST_SKIP_CONFIGURATIONS`\\n\\nThe list of configurations you want to skip testing.\\n```bash\\ntuist test --skip-configurations [skip-configurations]\\n```\\n\\n### binary-cache \\n\\n**Environment variable** `TUIST_TEST_BINARY_CACHE`\\n\\nIgnore binary cache and use sources only.\\n```bash\\ntuist test --binary-cache\\ntuist test --no-binary-cache\\n```\\n\\n### selective-testing \\n\\n**Environment variable** `TUIST_TEST_SELECTIVE_TESTING`\\n\\nWhen --no-selective-testing is passed, tuist runs all tests without using selective testing.\\n```bash\\ntuist test --selective-testing\\ntuist test --no-selective-testing\\n```\\n\\n### generate-only \\n\\n**Environment variable** `TUIST_TEST_GENERATE_ONLY`\\n\\nWhen passed, it generates the project and skips testing. This is useful for debugging purposes.\\n```bash\\ntuist test --generate-only\\ntuist test --no-generate-only\\n```\\n\\n### without-building \\n\\n**Environment variable** `TUIST_TEST_WITHOUT_BUILDING`\\n\\nWhen passed, run the tests without building.\\n```bash\\ntuist test --without-building\\ntuist test --no-without-building\\n```\\n\\n### build-only \\n\\n**Environment variable** `TUIST_TEST_BUILD_ONLY`\\n\\nWhen passed, build the tests, but don't run them\\n```bash\\ntuist test --build-only\\ntuist test --no-build-only\\n```\\n\\n### passthrough-xcode-build-arguments \\n\\nxcodebuild arguments that will be passthrough\\n```bash\\ntuist test [passthrough-xcode-build-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist test -h\\ntuist test --help\\n```\\n\\n\",\"title\":\"tuist test\",\"frontmatter\":{\"URL\":\"/ko/cli/test\",\"LLMS_URL\":\"/ko/cli/test.md\"}},{\"path\":\"/ko/cli/version.md\",\"url\":\"/ko/cli/version\",\"llmUrl\":\"/ko/cli/version.md\",\"content\":\"---\\nURL: \\\"/ko/cli/version\\\"\\nLLMS_URL: \\\"/ko/cli/version.md\\\"\\n---\\n\\n# tuist version\\nOutputs the current version of tuist\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist version -h\\ntuist version --help\\n```\\n\\n\",\"title\":\"tuist version\",\"frontmatter\":{\"URL\":\"/ko/cli/version\",\"LLMS_URL\":\"/ko/cli/version.md\"}},{\"path\":\"/ko/cli/xcodebuild.md\",\"url\":\"/ko/cli/xcodebuild\",\"llmUrl\":\"/ko/cli/xcodebuild.md\",\"content\":\"---\\nURL: \\\"/ko/cli/xcodebuild\\\"\\nLLMS_URL: \\\"/ko/cli/xcodebuild.md\\\"\\n---\\n\\n# tuist xcodebuild\\ntuist xcodebuild extends the xcodebuild CLI with server capabilities such as selective testing or analytics.\\n\\n## Arguments\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild -h\\ntuist xcodebuild --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild\",\"frontmatter\":{\"URL\":\"/ko/cli/xcodebuild\",\"LLMS_URL\":\"/ko/cli/xcodebuild.md\"}},{\"path\":\"/ko/cli/xcodebuild/archive.md\",\"url\":\"/ko/cli/xcodebuild/archive\",\"llmUrl\":\"/ko/cli/xcodebuild/archive.md\",\"content\":\"---\\nURL: \\\"/ko/cli/xcodebuild/archive\\\"\\nLLMS_URL: \\\"/ko/cli/xcodebuild/archive.md\\\"\\n---\\n\\n# tuist xcodebuild archive\\ntuist xcodebuild archive extends the xcodebuild CLI archive action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild archive [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild archive -h\\ntuist xcodebuild archive --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild archive\",\"frontmatter\":{\"URL\":\"/ko/cli/xcodebuild/archive\",\"LLMS_URL\":\"/ko/cli/xcodebuild/archive.md\"}},{\"path\":\"/ko/cli/xcodebuild/build.md\",\"url\":\"/ko/cli/xcodebuild/build\",\"llmUrl\":\"/ko/cli/xcodebuild/build.md\",\"content\":\"---\\nURL: \\\"/ko/cli/xcodebuild/build\\\"\\nLLMS_URL: \\\"/ko/cli/xcodebuild/build.md\\\"\\n---\\n\\n# tuist xcodebuild build\\ntuist xcodebuild build extends the xcodebuild CLI build action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild build [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild build -h\\ntuist xcodebuild build --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild build\",\"frontmatter\":{\"URL\":\"/ko/cli/xcodebuild/build\",\"LLMS_URL\":\"/ko/cli/xcodebuild/build.md\"}},{\"path\":\"/ko/cli/xcodebuild/build-for-testing.md\",\"url\":\"/ko/cli/xcodebuild/build-for-testing\",\"llmUrl\":\"/ko/cli/xcodebuild/build-for-testing.md\",\"content\":\"---\\nURL: \\\"/ko/cli/xcodebuild/build-for-testing\\\"\\nLLMS_URL: \\\"/ko/cli/xcodebuild/build-for-testing.md\\\"\\n---\\n\\n# tuist xcodebuild build-for-testing\\ntuist xcodebuild build-for-testing extends the xcodebuild CLI build-for-testing action with insights.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild build-for-testing [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild build-for-testing -h\\ntuist xcodebuild build-for-testing --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild build-for-testing\",\"frontmatter\":{\"URL\":\"/ko/cli/xcodebuild/build-for-testing\",\"LLMS_URL\":\"/ko/cli/xcodebuild/build-for-testing.md\"}},{\"path\":\"/ko/cli/xcodebuild/test.md\",\"url\":\"/ko/cli/xcodebuild/test\",\"llmUrl\":\"/ko/cli/xcodebuild/test.md\",\"content\":\"---\\nURL: \\\"/ko/cli/xcodebuild/test\\\"\\nLLMS_URL: \\\"/ko/cli/xcodebuild/test.md\\\"\\n---\\n\\n# tuist xcodebuild test\\ntuist xcodebuild test extends the xcodebuild CLI test action with insights and selective testing capabilities.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild test [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild test -h\\ntuist xcodebuild test --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild test\",\"frontmatter\":{\"URL\":\"/ko/cli/xcodebuild/test\",\"LLMS_URL\":\"/ko/cli/xcodebuild/test.md\"}},{\"path\":\"/ko/cli/xcodebuild/test-without-building.md\",\"url\":\"/ko/cli/xcodebuild/test-without-building\",\"llmUrl\":\"/ko/cli/xcodebuild/test-without-building.md\",\"content\":\"---\\nURL: \\\"/ko/cli/xcodebuild/test-without-building\\\"\\nLLMS_URL: \\\"/ko/cli/xcodebuild/test-without-building.md\\\"\\n---\\n\\n# tuist xcodebuild test-without-building\\ntuist xcodebuild test-without-building extends the xcodebuild CLI test action with insights and selective testing capabilities.\\n\\n## Arguments\\n\\n### passthrough-xcodebuild-arguments \\n\\nxcodebuild arguments that will be passed through to the xcodebuild CLI.\\n```bash\\ntuist xcodebuild test-without-building [passthrough-xcodebuild-arguments]\\n```\\n\\n### help \\n\\nShow help information.\\n```bash\\ntuist xcodebuild test-without-building -h\\ntuist xcodebuild test-without-building --help\\n```\\n\\n\",\"title\":\"tuist xcodebuild test-without-building\",\"frontmatter\":{\"URL\":\"/ko/cli/xcodebuild/test-without-building\",\"LLMS_URL\":\"/ko/cli/xcodebuild/test-without-building.md\"}},{\"path\":\"/ko/contributors/cli/logging.md\",\"url\":\"/ko/contributors/cli/logging\",\"llmUrl\":\"/ko/contributors/cli/logging.md\",\"content\":\"---\\nURL: \\\"/ko/contributors/cli/logging\\\"\\nLLMS_URL: \\\"/ko/contributors/cli/logging.md\\\"\\ntitle: \\\"로깅\\\"\\ntitleTemplate: \\\":title · CLI · Contributors · Tuist\\\"\\ndescription: \\\"코드 리뷰를 통해 Tuist에 어떻게 기여하는지 알아봅니다.\\\"\\n---\\n\\n# 로깅 {#logging}\\n\\nCLI의 로깅은 [swift-log](https://github.com/apple/swift-log)의 인터페이스를 차용하고 있습니다. 이 패키지는 로깅의 세부 구현 사항을 추상화하여 CLI가 로깅 백엔드에 종속되지 않도록 합니다. 로거는 태스크 로컬을 사용하여 의존성 주입되고, 다음과 같이 어디서든 접근할 수 있습니다:\\n\\n```bash\\nLogger.current\\n```\\n\\n> [!NOTE]\\\\\\n> `Dispatch`나 분리된(detached) 태스크를 사용하는 경우 태스크 로컬의 값이 전달되지 않으므로, 이것을 사용할 경우 값을 가져와서 직접 비동기 작업에 전달해야 합니다.\\n\\n## 무엇을 로깅하는 것이 좋을까요? {#what-to-log}\\n\\n로그는 CLI의 UI가 아닙니다. 로그는 이슈가 발생하였을 때 진단을 도와주는 도구입니다.\\n그렇기 때문에, 많은 정보를 제공할 수록 더 좋은 결과를 얻을 수 있습니다.\\n새로운 기능을 만들 때 자신을 예상하지 못한 동작을 발견한 개발자라고 생각하고, 어떠한 정보들을 그 개발자들에게 제공해준다면 도움이 될지 생각해보면 좋습니다.\\n적절한 [log level](https://www.swift.org/documentation/server/guides/libraries/log-levels.html)을 사용하고 있는 지 확인하십시요. 그렇지 않으면 개발자들이 불필요한 정보들을 필터링하기 어려워집니다.\\n\",\"title\":\"로깅\",\"frontmatter\":{\"URL\":\"/ko/contributors/cli/logging\",\"LLMS_URL\":\"/ko/contributors/cli/logging.md\",\"title\":\"로깅\",\"titleTemplate\":\":title · CLI · Contributors · Tuist\",\"description\":\"코드 리뷰를 통해 Tuist에 어떻게 기여하는지 알아봅니다.\"}},{\"path\":\"/ko/contributors/code-reviews.md\",\"url\":\"/ko/contributors/code-reviews\",\"llmUrl\":\"/ko/contributors/code-reviews.md\",\"content\":\"---\\nURL: \\\"/ko/contributors/code-reviews\\\"\\nLLMS_URL: \\\"/ko/contributors/code-reviews.md\\\"\\ntitle: \\\"Code reviwes\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"코드 리뷰를 통해 Tuist에 어떻게 기여하는지 알아봅니다.\\\"\\n---\\n\\n# Code reviwes {#code-reviews}\\n\\nPull Reqeust 검토는 코드에 기여하는 일반적인 방식입니다. CI (Continuous Integration) 를 통해 코드의 동작을 확인하더라도 이 방식은 충분하지 않습니다. 디자인, 코드 구조 및 아키텍처, 테스트 품질, 또는 오타는 기여 특성을 자동화 할 수 없습니다. 다음 섹션에서 코드 리뷰 프로세스의 다양한 부분을 설명합니다.\\n\\n## 가독성 {#readability}\\n\\n코드가 의도를 명확하게 표현하고 있는지? **코드를 파악하는데 많은 시간이 소요된다면, 이 코드 구현을 개선해야 합니다.** 이런 경우, 코드를 이해하기 쉽게 더 작은 추상화로 분리하는 것을 제안합니다. 다른 방법으로는, 코드 마지막에 구현에 대한 설명을 주석으로 추가할 수 있습니다. PR 설명과 같이 짧은 시간에 코드를 이해할 수 있는지 자문해 보시기 바랍니다.\\n\\n## 작은 PR {#small-pull-requests}\\n\\n큰 PR은 검토하기 어렵고 세부 내용을 놓치기 쉽습니다. PR이 너무 커서 관리하기 어렵다면, 작성자에게 작게 나누도록 제안합니다.\\n\\n> [!NOTE] 예외\\\\\\n> 변경 사항이 밀접하게 결합되어 있어 분리할 수 없는 경우처럼, PR을 분리할 수 없는 몇 가지 사항이 존재합니다. 이러한 경우 작성자는 변경 사항과 그 이유를 자세히 설명해야 합니다.\\n\\n## 일관성 {#consistency}\\n\\n변경 사항이 프로젝트의 다른 부분과 일관성을 유지하는 것이 중요합니다. 일관성을 유지하지 않으면 유지 보수에 복잡성을 증대하므로 이를 피해야 합니다. 사용자에게 메세지를 출력하거나 오류를 보고하는 접근 방식이 있다면 이 방식을 유지해야 합니다. 작성자가 이러한 프로젝트의 표준을 동의하지 않으면, 더 자세히 논의할 수 있는 이슈 (Issue) 생성을 제안합니다.\\n\\n## 테스트 {#tests}\\n\\n테스트는 변경된 코드 자격을 증명합니다. PR의 코드는 테스트 되어야 하고 모두 통과해야 합니다. 좋은 테스트는 일관되게 같은 결과를 도출하고 이해하고 유지하기 쉬운 테스트 입니다. 검토자 (Reviewer) 는 코드 구현 리뷰에 많은 시간을 할애하지만, 테스트도 코드이므로 마찬가지로 중요합니다.\\n\\n## 단절적 변경 사항 {#breaking-changes}\\n\\n단절적 변경 사항 (Breaking change) 은 Tuist 사용자에게 안 좋은 사용자 경험입니다. 코드 기여는 중대한 변경 사항이 없으면, 단절적 변경 사항 (Breaking change) 은 피해야 합니다. 단절적 변경 사항 (Breaking change) 없이 Tuist의 인터페이스를 발전시킬 수 있는 많은 언어적 특성이 있습니다. 변경 사항이 단절적 변경 사항 (Breaking change) 인지 아닌지 명확하지 않을 수 있습니다. 변경 사항이 단절적 변경 사항 (Breaking change) 인지 아닌지 확인하는 방법은 fixtures 디렉토리에 있는 fixture 프로젝트에 대해 Tuist를 실행해보는 것입니다. 단절적 변경 사항 (Breaking change) 은 사용자의 입장에서 생각하고 변경 사항이 사용자에게 어떠한 영향을 줄지 생각해야 합니다.\\n\",\"title\":\"Code reviwes\",\"frontmatter\":{\"URL\":\"/ko/contributors/code-reviews\",\"LLMS_URL\":\"/ko/contributors/code-reviews.md\",\"title\":\"Code reviwes\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"코드 리뷰를 통해 Tuist에 어떻게 기여하는지 알아봅니다.\"}},{\"path\":\"/ko/contributors/get-started.md\",\"url\":\"/ko/contributors/get-started\",\"llmUrl\":\"/ko/contributors/get-started.md\",\"content\":\"---\\nURL: \\\"/ko/contributors/get-started\\\"\\nLLMS_URL: \\\"/ko/contributors/get-started.md\\\"\\ntitle: \\\"Get started\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"다음 가이드를 통해 Tuist 기여를 시작합니다.\\\"\\n---\\n\\n# Get started {#get-started}\\n\\niOS 처럼 Apple 플랫폼의 앱을 빌드해 본 경험이 있다면, Tuist 에 코드를 추가하는 것은 다르지 않습니다. 앱 개발과 비교해서 두 가지 차이점이 있습니다:\\n\\n- **CLI와의 상호작용은 터미널을 통해 일어납니다.** 사용자가 원하는 작업을 Tuist로 실행하면 성공 또는 상태 코드를 반환합니다. 실행하는 동안 사용자는 동작 내용과 오류에 대한 정보를 확인할 수 있습니다. 제스처 또는 그래픽 상호작용은 없고, 사용자의 의도만 존재합니다.\\n\\n- **입력을 기다리면서 프로세스를 활성 상태로 유지하는 런루프가 존재하지 않습니다.** 이것은 시스템 또는 사용자 이벤트를 수신할 때 iOS 앱과 유사합니다. CLI는 동일 프로세스로 실행되고 작업이 완료되면 종료됩니다. 비동기 작업은 [DispatchQueue](https://developer.apple.com/documentation/dispatch/dispatchqueue) 또는 [structured concurrency](https://developer.apple.com/tutorials/app-dev-training/managing-structured-concurrency) 와 같은 시스템 API를 사용하여 수행할 수 있지만, 비동기 작업이 수행되는 동안 프로세스가 실행 중인지 확인해야 합니다. 그렇지 않으면, 프로세스는 비동기 작업을 종료합니다.\\n\\nSwift에 대한 경험이 없다면, 언어와 Foundation API에서 자주 사용하는 요소에 대해 익숙해 지도록 [Apple’s official book](https://docs.swift.org/swift-book/)을 추천합니다.\\n\\n## 최소 요구 사항 {#minimum-requirements}\\n\\nTuist에 기여하기 위해 최소 요구 사항은 다음과 같습니다:\\n\\n- macOS 14.0+\\n- Xcode 16.3+\\n\\n## 로컬에 프로젝트 설정하기 {#set-up-the-project-locally}\\n\\n프로젝트에 작업을 시작하려면 다음과 같습니다:\\n\\n- `git clone [email protected]:tuist/tuist.git` 수행하여 리포지터리를 복사합니다.\\n- 개발 환경을 위해 Mise 를 [설치](https://mise.jdx.dev/getting-started.html) 합니다.\\n- `mise install` 을 실행하여 Tuist에 필요한 시스템 종속성을 설치합니다.\\n- `tuist install` 을 실행하여 Tuist에 필요한 외부 종속성을 설치합니다.\\n- (선택 사항) `tuist auth login`을 실행하여 Tuist Cache에 접근합니다.\\n- `tuist generate` 를 실행하여 Tuist를 사용하는 Tuist Xcode 프로젝트를 생성합니다.\\n\\n**생성된 프로젝트는 자동으로 열립니다**. 프로젝트 생성 없이 프로젝트를 열려면, `open Tuist.xcworkspace` 를 실행하거나 Finder 를 사용합니다.\\n\\n> [!NOTE] XED.\\n> `xed .`를 사용하여 프로젝트를 열면, Tuist로 생성한 프로젝트가 열리지 않고, 패키지가 열립니다. Tuist로 생성한 프로젝트를 사용하는 것을 권장합니다.\\n\\n## 프로젝트 수정하기 {#edit-the-project}\\n\\n의존성을 추가하거나 타겟을 조정하는 것과 같이 프로젝트 수정이 필요한 경우, `tuist edit` 명령어를 사용할 수 있습니다. 거의 사용되지 않지만, 이런 명령어가 존재한다는 것을 알아두면 좋습니다.\\n\\n## Tuist 실행하기 {#run-tuist}\\n\\n### Xcode {#from-xcode}\\n\\n생성된 Xcode 프로젝트에서 `tuist`를 실행하려면, `tuist` 스킴을 수정하고 명령어에 전달할 인수를 설정합니다. 예를 들어, `tuist generate` 명령어를 실행하려면, 프로젝트 생성 후에 프로젝트가 열리지 않도록 `generate --no-open` 인수를 설정할 수 있습니다.\\n\\n\\n\\n또한 생성되는 프로젝트의 루트를 작업 디렉토리로 설정해야 합니다. 모든 명령어를 적용하는 `--path` 인수를 사용할 수도 있고, 아래와 같이 스킴에 작업 디렉토리를 구성할 수도 있습니다:\\n\\n\\n\\n> [!WARNING] PROJECTDESCRIPTION COMPILATION\\\\\\n> `tuist` CLI는 빌드된 디렉토리에 `ProjectDescription` 프레임워크의 존재에 따라 달라집니다. `ProjectDescription` 프레임워크를 찾을 수 없어 `tuist` 실행이 실패하면 먼저 `Tuist-Workspace` 스킴을 빌드합니다.\\n\\n### Terminal {#from-the-terminal}\\n\\nTuist의 `run` 명령어를 통해 `tuist`를 수행할 수 있습니다:\\n\\n```bash\\ntuist run tuist generate --path /path/to/project --no-open\\n```\\n\\n또한 Swift Package Manager를 통해 직접 실행할 수도 있습니다:\\n\\n```bash\\nswift build --product ProjectDescription\\nswift run tuist generate --path /path/to/project --no-open\\n```\\n\",\"title\":\"Get started\",\"frontmatter\":{\"URL\":\"/ko/contributors/get-started\",\"LLMS_URL\":\"/ko/contributors/get-started.md\",\"title\":\"Get started\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"다음 가이드를 통해 Tuist 기여를 시작합니다.\"}},{\"path\":\"/ko/contributors/issue-reporting.md\",\"url\":\"/ko/contributors/issue-reporting\",\"llmUrl\":\"/ko/contributors/issue-reporting.md\",\"content\":\"---\\nURL: \\\"/ko/contributors/issue-reporting\\\"\\nLLMS_URL: \\\"/ko/contributors/issue-reporting.md\\\"\\ntitle: \\\"Issue reporting\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"버그 리포트를 통해 Tuist에 어떻게 기여하는지 알아봅니다.\\\"\\n---\\n\\n# Issue reporting {#issue-reporting}\\n\\nTuist를 사용하면 버그나 예상치 못한 동작을 경험할 수 있습니다.\\n이런 경우, 문제를 리포트 해주면 수정할 수 있습니다.\\n\\n## GitHub 이슈는 티켓팅 플랫폼 {#github-issues-is-our-ticketing-platform}\\n\\n문제는 Slack 이나 다른 플랫폼이 아닌 [GitHub issues](https://github.com/tuist/tuist/issues)에 리포트 해야 합니다. GitHub는 문제를 추적하고 관리하는데 유용하고, 코드베이스에 가까우며, 문제 진행 사항을 추적할 수 있게 합니다. 또한, GitHub는 문제에 대해 더 생각하고 더 많은 내용을 제공하도록 문제의 설명을 자세하게 적도록 유도합니다.\\n\\n## 설명의 중요성 {#context-is-crucial}\\n\\n충분한 설명이 없는 문제는 불완전한 것으로 간주되고 추가 내용을 제공해야 될 수도 있습니다. 추가 내용을 제공하지 않으면, 문제는 종료될 수 있습니다. 다음과 같이 생각해보시기 바랍니다: 더 많은 내용을 제공하면 문제를 더 쉽게 이해하고 해결할 수 있습니다. 그래서 문제가 해결되길 원하면, 가능한 자세한 내용을 제공해야 합니다. 다음 질문에 답변 해보시기 바랍니다:\\n\\n- 무엇을 하려고 했나요?\\n- 그래프는 어떻게 생겼나요?\\n- Tuist의 어떤 버전을 사용하고 있나요?\\n- 이것이 당신을 방해하나요?\\n\\n우리는 또한 최소한의 **재현 가능한 프로젝트**를 요구할 수도 있습니다.\\n\\n## 재현 가능한 프로젝트 {#reproducible-project}\\n\\n### 재현 가능한 프로젝트란 무엇입니까? {#what-is-a-reproducible-project}\\n\\n재현 가능한 프로젝트는 문제를 보여주는 작은 Tuist 프로젝트 입니다 - 이런 문제는 Tuist의 버그일 수도 있습니다. 재현 가능한 프로젝트는 버그를 명확하게 보여주는 최소한의 기능을 포함해야 합니다.\\n\\n### 왜 재현 가능한 테스트 케이스를 만들어야 합니까? {#why-should-you-create-a-reproducible-test-case}\\n\\n재현 가능한 프로젝트로 문제의 원인을 분리할 수 있으며, 이는 문제를 해결하는 첫 번째 단계입니다. 버그 리포트에서 가장 중요한 것은 버그를 재현하는 경로를 정확하게 설명하는 것입니다.\\n\\n재현 가능한 프로젝트는 버그를 유발하는 특정 환경을 공유하는 좋은 방법입니다. 재현 가능한 프로젝트는 문제 해결에 도움을 줄 수 있는 사람들에게 도움을 주는 가장 좋은 방법입니다.\\n\\n### 재현 가능한 프로젝트를 생성하는 방법 {#steps-to-create-a-reproducible-project}\\n\\n- 새로운 git 리포지터리를 생성합니다.\\n- 리포지터리 디렉토리에서 `tuist init`을 사용하여 프로젝트를 초기화 합니다.\\n- 발견된 오류를 재현하는데 필요한 코드를 추가합니다.\\n- 코드를 게시 (당신의 GitHub 계정이 이 작업을 수행하기 좋습니다) 한 다음에 이슈를 생성할 때 링크를 게시합니다.\\n\\n### 재현 가능한 프로젝트의 이점 {#benefits-of-reproducible-projects}\\n\\n- **더 작은 크기:** 오류만 남기고 모두 삭제했으므로, 버그를 찾기 위해 복잡한 과정을 수행하지 않아도 됩니다.\\n- **비밀 코드를 게시할 필요가 없음:** 많은 이유로 사이트에 게시할 수 없을 수 있습니다. 작은 부분으로 재현 가능한 테스트 케이스를 만들면 비밀 코드를 노출하지 않고 문제를 확인할 수 있습니다.\\n- **버그 증명:** 버그는 컴퓨터의 설정 조합으로 인해 발생할 수 있습니다. 재현 가능한 테스트 케이스는 기여자가 해당 빌드를 다운 받아 빌드하고 테스트할 수 있습니다. 이것은 문제의 원인을 확인하고 범위를 좁히는데 도움을 줍니다.\\n- **버그 해결에 대한 도움 받기:** 문제를 재현할 수 있으면, 문제를 해결할 가능성이 있습니다. 버그를 재현하지 않고는 문제를 해결하는 것은 거의 불가능 합니다.\\n\",\"title\":\"Issue reporting\",\"frontmatter\":{\"URL\":\"/ko/contributors/issue-reporting\",\"LLMS_URL\":\"/ko/contributors/issue-reporting.md\",\"title\":\"Issue reporting\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"버그 리포트를 통해 Tuist에 어떻게 기여하는지 알아봅니다.\"}},{\"path\":\"/ko/contributors/principles.md\",\"url\":\"/ko/contributors/principles\",\"llmUrl\":\"/ko/contributors/principles.md\",\"content\":\"---\\nURL: \\\"/ko/contributors/principles\\\"\\nLLMS_URL: \\\"/ko/contributors/principles.md\\\"\\ntitle: \\\"Principles\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"이 문서는 Tuist의 개발을 위한 원칙을 설명합니다.\\\"\\n---\\n\\n# Principles {#principles}\\n\\n이 페이지는 Tuist의 디자인과 개발의 기둥이 되는 원칙을 설명합니다. 이것은 프로젝트와 함께 발전하고 프로젝트 기반과 잘 부합하는 지속 가능한 성장을 보장하기 위한 것입니다.\\n\\n## 기본 규칙 {#default-to-conventions}\\n\\nTuist가 존재하는 이유 중에 하나는 Xcode가 규칙이 약해 확장과 유지 보수가 어려운 복잡한 프로젝트를 생성하기 때문입니다. 이런 이유로 Tuist는 간단하고 철저하게 설계된 규칙을 기본적으로 사용합니다. **개발자는 규칙을 제외할 수 있지만, 그것은 자연스럽지 않습니다.**\\n\\n예를 들어, 제공된 인터페이스를 사용하여 타겟의 의존성을 정의하는 규칙이 있습니다. 이를 통해 Tuist는 제대로 된 구성으로 프로젝트가 생성되도록 보장합니다. 개발자는 빌드 설정으로 의존성을 정의할 수 있지만, 이것은 암묵적으로 정의하므로 일부 규칙을 따라야 하는 `tuist graph` 또는 `tuist cache` 와 같은 Tuist 기능의 규칙에 어긋납니다.\\n\\n규칙을 따라야 하는 이유는 개발자를 대신해서 많은 결정을 해주면 개발자는 앱의 기능을 만드는데 더 집중할 수 있기 때문입니다. 많은 프로젝트에서 규칙이 없다면, 이전에 결정한 사항과 일관성 없는 결정을 하게 되고 결과적으로 관리하기 어렵게 됩니다.\\n\\n## Manifest는 진실 공급원 {#manifests-are-the-source-of-truth}\\n\\n여러 층을 가지는 구성과 그 구성 간의 계약은 프로젝트 설정을 이해하고 유지하기 어렵게 만듭니다. 일반적인 프로젝트를 생각해 봅시다. 프로젝트의 정의는 `.xcodeproj ` 디렉토리, 스크립트 (예: `Fastfiles `) 에 CLI, 파이프라인에 CI 로직이 있습니다. 이 세 가지 층은 서로의 계약을 유지해야 합니다. _프로젝트에서 무언가 변경하고 일주일 후에 릴리즈 스크립트가 손상되었다고 깨달은 적이 얼마나 자주 있었습니까?_\\n\\n우리는 단일 진실 공급원 인 Manifest 파일로 이것을 단순하게 변경할 수 있습니다. 이 파일은 개발자가 Xcode 프로젝트를 생성하는데 필요한 정보를 Tuist에 제공합니다. 게다가, 로컬 또는 CI 환경에서 프로젝트를 빌드하기 위한 표준 명령어를 사용할 수 있습니다.\\n\\n**Tuist는 복잡한 설정을 관리하고 가능한 프로젝트를 명확하게 설명하기 위해 간단하고 안전하며 즐거운 인터페이스를 제공해야 합니다.**\\n\\n## 암시적인 것을 명시적으로 만들기 {#make-the-implicit-explicit}\\n\\nXcode는 함축적 구성을 제공합니다. 그 좋은 예는 암시적으로 정의된 의존성을 유추하는 것입니다. 암시성은 구성이 간단한 작은 프로젝트에서는 좋지만, 프로젝트가 커질 수록 느리거나 이상한 동작을 야기 시킵니다.\\n\\nTuist는 Xcode의 함축적 동작에 대해 명시적으로 API를 제공해야 합니다. 또한, Xcode 암시적 정의를 지원하지만 개발자가 명시적 접근 방식을 선택하도록 구현해야 합니다. Xcode 암시성과 복잡성을 모두 제공하면 Tuist 채택이 용이해지고, 나중에 팀은 암시성을 제거하는 시간을 할애할 수 있습니다.\\n\\n이것의 좋은 예는 의존성 정의입니다. 개발자는 Build Settings과 Build Phases에서 의존성 정의를 할 수 있지만, Tuist는 더 좋은 API를 제공합니다.\\n\\n**API를 명시적으로 설계하면 그렇지 않은 프로젝트에서 불가능한 일부 검사와 최적화를 Tuist가 수행할 수 있습니다.** 게다가, 의존성 그래프를 표현하는 `tuist graph` 또는 바이너리로 모든 타겟을 캐시하는 `tuist cache` 와 같은 기능을 사용할 수 있습니다.\\n\\n> [!TIP]\\\\\\n> Xcode의 기능을 이식해 달라는 요청은 간단하고 명확한 API를 통해 개념을 단순화할 수 있는 기회로 여겨야 합니다.\\n\\n## 단순함을 유지 {#keep-it-simple}\\n\\nXcode 프로젝트를 확장할 때 주요 과제 중 하나는 **Xcode가 사용자에게 많은 복잡성을 보인다는** 사실에서 비롯됩니다. 이로 인해, 팀은 높은 버스 팩터를 가지고 팀에 일부 인원만 프로젝트와 빌드 시스템에서 발생하는 오류를 이해합니다. 이러한 상황은 팀이 소수 인원에 의지하게 되므로 좋지 않은 상황입니다.\\n\\nXcode는 훌륭한 툴이지만, 수 년간의 개선과 새로운 플랫폼, 그리고 프로그래밍 언어가 반영되면서 단순함을 유지하는데 어려움을 겪었습니다.\\n\\nTuist는 간단한 업무는 재미와 동기부여를 하기 때문에 단순함을 유지해야 합니다. 어느 누구도 컴파일 마지막에 발생한 오류를 디버깅 하거나 단말에 앱이 실행되지 않는 이유를 이해하는데 시간을 할애하고 싶어 하지 않습니다. Xcode는 해당 작업을 빌드 시스템에 위임하고 어떤 경우에는 오류를 실행 가능하도록 변환하는데 매우 형편 없습니다. _\\\"framework X not found\\\"_ 오류가 발생하여 어떻게 해야 할지 모르는 경우가 있었습니까? 해당 버그에 대해 가능한 근본 원인을 받았다고 상상해 보시기 바랍니다.\\n\\n## 개발자의 경험에서 시작 {#start-from-the-developers-experience}\\n\\nXcode의 혁신이 부족하거나 다른 프로그래밍 환경보다 많지 않은 이유 중 하나는 **기존 해결책에서 문제 분석을 시작하기** 때문입니다. 그 결과로 오늘날 찾은 대부분의 해결책은 동일한 아이디어와 워크플로우\\u001d를 중심으로 돌아갑니다. 기존 해결책을 포함하는 것은 좋지만, 이것이 우리의 창의성을 제한하면 안됩니다.\\n\\n우리는 [Tom Preston](https://tom.preston-werner.com/)이 [팟캐스트](https://tom.preston-werner.com/)에서 말한 것처럼 생각하고 싶어합니다: _\\\"대부분의 일은 머릿속에 있는 것은 무엇이든 우주의 제약 내에서 코드로 이룰 수 있습니다\\\"._ **개발자 경험이 어떤지 상상한다면** 실현하는 것은 시간 문제입니다 — 개발자 경험으로 문제를 분석하기 시작하면 사용자가 사용하고 싶은 해결책을 찾을 수 있습니다.\\n\\n모든 사람이 계속해서 불평을 가지는 불편함이더라도 우리는 모두가 하는 것을 따르고 싶은 유혹을 느낄 수 있습니다. 그러면 안됩니다. 앱을 아카이브 한다고 상상해 보시기 바랍니다. 어떻게 해야 할까요? 코드 서명은 어떻게 하면 좋을까요? Tuist로 어떤 프로세스를 간소화 할 수 있을까요? 예를 들어, [Fastlane](https://fastlane.tools/)을 추가하는 것은 이 문제에 대한 해결책 입니다. 우리는 \\\"왜\\\"라는 질문을 통해 문제의 근원을 찾을 수 있습니다. 이 질문으로 범위가 좁혀지면 Tuist가 어떻게 도움을 줄 수 있는지 생각해 볼 수 있습니다. 해결책이 Fastlane과 통합하는 것일 수도 있지만, 절충안을 결정하기 전에 제시할 수 있는 다른 해결책을 무시하지 않는 것이 중요합니다.\\n\\n## 오류 발생 가능성 {#errors-can-and-will-happen}\\n\\n개발자들은 오류가 발생 여부를 무시하고 싶은 유혹이 있습니다. 그 결과, 이상적인 시나리오로 소프트웨어를 설계하고 테스트 합니다.\\n\\nSwift와 잘 설계된 코드는 일부 오류를 막는데 도움을 주지만, 일부 오류는 제어가 불가능하기 때문에 모든 오류를 막을 수는 없습니다. 사용자가 항상 인터넷이 연결되어 있거나 시스템 명령이 성공적으로 반환할 것이라고 생각할 수 없습니다. Tuist가 실행되는 환경은 우리가 제어할 수 있는 샌드박스 환경이 아니므로 Tuist가 어떻게 변경되고 영향을 받을 수 있는지 이해해야 합니다.\\n\\n오류를 제대로 처리하지 못하면 사용자에게 안좋은 경험을 제공하고, 프로젝트의 신뢰를 잃을 수 있습니다. 우리는 Tuist의 오류를 표현하는 방식을 포함하여 모든 부분을 사용자가 즐기길 바랍니다.\\n\\n우리는 사용자의 입장에서 생각해야 하고, 무슨 오류가 나타날지 생각해야 합니다. 프로그래밍 언어는 오류를 전파하는 통신 채널이고 오류의 목적지가 사용자라면 오류는 타겟 (사용자) 이 사용하는 언어로 작성되어야 합니다. 무엇이 일어나는지 알 수 있게 충분한 정보를 포함해야 하며 상관없는 정보는 숨겨야 합니다. 또한 사용자에게 복구하기 위해 취할 수 있는 단계를 알려줌으로써 조치가 가능해야 합니다.\\n\\n그리고 마지막으로 테스트 케이스로 실패 시나리오를 고려해야 합니다. 그것은 오류를 제대로 처리하는지 확인할 뿐만 아니라, 개발자가 해당 논리를 깨는 것을 방지합니다.\\n\",\"title\":\"Principles\",\"frontmatter\":{\"URL\":\"/ko/contributors/principles\",\"LLMS_URL\":\"/ko/contributors/principles.md\",\"title\":\"Principles\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"이 문서는 Tuist의 개발을 위한 원칙을 설명합니다.\"}},{\"path\":\"/ko/contributors/translate.md\",\"url\":\"/ko/contributors/translate\",\"llmUrl\":\"/ko/contributors/translate.md\",\"content\":\"---\\nURL: \\\"/ko/contributors/translate\\\"\\nLLMS_URL: \\\"/ko/contributors/translate.md\\\"\\ntitle: \\\"Translate\\\"\\ntitleTemplate: \\\":title · Contributors · Tuist\\\"\\ndescription: \\\"이 문서는 Tuist의 개발을 위한 원칙을 설명합니다.\\\"\\n---\\n\\n# Translate {#translate}\\n\\n언어는 이해의 장벽이 될 수 있습니다. 우리는 Tuist가 가능한 많은 사람들에게 접근 가능하도록 하려고 합니다. Tuist에서 지원하지 않는 언어를 사용한다면, Tuist를 번역하여 우리를 도울 수 있습니다.\\n\\n번역을 유지하는 것은 지속적인 노력이 필요하므로, 번역을 도와 줄 기여자가 있다면 해당 언어를 추가합니다. 현재 지원하고 있는 언어는 다음과 같습니다:\\n\\n- 영어\\n- 한국어\\n- 일본어\\n- 러시아어\\n\\n> [!TIP] 새로운 언어 요청\\\\\\n> Tuist에 새로운 언어를 지원해야 된다면, 커뮤니티에 의논할 수 있도록 [커뮤니티 포럼에 주제](https://community.tuist.io/c/general/4)를 새로 생성해 주세요.\\n\\n## 번역 방법\\n\\n우리는 번역을 관리하기 위해 [Crowdin](https://crowdin.com/)을 사용합니다. 먼저, 기여하고 싶은 프로젝트로 이동합니다:\\n\\n- [Documentation](https://crowdin.com/project/tuist-documentation)\\n- [Website](https://crowdin.com/project/tuist-documentation)\\n\\n번역을 시작하려면 계정이 필요합니다. GitHub으로 로그인 할 수 있습니다. 접근 권한이 생기면 번역을 시작할 수 있습니다. 번역 가능한 리소스 목록을 확인할 수 있습니다. 리소스를 클릭하면 편집창이 열리고, 기존 언어는 왼편에 번역한 언어\\u001d는 오른편에 나타나는 화면을 볼 수 있습니다. 오른편에 번역 내용을 작성하고 변경 사항을 저장합니다.\\n\\n번역이 업데이트 되면 Crowdin은 자동으로 리포지토리에 저장하여 Pull Request를 열고, 메인테이너는 해당 내용을 검토하여 병합합니다.\\n\\n> [!IMPORTANT] 번역 언어의 리소스를 수정하지 마세요\\n> Crowdin은 기존 언어와 번역 언어를 결합 하기 위해 파일을 분할합니다. 기존 언어를 수정하면 바인딩이 끊어지고 예상치 못한 결과를 가져올 수 있습니다.\\n\\n## 가이드라인\\n\\n번역할 때 따라야 하는 가이드라인은 다음과 같습니다.\\n\\n### 커스텀 컨테이너와 GitHub alert\\n\\n[커스텀 컨테이너 (Custom Container)](https://vitepress.dev/guide/markdown#custom-containers) 또는 [GitHub Alerts](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts)을 번역할 때는 **경고 타입은 번역하지 않고** 제목과 내용만 번역합니다.\\n\\n:::details GitHub Alert 예제\\n\\n````markdown\\n > [!WARNING] 루트 변수\\n > 매니페스트의 루트에 있어야 하는 변수는...\\n\\n // Instead of\\n > [!주의] 루트 변수\\n > 매니페스트의 루트에 있어야 하는 변수는...\\n ```\\n:::\\n\\n\\n::: details Example with custom container\\n```markdown\\n ::: warning 루트 변수\\\\\\n 매니페스트의 루트에 있어야 하는 변수는...\\n :::\\n\\n # Instead of\\n ::: 주의 루트 변수\\\\\\n 매니페스트의 루트에 있어야 하는 변수는...\\n :::\\n````\\n\\n:::\\n\\n### 제목\\n\\n제목을 번역할 때, ID는 번역하지 않고 제목만 번역합니다. 예를 들어, 다음의 제목을 번역할 때:\\n\\n```markdown\\n# Add dependencies {#add-dependencies}\\n```\\n\\n이것은 다음과 같이 번역합니다 (ID는 번역하지 않습니다):\\n\\n```markdown\\n# 의존성 추가하기 {#add-dependencies}\\n```\\n\",\"title\":\"Translate\",\"frontmatter\":{\"URL\":\"/ko/contributors/translate\",\"LLMS_URL\":\"/ko/contributors/translate.md\",\"title\":\"Translate\",\"titleTemplate\":\":title · Contributors · Tuist\",\"description\":\"이 문서는 Tuist의 개발을 위한 원칙을 설명합니다.\"}},{\"path\":\"/ko/guides/examples/generated-projects.md\",\"url\":\"/ko/guides/examples/generated-projects\",\"llmUrl\":\"/ko/guides/examples/generated-projects.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects.md\\\"\\ntitle: \\\"생성된 프로젝트 예제\\\"\\ntitleTemplate: \\\":title · 예제 · 가이드 · Tuist\\\"\\ndescription: \\\"승인 테스트를 실행하기 위한 픽스처로 사용하는 생성된 프로젝트의 예제입니다.\\\"\\n---\\n\\n# 생성된 프로젝트 예제\\n\\n이 섹션에서는 승인 테스트를 실행하기 위한 [픽스처](https://github.com/tuist/tuist/tree/main/cli/Fixtures)로 사용하는 생성된 프로젝트의 예제를 찾을 수 있습니다. 새로운 생성된 프로젝트를 만들거나 기존 Xcode 프로젝트를 Tuist로 생성되도록 마이그레이션할 때 유용할 수 있습니다.\",\"title\":\"생성된 프로젝트 예제\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects.md\",\"title\":\"생성된 프로젝트 예제\",\"titleTemplate\":\":title · 예제 · 가이드 · Tuist\",\"description\":\"승인 테스트를 실행하기 위한 픽스처로 사용하는 생성된 프로젝트의 예제입니다.\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_airship_sdk.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_airship_sdk\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_airship_sdk.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_airship_sdk\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_airship_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Airship SDK\\n\\nThis example contains an example that showcases how to integrate the [Airship](https://github.com/urbanairship/ios-library) SDK.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with the Airship SDK\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_airship_sdk\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_airship_sdk.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_build_rules.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_build_rules\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_build_rules.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_build_rules\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_build_rules.md\\\"\\n---\\n\\n\\n\\n# Application with build rules\\n\\nThis example contains an example that uses [build rules](https://developer.apple.com/documentation/xcode/creating-build-rules-for-custom-file-types), which instruct Xcode on how to compile a particular file.\\n\\n예제 확인\\n\",\"title\":\"Application with build rules\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_build_rules\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_build_rules.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_composable_architecture.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_composable_architecture\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_composable_architecture.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_composable_architecture\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_composable_architecture.md\\\"\\n---\\n\\n\\n\\n# Application with the Composable Architecture (TCA)\\n\\nThis example contains an example that uses the Composable Architecture.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with the Composable Architecture (TCA)\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_composable_architecture\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_composable_architecture.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration\\n\\nApp that showcases a custom default configuration generationo option.\\n\\n예제 확인\\n\",\"title\":\"App with a custom default configuration\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration_settings\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration_settings\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration settings\\n\\nThis example demonstrates how to set a [default configuration](https://developer.apple.com/library/archive/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-MY_APP_HAS_MULTIPLE_BUILD_CONFIGURATIONS__HOW_DO_I_SET_A_DEFAULT_BUILD_CONFIGURATION_FOR_XCODEBUILD_) in the project settings, which will be used by `xcodebuild` when building from the command-line.\\n\\nThe default build configuration is also used to [visually activate code](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Source-Editor) in `#if…#endif` blocks when working with custom configurations other than Debug or Release in Xcode 15 and later.\\n\\n예제 확인\\n\",\"title\":\"App with a custom default configuration settings\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration_settings\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_custom_default_configuration_settings.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_custom_scheme.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_custom_scheme\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_custom_scheme.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_custom_scheme\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_custom_scheme.md\\\"\\n---\\n\\n\\n\\n# Application with custom scheme\\n\\nThis example contains an example that uses a custom scheme to demonstrate how to modify schemes to ones needs.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with custom scheme\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_custom_scheme\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_custom_scheme.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_executable_non_local_dependencies\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_executable_non_local_dependencies\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application with Executable Non Local Dependencies\\n\\nThis example consists of two projects:\\n- Main app project, which contains the main iOS application\\n- Helper targets project, which includes various targets that the main app relies on\\n\\nIt demonstrates a scenario where the main app depends on executable targets from another project.\\nThere are three such targets:\\n1. `AppExtension` - an app extension target\\n2. `WatchApp` - a watchOS app target\\n3. `TestHost` - an app target intended to serve as the test host for test targets (and also exemplifies a regular app target)\\n\\n\\n예제 확인\\n\",\"title\":\"Application with Executable Non Local Dependencies\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_executable_non_local_dependencies\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_executable_non_local_dependencies.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_exponea_sdk.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_exponea_sdk\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_exponea_sdk.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_exponea_sdk\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_exponea_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Exponea SDK\\n\\nThis example contains an example that showcases how to integrate the [Exponea](https://github.com/exponea/exponea-ios-sdk) SDK. This SDK includes a core data model.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with the Exponea SDK\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_exponea_sdk\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_exponea_sdk.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_generated_sources.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_generated_sources\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_generated_sources.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_generated_sources\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_generated_sources.md\\\"\\n---\\n\\n\\n\\n# App with generated sources\\n\\nThis app is to showcase using sources that are generated during the build process (as oppose to sources that already exist when buildig).\\n\\n\\n예제 확인\\n\",\"title\":\"App with generated sources\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_generated_sources\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_generated_sources.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_globs.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_globs\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_globs.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_globs\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_globs.md\\\"\\n---\\n\\n\\n\\n# App with globs\\n\\nThis app is to showcase and test complex glob patterns for sources, resources, additional files, etc.\\n\\n\\n예제 확인\\n\",\"title\":\"App with globs\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_globs\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_globs.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_google_maps.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_google_maps\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_google_maps.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_google_maps\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_google_maps.md\\\"\\n---\\n\\n\\n\\n# App with Google Maps\\n\\nAn example of integrating an app with Google Maps. The `GoogleMaps` dependency is imported into the App through a dynamic framework.\\n\\n예제 확인\\n\",\"title\":\"App with Google Maps\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_google_maps\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_google_maps.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\\\"\\n---\\n\\n\\n\\n# Application with Embedded Local SPM Module\\n\\nThis example project demonstrates an application that includes a local Swift Package Manager (SPM) module (`LocalSwiftPackage`) configured as an embedded framework.\\n\\nThe project leverages a local SPM module added to the Embed Frameworks section, showing that local SPM packages can now be embedded within the application.\\n\\nThis demo project exists to validate and showcase the capability to embed local SPM modules as frameworks, allowing seamless integration into the main app.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with Embedded Local SPM Module\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_embed_frameworks.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application wih Local SPM Module with Remote Dependencies\\n\\nThis example contains a project that depends upon a local SPM module (`LocalSwiftPackage`) colocated within this directory.\\n\\nThis project does NOT contain any direct remote dependencies.\\nHowever, `LocalSwiftPackage` DOES have remote dependencies.\\n\\nThis example application exists to ensure that package resolution occurs even in the case of solely transitive remote dependencies.\\n\\n예제 확인\\n\",\"title\":\"Application wih Local SPM Module with Remote Dependencies\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_local_spm_module_with_remote_dependencies.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_metal_options.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_metal_options\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_metal_options.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_metal_options\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_metal_options.md\\\"\\n---\\n\\n\\n\\n# App with a metal diagnostic configuration\\n\\nApp that showcases a custom and default configuration for metal diagnostics.\\n\\n\\n예제 확인\\n\",\"title\":\"App with a metal diagnostic configuration\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_metal_options\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_metal_options.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_organization_name_project.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_organization_name_project\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_organization_name_project.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_organization_name_project\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_organization_name_project.md\\\"\\n---\\n\\n\\n\\n# App with organization name defined in `Project`\\n\\nAn iOS app where the organization name is defined at the `Project` level.\\n\\n예제 확인\\n\",\"title\":\"App with organization name defined in `Project`\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_organization_name_project\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_organization_name_project.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_realm.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_realm\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_realm.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_realm\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_realm.md\\\"\\n---\\n\\n\\n\\n# Application with Realm\\n\\nThis example contains an example that showcases how to integrate the [Realm Swift](https://github.com/realm/realm-swift) library.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with Realm\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_realm\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_realm.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies\\n\\nAn example of an application which depends on XCFrameworks with different kinds of signatures:\\n- Signature not specified (signature validation should be skipped)\\n- Unsigned\\n- Signed with Apple certificate\\n- Self signed\\n\\n\\n예제 확인\\n\",\"title\":\"App With Signed XCFramework Dependencies\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies - Mismatching Signature\\n\\nExample of an app with a signed XCFramework dependency, where the XCFramework is declared to have a signature that\\ndoesn't match the actual signature.\\n\\n\\n예제 확인\\n\",\"title\":\"App With Signed XCFramework Dependencies - Mismatching Signature\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_signed_xcframework_dependencies_mismatching_signature.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\",\"url\":\"/ko/guides/examples/generated-projects/app_with_spm_xcframework_dependency\",\"llmUrl\":\"/ko/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/app_with_spm_xcframework_dependency\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\\\"\\n---\\n\\n\\n\\n# Application with XCFramework Swift Package Manager Dependenciy\\n\\nThis example contains an example that imports an external XCFramework using Swift Package Manager dependencies.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with XCFramework Swift Package Manager Dependenciy\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/app_with_spm_xcframework_dependency\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/app_with_spm_xcframework_dependency.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/framework_with_environment_variables.md\",\"url\":\"/ko/guides/examples/generated-projects/framework_with_environment_variables\",\"llmUrl\":\"/ko/guides/examples/generated-projects/framework_with_environment_variables.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/framework_with_environment_variables\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/framework_with_environment_variables.md\\\"\\n---\\n\\n\\n\\n# Framework with environment variables\\n\\nA framework project that leverages environment variables to change the name of the framework.\\n\\n예제 확인\\n\",\"title\":\"Framework with environment variables\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/framework_with_environment_variables\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/framework_with_environment_variables.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\",\"url\":\"/ko/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\",\"llmUrl\":\"/ko/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\\\"\\n---\\n\\n\\n\\n# Framework with native Swift Macro and Plugin packages\\n\\nThis project represents a project with a framework that integrates the following Swift Packages:\\n\\n- A [build tool plugin](https://github.com/apple/swift-package-manager/blob/main/Documentation/Plugins.md) using Xcode's native integration.\\n- A Swift Macro using Tuist's integration based on XcodeProj primitives.\\n\\n예제 확인\\n\",\"title\":\"Framework with native Swift Macro and Plugin packages\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/framework_with_macro_and_plugin_packages\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/framework_with_macro_and_plugin_packages.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\",\"url\":\"/ko/guides/examples/generated-projects/generated_ios_app_without_config_manifest\",\"llmUrl\":\"/ko/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/generated_ios_app_without_config_manifest\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\\\"\\n---\\n\\n\\n\\n# Generated iOS App without a config manifest\\n\\nThe presence of `Tuist.swift` is optional. When absent, Tuist provides a default configuration based on the type project detected in the file-system.\\n\\n\\n예제 확인\\n\",\"title\":\"Generated iOS App without a config manifest\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/generated_ios_app_without_config_manifest\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/generated_ios_app_without_config_manifest.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_actions.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_actions\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_actions.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_actions\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_actions.md\\\"\\n---\\n\\n\\n\\n# iOS app with actions\\n\\nAn iOS app with a target that has pre and post actions.\\n\\n예제 확인\\n\",\"title\":\"iOS app with actions\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_actions\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_actions.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_build_variables.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_build_variables\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_build_variables.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_build_variables\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_build_variables.md\\\"\\n---\\n\\n\\n\\n# iOS app with build variables\\n\\nAn iOS app with a Xcode build variables defined in pre action.\\n\\n예제 확인\\n\",\"title\":\"iOS app with build variables\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_build_variables\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_build_variables.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_coredata.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_coredata\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_coredata.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_coredata\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_coredata.md\\\"\\n---\\n\\n\\n\\n# Application with CoreData models\\n\\nThis example showcases a project that utilizes CoreData models and code generation for these models using resourceSynthesizer.\\n\\n예제 확인\\n\",\"title\":\"Application with CoreData models\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_coredata\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_coredata.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\\\"\\n---\\n\\n\\n\\n# iOS App with C++ Interoperability\\n\\nThis repository contains dependencies with the `.interoperabilityMode(.Cxx)` and ensures when Tuist converts those into Xcode targets, the right build settings are applied to the generated targets.\\n\\n\\n예제 확인\\n\",\"title\":\"iOS App with C++ Interoperability\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_cplusplus_interoperability.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_custom_workspace.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_custom_workspace\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_custom_workspace.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_custom_workspace\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_custom_workspace.md\\\"\\n---\\n\\n\\n\\n# iOS app with a custom workspace\\n\\niOS with a few projects and a `Workspace.swift` manifest file.\\n\\nThe workspace manifest defines:\\n\\n- glob patterns to list projects\\n- glob patterns to include documentation files\\n- folder reference to directory with html files\\n\\nThe App's project manifest leverages `additionalFiles` that:\\n\\n- defines glob patterns to include documentation files\\n- includes a Swift `Danger.swift` file that shouldn't get included in any build phase\\n- defines folder references to a directory with json files\\n\\n예제 확인\\n\",\"title\":\"iOS app with a custom workspace\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_custom_workspace\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_custom_workspace.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_extensions.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_extensions\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_extensions\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# iOS app with extensions\\n\\nSample iOS application with extension targets.\\n\\n예제 확인\\n\",\"title\":\"iOS app with extensions\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_extensions\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_extensions.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_framework_and_resources\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_framework_and_resources\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with a framework and resources\\n\\nA workspace with an application that includes resources.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - StaticFramework\\n - StaticFramework (static iOS framework)\\n - StaticFrameworkResources (iOS bundle)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> StaticFramework\\n- App -> StaticFrameworkResources\\n\\n예제 확인\\n\",\"title\":\"iOS app with a framework and resources\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_framework_and_resources\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_framework_and_resources.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a dynamic framework that links a static framework\\n\\n\\nAn example project demonstrating an iOS application linking a dynamic framework which itself depends on a static framework with transitive static dependencies.\\n\\nOnly `Framework1.framework` should be linked and included into App, everything else should be statically linked into the Framework1 executable.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (static iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (static iOS framework)\\n - Framework3Tests (iOS unit tests)\\n - Framework4:\\n - Framework4 (static iOS framework)\\n - Framework4Tests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2\\n- Framework1 -> Framework3\\n- Framework3 -> Framework4\\n\\n\\n\\n\\n예제 확인\\n\",\"title\":\"iOS app with a dynamic framework that links a static framework\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_framework_linking_static_framework.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_frameworks.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_frameworks\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_frameworks.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_frameworks\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with frameworks\\n\\n\\nSlightly more complicated project that consists of an iOS app and few frameworks.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (dynamic iOS framework)\\n - Framework4:\\n - Framework4 (dynamic iOS framework)\\n - Framework5:\\n - Framework5 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> Framework2\\n- Framework1 -> Framework2\\n- Framework2 -> Framework3\\n- Framework3 -> Framework4\\n- Framework4 -> Framework5\\n\\n예제 확인\\n\",\"title\":\"iOS app with frameworks\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_frameworks\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_frameworks.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_helpers.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_helpers\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_helpers.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_helpers\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_helpers.md\\\"\\n---\\n\\n\\n\\n# iOS app with helpers\\n\\nA basic iOS app that leverages `ProjectDescriptionHelpers`.\\n\\n\\n예제 확인\\n\",\"title\":\"iOS app with helpers\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_helpers\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_helpers.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible dependencies\\n\\nAn iOS app that has a dependency with a dependency on a framework for macOS.\\n\\n예제 확인\\n\",\"title\":\"iOS app with incompatible dependencies\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_dependencies\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_dependencies.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_xcode\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_xcode\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible Xcode\\n\\nAn iOS app whose Config file requires an Xcode version that is not available in the system.\\n\\n예제 확인\\n\",\"title\":\"iOS app with incompatible Xcode\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_xcode\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_incompatible_xcode.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_local_swift_package.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_local_swift_package\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_local_swift_package.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_local_swift_package\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_local_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a local Swift package\\n\\nAn iOS application that depends on a local Swift package.\\n\\n예제 확인\\n\",\"title\":\"iOS app with a local Swift package\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_local_swift_package\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_local_swift_package.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_multi_configs.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_multi_configs\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_multi_configs.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_multi_configs\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_multi_configs.md\\\"\\n---\\n\\n\\n\\n# iOS app with multiple configurations and an xcconfig\\n\\nA workspace that contains an application and frameworks that leverage multiple configurations (Debug, Beta and Release) each of which also has an associated xcconfig file within `ConfigurationFiles`.\\n\\n예제 확인\\n\",\"title\":\"iOS app with multiple configurations and an xcconfig\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_multi_configs\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_multi_configs.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_on_demand_resources\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_on_demand_resources\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with on demand resources\\n\\nAn iOS applicaiton with on-demand resources. It contains file resources and asset catalogs associated with tags which in turn are distributed between three categories:\\n- Initial install tags\\n- Prefetch tag order\\n- Dowloaded only on demand\\n\\n예제 확인\\n\",\"title\":\"iOS app with on demand resources\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_on_demand_resources\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_on_demand_resources.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_privacy_manifest\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_privacy_manifest\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\\\"\\n---\\n\\n\\n\\n# Application with Privacy Manifest\\n\\nThis example contains an example that uses a [Privacy Manifest](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files), which describe the data the app collects and the reasons required APIs it uses.\\n\\n예제 확인\\n\",\"title\":\"Application with Privacy Manifest\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_privacy_manifest\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_privacy_manifest.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_remote_swift_package\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_remote_swift_package\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS App with a remote Swift package\\n\\nAn iOS application with a remote Swift package.\\n\\n예제 확인\\n\",\"title\":\"iOS App with a remote Swift package\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_remote_swift_package\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_remote_swift_package.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_sandbox_disabled\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_sandbox_disabled\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\\\"\\n---\\n\\n\\n\\n# iOS app with sandbox disabled\\n\\nAn example of a project manifest that accesses the file system, and therefore requires the sandbox to be disabled.\\n\\n*Note: disabling the sandbox is discouraged and should only be used if absolutely necessary.*\\n\\n\\n예제 확인\\n\",\"title\":\"iOS app with sandbox disabled\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_sandbox_disabled\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_sandbox_disabled.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_sdk.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_sdk\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_sdk.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_sdk\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_sdk.md\\\"\\n---\\n\\n\\n\\n# iOS app with an SDK\\n\\nAn application that contains an application target that depends on system libraries and frameworks (`.framework` and `.tbd`).\\n\\nOne of the dependencies is declared as `.optional` i.e. will be linked weakly.\\n\\n예제 확인\\n\",\"title\":\"iOS app with an SDK\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_sdk\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_sdk.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependencies\\n\\nAn iOS application project with various SPM dependencies.\\n\\n예제 확인\\n\",\"title\":\"iOS app with SPM dependencies\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependency and force resolved versions flag\\n\\nAn iOS application project with one SPM dependency and --force-resolved-versions config flag\\n\\n예제 확인\\n\",\"title\":\"iOS app with SPM dependency and force resolved versions flag\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_spm_dependencies_forced_resolved_versions.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_static_frameworks.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_static_frameworks\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_static_frameworks.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_static_frameworks\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_static_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with static frameworks\\n\\n\\nThis fixture contains an application that depends on static frameworks, both directly and transitively.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Modules\\n - A:\\n - A (static framework iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static framework iOS)\\n - BTests (iOS unit tests)\\n - C:\\n - C (static framework iOS)\\n - CTests (iOS unit tests)\\n - D:\\n - D (dynamic framework iOS)\\n```\\n\\nA standalone `Prebuilt` project is used to generate a prebuilt static framework:\\n\\n```\\n- Prebuilt\\n - PrebuiltStaticFramework (static framework iOS)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- App -> C\\n- App -> PrebuiltStaticFramework\\n- A -> B\\n- A -> C\\n- C -> D\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_frameworks/Prebuilt//build.sh`\\n\\n예제 확인\\n\",\"title\":\"iOS app with static frameworks\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_static_frameworks\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_static_frameworks.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_static_libraries.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_static_libraries\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_static_libraries.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_static_libraries\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_static_libraries.md\\\"\\n---\\n\\n\\n\\n# iOS app with static libraries\\n\\n\\nThis application provides a top level application with two static library dependencies. The first static library dependency has another static library dependency so that we are able to test how Tuist handles the transitiveness of the static libraries in the linked frameworks of the main app.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - A:\\n - A (static library iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static library iOS)\\n - BTests (iOS unit tests)\\n```\\n\\nA standalone C project is used to generate a prebuilt static library:\\n\\n```\\n - C:\\n - C (static library iOS)\\n - CTests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- A -> B\\n- A -> prebuild C (libC.a)\\n\\nNote: to re-create `libC.a` run `ios_app_with_static_libraries/Modules/C/build.sh`\\n\\n예제 확인\\n\",\"title\":\"iOS app with static libraries\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_static_libraries\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_static_libraries.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_static_library_and_package\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_static_library_and_package\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a static library and a package\\n\\nAn iOS application that depends on static library that depends on Swift package where static library is defined first.\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_library_and_package/Prebuilt/build.sh`\\n\\n예제 확인\\n\",\"title\":\"iOS app with a static library and a package\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_static_library_and_package\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_static_library_and_package.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_tests.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_tests\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_tests.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_tests\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_tests.md\\\"\\n---\\n\\n\\n\\n# iOS app with tests\\n\\nA simple iOS app with tests, which includes a setup manifest and uses `.notGrouped` autogenerated schemes.\\n\\n예제 확인\\n\",\"title\":\"iOS app with tests\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_tests\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_tests.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a transitive framework\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n```\\n\\nA standalone Framework2 project is used to generate a prebuilt dynamic framework:\\n\\n```\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2 (prebuilt)\\n\\nNote: to re-create `Framework2.framework` run `ios_app_with_transitive_framework/Framework2/build.sh`\\n\\n예제 확인\\n\",\"title\":\"iOS app with a transitive framework\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\\\"\\n---\\n\\n\\n\\n# iOS app with transitive framework through macro executable\\n\\nThis fixture contains an iOS app that transitively and directly depends on a Swift Macro (executable)'s direct dependency.\\nIt was included [in this issue](https://github.com/tuist/tuist/issues/5988) because the set up caused the warming of the binary cache to fail due to \\\"multiple commands produce the same output\\\" error when archiving.\\nAs a solution, we moved away from using archive, and instead use the build action to warm the cache.\\n\\n예제 확인\\n\",\"title\":\"iOS app with transitive framework through macro executable\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_transitive_framework_through_macro.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_app_with_xcframeworks.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_app_with_xcframeworks\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_app_with_xcframeworks.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_app_with_xcframeworks\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_app_with_xcframeworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with xcframeworks\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - MyFramework:\\n - MyFramework (dynamic iOS framework)\\n - MyStaticFramework:\\n - MyStaticFramework (static iOS framework)\\n - MyStaticLibirary:\\n - MyStaticLibrary (static iOS libraries)\\n```\\n\\nAn example of an application which depends on prebuilt `.xcframework`s.\\n\\nThe `.xcframework` can be obtained by running the `build.sh` script within the each of the xcframework directories\\ne.g. `ios_app_with_xcframeworks/XCFrameworks/MyFramework/build.sh`.\\n\\n예제 확인\\n\",\"title\":\"iOS app with xcframeworks\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_app_with_xcframeworks\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_app_with_xcframeworks.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\",\"url\":\"/ko/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\",\"llmUrl\":\"/ko/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\\\"\\n---\\n\\n\\n\\n# iOS workspace with a dependency cycle\\n\\nAn example of a workspace that has a dependency cycle between targets in different projects.\\n\\n예제 확인\\n\",\"title\":\"iOS workspace with a dependency cycle\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/ios_workspace_with_dependency_cycle\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/ios_workspace_with_dependency_cycle.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/macos_app_with_extensions.md\",\"url\":\"/ko/guides/examples/generated-projects/macos_app_with_extensions\",\"llmUrl\":\"/ko/guides/examples/generated-projects/macos_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/macos_app_with_extensions\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/macos_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# macOS app with extensions\\n\\nThe project contains a macOS app with various types of extensions.\\n\\n예제 확인\\n\",\"title\":\"macOS app with extensions\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/macos_app_with_extensions\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/macos_app_with_extensions.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/package_with_registry_and_alamofire.md\",\"url\":\"/ko/guides/examples/generated-projects/package_with_registry_and_alamofire\",\"llmUrl\":\"/ko/guides/examples/generated-projects/package_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/package_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/package_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Swift package with registry and Alamofire\\n\\nA simple Swift package that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\n예제 확인\\n\",\"title\":\"Swift package with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/package_with_registry_and_alamofire\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/package_with_registry_and_alamofire.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/project_with_class_prefix.md\",\"url\":\"/ko/guides/examples/generated-projects/project_with_class_prefix\",\"llmUrl\":\"/ko/guides/examples/generated-projects/project_with_class_prefix.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/project_with_class_prefix\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/project_with_class_prefix.md\\\"\\n---\\n\\n\\n\\n# Project with class prefix\\n\\nThis example generate Xcode project with custom class prefix setting.\\n\\n예제 확인\\n\",\"title\":\"Project with class prefix\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/project_with_class_prefix\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/project_with_class_prefix.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/xcode_app.md\",\"url\":\"/ko/guides/examples/generated-projects/xcode_app\",\"llmUrl\":\"/ko/guides/examples/generated-projects/xcode_app.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/xcode_app\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/xcode_app.md\\\"\\n---\\n\\n\\n\\n# Xcode app\\n\\nA simple app created with Xcode. This fixture is _not_ using Tuist projects and it is meant to test features that don't require Tuist projects, such as `tuist share`.\\n\\n예제 확인\\n\",\"title\":\"Xcode app\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/xcode_app\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/xcode_app.md\"}},{\"path\":\"/ko/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\",\"url\":\"/ko/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\",\"llmUrl\":\"/ko/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/ko/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/ko/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Xcode project with registry and Alamofire\\n\\nA simple app created with Xcode that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\n예제 확인\\n\",\"title\":\"Xcode project with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/ko/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire\",\"LLMS_URL\":\"/ko/guides/examples/generated-projects/xcode_project_with_registry_and_alamofire.md\"}},{\"path\":\"/ko/guides/features/agentic-coding/mcp.md\",\"url\":\"/ko/guides/features/agentic-coding/mcp\",\"llmUrl\":\"/ko/guides/features/agentic-coding/mcp.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/agentic-coding/mcp\\\"\\nLLMS_URL: \\\"/ko/guides/features/agentic-coding/mcp.md\\\"\\ntitle: \\\"Model Context Protocol (MCP)\\\"\\ntitleTemplate: \\\":title · AI · Guides · Tuist\\\"\\ndescription: \\\"Tuist의 MCP 서버를 사용하여 앱 개발 환경에서 언어 기반 인터페이스를 활용하는 방법을 배워봅니다.\\\"\\n---\\n\\n# Model Context Protocol (MCP)\\n\\n[Model Context Protocol (MCP)](https://www.claudemcp.com)은 LLM이 개발 환경과 상호작용할 수 있도록 [Claude](https://claude.ai)에서 제안한 표준입니다.\\n이것을 LLM의 USB-C로 생각할 수 있습니다.\\n컨테이너 운송이 화물과 운송을 더 상호 운용 가능하게 만들었듯이,\\nTCP 프로토콜이 애플리케이션 계층을 전송 계층과 분리했듯이,\\nMCP는 [Claude](https://claude.ai/)와 같은 LLM 기반 애플리케이션과 [Zed](https://zed.dev)나 [Cursor](https://www.cursor.com)와 같은 편집기가 다른 도메인과 상호 운용될 수 있도록 합니다.\\n\\nTuist는 CLI를 통해 로컬 서버를 제공하여 _앱 개발 환경_과 상호작용할 수 있습니다.\\n클라이언트 앱을 이 서버에 연결하면 언어를 사용해 프로젝트와 상호작용할 수 있습니다.\\n\\n이 페이지에서는 MCP 서버의 설정 방법과 기능에 대해 알아볼 수 있습니다.\\n\\n> [!NOTE]\\\\\\n> Tuist MCP 서버는 Xcode의 최신 프로젝트를 기준으로 상호작용할 프로젝트를 결정합니다.\\n\\n## 설정\\n\\n### [Claude](https://claude.ai)\\n\\n[Claude desktop](https://claude.ai/download)을 사용한다면, Claude 환경을 구성하기위해 tuist mcp setup claude 명령어를 수행할 수 있습니다.\\n\\n또한 `~/Library/Application\\\\ Support/Claude/claude_desktop_config.json`의 파일을 직접 수정하여 Tuist MCP 서버를 추가할 수 있습니다:\\n\\n:::code-group\\n\\n```json [Global Tuist installation (e.g. Homebrew)]\\n{\\n \\\"mcpServers\\\": {\\n \\\"tuist\\\": {\\n \\\"command\\\": \\\"tuist\\\",\\n \\\"args\\\": [\\\"mcp\\\", \\\"start\\\"]\\n }\\n }\\n}\\n```\\n\\n```json [Mise installation]\\n{\\n \\\"mcpServers\\\": {\\n \\\"tuist\\\": {\\n \\\"command\\\": \\\"mise\\\",\\n \\\"args\\\": [\\\"x\\\", \\\"tuist@latest\\\", \\\"--\\\", \\\"tuist\\\", \\\"mcp\\\", \\\"start\\\"] // Or [email protected] to fix the version\\n }\\n }\\n}\\n```\\n\\n:::\\n\\n## Capabilities\\n\\n다음 섹션에서 Tuist MCP 서버의 기능에 대해 배워봅니다.\\n\\n### 리소스\\n\\n#### 최근 프로젝트와 워크스페이스\\n\\nTuist는 최근에 작업한 Xcode 프로젝트와 워크스페이스를 기록하여, 애플리케이션의 의존성 그래프에 접근이 가능하기 때문에 더 나은 분석이 가능합니다. 이런 데이터를 조회하여 다음과 같이 프로젝트의 구조와 관계에 대해 자세히 알 수 있습니다:\\n\\n- 특정 타겟의 직접 의존성 및 전이적 의존성은 무엇입니까?\\n- 가장 많은 소스 파일을 포함한 타겟과 얼마나 많은 파일을 포함하고 있습니까?\\n- 그래프 내에 모든 정적 제품(예: 정적 라이브러리, 정적 프레임워크)는 무엇입니까?\\n- 모든 타겟을 알파벳 순으로 정렬하고, 이름 및 제품 타입(예: 앱, 프레임워크, 유닛 테스트)과 함께 나열할 수 있습니까?\\n- 특정 프레임워크나 외부에 의존하는 타겟은 무엇입니까?\\n- 프로젝트의 모든 타겟에 포함된 총 소스 파일의 갯수는 몇 개입니까?\\n- 타겟 간의 순환 의존성이 존재하며, 어디에 있습니까?\\n- 특정 리소스(예: 이미지, plist 파일)를 사용하는 타겟은 무엇입니까?\\n- 그래프에서 가장 깊은 의존성 체인은 무엇이며 어떤 타겟이 포함됩니까?\\n- 모든 테스트 타겟과 그 타겟과 연관된 앱이나 프레임워크 타겟을 보여줄 수 있습니까?\\n- 최근 빌드 시간을 기준으로 빌드 시간이 가장 오래 걸린 타겟은 무엇입니까?\\n- 특정 두 타겟의 의존성 차이는 무엇입니까?\\n- 프로젝트에서 사용하지 않는 소스 파일이나 리소스가 있습니까?\\n- 어떤 타겟이 공통된 의존성을 공유하며, 그 의존성은 무엇입니까?\\n\\nTuist를 사용하면, Xcode 프로젝트를 더 깊이 알 수 있으며, 이를 통해 복잡한 설정도 쉽게 이해하고 최적화하며 효과적으로 관리할 수 있습니다!\\n\",\"title\":\"Model Context Protocol (MCP)\",\"frontmatter\":{\"URL\":\"/ko/guides/features/agentic-coding/mcp\",\"LLMS_URL\":\"/ko/guides/features/agentic-coding/mcp.md\",\"title\":\"Model Context Protocol (MCP)\",\"titleTemplate\":\":title · AI · Guides · Tuist\",\"description\":\"Tuist의 MCP 서버를 사용하여 앱 개발 환경에서 언어 기반 인터페이스를 활용하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/features/build.md\",\"url\":\"/ko/guides/features/build\",\"llmUrl\":\"/ko/guides/features/build.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/build\\\"\\nLLMS_URL: \\\"/ko/guides/features/build.md\\\"\\ntitle: \\\"Build\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"프로젝트를 효율적으로 빌드하기 위해 Tuist를 어떻게 사용하는지 배워봅니다.\\\"\\n---\\n\\n# Build {#build}\\n\\n프로젝트는 보통 빌드 시스템이 제공하는 CLI (예: `xcodebuild`) 를 통해 빌드됩니다. Tuist는 사용자 경험을 개선하고 최적화와 분석 기능을 제공하기 위해 이런 CLI를 래핑하여 플랫폼과 워크플로우를 통합합니다.\\n\\n필요한 경우 `tuist generate`로 프로젝트를 생성하고 플랫폼별 CLI로 빌드 하는 것보다 `tuist build`를 사용하는 차이가 무엇인지 궁금할 수 있습니다. 다음은 그 차이에 대한 이유를 나타냅니다:\\n\\n- **단일 명령어:** `tuist build`는 프로젝트 컴파일 전에 프로젝트를 생성합니다.\\n- **보기좋은 출력:** Tuist는 출력을 더 사용자 친화적으로 만들어 주는 [xcbeautify](https://github.com/cpisciotta/xcbeautify)와 같은 툴을 사용하여 출력합니다.\\n- <0><1>캐시:1>0> 원격 캐시에서 빌드 artifact를 재사용하여 빌드를 최적화 합니다.\\n- **분석:** 다른 데이터 포인트와 연관된 지표를 수집하고 보고하여, 정보에 기반한 결정을 내릴 수 있게 도와줍니다.\\n\\n## 사용법 {#usage}\\n\\n`tuist build`는 필요하면 프로젝트를 생성한 다음에 플랫폼별 빌드 툴을 사용하여 빌드합니다. `--` 구분자를 사용하여 이후의 모든 인자를 직접 하위 빌드 툴로 전달하는 것을 지원합니다. 이것은 `tuist build`에서는 지원하지 않지만 하위 빌드 툴에서 지원하는 경우, 인자를 전달할 때 유용합니다.\\n\\n::: code-group\\n\\n```bash [Build a scheme]\\ntuist build MyScheme\\n```\\n\\n```bash [Build a specific configuration]\\ntuist build MyScheme -- -configuration Debug\\n```\\n\\n```bash [Build all schemes without binary cache]\\ntuist build --no-binary-cache\\n```\\n\\n:::\\n\",\"title\":\"Build\",\"frontmatter\":{\"URL\":\"/ko/guides/features/build\",\"LLMS_URL\":\"/ko/guides/features/build.md\",\"title\":\"Build\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"프로젝트를 효율적으로 빌드하기 위해 Tuist를 어떻게 사용하는지 배워봅니다.\"}},{\"path\":\"/ko/guides/features/bundle-size.md\",\"url\":\"/ko/guides/features/bundle-size\",\"llmUrl\":\"/ko/guides/features/bundle-size.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/bundle-size\\\"\\nLLMS_URL: \\\"/ko/guides/features/bundle-size.md\\\"\\ntitle: \\\"Bundle Size\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"앱의 메모리 사용량을 최소화하고 이를 유지하는 방법을 배워봅니다.\\\"\\n---\\n\\n# Bundle Size {#bundle-size}\\n\\n> [!IMPORTANT] 요구사항\\n>\\n> - Tuist 계정과 프로젝트\\n\\n앱에 기능을 추가할수록 앱 번들 크기는 커지게 됩니다. 더 많은 코드와 에셋으로 인해 어느 정도의 번들 크기는 증가하지만 에셋이 번들 간에 중복되지 않도록 하거나 사용하지 않는 바이너리 심볼을 제거하는 등 크기를 최적화할 수 있는 많은 방법이 있습니다. Tuist는 앱 크기를 작게 유지할 수 있도록 툴과 인사이트를 제공하며, 지속적으로 앱 크기를 모니터링합니다.\\n\\n## 사용법 {#usage}\\n\\n`tuist inspect bundle` 명령어를 사용하여, 번들을 분석할 수 있습니다:\\n\\n::: code-group\\n\\n```bash [Analyze an .ipa]\\ntuist inspect bundle App.ipa\\n```\\n\\n```bash [Analyze an .xcarchive]\\ntuist inspect bundle App.xcarchive\\n```\\n\\n```bash [Analyze an app bundle]\\ntuist inspect bundle App.app\\n```\\n\\n:::\\n\\n`tuist inspect bundle` 명령어는 번들을 분석하고 번들의 구성 내용이나 모듈별 분포 등 상세 내용을 링크로 제공합니다:\\n\\n\\n\\n## Continuous integration {#continuous-integration}\\n\\n번들 크기를 추적하려면 CI에서 번들 분석을 해야 합니다. 먼저, CI는 인증되어 있는지 확인해야 합니다:\\n\\nAn example workflow for GitHub Actions could then look like this:\\n\\n```yaml\\nname: Build\\n\\njobs:\\n build:\\n steps:\\n - # Build your app\\n - name: Analyze bundle\\n run: tuist inspect bundle App.ipa\\n env:\\n TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}\\n```\\n\\n설정이 완료되면, 번들 크기가 시간에 따라 어떻게 변화하는지 확인할 수 있습니다:\\n\\n\\n\\n## Pull/merge request 의견 {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] GIT 플랫폼 연동 필요\\\\\\n> 자동으로 pull/merge request 의견을 받으려면, <0>Tuist 프로젝트0>를 <1>Git 플랫폼1>과 연동해야 합니다.\\n\\nTuist 프로젝트가 [GitHub](https://github.com)와 같은 Git 플랫폼과 연결되면, `tuist inspect bundle`을 수행할 때마다 Tuist가 Pull Request나 Merge Request 시 직접 댓글을 남깁니다:\\n\\n\",\"title\":\"Bundle Size\",\"frontmatter\":{\"URL\":\"/ko/guides/features/bundle-size\",\"LLMS_URL\":\"/ko/guides/features/bundle-size.md\",\"title\":\"Bundle Size\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"앱의 메모리 사용량을 최소화하고 이를 유지하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/features/cache.md\",\"url\":\"/ko/guides/features/cache\",\"llmUrl\":\"/ko/guides/features/cache.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/cache\\\"\\nLLMS_URL: \\\"/ko/guides/features/cache.md\\\"\\ntitle: \\\"Cache\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"컴파일된 바이너리를 캐싱하고 다양한 환경 간에 공유하여 빌드 시간을 최적화 하세요.\\\"\\n---\\n\\n# Cache {#cache}\\n\\n> [!IMPORTANT] 요구사항\\n>\\n> - 생성된 프로젝트\\n> - Tuist 계정과 프로젝트\\n\\nXcode의 빌드 시스템은 [증분 빌드](https://en.wikipedia.org/wiki/Incremental_build_model)를 제공하여 일반적인 상황에서 효율을 높입니다. 하지만 이 기능은 증분 빌드에 필요한 데이터가 서로 다른 빌드에서 공유되지 않으므로, [Continuous Integration (CI) 환경](https://en.wikipedia.org/wiki/Continuous_integration)에서는 적절하지 않습니다. 게다가 **개발자는 복잡한 컴파일 문제를 해결하기 위해 로컬에서 이 데이터를 초기화 하므로**, 클린 빌드가 자주 발생하게 됩니다. 팀은 이것으로 인해 로컬 빌드가 완료되거나 Continuous Integration 파이프라인이 Pull Request에 대한 피드백을 제공할 때까지 과도한 시간을 기다려야 합니다. 더욱이 이러한 환경에서 빈번한 컨텍스트 전환은 생산성을 더욱 악화시킵니다.\\n\\nTuist는 캐싱 기능으로 이 문제를 효과적으로 해결합니다. 이 툴은 컴파일된 바이너리를 캐시 하여 빌드 과정을 최적화하고, 로컬 개발 환경과 CI 환경 모두에서 빌드 시간을 크게 단축 시킵니다. 이 접근 방식은 피드백 순환을 가속화할 뿐만 아니라 컨텍스트 전환을 최소화하여 생산성을 극대화합니다.\\n\\n## 워밍 {#warming}\\n\\nTuist는 각 타겟에 대한 의존성 그래프 변화를 감지하기 위해 효율적으로 해시를 활용합니다. 이 데이터를 활용하여, Tuist는 타겟의 바이너리에 고유 식별자를 생성하고 할당합니다. 이 데이터를 활용하여, Tuist는 타겟의 바이너리에 고유 식별자를 생성하고 할당합니다. 그래프가 생성될 때, Tuist는 기존 타겟을 바이너리로 원할하게 대체합니다.\\n\\n이런 작업을 \\\\*\\\"워밍\\\"\\\\*이라 하며, Tuist를 통해 로컬 사용이나 팀원과 CI 환경에서 공유할 수 있는 바이너리를 생성합니다. 캐시 워밍 과정은 간단하며 단순한 명령어로 시작할 수 있습니다:\\n\\n```bash\\ntuist cache\\n```\\n\\n이 명령어는 더 빠르게 진행하기 위해 바이너리를 재사용합니다.\\n\\n## 사용 {#usage}\\n\\n기본적으로 Tuist 명령어는 프로젝트를 생성할 때, 캐시에 바이너리가 있는 경우 자동으로 의존성을 해당 바이너리로 대체합니다. 추가적으로 특정 타겟을 지정하면 Tuist는 해당 타겟에 의존하는 타겟도 캐시된 바이너리가 있는 경우 대체합니다. 다른 접근 방식을 선호하면, 특정 플래그를 사용하여 해당 동작을 완전히 비활성화 할 수 있습니다:\\n\\n::: code-group\\n\\n```bash [Project generation]\\ntuist generate # Only dependencies\\ntuist generate Search # Dependencies + Search dependencies\\ntuist generate Search Settings # Dependencies, and Search and Settings dependencies\\ntuist generate --no-binary-cache # No cache at all\\n```\\n\\n```bash [Testing]\\ntuist test\\n```\\n\\n:::\\n\\n> [!WARNING]\\\\\\n> 바이너리 캐싱은 시뮬레이터나 디바이스에서 앱을 실행하거나 테스트를 실행하는 등의 개발 워크플로우를 위해 설계된 기능입니다. 이것은 릴리즈 빌드를 위한 기능이 아닙니다. 앱을 아카이브 할 때는, `--no-binary-cache` 플래그를 사용하여 소스가 포함된 프로젝트를 생성해야 합니다.\\n\\n## 지원하는 결과물 {#supported-products}\\n\\n다음의 타겟 결과물만 Tuist에 의해 캐시될 수 있습니다:\\n\\n- [XCTest](https://developer.apple.com/documentation/xctest)를 의존하지 않는 프레임워크 (정적 프레임워크\\u001d와 동적 프레임워크)\\n- 번들\\n- Swift Macros\\n\\n현재 XCTest를 의존하는 라이브러리와 타겟을 지원하도록 작업 중입니다.\\n\\n> [!NOTE] 상위 의존성\\\\\\n> 타겟이 캐시가 불가능하면 해당 타겟에 의존하는 타겟도 캐시가 불가능합니다. 예를 들어, A가 B를 의존하고 `A > B`라는 의존성 그래프라면, B가 캐시가 불가능하면 A도 캐시가 불가능합니다.\\n\\n## 효율성 {#efficiency}\\n\\n바이너리 캐싱으로 인해 달성할 수 있는 효율성 수준은 그래프 구조에 강하게 의존합니다. 가장 좋은 결과를 달성하기 위해 다음을 권장합니다:\\n\\n1. 과도하게 중첩된 의존성 그래프를 피합니다. 그래프는 얕을 수록 더 좋습니다.\\n2. 프로토콜/인터페이스 타겟으로 의존성을 정의하고, 최상위 타겟에서 의존성 주입을 구현합니다.\\n3. 자주 수정되는 타겟은 변경 가능성이 적은 타겟\\u001d으로 나눕니다.\\n\\n위의 제안은 바이너리 캐싱의 이점 뿐만 아니라 Xcode의 기능을 최대한 활용할 수 있게 프로젝트를 구조화 하는 방식을 제시하는 [The Modular Architecture](https://docs.tuist.dev/ko/guides/features/projects/tma-architecture)의 일부분입니다.\\n\\n## 권장 설정 {#recommended-setup}\\n\\n우리는 캐시를 미리 준비하기 위해 **main 브랜치에 커밋이 될 때마다 수행하는** CI 작업을 가지는 것을 권장합니다. 이렇게 하면 캐시는 항상 `main` 브랜치의 변경사항에 대한 바이너리를 포함하므로 로컬 및 CI 브랜치에서 점진적으로 빌드할 수 있습니다.\\n\\n> [!TIP] 캐시 워밍은 바이너리를 사용합니다\\\\\\n> `tuist cache` 명령어는 캐시 워밍을 빠르게 하기 위해 바이너리 캐시를 사용합니다.\\n\\n다음은 일반적인 워크플로우의 예제입니다:\\n\\n### 개발자가 새로운 기능 작업을 시작 {#a-developer-starts-to-work-on-a-new-feature}\\n\\n1. `main`에서 새로운 브랜치를 생성합니다.\\n2. `tuist generate`를 수행합니다.\\n3. Tuist는 `main`에서 최근 바이너리를 가져와 프로젝트를 생성합니다.\\n\\n### 개발자가 변경사항을 푸시 {#a-developer-pushes-changes-upstream}\\n\\n1. CI 파이프라인은 프로젝트 빌드나 프로젝트 테스트를 위해 `tuist build` 또는 `tuist test`를 수행합니다.\\n2. 이 워크플로우는 `main`에서 최근 바이너리를 가져와 프로젝트를 생성합니다.\\n3. 그런 다음에 프로젝트를 점진적으로 빌드나 테스트를 진행합니다.\\n\\n## 문제 해결 {#troubleshooting}\\n\\n### 내 타겟에 대해 바이너리를 사용하지 않음 {#it-doesnt-use-binaries-for-my-targets}\\n\\n같은 환경과 프로젝트 실행에서 해시는 항상 동일해야 합니다. 예를 들어, 절대 경로를 사용하는 것과 같이 프로젝트가 환경에 대한 참조를 포함하고 있을 때 발생할 수 있습니다. `diff` 명령어를 사용하여 두 번의 `tuist generate`를 통해 생성된 프로젝트나 환경 또는 프로젝트 실행 차이를 비교할 수 있습니다.\\n\\n또한 타겟이 직접적으로나 간접적으로 캐시가 불가능한 타겟에 의존하지 않도록 확인해야 합니다.\\n\",\"title\":\"Cache\",\"frontmatter\":{\"URL\":\"/ko/guides/features/cache\",\"LLMS_URL\":\"/ko/guides/features/cache.md\",\"title\":\"Cache\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"컴파일된 바이너리를 캐싱하고 다양한 환경 간에 공유하여 빌드 시간을 최적화 하세요.\"}},{\"path\":\"/ko/guides/features/insights.md\",\"url\":\"/ko/guides/features/insights\",\"llmUrl\":\"/ko/guides/features/insights.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/insights\\\"\\nLLMS_URL: \\\"/ko/guides/features/insights.md\\\"\\ntitle: \\\"Insights\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"개발 환경을 유지하기 위해 프로젝트에 대한 인사이트를 얻으세요.\\\"\\n---\\n\\n# Insights {#insights}\\n\\n> [!IMPORTANT] 요구사항\\n>\\n> - Tuist 계정과 프로젝트\\n\\n대규모 프로젝트 작업이 부담스럽게 느껴지면 안됩니다. 사실, 2주 전에 시작한 프로젝트처럼 즐거워야 합니다. 그렇지 못한 이유 중에 하나는 프로젝트가 커짐에 따라 개발자 경험이 나빠지기 때문입니다. 빌드 시간이 길어지고 테스트가 느리고 불안정해집니다. 이러한 문제들은 심각해질 때까지 무시되곤 하지만 그 시점이 되면 해결하기가 어렵습니다. Tuist Insights는 프로젝트의 상태를 모니터링하고, 프로젝트가 커져도 생산적인 개발 환경을 유지할 수 있도록 도와주는 툴을 제공합니다.\\n\\n다시 말해, Tuist Insights는 다음과 같은 질문에 답을 얻을 수 있게 도와줍니다:\\n\\n- 지난주에 빌드 시간이 크게 증가했나요?\\n- 테스트가 더 느려졌나요? 어떤 테스트가 그런가요?\\n\\n> [!NOTE]\\\\\\n> Tuist Insights는 아직 개발 단계입니다.\\n\\n## 빌드 {#builds}\\n\\nCI 워크플로우의 성능에 대한 지표는 가지고 있을 수 있지만, 로컬 개발 환경에 대한 내용은 부족할 수 있습니다. 그러나 빌드 시간은 개발자 경험에 대한 중요한 요소 중 하나입니다.\\n\\n로컬 빌드 시간을 추적하려면 `tuist inspect build` 명령어를 스킴의 후속 작업으로 추가하여 활용할 수 있습니다:\\n\\n\\n\\n[Mise](https://mise.jdx.dev/)를 사용하는 경우에, 후속 작업 환경에 `tuist`를 활성화하도록 스크립트를 설정해야 합니다:\\n\\n```sh\\n# -C ensures that Mise loads the configuration from the Mise configuration\\n# file in the project's root directory.\\neval \\\"$($HOME/.local/bin/mise activate -C $SRCROOT bash --shims)\\\"\\n\\ntuist inspect build\\n```\\n\\n이제 Tuist 계정에 로그인된 상태에서는 로컬 빌드가 추적됩니다. 이제 Tuist 대시보드에서 빌드 시간을 확인하고 시간이 지남에 따라 어떻게 변하는지 살펴볼 수 있습니다:\\n\\n> [!TIP]\\\\\\n> 대시보드에 빠르게 접근하려면, CLI에서 `tuist project show-web` 명령어를 수행하세요.\\n\\n\\n\\n## Projects {#projects}\\n\\n> [!NOTE]\\\\\\n> 자동 생성된 스킴에는 `tuist inspect build` 후속 작업이 자동으로 포함됩니다.\\n>\\n> 자동 생성된 스킴에서 빌드 인사이트 추적이 필요하지 않으면, buildInsightsDisabled 생성 옵션을 사용하여 비활성화할 수 있습니다.\\n\\n생성된 프로젝트를 사용하면, 다음과 같이 커스텀 스킴을 사용하여 커스텀 <0>빌드 후속 작업0>을 설정할 수 있습니다:\\n\\n```swift\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n targets: [\\n // Your targets\\n ],\\n schemes: [\\n .scheme(\\n name: \\\"MyApp\\\",\\n shared: true,\\n buildAction: .buildAction(\\n targets: [\\\"MyApp\\\"],\\n postActions: [\\n .executionAction(\\n name: \\\"Inspect Build\\\",\\n scriptText: \\\"\\\"\\\"\\n eval \\\\\\\"$($HOME/.local/bin/mise activate -C $SRCROOT bash --shims)\\\\\\\"\\n tuist inspect build\\n \\\"\\\"\\\"\\n )\\n ],\\n runPostActionsOnFailure: true\\n ),\\n testAction: .testAction(targets: [\\\"MyAppTests\\\"]),\\n runAction: .runAction(configuration: \\\"Debug\\\")\\n )\\n ]\\n)\\n```\\n\\nMise를 사용하지 않는다면, 스크립트를 다음과 같이 간단하게 작업할 수 있습니다:\\n\\n```swift\\n.postAction(\\n name: \\\"Inspect Build\\\",\\n script: \\\"tuist inspect build\\\",\\n execution: .always\\n)\\n```\\n\\n## Continuous integration {#continuous-integration}\\n\\nCI에서 빌드 시간을 추적하려면, CI가 인증되었는지 확인해야 합니다.\\n\\n추가로, 다음의 내용도 필요합니다:\\n\\n- `xcodebuild` 작업을 실행할 때는 `tuist xcodebuild` 명령어를 사용합니다.\\n- `xcodebuild` 실행 시에 `-resultBundlePath`를 추가합니다.\\n\\n`-resultBundlePath`없이 `xcodebuild`로 빌드를 수행하면, `.xcactivitylog` 파일이 생성되지 않습니다. 하지만 `tuist inspect build` 후속 작업은 빌드를 분석하기 위해 해당 파일이 생성되어야 합니다.\\n\",\"title\":\"Insights\",\"frontmatter\":{\"URL\":\"/ko/guides/features/insights\",\"LLMS_URL\":\"/ko/guides/features/insights.md\",\"title\":\"Insights\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"개발 환경을 유지하기 위해 프로젝트에 대한 인사이트를 얻으세요.\"}},{\"path\":\"/ko/guides/features/previews.md\",\"url\":\"/ko/guides/features/previews\",\"llmUrl\":\"/ko/guides/features/previews.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/previews\\\"\\nLLMS_URL: \\\"/ko/guides/features/previews.md\\\"\\ntitle: \\\"Previews\\\"\\ntitleTemplate: \\\":title · Share · Guides · Tuist\\\"\\ndescription: \\\"앱 미리보기를 생성하고 다른 사람과 공유하는 방법을 알아보세요.\\\"\\n---\\n\\n# Previews {#previews}\\n\\n> [!IMPORTANT] 요구사항\\n>\\n> - Tuist 계정과 프로젝트\\n\\n앱을 개발할 때 다른 사람들의 피드백을 받기 위해 앱을 공유하고 싶을 수 있습니다.\\n전통적으로, 팀들은 앱을 빌드하고 서명한 후 Apple의 [TestFlight](https://developer.apple.com/testflight/)와 같은 플랫폼에 업로드하여 이 작업을 수행해왔습니다.\\n하지만, 이 과정은 번거롭고 느릴 수 있으며, 특히 동료나 친구로부터 빠른 피드백을 받고자 할 때는 더욱 그렇습니다.\\n\\nTuist는 이러한 과정을 간소화하기 위해 앱 미리보기를 생성하고 다른 사람과 공유할 수 있는 방법을 제공합니다.\\n\\n> [!IMPORTANT] DEVICE(실기기) 빌드 시 서명 필요\\n> DEVICE용으로 빌드할 때, 앱이 올바르게 서명되었는지 확인하는 책임은 사용자에게 있습니다. 우리는 향후 이 과정을 더 간소화할 계획입니다.\\n\\n:::code-group\\n\\n```bash [Tuist Project]\\nxcodebuild -scheme App -project App.xcodeproj -configuration Debug # simulator용 앱 빌드\\nxcodebuild -scheme App -project App.xcodeproj -configuration Debug -destination 'generic/platform=iOS' # device용 앱 빌드\\ntuist share App --configuration Debug --platforms iOS\\n```\\n\\n```bash [Xcode Project]\\ntuist build App # simulator용 앱 빌드\\ntuist build App -- -destination 'generic/platform=iOS' # device용 앱 빌드\\ntuist share App\\n```\\n\\n:::\\n\\n이 명령어는 앱을 시뮬레이터나 실기기에서 실행할 수 있는 공유 가능한 링크를 생성합니다. 사용자가 해야 할 일은 아래 명령어를 실행하는 것뿐입니다:\\n\\n```bash\\ntuist run {url}\\ntuist run {url} --device \\\"My iPhone\\\" # \\b특정 기기에서 앱 실행하기\\n```\\n\\nPreview 링크를 통해 모바일 기기에서 직접 `.ipa` 파일을 다운로드하여 앱을 설치할 수 있습니다.\\n`.ipa` preview 링크는 기본적으로 _public_ 으로 설정되어 있어 누구나 접근할 수 있습니다. 추후에는 링크를 private으로 설정할 수 있는 옵션이 제공될 예정이며, 이 경우 Tuist 계정으로 인증해야만 앱을 다운로드할 수 있습니다.\\n\\n`tuist run` 명령어를 사용하면 `latest`, branch 이름, 또는 특정 커밋 해시와 같은 지정자를 기반으로 최신 preview를 실행할 수 있습니다.\\n\\n```bash\\ntuist run App@latest # 프로젝트의 기본 branch와 연결된 최신 App preview 실행\\ntuist run App@my-feature-branch # 지정된 branch와 연결된 최신 App preview 실행\\ntuist run App@00dde7f56b1b8795a26b8085a781fb3715e834be # 특정 Git 커밋 SHA와 연결된 최신 App preview 실행\\n```\\n\\n> [!IMPORTANT] Preview 공개 범위\\n> 프로젝트가 속한 조직에 접근 권한이 있는 사람만 preview를 볼 수 있습니다. 링크 만료 기능에 대한 지원을 추가할 계획입니다.\\n\\n## Tuist macOS app {#tuist-macos-app}\\n\\n
\\n\\nTuist Previews를 더욱 쉽게 실행할 수 있도록, 우리는 Tuist macOS menu bar 앱을 개발했습니다. Tuist CLI를 통해 Preview를 실행하는 대신, macOS 앱을 [다운로드](https://tuist.dev/download)하여 사용할 수 있습니다. `brew install --cask tuist/tuist/tuist` 명령어를 실행하여 설치할 수도 있습니다.\\n\\nPreview 페이지에서 \\\"Run\\\"을 클릭하면, macOS 앱이 현재 선택된 디바이스에서 자동으로 실행됩니다\\n\\n> [!IMPORTANT] 요구 사항\\\\\\n> Preview를 다운로드하려면, `tuist auth login` 명령어를 사용해 인증해야 합니다.\\n> 앞으로는 앱에서 직접 인증할 수 있게 될 예정입니다.\\n>\\n> 추가로, 로컬에 Xcode가 설치되어 있어야 합니다.\\n\\n## Pull/merge request 코멘트 {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] Git 플랫폼 연동 필요\\n> 자동으로 pull/merge request에 대한 코멘트를 받으려면, remote project를 Git 플랫폼과 연동해야 합니다.\\n\\n새로운 기능에 대한 테스트는 모든 코드 리뷰에서 필수 과정이어야 합니다. 그러나 앱을 로컬에서 빌드하는 과정은 번거로워 개발자들이 실기기에서 기능을 전혀 테스트하지 않게 되는 경우가 많습니다. But _what if each pull request contained a link to the build that would automatically run the app on a device you selected in the Tuist macOS app?_\\n\\n[GitHub](https://github.com)와 같은 Git 플랫폼에 Tuist 프로젝트를 연결한 후, CI workflow에 `tuist share MyApp`을 추가하세요. 이후 Tuist는 Pull request에 Preview 링크를 직접 게시합니다:\\n\\n\\n## README 배지 {#readme-badge}\\n\\nTuist Previews를 repository에서 더 잘 보이게 하려면, `README` 파일에 최신 TUIST Preview를 가리키는 배지를 추가할 수 있습니다:\\n\\n[](https://tuist.dev/Dimillian/IcySky/previews/latest)\\n\\n`README`에 배지를 추가하려면, 아래의 markdown을 사용하고 계정 및 프로젝트 핸들을 여러분의 것으로 교체하세요:\\n\\n```\\n[](https://tuist.dev/{account-handle}/{project-handle}/previews/latest)\\n```\\n\\n## 자동화 {#automations}\\n\\n`tuist share` 명령어에서 `--json` 플래그를 사용하면 JSON 형식의 출력을 얻을 수 있습니다:\\n\\n```\\ntuist share --json\\n```\\n\\nJSON 출력은 CI provider를 사용해 Slack 메시지를 보내는 등 같은 커스텀 자동화를 만드는 데 유용합니다.\\nJSON에는 전체 preview 링크가 포함된 `url` 키와 실기기에서 preview를 쉽게 다운로드할 수 있도록 QR 코드 이미지 URL이 포함된 `qrCodeURL` 키가 있습니다. JSON 출력 예시는 아래와 같습니다:\\n\\n```json\\n{\\n \\\"id\\\": 1234567890,\\n \\\"url\\\": \\\"https://cloud.tuist.io/preview/1234567890\\\",\\n \\\"qrCodeURL\\\": \\\"https://cloud.tuist.io/preview/1234567890/qr-code.svg\\\"\\n}\\n```\\n\",\"title\":\"Previews\",\"frontmatter\":{\"URL\":\"/ko/guides/features/previews\",\"LLMS_URL\":\"/ko/guides/features/previews.md\",\"title\":\"Previews\",\"titleTemplate\":\":title · Share · Guides · Tuist\",\"description\":\"앱 미리보기를 생성하고 다른 사람과 공유하는 방법을 알아보세요.\"}},{\"path\":\"/ko/guides/features/projects.md\",\"url\":\"/ko/guides/features/projects\",\"llmUrl\":\"/ko/guides/features/projects.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects.md\\\"\\ntitle: \\\"Projects\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Xcode 프로젝트를 정의하는 Tuist의 DSL에 대해 배워봅니다.\\\"\\n---\\n\\n# Projects {#projects}\\n\\nGenerated는 복잡성과 비용을 적절하게 유지하면서 문제를 해결하는데 도움이 되는 해결책입니다. 이것은 Xcode 프로젝트를 기본 요소로 고려하여 Xcode 업데이트를 대응하고, Xcode 프로젝트 생성을 활용하여 팀에게 모듈화 중심의 선언적 API를 제공합니다. Tuist는 프로젝트 선언을 사용하여 모듈화\\\\*\\\\*의 복잡성을 단순화하고, 여러 환경에서의 빌드나 테스트와 같은 워크플로우를 최적화하고, Xcode 프로젝트의 발전과 관리에 대한 접근성을 넓힙니다.\\n\\n## 어떻게 동작하나요? {#how-does-it-work}\\n\\n생성된 프로젝트를 시작하려면 \\\\*\\\\*Tuist의 Domain Specific Language(DSL)\\\\*\\\\*을 사용하여 프로젝트를 정의하면 됩니다. 여기에서 `Workspace.swift` 또는 `Project.swift`와 같은 매니페스트 파일을 사용하여 프로젝트를 정의합니다. 이전에 Swift Package Manager를 사용해본 적이 있다면 그 접근 방식과 유사합니다.\\n\\n프로젝트를 정의한 후, Tuist는 프로젝트를 관리하고 상호 작용할 수 있는 다양한 워크플로우를 제공합니다:\\n\\n- **Generate:** 이것은 기본 워크플로우입니다. 이를 사용하면 Xcode와 호환되는 Xcode 프로젝트를 생성합니다.\\n- **Build:** 이 워크플로우는 Xcode 프로젝트를 생성할 뿐만 아니라 `xcodebuild`를 사용하여 프로젝트를 컴파일 합니다.\\n- **<0>Test0>:** 빌드 워크플로우와 유사하게 동작하고, Xcode 프로젝트를 생성할 뿐만 아니라 `xcodebuild`를 활용하여 프로젝트를 테스트 합니다.\\n\\n## Xcode 프로젝트의 문제 {#challenges-with-xcode-projects}\\n\\nXcode 프로젝트가 커짐에 따라 신뢰할 수 없는 증분 빌드, 개발자가 문제 해결을 위해 Xcode의 글로벌 캐시를 자주 지우는 것, 그리고 불안정한 프로젝트 구성과 같은 여러가지 이유로 **조직은 생산성 저하를 경험합니다**. 빠른 기능 개발을 유지하기 위해 조직은 일반적으로 다양한 전략을 검토합니다.\\n\\n일부 조직은 [React Native](https://reactnative.dev/)와 같은 JavaScript 기반의 동적 런타임을 사용하여 플랫폼을 추상화해 컴파일러를 우회하는 방법을 선택합니다. 이런 접근 방식을 효율적일 수 있지만, [플랫폼의 네이티브 기능에 접근하는 것을 복잡하게 만듭니다](https://shopify.engineering/building-app-clip-react-native). 다른 조직은 명확한 경계를 설정해 코드베이스 작업을 더 쉽게 하고 빌드를 더 안정적으로 개선하는 **코드베이스 모듈화**를 선택합니다. 하지만 Xcode 프로젝트 형식\\u001d은 모듈화를 염두에 두고 설계하지 않았으므로, 이해하기 어려운 암시적 구성과 잦은 충돌이 발생합니다. 이로 인해 프로젝트의 복잡성을 증가시켜 파악하기 어렵게 만들고, 증분 빌드가 향상될 수는 있지만 빌드 실패 시, Xcode의 빌드 캐시 (즉, Derived Data) 를 자주 지워야 할 수도 있습니다. 이런 문제를 해결하기 위해 일부 조직은 **Xcode 빌드 시스템을 포기**하고 대안으로 [Buck](https://buck.build/) 또는 [Bazel](https://bazel.build/)을 적용합니다. 하지만 이 방식은 [복잡성과 유지보수 부담](https://bazel.build/migrate/xcode)을 동반합니다.\\n\\n## 대안 {#alternatives}\\n\\n### Swift Package Manager {#swift-package-manager}\\n\\nSwift Package Manager (SPM) 이 의존성 관리에 집중하는 반면에 Tuist는 다른 접근 방식을 제공합니다. Tuist에서는 SPM 통합을 위한 패키지 정의 뿐만 아니라 프로젝트, 워크스페이스, 타겟, 그리고 스킴과 같은 익숙한 개념을 사용하여 프로젝트를 생성할 수 있습니다.\\n\\n### XcodeGen {#xcodegen}\\n\\n[XcodeGen](https://github.com/yonaskolb/XcodeGen)은 Xcode 프로젝트의 충돌을 줄이고 Xcode의 내부 동작의 복잡성을 단순화하기 위해 설계된 프로젝트 생성기 입니다. 하지만 프로젝트는 [YAML](https://yaml.org/)과 같은 형식을 사용하여 정의됩니다. Swift와 다르게 XcodeGen은 추가적인 툴 없이는 추상화나 검증을 기반으로 작업할 수 없습니다. XcodeGen은 의존성을 검증하고 최적화하기 위해 내부 표현으로 매핑하는 방법을 제공하지만, 여전히 Xcode의 세부 사항이 노출됩니다. 이것은 Bazel 커뮤니티에서 볼 수 있듯이, XcodeGen이 다른 [빌드 도구](https://github.com/MobileNativeFoundation/rules_xcodeproj)를 위한 기반으로 \\b사용될 수는 있지만, 건강하고 생산적인 환경을 유지하고 포용적인 프로젝트 발전을 목표로 하는 것에는 맞지 않습니다.\\n\\n### Bazel {#bazel}\\n\\n[Bazel](https://bazel.build)은 원격 캐싱 기능으로 잘 알려진 빌드 시스템이며, 주로 이 기능 덕분에 Swift 커뮤니티에서 인기를 얻고 있습니다. 하지만 Xcode와 Xcode의 빌드 시스템이 확장에 제한적이므로, 이를 Bazel의 시스템으로 전환하려면 상당한 노력과 유지 관리가 필요합니다. 풍부한 리소스를 보유한 몇 회사만이 이러한 부담을 감당할 수 있으며, Bazel을 Xcode와 통합하는데 막대한 투자를 하는 회사 목록에서 이를 확인할 수 있습니다. 흥미롭게도 커뮤니티는 Bazel의 XcodeGen을 활용하여 Xcode 프로젝트를 생성하는 [툴](https://github.com/MobileNativeFoundation/rules_xcodeproj)을 만들었습니다. 이로 인해 복잡한 변환 과정이 발생: Bazel 파일에서 XcodeGen YAML로 변환하고 마지막으로 Xcode Project로 변환합니다. 이런 계층화된 간접성은 문제를 진단하고 해결하기 어렵게 만듭니다.\\n\",\"title\":\"Projects\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects\",\"LLMS_URL\":\"/ko/guides/features/projects.md\",\"title\":\"Projects\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Xcode 프로젝트를 정의하는 Tuist의 DSL에 대해 배워봅니다.\"}},{\"path\":\"/ko/guides/features/projects/adoption/migrate/bazel-project.md\",\"url\":\"/ko/guides/features/projects/adoption/migrate/bazel-project\",\"llmUrl\":\"/ko/guides/features/projects/adoption/migrate/bazel-project.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/adoption/migrate/bazel-project\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/adoption/migrate/bazel-project.md\\\"\\ntitle: \\\"Migrate a Bazel project\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Bazel에서 Tuist로 프로젝트를 마이그레이션 하는 방법을 배웁니다.\\\"\\n---\\n\\n# Migrate a Bazel project {#migrate-a-bazel-project}\\n\\n[Bazel](https://bazel.build)은 Google이 2015년에 오픈소스로 공개한 빌드 시스템입니다. Bazel은 어떤 크기의 소프트웨어에서도 빠르고 안정적으로 빌드와 테스트할 수 있는 강력한 툴입니다. [Spotify](https://engineering.atspotify.com/2023/10/switching-build-systems-seamlessly/), [Tinder](https://medium.com/tinder/bazel-hermetic-toolchain-and-tooling-migration-c244dc0d3ae), 또는 [Lyft](https://semaphoreci.com/blog/keith-smiley-bazel)와 같은 일부 대규모 조직에서는 Bazel을 사용하지만, Bazel을 도입하고 유지하는데 초기 투자 (즉, 기술 학습) 와 지속적인 투자 (즉, Xcode 업데이트 유지) 가 필요합니다. 일부 조직에서는 이를 범용적인 문제로 다루어 효과를 볼 수 있지만, 제품 개발에만 집중하길 원하는 조직에서는 최선의 선택이 아닐 수 있습니다. 예를 들어, iOS 플랫폼 팀이 Bazel을 도입했는데 이를 주도했던 개발자들이 회사를 떠난 후에 이를 포기해야 했던 조직을 본 적이 있습니다. 애플의 Xcode와 빌드 시스템 간의 강한 결합성도 Bazel 프로젝트를 유지하는데 어렵게 만드는 또 다른 요인입니다.\\n\\n> [!TIP] TUIST의 독창성은 섬세함에 있다\\n> Tuist는 Xcode와 Xcode 프로젝트에 맞서기 보다는 그것을 받아들입니다. Tuist는 동일한 개념 (즉, 타겟, 스킴, 빌드 설정), 익숙한 언어 (즉, Swift), 그리고 프로젝트를 유지하고 확장하는 것을 iOS 플랫폼 팀 뿐만 아니라 모든 팀에게 간단하고 즐거운 경험을 제공합니다.\\n\\n## 규칙 {#rules}\\n\\nBazel은 소프트웨어를 빌드하고 테스트하는 방식을 정의하는 규칙을 사용합니다. 이 규칙은 Python과 유사한 언어인 [Starlark](https://github.com/bazelbuild/starlark)로 작성되어 있습니다. Tuist는 구성 언어로 Swift를 사용하므로 개발자\\u001d는 Xcode의 자동 완성, 타입 검사, 그리고 기능 검증을 사용할 수 있습니다. 예를 들어, 다음은 Bazel이 Swift 라이브러리를 빌드하는 규칙을 나타냅니다:\\n\\n::: code-group\\n\\n```txt [BUILD (Bazel)]\\nswift_library(\\n name = \\\"MyLibrary.library\\\",\\n srcs = glob([\\\"**/*.swift\\\"]),\\n module_name = \\\"MyLibrary\\\"\\n)\\n```\\n\\n```swift [Project.swift (Tuist)]\\nlet project = Project(\\n // ...\\n targets: [\\n .target(name: \\\"MyLibrary\\\", product: .staticLibrary, sources: [\\\"**/*.swift\\\"])\\n ]\\n)\\n```\\n\\n:::\\n\\n다음은 Bazel과 Tuist에서 단위 테스트를 정의하는 방법을 비교한 또 다른 예시 입니다:\\n\\n:::code-group\\n\\n```txt [BUILD (Bazel)]\\nios_unit_test(\\n name = \\\"MyLibraryTests\\\",\\n bundle_id = \\\"io.tuist.MyLibraryTests\\\",\\n minimum_os_version = \\\"16.0\\\",\\n test_host = \\\"//MyApp:MyLibrary\\\",\\n deps = [\\\":MyLibraryTests.library\\\"],\\n)\\n```\\n\\n```swift [Project.swift (Tuist)]\\nlet project = Project(\\n // ...\\n targets: [\\n .target(\\n name: \\\"MyLibraryTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.MyLibraryTests\\\",\\n sources: \\\"Tests/MyLibraryTests/**\\\",\\n dependencies: [\\n .target(name: \\\"MyLibrary\\\"),\\n ]\\n )\\n ]\\n)\\n```\\n\\n:::\\n\\n## Swift Package Manager 의존성 {#swift-package-manager-dependencies}\\n\\nBazel에서 Swift Package를 의존성으로 사용하기 위해 [`rules_swift_package_manager`](https://github.com/cgrindel/rules_swift_package_manager) [Gazelle](https://github.com/bazelbuild/bazel-gazelle/blob/master/extend.md) 플로그인을 사용할 수 있습니다. 이 플러그인은 의존성에 대한 진실 공급원으로 `Package.swift`를 요구합니다. Tuist의 인터페이스는 Bazel과 유사합니다. `tuist install` 명령어를 사용하여 패키지의 의존성을 해결하고 가져올 수 있습니다. 의존성 해결이 완료되면 `tuist generate` 명령어로 프로젝트를 생성할 수 있습니다.\\n\\n```bash\\ntuist install # Fetch dependencies defined in Tuist/Package.swift\\ntuist generate # Generate an Xcode project\\n```\\n\\n## 프로젝트 생성 {#project-generation}\\n\\n커뮤니티는 Bazel로 선언된 프로젝트를 Xcode 프로젝트를 생성하기 위해 [rules_xcodeproj](https://github.com/MobileNativeFoundation/rules_xcodeproj)라는 규칙을 제공합니다. `BUILD` 파일에 이불 구성을 추가해야 하는 Bazel과 달리, Tuist는 이런 구성이 필요하지 않습니다. 프로젝트의 루트 디렉토리에서 `tuist generate`를 수행하면 Tuist는 Xcode 프로젝트를 생성합니다.\\n\",\"title\":\"Migrate a Bazel project\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/adoption/migrate/bazel-project\",\"LLMS_URL\":\"/ko/guides/features/projects/adoption/migrate/bazel-project.md\",\"title\":\"Migrate a Bazel project\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Bazel에서 Tuist로 프로젝트를 마이그레이션 하는 방법을 배웁니다.\"}},{\"path\":\"/ko/guides/features/projects/adoption/migrate/swift-package.md\",\"url\":\"/ko/guides/features/projects/adoption/migrate/swift-package\",\"llmUrl\":\"/ko/guides/features/projects/adoption/migrate/swift-package.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/adoption/migrate/swift-package\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/adoption/migrate/swift-package.md\\\"\\ntitle: \\\"Migrate a Swift Package\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"프로젝트를 관리하는 Swift Package Manager를 Tuist 프로젝트로 마이그레이션 하는 방법을 알아봅니다.\\\"\\n---\\n\\n# Migrate a Swift Package {#migrate-a-swift-package}\\n\\nSwift Package Manager는 원래 Swift 코드의 의존성을 관리하기 위해 등장했지만, 결과적으로 프로젝트 전체를 관리하고 Objective-C 같은 다른 프로그래밍 언어를 지원하는 문제까지 해결하게 되었습니다. 이 도구는 원래 다른 목적으로 설계되었기 때문에, 대규모 프로젝트를 관리하기 데에는 Tuist가 제공할수 있는 유연성이나 성능 측면에서 부족함이 있었습니다. 이것은 [Bumble의 iOS 확장](https://medium.com/bumble-tech/scaling-ios-at-bumble-239e0fa009f2) 이라는 글에서 잘 설명되어 있으며, 해당 글에는 Swift Package Manager와 순수 Xcode 프로젝트간의 성능을 비교한 다음과 같은 표도 포함되어 있습니다.\\n\\n\\n\\n우리는 종종 Swift Package Manager도 유사한 프로젝트 관리 역할을 수행할 수 있다는 이유로 Tuist의 필요성에 의문을 제기하는 개발자와 조직을 마주하고는 합니다. 일부 개발자들은 Swift Package Manager을 이용한 마이그레이션을 시도하지만, 결국 개발자 경험이 크게 저하되었다는 사실을 깨닫게 됩니다. 예를 들어, 파일의 이름을 변경하면 다시 인덱싱하기 위해 15초나 걸리는 경우도 있습니다. 무려 15초요!\\n\\n**Apple이 Swift Package Manager를 대규모 프로젝트에 적합한 프로젝트 관리 도구로 발전시킬지는 여전히 불확실합니다.** 하지만, 현재로서는 그런 방향으로 나아간다는 뚜렷한 조짐은 보이지 않습니다. 사실 우리는 그와는 정반대의 흐름을 보고 있습니다. Apple은 Xcode에서 영감을 받아, 암시적 구성을 통해 편리함을 추구하는 방향으로 움직이고 있습니다. 하지만 이는 여러분도 아시다시피 규모가 커질수록 복잡성을 초래하는 주된 원인입니다. 우리는 Apple이 근본적인 원칙으로 되돌아가, 의존성 관리자로서는 타당했지만 프로젝트 관리자로서는 적절하지 않은 결정들, 예를 들어 컴파일된 언어를 프로젝트 정의의 인터페이스로 사용하는 방식 등을 재검토할 필요가 있다고 보고 있습니다.\\n\\n> [!TIP] SPM은 의존성 관리도구로만 활용하자 \\\\\\n> Tuist는 Swift Package Manager를 의존성 관리 도구로만 취급하며, 이런 용도로는 아주 훌륭합니다. 우리는 SPM을 의존성 해결 및 빌드를 위해서만 사용합니다. 프로젝트 정의를 위해서는 사용하지 않습니다.\\n\\n## Swift Package Manager에서 Tuist로 마이그레이션 {#migrating-from-swift-package-manager-to-tuist}\\n\\nSwift Package Manager와 Tuist는 유사한 점이 많기 때문에, 마이그레이션 과정은 간단합니다. 주요 차이점은 `Package.swift` 대신 Tuist의 DSL을 사용하여 프로젝트를 정의한다는 점입니다.\\n\\n먼저, `Package.swift` 파일과 같은 위치에 `Project.swift` 파일을 생성하세요. 다음은 단일 타겟을 가진 프로젝트를 정의한 `Project.swift` 파일의 예시입니다, 다음은 단일 타겟을 가진 프로젝트를 정의한 `Project.swift` 파일의 예시입니다.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"App\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"io.tuist.App\\\",\\n sources: [\\\"Sources/**/*.swift\\\"]*\\n ),\\n ]\\n)\\n```\\n\\n몇 가지 주목 할 사항:\\n\\n- **ProjectDescription**: `PackageDescription` 대신에 `ProjectDescription`을 사용합니다.\\n- **Project:** `package` 인스턴스를 내보내는 대신에 `project` 인스턴스를 내보냅니다.\\n- **Xcode 언어:** 프로젝트를 정의하는데 사용하는 기본 요소는 Xcode의 언어를 따르므로 스킴, 타겟, 그리고 Build Phases 등을 찾을 수 있습니다.\\n\\n그 다음에 아래와 같은 내용을 담은 `Tuist.swift` 파일을 생성하세요.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n\\n`Tuist.swift` 파일은 프로젝트의 구성 정보를 담고 있으며, 이 파일의 위치는 프로젝트 루트를 판단하는 기준이 됩니다. Tuist 프로젝트의 구조에 대해 더 알고 싶다면 디렉토리 구조 문서를 참고하세요.\\n\\n## 프로젝트 편집하기 {#editing-the-project}\\n\\n이 명령어는 Xcode 프로젝트를 생성하며, 이를 열어 바로 작업을 시작할 수 있게 합니다. `tuist edit` 명령어를 사용하면 Xcode에서 프로젝트를 편집할 수 있습니다.\\n\\n```bash\\ntuist edit\\n```\\n\\n프로젝트 규모에 따라, 한 번에 전체를 마이그레이션 할 수도 있고 점진적으로 진행할 수도 있습니다. 먼저 작은 프로젝트를 통해 DSL과 작업흐름에 익숙해지는 것을 권장합니다. 항상 가장 많은 의존성을 가진 타겟부터 시작해서 최상위 타겟까지 순차적으로 전환하는 방식이 바람직합니다.\\n\",\"title\":\"Migrate a Swift Package\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/adoption/migrate/swift-package\",\"LLMS_URL\":\"/ko/guides/features/projects/adoption/migrate/swift-package.md\",\"title\":\"Migrate a Swift Package\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"프로젝트를 관리하는 Swift Package Manager를 Tuist 프로젝트로 마이그레이션 하는 방법을 알아봅니다.\"}},{\"path\":\"/ko/guides/features/projects/adoption/migrate/xcode-project.md\",\"url\":\"/ko/guides/features/projects/adoption/migrate/xcode-project\",\"llmUrl\":\"/ko/guides/features/projects/adoption/migrate/xcode-project.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/adoption/migrate/xcode-project\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/adoption/migrate/xcode-project.md\\\"\\ntitle: \\\"기존 Xcode 프로젝트를 Tuist로 전환하기\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Xcode 프로젝트에서 Tuist 프로젝트로 변환하는 방법을 알아봅니다.\\\"\\n---\\n\\n# Migrate an Xcode project {#migrate-an-xcode-project}\\n\\nTuist로 새로운 프로젝트를 생성하면 자동으로 모든 것이 구성되지만 그렇지 않으면, Tuist의 기본 요소를 사용해서 Xcode 프로젝트를 정의해야 합니다. 이 과정이 얼마나 번거로운지\\u001d는 프로젝트의 복잡도에 따라 다릅니다.\\n\\n이미 알고 있지만, Xcode 프로젝트는 시간이 지날 수록 복잡하고 정리가 안될 수 있습니다: 디렉토리 구조와 맞지않는 그룹, 여러 타겟에서 공유되는 파일 또는 존재하지 않는 파일에 대한 참조가 그 예\\u001d시입니다. 그렇게 쌓인 복잡성은 프로젝트를 신뢰성 있게 마이그레이션하는 명령어를 제공하는 것이 어렵습니다.\\n\\n게다가 수동 마이그레이션은 프로젝트를 정리하고 단순화하는데 매우 좋은 연습입니다. 개발자들 뿐만 아니라 Xcode도 프로젝트의 처리와 인덱싱하는 속도가 빨라져서 감사할 것입니다. Tuist를 완전히 도입하면, 프로젝트가 일관되게 정의되고 단순하게 유지되도록 보장합니다.\\n\\n해당 작업을 수월하게 하기 위해 우리는 사용자에게 받은 피드백을 기반으로 한 몇 가지 지침을 제공합니다.\\n\\n## 프로젝트 생성 {#create-project-scaffold}\\n\\n먼저, 다음의 Tuist 파일들을 생성해서 프로젝트의 구조를 잡아줍니다:\\n\\n::: code-group\\n\\n```js [Tuist.swift]\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n\\n```js [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp-Tuist\\\",\\n targets: [\\n /** Targets will go here **/\\n ]\\n)\\n```\\n\\n```js [Tuist/Package.swift]\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n ]\\n)\\n```\\n\\n:::\\n\\n`Project.swift`는 프로젝트를 정의하는 매니페스트 파일이며, `Package.swift`는 의존성을 정의하는 매니페스트 파일입니다. `Tuist.swift` 파일은 현재 프로젝트의 Tuist 설정을 정의할 수 있습니다.\\n\\n> [!TIP] -TUIST 접미사가 붙은 프로젝트 이름\\\\\\n> 기존에 Xcode 프로젝트의 충돌을 방지하기 위해 프로젝트 이름에 `-Tuist` 접미사를 추가하는 것이 좋습니다. 프로젝트를 Tuist로 완전히 마이그레이션 하면 삭제할 수 있습니다.\\n\\n## CI에서 Tuist 프로젝트 빌드와 테스트 {#build-and-test-the-tuist-project-in-ci}\\n\\n각 변경 사항의 마이그레이션 유효성을 보장하기 위해, Tuist가 매니페스트 파일로 생성한 프로젝트\\u001d를 빌드하고 테스트하는 CI를 확장하는 것이 좋습니다.\\n\\n```bash\\ntuist install\\ntuist generate\\ntuist build -- ...{xcodebuild flags} # or tuist test\\n```\\n\\n## `.xcconfig` 파일로 프로젝트 빌드 설정 추출 {#extract-the-project-build-settings-into-xcconfig-files}\\n\\n프로젝트를 더 가볍고 마이그레이션하기 쉽게 만들기 위해 `.xcconfig` 파일로 프로젝트 빌드 설정을 추출합니다. `.xcconfig` 파일로 프로젝트 빌드 설정을 추출하기 위해 아래의 명령어를 사용할 수 있습니다:\\n\\n```bash\\nmkdir -p xcconfigs/\\ntuist migration settings-to-xcconfig -p MyApp.xcodeproj -x xcconfigs/MyApp-Project.xcconfig\\n```\\n\\n그런 다음 `Project.swift` 파일에 생성된 `.xcconfig` 파일의 위치를 작성합니다:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n settings: .settings(configurations: [\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/MyApp-Project.xcconfig\\\"), // [!code ++]\\n .release(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/MyApp-Project.xcconfig\\\"), // [!code ++]\\n ]),\\n targets: [\\n /** Targets will go here **/\\n ]\\n)\\n```\\n\\n그런 다음 CI 파이프라인을 확장하여 다음 명령어를 수행해서 빌드 설정의 변경 사항을 직접 `.xcconfig` 파일에 작성하도록 합니다:\\n\\n```bash\\ntuist migration check-empty-settings -p Project.xcodeproj\\n```\\n\\n## 패키지 의존성 추출 {#extract-package-dependencies}\\n\\n프로젝트의 모든 의존성을 `Tuist/Package.swift` 파일로 추출합니다:\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n .package(url: \\\"https://github.com/onevcat/Kingfisher\\\", .upToNextMajor(from: \\\"7.12.0\\\")) // [!code ++]\\n ]\\n)\\n```\\n\\n> [!TIP] PRODUCT TYPES\\\\\\n> `PackageSettings` 구조체의 `productTypes` 딕셔너리에 특정 패키지에 대한 제품 타입을 재정의할 수 있습니다. 기본적으로 Tuist는 모든 패키지가 정적 프레임워크로 간주합니다.\\n\\n## 마이그레이션 순서 {#determine-the-migration-order}\\n\\n가장 의존도가 높은 타겟에서 가장 의존도가 낮은 타겟 순으로 마이그레이션 하는 것이 좋습니다. 다음 명령어를 수행하면 프로젝트의 타겟이 의존도에 따라 정렬되어 나타납니다:\\n\\n```bash\\ntuist migration list-targets -p Project.xcodeproj\\n```\\n\\n위에 있는 타겟이 의존도가 높으므로 이 타겟부터 마이그레이션 합니다.\\n\\n## 타겟 마이그레이션 {#migrate-targets}\\n\\n타겟을 하나씩 마이그레이션 합니다. 변경 사항을 병합하기 전에 검토되고 테스트 되기위해 각 타겟에 대해 Pull Request를 수행하는 것이 좋습니다.\\n\\n### 타겟 빌드 설정을 `.xcconfig` 파일로 추출 {#extract-the-target-build-settings-into-xcconfig-files}\\n\\n프로젝트 빌드 설정과 마찬가지로, 타겟을 더 가볍고 마이그레이션하기 쉽게 만들기 위해 타겟 빌드 설정을 `.xcconfig` 파일로 추출합니다. 다음 명령어를 수행하면 타겟의 빌드 설정을 `.xcconfig` 파일로 추출합니다:\\n\\n```bash\\ntuist migration settings-to-xcconfig -p MyApp.xcodeproj -t TargetX -x xcconfigs/TargetX.xcconfig\\n```\\n\\n### `Project.swift` 파일에 타겟 정의 {#define-the-target-in-the-projectswift-file}\\n\\n`Project.targets` 에 타겟을 정의합니다:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n settings: .settings(configurations: [\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/Project.xcconfig\\\"),\\n .release(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/Project.xcconfig\\\"),\\n ]),\\n targets: [\\n .target( // [!code ++]\\n name: \\\"TargetX\\\", // [!code ++]\\n destinations: .iOS, // [!code ++]\\n product: .framework, // [!code ++] // or .staticFramework, .staticLibrary...\\n bundleId: \\\"io.tuist.targetX\\\", // [!code ++]\\n sources: [\\\"Sources/TargetX/**\\\"], // [!code ++]\\n dependencies: [ // [!code ++]\\n /** Dependencies go here **/ // [!code ++]\\n /** .external(name: \\\"Kingfisher\\\") **/ // [!code ++]\\n /** .target(name: \\\"OtherProjectTarget\\\") **/ // [!code ++]\\n ], // [!code ++]\\n settings: .settings(configurations: [ // [!code ++]\\n .debug(name: \\\"Debug\\\", xcconfig: \\\"./xcconfigs/TargetX.xcconfig\\\"), // [!code ++]\\n .debug(name: \\\"Release\\\", xcconfig: \\\"./xcconfigs/TargetX.xcconfig\\\"), // [!code ++]\\n ]) // [!code ++]\\n ), // [!code ++]\\n ]\\n)\\n```\\n\\n> [!NOTE] TEST TARGETS\\n> 타겟과 연관있는 테스트 타겟이 존재하면, `Project.swift` 파일에 동일하게 해당 타겟을 정의해야 합니다.\\n\\n### 타겟 마이그레이션 검증 {#validate-the-target-migration}\\n\\n`tuist build`와 `tuist test`를 수행해서 프로젝트 빌드와 테스트가 통과되는지 확인합니다. 또한, [xcdiff](https://github.com/bloomberg/xcdiff)을 사용하여 생성된 Xcode 프로젝트와 기존 프로젝트의 변경사항이 맞는지 비교할 수 있습니다.\\n\\n### 반복 {#repeat}\\n\\n모든 타겟이 마이그레이션 할 때까지 반복합니다. 작업이 완료되면, Tuist가 제공하는 속도와 안정성의 이점을 위해 `tuist build`와 `tuist test` 명령어를 사용하여 프로젝트 빌드와 테스트를 할 수 있게 CI와 CD 파이프라인을 업데이트 하는 것이 좋습니다.\\n\\n## 문제 해결 {#troubleshooting}\\n\\n### 파일 누락으로 인한 컴파일 오류 파일 누락으로 인한 컴파일 오류 파일 누락으로 인한 컴파일 오류 {#compilation-errors-due-to-missing-files} 파일 누락으로 인한 컴파일 오류 파일 누락으로 인한 컴파일 오류 {#compilation-errors-due-to-missing-files} 파일 누락으로 인한 컴파일 오류 파일 누락으로 인한 컴파일 오류 {#compilation-errors-due-to-missing-files}\\n\\nXcode 프로젝트 타겟에 연관된 파일이 마이그레이션 한 타겟 파일 시스템 디렉토리에 포함되지 않으면, 그 프로젝트는 컴파일되지 않습니다. Tuist로 프로젝트를 생성한 후에 Xcode 프로젝트의 파일 목록과 일치하는지 확인하고, 타겟 구조와 파일 구조를 일치 시킵니다.\\n\",\"title\":\"기존 Xcode 프로젝트를 Tuist로 전환하기\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/adoption/migrate/xcode-project\",\"LLMS_URL\":\"/ko/guides/features/projects/adoption/migrate/xcode-project.md\",\"title\":\"기존 Xcode 프로젝트를 Tuist로 전환하기\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Xcode 프로젝트에서 Tuist 프로젝트로 변환하는 방법을 알아봅니다.\"}},{\"path\":\"/ko/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"url\":\"/ko/guides/features/projects/adoption/migrate/xcodegen-project\",\"llmUrl\":\"/ko/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/adoption/migrate/xcodegen-project\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/adoption/migrate/xcodegen-project.md\\\"\\ntitle: \\\"Migrate an XcodeGen project자동\\\"\\ntitleTemplate: \\\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"XcodeGen에서 Tuist로 프로젝트를 마이그레이션 하는 방법을 배웁니다.\\\"\\n---\\n\\n# Migrate an XcodeGen project {#migrate-an-xcodegen-project}\\n\\n[XcodeGen](https://github.com/yonaskolb/XcodeGen)은 Xcode 프로젝트를 정의하기 위해 [구성 포맷](https://github.com/yonaskolb/XcodeGen/blob/master/Docs/ProjectSpec.md)으로 YAML을 사용하는 프로젝트 생성 툴입니다. 많은 조직에서 **Xcode 프로젝트로 작업하면 빈번하게 발생하는 Git 충돌을 벗어나기 위해 채택했습니다.** 그러나 Git 충돌은 조직에서 경험하는 많은 문제 중 하나에 불과합니다. Xcode는 개발자에게 많은 복잡성과 암시적 구성을 노출시켜서 대규모 프로젝트를 유지하고 최적화 하기 어렵게 만듭니다. XcodeGen은 프로젝트 관리 도구가 아닌 Xcode 프로젝트를 생성하는 툴이므로 설계상 부족한 점이 있습니다. Xcode 프로젝트 생성하는 것 이상의 툴이 필요하다면 Tuist를 고려해 보시기 바랍니다.\\n\\n> [!TIP] SWIFT OVER YAML\\\\\\n> 많은 조직에서 구성 포맷으로 Swift를 사용하기 때문에 프로젝트 생성 툴로 Tuist를 선호합니다. Swift는 개발자에게 친숙한 프로그래밍 언어이며 Xcode의 자동 완성, 타입 검사, 그리고 기능 검증을 편리하게 사용할 수 있습니다.\\n\\n다음은 XcodeGen에서 Tuist로 프로젝트를 마이그레이션 하는데 도움이 되는 몇 가지 고려사항과 지침입니다.\\n\\n## 프로젝트 생성 {#project-generation}\\n\\nTuist와 XcodeGen은 프로젝트 선언을 Xcode 프로젝트와 워크스페이스로 변환하는 `generate` 명령어를 제공합니다.\\n\\n::: code-group\\n\\n```bash [XcodeGen]\\nxcodegen generate\\n```\\n\\n```bash [Tuist]\\ntuist generate\\n```\\n\\n:::\\n\\n차이점은 편집에 있습니다. Tuist를 사용하면 Xcode 프로젝트를 생성하고 열어서 작업을 시작할 수 있는 `tuist edit` 명령어를 수행할 수 있습니다. 이 기능은 프로젝트를 빠르게 변경할 때 유용합니다.\\n\\n## `project.yaml` {#projectyaml}\\n\\nXcodeGen의 `project.yaml` 파일이 `Project.swift` 파일이 됩니다. 게다가 프로젝트를 워크스페이스에서 그룹화하는 방식을 사용자 정의할 수 있는 `Workspace.swift`를 가질 수 있습니다. 다른 프로젝트의 타겟을 참조하는 타겟을 가지는 `Project.swift`를 가질 수도 있습니다. 이런 경우 Tuist는 모든 프로젝트를 포함하는 Xcode Workspace를 생성합니다.\\n\\n::: code-group\\n\\n```bash [XcodeGen directory structure]\\n/\\n project.yaml\\n```\\n\\n```bash [Tuist directory structure]\\n/\\n Tuist.swift\\n Project.swift\\n Workspace.swift\\n```\\n\\n:::\\n\\n> [!TIP] XCODE의 언어\\n> XcodeGen과 Tuist 모두 Xcode의 언어와 개념을 수용합니다. 그러나 Tuist의 Swift 기반 구성은 Xcode의 자동 완성, 타입 검사, 그리고 기능 검증을 쉽게 사용하도록 제공합니다.\\n\\n## 스펙 템플릿 {#spec-templates}\\n\\n프로젝트 구성으로 YAML 언어의 단점 중 하나는 YAML 파일은 재사용을 지원하지 않습니다. 이것은 프로젝트를 설명할 때 흔히 존재하는 것으로 XcodeGen은 \\\\*\\\"templates\\\"\\\\*이라는 자체 솔루션으로 이를 해결해야 했습니다. Tuist의 재사용성은 Swift 언어 자체에 내장되어 있으며, <0>project description helpers0>라는 Swift 모듈을 통해 모든 매니페스트 파일에서 재사용할 수 있습니다.\\n\\n::: code-group\\n\\n```swift [Tuist/ProjectDescriptionHelpers/Target+Features.swift]\\nimport ProjectDescription\\n\\nextension Target {\\n /**\\n This function is a factory of targets that together represent a feature.\\n */\\n static func featureTargets(name: String) -> [Target] {\\n // ...\\n }\\n}\\n```\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers // [!code highlight]\\n\\nlet project = Project(name: \\\"MyProject\\\",\\n targets: Target.featureTargets(name: \\\"MyFeature\\\")) // [!code highlight]\\n```\\n\",\"title\":\"Migrate an XcodeGen project자동\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/adoption/migrate/xcodegen-project\",\"LLMS_URL\":\"/ko/guides/features/projects/adoption/migrate/xcodegen-project.md\",\"title\":\"Migrate an XcodeGen project자동\",\"titleTemplate\":\":title · Migrate · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"XcodeGen에서 Tuist로 프로젝트를 마이그레이션 하는 방법을 배웁니다.\"}},{\"path\":\"/ko/guides/features/projects/adoption/new-project.md\",\"url\":\"/ko/guides/features/projects/adoption/new-project\",\"llmUrl\":\"/ko/guides/features/projects/adoption/new-project.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/adoption/new-project\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/adoption/new-project.md\\\"\\ntitle: \\\"Create a new project\\\"\\ntitleTemplate: \\\":title · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Tuist로 새로운 프로젝트를 어떻게 생성하는지 배웁니다.\\\"\\n---\\n\\n# Create a new project {#create-a-new-project}\\n\\nTuist로 새로운 프로젝트를 시작하는 가장 간단한 방법은 `tuist init` 명령어를 사용하는 것입니다. 이 명령어는 프로젝트 설정을 도와주는 CLI를 실행합니다. 안내에 따라 진행할 때, 반드시 \\\"generated project\\\"를 생성하는 옵션을 선택해야 합니다.\\n\\n생성된 파일 중 하나 인 `Project.swift` 는 프로젝트의 정의를 포함하고 있습니다. Swift Package Manager에 익숙하다면 \\bXcode 프로젝트에서 사용하는 `Package.swift`라고 생각하면 됩니다. `tuist edit`을 수행하여 프로젝트를 수정할 수 있으며, 해당 프로젝트를 수정할 수 있게 Xcode가 열립니다.\\n\\n::: code-group\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n targets: [\\n .target(\\n name: \\\"MyApp\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"io.tuist.MyApp\\\",\\n infoPlist: .extendingDefault(\\n with: [\\n \\\"UILaunchScreen\\\": [\\n \\\"UIColorName\\\": \\\"\\\",\\n \\\"UIImageName\\\": \\\"\\\",\\n ],\\n ]\\n ),\\n sources: [\\\"MyApp/Sources/**\\\"],\\n resources: [\\\"MyApp/Resources/**\\\"],\\n dependencies: []\\n ),\\n .target(\\n name: \\\"MyAppTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.MyAppTests\\\",\\n infoPlist: .default,\\n sources: [\\\"MyApp/Tests/**\\\"],\\n resources: [],\\n dependencies: [.target(name: \\\"MyApp\\\")]\\n ),\\n ]\\n)\\n```\\n\\n:::\\n\\n> [!NOTE]\\\\\\n> 유지 보수를 최소화 하기 위해 템플릿은 가능한 짧게 유지합니다. 프레임워크와 같이 애플리케이션이 아닌 프로젝트를 생성하고 싶으면, `tuist init`을 사용하여 생성된 프로젝트를 필요에 따라 수정할 수 있습니다.\\n\\n## 수동으로 프로젝트 생성 {#manually-creating-a-project}\\n\\n수동으로도 프로젝트를 생성할 수 있습니다. Tuist와 그 개념에 익숙한 경우에만 해당 내용을 수행하도록 추천합니다. 먼저, 프로젝트 구조에 대한 디렉토리를 생성해야 합니다:\\n\\n```bash\\nmkdir MyFramework\\ncd MyFramework\\n```\\n\\n그런 다음에 Tuist 구성과 프로젝트의 루트 디렉토리를 결정하는 `Tuist.swift` 파일과 프로젝트를 선언하는 `Project.swift` 파일을 생성합니다:\\n\\n::: code-group\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyFramework\\\",\\n targets: [\\n .target(\\n name: \\\"MyFramework\\\",\\n destinations: .macOS,\\n product: .framework,\\n bundleId: \\\"io.tuist.MyFramework\\\",\\n sources: [\\\"MyFramework/Sources/**\\\"],\\n dependencies: []\\n )\\n ]\\n)\\n```\\n\\n```swift [Tuist.swift]\\nimport ProjectDescription\\n\\nlet tuist = Tuist()\\n```\\n\\n:::\\n\\n> [!IMPORTANT]\\\\\\n> Tuist는 `Tuist/` 디렉토리를 사용하여 프로젝트의 루트를 결정하고, 그 디렉토리에서 다른 매니페스트 파일을 찾습니다. 원하는 편집기로 해당 파일을 생성하고, `tuist edit`를 사용하여 Xcode로 프로젝트를 수정할 수 있습니다.\\n\",\"title\":\"Create a new project\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/adoption/new-project\",\"LLMS_URL\":\"/ko/guides/features/projects/adoption/new-project.md\",\"title\":\"Create a new project\",\"titleTemplate\":\":title · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Tuist로 새로운 프로젝트를 어떻게 생성하는지 배웁니다.\"}},{\"path\":\"/ko/guides/features/projects/adoption/swift-package.md\",\"url\":\"/ko/guides/features/projects/adoption/swift-package\",\"llmUrl\":\"/ko/guides/features/projects/adoption/swift-package.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/adoption/swift-package\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/adoption/swift-package.md\\\"\\ntitle: \\\"Use Tuist with a Swift Package\\\"\\ntitleTemplate: \\\":title · Adoption · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Swift Package와 함께 Tuist를 사용하는 방법에 대해 알아봅니다.\\\"\\n---\\n\\n# Using Tuist with a Swift Package {#using-tuist-with-a-swift-package-badge-typewarning-textbeta-}\\n\\nTuist는 프로젝트에 DSL로 `Package.swift` 사용을 지원하고 패키지 타겟을 Xcode 프로젝트와 타겟으로 변환합니다.\\n\\n> [!WARNING]\\\\\\n> 이 기능의 목적은 개발자가 Swift Package에 Tuist를 도입했을 때 영향도를 쉽게 파악하기 위함입니다. 따라서 우리는 Swift Package Manager의 모든 기능을 지원하거나 프로젝트 설명 도우미와 같은 Tuist의 기능을 패키지 분야에 제공할 계획도 없습니다.\\n\\n> [!NOTE] 루트 디렉토리\\\\\\n> Tuist 명령어는 특정 디렉토리 구조를 요구하며 루트는 `Tuist` 또는 `.git` 디렉토리로 식별됩니다.\\n\\n## Swift Package와 함께 Tuist 사용 {#using-tuist-with-a-swift-package}\\n\\nSwift Package가 포함된 [TootSDK Package](https://github.com/TootSDK/TootSDK) 리포지토리와 함께 Tuist를 사용해 봅니다. 가장 먼저 해야 할 일은 리포지토리를 복제하는 것입니다:\\n\\n```bash\\ngit clone https://github.com/TootSDK/TootSDK\\ncd TootSDK\\n```\\n\\n리포지토리 디렉토리에서 Swift Package Manager 의존성을 설치해야 합니다:\\n\\n```bash\\ntuist install\\n```\\n\\n`tuist install`은 패키지의 의존성을 해결하고 가져오기 위해 Swift Package Manager를 사용합니다.\\n완료되면 프로젝트를 생성할 수 있습니다.\\n\\n```bash\\ntuist generate\\n```\\n\\nVoilà! 열고 작업을 시작할 수 있는 Xcode 프로젝트가 생성됐습니다.\\n\",\"title\":\"Use Tuist with a Swift Package\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/adoption/swift-package\",\"LLMS_URL\":\"/ko/guides/features/projects/adoption/swift-package.md\",\"title\":\"Use Tuist with a Swift Package\",\"titleTemplate\":\":title · Adoption · Projects · Develop · Guides · Tuist\",\"description\":\"Swift Package와 함께 Tuist를 사용하는 방법에 대해 알아봅니다.\"}},{\"path\":\"/ko/guides/features/projects/best-practices.md\",\"url\":\"/ko/guides/features/projects/best-practices\",\"llmUrl\":\"/ko/guides/features/projects/best-practices.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/best-practices\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/best-practices.md\\\"\\ntitle: \\\"Best practices\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Tuist와 Xcode 프로젝트를 다룰 때의 모범 사례들을 알아보세요.\\\"\\n---\\n\\n# Best practices {#best-practices}\\n\\n다양한 팀 및 프로젝트\\u001d와의 수년간 협업 경험을 바탕으로, Tuist와 Xcode 프로젝트를 다룰 때 권장하는 모범 사례들을 정리했습니다. 이러한 모범 사례들은 필수 사항은 아니지만, 프로젝트를 보다 유지보수하기 쉽고 확장 가능한 방식으로 구조화하는데 도움이 될 수 있습니다.\\n\\n## Xcode {#xcode}\\n\\n### 권장하지 않는 패턴 {#discouraged-patterns}\\n\\n#### 원격 환경을 모델링하기 위한 설정 {#configurations-to-model-remote-environments}\\n\\n많은 조직이 다양한 원격 환경을 모델링하기 위해 빌드 설정을 사용합니다 (예: `Debug-Production` or `Release-Canary`). 하지만 이 접근 방식에는 몇 가지 단점이 있습니다:\\n\\n- **불일치:** 그래프 전반에 걸쳐 설정이 일관되지 않으면, 빌드 시스템이 일부 타겟에 대해 잘못된 설정을 사용할 수 있습니다.\\n- **복잡성:** 프로젝트의 로컬 설정과 원격 환경 설정들이 많아질수록 이해하고 관리하기 어려워질 수 있습니다.\\n\\n다양한 환경을 모델링해야 할 때는 스킴(Scheme)을 사용하여 해결할 수 있습니다. 다양한 환경을 모델링해야 할 때는 스킴(Scheme)을 사용하여 해결할 수 있습니다.\\n\\n- **Debug 빌드:** 앱의 개발 환경에서 접근할 수 있어야 하는 모든 설정 (예: 엔드포인트) 을 포함할 수 있고, 이를 런타임에 전환할 수 있습니다. 전환 방식은 스킴 환경 변수를 사용하거나 앱 내의 UI를 통해 전환할 수 있습니다.\\n- **Release 빌드:** 릴리즈 빌드에 필요한 설정만 포함되어야 하고 컴파일러 지시문을 사용하여 설정 전환을 위한 런타임 로직을 포함하지 않도록 해야 합니다.\\n\",\"title\":\"Best practices\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/best-practices\",\"LLMS_URL\":\"/ko/guides/features/projects/best-practices.md\",\"title\":\"Best practices\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Tuist와 Xcode 프로젝트를 다룰 때의 모범 사례들을 알아보세요.\"}},{\"path\":\"/ko/guides/features/projects/code-sharing.md\",\"url\":\"/ko/guides/features/projects/code-sharing\",\"llmUrl\":\"/ko/guides/features/projects/code-sharing.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/code-sharing\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/code-sharing.md\\\"\\ntitle: \\\"Code sharing\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"manifest 파일 간의 코드 공유를 통해 중복을 줄이고 일관성을 유지하는 방법을 알아보세요\\\"\\n---\\n\\n# Code sharing {#code-sharing}\\n\\nXcode를 대규모 프로젝트에서 사용할 때의 한계점 중 하나는 `.xcconfig` 파일을 통한 빌드 설정 외에는 프로젝트의 다른 요소들을 재사용할 수 없다는 점입니다. 프로젝트 정의를 재사용할 수 있으면 다음과 같은 장점이 있습니다:\\n\\n- 변경 사항을 한 곳에서 적용하면 모든 프로젝트에 자동으로 반영되므로 **유지보수**가 수월해집니다.\\n- 새로운 프로젝트들이 따를 수 있는 규칙을 정의할 수 있습니다.\\n- 프로젝트가 더 `일관성`을 갖게 되어, 불일치로 인한 빌드 실패의 가능성이 줄어듭니다.\\n- 기존 로직을 재사용할 수 있어 새로운 프로젝트 추가가 쉬워집니다.\\n\\n**project description helpers**를 통해 Tuist에서는 manifest 파일 간에 코드를 재사용할 수 있습니다.\\n\\n> [!TIP] Tuist만의 독자적인 가치\\n> 많은 조직들이 Tuist를 선호하는 이유는 project description helpers가 플랫폼 팀에게 자신들만의 convention을 코드화하고, 프로젝트를 설명하는 독자적인 언어를 정의할 수 있는 기반을 제공하기 때문입니다. 예를 들어, YAML 기반 project generator들은 자체 YAML 기반 독점 템플릿 솔루션을 만들거나, 조직이 이를 기반으로 도구를 구축하도록 강요해야 합니다.\\n\\n## Project description helpers {#project-description-helpers}\\n\\nProject description helpers는 컴파일되어 manifest 파일에서 가져올 수 있는 `ProjectDescriptionHelpers` 모듈로 변환되는 Swift 파일입니다. 이 모듈은 `Tuist/ProjectDescriptionHelpers` 디렉토리에 있는 모든 파일을 모아 컴파일됩니다.\\n\\nmanifest 파일 맨 위에 import 문을 추가하여 이를 가져올 수 있습니다:\\n\\n```swift\\n// Project.swift\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n```\\n\\n`ProjectDescriptionHelpers`는 다음 manifest에서 사용할 수 있습니다:\\n\\n- `Project.swift`\\n- `Package.swift` (`#TUIST` compiler flag 사용 시에만\\u001c)\\n- `Workspace.swift`\\n\\n## 예시 {#example}\\n\\n아래 코드 스니펫은 `Proejct` 모델을 확장하여 static constructor를 추가하고, 이를 `Project.swift` 파일에서 사용하는 예시입니다:\\n\\n::: code-group\\n\\n```swift [Tuist/Project+Templates.swift]\\nimport ProjectDescription\\n\\nextension Project {\\n public static func featureFramework(name: String, dependencies: [TargetDependency] = []) -> Project {\\n return Project(\\n name: name,\\n targets: [\\n .target(\\n name: name,\\n destinations: .iOS,\\n product: .framework,\\n bundleId: \\\"io.tuist.\\\\(name)\\\",\\n infoPlist: \\\"\\\\(name).plist\\\",\\n sources: [\\\"Sources/\\\\(name)/**\\\"],\\n resources: [\\\"Resources/\\\\(name)/**\\\",],\\n dependencies: dependencies\\n ),\\n .target(\\n name: \\\"\\\\(name)Tests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.\\\\(name)Tests\\\",\\n infoPlist: \\\"\\\\(name)Tests.plist\\\",\\n sources: [\\\"Sources/\\\\(name)Tests/**\\\"],\\n resources: [\\\"Resources/\\\\(name)Tests/**\\\",],\\n dependencies: [.target(name: name)]\\n )\\n ]\\n )\\n }\\n}\\n```\\n\\n```swift {2} [Project.swift]\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n\\nlet project = Project.featureFramework(name: \\\"MyFeature\\\")\\n```\\n\\n:::\\n\\n> [!TIP] 컨벤션(CONVENTION)을 정립하는 도구\\n> 함수를 통해 target 이름, bundle identifier, 폴더 구조에 대한 컨벤션을 정의하는 방식을 주목하세요.\\n\",\"title\":\"Code sharing\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/code-sharing\",\"LLMS_URL\":\"/ko/guides/features/projects/code-sharing.md\",\"title\":\"Code sharing\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"manifest 파일 간의 코드 공유를 통해 중복을 줄이고 일관성을 유지하는 방법을 알아보세요\"}},{\"path\":\"/ko/guides/features/projects/cost-of-convenience.md\",\"url\":\"/ko/guides/features/projects/cost-of-convenience\",\"llmUrl\":\"/ko/guides/features/projects/cost-of-convenience.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/cost-of-convenience\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/cost-of-convenience.md\\\"\\ntitle: \\\"The cost of convenience\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Xcode에서 편의성의 비용에 대해 알아보고 Tuist는 이 문제를 어떻게 예방하는지 배워봅니다.\\\"\\n---\\n\\n# The cost of convenience {#the-cost-of-convenience}\\n\\n**작은 프로젝트에서 대규모 프로젝트까지** 사용할 수 있는 코드 편집기를 설계하는 것은 어려운 작업입니다.\\n이 문제를 해결하기 위해 많은 툴은 솔루션을 계층화하고 확장성을 제공하는 방식으로 접근합니다. \\u001d최하위 계층은 매우 저수준이며 기본 빌드 시스템과 밀접하게 연결되어 있고, \\u001d최상위 계층은 사용하기 편리하지만 유연성이 떨어지는 고수준 추상화 입니다.\\n이렇게 함으로써, 간단한 것은 쉽게 만들고 그 외 모든 것을 가능하게 만듭니다.\\n\\n그러나,\\n**[Apple](https://www.apple.com)은 Xcode에 다른 접근 방식을 취하기로 결정\\u001d했습니다**.\\n그 이유는 명확하지 않지만, 대규모 프로젝트에 대해 최적화 하는 것이 목표가 아니었을 확률이 큽니다.\\n그들은 소규모 프로젝트에 대한 편리성에 과도하게 투자하고, 유연성은 거의 제공하지 않으며, 기본 빌드 시스템과 툴을 강하게 결합시켰습니다.\\n편리함을 제공하기 위해, Apple은 쉽게 대체할 수 있는 기본 설정을 제공하고, 대규모 프로젝트에서 문제를 일으키는 암시적인 빌드 타임 해석 동작을 추가했습니다.\\n\\n## 명시성과 규모 {#explicitness-and-scale}\\n\\n대규모 작업을 할 때, **명시성은 핵심입니다**.\\n명시성은 빌드 시스템이 사전에 프로젝트 구조와 의존성을 분석하고 이해하도록 하며,\\n그렇지 않으면 불가능한 최적화 작업을 수행합니다.\\n동일한 명시성은 [SwiftUI 프리뷰](https://developer.apple.com/documentation/swiftui/previews-in-xcode)나 [Swift Macros](https://docs.swift.org/swift-book/documentation/the-swift-programming-language/macros/)와 같은 편집기 기능이 신뢰할 수 있고 예측 가능한 방식으로 동작하도록 보장하는데도 핵심입니다.\\nXcode와 Xcode 프로젝트는 편리성을 위해 암시성을 유효한 설계로 채택했기 때문에,\\nSwift Package Manager도 이 원칙을 계승하였으며,\\nXcode를 사용할 때의 어려움이 Swift Package Manager에서도 나타납니다.\\n\\n> [!INFO] TUIST의 역할\\n> Tuist의 역할은 프로젝트의 암시적 정의를 방지하고 명시성을 활용해 더 나은 개발자 경험 (예: 검증, 최적화) 을 제공하는 툴로 요약할 수 있습니다. [Bazel](https://bazel.build)과 같은 툴은 이를 한단계 더 발전시켜 빌드 시스템 수준까지 확장합니다.\\n\\n이 문제는 커뮤니티에서 거의 언급이 되지 않지만, 중요한 문제입니다.\\nTuist를 작업하면서,\\n많은 조직과 개발자들이 현재 직면한 문제를 [Swift Package Manager](https://www.swift.org/documentation/package-manager/)에 의해 해결할 수 있다고 생각하는 것을 발견했지만,\\n깨닫지 못하는 점은 Swift Package Manager도 동일한 원칙을 기반으로 구축되기 때문에,\\n잘 알려진 Git 충돌은 해결할 수 있지만,\\n다른 영역에서 개발자의 경험을 저하시키고 프로젝트 최적화를 어렵게 만든다는 점입니다.\\n\\n다음 섹션에서 암시적 방식이 개발자 경험과 프로젝트에 어떤 영향을 끼치는지 실제 예제를 통해 다룰 예정입니다. 이 내용이 모든 것을 다루지는 않지만, Xcode 프로젝트나 Swift Package를 작업할 때 직면하는 문제에 대한 해결책을 위한 좋은 아이디어를 제시할 것입니다.\\n\\n## 편리함이 장애물이 되는 경우 {#convenience-getting-in-your-way}\\n\\n### 공유된 빌드 결과물 디렉토리 {#shared-built-products-directory}\\n\\nXcode는 Derived Data 디렉토리 내에 각 결과물의 디렉토리를 사용합니다.\\n그 안에는 컴파일된 바이너리, dSYM 파일, 그리고 로그와 같은 빌드 산출물이 저장됩니다.\\n프로젝트의 모든 결과물이 동일한 디렉토리에 저장되며,\\n기본적으로 다른 타겟에서 보이기 때문에,\\n**타겟들이 서로 암시적으로 의존성을 가질 수 있습니다.**\\n타겟이 적을 경우 문제가 되지 않지만,\\n프로젝트가 커지면 이것은 빌드 실패로 이어지고 디버깅하기 어려운 상황이 생길 수 있습니다.\\n\\n이 설계의 결과로 많은 프로젝트는 명확하게 정의되지 않은 그래프로 컴파일 됩니다.\\n\\n> [!TIP] TUIST의 암시적 의존성 감지\\n> Tuist는 암시적 의존성을 감지하기 위한 명령어를 제공합니다. 해당 명령어를 사용하여 모든 의존성이 명시적으로 선언되었는지 CI에서 검증할 수 있습니다.\\n\\n### 스킴에서 암시적 의존성 찾기 {#find-implicit-dependencies-in-schemes}\\n\\n프로젝트 규모가 커질수록 Xcode에서 의존성 그래프를 정의하고 유지하기 어려워집니다.\\n어려운 이유는 빌드 단계와 빌드 설정이 `.pbxproj` 파일에 코드화 되어 있고,\\n그래프를 시각화하고 작업할 수 있는 툴이 없으며,\\n그래프의 변경 사항 (예: 미리 컴파일된 새로운 동적 프레임워크 추가) 이\\n상위 구성에서의 변경 (예: 번들에 프레임워크를 복사하기 위한 새로운 빌드 단계 추가) 을 요구할 수 있기 때문입니다.\\n\\nApple은 어느 시점에 그래프 모델을 더 관리하기 쉬운 형태로 발전시키는 대신에,\\n빌드 시에 암시적 의존성을 해결하는 옵션을 추가하는 것이 더 합리적이라고 결정하였습니다.\\n이는 다시 의문점을 남기는데, 빌드 시간이 더 길어지거나 예측할 수 없는 빌드 결과가 나올 수 있기 때문입니다.\\n예를 들어, 빌드가 로컬에서는 Derive Data의 특정 상태 때문에 정상 동작할 수 있지만,\\n이 상태는 [singleton](https://en.wikipedia.org/wiki/Singleton_pattern)처럼 동작하므로,\\n상태가 다른 CI에서는 컴파일이 실패할 수 있습니다.\\n\\n> [!TIP]\\n> 우리는 프로젝트 스킴에서 이 기능을 비활성화 하고, 의존성 그래프 관리가 용이한\\u001d Tuist 같은 툴을 사용하길 권장합니다.\\n\\n### SwiftUI 프리뷰와 정적 라이브러리/프레임워크 {#swiftui-previews-and-static-librariesframeworks}\\n\\nSwiftUI 프리뷰나 Swift Macro와 같은 일부 편집기 기능은 수정된 파일에 의존성 그래프의 컴파일을 필요로 합니다. 편집기의 이런 통합은 빌드 시스템이 모든 암시성을 해결하도록 요구하고 해당 기능이 제대로 동작하도록 올바른 산출물을 출력하도록 요구합니다. 당연히 **그래프가 더 암시적이면 빌드 시스템의 작업은 더 어려워지고**, 이러한 기능 대부분이 제대로 동작하지 않는 것은 놀라운 일이 아닙니다. 개발자들이 SwiftUI 프리뷰가 제대로 동작하지 않아 오래전에 사용을 중지했다는 얘기를 자주 듣습니다. 대신 해당 기능을 사용하기 위해 예제 앱을 사용하거나, 정적 라이브러리나 스크립트 빌드 단계를 사용하는 것을 피해 기능을 사용하고 있습니다.\\n\\n### Mergeable libraries {#mergeable-libraries}\\n\\n작업을 더 유연하고 쉽게 하는 동적 프레임워크는 앱의 실행 시간에 안좋은 영향을 줍니다. 반면에, 정적 라이브러리는 더 빠른 실행 시간을 가지지만, 컴파일 시간에 영향을 주고 복잡한 그래프 환경에서 작업하기 어렵게 만듭니다. _구성에 따라 둘 중 하나로 변경할 수 있다면 좋지 않을까요?_\\n아마 Apple은 Mergeable libraries 작업을 하면서 그 생각을 가졌을 것입니다. 하지만 다시 한 번 Apple은 더 많은 빌드 시간 추론을 빌드 시간으로 옮겼습니다. 의존성 그래프에 대해 추론해야 한다면 타겟의 정적 또는 동적 특성이 일부 타겟의 빌드 설정을 기반으로 빌드 시간이 결정된다고 상상해 봅시다. SwiftUI 프리뷰 기능이 안정적으로 동작하게 하는 것은 쉽지 않습니다.\\n\\n**많은 사용자가 Mergeable libraries를 사용하기 위해 Tuist를 찾지만 우리의 대답은 항상 같습니다. 그럴 필요가 없습니다.** 생성 시점에 타겟의 정적 또는 동적 특성을 제어할 수 있으며, 이를 통해 컴파일 전에 의존성 그래프를 미리 알 수 있는 프로젝트를 만들 수 있습니다. 빌드 시점에 해결해야 될 변수는 없습니다.\\n\\n```bash\\n# The value of TUIST_DYNAMIC can be read from the project {#the-value-of-tuist_dynamic-can-be-read-from-the-project}\\n# to set the product as static or dynamic based on the value. {#to-set-the-product-as-static-or-dynamic-based-on-the-value}\\nTUIST_DYNAMIC=1 tuist generate\\n```\\n\\n## 명시적, 명시적, 그리고 명시적 {#explicit-explicit-and-explicit}\\n\\nXcode로 개발을 확장하려는 모든 개발자나 조직에게 권장하는 중요한 비공식 원칙이 있다면, 그것은 명시성을 채택하는 것입니다. 그리고 명시성을 본래 Xcode 프로젝트에서 관리하기 어려워진다면, [Tuist](https://tuist.io)나 [Bazel](https://bazel.build)과 같은 다른 방법을 고려해볼 필요가 있습니다. **그러면 신뢰성, 예측 가능성, 그리고 최적화가 가능해 집니다.**\\n\\n## 미래 {#future}\\n\\nApple의 위의 문제를 해결하기 위해 어떤 조치를 취할지는 알 수 없습니다.\\nXcode와 Swift Package Manager에 반영된 Apple의 지속적인 내용은 Apple은 해당 문제를 해결할 의향이 없음을 시사합니다.\\n암시적 구성을 유효한 상태로 허용하면,\\n**기존 호환성을 깨는 변경을 도입하지 않으면 이 상태를 벗어나기 어렵습니다.**\\n기본 원칙으로 돌아가 툴의 설계를 재구성하면, 여러 해동안 우연히 컴파일이 되던 많은 Xcode 프로젝트가 더이상 정상적으로 동작 하지 않을 수 있습니다. 이런 일이 일어난다면, 커뮤니티에 일어날 소란을 상상해 보시기 바랍니다.\\n\\nApple은 닭이 먼저냐, 달걀이 먼저냐의 문제에 직면해 있습니다.\\n편리함은 개발자가 빠르게 시작하고 Apple 생태계에서 더 많은 앱을 만들 수 있도록 도와줍니다.\\n하지만 편리한 경험을 위한 결정이 Xcode의 일부 기능이 신뢰성 있게 동작하기 어렵게 만듭니다.\\n\\n미래는 알 수 없기 때문에,\\n우리는 **업계 표준과 Xcode 프로젝트에 최대한 부합하도록** 노력합니다.\\n우리는 위의 문제를 방지하고,\\n우리가 가진 지식을 활용해 더 나은 개발자 경험을 제공합니다.\\n이론적으로는 프로젝트 생성 할 필요가 없지만,\\nXcode와 Swift Package Manager의 확장성 부족으로 인해 프로젝트 생성이 유일한 방법입니다.\\n그리고 이런 방법이 Tuist 프로젝트에 문제가 생기면 Xcode 프로젝트도 문제가 생기기 때문에 안전한 방법입니다.\\n\\n이론적으로는 **빌드 시스템이 더 확장 가능**해야 하지만,\\n암묵적인 방식과 결합되는 플러그인/확장을 두는 것이 더 나쁜 아이디어가 아닐까요?\\n이것은 좋은 생각이 아닌 것 같습니다.\\n그래서 더 나은 개발자 경험을 제공하기 위해 Tuist나 [Bazel](https://bazel.build)과 같은 외부 툴이 필요합니다.\\n아니면 Apple이 우리 모두를 놀라게 하고 Xcode를 더 확장 가능하고 명시적으로 만들어 줄지도 모릅니다...\\n\\n그 일이 일어나기 전까지는, Xcode의 편리함을 받아들이고 그에 따르는 부채를 감수할지, 아니면 더 나은 개발자 경험을 제공하기 위해 우리를 믿고 따라올지 결정해야 합니다.\\n우린 당신을 실망시키지 않습니다.\\n\",\"title\":\"The cost of convenience\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/cost-of-convenience\",\"LLMS_URL\":\"/ko/guides/features/projects/cost-of-convenience.md\",\"title\":\"The cost of convenience\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Xcode에서 편의성의 비용에 대해 알아보고 Tuist는 이 문제를 어떻게 예방하는지 배워봅니다.\"}},{\"path\":\"/ko/guides/features/projects/dependencies.md\",\"url\":\"/ko/guides/features/projects/dependencies\",\"llmUrl\":\"/ko/guides/features/projects/dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/dependencies\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/dependencies.md\\\"\\ntitle: \\\"Dependencies\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Tuist 프로젝트에서 의존성을 선언하는 방법을 알아보세요.\\\"\\n---\\n\\n# 의존성 {#dependencies}\\n\\n프로젝트 규모가 커지면 코드를 공유하고, 경계를 명확히 하며, 빌드 시간을 개선하기 위해 여러 타겟으로 나누는 것이 일반적입니다.\\n여러 target으로 나누게 되면 이들 사이의 의존 관계를 정의하여 **의존성 그래프**가 만들어지며, 여기에는 외부 의존성도 포함될 수 있습니다.\\n\\n## XcodeProj-codified graphs {#xcodeprojcodified-graphs}\\n\\nXcode와 XcodeProj의 설계 특성상 의존성 그래프를 관리하는 일은 번거롭고 실수하기 쉬운 작업이 될 수 있습니다.\\n발생할 수 있는 문제들을 예로 들어보면 다음과 같습니다:\\n\\n- Xcode의 빌드 시스템은 프로젝트의 모든 산출물을 derived data 내 동일한 디렉터리에 저장하기 때문에, 이로 인해 각 타겟이 원래 사용해서는 안 되는 다른 target의 산출물을 import할 수 있습니다. 클린 빌드가 더 흔하게 사용되는\\u001d CI 환경이나, 나중에 다른 구성을 사용할 때 컴파일이 실패할 수 있습니다.\\n- 타겟의 전이적 동적 의존성들(transitive dynamic dependencies)은 `LD_RUNPATH_SEARCH_PATHS` 빌드 설정에 포함된 모든 디렉터리에 복사되어야 합니다. 이렇게 해당 의존성들이 복사되지 않으면, 타겟이 런타임에 의존성을 찾을 수 없습니다. 의존성 그래프가 간단할 때는\\u001d 생각하고 설정하기 쉽지만, 그래프가 복잡해질수록 문제가 됩니다.\\n- target이 정적 [XCFramework](https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle)를 링크할 때, Xcode가 번들을 처리하고 현재 플랫폼과 아키텍처에 맞는 바이너리를 추출할 수 있도록 추가 빌드 페이즈(Build Phase)가 필요합니다. 이 build phase는 자동으로 추가되지 않으며, 추가하는 것을 쉽게 잊어버릴 수 있습니다.\\n\\n위의 내용들은 몇 가지 예시에 불과하며, 우리는 수년간 이보다 더 많은 문제들을 겪어왔습니다.\\n의존성 그래프를 관리하고 유효성을 검증하기 위해\\u001d 엔지니어 팀이 필요하다고 상상해보세요.\\n더 안 좋은 경우는\\u001d, 제어하거나 커스터마이즈할 수 없는 빌드 시스템(closed-source build system)이 빌드 시점에 이러한 복잡한 세부 사항을 해결하는 경우입니다.\\n어디서 많이 들어본 것 같지 않나요? 이 방식은 Apple이 Xcode와 XcodeProj에서 채택한 접근 방식이며, Swift Package Manager도 그대로 채택하고 있습니다.\\n\\n의존성 그래프는 반드시 **명시적**이고 **\\u001d정적**이어야 합니다. 그래야 **검증**되고 **최적화**될 수 있기 때문이죠.\\nTuist와 함께라면, 의존 관계를 정의하는데만 집중하세요. 나머지는 저희가 알아서 처리할게요.\\n복잡한 세부 구현 사항들은 추상화되어 신경 쓸 필요가 없습니다.\\n\\n다음 섹션에서는 프로젝트에서 의존성을 선언하는 방법을 알아보겠습니다.\\n\\n> [!TIP] 그래프 검증\\n> Tuist는 프로젝트를 생성할 때 그래프를 검증하여 순환이 없고 모든 의존성이 유효한지 확인합니다. 덕분에 어떤 팀이든 그래프가 깨질 걱정 없이 의존성 그래프를 발전시킬 수 있습니다.\\n\\n## 로컬 의존성 {#local-dependencies}\\n\\nTarget은 같은 프로젝트나 다른 프로젝트의 타겟, 그리고 바이너리에 의존할 수 있습니다.\\n`Target`을 생성할 때, `dependencies ` 아규먼트에 다음과 같은 옵션들을 전달할 수 있습니다:\\n\\n- `Target`: 같은 프로젝트에 있는 타겟을 의존성으로 선언합니다.\\n- `Project`: 다른 프로젝트에 있는 타겟을 의존성\\b으로 선언합니다.\\n- `Framework`: 바이너리 프레임워크에 대한\\u001d 의존성을 선언합니다.\\n- `Library`: 바이너리 라이브러리에 대한 의존성을 선언합니다.\\n- `XCFramework`: 바이너리 XCFramework에 대한 의존성을 선언합니다.\\n- `SDK`: 시스템 SDK에 대한 의존성을 선언합니다.\\n- `XCTest`: XCTest에 대한 의존성을 선언합니다.\\n\\n> [!NOTE] 의존성 조건\\n> 모든 의존성 유형은 플랫폼에 따라 의존성을 조건부로 연결하기 위한 `condition` 옵션을 허용합니다. 기본적으로, 타겟이 지원하는 모든 플랫폼에 대해 의존성이 연결됩니다.\\n\\n## 외부 의존성 {#external-dependencies}\\n\\nTuist는 프로젝트에서 외부 의존성을 선언할 수 있습니다.\\n\\n### Swift Packages {#swift-packages}\\n\\nSwift Packages는 프로젝트에서 의존성을 선언하는 권장 방법입니다.\\nXcode의 기본 통합 메커니즘을 사용하거나 Tuist의 XcodeProj 기반 통합을 통해 이를 통합할 수 있습니다.\\n\\n#### Tuist의 XcodeProj 기반 통합 {#tuists-xcodeprojbased-integration}\\n\\nXcode의 기본 통합이 가장 편리하긴 하지만, 중간 규모 및 대형 프로젝트에서 필요한 유연성과 제어 기능이 부족합니다.\\n이를 극복하기 위해 Tuist는 XcodeProj 기반 통합을 제공하여 XcodeProj의 target을 사용해 프로젝트에 Swift 패키지를 통합할 수 있도록 합니다.\\n덕분에, 통합에 대한 더 많은 제어를 제공할 뿐만 아니라, 캐싱 및 선택적 테스트 수행과 같은 워크플로우와도 호환될 수 있습니다.\\n\\nXcodeProj의 통합은 새로운 Swift Package 기능을 지원하거나 더 많은 Package 구성을 처리하는데 시간이 더 걸릴 가능성이 큽니다. 하지만 Swift Packages와 XcodeProj target 간의 매핑 로직은 오픈소스이며, 커뮤니티에서 기여할 수 있습니다. 이는 Apple이 관리하는 비공개 소스인 Xcode의 기본 통합 방식과는 대조됩니다.\\n\\n외부 의존성을 추가하려면 `Tuist/` 디렉터리나 프로젝트 루트에 `Package.swift` 파일을 생성해야 합니다.\\n\\n::: code-group\\n\\n```swift [Tuist/Package.swift]\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n import ProjectDescriptionHelpers\\n\\n let packageSettings = PackageSettings(\\n productTypes: [\\n \\\"Alamofire\\\": .framework, // default is .staticFramework\\n ]\\n )\\n\\n#endif\\n\\nlet package = Package(\\n name: \\\"PackageName\\\",\\n dependencies: [\\n .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n ],\\n targets: [\\n .binaryTarget(\\n name: \\\"Sentry\\\",\\n url: \\\"https://github.com/getsentry/sentry-cocoa/releases/download/8.40.1/Sentry.xcframework.zip\\\",\\n checksum: \\\"db928e6fdc30de1aa97200576d86d467880df710cf5eeb76af23997968d7b2c7\\\"\\n ),\\n ]\\n)\\n```\\n\\n:::\\n\\n> [!TIP] PACKAGE SETTINGS\\n> 컴파일러 지시문으로 감싼 `PackageSettings` 인스턴스를 통해 패키지 통합 방식을 설정할 수 있습니다. 예를 들어, 위 예시에서는 packages에 사용되는 기본 product type을 재정의하는 데 사용됩니다. 기본적으로는, 필요하지 않을 것입니다.\\n\\n`Package.swift` 파일은 외부 의존성을 선언하기 위한 인터페이스일 뿐, 그 외의 역할은 하지 않습니다. 그래서 package에는 target이나 product를 정의하지 않습니다. 의존성을 정의한 후에는, 다음 명령어를 실행하여 의존성을 `Tuist/Dependencies` 디렉터리에 설정하고 가져올 수 있습니다.\\n\\n```bash\\ntuist install\\n# Resolving and fetching dependencies. {#resolving-and-fetching-dependencies}\\n# Installing Swift Package Manager dependencies. {#installing-swift-package-manager-dependencies}\\n```\\n\\n눈치채셨겠지만, 저희는 [CocoaPods](https://cocoapods.org)'처럼 의존성 해석을 별도의 명령어로 분리하는 방식을 채택했습니다. 이렇게 하면 사용자가 원하는 시점에 의존성을 해석하고 업데이트할 수 있으며, Xcode에서 프로젝트를 열었을 때 바로 컴파일할 수 있는 상태가 됩니다. 이것은 프로젝트가 커질수록 Apple에서 제공하는 Swift Package Manager 통합 방식에서 개발자 경험이 저하되는 부분입니다.\\n\\n프로젝트의 타겟에서 `TargetDependency.external` 의존성 타입을 사용하여 이러한 의존성을 참조할 수 있습니다:\\n\\n::: code-group\\n\\n```swift [Project.swift]\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"App\\\",\\n organizationName: \\\"tuist.io\\\",\\n targets: [\\n .target(\\n name: \\\"App\\\",\\n destinations: [.iPhone],\\n product: .app,\\n bundleId: \\\"io.tuist.app\\\",\\n deploymentTargets: .iOS(\\\"13.0\\\"),\\n infoPlist: .default,\\n sources: [\\\"Targets/App/Sources/**\\\"],\\n dependencies: [\\n .external(name: \\\"Alamofire\\\"), // [!code ++]\\n ]\\n ),\\n ]\\n)\\n```\\n\\n:::\\n\\n> [!NOTE] 외부 패키지에 대한 scheme이 생성되지 않음\\n> Swift Package 프로젝트의 scheme 목록을 깔끔하게 유지하기 위해 **scheme**이 자동으로 생성되지 않습니다. Xcode의 UI를 통해 생성할 수 있습니다.\\n\\n#### Xcode의 기본 통합 {#xcodes-default-integration}\\n\\nXcode의 기본 통합 메커니즘을 사용하려면\\u001d 프로젝트를 생성할 때 `packages` 목록을 전달하면 됩니다:\\n\\n```swift\\nlet project = Project(name: \\\"MyProject\\\", packages: [\\n .remote(url: \\\"https://github.com/krzyzanowskim/CryptoSwift\\\", requirement: .exact(\\\"1.8.0\\\"))\\n])\\n```\\n\\n그런 다음 target에서 참조하면 됩니다.\\n\\n```swift\\nlet target = .target(name: \\\"MyTarget\\\", dependencies: [\\n .package(product: \\\"CryptoSwift\\\", type: .runtime)\\n])\\n```\\n\\nSwift Macro와 Build Tool Plugin의 경우 각각 `.macro`와 `.plugin` type을\\u001d 사용해야 합니다.\\n\\n> [!WARNING] SPM Build Tool Plugins\\n> Tuist의 [XcodeProj 기반 통합](#tuist-s-xcodeproj-based-integration)을 사용해 프로젝트의 의존성을 관리하더라도, SPM build tool plugin은 반드시 [Xcode의 기본 통합](#xcode-s-default-integration) 메커니즘을 통해 선언해야 합니다.\\n\\nSPM 빌드 도구 플러그인의 실용적인 활용 사례는 Xcode의 'Run Build Tool Plug-ins' Build Phase에서 코드 린팅을 수행하는 것입니다. package manifest에서는 다음과 같이 정의됩니다:\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\nlet package = Package(\\n name: \\\"Framework\\\",\\n products: [\\n .library(name: \\\"Framework\\\", targets: [\\\"Framework\\\"]),\\n ],\\n dependencies: [\\n .package(url: \\\"https://github.com/SimplyDanny/SwiftLintPlugins\\\", .upToNextMajor(from: \\\"0.56.1\\\")),\\n ],\\n targets: [\\n .target(\\n name: \\\"Framework\\\",\\n plugins: [\\n .plugin(name: \\\"SwiftLint\\\", package: \\\"SwiftLintPlugin\\\"),\\n ]\\n ),\\n ]\\n)\\n```\\n\\nbuild tool plugin이 포함된 Xcode 프로젝트를 생성하려면, 프로젝트 manifest의 `packages` 배열에 package를 선언하고, target의 dependencies에 `.plugin` 타입의 package를 포함해야 합니다.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"Framework\\\",\\n packages: [\\n .remote(url: \\\"https://github.com/SimplyDanny/SwiftLintPlugins\\\", requirement: .upToNextMajor(from: \\\"0.56.1\\\")),\\n ],\\n targets: [\\n .target(\\n name: \\\"Framework\\\",\\n dependencies: [\\n .package(product: \\\"SwiftLintBuildToolPlugin\\\", type: .plugin),\\n ]\\n ),\\n ]\\n)\\n```\\n\\n### Carthage {#carthage}\\n\\n[Carthage](https://github.com/carthage/carthage)는 `frameworks` 또는 `xcframeworks`를 생성하므로, `carthage update` 명령어를 실행해 `Carthage/Build` 디렉토리에 의존성들을 생성한 후, `.framework` 또는 `.xcframework` target dependency type을 사용하여 대상에서 의존성을 선언할 수 있습니다. 이 과정을 다음과 같이 스크립트로 작성하여 프로젝트 생성 전에 실행할 수 있습니다.\\n\\n```bash\\n#!/usr/bin/env bash\\n\\ncarthage update\\ntuist generate\\n```\\n\\n> [!WARNING] 빌드 및 테스트\\n> `tuist build`와 `tuist test`를 통해 프로젝트를 빌드하고 테스트하는 경우, `tuist build` 또는 `tuist build`를 실행하기 전에 `carthage update` 명령어를 실행하여 Carthage로 해결된 의존성들이 존재하는지 확인해야 합니다.\\n\\n### CocoaPods {#cocoapods}\\n\\n[CocoaPods](https://cocoapods.org)은 의존성을 통합하기 위해 Xcode 프로젝트가 필요합니다. Tuist를 사용하여 프로젝트를 생성한 후, `pod install` 명령어를 실행하여 프로젝트와 Pods 의존성이 포함된 workspace를 생성함으로써 의존성을 통합할 수 있습니다. 이 과정을 다음과 같이 스크립트로 작성하여 프로젝트 생성 전에 실행할 수 있습니다.\\n\\n```bash\\n#!/usr/bin/env bash\\n\\ntuist generate\\npod install\\n```\\n\\n> [!WARNING]\\n> CocoaPods 의존성은 프로젝트 생성 직후 `xcodebuild`를 실행하는 `build` 또는 `test`와 같은 workflow와 호환되지 않습니다. 또한, Pods 의존성을 fingerprinting logic에서 고려하지 않기 때문에, binary caching 및 selective testing과도 호환되지 않습니다.\\n\\n## Static or dynamic {#static-or-dynamic}\\n\\nFramework와 Library는 정적(static) 또는 동적(dynamic)으로 링크할 수 있으며, **이는 앱 크기와 실행 시간과 같은 부분에 크게 영향을 미칩니다.** 이것은 중요한 결정임에도 불구하고, 대부분은 깊\\u001d이 고려되지 않고 선택됩니다. 이것은 중요한 결정임에도 불구하고, 대부분은 깊\\u001d이 고려되지 않고 선택됩니다.\\n\\n**일반적인 규칙**은 빠른 실행 시간을 위해 릴리즈 빌드에서는 최대한 많은 항목을 정적으로 링크하고, 빠른 반복 작업을 위해 디버그 빌드에서는 최대한 많은 항목을 동적으로 링크하는 것입니다.\\n\\nXcode에서 프로젝트 그래프의 링크 방식(static <-> dynamic)을 변경하는 것은 전체 그래프에 영향을 미치기 때문에 간단하지 않습니다 (예: 라이브러리는 리소스를 포함할 수 없고, 정적 프레임워크는 임베드가 불필요함). Apple은 Swift Package Manager의 정적 및 동적 링크 자동 결정이나 [Mergeable Libraries](https://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries)와 같은 컴파일 타임 솔루션을 통해 이 문제를 해결하려고 했습니다. 그러나, 이는 컴파일 그래프에 새로운 동적 변수들을 추가하여 비결정적 요소를 증가시키며, Swift Previews와 같이 컴파일 그래프에 의존하는 기능들이\\u001d\\u001d 불안정해질 가능성을 높입니다.\\n\\n다행히도, Tuist는 정적 및 동적 링크 간의 변경과 관련된 복잡성을 개념적으로 단순화하고, 링크 타입과 관계없이 표준화된 bundle accessors를 생성합니다. 환경 변수를 통한 동적 구성과 함께 사용하면 호출 시점에 링크 타입을 전달할 수 있으며, 이 값을 manifest에서 사용해 target의 product 타입을 설정할 수 있습니다.\\n\\n```swift\\n// Use the value returned by this function to set the product type of your targets.\\nfunc productType() -> Product {\\n if case let .string(linking) = Environment.linking {\\n return linking == \\\"static\\\" ? .staticFramework : .framework\\n } else {\\n return .framework\\n }\\n}\\n```\\n\\nTuist는 비용 문제로 인해 암시적 구성(implicit configuration)을 통한 편의성을 기본값으로 제공하지 않는 점을 참고하세요. 이는 최종 바이너리가 올바르게 생성되기 위해 사용자가 직접 링크 타입과 [`-ObjC` linker flag](https://github.com/pointfreeco/swift-composable-architecture/discussions/1657#discussioncomment-4119184) 같은 추가 빌드 설정을 해야한다는 뜻입니다. 따라서, 우리는 주로 문서 형태의 자료를 제공하여 사용자가 올바른 결정을 내릴 수 있도록 돕는 방식을 취하고 있습니다.\\n\\n> [!TIP] 예시: COMPOSABLE ARCHITECTURE\\n> 많은 프로젝트에서 사용하는 Swift Package로는 [Composable Architecture](https://github.com/pointfreeco/swift-composable-architecture)가 있습니다. [여기](https://github.com/pointfreeco/swift-composable-architecture/discussions/1657#discussioncomment-4119184)와 [troubleshooting section](#troubleshooting)에 설명된 대로, package를 정적\\b으로 링크할 때는 `OTHER_LDFLAGS` 빌드 설정을 `$(inherited) -ObjC`로 설정해야 합니다. Tuist의 기본 링크 방식이 정적 링크이기 때문입니다. 다른 방법으로는, package의 product type을 동적으로 override할 수 있습니다.\\n\\n### 시나리오 {#scenarios}\\n\\n링크 방식을 전부 정적 또는 동적으로만 설정하는 것이 불가능하거나 적절하지 않은 경우가 있습니다. 다음은 정적 및 동적 링크를 혼합해야 할 수 있는 상황들의 예입니다:\\n\\n- **확장 기능이 포함된 앱:** 앱과 확장 기능이 코드를 공유해야 하기 때문에, target들을 동적으로 만들어야할 수 있습니다. 그렇지 않으면, 동일한 코드가 앱과 확장 기능 모두에 중복되어 바이너리 크기가 커지게 됩니다.\\n- **사전에 컴파일된 외부 의존성**: 때로는 정적 또는 동적으로 미리 컴파일된 바이너리가 제공되기도 합니다. 정적 바이너리는 동적으로 링크하기 위해 동적 프레임워크나 라이브러리로 감쌀 수 있습니다.\\n\\n그래프를 변경할 때, Tuist는 이를 분석하여 \\\"static side effect\\\"를 감지하면 경고를 표시합니다. 이 경고는 동적 target을 통해 정적 target에 전이적으로 의존하는 target을 정적으로 링크할 때 발생할 수 있는 문제를 식별하는 데 도움을 줍니다. 이러한 side effect는 종종 바이너리 크기 증가로 나타나거나, 최악의 경우 런타임 크래시가 발생할 수 있습니다.\\n\\n## 문제 해결 {#troubleshooting}\\n\\n### Objective-C 의존성 {#objectivec-dependencies}\\n\\nObjective-C 의존성을 통합할 때, [Apple Technical Q&A QA1490](https://developer.apple.com/library/archive/qa/qa1490/_index.html)에서 자세히 설명된 대로 런타임 크래시를 방지하기 위해 사용하는 target에 특정 flag를 포함해야 할 수 있습니다.\\n\\n빌드 시스템과 Tuist는 flag가 필요한지\\u001c여부를 추론할 수 없고, 이 flag가 잠재적으로 원치 않는 side effect를 발생시킬 수 있기 때문에, Tuist는 이러한 플래그들을 자동으로 적용하지 않습니다. 또한, Swift Package Manager는 `-ObjC`를 `.unsafeFlag`를 통해 포함되는 것으로 간주하기 때문에, 대부분의 package는 필요한 경우에도 이를 기본 링크 설정의 일부로 포함할 수 없습니다.\\n\\nObjective-C 의존성(또는 내부 Objective-C target)을 사용하는 target은 필요할 경우 `OTHER_LDFLAGS`에 `-ObjC` 또는 `-force_load` flag를 설정하여 적용해야 합니다.\\n\\n### Firebase & Other Google Libraries {#firebase-other-google-libraries}\\n\\nGoogle의 오픈 소스 라이브러리는 강력하지만, 종종 일반적이지 않은 아키텍처와 기술로 빌드되기 때문에 Tuist에 통합하기 어려울 수 있습니다.\\n\\n다음은 Firebase와 Google의 다른 Apple 플랫폼 라이브러리들을 통합하기 위해 필요할 수 있는 몇 가지 팁입니다:\\n\\n#### `OTHER_LDFLAGS`에 `-ObjC`가 추가되었는지 확인하세요 {#ensure-objc-is-added-to-other_ldflags}\\n\\nGoogle의 라이브러리 중 다수는 Objective-C로 작성되어 있습니다. 이로 인해, 사용하는 모든 target은 `OTHER_LDFLAGS` 빌드 설정에 `-ObjC` flag를 포함해야 합니다. 이는 `.xcconfig` 파일에서 설정하거나 Tuist manifest 파일에서 내의 target 설정에서 직접 지정할 수 있습니다. 예시:\\n\\n```swift\\nTarget.target(\\n ...\\n settings: .settings(\\n base: [\\\"OTHER_LDFLAGS\\\": \\\"$(inherited) -ObjC\\\"]\\n )\\n ...\\n)\\n```\\n\\n자세한 내용은 [Objective-C Dependencies](#objective-c-dependencies) 섹션을 참고하세요.\\n\\n#### `FBLPromises` product type을 동적 프레임워크로 설정하기 {#set-the-product-type-for-fblpromises-to-dynamic-framework}\\n\\n일부 Google 라이브러리는 Google의 또 다른 라이브러리인 `FBLPromises`에 의존합니다. `FBLPromises`와 관련된 다음과 같은 크래시가 발생할 수 있습니다:\\n\\n```\\nNSInvalidArgumentException. Reason: -[FBLPromise HTTPBody]: unrecognized selector sent to instance 0x600000cb2640.\\n```\\n\\n`Package.swift` 파일에서 `FBLPromises`의 product type을 `.framework`로 명시적으로 설정하면 이 문제가 해결될 것입니다:\\n\\n```swift [Tuist/Package.swift]\\n// swift-tools-version: 5.10\\n\\nimport PackageDescription\\n\\n#if TUIST\\nimport ProjectDescription\\nimport ProjectDescriptionHelpers\\n\\nlet packageSettings = PackageSettings(\\n productTypes: [\\n \\\"FBLPromises\\\": .framework,\\n ]\\n)\\n#endif\\n\\nlet package = Package(\\n...\\n```\\n\\n### `.swiftmodule`에서 발생하는\\u001d 전이적 정적 의존성 문제 {#transitive-static-dependencies-leaking-through-swiftmodule}\\n\\n동적 프레임워크나 라이브러리가 `import StaticSwiftModule`을 통해 정적 모듈에 의존하는 경우, 해당 심볼이 동적 프레임워크나 라이브러리의 `.swiftmodule`에 포함되어 컴파일 오류가 발생할 수 있습니다. 이것을 방지하기 위해 정적 의존성을 <0>`internal import`0>를 사용하여 임포트해야 합니다:\\n\\n```swift\\ninternal import StaticModule\\n```\\n\\n> [!NOTE]\\\\\\n> Swift 6에서 임포트에 대한 접근 수준이 추가되었습니다. Swift 6 이전 버전을 사용 중이라면, `@_implementationOnly`을 사용합니다:\\n\\n```swift\\n@_implementationOnly import StaticModule\\n```\\n\",\"title\":\"Dependencies\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/dependencies\",\"LLMS_URL\":\"/ko/guides/features/projects/dependencies.md\",\"title\":\"Dependencies\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Tuist 프로젝트에서 의존성을 선언하는 방법을 알아보세요.\"}},{\"path\":\"/ko/guides/features/projects/directory-structure.md\",\"url\":\"/ko/guides/features/projects/directory-structure\",\"llmUrl\":\"/ko/guides/features/projects/directory-structure.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/directory-structure\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/directory-structure.md\\\"\\ntitle: \\\"Directory structure\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Tuist 프로젝트의 구조와 이를 구성하는 방법에 대해 배워봅니다.\\\"\\n---\\n\\n# Directory structure {#directory-structure}\\n\\nTuist 프로젝트는 일반적으로 Xcode 프로젝트를 대체하는데 사용하지만 이 용도로만 제한하지 않습니다. Tuist 프로젝트는 SPM 패키지, 템플릿, 플러그인, 그리고 작업과 같은 다른 종류의 프로젝트를 생성하는데 사용되기도 합니다. 이 문서에서는 Tuist 프로젝트의 구조와 이를 구성하는 방법에 대해 설명합니다. 다음 섹션에서는 템플릿, 플러그인, 그리고 작업을 정의하는 방법을 살펴봅니다.\\n\\n## 표준 Tuist 프로젝트 {#standard-tuist-projects}\\n\\nTuist 프로젝트는 **Tuist로 생성하는 가장 일반적인 프로젝트 입니다.** 이 프로젝트는 앱, 프레임워크, 그리고 라이브러리 등을 빌드하는데 사용됩니다. Xcode 프로젝트와 달리, Tuist 프로젝트는 더 유연하고 유지하기 쉬운 Swift로 정의되어 있습니다. Tuist 프로젝트는 이해하고 추론하기 쉽게 더 선언적입니다. 다음 구조는 Xcode 프로젝트를 생성하는 일반적인 Tuist 프로젝트를 보여줍니다.\\n\\n```bash\\nTuist.swift\\nTuist/\\n Package.swift\\n ProjectDescriptionHelpers/\\nProjects/\\n App/\\n Project.swift\\n Feature/\\n Project.swift\\nWorkspace.swift\\n```\\n\\n- **Tuist 디렉토리:** 이 디렉토리에는 두 가지 목적이 있습니다. 먼저, **프로젝트의 루트**를 나타냅니다. This allows constructing paths relative to the root of the project, and also running Tuist commands from any directory within the project. 두 번째로, 다음 파일\\u001d을 포함하는 컨테이너 입니다:\\n - **ProjectDescriptionHelpers:** 이 디렉토리는 모든 매니페스트 파일에서 공유되는 Swift 코드를 포함합니다. 매니페스트 파일은 이 디렉토리에 정의된 코드를 사용하기 위해 `import ProjectDescriptionHelpers`을 사용할 수 있습니다. 코드 공유는 프로젝트 전체의 중복을 피하고 일관성을 유지하는데 유용합니다.\\n - **Package.swift:** 이 파일은 Tuist가 구성 가능하고 최적화할 수 있는 Xcode 프로젝트와 타겟 (예: [CocoaPods](https://cococapods)) 을 사용하여 통합하기 위한 Swift Package 의존성을 포함합니다. 여기서 더 알아봅니다.\\n\\n- **루트 디렉토리**: `Tuist` 디렉토리도 포함하는 프로젝트의 루트 디렉토리 입니다.\\n - Tuist.swift: 이 파일은 모든 프로젝트, 워크스페이스, 그리고 환경에 공유되는 Tuist에 대한 구성을 포함합니다. 예를 들어, 스킴의 자동 생성을 비활성화 하거나, 프로젝트의 배포 타겟을 정의할 수 있습니다.\\n - Workspace.swift: 이 매니페스트는 Xcode 워크스페이스를 나타냅니다. 다른 프로젝트를 그룹화 하고 파일과 스킴을 추가할 수도 있습니다.\\n - Project.swift: 이 매니페스트는 Xcode 프로젝트를 나타냅니다. 프로젝트의 타겟과 의존성을 정의합니다.\\n\\n위 프로젝트와 상호작용할 때 명령어는 작업 디렉토리나 `--path` 플래그로 나타낸 디렉토리에 `Workspace.swift` 또는 `Project.swift` 파일을 찾습니다. 이 매니페스트는 프로젝트의 루트 인 `Tuist` 디렉토리를 포함하는 디렉토리나 하위 디렉토리에 위치해야 합니다.\\n\\n> [!TIP]\\n> Xcode 워크스페이스는 병합 충돌을 줄이기 위해 Xcode 프로젝트를 여러개로 나눌 수 있습니다. 이러한 목적이 워크스페이스를 사용하는 목적이라면, Tuist에서는 워크스페이스를 사용할 필요가 없습니다. Tuist는 프로젝트와 의존성을 가진 프로젝트를 포함해 워크스페이스를 자동으로 생성합니다.\\n\\n## Swift Package {#swift-package-badge-typewarning-textbeta-}\\n\\nTuist는 SPM 패키지 프로젝트도 지원합니다. SPM 패키지를 작업하고 있다면 아무런 업데이트가 필요하지 않습니다. Tuist는 자동으로 루트 `Package.swift`를 선택하고 Tuist의 모든 기능은 `Project.swift` 매니페스트인 것처럼 동작합니다.\\n\\n시작하려면, SPM 패키지에서 `tuist install`과 `tuist generate`를 수행합니다. 이제 프로젝트는 Xcode SPM에서 볼 수 있는 동일한 스킴과 파일을 가져야 합니다. 이제 `tuist cache`도 수행할 수 있으며 대부분의 SPM 의존성과 모듈을 미리 컴파일 되어 후속 빌드가 매우 빠르게 진행됩니다.\\n\",\"title\":\"Directory structure\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/directory-structure\",\"LLMS_URL\":\"/ko/guides/features/projects/directory-structure.md\",\"title\":\"Directory structure\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Tuist 프로젝트의 구조와 이를 구성하는 방법에 대해 배워봅니다.\"}},{\"path\":\"/ko/guides/features/projects/dynamic-configuration.md\",\"url\":\"/ko/guides/features/projects/dynamic-configuration\",\"llmUrl\":\"/ko/guides/features/projects/dynamic-configuration.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/dynamic-configuration\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/dynamic-configuration.md\\\"\\ntitle: \\\"Dynamic configuration\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"프로젝트를 동적 구성하기 위해 환경 변수를 사용하는 방법을 배워봅니다.\\\"\\n---\\n\\n# Dynamic configuration {#dynamic-configuration}\\n\\n프로젝트 생성 시점에 프로젝트를 동적으로 구성 해야하는 경우가 있습니다. 예를 들어, 프로젝트가 생성되는 환경에 따라 앱 이름, 번들 식별자, 또는 배포 타겟을 변경해야 되는 경우가 있습니다. Tuist는 매니페스트 파일에서 접근될 수 있는 환경 변수를 통해 동적 구성을 지원합니다.\\n\\n## 환경 변수를 통한 구성 {#configuration-through-environment-variables}\\n\\nTuist는 매니페스트 파일에서 접근될 수 있는 환경 변수를 통해 구성을 전달합니다. 예를 들어:\\n\\n```bash\\nTUIST_APP_NAME=MyApp tuist generate\\n```\\n\\n여러 환경 변수를 전달하려면 공백으로 구분해서 전달하면 됩니다. 예를 들어:\\n\\n```bash\\nTUIST_APP_NAME=MyApp TUIST_APP_LOCALE=pl tuist generate\\n```\\n\\n## 매니페스트에서 환경 변수 읽기 {#reading-the-environment-variables-from-manifests}\\n\\n변수는 `Environment` 타입을 사용하여 접근할 수 있습니다. `TUIST_XXX` 형식으로 환경에 정의되거나 명령어 수행 시 Tuist에 전달되면 `Environment` 타입을 사용하여 접근할 수 있습니다. 다음의 예제는 `TUIST_APP_NAME` 변수에 어떻게 접근하는지 보여줍니다:\\n\\n```swift\\nfunc appName() -> String {\\n if case let .string(environmentAppName) = Environment.appName {\\n return environmentAppName\\n } else {\\n return \\\"MyApp\\\"\\n }\\n}\\n```\\n\\n변수에 접근하면 다음의 값 중에 하나인 `Environment.Value?` 타입의 인스턴스를 반환합니다:\\n\\n| Case | Description |\\n| ----------------- | ------------------------------------- |\\n| `.string(String)` | 변수가 문자열을 나타낼 때 사용됩니다. |\\n\\n아래 정의된 메서드 중 하나를 사용하여 문자열 또는 불리언 `Environment` 변수를 가져올 수 있으며, 이 메서드는 매번 일관된 결과를 얻을 수 있도록 기본값을 전달해야 합니다. 이것은 위에 정의된 appName() 함수를 정의할 필요성을 없애줍니다.\\n\\n::: code-group\\n\\n```swift [String]\\nEnvironment.appName.getString(default: \\\"TuistServer\\\")\\n```\\n\\n```swift [Boolean]\\nEnvironment.isCI.getBoolean(default: false)\\n```\\n\\n:::\\n\",\"title\":\"Dynamic configuration\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/dynamic-configuration\",\"LLMS_URL\":\"/ko/guides/features/projects/dynamic-configuration.md\",\"title\":\"Dynamic configuration\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"프로젝트를 동적 구성하기 위해 환경 변수를 사용하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/features/projects/editing.md\",\"url\":\"/ko/guides/features/projects/editing\",\"llmUrl\":\"/ko/guides/features/projects/editing.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/editing\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/editing.md\\\"\\ntitle: \\\"Editing\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Xcode의 빌드 시스템과 편집기 기능을 활용하여 프로젝트를 선언하기 위한 Tuist의 편집 워크플로우에 대해 배워봅니다.\\\"\\n---\\n\\n# Editing {#editing}\\n\\nXcode의 UI를 통해 변경되는 기존 Xcode 프로젝트와 Swift Package와 달리, Tuist로 관리되는 프로젝트는 매니페스트 파일에 포함된 Swift 코드로 정의됩니다.\\nSwift Package와 `Package.swift` 파일에 익숙하다면, 이 방식은 매우 유사합니다.\\n\\n어떤 편집기로도 이 파일을 수정할 수 있지만, 우리는 Tuist에서 제공하는 워크플로우인 `tuist edit`를 사용하길 권장합니다.\\n이 워크플로우는 모든 매니페스트 파일을 포함하는 Xcode 프로젝트를 생성하고 이를 수정하고 컴파일 할 수 있도록 합니다.\\nXcode를 사용하면 **코드 완성, 구문 강조, 그리고 오류 검사**의 모든 이점을 얻을 수 있습니다.\\n\\n## 프로젝트 수정하기 {#edit-the-project}\\n\\n프로젝트를 수정하려면 Tuist 프로젝트 디렉토리 또는 그 하위 디렉토리에서 다음의 명령어를 수행해야 합니다:\\n\\n```bash\\ntuist edit\\n```\\n\\n이 명령어는 전역 디렉토리에 Xcode 프로젝트를 생성하고 Xcode에서 이 프로젝트를 엽니다.\\n프로젝트는 모든 매니페스트가 유효한지 확인하기 위해 빌드 할 수 있는 `Manifests` 디렉토리를 포함합니다.\\n\\n> [!INFO] GLOB-RESOLVED MANIFESTS\\\\\\n> `tuist edit`는 프로젝트의 루트 디렉토리 (`Tuist.swift` 파일을 포함하는 디렉토리) 에서 glob `**/{Manifest}.swift`를 사용하여 포함될 매니페스트를 해결합니다. 프로젝트 루트에 유효한 `Tuist.swift`가 있는지 확인해야 합니다.\\n\\n## 워크플로우 수정과 생성 {#edit-and-generate-workflow}\\n\\n이미 알고 있듯이, 이미 생성된 Xcode 프로젝트는 편집이 불가능 합니다.\\n이것은 생성된 프로젝트가 Tuist에 의존 하지 않도록 설계되어 있으며, 나중에 Tuist를 쉽게 걷어낼 수 있도록 합니다.\\n\\n프로젝트를 반복적으로 수정할 때, 터미널 세션에서 `tuist edit`를 수행하여 편집할 수 있는 Xcode 프로젝트를 열고, 다른 터미널 세션에서 `tuist generate`를 수행하길 권장합니다.\\n\",\"title\":\"Editing\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/editing\",\"LLMS_URL\":\"/ko/guides/features/projects/editing.md\",\"title\":\"Editing\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Xcode의 빌드 시스템과 편집기 기능을 활용하여 프로젝트를 선언하기 위한 Tuist의 편집 워크플로우에 대해 배워봅니다.\"}},{\"path\":\"/ko/guides/features/projects/hashing.md\",\"url\":\"/ko/guides/features/projects/hashing\",\"llmUrl\":\"/ko/guides/features/projects/hashing.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/hashing\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/hashing.md\\\"\\ntitle: \\\"Hashing\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"바이너리 캐싱과 선택적 테스트 기능의 기반이 되는 Tuist의 해싱 로직에 대해 배워봅니다.\\\"\\n---\\n\\n# Hashing {#hashing}\\n\\n캐싱이나 선택적 테스트 수행과 같은 기능은 타겟이 변경되었는지 확인하는 방법이 필요합니다. Tuist는 타겟이 변경되었는지 확인하기 위해 의존성 그래프에서 각 타겟의 해시를 계산합니다. 해시는 다음의 속성을 기반으로 계산됩니다:\\n\\n- 타겟의 속성 (예: 이름, 플랫폼, 결과물 등)\\n- 타겟의 파일\\n- 타겟 의존성의 해시\\n\\n### 캐시 속성 {#cache-attributes}\\n\\n추가로 캐싱에 대한 해시를 계산할 때, 다음 속성도 해시합니다.\\n\\n#### Swift 버전 {#swift-version}\\n\\n`/usr/bin/xcrun swift --version` 명령어를 수행하여 얻은 Swift 버전을 해시하여, 타겟과 바이너리 간의 Swift 버전 불일치로 인한 컴파일 오류를 방지합니다.\\n\\n> [!NOTE] 모듈 안정성\\n> 이전 버전의 바이너리 캐싱은 `BUILD_LIBRARY_FOR_DISTRIBUTION` 빌드 설정에 의존하여 [모듈 안정성](https://www.swift.org/blog/library-evolution#enabling-library-evolution-support)을 활성화하고 모든 컴파일러 버전에서 바이너리를 사용할 수 있도록 합니다. 하지만 모듈 안정성을 지원하지 않는 타겟을 가지는 프로젝트에서 컴파일 문제가 발생합니다. 생성된 바이너리는 컴파일에 사용한 Swift 버전에 바인딩되고 Swift 버전은 프로젝트를 컴파일하는 버전과 일치해야 합니다.\\n\\n#### 구성 {#configuration}\\n\\n`-configuration` 플래그는 디버그 바이너리가 릴리즈 빌드에서 사용되지 않게 하고 릴리즈 바이너리가 디버그 빌드에서 사용되지 않게 하는 것입니다. 하지만 여전히 프로젝트에서 다른 구성을 제거하여 사용되지 않게 하는 메커니즘은 부족합니다.\\n\\n## 디버깅 {#debugging}\\n\\n환경이나 호출 간에 캐싱을 사용할 때 의도치 않은 동작이 발생한다면, 이것은 환경 간의 차이나 해싱 로직의 버그와 관련이 있을 수 있습니다. 문제를 디버그 하기 위해 다음의 동작을 권장합니다:\\n\\n1. 모든 환경에서 동일한 [구성](#configuration) 과 [Swift 버전](#swift-version) 이 사용되었는지 확인합니다.\\n2. 두 번 연속으로 `tuist generate`를 호출하여 생성된 Xcode 프로젝트 간의 차이점이나 환경 간의 차이점을 확인합니다. 프로젝트를 비교하기 위해 `diff` 명령어를 사용할 수 있습니다. 생성된 프로젝트에는 해싱 로직이 의도치 않은 동작을 야기시키는 **절대 경로**가 포함될 수 있습니다.\\n\\n> [!NOTE] 디버깅 경험 개선 계획\\n> 디버깅 경험 개선은 로드맵에 포함되어 있습니다. 차이를 이해하기 어려운 print-hashes 명령어는 해시 간의 차이점을 트리 구조로 보여주는 사용자 친화적인 명령어로 대체될 예정입니다.\\n\",\"title\":\"Hashing\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/hashing\",\"LLMS_URL\":\"/ko/guides/features/projects/hashing.md\",\"title\":\"Hashing\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"바이너리 캐싱과 선택적 테스트 기능의 기반이 되는 Tuist의 해싱 로직에 대해 배워봅니다.\"}},{\"path\":\"/ko/guides/features/projects/inspect/implicit-dependencies.md\",\"url\":\"/ko/guides/features/projects/inspect/implicit-dependencies\",\"llmUrl\":\"/ko/guides/features/projects/inspect/implicit-dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/inspect/implicit-dependencies\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/inspect/implicit-dependencies.md\\\"\\ntitle: \\\"Implicit imports\\\"\\ntitleTemplate: \\\":title · Inspect · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use Tuist to find implicit dependencies.\\\"\\n---\\n\\n# 암시적 임포트 {#implicit-imports}\\n\\nApple은 순수 Xcode 프로젝트의 그래프 관리 복잡성을 줄이기 위해, 의존성을 암시적으로 정의할 수 있는 방식으로 빌드 시스템을 설계했습니다. 이는 앱과 같은 프로덕트가\\u001d 의존성을 명시적으로 선언하지 않아도 프레임워크에 의존성을 가질 수 있다는 뜻입니다. \\u001d소규모 프로젝트에서는 문제없을 수 있지만, 프로젝트 그래프의 복잡성이 증가함에 따라 이러한 암시적인 방식 때문에 증분 빌드가 불안정해지거나 프리뷰, 코드 자동완성 같은 에디터 기능이 제대로 작동하지 않을 수 있습니다.\\n\\n문제는 이러한 암시적 의존성의 발생을 막을 방법이 없다는 것입니다. 어떤 개발자든 `import`문을 Swift 코드에 추가할 수 있으며, 이를 통해 암시적 의존성이 생성되기 때문입니다. 이때 Tuist가 등장합니다. Tuist는 프로젝트 내 코드를 정적 분석하여 암시적 의존성을 검사할 수 있는 명령어를 제공합니다. 다음 명령어는 프로젝트의 암시적 종속성을 출력합니다:\\n\\n```bash\\ntuist inspect implicit-imports\\n```\\n\\n해당 명령어가 암시적 임포트를 발견할 경우, 0이 아닌 종료 코드와 함께 종료됩니다.\\n\\n> [!TIP] CI에서의 검증\\n> 새로운 코드가 upstream으로 push될 때마다 이 명령어를 CI(continuous intergration) 명령의 일부로 실행할 것을 강력히 권장합니다.\\n\\n> [!IMPORTANT] 모든 암시적 경우가 감지되는 것은 아닙니다.\\n> Tuist는 암시적 의존성을 감지하기 위해 정적 코드 분석에 의존하므로, 모든 경우를 찾아내지 못할 수 있습니다. 예를 들어, Tuist는 코드에서 컴파일러 지시문(compiler directives)을 통한 조건부 임포트(conditional imports)를 이해할 수 없습니다.\\n\",\"title\":\"Implicit imports\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/inspect/implicit-dependencies\",\"LLMS_URL\":\"/ko/guides/features/projects/inspect/implicit-dependencies.md\",\"title\":\"Implicit imports\",\"titleTemplate\":\":title · Inspect · Projects · Develop · Guides · Tuist\",\"description\":\"Learn how to use Tuist to find implicit dependencies.\"}},{\"path\":\"/ko/guides/features/projects/manifests.md\",\"url\":\"/ko/guides/features/projects/manifests\",\"llmUrl\":\"/ko/guides/features/projects/manifests.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/manifests\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/manifests.md\\\"\\ntitle: \\\"Manifests\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Tuist가 프로젝트와 워크스페이스를 정의하고 생성 프로세스를 구성하는데 사용하는 매니페스트 파일에 대해 알아봅니다.\\\"\\n---\\n\\n# Manifests {#manifests}\\n\\nTuist는 프로젝트와 워크스페이스를 정의하고 생성 프로세스를 구성하는데 기본적으로 Swift 파일을 사용합니다. 이러한 파일은 이 문서에서 **매니페스트 파일**이라고 합니다.\\n\\nSwift를 사용하기로 결정한 것은 패키지를 정의하기 위해 Swift 파일을 사용하는 [Swift Package Manager](https://www.swift.org/documentation/package-manager/)에서 영감을 받았습니다. Swift를 사용하면, 컴파일러를 활용해 컨텐츠의 정확성을 검증하고 다른 매니페스트 파일에서 코드를 재사용할 수 있고 Xcode를 활용하여 구문 강조, 자동 완성, 그리고 검증으로 좋은 편집 환경을 제공합니다.\\n\\n> [!NOTE] 캐싱\\n> 매니페스트 파일은 컴파일 되어야 할 Swift 파일이므로, Tuist는 파싱 과정의 속도를 올리기 위해 결과를 캐시합니다. 그래서 Tuist를 처음 실행해 프로젝트를 생성할 때 조금 더 시간이 걸릴 수 있습니다. 이후 실행은 더 빨라 집니다.\\n\\n## Project.swift {#projectswift}\\n\\n`Project.swift` 매니페스트는 Xcode 프로젝트를 선언합니다. 프로젝트는 `name` 프로퍼티에 지정된 이름으로 매니페스트 파일이 위치한 디렉토리에 생성됩니다.\\n\\n```swift\\n// Project.swift\\nlet project = Project(\\n name: \\\"App\\\",\\n targets: [\\n // ....\\n ]\\n)\\n```\\n\\n> [!WARNING] 루트 변수\\n> 매니페스트의 루트에 있어야 하는 변수는 `let project = Project(...)` 입니다. 매니페스트의 일부분을 코드에서 재사용 해야 된다면 Swift 함수를 사용할 수 있습니다.\\n\\n## Workspace.swift {#workspaceswift}\\n\\n기본적으로 Tuist는 생성된 프로젝트와 해당 프로젝트가 의존하고 있는 프로젝트를 포함하는 [Xcode Workspace](https://developer.apple.com/documentation/xcode/projects-and-workspaces)를 생성합니다. 워크스페이스에 프로젝트를 추가하거나 파일과 그룹을 포함하려면 `Workspace.swift` 매니페스트를 정의해서 사용할 수 있습니다.\\n\\n```swift\\n// Workspace.swift\\nimport ProjectDescription\\n\\nlet workspace = Workspace(\\n name: \\\"App-Workspace\\\",\\n projects: [\\n \\\"./App\\\", // Path to directory containing the Project.swift file\\n ]\\n)\\n```\\n\\n> [!NOTE]\\\\\\n> Tuist는 의존성 그래프를 해결하고 의존성의 프로젝트를 워크스페이스에 포함 시킵니다. 수동으로 포함 시킬 필요가 없습니다. 이는 의존성을 올바르게 해결하기 위해 빌드 시스템에 필요합니다.\\n\\n### 다중 또는 단일 프로젝트 {#multi-or-monoproject}\\n\\n자주 질문하는 내용 중에 하나는 워크스페이스에 단일 프로젝트를 사용할지 아니면 여러 프로젝트를 사용할지에 대한 것입니다. Tuist가 없다면 단일 프로젝트 설정으로 인해 Git 충돌이 자주 발생하므로 워크스페이스 사용을 권장합니다. 그러나 Tuist로 생성한 Xcode 프로젝트는 Git 리포지토리에 포함하는 것을 권장하지 않으므로 Git 충돌은 문제가 되지 않습니다. 따라서 워크스페이스에서 단일 프로젝트를 사용할지 여러 프로젝트를 사용할지는 여러분 결정에 달렸습니다.\\n\\nTuist 프로젝트에서는 첫 생성 시간 (Cold generation time) 이 더 빠르\\u001d고 (더 적은 매니페스트 파일을 컴파일 하기 때문) 프로젝트 설명 도우미를 캡슐화 단위로 사용하기 때문에 단일 프로젝트를 사용합니다. 그러나 애플리케이션에 다른 도메인을 나타내기 위해 캡슐화의 단위로 Xcode 프로젝트를 사용하면 Xcode에서 권장하는 프로젝트 구조와 더 일치합니다.\\n\\n## Tuist.swift {#tuistswift}\\n\\nTuist는 프로젝트 구성을 단순화 하기 위해 기본값 (Sensible defaults)을 제공합니다. 하지만 Tuist가 프로젝트의 루트를 결정하는데 사용되는 `Tuist.swift`를 정의하여 구성을 사용자화 할 수 있습니다.\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(\\n project: .tuist(generationOptions: .options(enforceExplicitDependencies: true))\\n)\\n```\\n\",\"title\":\"Manifests\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/manifests\",\"LLMS_URL\":\"/ko/guides/features/projects/manifests.md\",\"title\":\"Manifests\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Tuist가 프로젝트와 워크스페이스를 정의하고 생성 프로세스를 구성하는데 사용하는 매니페스트 파일에 대해 알아봅니다.\"}},{\"path\":\"/ko/guides/features/projects/plugins.md\",\"url\":\"/ko/guides/features/projects/plugins\",\"llmUrl\":\"/ko/guides/features/projects/plugins.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/plugins\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/plugins.md\\\"\\ntitle: \\\"Plugins\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Tuist에서 Plugin을 생성하고 사용하여 기능을 확장하는 방법을 알아보세요.\\\"\\n---\\n\\n# Plugins {#plugins}\\n\\nPlugin은 여러 프로젝트에서 Tuist 아티팩트를 공유하고 재사용할 수 있는 도구입니다. 지원되는 아티팩트는 다음과 같습니다:\\n\\n- Project description helpers를 여러 프로젝트에서 사용.\\n- Templates을 여러 프로젝트에서 사용.\\n- Tasks를 여러 프로젝트에서 사용.\\n- Resource accessor 템플릿을 여러 프로젝트에서 사용.\\n\\nPlugin은 Tuist의 기능을 확장하기 위한 간단한 방법으로 설계되었습니다. 따라서 고려해야 할 **몇 가지 제한 사항이 있습니다.**\\n\\n- Plugin은 다른 Plugin에 의존할 수 없습니다.\\n- Plugin은 서드파티 Swift 패키지에 의존할 수 없습니다.\\n- Plugin은 Plugin을 사용하는 프로젝트에 project description helpers을 사용할 수 없습니다.\\n\\n더 많은 유연성이 필요하다면, 도구에 대한 기능 제안을 하거나 Tuist의 생성 프레임워크인 [`TuistGenerator`](https://github.com/tuist/tuist/tree/main/Sources/TuistGenerator)를 기반으로 자체 솔루션을 구축하는 것을 고려해 보세요.\\n\\n## Plugin types {#plugin-types}\\n\\n### Project description helper plugin {#project-description-helper-plugin}\\n\\nProject description helper plugin은 Plugin의 이름을 \\b선언하는 `Plugin.swift` 매니페스트 파일이 포함된 디렉토리와 helper Swift files이 포함된 `ProjectDescriptionHelpers` 디렉토리로 표시됩니다.\\n\\n::: code-group\\n\\n```bash [Plugin.swift]\\nimport ProjectDescription\\n\\nlet plugin = Plugin(name: \\\"MyPlugin\\\")\\n```\\n\\n```bash [Directory structure]\\n.\\n├── ...\\n├── Plugin.swift\\n├── ProjectDescriptionHelpers\\n└── ...\\n```\\n\\n:::\\n\\n### Resource accessor templates plugin {#resource-accessor-templates-plugin}\\n\\nsynthesized Resource accessor를 공유해야 하는 경우, 이 유형의 plugin을 사용할 수 있습니다. 이 plugin은 plugin의 이름을 선언하는 `Plugin.swift` 매니페스트 파일이 포함된 디렉토리와 resource accessor 템플릿 파일이 포함된 `ResourceSynthesizer` 디렉토리로 표시됩니다.\\n\\n::: code-group\\n\\n```bash [Plugin.swift]\\nimport ProjectDescription\\n\\nlet plugin = Plugin(name: \\\"MyPlugin\\\")\\n```\\n\\n```bash [Directory structure]\\n.\\n├── ...\\n├── Plugin.swift\\n├── ResourceSynthesizers\\n├───── Strings.stencil\\n├───── Plists.stencil\\n├───── CustomTemplate.stencil\\n└── ...\\n```\\n\\n:::\\n\\n템플릿의 이름은 resource type의 [camel case](https://en.wikipedia.org/wiki/Camel_case) 버전입니다.\\n\\n| Resource type | Template file name |\\n| ----------------- | ---------------------------------------- |\\n| Strings | Strings.stencil |\\n| Assets | Assets.stencil |\\n| Property Lists | Plists.stencil |\\n| Fonts | Fonts.stencil |\\n| Core Data | CoreData.stencil |\\n| Interface Builder | InterfaceBuilder.stencil |\\n| JSON | JSON.stencil |\\n| YAML | YAML.stencil |\\n\\n프로젝트에서 resource synthesizers를 정의할 때, plugin의 템플릿을 사용하도록 plugin 이름을 지정할 수 있습니다.\\n\\n```swift\\nlet project = Project(resourceSynthesizers: [.strings(plugin: \\\"MyPlugin\\\")])\\n```\\n\\n### Task plugin {#task-plugin-badge-typewarning-textdeprecated-}\\n\\n> [!WARNING] DEPRECATED\\\\\\n> Task 플러그인은 더 이상 사용되지 않습니다. 프로젝트 자동화 솔루션을 찾고 있다면 [블로그 포스트](https://tuist.dev/blog/2025/04/15/automation-in-swift-projects)를 참고하세요.\\n\\n\\bTasks는 `tuist--` 명명 규칙을 따를 경우 `tuist` 명령을 통해 호출할 수 있는 `$PATH` 실행 파일입니다. 이전 버전에서 Tuist는 Swift 패키지에서 실행 파일로 구성된 `build`, `run`, `test` 및 `archive` 작업에 `tuist plugin`에 따라 몇 가지 약한 규칙과 도구를 제공했지만, 유지 관리 부담과 도구의 복잡성을 증가시키기 때문에 이 기능은 더 이상 지원되지 않습니다.\\n\\nTuist를 tasks 배포에 사용하고 있었다면, 자체 솔루션을 구축할 것을 권장합니다.\\n\\n- 프로젝트 그래프에 접근하려면 매 Tuist 릴리스에 포함된 `ProjectAutomation.xcframework`를 계속 사용할 수 있으며, `let graph = try Tuist.graph()`와 같은 방식으로 로직에서 그래프에 접근할 수 있습니다. 이 명령은 시스템 프로세스를 사용하여 `tuist` 명령을 실행하고, 프로젝트 그래프의 in-memory 표현을 반환합니다.\\n- Tasks를 배포하려면, `arm64` and `x86_64`를 지원하는 fat binary를 GitHub 릴리스에 포함하고, 설치 도구로 [Mise](https://mise.jdx.dev) 를 사용하는 것을 권장합니다. Mise에 도구 설치 방법을 알려주려면, plugin repository가 필요합니다. [Tuist's](https://github.com/asdf-community/asdf-tuist) 를 참고할 수 있습니다.\\n- 도구의 이름을 `tuist-{xxx}`로 지정하면, 사용자는 `mise install`을 실행하여 설치할 수 있으며, 이를 직접 호출하거나 `tuist xxx`를 통해 실행할 수 있습니다.\\n\\n> [!NOTE] 프로젝트 자동화의 미래\\n> 우리는 `ProjectAutomation`과 `XcodeGraph`의 모델을 하나의 하위 호환 프레임워크로 통합하여 프로젝트 그래프의 전체를 사용자에게 보여줄 계획입니다. 또한, 생성 로직을 새로운 레이어인 `XcodeGraph`로 분리하여 여러분의 CLI에서도 사용할 수 있도록 할 예정입니다. 자신만의 Tuist를 만든다고 생각하세요.\\n\\n## Using plugins {#using-plugins}\\n\\nplugin을 사용하려면, 프로젝트의 `Tuist.swift` manifest 파일에 추가해야 합니다:\\n\\n```swift\\nimport ProjectDescription\\n\\n\\nlet tuist = Tuist(\\n project: .tuist(plugins: [\\n .local(path: \\\"/Plugins/MyPlugin\\\")\\n ])\\n)\\n```\\n\\nrepository에 있는 프로젝트들 간에 plugin을 재사용하려면, plugin을 Git repository에 push하고 `Tuist.swift` 파일에서 참조할 수 있습니다:\\n\\n```swift\\nimport ProjectDescription\\n\\n\\nlet tuist = Tuist(\\n project: .tuist(plugins: [\\n .git(url: \\\"https://url/to/plugin.git\\\", tag: \\\"1.0.0\\\"),\\n .git(url: \\\"https://url/to/plugin.git\\\", sha: \\\"e34c5ba\\\")\\n ])\\n)\\n```\\n\\n\\bplugin을 추가한 후, `tuist install`을 실행하면 플러그인이 전역 캐시 디렉토리로 가져와집니다.\\n\\n> [!NOTE] 버전 해결 없음\\n> 눈치채셨겠지만, 우리는 plugins에 대한 버전 해결을 제공하지 않습니다. 재현 가능성을 보장하기 위해 Git 태그나 SHA를 사용하는 것을 권장합니다.\\n\\n> [!TIP] PROJECT DESCRIPTION HELPERS PLUGINS\\n> project description helpers plugin을 사용할 때, helpers를 포함하는 모듈의 이름은 plugin의 이름과 같습니다.\\n>\\n> ```swift\\n> import ProjectDescription\\n> import MyTuistPlugin\\n> let project = Project.app(name: \\\"MyCoolApp\\\", platform: .iOS)\\n> ```\\n\",\"title\":\"Plugins\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/plugins\",\"LLMS_URL\":\"/ko/guides/features/projects/plugins.md\",\"title\":\"Plugins\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Tuist에서 Plugin을 생성하고 사용하여 기능을 확장하는 방법을 알아보세요.\"}},{\"path\":\"/ko/guides/features/projects/synthesized-files.md\",\"url\":\"/ko/guides/features/projects/synthesized-files\",\"llmUrl\":\"/ko/guides/features/projects/synthesized-files.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/synthesized-files\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/synthesized-files.md\\\"\\ntitle: \\\"Synthesized files\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"Tuist 프로젝트에서 자동으로 생성된 파일에 대해 배워봅니다.\\\"\\n---\\n\\n# Synthesized files {#synthesized-files}\\n\\nTuist는 Xcode 프로젝트를 관리하고 작업할 때 편의성을 가지기 위해 생성 시점에 파일과 코드를 생성할 수 있습니다. 이 문서에서는 해당 기능에 대해 배우고 프로젝트에서 어떻게 사용하는지 배워봅니다.\\n\\n## 타겟 리소스 {#target-resources}\\n\\nXcode 프로젝트는 타겟에 리소스 추가를 지원합니다. 그러나 이것은 소스와 리소스를 자주 이동하는 모듈화된 프로젝트를 작업할 때 팀에 몇가지 과제를 제시합니다:\\n\\n- **일관되지 않은 런타인 접근**: 리소스가 최종 결과물에서 어떻게 포함되고 리소스에 접근하는 방식은 타겟 결과물에 따라 다릅니다. 예를 들어, 타겟이 애플리케이션인 경우, 리소스는 애플리케이션 번들에 복사됩니다. 이것으로 인해 리소스 접근하는 코드가 번들 구조에 대해 가정을 하게 되고, 이것은 코드의 이해를 어렵게 하고 리소스 이동을 복잡하게 만들기 때문에 이상적이지 않습니다.\\n- **리소스를 지원하지 않는 결과물**: 정적 라이브러리와 같이 번들이 아닌 특정 제품은 리소스를 지원하지 않습니다. 그렇기 때문에 프로젝트나 앱에 오버헤드를 추가할 수 있는 프레임워크와 같은 다른 결과물 타입을 사용해야 할 수도 있습니다. 예를 들어, 정적 프레임워크는 최종 결과물에 정적으로 연결되고 최종 결과물에 리소스를 복사하기 위한 빌드 단계가 필요합니다. 또는 동적 프레임워크는 Xcode가 최종 결과물에 바이너리와 리소스를 모두 복사하지만 프레임워크를 동적으로 로드해야 하므로 앱의 시작 시간이 증가합니다.\\n- **런타임 오류가 발생하기 쉬움**: 리소스는 이름과 확장자 (문자열) 로 구분됩니다. 따라서 이 중에 오타가 있으면 리소스에 접근할 때 런타임 오류가 발생합니다. 이 방법은 컴파일 시점에 발견되지 않아 이상적인 방법이 아니며, 릴리즈 때 크래시가 발생할 수 있습니다.\\n\\nTuist는 구현 세부 사항을 추상화하여 **번들과 리소스에 접근하기 위한 통합된 인터페이스를 자동으로 생성**하여 위의 문제를 해결합니다.\\n\\n> [!IMPORTANT] 권장\\n> Tuist가 자동으로 생성하는 인터페이스를 통해 리소스에 접근하는 방식은 필수가 아니지만, 코드를 쉽게 추론할 수 있고 리소스 이동에 용이하므로 권장합니다.\\n\\n## 리소스 {#resources}\\n\\nTuist는 `info.plist`나 entitlement와 같은 파일의 내용을 Swift로 선언할 수 있는 인터페이스를 제공합니다.\\n이것은 타겟과 프로젝트의 일관성을 유지하고,\\n컴파일 시 문제를 파악하는데 유용합니다.\\n또한 내용을 모델링하기 위해 추상화를 만들어 이를 여러 타겟과 프로젝트에 공유할 수도 있습니다.\\n\\n프로젝트가 생성될 때,\\nTuist는 해당 파일의 내용을 합성하여 프로젝트가 포함된 디렉토리를 기준으로 `Derived` 디렉토리에 작성합니다.\\n\\n> [!TIP] DERIVED 디렉토리 GITIGNORE\\n> 프로젝트의 `.gitignore` 파일에 `Derived` 디렉토리를 추가하길 권장합니다.\\n\\n## 번들 접근자 {#bundle-accessors}\\n\\nTuist는 타겟 리소스를 포함하는 번들에 접근하기 위해 자동으로 인터페이스를 생성합니다.\\n\\n### Swift {#swift}\\n\\n타겟은 번들을 노출하는 `Bundle` 타입의 확장자를 포함합니다:\\n\\n```swift\\nlet bundle = Bundle.module\\n```\\n\\n### Objective-C {#objectivec}\\n\\nObjective-C에서 번들에 접근하기 위해 `{Target}Resources` 인터페이스가 있습니다.\\n\\n```objc\\nNSBundle *bundle = [MyFeatureResources bundle];\\n```\\n\\n> [!TIP] 번들로 라이브러리 리소스 지원\\n> 예를 들어, 라이브러리와 같이 타겟 결과물이 리소스를 지원하지 않으면, Tuist는 `bundle` 타입의 타겟에 리소스를 포함시켜 최종 결과물에 포함시키고 인터페이스가 올바른 번들을 가리키도록 보장합니다.\\n\\n## 리소스 접근자 {#resource-accessors}\\n\\n리소스는 문자열을 사용하여 이름과 확장자로 구분됩니다. 이 방법은 컴파일 시점에 발견되지 않아 이상적인 방법이 아니며, 릴리즈 때 크래시가 발생할 수 있습니다. 이것을 방지하기 위해 Tuist는 [SwiftGen](https://github.com/SwiftGen/SwiftGen)을 프로젝트 생성 과정에 통합하여 리소스를 접근하기 위한 인터페이스를 자동으로 생성합니다. 덕분에 컴파일러를 활용하여 리소스 접근을 보장하고 문제를 파악할 수 있습니다.\\n\\nTuist는 기본적으로 다음의 리소스에 대한 접근자를 자동으로 생성하기 위해 [템플릿](https://github.com/tuist/tuist/tree/main/Sources/TuistGenerator/Templates)을 포함합니다.\\n\\n| Resource type | Synthesized file |\\n| ------------- | ------------------------ |\\n| 이미지와 색상 | `Assets+{Target}.swift` |\\n| Strings | `Strings+{Target}.swift` |\\n| Plists | `{NameOfPlist}.swift` |\\n| Fonts | `Fonts+{Target}.swift` |\\n| Files | `Files+{Target}.swift` |\\n\\n> Note: 프로젝트 기준으로 리소스 접근자의 자동 생성을 비활성화 하려면 프로젝트 옵션에 `disableSynthesizedResourceAccessors` 옵션을 추가하면 됩니다.\\n\\n#### 사용자 정의 템플릿 {#custom-templates}\\n\\n[SwiftGen](https://github.com/SwiftGen/SwiftGen)이 지원하는 다른 리소스 타입에 대해 접근자를 템플릿으로 제공하려면 리소스의 카멜-케이스 이름으로 `Tuist/ResourceSynthesizers/{name}.stencil`을 생성할 수 있습니다.\\n\\n| Resource | Template name |\\n| ---------------- | -------------------------- |\\n| strings | `Strings.stencil` |\\n| assets | `Assets.stencil` |\\n| plists | `Plists.stencil` |\\n| fonts | `Fonts.stencil` |\\n| coreData | `CoreData.stencil` |\\n| interfaceBuilder | `InterfaceBuilder.stencil` |\\n| json | `JSON.stencil` |\\n| yaml | `YAML.stencil` |\\n| files | `Files.stencil` |\\n\\n접근자에 리소스 타입의 목록을 구성하려면,\\n`Project.resourceSynthesizers` 프로퍼티를 사용하여 사용하려는 리소스 타입을 넘겨주면 됩니다:\\n\\n```swift\\nlet project = Project(resourceSynthesizers: [.string(), .fonts()])\\n```\\n\\n> [!NOTE] 참조\\n> 리소스 접근자를 자동 생성하기 위해 어떻게 사용자 정의된 템플릿을 사용하는지 확인하려면 [이 예제](https://github.com/tuist/tuist/tree/main/fixtures/ios_app_with_templates)에서 확인할 수 있습니다.\\n\",\"title\":\"Synthesized files\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/synthesized-files\",\"LLMS_URL\":\"/ko/guides/features/projects/synthesized-files.md\",\"title\":\"Synthesized files\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"Tuist 프로젝트에서 자동으로 생성된 파일에 대해 배워봅니다.\"}},{\"path\":\"/ko/guides/features/projects/templates.md\",\"url\":\"/ko/guides/features/projects/templates\",\"llmUrl\":\"/ko/guides/features/projects/templates.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/templates\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/templates.md\\\"\\ntitle: \\\"Templates\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"프로젝트에서 코드 생성을 위해 Tuist에서 템플릿을 생성하고 사용하는 방법을 배워봅니다.\\\"\\n---\\n\\n# Templates {#templates}\\n\\n기존 아키텍처가 있는 프로젝트에서 개발자가 프로젝트와 일관성 있는 새로운 컴포넌트나 기능을 부트스트랩 하고 싶을 수 있습니다. `tuist scaffold`를 사용하면 템플릿에서 파일을 생성할 수 있습니다. 템플릿을 정의할 수도 있고, Tuist에서 제공하는 템플릿을 사용할 수도 있습니다. 스캐폴딩 (Scaffolding) 이 유용한 몇가지 시나리오가 있습니다:\\n\\n- 주어진 아키텍처를 따르는 새로운 기능을 생성: `tuist scaffold viper --name MyFeature`.\\n- 새로운 프로젝트 생성: `tuist scaffold feature-project --name Home`\\n\\n> [!NOTE] NON-OPINIONATED\\n> Tuist는 템플릿의 내용과 사용 목적에 대해 의견을 제시하지 않습니다. 특정 디렉토리에만 있으면 됩니다.\\n\\n## 템플릿 정의 {#defining-a-template}\\n\\n템플릿을 정의하려면, `tuist edit`를 수행하고 `Tuist/Templates` 아래에 템플릿을 나타내는 `name_of_template` 디렉토리를 생성합니다. 템플릿은 템플릿을 설명하는 `name_of_template.swift` 매니페스트 파일이 필요합니다. 따라서 `framework`라는 템플릿을 생성한다면, `Tuist/Templates` 아래에 `framework` 디렉토리를 생성하고 다음 내용을 가지는 `framework.swift` 매니페스트 파일을 생성해야 합니다:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet nameAttribute: Template.Attribute = .required(\\\"name\\\")\\n\\nlet template = Template(\\n description: \\\"Custom template\\\",\\n attributes: [\\n nameAttribute,\\n .optional(\\\"platform\\\", default: \\\"ios\\\"),\\n ],\\n items: [\\n .string(\\n path: \\\"Project.swift\\\",\\n contents: \\\"My template contents of name \\\\(nameAttribute)\\\"\\n ),\\n .file(\\n path: \\\"generated/Up.swift\\\",\\n templatePath: \\\"generate.stencil\\\"\\n ),\\n .directory(\\n path: \\\"destinationFolder\\\",\\n sourcePath: \\\"sourceFolder\\\"\\n ),\\n ]\\n)\\n```\\n\\n## 템플릿 사용 {#using-a-template}\\n\\n템플릿을 정의한 후에, `scaffold` 명령어를 사용할 수 있습니다:\\n\\n```bash\\ntuist scaffold name_of_template --name Name --platform macos\\n```\\n\\n> [!NOTE]\\\\\\n> 플랫폼은 옵셔널 인수이므로, `--platform macos` 인수없이 명령어 호출도 가능합니다.\\n\\n`.string`과 `.files`가 유연성을 제공하지 않으면, `.file` 케이스를 통해 [Stencil](https://stencil.fuller.li/en/latest/) 템플릿 언어를 활용할 수 있습니다. 그 외에 여기에 정의된 필터를 추가적으로 사용할 수도 있습니다.\\n\\n문자열 보간을 사용하면, 위에 `\\\\(nameAttribute)`은 `{{ name }}`로 변환됩니다. 템플릿 정의에서 Stencil 필터를 사용하고 싶으면, 해당 보간을 수동으로 사용하고 원하는 필터를 추가할 수 있습니다. 예를 들어, 이름 속성을 소문자로 하려면 `\\\\(nameAttribute)` 대신에 `{ { name | lowercase } }`을 사용하면 됩니다.\\n\\n`.directory`를 사용하면, 주어진 경로에 전체 폴더를 복사할 수 있습니다.\\n\\n> [!TIP] 프로젝트 설명 도우미\\n> 템플릿은 템플릿간의 코드 재사용을 위해 프로젝트 설명 도우미의 사용을 지원합니다.\\n\",\"title\":\"Templates\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/templates\",\"LLMS_URL\":\"/ko/guides/features/projects/templates.md\",\"title\":\"Templates\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"프로젝트에서 코드 생성을 위해 Tuist에서 템플릿을 생성하고 사용하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/features/projects/tma-architecture.md\",\"url\":\"/ko/guides/features/projects/tma-architecture\",\"llmUrl\":\"/ko/guides/features/projects/tma-architecture.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/projects/tma-architecture\\\"\\nLLMS_URL: \\\"/ko/guides/features/projects/tma-architecture.md\\\"\\ntitle: \\\"The Modular Architecture (TMA)\\\"\\ntitleTemplate: \\\":title · Projects · Develop · Guides · Tuist\\\"\\ndescription: \\\"The Modular Architecture (TMA) 에 대해 배우고, 이를 사용하여 프로젝트를 구조화 하는 방법을 배워봅니다.\\\"\\n---\\n\\n# The Modular Architecture (TMA) {#the-modular-architecture-tma}\\n\\nTMA는 Apple OS 애플리케이션을 구조화 하는 아키텍처 접근 방식이고, 확장성을 가지며, 빌드와 테스트 주기를 최적화 하고, 팀 내에 좋은 개발 방식을 보장합니다. 이것의 핵심은 독립적인 기능을 만들고 명확하고 간결한 API를 통해 서로 연결하여 애플리케이션을 만드는 것입니다.\\n\\n이 가이드라인은 아키텍처의 원칙을 소개하며, 다른 계층의 애플리케이션 기능을 식별하고 연결하는데 도움을 줍니다. 이 아키텍처를 사용하기로 결정한다면, 도움이 되는 팁, 툴, 그리고 충고도 소개합니다.\\n\\n> [!INFO] µFEATURES\\\\\\n> 이 아키텍처는 이전에 µFeatures로 알려진 아키텍처 입니다. 우리는 이 아키텍처의 목적과 원칙이 더 잘 반영되도록 The Modular Architecture (TMA) 로 이름을 변경\\u001d했습니다.\\n\\n## 주요 원칙 {#core-principle}\\n\\n개발자는 메인 앱과 독립적으로 기능을 빠르게 **빌드, 테스트, 그리고 실행** 할 수 있어야 하고, Xcode의 UI 프리뷰, 코드 자동 완성, 그리고 디버깅 기능이 잘 동작해야 합니다.\\n\\n## 모듈이란 무엇인가 {#what-is-a-module}\\n\\n모듈은 애플리케이션 기능이며, 다음의 다섯가지 타겟 (여기서 타겟은 Xcode 타겟을 의미) 의 조합입니다:\\n\\n- **Source:** 기능의 소스 코드 (Swift, Objective-C, C++, JavaScript...) 와 리소스 (이미지, 폰트, 스토리보드, xib) 를 포함합니다.\\n- **Interface:** 기능의 공개 인터페이스와 모델을 포함하는 보조 타겟입니다.\\n- **Tests:** 기능의 단위 테스트와 통합 테스트를 포함합니다.\\n- **Testing:** 테스트와 예제 앱에서 사용될 수 있는 테스트 데이터를 제공합니다. 또한, 나중에 볼 수 있듯이 다른 기능에서 사용할 수 있는 모듈 클래스와 프로토콜에 대한 모의 객체 (Mock) \\u001d를 제공합니다.\\n- **Example:** 개발자가 특정 조건 (다른 언어, 다른 화면 크기, 다른 설정) 에서 기능을 확인하는데 사용할 수 있는 예제 앱을 포함합니다.\\n\\n타겟에 네이밍 규칙을 따를 것을 권장하며, 이는 Tuist의 DSL 덕분에 프로젝트에 강제로 적용할 수 있습니다.\\n\\n| Target | Dependencies | Content |\\n| ------------------ | --------------------------- | -------------- |\\n| `Feature` | `FeatureInterface` | 소스 코드와 리소스 |\\n| `FeatureInterface` | - | 공개 인터페이스와 모델 |\\n| `FeatureTests` | `Feature`, `FeatureTesting` | 단위 테스트와 통합 테스트 |\\n| `FeatureTesting` | `FeatureInterface` | 테스트 데이터와 모의 객체 |\\n| `FeatureExample` | `FeatureTesting`, `Feature` | 예제 앱 |\\n\\n> [!TIP] UI 프리뷰\\\\\\n> `Feature`는 UI 프리뷰를 사용하기 위해 Development Asset으로 `FeatureTesting`을 사용할 수 있습니다.\\n\\n> [!IMPORTANT] 테스트 타겟 대신 컴파일러 지시문\\\\\\n> 또한, `Debug`로 컴파일할 때 `Feature`나 `FeatureInterface`에 테스트 데이터와 모의 객체를 포함하기 위해 컴파일러 지시문을 사용할 수 있습니다. 그래프를 단순화할 수 있지만, 결국 앱을 실행하는데 필요하지 않은 코드를 컴파일하게 될 수 있습니다.\\n\\n## 왜 모듈인가 {#why-a-module}\\n\\n### 명확하고 간결한 API {#clear-and-concise-apis}\\n\\n모든 앱 소스 코드가 같은 타겟에 있으면 코드에서 암시적 의존성이 쉽게 생기고 결국 잘 알려진 스파게티 코드가 될 수 있습니다. 모든 것이 강하게 결합되어 있고, 상태는 예측하기 힘들어지고, 새로운 변경 사항을 도입하기 힘들어 집니다. 독립적인 타겟에 기능을 정의할 때 기능 구현의 일환으로 공개 API를 설계해야 합니다. 우리는 무엇을 공개할지, 기능이 어떻게 사용되어야 할지, 무엇을 비공개로 남겨야 할지 결정해야 합니다. 우리는 기능 클라이언트가 기능을 어떻게 사용할지에 대해 더 많은 제어를 할 수 있고, 안전한 API 설계로 좋은 개발 방식을 강제할 수 있습니다.\\n\\n### 작은 모듈 {#small-modules}\\n\\n[분할 정복 (Divide and conquer)](https://en.wikipedia.org/wiki/Divide_and_conquer). 작은 모듈로 작업하면 더 집중할 수 있고 기능을 독립적으로 테스트하고 확인할 수 있습니다. 게다가 개발 주기는 훨씬 더 빨라지는데, 이는 기능을 동작시키기 위해 필요한 컴포넌트만 컴파일하는 선택적 컴파일 덕분입니다. 앱 전체의 컴파일은 작업의 마지막에만 필요하며 이때 앱에 기능을 통합해야 합니다.\\n\\n### 재사용성 {#reusability}\\n\\n코드를 앱과 확장과 같은 다른 결과물에 재사용하는 것은 프레임워크나 라이브러리를 사용하도록 권장합니다. 모듈을 구축하면 코드 재사용이 매우 간단해 집니다. 기존 모듈을 결합하고 _(필요할 때)_ 플랫폼 별 UI 계층을 추가하여 iMessage 확장, Today 확장, 또는 watchOS 애플리케이션을 만들 수 있습니다.\\n\\n## 의존성 {#dependencies}\\n\\n모듈이 다른 모듈에 의존할 경우, 해당 모듈은 의존할 모듈의 인터페이스 타겟에 대한 의존성을\\u001d 선언합니다. 이러면 두 가지 장점이 있습니다. 하나의 모듈 구현이 다른 모듈 구현과 결합되는 것을 방지하고, 기능의 구현만 컴파일하고 직접적인 의존성과 전이적 의존성에 대한 인터페이스만 컴파일하면 되므로 클린 빌드 속도가 빨라집니다. 이 접근 방식은 SwiftRock의 [인터페이스 모듈을 사용하여 iOS 빌드 시간 단축](https://swiftrocks.com/reducing-ios-build-times-by-using-interface-targets)에서 영감을 얻었습니다.\\n\\n인터페이스에 의존하는 것은 앱이 실행 시간에 구현의 그래프를 구성하고, 필요한 모듈에 해당 구현을 의존성 주입해야 합니다. TMA는 이를 어떻게 구현할지 강제하지 않지만, 빌드 시간에 불필요한 간접 참조를 추가하거나 이 목적을 위해 설계되지 않은 플랫폼 API를 사용하지 않는 의존성 주입 솔루션이나 패턴을 권장합니다.\\n\\n## 결과물 타입 {#product-types}\\n\\n모듈을 구축할 때, 타겟에 대한 **라이브러리와 프레임워크** 및 **정적과 동적 링킹** 중 선택할 수 있습니다. Tuist가 없다면 의존성 그래프를 수동으로 구성해야 하므로 이 결정을 내리는데 더 복잡합니다. 하지만 Tuist 프로젝트 덕분에 이건 아무런 문제가 되지 않습니다.\\n\\n타겟의 라이브러리나 프레임워크 특성과 번들 접근 로직을 분리하기 위해 개발 중에는 번들 접근자를 사용하여 동적 라이브러리나 동적 프레임워크를 사용하길 권장합니다. 이것은 빠른 컴파일 시간과 [SwiftUI 프리뷰](https://developer.apple.com/documentation/swiftui/previews-in-xcode)가 잘 동작하기 위해 중요한 포인트입니다. 그리고 릴리즈 빌드에서 앱이 더 빠르게 실행되기 위해 정적 라이브러리나 정적 프레임워크를 사용하는 것이 좋습니다. <0>동적 구성0>을 활용하여 생성 시점에 결과물 타입을 변경할 수 있습니다:\\n\\n```bash\\n# You'll have to read the value of the variable from the manifest {#youll-have-to-read-the-value-of-the-variable-from-the-manifest}\\n# and use it to change the linking type {#and-use-it-to-change-the-linking-type}\\nTUIST_PRODUCT_TYPE=static-library tuist generate\\n```\\n\\n```swift\\n// You can place this in your manifest files or helpers\\n// and use the returned value when instantiating targets.\\nfunc productType() -> Product {\\n if case let .string(productType) = Environment.productType {\\n return productType == \\\"static-library\\\" ? .staticLibrary : .framework\\n } else {\\n return .framework\\n }\\n}\\n```\\n\\n> [!IMPORTANT] MERGEABLE LIBRARIES\\\\\\n> Apple은 [mergeable libraries](https://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries)를 도입하여 정적 라이브러리와 동적 라이브러리 간 변환의 번거로움을 줄이려고 했습니다. 하지만 이것은 빌드 시 항상 동일한 결과를 가져오지 않고 최적화가 어려워 지기 때문에 권장하지 않습니다.\\n\\n## 코드 {#code}\\n\\nTMA는 모듈의 코드 아키텍처와 패턴에 대해 강요하지 않습니다. 하지만, 경험을 토대로 몇가지 팁을 공유하려고 합니다:\\n\\n- **컴파일러를 활용하는 것은 훌륭합니다.** 그러나 컴파일러를 과도하게 사용하면 비생산적이며 프리뷰와 같은 Xcode의 기능이 원할하게 동작하지 않을 수 있습니다. 우리는 컴파일러를 사용하여 좋은 코드작성 관행과 조기에 오류를 찾도록 권장하지만, 코드를 읽기 어렵고 유지 보수 하기 어렵도록 사용하는 것은 권장하지 않습니다.\\n- **Swift Macros는 신중하게 사용해야 합니다.** 이것은 매우 강력하지만 코드를 읽기 어렵고 유지 보수 하기 어렵\\u001d게 만들 수도 있습니다.\\n- **플랫폼과 언어를 받아들이고, 추상화 하지 말아야 합니다.** 복잡한 추상화 계층을 만들면 오히려 비효율적일 수 있습니다. 플랫폼과 언어는 추가적인 추상화 계층없이도 훌륭한 앱을 만들기에 충분합니다. 좋은 프로그래밍과 좋은 설계 패턴을 참조하여 기능을 구축합니다.\\n\\n## 리소스 {#resources}\\n\\n- [Building µFeatures](https://speakerdeck.com/pepibumur/building-ufeatures)\\n- [Framework Oriented Programming](https://speakerdeck.com/pepibumur/framework-oriented-programming-mobilization-dot-pl)\\n- [A Journey into frameworks and Swift](https://speakerdeck.com/pepibumur/a-journey-into-frameworks-and-swift)\\n- [Leveraging frameworks to speed up our development on iOS - Part 1](https://developers.soundcloud.com/blog/leveraging-frameworks-to-speed-up-our-development-on-ios-part-1)\\n- [Library Oriented Programming](https://academy.realm.io/posts/justin-spahr-summers-library-oriented-programming/)\\n- [Building Modern Frameworks](https://developer.apple.com/videos/play/wwdc2014/416/)\\n- [The Unofficial Guide to xcconfig files](https://pewpewthespells.com/blog/xcconfig_guide.html)\\n- [Static and Dynamic Libraries](https://pewpewthespells.com/blog/static_and_dynamic_libraries.html)\\n\",\"title\":\"The Modular Architecture (TMA)\",\"frontmatter\":{\"URL\":\"/ko/guides/features/projects/tma-architecture\",\"LLMS_URL\":\"/ko/guides/features/projects/tma-architecture.md\",\"title\":\"The Modular Architecture (TMA)\",\"titleTemplate\":\":title · Projects · Develop · Guides · Tuist\",\"description\":\"The Modular Architecture (TMA) 에 대해 배우고, 이를 사용하여 프로젝트를 구조화 하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/features/registry.md\",\"url\":\"/ko/guides/features/registry\",\"llmUrl\":\"/ko/guides/features/registry.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/registry\\\"\\nLLMS_URL: \\\"/ko/guides/features/registry.md\\\"\\ntitle: \\\"Registry\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"Tuist Registry를 사용하여 Swift 패키지 해석시간을 최적화 합니다.\\\"\\n---\\n\\n# Registry {#registry}\\n\\n> [!IMPORTANT] 요구사항\\n>\\n> - A Tuist account and project\\n\\n의존성이 증가함에 따라 이것을 해결하는 시간도 늘어납니다. 다른 패키지 관리 툴인 [CocoaPods](https://cocoapods.org/) 또는 [npm](https://www.npmjs.com/)는 중앙 집중식이지만 Swift Package Manager는 그렇지 않습니다. Because of that, SwiftPM needs to resolve dependencies by doing a deep clone of each repository, which can be time-consuming. To address this, Tuist provides an implementation of the [Package Registry](https://github.com/swiftlang/swift-package-manager/blob/main/Documentation/PackageRegistry/PackageRegistryUsage.md), so you can download only the commit you _actually need_. 레지스트리에 있는 패키지는 [Swift Package Index](https://swiftpackageindex.com/)를 기반으로 합니다 – 해당 페이지에서 패키지를 찾을 수 있다면 Tuist Registry에서도 사용할 수 있습니다. 또한 패키지는 엣지 스토리지를 통해 전세계에 분산되어 제공되며, 패키지를 확인할 때 최소한의 지연 시간으로 이용할 수 있습니다.\\n\\n## Usage {#usage}\\n\\n레지스트리를 설정하고 로그인하기 위해서는, 프로젝트 경로에서 다음의 명령을 실행해줍니다:\\n\\n```bash\\ntuist registry setup\\n```\\n\\n위 명령은 레지스트리에 레지스트리 설정용 파일과 로그를 생성합니다. 다른 작업자들도 레지스트리에 접근하도록 하기 위해서, 생성된 파일들을 커밋하고 작업자들이 아래의 명령을 통해 로그인 할 수 있도록 합니다:\\n\\n```bash\\ntuist registry login\\n```\\n\\nNow you can access the registry! To resolve dependencies from the registry instead of from source control, continue reading based on your project setup:\\n\\n- Xcode project\\n- Generated project with the Xcode package integration\\n- Generated project with the XcodeProj-based package integration\\n- Swift package\\n\\nCI에서 레지스트리를 설정하려면, 다음 내용을 참고해주세요: Continuous integration.\\n\\n### Package registry identifiers {#package-registry-identifiers}\\n\\nIf you want to ensure that the registry is used every time you resolve dependencies, you will need to update `dependencies` in your `Package.swift` file to use the registry identifier instead of a URL. The registry identifier is always in the form of `{organization}.{repository}`. For example, to use the registry for the `swift-composable-architecture` package, do the following:\\n\\n> [!NOTE]\\n> The identifier can't contain more than one dot. If the repository name contains a dot, it's replaced with an underscore.\\n> For example, the `https://github.com/groue/GRDB.swift` package would have the registry identifier `groue.GRDB_swift`.\\n\",\"title\":\"Registry\",\"frontmatter\":{\"URL\":\"/ko/guides/features/registry\",\"LLMS_URL\":\"/ko/guides/features/registry.md\",\"title\":\"Registry\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"Tuist Registry를 사용하여 Swift 패키지 해석시간을 최적화 합니다.\"}},{\"path\":\"/ko/guides/features/registry/continuous-integration.md\",\"url\":\"/ko/guides/features/registry/continuous-integration\",\"llmUrl\":\"/ko/guides/features/registry/continuous-integration.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/registry/continuous-integration\\\"\\nLLMS_URL: \\\"/ko/guides/features/registry/continuous-integration.md\\\"\\ntitle: \\\"Continuous integration\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Learn how to use the Tuist Registry in continuous integration.\\\"\\n---\\n\\n# Continuous Integration (CI) {#continuous-integration-ci}\\n\\nTo use the registry on your CI, you need to ensure that you have logged in to the registry by running `tuist registry login` as part of your workflow.\\n\\n> [!NOTE] ONLY XCODE INTEGRATION\\n> Creating a new pre-unlocked keychain is required only if you are using the Xcode integration of packages.\\n\\nSince the registry credentials are stored in a keychain, you need to ensure the keychain can be accessed in the CI environment. Note some CI providers or automation tools like [Fastlane](https://fastlane.tools/) already create a temporary keychain or provide a built-in way how to create one. However, you can also create one by creating a custom step with the following code:\\n\\n```bash\\nTMP_DIRECTORY=$(mktemp -d)\\nKEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain\\nKEYCHAIN_PASSWORD=$(uuidgen)\\nsecurity create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\nsecurity set-keychain-settings -lut 21600 $KEYCHAIN_PATH\\nsecurity default-keychain -s $KEYCHAIN_PATH\\nsecurity unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n```\\n\\n`tuist registry login` will then store the credentials in the default keychain. Ensure that your default keychain is created and unlocked _before_ `tuist registry login` is run.\\n\\nAdditionally, you need to ensure the `TUIST_CONFIG_TOKEN` environment variable is set. You can create one by following the documentation here.\\n\\nAn example workflow for GitHub Actions could then look like this:\\n\\n```yaml\\nname: Build\\n\\njobs:\\n build:\\n steps:\\n - # Your set up steps...\\n - name: Create keychain\\n run: |\\n TMP_DIRECTORY=$(mktemp -d)\\n KEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain\\n KEYCHAIN_PASSWORD=$(uuidgen)\\n security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n security set-keychain-settings -lut 21600 $KEYCHAIN_PATH\\n security default-keychain -s $KEYCHAIN_PATH\\n security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH\\n - name: Log in to the Tuist Registry\\n env:\\n TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_TOKEN }}\\n run: tuist registry login\\n - # Your build steps\\n```\\n\\n### Incremental resolution across environments {#incremental-resolution-across-environments}\\n\\nClean/cold resolutions are slightly faster with our registry, and you can experience even greater improvements if you persist the resolved dependencies across CI builds. Note that thanks to the registry, the size of the directory that you need to store and restore is much smaller than without the registry, taking significantly less time.\\nTo cache dependencies when using the default Xcode package integration, the best way is to specify a custom `-clonedSourcePackagesDirPath` when resolving dependencies via `xcodebuild`, such as:\\n\\n```sh\\nxcodebuild -resolvePackageDependencies -clonedSourcePackagesDirPath .build\\n```\\n\\nAdditionally, you will need to find a path of the `Package.resolved`. You can grab the path by running `ls **/Package.resolved`. The path should look something like `App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved`.\\n\\nFor Swift packages and the XcodeProj-based integration, we can use the default `.build` directory located either in the root of the project or in the `Tuist` directory. Make sure the path is correct when setting up your pipeline.\\n\\nHere's an example workflow for GitHub Actions for resolving and caching dependencies when using the default Xcode package integration:\\n\\n```yaml\\n- name: Restore cache\\n id: cache-restore\\n uses: actions/cache/restore@v4\\n with:\\n path: .build\\n key: ${{ runner.os }}-${{ hashFiles('App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved') }}\\n restore-keys: .build\\n- name: Resolve dependencies\\n if: steps.cache-restore.outputs.cache-hit != 'true'\\n run: xcodebuild -resolvePackageDependencies -clonedSourcePackagesDirPath .build\\n- name: Save cache\\n id: cache-save\\n uses: actions/cache/save@v4\\n with:\\n path: .build\\n key: ${{ steps.cache-restore.outputs.cache-primary-key }}\\n```\\n\",\"title\":\"Continuous integration\",\"frontmatter\":{\"URL\":\"/ko/guides/features/registry/continuous-integration\",\"LLMS_URL\":\"/ko/guides/features/registry/continuous-integration.md\",\"title\":\"Continuous integration\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Learn how to use the Tuist Registry in continuous integration.\"}},{\"path\":\"/ko/guides/features/registry/generated-project.md\",\"url\":\"/ko/guides/features/registry/generated-project\",\"llmUrl\":\"/ko/guides/features/registry/generated-project.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/registry/generated-project\\\"\\nLLMS_URL: \\\"/ko/guides/features/registry/generated-project.md\\\"\\ntitle: \\\"Generated project with the Xcode package integration\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"생성된 Xcode 프로젝트에서 Xcode 패키지 통합을 사용하여 Tuist Registry를 사용하는 방법을 배워봅니다.\\\"\\n---\\n\\n# Generated project with the Xcode package integration {#generated-project-with-xcode-based-integration}\\n\\nXcode의 기본 통합을 사용하여 Tuist 프로젝트에 패키지를 추가하는 경우 URL 대신 레지스트리 식별자를 사용해야 합니다:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyProject\\\",\\n packages: [\\n // Source control resolution\\n // .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n // Registry resolution\\n .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n ],\\n .target(\\n name: \\\"App\\\",\\n product: .app,\\n bundleId: \\\"io.tuist.App\\\",\\n dependencies: [\\n .package(product: \\\"ComposableArchitecture\\\"),\\n ]\\n )\\n)\\n```\\n\",\"title\":\"Generated project with the Xcode package integration\",\"frontmatter\":{\"URL\":\"/ko/guides/features/registry/generated-project\",\"LLMS_URL\":\"/ko/guides/features/registry/generated-project.md\",\"title\":\"Generated project with the Xcode package integration\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"생성된 Xcode 프로젝트에서 Xcode 패키지 통합을 사용하여 Tuist Registry를 사용하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/features/registry/swift-package.md\",\"url\":\"/ko/guides/features/registry/swift-package\",\"llmUrl\":\"/ko/guides/features/registry/swift-package.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/registry/swift-package\\\"\\nLLMS_URL: \\\"/ko/guides/features/registry/swift-package.md\\\"\\ntitle: \\\"Swift package\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Swift Package에서 Tuist Registry를 사용하는 방법을 학습합니다.\\\"\\n---\\n\\n# Swift package {#swift-package}\\n\\nSwift Package를 작업 중이라면, 레지스트리에 해당 의존성이 등록되어 있는 경우 `--replace-scm-with-registry` 플래그를 사용하여 레지스트리에서 의존성을 가져올 수 있습니다.\\n\\n```bash\\nswift package --replace-scm-with-registry resolve\\n```\\n\\n의존성을 가져올 때마다 항상 레지스트리를 사용하게 하려면, `Package.swift` 파일의 `dependencies` 에서 URL 대신 레지스트리 식별자(registry identifier)를 사용해야 합니다. 레지스트리 식별자는 항상 `{organization}.{repository}` 형식으로 구성됩니다. 예를 들어, `swift-composable-architecture` 패키지를 레지스트리를 통해 가져오고자 할 경우, 다음과 같이 작성합니다.\\n\\n```diff\\ndependencies: [\\n- .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n+ .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n]\\n```\\n\",\"title\":\"Swift package\",\"frontmatter\":{\"URL\":\"/ko/guides/features/registry/swift-package\",\"LLMS_URL\":\"/ko/guides/features/registry/swift-package.md\",\"title\":\"Swift package\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Swift Package에서 Tuist Registry를 사용하는 방법을 학습합니다.\"}},{\"path\":\"/ko/guides/features/registry/xcode-project.md\",\"url\":\"/ko/guides/features/registry/xcode-project\",\"llmUrl\":\"/ko/guides/features/registry/xcode-project.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/registry/xcode-project\\\"\\nLLMS_URL: \\\"/ko/guides/features/registry/xcode-project.md\\\"\\ntitle: \\\"Xcode project\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Xcode 프로젝트에서 Tuist Registry를 사용하는 방법을 배워봅니다.\\\"\\n---\\n\\n# Xcode project {#xcode-project}\\n\\nXcode 프로젝트에서 레지스트리를 사용하여 패키지를 추가하려면, 기본 Xcode UI를 사용합니다. Xcode의 `Package Dependencies` 탭에서 `+` 버튼을 눌러서 레지스트리에 패키지를 검색할 수 있습니다. 패키지가 레지스트리에 사용가능하면 우측 상단에 `tuist.dev` 레지스트리가 표시됩니다:\\n\\n\\n\\n> [!NOTE]\\\\\\n> Xcode는 현재 소스 제어 패키지를 레지스트리로 자동으로 대체하는 기능을 지원하지 않습니다. 처리 속도를 높이려면 소스 제어 패키지를 삭제하고 레지스트리 패키지를 추가해야 합니다.\\n\",\"title\":\"Xcode project\",\"frontmatter\":{\"URL\":\"/ko/guides/features/registry/xcode-project\",\"LLMS_URL\":\"/ko/guides/features/registry/xcode-project.md\",\"title\":\"Xcode project\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Xcode 프로젝트에서 Tuist Registry를 사용하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/features/registry/xcodeproj-integration.md\",\"url\":\"/ko/guides/features/registry/xcodeproj-integration\",\"llmUrl\":\"/ko/guides/features/registry/xcodeproj-integration.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/registry/xcodeproj-integration\\\"\\nLLMS_URL: \\\"/ko/guides/features/registry/xcodeproj-integration.md\\\"\\ntitle: \\\"XcodeProj 기반으로 패키지를 구성한 프로젝트\\\"\\ntitleTemplate: \\\":title · Registry · Develop · Guides · Tuist\\\"\\ndescription: \\\"Tuist Registry를 XcodeProj 방식으로 구성된 Xcode 프로젝트에서 활용하는 방법을 학습합니다.\\\"\\n---\\n\\n# XcodeProj 기반으로 패키지를 구성한 프로젝트 {#generated-project-with-xcodeproj-based-integration}\\n\\nXcodeProj 기반 구성을 사용할 경우, 의존성이 레지스트리에 등록되어 있다면 `--replace-scm-with-registry` 플래그를 사용해 레지스트리에서 의존성을 가져올 수 있습니다. `Tuist.swift` 파일의 `installOptions`에 추가합니다:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(\\n fullHandle: \\\"{account-handle}/{project-handle}\\\",\\n project: .tuist(\\n installOptions: .options(passthroughSwiftPackageManagerArguments: [\\\"--replace-scm-with-registry\\\"])\\n )\\n)\\n```\\n\\n의존성을 가져올 때마다 항상 레지스트리를 사용하게 하려면, `Tuist/Package.swift` 파일의 `dependencies` 에서 URL 대신 레지스트리 식별자(registry identifier)를 사용해야 합니다. 레지스트리 식별자는 항상 `{organization}.{repository}` 형식으로 구성됩니다. 예를 들어, `swift-composable-architecture` 패키지를 레지스트리를 통해 가져오고자 할 경우, 다음과 같이 작성합니다.\\n\\n```diff\\ndependencies: [\\n- .package(url: \\\"https://github.com/pointfreeco/swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n+ .package(id: \\\"pointfreeco.swift-composable-architecture\\\", from: \\\"0.1.0\\\")\\n]\\n```\\n\",\"title\":\"XcodeProj 기반으로 패키지를 구성한 프로젝트\",\"frontmatter\":{\"URL\":\"/ko/guides/features/registry/xcodeproj-integration\",\"LLMS_URL\":\"/ko/guides/features/registry/xcodeproj-integration.md\",\"title\":\"XcodeProj 기반으로 패키지를 구성한 프로젝트\",\"titleTemplate\":\":title · Registry · Develop · Guides · Tuist\",\"description\":\"Tuist Registry를 XcodeProj 방식으로 구성된 Xcode 프로젝트에서 활용하는 방법을 학습합니다.\"}},{\"path\":\"/ko/guides/features/selective-testing.md\",\"url\":\"/ko/guides/features/selective-testing\",\"llmUrl\":\"/ko/guides/features/selective-testing.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/selective-testing\\\"\\nLLMS_URL: \\\"/ko/guides/features/selective-testing.md\\\"\\ntitle: \\\"Selective testing\\\"\\ntitleTemplate: \\\":title · Develop · Guides · Tuist\\\"\\ndescription: \\\"마지막 성공한 테스트 수행 이후에 변경된 테스트만 수행하기 위해 선택적 테스트를 사용합니다.\\\"\\n---\\n\\n# Selective testing {#selective-testing}\\n\\n프로젝트가 커질 수록 테스트 수도 증가합니다. 오랜 시간 동안 모든 PR 또는 `main`에 푸시할 때마다 전체 테스트를 수행하면 수 초의 시간이 걸렸습니다. 하지만 이 방법은 팀이 가진 수천 개의 테스트에는 적합하지 않습니다.\\n\\nCI에서 테스트를 실행할 때마다 변경 사항에 관계없이 모든 테스트를 다시 실행할 가능성이 높습니다. Tuist의 선택적 테스트는 우리의 hashing algorithm을 기반으로 마지막 성공적인 테스트 이후에 변경된 테스트만 실행하여 테스트 자체의 실행 속도를 크게 높일 수 있도록 도와줍니다.\\n\\n선택적 테스트는 모든 Xcode 프로젝트를 지원하는 `xcodebuild` 에서 작동합니다. 또한, Tuist를 사용하여 프로젝트를 만들었을 경우 binary cache와 같은 추가 편의성을 제공하는 `tuist test` 명령어를 대신 사용할 수도 있습니다. 선택적 테스트를 시작하려면, 프로젝트 설정에 따른 지침을 따르세요:\\n\\n- xcodebuild\\n- 생성된 프로젝트\\n\\n> [!WARNING] 모듈 VS 파일 단위 세분화\\\\\\n> 테스트와 소스 코드 간의 의존성을 코드 내에서 파악할 수 없으므로 선택적 테스트의 세분화는 파일 단위에서만 가능합니다. 따라서 선택적 테스트의 이점을 극대화 하려면 파일을 작고 집중적으로 유지하길 권장합니다.\\n\\n> [!WARNING] 테스트 커버리지\\\\\\n> 테스트 커버리지 도구는 전체 테스트 스위트가 한 번에 실행된다는 전제를 기반으로 하기 때문에, 선택적 테스트 수행과는 호환되지 않습니다. 이는 커버리지 데이터가 실제 상황을 반영하지 않을 수 있다는 것을 의미합니다. 이것은 이미 알려진 문제이며, 잘못된 사용은 아닙니다. 커버리지가 유의미한 인사이트를 제공하는지 고민해 보길 바랍니다. 만약 그렇다면, 선택적 수행에서도 커버리지가 제대로 동작할 수 있도록 개선하는 방안을 이미 고민하고 있다는 점에서 안심해도 됩니다.\\n\\n## Pull/merge request 의견 {#pullmerge-request-comments}\\n\\n> [!IMPORTANT] GIT 플랫폼 연동 필요\\\\\\n> 자동으로 pull/merge request 의견을 받으려면, <0>Tuist 프로젝트0>를 <1>Git 플랫폼1>과 연동해야 합니다.\\n\\nTuist 프로젝트를 [GitHub](https://github.com)와 같은 Git 플랫폼과 연결하고, CI 워크플로우로 `tuist xcodebuild test`나 `tuist test`를 사용하기 시작하면, Tuist는 실행된 테스트와 건너뛴 테스트 정보를 포함하여 pull/merge request에 직접 의견을 남깁니다:\\n\\n\",\"title\":\"Selective testing\",\"frontmatter\":{\"URL\":\"/ko/guides/features/selective-testing\",\"LLMS_URL\":\"/ko/guides/features/selective-testing.md\",\"title\":\"Selective testing\",\"titleTemplate\":\":title · Develop · Guides · Tuist\",\"description\":\"마지막 성공한 테스트 수행 이후에 변경된 테스트만 수행하기 위해 선택적 테스트를 사용합니다.\"}},{\"path\":\"/ko/guides/features/selective-testing/generated-project.md\",\"url\":\"/ko/guides/features/selective-testing/generated-project\",\"llmUrl\":\"/ko/guides/features/selective-testing/generated-project.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/selective-testing/generated-project\\\"\\nLLMS_URL: \\\"/ko/guides/features/selective-testing/generated-project.md\\\"\\ntitle: \\\"Generated project\\\"\\ntitleTemplate: \\\":title · Selective testing · Develop · Guides · Tuist\\\"\\ndescription: \\\"생성된 프로젝트에서 선택적 테스트를 활용하는 방법을 배워봅니다.\\\"\\n---\\n\\n# Generated project {#generated-project}\\n\\n> [!IMPORTANT] 요구 사항\\n>\\n> - 생성된 프로젝트\\n> - Tuist 계정과 프로젝트\\n\\n생성된 프로젝트에서 선택적으로 테스트를 실행하려면 `tuist test` 명령어를 사용하세요. 이 명령어는 캐시 워밍과 동일한 방식으로 Xcode 프로젝트를 해시하며, 성공적으로 실행되면 다음 실행 시 변경 사항을 파악하기 위해 해시 값을 저장합니다.\\n\\n다음에 실행하면 `tuist test`는 해시를 사용하여 마지막으로 성공적으로 실행된 테스트 이후 변경된 테스트만 선별합니다.\\n\\n예를 들어, 다음과 같은 의존성 그래프가 있다고 가정해 봅니다:\\n\\n- `FeatureA`는 `FeatureATests`를 가지며, `Core`에 의존\\n- `FeatureB`는 `FeatureBTests`를 가지며, `Core`에 의존\\n- `Core`는 `CoreTests`를 가짐\\n\\n`tuist test`는 다음과 같이 동작합니다:\\n\\n| Action | Description | Internal state |\\n| --------------- | ---------------------------------------------------------- | ------------------------------------------------------------ |\\n| `tuist test` 호출 | `CoreTests`, `FeatureATests`, 그리고 `FeatureBTests`에서 테스트 실행 | `FeatureATests`, `FeatureBTests`, 그리고 `CoreTests`의 해시 저장 |\\n| `FeatureA` 업데이트 | 개발자가 해당 타겟의 코드를 수정 | 이전과 동일 |\\n| `tuist test` 호출 | `FeatureATests`의 해시가 변경되었으므로 `FeatureATests`의 테스트 실행 | `FeatureATests`의 새로운 해시 저장 |\\n| `Core` 업데이트 | 개발자가 해당 타겟의 코드를 수정 | 이전과 동일 |\\n| `tuist test` 호출 | `CoreTests`, `FeatureATests`, 그리고 `FeatureBTests`에서 테스트 실행 | `FeatureATests`, `FeatureBTests`, 그리고 `CoreTests`의 새로운 해시 저장 |\\n\\n`tuist test`는 바이너리 캐싱을 활용하여 테스트를 실행할 때 로컬이나 원격 스토리지에서 가능한 많은 바이너리를 사용함으로써 빌드 시간을 단축합니다. 선택적 테스트와 바이너리 캐싱의 조합은 CI에서 테스트를 수행하는 시간을 극적으로 줄일 수 있습니다.\\n\\n## UI 테스트 {#ui-tests}\\n\\nTuist는 UI 테스트의 선택적 테스트를 지원합니다. 그러나 Tuist는 사전에 테스트 대상을 알아야 합니다. 다음과 같이, `destination` 파라미터를 지정한 경우에만, Tuist는 선택적 UI 테스트를 수행할 수 있습니다:\\n\\n```sh\\ntuist test --device 'iPhone 14 Pro'\\n# or\\ntuist test -- -destination 'name=iPhone 14 Pro'\\n# or\\ntuist test -- -destination 'id=SIMULATOR_ID'\\n```\\n\",\"title\":\"Generated project\",\"frontmatter\":{\"URL\":\"/ko/guides/features/selective-testing/generated-project\",\"LLMS_URL\":\"/ko/guides/features/selective-testing/generated-project.md\",\"title\":\"Generated project\",\"titleTemplate\":\":title · Selective testing · Develop · Guides · Tuist\",\"description\":\"생성된 프로젝트에서 선택적 테스트를 활용하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/features/selective-testing/xcode-project.md\",\"url\":\"/ko/guides/features/selective-testing/xcode-project\",\"llmUrl\":\"/ko/guides/features/selective-testing/xcode-project.md\",\"content\":\"---\\nURL: \\\"/ko/guides/features/selective-testing/xcode-project\\\"\\nLLMS_URL: \\\"/ko/guides/features/selective-testing/xcode-project.md\\\"\\ntitle: \\\"Xcode project\\\"\\ntitleTemplate: \\\":title · Selective testing · Develop · Guides · Tuist\\\"\\ndescription: \\\"`xcodebuild`를 이용한 선택적 테스팅을 활용하는 방법 배우기.\\\"\\n---\\n\\n# Xcode project {#xcode-project}\\n\\n> [!IMPORTANT] 요구 사항\\n>\\n> - Tuist 계정과 프로젝트\\n\\n명령어를 통해 선택적으로 Xcode 프로젝트 테스트를 수행할 수 있습니다. 예를 들어서, `tuist xcodebuild test -scheme App`와 같이 사용할 수 있습니다. 해당 명령어 수행이 성공하면 프로젝트를 해시하고 다음 실행 시 변경 사항을 파악하기 위해 해시 값을 저장합니다.\\n\\n`tuist xcodebuild test`는 해시를 이용하여 테스트들을 필터링하고 가장 최근에 성공한 테스트 실행과 비교하여 변경된 부분이 있는 테스트만 재실행합니다.\\n\\n예를 들어, 다음과 같은 의존성 그래프가 있다고 가정해 봅니다:\\n\\n- `FeatureA`는 `FeatureATests`를 가지며, `Core`에 의존\\n- `FeatureB`는 `FeatureBTests`를 가지며, `Core`에 의존\\n- `Core`는 `CoreTests`를 가짐\\n\\n`tuist xcodebuild test`는 다음과 같이 동작합니다:\\n\\n| Action | Description | Internal state |\\n| -------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------ |\\n| `tuist xcodebuild test` 실행 | `CoreTests`, `FeatureATests`, 그리고 `FeatureBTests`에서 테스트 실행 | `FeatureATests`, `FeatureBTests`, 그리고 `CoreTests`의 해시 저장 |\\n| `FeatureA` 업데이트 | 개발자가 해당 타겟의 코드를 수정 | 이전과 동일 |\\n| `tuist xcodebuild test` 실행 | `FeatureATests`의 해시가 변경되었으므로 `FeatureATests`의 테스트 실행 | `FeatureATests`의 새로운 해시 저장 |\\n| `Core` 업데이트 | 개발자가 해당 타겟의 코드를 수정 | 이전과 동일 |\\n| `tuist xcodebuild test` 실행 | `CoreTests`, `FeatureATests`, 그리고 `FeatureBTests`에서 테스트 실행 | `FeatureATests`, `FeatureBTests`, 그리고 `CoreTests`의 새로운 해시 저장 |\\n\\n`tuist xcodebuild test` 을 CI에서 사용하기 위해서는, Continuous integration guide에 나와있는 설명을 참고하시면 됩니다.\\n\\n선택적 테스트에 대한 영상을 확인해 보세요:\\n\\n\\n\",\"title\":\"Xcode project\",\"frontmatter\":{\"URL\":\"/ko/guides/features/selective-testing/xcode-project\",\"LLMS_URL\":\"/ko/guides/features/selective-testing/xcode-project.md\",\"title\":\"Xcode project\",\"titleTemplate\":\":title · Selective testing · Develop · Guides · Tuist\",\"description\":\"`xcodebuild`를 이용한 선택적 테스팅을 활용하는 방법 배우기.\"}},{\"path\":\"/ko/guides/integrations/continuous-integration.md\",\"url\":\"/ko/guides/integrations/continuous-integration\",\"llmUrl\":\"/ko/guides/integrations/continuous-integration.md\",\"content\":\"---\\nURL: \\\"/ko/guides/integrations/continuous-integration\\\"\\nLLMS_URL: \\\"/ko/guides/integrations/continuous-integration.md\\\"\\ntitle: \\\"Continuous Integration (CI)\\\"\\ntitleTemplate: \\\":title · Automate · Guides · Tuist\\\"\\ndescription: \\\"CI 워크플로우에서 Tuist를 사용하는 방법에 대해 알아보세요.\\\"\\n---\\n\\n# Continuous Integration (CI) {#continuous-integration-ci}\\n\\nTuist를 [CI(Continuous Integration)](https://en.wikipedia.org/wiki/Continuous_integration) 환경에서 사용할 수 있습니다. 다음 섹션에서는 다양한 CI 플랫폼에서 이를 수행하는 방법에 대한 예시를 제공합니다.\\n\\n## Examples {#examples}\\n\\nCI 워크플로우에서 Tuist 명령어를 실행하려면, CI 환경에 Tuist를 설치해야 합니다.\\n\\n### Xcode Cloud {#xcode-cloud}\\n\\n[Xcode Cloud](https://developer.apple.com/xcode-cloud/)에서는 Xcode 프로젝트를 진실 공급원(source of truth)으로 사용하기 때문에, [post-clone](https://developer.apple.com/documentation/xcode/writing-custom-build-scripts#Create-a-custom-build-script) 스크립트를 추가하여 Tuist를 설치하고 필요한 명령어를 실행해야 합니다. 예를 들어 `tuist generate` 명령어를 실행합니다:\\n\\n:::code-group\\n\\n```bash [Mise]\\n#!/bin/sh\\ncurl https://mise.jdx.dev/install.sh | sh\\nmise install # Installs the version from .mise.toml\\n\\n# Runs the version of Tuist indicated in the .mise.toml file {#runs-the-version-of-tuist-indicated-in-the-misetoml-file}\\nmise exec -- tuist generate\\n```\\n\\n```bash [Homebrew]\\n#!/bin/sh\\nbrew install --formula [email protected]\\n\\ntuist generate\\n```\\n\\n:::\\n\\n### Codemagic {#codemagic}\\n\\n[Codemagic](https://codemagic.io)에서 워크플로우에 Tuist를 설치하는 추가 단계를 다음과 같이 추가할 수 있습니다:\\n\\n::: code-group\\n\\n```yaml [Mise]\\nworkflows:\\n lint:\\n name: Build\\n max_build_duration: 30\\n environment:\\n xcode: 15.0.1\\n scripts:\\n - name: Install Mise\\n script: |\\n curl https://mise.jdx.dev/install.sh | sh\\n mise install # Installs the version from .mise.toml\\n - name: Build\\n script: mise exec -- tuist build\\n```\\n\\n```yaml [Homebrew]\\nworkflows:\\n lint:\\n name: Build\\n max_build_duration: 30\\n environment:\\n xcode: 15.0.1\\n scripts:\\n - name: Install Tuist\\n script: |\\n brew install --formula [email protected]\\n - name: Build\\n script: tuist build\\n```\\n\\n:::\\n\\n### GitHub Actions {#github-actions}\\n\\nOn [GitHub Actions](https://docs.github.com/en/actions) you can add an additional step to install Tuist, and in the case of managing the installation of Mise, you can use the [mise-action](https://github.com/jdx/mise-action), which abstracts the installation of Mise and Tuist:\\n\\n::: code-group\\n\\n```yaml [Mise]\\nname: Build Application\\non:\\n pull_request:\\n branches:\\n - main\\n push:\\n branches:\\n - main\\njobs:\\n build:\\n runs-on: macos-latest\\n steps:\\n - uses: actions/checkout@v3\\n - uses: jdx/mise-action@v2\\n - run: tuist build\\n```\\n\\n```yaml [Homebrew]\\nname: test\\non:\\n pull_request:\\n branches:\\n - main\\n push:\\n branches:\\n - main\\njobs:\\n lint:\\n runs-on: macos-latest\\n steps:\\n - uses: actions/checkout@v3\\n - run: brew install --formula [email protected]\\n - run: tuist build\\n```\\n\\n:::\\n\\n:::tip\\nTuist 프로젝트에서 환경 간 Tuist 버전을 고정하려면 `mise use -pin` 명령어를 사용하는 것을 권장합니다. 이 명령어는 Tuist의 버전을 포함하는 `.tool-version` 파일을 생성합니다.\\n:::\\n\\n## 인증 {#authentication}\\n\\ncache와 같은 server-side 기능을 사용할 때, CI 워크플로우에서 서버로 가는 요청을 인증할 방법이 필요합니다. 이를 위해, 다음 명령어를 실행하여 프로젝트 범위의 토큰을 생성할 수 있습니다.\\n\\n```bash\\ntuist project tokens create my-handle/MyApp\\n```\\n\\n이 명령어는 `my-account/my-project`라는 전체 핸들을 가진 프로젝트에 대한 토큰을 생성합니다. 해당 값을 CI 환경의 `TUIST_CONFIG_TOKEN` 환경 변수로 설정하고, secret으로 설정하여 노출되지 않도록 합니다.\\n\\n> [!IMPORTANT] CI 환경 감지\\n> Tuist는 CI 환경에서 실행 중임을 감지할 때만 토큰을 사용합니다. CI 환경이 감지되지 않는 경우, 환경 변수 `CI`를 `1`로 설정하여 토큰 사용을 강제할 수 있습니다.\\n\",\"title\":\"Continuous Integration (CI)\",\"frontmatter\":{\"URL\":\"/ko/guides/integrations/continuous-integration\",\"LLMS_URL\":\"/ko/guides/integrations/continuous-integration.md\",\"title\":\"Continuous Integration (CI)\",\"titleTemplate\":\":title · Automate · Guides · Tuist\",\"description\":\"CI 워크플로우에서 Tuist를 사용하는 방법에 대해 알아보세요.\"}},{\"path\":\"/ko/guides/integrations/gitforge/github.md\",\"url\":\"/ko/guides/integrations/gitforge/github\",\"llmUrl\":\"/ko/guides/integrations/gitforge/github.md\",\"content\":\"---\\nURL: \\\"/ko/guides/integrations/gitforge/github\\\"\\nLLMS_URL: \\\"/ko/guides/integrations/gitforge/github.md\\\"\\ntitle: \\\"GitHub\\\"\\ntitleTemplate: \\\":title | Git forges | Integrations | Guides | Tuist\\\"\\ndescription: \\\"Tuist를 다른 툴과 서비스에 연결하는 방법을 배워봅니다.\\\"\\n---\\n\\n# Integrations {#integrations}\\n\\n우리는 개발자들이 [GitHub](https://github.com)에서 Pull Request를 검토하거나 [Slack](https://slack.com)에서 팀과 소통하는 것과 같이 코딩 환경 밖에서도 시간을 보내기 때문에 개발자들이 있는 곳에서 그들을 만나야 한다고 생각합니다. 그래서 우리는 Tuist를 워크플로우에서 더 쉽게 사용할 수 있도록 인기있는 툴과 서비스와의 통합을 구축했습니다. 이 페이지에서는 현재 지원하고 있는 통합 목록을 나타냅니다.\\n\\n## Git 플랫폼 {#git-platforms}\\n\\nGit 리포지토리는 대부분의 소프트웨어 프로젝트에서 핵심적인 역할을 하고 있습니다. 우리는 Git 플랫폼과 통합하여 Pull Request에서 바로 Tuist와 관련된 유용한 정보를 제공하거나 기본 브랜치 동기화와 같은 설정을 자동으로 처리합니다.\\n\\n### GitHub {#github}\\n\\n[Tuist GitHub 앱](https://github.com/marketplace/tuist)을 설치합니다. 설치하면, Tuist에 리포지토리 URL을 알려줘야 합니다, 예를 들어:\\n\\n```sh\\ntuist project update tuist/tuist --repository-url https://github.com/tuist/tuist\\n```\\n\",\"title\":\"GitHub\",\"frontmatter\":{\"URL\":\"/ko/guides/integrations/gitforge/github\",\"LLMS_URL\":\"/ko/guides/integrations/gitforge/github.md\",\"title\":\"GitHub\",\"titleTemplate\":\":title | Git forges | Integrations | Guides | Tuist\",\"description\":\"Tuist를 다른 툴과 서비스에 연결하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/integrations/sso.md\",\"url\":\"/ko/guides/integrations/sso\",\"llmUrl\":\"/ko/guides/integrations/sso.md\",\"content\":\"---\\nURL: \\\"/ko/guides/integrations/sso\\\"\\nLLMS_URL: \\\"/ko/guides/integrations/sso.md\\\"\\ntitle: \\\"SSO\\\"\\ntitleTemplate: \\\":title | Integrations | Guides | Tuist\\\"\\ndescription: \\\"Learn how to set up Single Sign-On (SSO) with your organization.\\\"\\n---\\n\\n# SSO {#sso}\\n\\nIf you have a Google Workspace organization and you want any developer who signs in with the same Google hosted domain to be added to your Tuist organization, you can set it up with:\\n```bash\\ntuist organization update sso my-organization --provider google --organization-id my-google-domain.com\\n```\\n\\nFor on-premise customers that have Okta set up, you can get the same behavior as for Google by running:\\n```bash\\ntuist organization update sso my-organization --provider okta --organization-id my-okta-domain.com\\n```\\n\\n> [!IMPORTANT]\\n> You must be authenticated with Google using an email tied to the organization whose domain you are setting up.\",\"title\":\"SSO\",\"frontmatter\":{\"URL\":\"/ko/guides/integrations/sso\",\"LLMS_URL\":\"/ko/guides/integrations/sso.md\",\"title\":\"SSO\",\"titleTemplate\":\":title | Integrations | Guides | Tuist\",\"description\":\"Learn how to set up Single Sign-On (SSO) with your organization.\"}},{\"path\":\"/ko/guides/quick-start/add-dependencies.md\",\"url\":\"/ko/guides/quick-start/add-dependencies\",\"llmUrl\":\"/ko/guides/quick-start/add-dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/guides/quick-start/add-dependencies\\\"\\nLLMS_URL: \\\"/ko/guides/quick-start/add-dependencies.md\\\"\\ntitle: \\\"Add dependencies\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"첫 번째 Swift 프로젝트에 의존성을 추가하는 방법을 배웁니다.\\\"\\n---\\n\\n# 의존성 추가하기 {#add-dependencies}\\n\\n프로젝트에서 추가 기능을 제공하기 위해 서드 파티 라이브러리에 의존하는 것은 일반적입니다. 의존성을 추가하기 위해서는 다음의 명령어를 수행하여 프로젝트를 편집합니다:\\n\\n```bash\\ntuist edit\\n```\\n\\n프로젝트 파일이 포함된 Xcode 프로젝트가 열립니다. `Package.swift`를 수정하고 추가\\n\\n```swift\\n// swift-tools-version: 5.9\\nimport PackageDescription\\n\\n#if TUIST\\n import ProjectDescription\\n\\n let packageSettings = PackageSettings(\\n // Customize the product types for specific package product\\n // Default is .staticFramework\\n // productTypes: [\\\"Alamofire\\\": .framework,]\\n productTypes: [:]\\n )\\n#endif\\n\\nlet package = Package(\\n name: \\\"MyApp\\\",\\n dependencies: [\\n // Add your own dependencies here:\\n // .package(url: \\\"https://github.com/Alamofire/Alamofire\\\", from: \\\"5.0.0\\\"),\\n // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies\\n .package(url: \\\"https://github.com/onevcat/Kingfisher\\\", .upToNextMajor(from: \\\"7.12.0\\\")) // [!code ++]\\n ]\\n)\\n```\\n\\n그런 다음에 프로젝트의 애플리케이션 타겟을 수정하여 의존성으로 `Kingfisher`를 선언합니다:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet project = Project(\\n name: \\\"MyApp\\\",\\n targets: [\\n .target(\\n name: \\\"MyApp\\\",\\n destinations: .iOS,\\n product: .app,\\n bundleId: \\\"io.tuist.MyApp\\\",\\n infoPlist: .extendingDefault(\\n with: [\\n \\\"UILaunchStoryboardName\\\": \\\"LaunchScreen.storyboard\\\",\\n ]\\n ),\\n sources: [\\\"MyApp/Sources/**\\\"],\\n resources: [\\\"MyApp/Resources/**\\\"],\\n dependencies: [\\n .external(name: \\\"Kingfisher\\\") // [!code ++]\\n ]\\n ),\\n .target(\\n name: \\\"MyAppTests\\\",\\n destinations: .iOS,\\n product: .unitTests,\\n bundleId: \\\"io.tuist.MyAppTests\\\",\\n infoPlist: .default,\\n sources: [\\\"MyApp/Tests/**\\\"],\\n resources: [],\\n dependencies: [.target(name: \\\"MyApp\\\")]\\n ),\\n ]\\n)\\n```\\n\\n그런 다음에 `tuist install`을 수행해서 [Swift Package Manager](https://www.swift.org/documentation/package-manager/)를 사용하여 의존성을 해결하고 가져옵니다.\\n\\n> [!NOTE] 의존성 해결 도구로 SPM\\n> Tuist는 의존성을 해결하는 데에만 Swift Package Manager (SPM) 을 사용하도록 권장합니다. 그런 다음에 Tuist는 이를 최대한의 구성 가능성과 제어를 위해 Xcode 프로젝트와 타겟으로 변환합니다.\\n\\n## 프로젝트 시각화 {#visualize-the-project}\\n\\n다음 명령어를 통해 프로젝트를 시각화 할 수 있습니다:\\n\\n```bash\\ntuist graph\\n```\\n\\n이 명령어는 프로젝트의 디렉토리에 `graph.png` 파일을 생성하고 엽니다.\\n\\n\\n\\n## 의존성 사용 {#use-the-dependency}\\n\\nXcode에서 프로젝트를 열기 위해 `tuist generate`를 수행하고 `ContentView.swift` 파일에 다음의 변경 사항을 적용합니다:\\n\\n```swift\\nimport SwiftUI\\nimport Kingfisher // [!code ++]\\n\\npublic struct ContentView: View {\\n public init() {}\\n\\n public var body: some View {\\n Text(\\\"Hello, World!\\\") // [!code --]\\n .padding() // [!code --]\\n KFImage(URL(string: \\\"https://cloud.tuist.io/images/[email protected]\\\")!) // [!code ++]\\n }\\n}\\n\\n\\nstruct ContentView_Previews: PreviewProvider {\\n static var previews: some View {\\n ContentView()\\n }\\n}\\n```\\n\\nXcode에서 앱을 실행하고 URL로 이미지가 출력되는 것을 볼 수 있습니다.\\n\",\"title\":\"Add dependencies\",\"frontmatter\":{\"URL\":\"/ko/guides/quick-start/add-dependencies\",\"LLMS_URL\":\"/ko/guides/quick-start/add-dependencies.md\",\"title\":\"Add dependencies\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"첫 번째 Swift 프로젝트에 의존성을 추가하는 방법을 배웁니다.\"}},{\"path\":\"/ko/guides/quick-start/gather-insights.md\",\"url\":\"/ko/guides/quick-start/gather-insights\",\"llmUrl\":\"/ko/guides/quick-start/gather-insights.md\",\"content\":\"---\\nURL: \\\"/ko/guides/quick-start/gather-insights\\\"\\nLLMS_URL: \\\"/ko/guides/quick-start/gather-insights.md\\\"\\ntitle: \\\"Gather insights\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"프로젝트에서 인사이트를 수집하는 방법에 대해 배웁니다.\\\"\\n---\\n\\n# Gather insights {#gather-insights}\\n\\nTuist는 기능을 확장하기 위해 서버와 통합할 수 있습니다. 프로젝트와 빌드에 대해 인사이트를 수집하는 것이 그 기능 중에 하나입니다. 서버의 프로젝트에 필요한 계정만 있으면 됩니다.\\n\\n먼저, 다음을 수행하여 인증을 해야 합니다:\\n\\n```bash\\ntuist auth login\\n```\\n\\n## Create a project {#create-a-project}\\n\\n그런 다음에 다음을 수행하여 프로젝트를 생성할 수 있습니다:\\n\\n```bash\\ntuist project create my-handle/MyApp\\n\\n# Tuist project my-handle/MyApp was successfully created 🎉 {#tuist-project-myhandlemyapp-was-successfully-created-}\\n```\\n\\n프로젝트의 전체 식별자를 나타내는 `my-handle/MyApp`을 복사합니다.\\n\\n## 프로젝트 연결 {#connect-projects}\\n\\n서버에 프로젝트를 생성한 후에 로컬 프로젝트와 연결해야 합니다. `tuist edit`를 수행하고 프로젝트의 전체 처리를 포함하기 위해 `Tuist.swift` 파일을 수정합니다:\\n\\n```swift\\nimport ProjectDescription\\n\\nlet tuist = Tuist(fullHandle: \\\"my-handle/MyApp\\\")\\n```\\n\\nVoilà! 이제 프로젝트와 빌드에 대한 인사이트를 수집하기 위한 준비가 되었습니다. `tuist test`를 수행하여 테스트를 수행하고 서버에 결과를 전송합니다.\\n\\n> [!NOTE]\\\\\\n> Tuist는 결과를 로컬의 대기열에 추가하여 차단없이 전송을 시도합니다. 그러므로 명령어가 종료된 후에 바로 전송되지 않을 수 있습니다. CI에서 결과는 바로 전송됩니다.\\n\\n\\n\\n프로젝트와 빌드에서 얻은 데이터는 정보에 입각한 결정을 내리는데 중요합니다.\\nTuist는 계속해서 기능을 확장하고 프로젝트 구성 변경 없이 이러한 기능을 사용할 수 있습니다. 마법 같지 않나요? 🪄\\n\",\"title\":\"Gather insights\",\"frontmatter\":{\"URL\":\"/ko/guides/quick-start/gather-insights\",\"LLMS_URL\":\"/ko/guides/quick-start/gather-insights.md\",\"title\":\"Gather insights\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"프로젝트에서 인사이트를 수집하는 방법에 대해 배웁니다.\"}},{\"path\":\"/ko/guides/quick-start/get-started.md\",\"url\":\"/ko/guides/quick-start/get-started\",\"llmUrl\":\"/ko/guides/quick-start/get-started.md\",\"content\":\"---\\nURL: \\\"/ko/guides/quick-start/get-started\\\"\\nLLMS_URL: \\\"/ko/guides/quick-start/get-started.md\\\"\\ntitle: \\\"Get started\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"Tuist를 설치하는 방법을 알아보세요.\\\"\\n---\\n\\n# Get started {#get-started}\\n\\n어떤 디렉토리나 Xcode 프로젝트 또는 워크스페이스 디렉토리에서 Tuist를 시작하는 가장 쉬운 방법은 다음과 같습니다:\\n\\n::: code-group\\n\\n```bash [Mise]\\nmise x tuist@latest -- tuist init\\n```\\n\\n```bash [Global Tuist (Homebrew)]\\ntuist init\\n```\\n\\n:::\\n\\n이 명령어는 생성된 프로젝트를 만들거나 기존의 Xcode 프로젝트 또는 워크스페이스를 통합하는 과정을 안내합니다. 이 설정을 서버에 연결하여 선택적 테스트, 프리뷰, 레지스트리와 같은 기능을 사용할 수 있도록 도와줍니다.\\n\\n> [!NOTE] 기존 프로젝트 마이그레이션\\\\\\n> 더 나은 개발자 경험과 캐시를 활용하기 위해 기존 프로젝트를 생성된 프로젝트로 마이그레이션 하기 원한다면 마이그레이션 가이드를 참고 바랍니다.\\n\",\"title\":\"Get started\",\"frontmatter\":{\"URL\":\"/ko/guides/quick-start/get-started\",\"LLMS_URL\":\"/ko/guides/quick-start/get-started.md\",\"title\":\"Get started\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"Tuist를 설치하는 방법을 알아보세요.\"}},{\"path\":\"/ko/guides/quick-start/install-tuist.md\",\"url\":\"/ko/guides/quick-start/install-tuist\",\"llmUrl\":\"/ko/guides/quick-start/install-tuist.md\",\"content\":\"---\\nURL: \\\"/ko/guides/quick-start/install-tuist\\\"\\nLLMS_URL: \\\"/ko/guides/quick-start/install-tuist.md\\\"\\ntitle: \\\"Install Tuist\\\"\\ntitleTemplate: \\\":title · Quick-start · Guides · Tuist\\\"\\ndescription: \\\"Tuist를 설치하는 방법을 알아보세요.\\\"\\n---\\n\\n# Install Tuist {#install-tuist}\\n\\nTuist CLI는 실행 가능한 동적 프레임워크와 일련의 리소스(예: 템플릿)로 구성되어 있습니다. [소스에서](https://github.com/tuist/tuist) 수동으로 Tuist를 빌드할 수도 있지만, **올바른 설치를 위해 다음 설치 방법 중 하나를 사용하는 것이 좋습니다.**\\n\\n### Mise {#recommended-mise}\\n\\n:::info\\nMise는 여러 환경에서 툴의 버전을 일관되게 유지가 필요한 팀이나 조직에 추천되는 [Homebrew](https://brew.sh)의 대안입니다.\\n:::\\n\\n다음의 명령어를 통해 Tuist를 설치할 수 있습니다:\\n\\n```bash\\nmise install tuist # .tool-versions/.mise.toml에 지정된 현재 버전을 설치합니다.\\nmise install [email protected] # 특정 버전 설치\\nmise install tuist@3 # 주요 버전 설치\\n```\\n\\n단일 버전의 도구를 시스템 전반에 걸쳐 설치 및 활성화하는 Homebrew와 같은 도구와 달리 **Mise는 버전을 시스템 전체에 또는 프로젝트별로 활성화해야 한다는 점**에 유의하세요. 이 작업은 `mise use`를 실행하여 수행합니다.\\n\\n```bash\\nmise use [email protected] # 현재 프로젝트에서 tuist-x.y.z 사용\\nmise use tuist@latest # 현재 디렉터리에서 최신 tuist를 사용합니다.\\nmise use -g [email protected] # 시스템의 기본값으로 tuist-x.y.z 사용\\nmise use -g tuist@system # 시스템의 tuist를 전역 기본값으로 사용합니다.\\n```\\n\\n### Homebrew{#recommended-homebrew}\\n\\nTuist는 [Homebrew](https://brew.sh) 와 [우리의 전용 설치 스크립트](https://github.com/tuist/homebrew-tuist)를 통해 설치할 수 있습니다:\\n\\n```bash\\nbrew tap tuist/tuist\\nbrew install --formula tuist\\nbrew install --formula [email protected]\\n```\\n\\n:::tip 바이너리 파일의 신뢰성 검증\\n\\n```bash\\ncurl -fsSL \\\"https://docs.tuist.dev/verify.sh\\\" | bash\\n```\\n\\n:::\\n\",\"title\":\"Install Tuist\",\"frontmatter\":{\"URL\":\"/ko/guides/quick-start/install-tuist\",\"LLMS_URL\":\"/ko/guides/quick-start/install-tuist.md\",\"title\":\"Install Tuist\",\"titleTemplate\":\":title · Quick-start · Guides · Tuist\",\"description\":\"Tuist를 설치하는 방법을 알아보세요.\"}},{\"path\":\"/ko/guides/server/accounts-and-projects.md\",\"url\":\"/ko/guides/server/accounts-and-projects\",\"llmUrl\":\"/ko/guides/server/accounts-and-projects.md\",\"content\":\"---\\nURL: \\\"/ko/guides/server/accounts-and-projects\\\"\\nLLMS_URL: \\\"/ko/guides/server/accounts-and-projects.md\\\"\\ntitle: \\\"Accounts and projects\\\"\\ntitleTemplate: \\\":title | Server | Guides | Tuist\\\"\\ndescription: \\\"Tuist에서 계정과 프로젝트를 생성하고 관리하는 방법을 배워봅니다.\\\"\\n---\\n\\n# Accounts and projects {#accounts-and-projects}\\n\\n## 계정 {#accounts}\\n\\n서버를 사용하려면 계정이 필요합니다. 계정은 두 가지 타입이 있습니다:\\n\\n- **개인 계정:** 이러한 계정은 회원 가입 시 자동으로 생성되고 아이디는 제공하는 서비스 (예: GitHub) 에서 얻거나 이메일 주소의 첫번째 부분으로 설정됩니다.\\n- **조직 계정:** 이러한 계정은 수동으로 생성되고 개발자가 지정한 아이디로 설정합니다. 조직 계정은 프로젝트의 협업자로 멤버를 추가할 수 있습니다.\\n\\n[GitHub](https://github.com)에 익숙하다면 개인 계정과 조직 계정을 가질 수 있고 이 계정들은 URL을 구성할 때 식별자로 사용된다는 개념과 유사합니다.\\n\\n> [!NOTE] CLI-FIRST\\\\\\n> 계정과 프로젝트를 관리하기 위한 동작은 대부분 CLI를 통해서 수행됩니다. 우리는 계정과 프로젝트를 쉽게 관리하기 위한 웹 인터페이스를 개발 중입니다.\\n\\n`tuist organization` 하위 명령어를 통해 조직을 관리할 수 있습니다. 새로운 조직 계정을 생성하기 위해 다음과 같이 수행합니다:\\n\\n```bash\\ntuist organization create {account-handle}\\n```\\n\\n## 프로젝트 {#projects}\\n\\nTuist 프로젝트든 Xcode 프로젝트든 원격 프로젝트를 통해 계정과 통합되어야 합니다. GitHub와 계속 비교해 보면, 변경 사항을 푸시할 수 있는 로컬 리포지토리와 원격 리포지토리와 비슷합니다. 프로젝트를 생성하고 관리하기 위해 `tuist project`를 사용할 수 있습니다.\\n\\n프로젝트는 조직 식별자와 프로젝트 식별자를 결합한 전체 식별자로 식별됩니다. 예를 들어, `tuist`라는 식별자를 가진 조직과 `tuist`라는 식별자를 가지는 프로젝트가 있다면, 전체 식별자는 `tuist/tuist` 입니다.\\n\\n로컬 프로젝트와 원격 프로젝트 간의 연결은 구성 파일을 통해 이루어집니다. 아무런 구성 파일이 없다면 `Tuist.swift` 파일을 생성하고 다음의 내용을 추가합니다:\\n\\n```swift\\nlet tuist = Tuist(fullHandle: \\\"{account-handle}/{project-handle}\\\") // e.g. tuist/tuist\\n```\\n\\n> [!IMPORTANT] TUIST 프로젝트 전용 기능\\\\ 바이너리 캐싱과 같은 기능은 Tuist 프로젝트가 있어야 사용할 수 있습니다. Xcode 프로젝트를 사용한다면 해당 기능을 사용할 수 없습니다.\\n\\n프로젝트 URL은 전체 식별자를 사용하여 구성됩니다. 예를 들어, Tuist 대시보드는 프로젝트의 전체 식별자가 `tuist/tuist`라면 [cloud.tuist.io/tuist/tuist](https://cloud.tuist.io/tuist/tuist)으로 접근할 수 있습니다.\\n\",\"title\":\"Accounts and projects\",\"frontmatter\":{\"URL\":\"/ko/guides/server/accounts-and-projects\",\"LLMS_URL\":\"/ko/guides/server/accounts-and-projects.md\",\"title\":\"Accounts and projects\",\"titleTemplate\":\":title | Server | Guides | Tuist\",\"description\":\"Tuist에서 계정과 프로젝트를 생성하고 관리하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/server/authentication.md\",\"url\":\"/ko/guides/server/authentication\",\"llmUrl\":\"/ko/guides/server/authentication.md\",\"content\":\"---\\nURL: \\\"/ko/guides/server/authentication\\\"\\nLLMS_URL: \\\"/ko/guides/server/authentication.md\\\"\\ntitle: \\\"Authentication\\\"\\ntitleTemplate: \\\":title | Server | Guides | Tuist\\\"\\ndescription: \\\"CLI에서 Tuist 서버에 인증하는 방법을 배워봅니다.\\\"\\n---\\n\\n# 인증 {#authentication}\\n\\n서버와 상호 작용하기 위해 CLI는 [Bearer 인증](https://swagger.io/docs/specification/authentication/bearer-authentication/)을 사용하여 요청을 인증해야 합니다. CLI는 사용자 또는 프로젝트로 인증하는 것을 지원합니다.\\n\\n## 사용자로 인증 {#as-a-user}\\n\\n로컬에서 CLI를 사용할 때 사용자로 인증하는 것을 권장합니다. 사용자로 인증하기 위해 다음의 명령어를 수행해야 합니다:\\n\\n```bash\\ntuist auth login\\n```\\n\\n이 명령어는 웹 기반 인증 절차를 안내합니다. 인증을 완료하면, CLI는 `~/.config/tuist/credentials`에 오래 지속되는 리프레시 토큰과 일시적인 접근 토큰을 저장합니다. 디렉토리에 각 파일은 인증한 도메인을 나타내며 기본값은 `cloud.tuist.io.json` 이어야 합니다. 해당 디렉토리에 저장된 정보는 민감한 정보이므로 **안전하게 보관해야 합니다**.\\n\\nCLI는 서버에 요청을 보낼 때 자동으로 자격 증명을 조회합니다. 접근 토근이 만료되면, CLI는 새로운 접근 토큰을 얻기 위해 리프레시 토큰을 사용합니다.\\n\\n### 조직 SSO {#organization-sso}\\n\\nGoogle Workspace 조직이 있고 동일한 Google 도메인으로 로그인하는 개발자가 Tuist 조직에 추가되도록 설정하려면 다음과 같이 설정할 수 있습니다:\\n\\n```bash\\ntuist organization update sso my-organization --provider google --organization-id my-google-domain.com\\n```\\n\\nOn-premise 고객이 Okta를 설정한 경우, Google과 동일한 동작으로 수행되도록 하려면 다음 명령어를 수행할 수 있습니다:\\n\\n```bash\\ntuist organization update sso my-organization --provider okta --organization-id my-okta-domain.com\\n```\\n\\n> [!IMPORTANT]. 조직의 도메인을 설정하려면 해당 조직에 연결된 이메일을 사용하여 Google에 인증되어 있어야 합니다.\\n\\n## 프로젝트로 인증 {#as-a-project}\\n\\nCI와 같은 환경에서는 이런 상호 작용하며 인증할 수 없습니다. 이러한 환경에서는 프로젝트 범위의 토큰을 사용하여 프로젝트로 인증하는 것을 권장합니다:\\n\\n```bash\\ntuist project tokens create\\n```\\n\\nCLI는 토큰이 환경 변수 `TUIST_CONFIG_TOKEN`에 정의되어야 하고\\u001d, `CI=1` 환경 변수도 설정되어야 합니다. CLI는 요청을 인증하기 위해 토큰을 사용합니다.\\n\\n> [!IMPORTANT] 제한된 범위\\\\\\n> 프로젝트 범위의 토큰 권한은 CI 환경에서 프로젝트가 수행할 수 있는 안전한 작업으로 제한됩니다. 우리는 향후 토큰이 가진 권한에 대한 문서를 제공할 예정입니다.\\n\",\"title\":\"Authentication\",\"frontmatter\":{\"URL\":\"/ko/guides/server/authentication\",\"LLMS_URL\":\"/ko/guides/server/authentication.md\",\"title\":\"Authentication\",\"titleTemplate\":\":title | Server | Guides | Tuist\",\"description\":\"CLI에서 Tuist 서버에 인증하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/server/self-host/install.md\",\"url\":\"/ko/guides/server/self-host/install\",\"llmUrl\":\"/ko/guides/server/self-host/install.md\",\"content\":\"---\\nURL: \\\"/ko/guides/server/self-host/install\\\"\\nLLMS_URL: \\\"/ko/guides/server/self-host/install.md\\\"\\ntitle: \\\"Installation\\\"\\ntitleTemplate: \\\":title | Self-hosting | Server | Guides | Tuist\\\"\\ndescription: \\\"Tuist를 인프라에 설치하는 방법을 배워봅니다.\\\"\\n---\\n\\n# On-premise installation {#onpremise-installation}\\n\\n인프라에 대한 더 많은 제어를 요구하는 조직을 위해 Tuist 서버의 자체 호스팅 버전을 제공합니다. 이 버전은 Tuist를 자체 인프라에 호스팅하여 사용자의 데이터가 안전하고 비공개로 유지되도록 보장합니다.\\n\\n> [!IMPORTANT] 기업 고객 전용\\\\\\n> Tuist의 On-Premise 버전은 Enterprise 플랜을 가입한 조직만 사용 가능합니다. On-Premise 버전에 관심이 있다면, [[email protected]](mailto:[email protected])로 연락 바랍니다.\\n\\n## 출시 주기 {#release-cadence}\\n\\nTuist 서버는 **매주 월요일에 출시되며** 버전 이름은 `{MAJOR}.YY.MM.DD` 형식을 따릅니다. 날짜 구성 요소는 호스팅된 버전이 CLI의 출시일로부터 60일 이상 지난 경우, CLI 사용자에게 경고를 보내기 위해 사용됩니다. On-premise 조직은 개발자가 최신 개선 사항의 이점을 누릴 수 있도록 Tuist를 최신으로 유지하는 것이 중요하며, On-premise 설정을 손상시키지 않으면서 더이상 사용하지 않는 기능을 제거할 수 있습니다.\\n\\nCLI의 주요 구성 요소는 On-premise 사용자와의 조정이 필요한 Tuist 서버에서의 주요 변경 사항을 표시하는데 사용됩니다. 우리가 이것을 사용할 것이라고 기대해서는 안되며 필요한 경우, 전환이 원활하도록 함께 협력할 것입니다.\\n\\n> [!NOTE] 릴리즈 노트\\\\\\n> 이미지가 게시되는 레지스트리와 연결된 `tuist/registry` 리포지토리에 연결 권한이 부여됩니다. 모든 릴리즈는 해당 리포지토리의 GitHub 릴리즈에 게시되고 변경 사항은 릴리즈 노트에 포함됩니다.\\n\\n## 실행 환경 요구 사항 {#runtime-requirements}\\n\\n이 섹션은 Tuist 서버를 인프라에 호스팅하기 위한 요구 사항을 설명합니다.\\n\\n### Docker 가상화 이미지 실행 {#running-dockervirtualized-images}\\n\\n우리는 서버를 [GitHub\\u001d의 Container Registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry)를 통해 [Docker](https://www.docker.com/)로 배포합니다.\\n\\n실행하기 위해 인프라에서는 Docker 이미지 실행을 지원해야 합니다. 대부분의 인프라는 이것을 지원하는데 이는 운영 환경에서 소프트웨어를 배포하고 실행하는 표준 컨테이너로 자리 잡았기 때문입니다.\\n\\n### Postgres 데이터베이스 {#postgres-database}\\n\\nDocker 이미지를 실행하는 것 외에도, 관계형 데이터를 저장하기 위한 [Postgres 데이터베이스](https://www.postgresql.org/)도 필요합니다. 대부분의 인프라는 Postgres 데이터베이스를 포함하여 제공하고 있습니다 (예: [AWS](https://aws.amazon.com/rds/postgresql/) & [Google Cloud](https://cloud.google.com/sql/docs/postgres)).\\n\\n뛰어난 성능 측정을 위해 우리는 [Timescale Postgres 확장](https://www.timescale.com/)을 사용합니다. Postgres 데이터베이스가 실행되는 머신에 TimescaleDB가 설치되어 있는지 확인해야 합니다. 자세한 설치 방법은 [여기](https://docs.timescale.com/self-hosted/latest/install/)에서 확인할 수 있습니다. Timescale 확장을 설치할 수 없는 경우, Prometheus 메트릭을 사용하여 자체 대시보드를 설정할 수 있습니다.\\n\\n> [!INFO] 마이그레이션\\\\\\n> Docker 이미지의 엔트리포인트는 컨테이너가 실행되기 전에 자동으로 대기 중인 스킴 마이그레이션을 실행합니다.\\n\\n### ClickHouse 데이터베이스 {#clickhouse-database}\\n\\n대용량 데이터 저장을 위해 [ClickHouse](https://clickhouse.com/)를 사용합니다. 빌드 인사이트와 같은 기능은 ClickHouse가 활성화된 경우에만 동작합니다. ClickHouse는 Timescale Postgres 확장을 대체할 것입니다. ClickHouse를 자체 호스팅을 사용할지 아니면 호스팅 서비스를 이용할지 선택할 수 있습니다.\\n\\n> [!INFO] MIGRATIONS\\\\\\n> Docker 이미지의 엔트리포인트는 서비스를 시작하기 전에 자동으로 대기 중인 ClickHouse 스킴 마이그레이션을 실행합니다.\\n\\n### 저장소 {#storage}\\n\\n파일 (예: 프레임워크 및 라이브러리 바이너리) 을 저장하기 위한 솔루션도 필요합니다. 현재 S3 호환 저장소\\u001d를 모두 지원합니다.\\n\\n## 구성 {#configuration}\\n\\n서비스의 구성은 실행 시 환경 변수를 통해 이루어집니다. 환경 변수는 민감한 정보이므로, 이를 암호화하여 안전한 비밀번호 관리 솔루션에 저장하길 권장합니다. Tuist는 이러한 변수를 최대한 신중하게 처리하고 로그에 절대로 표시되지 않도록 보장하므로 안심할 수 있습니다.\\n\\n> [!NOTE] 시작 검증\\\\\\n> 필요한 변수는 시작할 때 검증됩니다. 필요한 변수가 누락되면 실행이 실패하고 오류 메세지에 누락된 변수가 상세히 표시됩니다.\\n\\n### 라이센스 구성 {#license-configuration}\\n\\nOn-premise 사용자\\u001d는 환경 변수로 설정해야 하는 라이센스 키를 받습니다. 이 키는 라이센스를 검증하고 서비스가 계약 조건 내에서 실행되고 있음을 보장합니다.\\n\\n| 환경 변수 | 설명 | 필수 여부 | 기본값 | 예시 |\\n| --------------- | ---------------------------------------------------- | ----- | --- | -------- |\\n| `TUIST_LICENSE` | 서비스 수준 계약 (SLA) 을 체결한 후 제공되는 라이센스 | Yes | | `******` |\\n\\n> [!IMPORTANT] 만료일\\\\\\n> 라이센스는 만료일이 있습니다. 사용자가 서버와 상호 작용하는 Tuist 명령어를 사용할 때, 라이센스가 30일 이내에 만료가 된다면 경고가 표시됩니다. 라이센스를 갱신하고 싶다면, [[email protected]](mailto:[email protected])로 연락 바랍니다.\\n\\n### 기본 환경 구성 {#base-environment-configuration}\\n\\n| 환경 변수 | 설명 | 필수 여부 | 기본값 | 예시 | |\\n| ------------------------------ | --------------------------------------------------------------------- | ----- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |\\n| `TUIST_APP_URL` | 인터넷에서 인스턴스에 접근하기 위한 기본 URL | Yes | | https://cloud.tuist.io | |\\n| `TUIST_SECRET_KEY_BASE` | 정보를 암호화 하는데 사용되는 키 (예: 쿠키에 저장된 세션) | Yes | | | `c5786d9f869239cbddeca645575349a570ffebb332b64400c37256e1c9cb7ec831345d03dc0188edd129d09580d8cbf3ceaf17768e2048c037d9c31da5dcacfa` |\\n| `TUIST_SECRET_KEY_PASSWORD` | 해시된 비밀번호를 생성하기 위한 페퍼 (Pepper) | No | $TUIST_SECRET_KEY_BASE | | |\\n| `TUIST_SECRET_KEY_TOKENS` | 랜덤 토큰을 생성하기 위한 비밀 키 | No | $TUIST_SECRET_KEY_BASE | | |\\n| `TUIST_USE_IPV6` | `1`로 설정하면 IPv6 주소를 사용해 앱을 구성 | No | `0` | `1` | |\\n| `TUIST_LOG_LEVEL` | 앱에 사용할 로그 수준 | No | `info` | [Log levels](https://hexdocs.pm/logger/1.12.3/Logger.html#module-levels) | |\\n| `TUIST_GITHUB_APP_PRIVATE_KEY` | 자동 PR 코멘트 게시와 같은 추가 기능을 활성화하기 위해 GitHub 앱에 사용되는 비공개 키 | No | `-----BEGIN RSA...` | | |\\n| `TUIST_OPS_USER_HANDLES` | 작업 URL에 접근할 수 있는 쉼표로 구분된 사용자 아이디 목록 | No | | `user1,user2` | |\\n\\n### 데이터베이스 구성 {#database-configuration}\\n\\n다음의 환경 변수는 데이터베이스 연결을 구성하기 위해 사용됩니다:\\n\\n| 환경 변수 | 설명 | 필수 여부 | 기본값 | 예시 |\\n| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----- | ------ | ---------------------------------------------------------------------- |\\n| `DATABASE_URL` | Postgres 데이터베이스 접근을 위한 URL 입니다. URL에는 인증 정보가 포함되어야 합니다. | Yes | | `postgres://username:[email protected]/production` |\\n| `TUIST_CLICKHOUSE_URL` | ClickHouse 데이터베이스 접근을 위한 URL URL에는 인증 정보가 포함되어야 합니다. URL에는 인증 정보가 포함되어야 합니다. | No | | `http://username:[email protected]/production` |\\n| `TUIST_USE_SSL_FOR_DATABASE` | true 이면 데이터베이스에 접속하기 위해 [SSL](https://en.wikipedia.org/wiki/Transport_Layer_Security)을 사용 | No | `1` | `1` |\\n| `TUIST_DATABASE_POOL_SIZE` | 연결 풀에서 유지할 연결 수 | No | `10` | `10` |\\n| `TUIST_DATABASE_QUEUE_TARGET` | 풀에서 체크아웃된 모든 연결이 큐 대기 시간보다 더 오래 걸렸는지 확인하는 범위 (밀리초 단위) [(자세한 정보)](https://hexdocs.pm/db_connection/DBConnection.html#start_link/2-queue-config) | No | `300` | `300` |\\n| `TUIST_DATABASE_QUEUE_INTERVAL` | 풀에서 새로운 연결을 끊기위해 필요한 큐에서의 임계 시간 (밀리초 단위) [(자세한 정보)](https://hexdocs.pm/db_connection/DBConnection.html#start_link/2-queue-config) | No | `1000` | `1000` |\\n\\n### 인증 환경 구성 {#authentication-environment-configuration}\\n\\n우리는 [아이덴티티 제공자 (IdP)](https://en.wikipedia.org/wiki/Identity_provider) 를 통해 인증을 지원합니다. 이를 활용하려면, 선택한 제공자에 필요한 환경 변수가 서버의 환경에 설정되어 있는지 확인해야 합니다. **누락된 변수**가 있으면 Tuist는 해당 제공자를 건너뜁니다.\\n\\n#### GitHub {#github}\\n\\n우리는 [GitHub App](https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps)을 사용하여 인증하는 것을 권장하지만 [OAuth App](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app)을 사용할 수도 있습니다. GitHub에서 지정한 필수 환경 변수를 모두 서버 환경에 포함시켜야 합니다. 변수가 없으면 Tuist는 GitHub 인증을 무시합니다. GitHub 앱을 올바르게 설정하려면 다음과 같습니다:\\n\\n- GitHub 앱의 일반 설정:\\n - `Client ID`를 복사하고 `TUIST_GITHUB_APP_CLIENT_ID`로 설정합니다.\\n - 새로운 `client secret`을 생성하고 복사한 다음에 `TUIST_GITHUB_APP_CLIENT_SECRET`로 설정합니다.\\n - `Callback URL`을 `http://YOUR_APP_URL/users/auth/github/callback`으로 설정합니다. `YOUR_APP_URL`은 서버의 IP 주소도 사용할 수 있습니다.\\n- 다음의 권한을 요구합니다:\\n - Repositories:\\n - Pull requests: Read and write\\n - Accounts:\\n - Email addresses: Read-only\\n\\n`Permissions and events`의 `Account permissions` 섹션에서 `Email addresses` 권한을 `Read-only`로 설정합니다.\\n\\n그런 다음, Tuist 서버가 실행되는 환경에서 다음 환경 변수를 노출시킵니다:\\n\\n| 환경 변수 | 설명 | 필수 여부 | 기본값 | 예시 |\\n| -------------------------------- | ----------------------- | ----- | --- | ------------------------------------------ |\\n| `TUIST_GITHUB_APP_CLIENT_ID` | GitHub 애플리케이션의 클라이언트 ID | Yes | | `Iv1.a629723000043722` |\\n| `TUIST_GITHUB_APP_CLIENT_SECRET` | 애플리케이션의 클라이언트 비밀키 | Yes | | `232f972951033b89799b0fd24566a04d83f44ccc` |\\n\\n#### Google {#google}\\n\\n[OAuth 2](https://developers.google.com/identity/protocols/oauth2)를 사용하여 Google 인증을 설정할 수 있습니다. 이를 위해, OAuth 클라이언트 ID 타입의 새로운 자격 증명을 생성해야 합니다. 자격 증명을 생성할 때, 애플리케이션 타입으로 \\\"Web Application\\\"을 선택하고, 이름을 `Tuist`로 설정하고, 리다이렉트 URI를 호스팅되는 서비스가 실행되는 `base_url`을 활용하여 `{base_url}/users/auth/google/callback`으로 설정합니다. 앱을 생성한 후에 클라이언트 ID와 클라이언트 비밀키를 복사하고 각각 환경 변수 `GOOGLE_CLIENT_ID`와 `GOOGLE_CLIENT_SECRET`로 설정합니다.\\n\\n> [!NOTE] 동의 화면 범위\\\\\\n> 동의 화면을 생성해야 할 수도 있습니다. 그렇게 할 때, `userinfo.email`과 `openid` 범위를 추가하고 내부 앱으로 표시해야 합니다.\\n\\n#### Okta {#okta}\\n\\n[OAuth 2.0](https://oauth.net/2/) 프로토콜을 통해 Okta 인증을 활성화할 수 있습니다. 다음 구성으로 Okta에서 [앱을 생성](https://developer.okta.com/docs/en/guides/implement-oauth-for-okta/main/#create-an-oauth-2-0-app-in-okta)해야 합니다:\\n\\n- **앱 통합 이름:** `Tuist`\\n- **승인 타입:** 사용자를 대신하여 행동하는 Client에 대해 _Authorization Code_ 활성화\\n- **로그인 리다이렉트 URL:** 서비스에 접근하는 공개 URL을 `url`라고 하면 `{url}/users/auth/okta/callback`\\n- **할당:** 이 구성은 보안팀 요구 사항에 따라 달라집니다.\\n\\n앱이 생성되면, 다음의 환경 변수를 설정해야 합니다:\\n\\n| 환경 변수 | 설명 | 필수 여부 | 기본값 | 예시 |\\n| -------------------------- | --------------------- | ----- | --- | --------------------------- |\\n| `TUIST_OKTA_SITE` | Okta 조직의 URL | Yes | | `https://your-org.okta.com` |\\n| `TUIST_OKTA_CLIENT_ID` | Okta 인증을 위한 클라이언트 ID | Yes | | |\\n| `TUIST_OKTA_CLIENT_SECRET` | Okta 인증을 위한 클라이언트 비밀키 | Yes | | |\\n\\n### 저장소 환경 구성 {#storage-environment-configuration}\\n\\nTuist는 API를 통해 업로드된 산출물을 저장하기 위한 저장소가 필요합니다. Tuist가 원할하게 동작하려면 **지원되는 저장소 솔루션 중 하나를 구성하는 것이 필수입니다**.\\n\\n#### S3 호환 저장소 {#s3compliant-storages}\\n\\n산출물을 저장하기 위해 S3 호환 저장소 제공자를 사용할 수 있습니다. 저장소 제공자와의 인증과 통합 구성을 위해 다음의 환경 변수가 필요합니다:\\n\\n| 환경 변수 | 설명 | 필수 여부 | 기본값 | 예시 |\\n| ---------------------------------------------------- | ----------------------------------------------------------------------------- | ----- | ------- | ------------------------------------------ |\\n| `TUIST_ACCESS_KEY_ID` 또는 `AWS_ACCESS_KEY_ID` | 저장소 제공자 인증을 위한 접근 키 ID | Yes | | `AKIAIOSFOD` |\\n| `TUIST_SECRET_ACCESS_KEY` 또는 `AWS_SECRET_ACCESS_KEY` | 저장소 제공자 인증을 위한 비밀 접근 키 | Yes | | `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` |\\n| `TUIST_S3_REGION` 또는 `AWS_REGION` | 버킷이 위치한 지역 | Yes | | `us-west-2` |\\n| `TUIST_S3_ENDPOINT` 또는 `AWS_ENDPOINT` | 저장소 제공자의 엔드포인트 | Yes | | `https://s3.us-west-2.amazonaws.com` |\\n| `TUIST_S3_BUCKET_NAME` | 산출물이 저장될 버킷의 이름 | Yes | | `tuist-artifacts` |\\n| `TUIST_S3_REQUEST_TIMEOUT` | 저장소 제공자 요청에 대한 타임아웃 (초 단위) | No | `30` | `30` |\\n| `TUIST_S3_POOL_TIMEOUT` | 저장소 제공자에 대한 연결 풀의 타임아웃 (초 단위) | No | `5` | `5` |\\n| `TUIST_S3_POOL_COUNT` | 저장소 제공자와의 연결 풀의 수 | No | `1` | `1` |\\n| `TUIST_S3_PROTOCOL` | 저장소 제공자와 연결할 때 사용하는 프로토콜 (`http1` 또는 `http2`) | No | `http2` | `http2` |\\n| `TUIST_S3_VIRTUAL_HOST` | URL이 서브도메인 (가상 호스트) 으로 버킷 이름을 구성해야 하는지 여부. | No | No | `1` |\\n\\n> [!NOTE] 환경 변수에서 Web Identity Token을 사용한 AWS 인증\\\\\\n> 저장소 제공자가 AWS이고 웹 아이덴티티 토큰을 사용하여 인증하려는 경우에 환경 변수 `TUIST_S3_AUTHENTICATION_METHOD`를 `aws_web_identity_token_from_env_vars`로 설정할 수 있습니다. 그러면 Tuist는 기존의 AWS 환경 변수를 사용하여 인증을 진행할 수 있습니다.\\n\\n#### Google Cloud Storage {#google-cloud-storage}\\n\\nGoogle Cloud Storage의 경우, [이 문서](https://cloud.google.com/storage/docs/authentication/managing-hmackeys)를 참고하여 `AWS_ACCESS_KEY_ID`와 `AWS_SECRET_ACCESS_KEY` 쌍을 얻어야 합니다. `AWS_ENDPOINT`는 `https://storage.googleapis.com`으로 설정해야 합니다. 다른 환경 변수는 모든 S3 호환 저장소와 동일합니다.\\n\\n### Git 플랫폼 구성 {#git-platform-configuration}\\n\\nTuist는 Pull Request에 자동으로 댓글을 게시하는 등의 추가 기능을 제공하기 위해 Git 플랫폼과 통합할 수 있습니다.\\n\\n#### GitHub {#platform-github}\\n\\n[GitHub 앱을 생성](https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps)해야 합니다. 인증을 위해 생성한 GitHub 앱을 재사용할 수 있지만, OAuth GitHub 앱을 생성한 경우는 제외입니다. `Permissions and events`의 `Repository permissions` 섹션에서 `Pull requests` 권한을 `Read and write`로 설정해야 합니다.\\n\\n`TUIST_GITHUB_APP_CLIENT_ID`와 `TUIST_GITHUB_APP_CLIENT_SECRET` 외에도 다음의 환경 변수가 필요합니다:\\n\\n| 환경 변수 | 설명 | 필수 여부 | 기본값 | 예시 |\\n| ------------------------------ | -------------------- | ----- | --- | ------------------------------------ |\\n| `TUIST_GITHUB_APP_PRIVATE_KEY` | GitHub 애플리케이션의 비공개 키 | Yes | | `-----BEGIN RSA PRIVATE KEY-----...` |\\n\\n## 배포 {#deployment}\\n\\nOn-premise 사용자는 이미지를 가져올 수 있는 컨테이너 레지스트리를 가지는 [tuist/registry](https://github.com/cloud/registry)에 위치한 리포지토리에 대한 접근 권한을 부여 받습니다. 현재 컨테이너 레지스트리는 개인 사용자에게만 인증을 허용합니다. 따라서 리포지토리 접근 권한이 있는 사용자는 Tuist 조직 내에서 **개인 접근 토큰**을 생성해야 하고 패키지를 읽을 수 있는 권한이 있는지 확인해야 합니다. 제출 하면 우리는 이 토큰을 빠르게 승인할 것입니다.\\n\\n> [!IMPORTANT] 사용자 토큰 VS 조직 범위 토큰\\\\\\n> 개인이 기업 조직을 떠난 경우 개인 접근 토큰은 개인과 연결되어 있으므로, 개인 접근 토큰을 사용하는 것이 문제가 될 수 있습니다. GitHub은 이런 문제를 인지하고 있으며, GitHub 앱에서 생성한 토큰을 사용하여 인증할 수 있는 해결책을 적극적으로 개발 중입니다.\\n\\n### Docker 이미지 가져오기 {#pulling-the-docker-image}\\n\\n토큰을 생성한 후에 다음 명령어를 실행하여 이미지를 가져올 수 있습니다:\\n\\n```bash\\necho $TOKEN | docker login ghcr.io -u USERNAME --password-stdin\\ndocker pull ghcr.io/tuist/tuist:latest\\n```\\n\\n### Docker 이미지 배포 {#deploying-the-docker-image}\\n\\nDocker 이미지 배포 과정은 선택한 클라우드 제공 업체와 조직의 지속적인 배포 방식에 따라 달라집니다. [Kubernetes](https://kubernetes.io/)와 같은 대부분의 클라우드 솔루션 및 툴은 Docker 이미지를 기본 단위로 사용하므로, 이 섹션의 예시는 기존 설정과 잘 맞습니다.\\n\\n우리는 **매주 화요일**에 새로운 이미지를 가져와 배포하는 파이프라인을 구축하는 것을 권장합니다. 이렇게 하면 최신 개선 사항을 계속해서 활용할 수 있습니다.\\n\\n> [!IMPORTANT]\\n> 배포 파이프라인에서 서버가 정상적으로 동작하는지 확인해야 하는 경우에 `/ready`에 `GET` HTTP 요청을 보내고 응답에서 `200` 코드를 확인할 수 있습니다.\\n\\n#### Fly {#fly}\\n\\n앱을 [Fly](https://fly.io/)에 배포하기 위해 `fly.toml` 구성 파일이 필요합니다. Continuous Deployment (CD) 파이프라인 내에서 이 구성 파일을 동적으로 생성하는 것을 고려해야 합니다. 아래는 참고용 예시입니다:\\n\\n```toml\\napp = \\\"tuist\\\"\\nprimary_region = \\\"fra\\\"\\nkill_signal = \\\"SIGINT\\\"\\nkill_timeout = \\\"5s\\\"\\n\\n[experimental]\\n auto_rollback = true\\n\\n[env]\\n # Your environment configuration goes here\\n # Or exposed through Fly secrets\\n\\n[processes]\\n app = \\\"/usr/local/bin/hivemind /app/Procfile\\\"\\n\\n[[services]]\\n protocol = \\\"tcp\\\"\\n internal_port = 8080\\n auto_stop_machines = false\\n auto_start_machines = false\\n processes = [\\\"app\\\"]\\n http_options = { h2_backend = true }\\n\\n [[services.ports]]\\n port = 80\\n handlers = [\\\"http\\\"]\\n force_https = true\\n\\n [[services.ports]]\\n port = 443\\n handlers = [\\\"tls\\\", \\\"http\\\"]\\n [services.concurrency]\\n type = \\\"connections\\\"\\n hard_limit = 100\\n soft_limit = 80\\n\\n [[services.http_checks]]\\n interval = 10000\\n grace_period = \\\"10s\\\"\\n method = \\\"get\\\"\\n path = \\\"/ready\\\"\\n protocol = \\\"http\\\"\\n timeout = 2000\\n tls_skip_verify = false\\n [services.http_checks.headers]\\n\\n[[statics]]\\n guest_path = \\\"/app/public\\\"\\n url_prefix = \\\"/\\\"\\n```\\n\\n이러면 앱을 실행하기 위해 `fly launch --local-only --no-deploy`을 수행할 수 있습니다. 이후 배포에서는 `fly launch --local-only`를 수행하는 대신에 `fly deploy --local-only`를 수행합니다. Fly.io에서는 비공개 Docker 이미지를 가져올 수 없으므로, `--local-only` 플래그를 사용해야 합니다.\\n\\n### Docker Compose {#docker-compose}\\n\\n아래는 서비스를 배포하기 위해 참고할 수 있는 `docker-compose.yml` 파일의 예시입니다:\\n\\n```yaml\\nversion: '3.8'\\nservices:\\n db:\\n image: timescale/timescaledb-ha:pg16\\n restart: always\\n environment:\\n - POSTGRES_USER=postgres\\n - POSTGRES_PASSWORD=postgres\\n - PGDATA=/var/lib/postgresql/data/pgdata\\n ports:\\n - '5432:5432'\\n volumes:\\n - db:/var/lib/postgresql/data\\n healthcheck:\\n test: [\\\"CMD-SHELL\\\", \\\"pg_isready -U postgres\\\"]\\n interval: 5s\\n timeout: 5s\\n retries: 5\\n\\n pgweb:\\n container_name: pgweb\\n restart: always\\n image: sosedoff/pgweb\\n ports:\\n - \\\"8081:8081\\\"\\n links:\\n - db:db\\n environment:\\n PGWEB_DATABASE_URL: postgres://postgres:postgres@db:5432/postgres?sslmode=disable\\n depends_on:\\n - db\\n\\n tuist:\\n image: ghcr.io/tuist/tuist:latest\\n container_name: tuist\\n depends_on:\\n - db\\n ports:\\n - \\\"80:80\\\"\\n - \\\"8080:8080\\\"\\n - \\\"443:443\\\"\\n expose:\\n - \\\"80\\\"\\n - \\\"8080\\\"\\n - \\\"443:443\\\"\\n environment:\\n # Base Tuist Env - https://docs.tuist.io/en/guides/dashboard/on-premise/install#base-environment-configuration\\n TUIST_USE_SSL_FOR_DATABASE: \\\"0\\\"\\n TUIST_LICENSE: # ...\\n DATABASE_URL: postgres://postgres:postgres@db:5432/postgres?sslmode=disable\\n TUIST_APP_URL: https://localhost:8080\\n TUIST_SECRET_KEY_BASE: # ...\\n WEB_CONCURRENCY: 80\\n\\n # Auth - one method\\n # GitHub Auth - https://docs.tuist.io/en/guides/dashboard/on-premise/install#github\\n TUIST_GITHUB_OAUTH_ID:\\n TUIST_GITHUB_APP_CLIENT_SECRET:\\n\\n # Okta Auth - https://docs.tuist.io/en/guides/dashboard/on-premise/install#okta\\n TUIST_OKTA_SITE:\\n TUIST_OKTA_CLIENT_ID:\\n TUIST_OKTA_CLIENT_SECRET:\\n TUIST_OKTA_AUTHORIZE_URL: # Optional\\n TUIST_OKTA_TOKEN_URL: # Optional\\n TUIST_OKTA_USER_INFO_URL: # Optional\\n TUIST_OKTA_EVENT_HOOK_SECRET: # Optional\\n\\n # Storage\\n AWS_ACCESS_KEY_ID: # ...\\n AWS_SECRET_ACCESS_KEY: # ...\\n AWS_S3_REGION: # ...\\n AWS_ENDPOINT: # https://amazonaws.com\\n TUIST_S3_BUCKET_NAME: # ...\\n\\n # Other\\n\\nvolumes:\\n db:\\n driver: local\\n```\\n\\n## Operations {#operations}\\n\\nTuist는 인스턴스를 관리하기 위해 사용할 수 있는 유틸리티를 `/ops/`에서 제공합니다.\\n\\n> [!IMPORTANT] 인증\\\\\\n> `TUIST_OPS_USER_HANDLES` 환경 변수에 작성된 사용자만 `/ops/` 엔드포인트에 접근할 수 있습니다.\\n\\n- **오류 (`/ops/errors`):** 애플리케이션에서 발생한 오류를 볼 수 있습니다. 이것은 디버깅과 문제의 원인을 파악하는데 유용하고, 우리는 문제가 발생할 경우 이 정보를 공유해 달라고 요청할 수 있습니다.\\n- **대시보드 (`/ops/dashboard`):** 애플리케이션의 성능과 상태 (예: 메모리 사용량, 실행 중인 프로세스, 요청 수) 를 확인할 수 있는 대시보드를 볼 수 있습니다. 이 대시보드는 사용 중인 하드웨어가 부하를 처리하기에 충분한지 확인하는데 매우 유용할 수 있습니다.\\n\",\"title\":\"Installation\",\"frontmatter\":{\"URL\":\"/ko/guides/server/self-host/install\",\"LLMS_URL\":\"/ko/guides/server/self-host/install.md\",\"title\":\"Installation\",\"titleTemplate\":\":title | Self-hosting | Server | Guides | Tuist\",\"description\":\"Tuist를 인프라에 설치하는 방법을 배워봅니다.\"}},{\"path\":\"/ko/guides/server/self-host/telemetry.md\",\"url\":\"/ko/guides/server/self-host/telemetry\",\"llmUrl\":\"/ko/guides/server/self-host/telemetry.md\",\"content\":\"---\\nURL: \\\"/ko/guides/server/self-host/telemetry\\\"\\nLLMS_URL: \\\"/ko/guides/server/self-host/telemetry.md\\\"\\ntitle: \\\"Metrics\\\"\\ntitleTemplate: \\\":title | Self-hosting | Server | Guides | Tuist\\\"\\ndescription: \\\"컴파일된 바이너리를 캐싱하고 다양한 환경 간에 공유하여 빌드 시간을 최적화하세요.\\\"\\n---\\n\\n# 메트릭 {#metrics}\\n\\nTuist 서버에서 수집한 메트릭을 [Prometheus](https://prometheus.io/)를 통해 가져오고\\n[Grafana](https://grafana.com/)와 같은 시각화 도구를 활용하여 사용자 요구에 맞는 커스텀 대시보드를 생성할 수 있습니다. Prometheus 메트릭은 9091 port의 `/metrics` endpoint를 통해 제공됩니다. Prometheus의 [scrape_interval](https://prometheus.io/docs/introduction/first_steps/#configuring-prometheus)은 10,000초 미만으로 설정해야 합니다 (기본 값인 15 초로 유지할 것을 권장합니다).\\n\\n## Elixir 메트릭 {#elixir-metrics}\\n\\n기본적으로 Elixir 런타임, BEAM, Elixir, 그리고 사용하는 일부 라이브러리의 메트릭이 포함되어 있습니다. 다음은 확인할 수 있는 메트릭의 일부입니다:\\n\\n- [Application](https://hexdocs.pm/prom_ex/PromEx.Plugins.Application.html)\\n- [BEAM](https://hexdocs.pm/prom_ex/PromEx.Plugins.Beam.html)\\n- [Phoenix](https://hexdocs.pm/prom_ex/PromEx.Plugins.Phoenix.html)\\n- [Phoenix LiveView](https://hexdocs.pm/prom_ex/PromEx.Plugins.PhoenixLiveView.html)\\n- [Ecto](https://hexdocs.pm/prom_ex/PromEx.Plugins.Ecto.html)\\n- [Oban](https://hexdocs.pm/prom_ex/PromEx.Plugins.Oban.html)\\n\\nWe recommend checking those pages to know which metrics are available and how to use them.\\n\\n## Runs 메트릭 {#runs-metrics}\\n\\nTuist run과 관련된 메트릭 모음입니다.\\n\\n### `tuist_runs_total` (카운터) {#tuist_runs_total-counter}\\n\\nTuist Run의 총 실행 횟수.\\n\\n#### Tags {#tuist-runs-total-tags}\\n\\n| Tag | Description |\\n| -------- | ---------------------------------------------------------- |\\n| `name` | `build`, `test` 등과 같이 실행된 `tuist` 명령어의 이름. |\\n| `is_ci` | CI 또는 개발자의 머신에서 실행되었는 지를 나타내는 불리언 값. |\\n| `status` | `성공` 시 `0`, `실패` 시 `1` |\\n\\n### `tuist_runs_duration_milliseconds` (히스토그램) {#tuist_runs_duration_milliseconds-histogram}\\n\\n각 tuist run의 총 소요 시간(milliseconds).\\n\\n#### Tags {#tuist-runs-duration-miliseconds-tags}\\n\\n| Tag | Description |\\n| -------- | ---------------------------------------------------------- |\\n| `name` | `build`, `test` 등과 같이 실행된 `tuist` 명령어의 이름. |\\n| `is_ci` | CI 또는 개발자의 머신에서 실행되었는 지를 나타내는 불리언 값. |\\n| `status` | `성공` 시 `0`, `실패` 시 `1` |\\n\\n## Cache \\b메트릭 {#cache-metrics}\\n\\nTuist Cache와 관련된 메트릭 모음입니다.\\n\\n### `tuist_cache_events_total` (카운터) {#tuist_cache_events_total-counter}\\n\\n바이너리 캐시 이벤트의 총 개수.\\n\\n#### Tags {#tuist-cache-events-total-tags}\\n\\n| Tag | Description |\\n| ------------ | -------------------------------------- |\\n| `event_type` | `local_hit`, `remote_hit`, `miss` 중 하나 |\\n\\n### `tuist_cache_uploads_total` (카운터) {#tuist_cache_uploads_total-counter}\\n\\n바이너리 캐시 업로드 개수.\\n\\n### `tuist_cache_uploaded_bytes` (합) {#tuist_cache_uploaded_bytes-sum}\\n\\n바이너리 캐시에 업로드된 바이트 수.\\n\\n### `tuist_cache_downloads_total` (카운터) {#tuist_cache_downloads_total-counter}\\n\\n바이너리 캐시에 다운로드 수.\\n\\n### `tuist_cache_downloaded_bytes` (합) {#tuist_cache_downloaded_bytes-sum}\\n\\n바이너리 캐시로 부터 다운로드된 바이트 수.\\n\\n---\\n\\n## Preview 메트릭 {#previews-metrics}\\n\\n프리뷰 기능과 관련된 메트릭 모음입니다.\\n\\n### `tuist_previews_uploads_total` (합) {#tuist_previews_uploads_total-counter}\\n\\n업로드된 프리뷰의 수.\\n\\n### `tuist_previews_downloads_total` (합) {#tuist_previews_downloads_total-counter}\\n\\n다운로드된 프리뷰의 수.\\n\\n---\\n\\n## Storage 메트릭 {#storage-metrics}\\n\\nremote storage(예: s3)에 아티팩트를 저장하는 것과 관련된 메트릭 모음.\\n\\n> [!TIP]\\n> 이 메트릭은 storage의 작업 성능을 이해하고 잠재적인 병목 현상을 식별하는데 유용합니다.\\n\\n### `tuist_storage_get_object_size_size_bytes` (히스토그램) {#tuist_storage_get_object_size_size_bytes-histogram}\\n\\nremote storage에서 가져온 object의 크기(byte)\\n\\n#### Tags {#tuist-storage-get-object-size-size-bytes-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n\\n### `tuist_storage_get_object_size_duration_miliseconds` (히스토그램) {#tuist_storage_get_object_size_duration_miliseconds-histogram}\\n\\nremote storage에서 object의 크기를 가져오는 데 소요된 시간(milliseconds)\\n\\n#### Tags {#tuist-storage-get-object-size-duration-miliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n\\n### `tuist_storage_get_object_size_count` (카운터) {#tuist_storage_get_object_size_count-counter}\\n\\nremote storage에서 object 크기를 가져온 횟수.\\n\\n#### Tags {#tuist-storage-get-object-size-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n\\n### `tuist_storage_delete_all_objects_duration_milliseconds` (히스토그램) {#tuist_storage_delete_all_objects_duration_milliseconds-histogram}\\n\\nremote storage에서 모든 object를 삭제하는 데 소요된 시간(milliseconds)\\n\\n#### Tags {#tuist-storage-delete-all-objects-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| -------------- | ---------------------------------------------------- |\\n| `project_slug` | object가 삭제되는 프로젝트의 프로젝트 슬러그(slug) |\\n\\n### `tuist_storage_delete_all_objects_count` (카운터) {#tuist_storage_delete_all_objects_count-counter}\\n\\nremote storage에서 프로젝트의 모든 object가 삭제된 횟수\\n\\n#### Tags {#tuist-storage-delete-all-objects-count-tags}\\n\\n| Tag | Description |\\n| -------------- | ---------------------------------------------------- |\\n| `project_slug` | object가 삭제되는 프로젝트의 프로젝트 슬러그(slug) |\\n\\n### `tuist_storage_multipart_start_upload_duration_milliseconds` (히스토그램) {#tuist_storage_multipart_start_upload_duration_milliseconds-histogram}\\n\\nremote storage로 업로드를 시작하는 데 소요된 시간(milliseconds)\\n\\n#### Tags {#tuist-storage-multipart-start-upload-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n\\n### `tuist_storage_multipart_start_upload_duration_count` (카운터) {#tuist_storage_multipart_start_upload_duration_count-counter}\\n\\nremote storage로 업로드가 시작된 횟수\\n\\n#### Tags {#tuist-storage-multipart-start-upload-duration-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n\\n### `tuist_storage_get_object_as_string_duration_milliseconds` (히스토그램) {#tuist_storage_get_object_as_string_duration_milliseconds-histogram}\\n\\nremote storage에서 object를 문자열로 가져오는 데 소요된 시간(milliseconds)\\n\\n#### Tags {#tuist-storage-get-object-as-string-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n\\n### `tuist_storage_get_object_as_string_count` (횟수) {#tuist_storage_get_object_as_string_count-count}\\n\\nremote storage에서 객체를 문자열로 가져온 횟수\\n\\n#### Tags {#tuist-storage-get-object-as-string-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n\\n### `tuist_storage_check_object_existence_duration_milliseconds` (히스토그램) {#tuist_storage_check_object_existence_duration_milliseconds-histogram}\\n\\nremote storage에서 object의 존재 여부를 확인하는 데 소요된 시간(milliseconds)\\n\\n#### Tags {#tuist-storage-check-object-existence-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n\\n### `tuist_storage_check_object_existence_count` (횟수) {#tuist_storage_check_object_existence_count-count}\\n\\nremote storage에서 object의 존재 여부를 확인한 횟수\\n\\n#### Tags {#tuist-storage-check-object-existence-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n\\n### `tuist_storage_generate_download_presigned_url_duration_milliseconds` (히스토그램) {#tuist_storage_generate_download_presigned_url_duration_milliseconds-histogram}\\n\\nremote storage에서 object의 download presigned URL을 생성하는 데 소요된 시간(milliseconds)\\n\\n#### Tags {#tuist-storage-generate-download-presigned-url-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n\\n### `tuist_storage_generate_download_presigned_url_count` (횟수) {#tuist_storage_generate_download_presigned_url_count-count}\\n\\nremote storage에서 object의 download presigned URL이 생성된 횟수\\n\\n#### Tags {#tuist-storage-generate-download-presigned-url-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n\\n### `tuist_storage_multipart_generate_upload_part_presigned_url_duration_milliseconds` (히스토그램) {#tuist_storage_multipart_generate_upload_part_presigned_url_duration_milliseconds-histogram}\\n\\nremote storage에서 object의 part upload presigned URL을 생성하는 데 소요된 시간(milliseconds)\\n\\n#### Tags {#tuist-storage-multipart-generate-upload-part-presigned-url-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------- | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n| `part_number` | 업로드 중인 object의 part number |\\n| `upload_id` | multipart \\bupload의 upload ID |\\n\\n### `tuist_storage_multipart_generate_upload_part_presigned_url_count` (횟수) {#tuist_storage_multipart_generate_upload_part_presigned_url_count-count}\\n\\nremote storage에서 object의 part upload presigned URL이 생성된 횟수\\n\\n#### Tags {#tuist-storage-multipart-generate-upload-part-presigned-url-count-tags}\\n\\n| Tag | Description |\\n| ------------- | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n| `part_number` | 업로드 중인 object의 part number |\\n| `upload_id` | multipart \\bupload의 upload ID |\\n\\n### `tuist_storage_multipart_complete_upload_duration_milliseconds` (히스토그램) {#tuist_storage_multipart_complete_upload_duration_milliseconds-histogram}\\n\\nremote storage로 업로드를 완료하는 데 소요된 시간(milliseconds)\\n\\n#### Tags {#tuist-storage-multipart-complete-upload-duration-milliseconds-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n| `upload_id` | multipart \\bupload의 upload ID |\\n\\n### `tuist_storage_multipart_complete_upload_count` (횟수) {#tuist_storage_multipart_complete_upload_count-count}\\n\\nremote storage로 업로드가 완료된 총 횟수.\\n\\n#### Tags {#tuist-storage-multipart-complete-upload-count-tags}\\n\\n| Tag | Description |\\n| ------------ | ----------------------------- |\\n| `object_key` | remote storage에서 object의 조회 키 |\\n| `upload_id` | multipart \\bupload의 upload ID |\\n\\n---\\n\\n## 프로젝트 메트릭 {#projects-metrics}\\n\\n프로젝트와 관련된 메트릭 모음입니다.\\n\\n### `tuist_projects_total` (last_value) {#tuist_projects_total-last_value}\\n\\n프로젝트의 수.\\n\\n---\\n\\n## 계정 메트릭 {#accounts-metrics}\\n\\n계정 (사용자와 조직) 과 관련된 메트릭 모음입니다.\\n\\n### `tuist_accounts_organizations_total` (last_value) {#tuist_accounts_organizations_total-last_value}\\n\\n조직의 총 수.\\n\\n### `tuist_accounts_users_total` (last_value) {#tuist_accounts_users_total-last_value}\\n\\n사용자의 총 수.\\n\\n## 데이터베이스 메트릭 {#database-metrics}\\n\\n데이터베이스 연결과 관련된 메트릭입니다.\\n\\n### `tuist_repo_pool_checkout_queue_length` (last_value) {#tuist_repo_pool_checkout_queue_length-last_value}\\n\\n데이터베이스 연결에 할당되기를 기다리며 큐에 대기 중인 데이터베이스 쿼리 수입니다.\\n\\n### `tuist_repo_pool_ready_conn_count` (last_value) {#tuist_repo_pool_ready_conn_count-last_value}\\n\\n데이터베이스 쿼리에 할당될 준비가 된 데이터베이스 연결 수입니다.\\n\\n### `tuist_repo_pool_db_connection_connected` (counter) {#tuist_repo_pool_db_connection_connected-counter}\\n\\n데이터베이스에 설정된 연결 수입니다.\\n\\n### `tuist_repo_pool_db_connection_disconnected` (counter) {#tuist_repo_pool_db_connection_disconnected-counter}\\n\\n데이터베이스에서 해제된 연결 수입니다.\\n\\n## HTTP 메트릭 {#http-metrics}\\n\\nTuist가 다른 서비스와 HTTP를 통해 상호작용할 때 관련된 메트릭의 집합\\n\\n### `tuist_http_request_count` (counter) {#tuist_http_request_count-last_value}\\n\\nHTTP 요청 수\\n\\n### `tuist_http_request_duration_nanosecond_sum` (sum) {#tuist_http_request_duration_nanosecond_sum-last_value}\\n\\n요청에 대한 전체 시간 합계(연결에 할당되기까지 대기한 시간 포함)\\n\\n### `tuist_http_request_duration_nanosecond_bucket` (distribution) {#tuist_http_request_duration_nanosecond_bucket-distribution}\\n\\n요청에 대한 지속 시간 분포(연결에 할당되기까지 대기한 시간 포함)\\n\\n### `tuist_http_queue_count` (counter) {#tuist_http_queue_count-counter}\\n\\n풀에서 가져온 요청 수\\n\\n### `tuist_http_queue_duration_nanoseconds_sum` (sum) {#tuist_http_queue_duration_nanoseconds_sum-sum}\\n\\n풀에서 연결을 가져오는데 걸리는 시간\\n\\n### `tuist_http_queue_idle_time_nanoseconds_sum` (sum) {#tuist_http_queue_idle_time_nanoseconds_sum-sum}\\n\\n풀에서 연결을 가져올 때 유휴 상태로 있던 시간\\n\\n### `tuist_http_queue_duration_nanoseconds_bucket` (distribution) {#tuist_http_queue_duration_nanoseconds_bucket-distribution}\\n\\n풀에서 연결을 가져오는데 걸리는 시간\\n\\n### `tuist_http_queue_idle_time_nanoseconds_bucket` (distribution) {#tuist_http_queue_idle_time_nanoseconds_bucket-distribution}\\n\\n풀에서 연결을 가져올 때 유휴 상태로 있던 시간\\n\\n### `tuist_http_connection_count` (counter) {#tuist_http_connection_count-counter}\\n\\n설정된 연결 수\\n\\n### `tuist_http_connection_duration_nanoseconds_sum` (sum) {#tuist_http_connection_duration_nanoseconds_sum-sum}\\n\\n호스트와의 연결을 설정하는데 걸리는 시간\\n\\n### `tuist_http_connection_duration_nanoseconds_bucket` (distribution) {#tuist_http_connection_duration_nanoseconds_bucket-distribution}\\n\\n호스트와의 연결을 설정하는데 걸리는 시간 분포\\n\\n### `tuist_http_send_count` (counter) {#tuist_http_send_count-counter}\\n\\n풀에서 연결이 할당된 후에 전송된 요청 수\\n\\n### `tuist_http_send_duration_nanoseconds_sum` (sum) {#tuist_http_send_duration_nanoseconds_sum-sum}\\n\\n풀에서 연결이 할당된 후에 요청이 완료되기까지의 시간\\n\\n### `tuist_http_send_duration_nanoseconds_bucket` (distribution) {#tuist_http_send_duration_nanoseconds_bucket-distribution}\\n\\n풀에서 연결이 할당된 후에 요청이 완료되기까지의 시간 분포\\n\\n### `tuist_http_receive_count` (counter) {#tuist_http_receive_count-counter}\\n\\n전송된 요청으로부터 수신된 응답 수\\n\\n### `tuist_http_receive_duration_nanoseconds_sum` (sum) {#tuist_http_receive_duration_nanoseconds_sum-sum}\\n\\n응답을 수신하는데 걸리는 시간\\n\\n### `tuist_http_receive_duration_nanoseconds_bucket` (distribution) {#tuist_http_receive_duration_nanoseconds_bucket-distribution}\\n\\n응답을 수신하는데 걸리는 시간 분포\\n\\n### `tuist_http_queue_available_connections` (last_value) {#tuist_http_queue_available_connections-last_value}\\n\\n큐에서 사용 가능한 연결 수\\n\\n### `tuist_http_queue_in_use_connections` (last_value) {#tuist_http_queue_in_use_connections-last_value}\\n\\n큐에서 사용 중인 연결 수\\n\",\"title\":\"Metrics\",\"frontmatter\":{\"URL\":\"/ko/guides/server/self-host/telemetry\",\"LLMS_URL\":\"/ko/guides/server/self-host/telemetry.md\",\"title\":\"Metrics\",\"titleTemplate\":\":title | Self-hosting | Server | Guides | Tuist\",\"description\":\"컴파일된 바이너리를 캐싱하고 다양한 환경 간에 공유하여 빌드 시간을 최적화하세요.\"}},{\"path\":\"/ko/guides/tuist/about.md\",\"url\":\"/ko/guides/tuist/about\",\"llmUrl\":\"/ko/guides/tuist/about.md\",\"content\":\"---\\nURL: \\\"/ko/guides/tuist/about\\\"\\nLLMS_URL: \\\"/ko/guides/tuist/about.md\\\"\\ntitle: \\\"About Tuist\\\"\\ntitleTemplate: \\\":title · Guides · Tuist\\\"\\ndescription: \\\"Extend your Apple native tooling to better apps at scale.\\\"\\n---\\n\\n\\n\\n# About Tuist {#about-tuist}\\n\\n앱 개발, 특히 Apple과 같은 플랫폼에서 조직은 종종 **생산성을 저해하는 문제**에 직면합니다. 대표적인 예로는 느린 컴파일 속도, 신뢰할 수 없는 테스트, 그리고 많은 리소스를 소모하는 복잡한 자동화 워크플로우 등이 있습니다. 일반적으로 기업들은 이런 문제를 해결하기 위해 전담 플랫폼 팀을 운영합니다. 이 전문가들은 코드베이스의 품질과 안정성을 유지하여, 다른 개발자들이 기능 개발에 집중할 수 있도록 합니다. 하지만 이런 방식은 비용이 많이 들고 위험할 수 있습니다. 핵심 팀원이 떠나면 생산성이 심각하게 저하될 수 있기 때문입니다.\\n\\n## What {#what}\\n\\nTuist는 앱 개발을 빠르고 효율적으로 할 수 있도록 설계된 툴체인입니다. 공식 도구 및 시스템과 자연스럽게 연동되어 개발자들이 익숙한 환경에서 작업할 수 있도록 지원합니다. 도구 및 시스템 통합의 부담을 덜어줌으로써, 팀은 기능 개발과 전반적인 개발자 경험 향상에 집중할 수 있습니다. 즉, Tuist는 가상의 플랫폼 팀 역할을 하며, 앱 아이디어가 떠오르는 순간부터 사용자에게 출시될 때까지 Tuist는 모든 과정에서 함께하며 발생하는 문제를 해결합니다.\\n\\nTuist는 개발자들을 위한 주된 인터페이스인 [CLI](https://github.com/tuist/tuist)와 상태 정보 유지 및 외부 서비스를 연동을 위한 서버 로 구성되어 있습니다.\\n\\n## Why {#why}\\n\\n왜 Tuist를 사용해야 할까요? 다음과 같은 매력적인 이유가 있습니다.\\n\\n### Simplify 🌱 {#simplify}\\n\\n프로젝트가 성장하고 여러 플랫폼에 걸쳐 확장될수록 모듈화는 매우 중요해집니다. Tuist는 복잡한 과정을 간단하게 만들어 프로젝트 구조를 최적화하고 더 이해하기 쉬운 도구를 제공합니다.\\n\\n**Further reading:** Projects\\n\\n### Optimize workflows 🚀 {#optimize-workflows}\\n\\n프로젝트 정보를 활용하여 Tuist는 선택적 테스트 실행과 빌드 바이너리 재사용을 통해 효율성을 향상시킵니다.\\n\\n**Further reading:** Cache, Selective testing, Registry, and Previews\\n\\n### Foster healthy project evolution 📈 {#foster-healthy-project-evolution}\\n\\n우리는 당신의 프로젝트 동향을 분석하고, 현명한 의사 결정을 위한 전문적인 가이드를 제공합니다. 이 접근 방식은 문제가 있는 프로젝트에서 발생하는 좌절감과 생산성 저하를 방지하여 개발자 이탈과 비즈니스 목표 미달성을 방지합니다.\\n\\n**Further reading:** Server\\n\\n### Break down silos 💜 {#break-down-silos}\\n\\n플랫폼별 생태계(예: Xcode의 폐쇄적인 환경 등)과 달리, Tuist는 웹 중심 경험을 제공하며 Slack, Prometheus, Github과 같은 인기 있는 도구와 원활하게 통합되어 도구 간 협업을 강화합니다.\\n\\n**Further reading:** Projects\\n\\n---\\n\\nTuist, 프로젝트, 그리고 회사에 대해 더 알고 싶다면 [핸드북](https://handbook.tuist.io/) 을 확인해보세요. 우리의 비전, 가치, 그리고 Tuist를 만들어가는 팀에 대한 자세한 내용을 담고 있습니다.\\n\",\"title\":\"About Tuist\",\"frontmatter\":{\"URL\":\"/ko/guides/tuist/about\",\"LLMS_URL\":\"/ko/guides/tuist/about.md\",\"title\":\"About Tuist\",\"titleTemplate\":\":title · Guides · Tuist\",\"description\":\"Extend your Apple native tooling to better apps at scale.\"}},{\"path\":\"/ko/references/examples/app_with_airship_sdk.md\",\"url\":\"/ko/references/examples/app_with_airship_sdk\",\"llmUrl\":\"/ko/references/examples/app_with_airship_sdk.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_airship_sdk\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_airship_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Airship SDK\\n\\nThis example contains an example that showcases how to integrate the [Airship](https://github.com/urbanairship/ios-library) SDK.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with the Airship SDK\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_airship_sdk\",\"LLMS_URL\":\"/ko/references/examples/app_with_airship_sdk.md\"}},{\"path\":\"/ko/references/examples/app_with_build_rules.md\",\"url\":\"/ko/references/examples/app_with_build_rules\",\"llmUrl\":\"/ko/references/examples/app_with_build_rules.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_build_rules\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_build_rules.md\\\"\\n---\\n\\n\\n\\n# Application with build rules\\n\\nThis example contains an example that uses [build rules](https://developer.apple.com/documentation/xcode/creating-build-rules-for-custom-file-types), which instruct Xcode on how to compile a particular file.\\n\\n예제 확인\\n\",\"title\":\"Application with build rules\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_build_rules\",\"LLMS_URL\":\"/ko/references/examples/app_with_build_rules.md\"}},{\"path\":\"/ko/references/examples/app_with_composable_architecture.md\",\"url\":\"/ko/references/examples/app_with_composable_architecture\",\"llmUrl\":\"/ko/references/examples/app_with_composable_architecture.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_composable_architecture\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_composable_architecture.md\\\"\\n---\\n\\n\\n\\n# Application with the Composable Architecture (TCA)\\n\\nThis example contains an example that uses the Composable Architecture.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with the Composable Architecture (TCA)\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_composable_architecture\",\"LLMS_URL\":\"/ko/references/examples/app_with_composable_architecture.md\"}},{\"path\":\"/ko/references/examples/app_with_custom_default_configuration.md\",\"url\":\"/ko/references/examples/app_with_custom_default_configuration\",\"llmUrl\":\"/ko/references/examples/app_with_custom_default_configuration.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_custom_default_configuration\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_custom_default_configuration.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration\\n\\nApp that showcases a custom default configuration generationo option.\\n\\n예제 확인\\n\",\"title\":\"App with a custom default configuration\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_custom_default_configuration\",\"LLMS_URL\":\"/ko/references/examples/app_with_custom_default_configuration.md\"}},{\"path\":\"/ko/references/examples/app_with_custom_default_configuration_settings.md\",\"url\":\"/ko/references/examples/app_with_custom_default_configuration_settings\",\"llmUrl\":\"/ko/references/examples/app_with_custom_default_configuration_settings.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_custom_default_configuration_settings\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_custom_default_configuration_settings.md\\\"\\n---\\n\\n\\n\\n# App with a custom default configuration settings\\n\\nThis example demonstrates how to set a [default configuration](https://developer.apple.com/library/archive/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-MY_APP_HAS_MULTIPLE_BUILD_CONFIGURATIONS__HOW_DO_I_SET_A_DEFAULT_BUILD_CONFIGURATION_FOR_XCODEBUILD_) in the project settings, which will be used by `xcodebuild` when building from the command-line.\\n\\nThe default build configuration is also used to [visually activate code](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Source-Editor) in `#if…#endif` blocks when working with custom configurations other than Debug or Release in Xcode 15 and later.\\n\\n예제 확인\\n\",\"title\":\"App with a custom default configuration settings\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_custom_default_configuration_settings\",\"LLMS_URL\":\"/ko/references/examples/app_with_custom_default_configuration_settings.md\"}},{\"path\":\"/ko/references/examples/app_with_custom_scheme.md\",\"url\":\"/ko/references/examples/app_with_custom_scheme\",\"llmUrl\":\"/ko/references/examples/app_with_custom_scheme.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_custom_scheme\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_custom_scheme.md\\\"\\n---\\n\\n\\n\\n# Application with custom scheme\\n\\nThis example contains an example that uses a custom scheme to demonstrate how to modify schemes to ones needs.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with custom scheme\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_custom_scheme\",\"LLMS_URL\":\"/ko/references/examples/app_with_custom_scheme.md\"}},{\"path\":\"/ko/references/examples/app_with_executable_non_local_dependencies.md\",\"url\":\"/ko/references/examples/app_with_executable_non_local_dependencies\",\"llmUrl\":\"/ko/references/examples/app_with_executable_non_local_dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_executable_non_local_dependencies\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_executable_non_local_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application with Executable Non Local Dependencies\\n\\nThis example consists of two projects:\\n- Main app project, which contains the main iOS application\\n- Helper targets project, which includes various targets that the main app relies on\\n\\nIt demonstrates a scenario where the main app depends on executable targets from another project.\\nThere are three such targets:\\n1. `AppExtension` - an app extension target\\n2. `WatchApp` - a watchOS app target\\n3. `TestHost` - an app target intended to serve as the test host for test targets (and also exemplifies a regular app target)\\n\\n\\n예제 확인\\n\",\"title\":\"Application with Executable Non Local Dependencies\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_executable_non_local_dependencies\",\"LLMS_URL\":\"/ko/references/examples/app_with_executable_non_local_dependencies.md\"}},{\"path\":\"/ko/references/examples/app_with_exponea_sdk.md\",\"url\":\"/ko/references/examples/app_with_exponea_sdk\",\"llmUrl\":\"/ko/references/examples/app_with_exponea_sdk.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_exponea_sdk\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_exponea_sdk.md\\\"\\n---\\n\\n\\n\\n# Application with the Exponea SDK\\n\\nThis example contains an example that showcases how to integrate the [Exponea](https://github.com/exponea/exponea-ios-sdk) SDK. This SDK includes a core data model.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with the Exponea SDK\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_exponea_sdk\",\"LLMS_URL\":\"/ko/references/examples/app_with_exponea_sdk.md\"}},{\"path\":\"/ko/references/examples/app_with_generated_sources.md\",\"url\":\"/ko/references/examples/app_with_generated_sources\",\"llmUrl\":\"/ko/references/examples/app_with_generated_sources.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_generated_sources\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_generated_sources.md\\\"\\n---\\n\\n\\n\\n# App with generated sources\\n\\nThis app is to showcase using sources that are generated during the build process (as oppose to sources that already exist when buildig).\\n\\n\\n예제 확인\\n\",\"title\":\"App with generated sources\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_generated_sources\",\"LLMS_URL\":\"/ko/references/examples/app_with_generated_sources.md\"}},{\"path\":\"/ko/references/examples/app_with_globs.md\",\"url\":\"/ko/references/examples/app_with_globs\",\"llmUrl\":\"/ko/references/examples/app_with_globs.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_globs\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_globs.md\\\"\\n---\\n\\n\\n\\n# App with globs\\n\\nThis app is to showcase and test complex glob patterns for sources, resources, additional files, etc.\\n\\n\\n예제 확인\\n\",\"title\":\"App with globs\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_globs\",\"LLMS_URL\":\"/ko/references/examples/app_with_globs.md\"}},{\"path\":\"/ko/references/examples/app_with_google_maps.md\",\"url\":\"/ko/references/examples/app_with_google_maps\",\"llmUrl\":\"/ko/references/examples/app_with_google_maps.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_google_maps\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_google_maps.md\\\"\\n---\\n\\n\\n\\n# App with Google Maps\\n\\nAn example of integrating an app with Google Maps. The `GoogleMaps` dependency is imported into the App through a dynamic framework.\\n\\n예제 확인\\n\",\"title\":\"App with Google Maps\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_google_maps\",\"LLMS_URL\":\"/ko/references/examples/app_with_google_maps.md\"}},{\"path\":\"/ko/references/examples/app_with_local_spm_module_with_embed_frameworks.md\",\"url\":\"/ko/references/examples/app_with_local_spm_module_with_embed_frameworks\",\"llmUrl\":\"/ko/references/examples/app_with_local_spm_module_with_embed_frameworks.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_local_spm_module_with_embed_frameworks\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_local_spm_module_with_embed_frameworks.md\\\"\\n---\\n\\n\\n\\n# Application with Embedded Local SPM Module\\n\\nThis example project demonstrates an application that includes a local Swift Package Manager (SPM) module (`LocalSwiftPackage`) configured as an embedded framework.\\n\\nThe project leverages a local SPM module added to the Embed Frameworks section, showing that local SPM packages can now be embedded within the application.\\n\\nThis demo project exists to validate and showcase the capability to embed local SPM modules as frameworks, allowing seamless integration into the main app.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with Embedded Local SPM Module\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_local_spm_module_with_embed_frameworks\",\"LLMS_URL\":\"/ko/references/examples/app_with_local_spm_module_with_embed_frameworks.md\"}},{\"path\":\"/ko/references/examples/app_with_local_spm_module_with_remote_dependencies.md\",\"url\":\"/ko/references/examples/app_with_local_spm_module_with_remote_dependencies\",\"llmUrl\":\"/ko/references/examples/app_with_local_spm_module_with_remote_dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_local_spm_module_with_remote_dependencies\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_local_spm_module_with_remote_dependencies.md\\\"\\n---\\n\\n\\n\\n# Application wih Local SPM Module with Remote Dependencies\\n\\nThis example contains a project that depends upon a local SPM module (`LocalSwiftPackage`) colocated within this directory.\\n\\nThis project does NOT contain any direct remote dependencies.\\nHowever, `LocalSwiftPackage` DOES have remote dependencies.\\n\\nThis example application exists to ensure that package resolution occurs even in the case of solely transitive remote dependencies.\\n\\n예제 확인\\n\",\"title\":\"Application wih Local SPM Module with Remote Dependencies\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_local_spm_module_with_remote_dependencies\",\"LLMS_URL\":\"/ko/references/examples/app_with_local_spm_module_with_remote_dependencies.md\"}},{\"path\":\"/ko/references/examples/app_with_metal_options.md\",\"url\":\"/ko/references/examples/app_with_metal_options\",\"llmUrl\":\"/ko/references/examples/app_with_metal_options.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_metal_options\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_metal_options.md\\\"\\n---\\n\\n\\n\\n# App with a metal diagnostic configuration\\n\\nApp that showcases a custom and default configuration for metal diagnostics.\\n\\n\\n예제 확인\\n\",\"title\":\"App with a metal diagnostic configuration\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_metal_options\",\"LLMS_URL\":\"/ko/references/examples/app_with_metal_options.md\"}},{\"path\":\"/ko/references/examples/app_with_organization_name_project.md\",\"url\":\"/ko/references/examples/app_with_organization_name_project\",\"llmUrl\":\"/ko/references/examples/app_with_organization_name_project.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_organization_name_project\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_organization_name_project.md\\\"\\n---\\n\\n\\n\\n# App with organization name defined in `Project`\\n\\nAn iOS app where the organization name is defined at the `Project` level.\\n\\n예제 확인\\n\",\"title\":\"App with organization name defined in `Project`\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_organization_name_project\",\"LLMS_URL\":\"/ko/references/examples/app_with_organization_name_project.md\"}},{\"path\":\"/ko/references/examples/app_with_realm.md\",\"url\":\"/ko/references/examples/app_with_realm\",\"llmUrl\":\"/ko/references/examples/app_with_realm.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_realm\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_realm.md\\\"\\n---\\n\\n\\n\\n# Application with Realm\\n\\nThis example contains an example that showcases how to integrate the [Realm Swift](https://github.com/realm/realm-swift) library.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with Realm\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_realm\",\"LLMS_URL\":\"/ko/references/examples/app_with_realm.md\"}},{\"path\":\"/ko/references/examples/app_with_signed_xcframework_dependencies.md\",\"url\":\"/ko/references/examples/app_with_signed_xcframework_dependencies\",\"llmUrl\":\"/ko/references/examples/app_with_signed_xcframework_dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_signed_xcframework_dependencies\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_signed_xcframework_dependencies.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies\\n\\nAn example of an application which depends on XCFrameworks with different kinds of signatures:\\n- Signature not specified (signature validation should be skipped)\\n- Unsigned\\n- Signed with Apple certificate\\n- Self signed\\n\\n\\n예제 확인\\n\",\"title\":\"App With Signed XCFramework Dependencies\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_signed_xcframework_dependencies\",\"LLMS_URL\":\"/ko/references/examples/app_with_signed_xcframework_dependencies.md\"}},{\"path\":\"/ko/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"url\":\"/ko/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\",\"llmUrl\":\"/ko/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\\\"\\n---\\n\\n\\n\\n# App With Signed XCFramework Dependencies - Mismatching Signature\\n\\nExample of an app with a signed XCFramework dependency, where the XCFramework is declared to have a signature that\\ndoesn't match the actual signature.\\n\\n\\n예제 확인\\n\",\"title\":\"App With Signed XCFramework Dependencies - Mismatching Signature\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature\",\"LLMS_URL\":\"/ko/references/examples/app_with_signed_xcframework_dependencies_mismatching_signature.md\"}},{\"path\":\"/ko/references/examples/app_with_spm_xcframework_dependency.md\",\"url\":\"/ko/references/examples/app_with_spm_xcframework_dependency\",\"llmUrl\":\"/ko/references/examples/app_with_spm_xcframework_dependency.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/app_with_spm_xcframework_dependency\\\"\\nLLMS_URL: \\\"/ko/references/examples/app_with_spm_xcframework_dependency.md\\\"\\n---\\n\\n\\n\\n# Application with XCFramework Swift Package Manager Dependenciy\\n\\nThis example contains an example that imports an external XCFramework using Swift Package Manager dependencies.\\n\\n\\n예제 확인\\n\",\"title\":\"Application with XCFramework Swift Package Manager Dependenciy\",\"frontmatter\":{\"URL\":\"/ko/references/examples/app_with_spm_xcframework_dependency\",\"LLMS_URL\":\"/ko/references/examples/app_with_spm_xcframework_dependency.md\"}},{\"path\":\"/ko/references/examples/framework_with_environment_variables.md\",\"url\":\"/ko/references/examples/framework_with_environment_variables\",\"llmUrl\":\"/ko/references/examples/framework_with_environment_variables.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/framework_with_environment_variables\\\"\\nLLMS_URL: \\\"/ko/references/examples/framework_with_environment_variables.md\\\"\\n---\\n\\n\\n\\n# Framework with environment variables\\n\\nA framework project that leverages environment variables to change the name of the framework.\\n\\n예제 확인\\n\",\"title\":\"Framework with environment variables\",\"frontmatter\":{\"URL\":\"/ko/references/examples/framework_with_environment_variables\",\"LLMS_URL\":\"/ko/references/examples/framework_with_environment_variables.md\"}},{\"path\":\"/ko/references/examples/framework_with_macro_and_plugin_packages.md\",\"url\":\"/ko/references/examples/framework_with_macro_and_plugin_packages\",\"llmUrl\":\"/ko/references/examples/framework_with_macro_and_plugin_packages.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/framework_with_macro_and_plugin_packages\\\"\\nLLMS_URL: \\\"/ko/references/examples/framework_with_macro_and_plugin_packages.md\\\"\\n---\\n\\n\\n\\n# Framework with native Swift Macro and Plugin packages\\n\\nThis project represents a project with a framework that integrates the following Swift Packages:\\n\\n- A [build tool plugin](https://github.com/apple/swift-package-manager/blob/main/Documentation/Plugins.md) using Xcode's native integration.\\n- A Swift Macro using Tuist's integration based on XcodeProj primitives.\\n\\n예제 확인\\n\",\"title\":\"Framework with native Swift Macro and Plugin packages\",\"frontmatter\":{\"URL\":\"/ko/references/examples/framework_with_macro_and_plugin_packages\",\"LLMS_URL\":\"/ko/references/examples/framework_with_macro_and_plugin_packages.md\"}},{\"path\":\"/ko/references/examples/generated_ios_app_without_config_manifest.md\",\"url\":\"/ko/references/examples/generated_ios_app_without_config_manifest\",\"llmUrl\":\"/ko/references/examples/generated_ios_app_without_config_manifest.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/generated_ios_app_without_config_manifest\\\"\\nLLMS_URL: \\\"/ko/references/examples/generated_ios_app_without_config_manifest.md\\\"\\n---\\n\\n\\n\\n# Generated iOS App without a config manifest\\n\\nThe presence of `Tuist.swift` is optional. When absent, Tuist provides a default configuration based on the type project detected in the file-system.\\n\\n\\n예제 확인\\n\",\"title\":\"Generated iOS App without a config manifest\",\"frontmatter\":{\"URL\":\"/ko/references/examples/generated_ios_app_without_config_manifest\",\"LLMS_URL\":\"/ko/references/examples/generated_ios_app_without_config_manifest.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_actions.md\",\"url\":\"/ko/references/examples/ios_app_with_actions\",\"llmUrl\":\"/ko/references/examples/ios_app_with_actions.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_actions\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_actions.md\\\"\\n---\\n\\n\\n\\n# iOS app with actions\\n\\nAn iOS app with a target that has pre and post actions.\\n\\n예제 확인\\n\",\"title\":\"iOS app with actions\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_actions\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_actions.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_build_variables.md\",\"url\":\"/ko/references/examples/ios_app_with_build_variables\",\"llmUrl\":\"/ko/references/examples/ios_app_with_build_variables.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_build_variables\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_build_variables.md\\\"\\n---\\n\\n\\n\\n# iOS app with build variables\\n\\nAn iOS app with a Xcode build variables defined in pre action.\\n\\n예제 확인\\n\",\"title\":\"iOS app with build variables\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_build_variables\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_build_variables.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_coredata.md\",\"url\":\"/ko/references/examples/ios_app_with_coredata\",\"llmUrl\":\"/ko/references/examples/ios_app_with_coredata.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_coredata\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_coredata.md\\\"\\n---\\n\\n\\n\\n# Application with CoreData models\\n\\nThis example showcases a project that utilizes CoreData models and code generation for these models using resourceSynthesizer.\\n\\n예제 확인\\n\",\"title\":\"Application with CoreData models\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_coredata\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_coredata.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_cplusplus_interoperability.md\",\"url\":\"/ko/references/examples/ios_app_with_cplusplus_interoperability\",\"llmUrl\":\"/ko/references/examples/ios_app_with_cplusplus_interoperability.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_cplusplus_interoperability\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_cplusplus_interoperability.md\\\"\\n---\\n\\n\\n\\n# iOS App with C++ Interoperability\\n\\nThis repository contains dependencies with the `.interoperabilityMode(.Cxx)` and ensures when Tuist converts those into Xcode targets, the right build settings are applied to the generated targets.\\n\\n\\n예제 확인\\n\",\"title\":\"iOS App with C++ Interoperability\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_cplusplus_interoperability\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_cplusplus_interoperability.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_custom_workspace.md\",\"url\":\"/ko/references/examples/ios_app_with_custom_workspace\",\"llmUrl\":\"/ko/references/examples/ios_app_with_custom_workspace.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_custom_workspace\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_custom_workspace.md\\\"\\n---\\n\\n\\n\\n# iOS app with a custom workspace\\n\\niOS with a few projects and a `Workspace.swift` manifest file.\\n\\nThe workspace manifest defines:\\n\\n- glob patterns to list projects\\n- glob patterns to include documentation files\\n- folder reference to directory with html files\\n\\nThe App's project manifest leverages `additionalFiles` that:\\n\\n- defines glob patterns to include documentation files\\n- includes a Swift `Danger.swift` file that shouldn't get included in any build phase\\n- defines folder references to a directory with json files\\n\\n예제 확인\\n\",\"title\":\"iOS app with a custom workspace\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_custom_workspace\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_custom_workspace.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_extensions.md\",\"url\":\"/ko/references/examples/ios_app_with_extensions\",\"llmUrl\":\"/ko/references/examples/ios_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_extensions\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# iOS app with extensions\\n\\nSample iOS application with extension targets.\\n\\n예제 확인\\n\",\"title\":\"iOS app with extensions\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_extensions\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_extensions.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_framework_and_resources.md\",\"url\":\"/ko/references/examples/ios_app_with_framework_and_resources\",\"llmUrl\":\"/ko/references/examples/ios_app_with_framework_and_resources.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_framework_and_resources\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_framework_and_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with a framework and resources\\n\\nA workspace with an application that includes resources.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - StaticFramework\\n - StaticFramework (static iOS framework)\\n - StaticFrameworkResources (iOS bundle)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> StaticFramework\\n- App -> StaticFrameworkResources\\n\\n예제 확인\\n\",\"title\":\"iOS app with a framework and resources\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_framework_and_resources\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_framework_and_resources.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_framework_linking_static_framework.md\",\"url\":\"/ko/references/examples/ios_app_with_framework_linking_static_framework\",\"llmUrl\":\"/ko/references/examples/ios_app_with_framework_linking_static_framework.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_framework_linking_static_framework\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_framework_linking_static_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a dynamic framework that links a static framework\\n\\n\\nAn example project demonstrating an iOS application linking a dynamic framework which itself depends on a static framework with transitive static dependencies.\\n\\nOnly `Framework1.framework` should be linked and included into App, everything else should be statically linked into the Framework1 executable.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (static iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (static iOS framework)\\n - Framework3Tests (iOS unit tests)\\n - Framework4:\\n - Framework4 (static iOS framework)\\n - Framework4Tests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2\\n- Framework1 -> Framework3\\n- Framework3 -> Framework4\\n\\n\\n\\n\\n예제 확인\\n\",\"title\":\"iOS app with a dynamic framework that links a static framework\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_framework_linking_static_framework\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_framework_linking_static_framework.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_frameworks.md\",\"url\":\"/ko/references/examples/ios_app_with_frameworks\",\"llmUrl\":\"/ko/references/examples/ios_app_with_frameworks.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_frameworks\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with frameworks\\n\\n\\nSlightly more complicated project that consists of an iOS app and few frameworks.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n - Framework2Tests (iOS unit tests)\\n - Framework3:\\n - Framework3 (dynamic iOS framework)\\n - Framework4:\\n - Framework4 (dynamic iOS framework)\\n - Framework5:\\n - Framework5 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- App -> Framework2\\n- Framework1 -> Framework2\\n- Framework2 -> Framework3\\n- Framework3 -> Framework4\\n- Framework4 -> Framework5\\n\\n예제 확인\\n\",\"title\":\"iOS app with frameworks\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_frameworks\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_frameworks.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_helpers.md\",\"url\":\"/ko/references/examples/ios_app_with_helpers\",\"llmUrl\":\"/ko/references/examples/ios_app_with_helpers.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_helpers\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_helpers.md\\\"\\n---\\n\\n\\n\\n# iOS app with helpers\\n\\nA basic iOS app that leverages `ProjectDescriptionHelpers`.\\n\\n\\n예제 확인\\n\",\"title\":\"iOS app with helpers\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_helpers\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_helpers.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_incompatible_dependencies.md\",\"url\":\"/ko/references/examples/ios_app_with_incompatible_dependencies\",\"llmUrl\":\"/ko/references/examples/ios_app_with_incompatible_dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_incompatible_dependencies\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_incompatible_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible dependencies\\n\\nAn iOS app that has a dependency with a dependency on a framework for macOS.\\n\\n예제 확인\\n\",\"title\":\"iOS app with incompatible dependencies\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_incompatible_dependencies\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_incompatible_dependencies.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_incompatible_xcode.md\",\"url\":\"/ko/references/examples/ios_app_with_incompatible_xcode\",\"llmUrl\":\"/ko/references/examples/ios_app_with_incompatible_xcode.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_incompatible_xcode\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_incompatible_xcode.md\\\"\\n---\\n\\n\\n\\n# iOS app with incompatible Xcode\\n\\nAn iOS app whose Config file requires an Xcode version that is not available in the system.\\n\\n예제 확인\\n\",\"title\":\"iOS app with incompatible Xcode\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_incompatible_xcode\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_incompatible_xcode.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_local_swift_package.md\",\"url\":\"/ko/references/examples/ios_app_with_local_swift_package\",\"llmUrl\":\"/ko/references/examples/ios_app_with_local_swift_package.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_local_swift_package\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_local_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a local Swift package\\n\\nAn iOS application that depends on a local Swift package.\\n\\n예제 확인\\n\",\"title\":\"iOS app with a local Swift package\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_local_swift_package\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_local_swift_package.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_multi_configs.md\",\"url\":\"/ko/references/examples/ios_app_with_multi_configs\",\"llmUrl\":\"/ko/references/examples/ios_app_with_multi_configs.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_multi_configs\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_multi_configs.md\\\"\\n---\\n\\n\\n\\n# iOS app with multiple configurations and an xcconfig\\n\\nA workspace that contains an application and frameworks that leverage multiple configurations (Debug, Beta and Release) each of which also has an associated xcconfig file within `ConfigurationFiles`.\\n\\n예제 확인\\n\",\"title\":\"iOS app with multiple configurations and an xcconfig\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_multi_configs\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_multi_configs.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_on_demand_resources.md\",\"url\":\"/ko/references/examples/ios_app_with_on_demand_resources\",\"llmUrl\":\"/ko/references/examples/ios_app_with_on_demand_resources.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_on_demand_resources\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_on_demand_resources.md\\\"\\n---\\n\\n\\n\\n# iOS app with on demand resources\\n\\nAn iOS applicaiton with on-demand resources. It contains file resources and asset catalogs associated with tags which in turn are distributed between three categories:\\n- Initial install tags\\n- Prefetch tag order\\n- Dowloaded only on demand\\n\\n예제 확인\\n\",\"title\":\"iOS app with on demand resources\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_on_demand_resources\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_on_demand_resources.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_privacy_manifest.md\",\"url\":\"/ko/references/examples/ios_app_with_privacy_manifest\",\"llmUrl\":\"/ko/references/examples/ios_app_with_privacy_manifest.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_privacy_manifest\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_privacy_manifest.md\\\"\\n---\\n\\n\\n\\n# Application with Privacy Manifest\\n\\nThis example contains an example that uses a [Privacy Manifest](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files), which describe the data the app collects and the reasons required APIs it uses.\\n\\n예제 확인\\n\",\"title\":\"Application with Privacy Manifest\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_privacy_manifest\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_privacy_manifest.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_remote_swift_package.md\",\"url\":\"/ko/references/examples/ios_app_with_remote_swift_package\",\"llmUrl\":\"/ko/references/examples/ios_app_with_remote_swift_package.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_remote_swift_package\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_remote_swift_package.md\\\"\\n---\\n\\n\\n\\n# iOS App with a remote Swift package\\n\\nAn iOS application with a remote Swift package.\\n\\n예제 확인\\n\",\"title\":\"iOS App with a remote Swift package\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_remote_swift_package\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_remote_swift_package.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_sandbox_disabled.md\",\"url\":\"/ko/references/examples/ios_app_with_sandbox_disabled\",\"llmUrl\":\"/ko/references/examples/ios_app_with_sandbox_disabled.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_sandbox_disabled\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_sandbox_disabled.md\\\"\\n---\\n\\n\\n\\n# iOS app with sandbox disabled\\n\\nAn example of a project manifest that accesses the file system, and therefore requires the sandbox to be disabled.\\n\\n*Note: disabling the sandbox is discouraged and should only be used if absolutely necessary.*\\n\\n\\n예제 확인\\n\",\"title\":\"iOS app with sandbox disabled\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_sandbox_disabled\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_sandbox_disabled.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_sdk.md\",\"url\":\"/ko/references/examples/ios_app_with_sdk\",\"llmUrl\":\"/ko/references/examples/ios_app_with_sdk.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_sdk\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_sdk.md\\\"\\n---\\n\\n\\n\\n# iOS app with an SDK\\n\\nAn application that contains an application target that depends on system libraries and frameworks (`.framework` and `.tbd`).\\n\\nOne of the dependencies is declared as `.optional` i.e. will be linked weakly.\\n\\n예제 확인\\n\",\"title\":\"iOS app with an SDK\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_sdk\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_sdk.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_spm_dependencies.md\",\"url\":\"/ko/references/examples/ios_app_with_spm_dependencies\",\"llmUrl\":\"/ko/references/examples/ios_app_with_spm_dependencies.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_spm_dependencies\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_spm_dependencies.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependencies\\n\\nAn iOS application project with various SPM dependencies.\\n\\n예제 확인\\n\",\"title\":\"iOS app with SPM dependencies\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_spm_dependencies\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_spm_dependencies.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"url\":\"/ko/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\",\"llmUrl\":\"/ko/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\\\"\\n---\\n\\n\\n\\n# iOS app with SPM dependency and force resolved versions flag\\n\\nAn iOS application project with one SPM dependency and --force-resolved-versions config flag\\n\\n예제 확인\\n\",\"title\":\"iOS app with SPM dependency and force resolved versions flag\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_spm_dependencies_forced_resolved_versions.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_static_frameworks.md\",\"url\":\"/ko/references/examples/ios_app_with_static_frameworks\",\"llmUrl\":\"/ko/references/examples/ios_app_with_static_frameworks.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_static_frameworks\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_static_frameworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with static frameworks\\n\\n\\nThis fixture contains an application that depends on static frameworks, both directly and transitively.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Modules\\n - A:\\n - A (static framework iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static framework iOS)\\n - BTests (iOS unit tests)\\n - C:\\n - C (static framework iOS)\\n - CTests (iOS unit tests)\\n - D:\\n - D (dynamic framework iOS)\\n```\\n\\nA standalone `Prebuilt` project is used to generate a prebuilt static framework:\\n\\n```\\n- Prebuilt\\n - PrebuiltStaticFramework (static framework iOS)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- App -> C\\n- App -> PrebuiltStaticFramework\\n- A -> B\\n- A -> C\\n- C -> D\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_frameworks/Prebuilt//build.sh`\\n\\n예제 확인\\n\",\"title\":\"iOS app with static frameworks\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_static_frameworks\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_static_frameworks.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_static_libraries.md\",\"url\":\"/ko/references/examples/ios_app_with_static_libraries\",\"llmUrl\":\"/ko/references/examples/ios_app_with_static_libraries.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_static_libraries\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_static_libraries.md\\\"\\n---\\n\\n\\n\\n# iOS app with static libraries\\n\\n\\nThis application provides a top level application with two static library dependencies. The first static library dependency has another static library dependency so that we are able to test how Tuist handles the transitiveness of the static libraries in the linked frameworks of the main app.\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - A:\\n - A (static library iOS)\\n - ATests (iOS unit tests)\\n - B:\\n - B (static library iOS)\\n - BTests (iOS unit tests)\\n```\\n\\nA standalone C project is used to generate a prebuilt static library:\\n\\n```\\n - C:\\n - C (static library iOS)\\n - CTests (iOS unit tests)\\n```\\n\\nDependencies:\\n\\n- App -> A\\n- A -> B\\n- A -> prebuild C (libC.a)\\n\\nNote: to re-create `libC.a` run `ios_app_with_static_libraries/Modules/C/build.sh`\\n\\n예제 확인\\n\",\"title\":\"iOS app with static libraries\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_static_libraries\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_static_libraries.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_static_library_and_package.md\",\"url\":\"/ko/references/examples/ios_app_with_static_library_and_package\",\"llmUrl\":\"/ko/references/examples/ios_app_with_static_library_and_package.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_static_library_and_package\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_static_library_and_package.md\\\"\\n---\\n\\n\\n\\n# iOS app with a static library and a package\\n\\nAn iOS application that depends on static library that depends on Swift package where static library is defined first.\\n\\nNote: to re-create `PrebuiltStaticFramework.framework` run `ios_app_with_static_library_and_package/Prebuilt/build.sh`\\n\\n예제 확인\\n\",\"title\":\"iOS app with a static library and a package\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_static_library_and_package\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_static_library_and_package.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_tests.md\",\"url\":\"/ko/references/examples/ios_app_with_tests\",\"llmUrl\":\"/ko/references/examples/ios_app_with_tests.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_tests\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_tests.md\\\"\\n---\\n\\n\\n\\n# iOS app with tests\\n\\nA simple iOS app with tests, which includes a setup manifest and uses `.notGrouped` autogenerated schemes.\\n\\n예제 확인\\n\",\"title\":\"iOS app with tests\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_tests\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_tests.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_transitive_framework.md\",\"url\":\"/ko/references/examples/ios_app_with_transitive_framework\",\"llmUrl\":\"/ko/references/examples/ios_app_with_transitive_framework.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_transitive_framework\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_transitive_framework.md\\\"\\n---\\n\\n\\n\\n# iOS app with a transitive framework\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - Framework1:\\n - Framework1 (dynamic iOS framework)\\n - Framework1Tests (iOS unit tests)\\n```\\n\\nA standalone Framework2 project is used to generate a prebuilt dynamic framework:\\n\\n```\\n - Framework2:\\n - Framework2 (dynamic iOS framework)\\n```\\n\\nDependencies:\\n\\n- App -> Framework1\\n- Framework1 -> Framework2 (prebuilt)\\n\\nNote: to re-create `Framework2.framework` run `ios_app_with_transitive_framework/Framework2/build.sh`\\n\\n예제 확인\\n\",\"title\":\"iOS app with a transitive framework\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_transitive_framework\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_transitive_framework.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_transitive_framework_through_macro.md\",\"url\":\"/ko/references/examples/ios_app_with_transitive_framework_through_macro\",\"llmUrl\":\"/ko/references/examples/ios_app_with_transitive_framework_through_macro.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_transitive_framework_through_macro\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_transitive_framework_through_macro.md\\\"\\n---\\n\\n\\n\\n# iOS app with transitive framework through macro executable\\n\\nThis fixture contains an iOS app that transitively and directly depends on a Swift Macro (executable)'s direct dependency.\\nIt was included [in this issue](https://github.com/tuist/tuist/issues/5988) because the set up caused the warming of the binary cache to fail due to \\\"multiple commands produce the same output\\\" error when archiving.\\nAs a solution, we moved away from using archive, and instead use the build action to warm the cache.\\n\\n예제 확인\\n\",\"title\":\"iOS app with transitive framework through macro executable\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_transitive_framework_through_macro\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_transitive_framework_through_macro.md\"}},{\"path\":\"/ko/references/examples/ios_app_with_xcframeworks.md\",\"url\":\"/ko/references/examples/ios_app_with_xcframeworks\",\"llmUrl\":\"/ko/references/examples/ios_app_with_xcframeworks.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_app_with_xcframeworks\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_app_with_xcframeworks.md\\\"\\n---\\n\\n\\n\\n# iOS app with xcframeworks\\n\\n```\\nWorkspace:\\n - App:\\n - MainApp (iOS app)\\n - MainAppTests (iOS unit tests)\\n - MyFramework:\\n - MyFramework (dynamic iOS framework)\\n - MyStaticFramework:\\n - MyStaticFramework (static iOS framework)\\n - MyStaticLibirary:\\n - MyStaticLibrary (static iOS libraries)\\n```\\n\\nAn example of an application which depends on prebuilt `.xcframework`s.\\n\\nThe `.xcframework` can be obtained by running the `build.sh` script within the each of the xcframework directories\\ne.g. `ios_app_with_xcframeworks/XCFrameworks/MyFramework/build.sh`.\\n\\n예제 확인\\n\",\"title\":\"iOS app with xcframeworks\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_app_with_xcframeworks\",\"LLMS_URL\":\"/ko/references/examples/ios_app_with_xcframeworks.md\"}},{\"path\":\"/ko/references/examples/ios_workspace_with_dependency_cycle.md\",\"url\":\"/ko/references/examples/ios_workspace_with_dependency_cycle\",\"llmUrl\":\"/ko/references/examples/ios_workspace_with_dependency_cycle.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/ios_workspace_with_dependency_cycle\\\"\\nLLMS_URL: \\\"/ko/references/examples/ios_workspace_with_dependency_cycle.md\\\"\\n---\\n\\n\\n\\n# iOS workspace with a dependency cycle\\n\\nAn example of a workspace that has a dependency cycle between targets in different projects.\\n\\n예제 확인\\n\",\"title\":\"iOS workspace with a dependency cycle\",\"frontmatter\":{\"URL\":\"/ko/references/examples/ios_workspace_with_dependency_cycle\",\"LLMS_URL\":\"/ko/references/examples/ios_workspace_with_dependency_cycle.md\"}},{\"path\":\"/ko/references/examples/macos_app_with_extensions.md\",\"url\":\"/ko/references/examples/macos_app_with_extensions\",\"llmUrl\":\"/ko/references/examples/macos_app_with_extensions.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/macos_app_with_extensions\\\"\\nLLMS_URL: \\\"/ko/references/examples/macos_app_with_extensions.md\\\"\\n---\\n\\n\\n\\n# macOS app with extensions\\n\\nThe project contains a macOS app with various types of extensions.\\n\\n예제 확인\\n\",\"title\":\"macOS app with extensions\",\"frontmatter\":{\"URL\":\"/ko/references/examples/macos_app_with_extensions\",\"LLMS_URL\":\"/ko/references/examples/macos_app_with_extensions.md\"}},{\"path\":\"/ko/references/examples/package_with_registry_and_alamofire.md\",\"url\":\"/ko/references/examples/package_with_registry_and_alamofire\",\"llmUrl\":\"/ko/references/examples/package_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/package_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/ko/references/examples/package_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Swift package with registry and Alamofire\\n\\nA simple Swift package that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\n예제 확인\\n\",\"title\":\"Swift package with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/ko/references/examples/package_with_registry_and_alamofire\",\"LLMS_URL\":\"/ko/references/examples/package_with_registry_and_alamofire.md\"}},{\"path\":\"/ko/references/examples/project_with_class_prefix.md\",\"url\":\"/ko/references/examples/project_with_class_prefix\",\"llmUrl\":\"/ko/references/examples/project_with_class_prefix.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/project_with_class_prefix\\\"\\nLLMS_URL: \\\"/ko/references/examples/project_with_class_prefix.md\\\"\\n---\\n\\n\\n\\n# Project with class prefix\\n\\nThis example generate Xcode project with custom class prefix setting.\\n\\n예제 확인\\n\",\"title\":\"Project with class prefix\",\"frontmatter\":{\"URL\":\"/ko/references/examples/project_with_class_prefix\",\"LLMS_URL\":\"/ko/references/examples/project_with_class_prefix.md\"}},{\"path\":\"/ko/references/examples/xcode_app.md\",\"url\":\"/ko/references/examples/xcode_app\",\"llmUrl\":\"/ko/references/examples/xcode_app.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/xcode_app\\\"\\nLLMS_URL: \\\"/ko/references/examples/xcode_app.md\\\"\\n---\\n\\n\\n\\n# Xcode app\\n\\nA simple app created with Xcode. This fixture is _not_ using Tuist projects and it is meant to test features that don't require Tuist projects, such as `tuist share`.\\n\\n예제 확인\\n\",\"title\":\"Xcode app\",\"frontmatter\":{\"URL\":\"/ko/references/examples/xcode_app\",\"LLMS_URL\":\"/ko/references/examples/xcode_app.md\"}},{\"path\":\"/ko/references/examples/xcode_project_with_registry_and_alamofire.md\",\"url\":\"/ko/references/examples/xcode_project_with_registry_and_alamofire\",\"llmUrl\":\"/ko/references/examples/xcode_project_with_registry_and_alamofire.md\",\"content\":\"---\\nURL: \\\"/ko/references/examples/xcode_project_with_registry_and_alamofire\\\"\\nLLMS_URL: \\\"/ko/references/examples/xcode_project_with_registry_and_alamofire.md\\\"\\n---\\n\\n\\n\\n# Xcode project with registry and Alamofire\\n\\nA simple app created with Xcode that has an Alamofire dependency resolved using the Tuist Registry.\\n\\n\\n예제 확인\\n\",\"title\":\"Xcode project with registry and Alamofire\",\"frontmatter\":{\"URL\":\"/ko/references/examples/xcode_project_with_registry_and_alamofire\",\"LLMS_URL\":\"/ko/references/examples/xcode_project_with_registry_and_alamofire.md\"}},{\"path\":\"/ko/references/migrations/from-v3-to-v4.md\",\"url\":\"/ko/references/migrations/from-v3-to-v4\",\"llmUrl\":\"/ko/references/migrations/from-v3-to-v4.md\",\"content\":\"---\\nURL: \\\"/ko/references/migrations/from-v3-to-v4\\\"\\nLLMS_URL: \\\"/ko/references/migrations/from-v3-to-v4.md\\\"\\ntitle: \\\"버전 3에서 버전 4로\\\"\\ntitleTemplate: \\\":title · Migrations · References · Tuist\\\"\\ndescription: \\\"이 페이지에서는 Tuist CLI를 버전 3에서 버전 4로 마이그레이션하는 방법을 설명합니다.\\\"\\n---\\n\\n# 버전 3에서 버전 4로 {#from-tuist-v3-to-v4}\\n\\n[Tuist 4](https://github.com/tuist/tuist/releases/tag/4.0.0)의 출시와 함께, 프로젝트를 장기적으로 더 쉽게 사용하고 유지보수할 수 있도록 몇 가지 획기적인 변경 사항을 도입했습니다. 이 문서는 Tuist 3에서 Tuist 4로 업그레이드하기 위해 프로젝트에 필요한 변경 사항을 설명합니다.\\n\\n### `tuistenv`를 통한 버전 관리가 삭제되었습니다. {#dropped-version-management-through-tuistenv}\\n\\nTuist 4 이전에는 설치 스크립트가 `tuistenv`라는 도구를 설치했으며, 설치 시 이 도구는 `tuist`로 이름이 변경되었습니다. 이 도구는 Tuist의 버전을 설치하고 활성화하여 환경 간의 일관성을 보장하는 역할을 했습니다. Tuist의 기능 범위를 줄이기 위해, 동일한 작업을 수행하지만 더 유연하고 다양한 도구에서 사용할 수 있는 [Mise](https://mise.jdx.dev/)로 대체하면서 `tuistenv` 지원을 중단하기로 결정했습니다. `tuistenv`를 사용하고 있었다면, 현재 버전의 Tuist를 `curl -Ls https://uninstall.tuist.io | bash` 명령어로 제거한 후, 원하는 설치 방법을 사용하여 다시 설치해야 합니다. 환경 간에 일관된 방식으로 버전을 설치하고 활성화할 수 있기 때문에 Mise 사용을 강력히 권장합니다.\\n\\n::: code-group\\n\\n```bash [Uninstall tuistenv]\\ncurl -Ls https://uninstall.tuist.io | bash\\n```\\n\\n:::\\n\\n> [!IMPORTANT] CI 환경과 Xcode 프로젝트에서 Mise 사용\\n> Mise가 제공하는 일관성을 활용하기로 했다면, [CI 환경](https://mise.jdx.dev/continuous-integration.html)과 [Xcode \\b프로젝트](https://mise.jdx.dev/ide-integration.html#xcode)에서 Mise를 사용하는 방법에 대한 문서를 확인해 보시기를 권장합니다.\\n\\n> [!NOTE] Homebrew 지원됨\\n> macOS용 인기 패키지 관리자인 Homebrew를 통해 Tuist를 설치할 수 있다는 점을 참고하세요. Homebrew를 사용하여 Tuist를 설치하는 방법은 설치 가이드에서 확인할 수 있습니다.\\n\\n### `ProjectDescription` 모델에서 `init` 생성자가 제거되었습니다. {#dropped-init-constructors-from-projectdescription-models}\\n\\nAPI의 가독성과 표현력을 높이기 위해, 모든 `ProjectDescription` 모델에서 `init` 생성자를 제거하기로 결정했습니다. 이제 각 모델은 인스턴스를 생성할 수 있는 정적 생성자를 제공합니다. 만약 `init` 생성자를 사용하고 있었다면, 이제 정적 생성자를 사용하도록 프로젝트를 업데이트해야 합니다.\\n\\n> [!TIP] \\b명명 규칙\\n> 우리가 따르는 명명 규칙은 모델의 이름을 정적 생성자의 이름으로 사용하는 것입니다. 예를 들어, `Target` 모델의 정적 생성자는 `Target.target`입니다.\\n\\n### `--no-cache` 가 `--no-binary-cache`로 이름이 변경되었습니다. {#renamed-nocache-to-nobinarycache}\\n\\n왜냐하면 `--no-cache` 플래그가 모호했기 때문에, 이를 `--no-binary-cache`로 변경하여 바이너리 캐시를 의미한다는 점을 명확히 했습니다. 만약 `--no-cache` 플래그를 사용하고 있었다면, 이제 `--no-binary-cache` 플래그를 사용하도록 프로젝트를 업데이트해야 합니다.\\n\\n### `tuist fetch`가 `tuist install`로 이름이 변경되었습니다. {#renamed-tuist-fetch-to-tuist-install}\\n\\n업계 표준에 맞추기 위해 `tuist fetch` 명령어를 `tuist install`로 변경했습니다. `tuist fetch` 명령어를 사용하고 있었다면 `tuist install` 명령어를 사용하도록 프로젝트를 업데이트해야 합니다.\\n\\n### [종속성을 위한 DSL로 'Package.swift'를 채택합니다](https://github.com/tuist/tuist/pull/5862) {#adopt-packageswift-as-the-dsl-for-dependencieshttpsgithubcomtuisttuistpull5862}\\n\\nTuist 4 이전에는 `Dependencies.swift` 파일에서 종속성을 정의할 수 있었습니다. 이 독자적인 형식은 [Dependabot](https://github.com/dependabot)이나 [Renovatebot](https://github.com/renovatebot/renovate)과 같은 도구에서 종속성을 자동으로 업데이트하는 기능을 지원하지 못하게 했습니다. 또한 사용자에게 불필요한 간접 경로를 도입하게 했습니다. 따라서 Tuist에서 종속성을 정의하는 유일한 방법으로 `Package.swift`를 채택하기로 결정했습니다. `Dependencies.swift` 파일을 사용하고 있었다면, `Tuist/Dependencies.swift`의 내용을 루트 디렉토리의 `Package.swift`로 이동하고, 통합을 설정하기 위해 `#if TUIST` 지시문을 사용해야 합니다. Swift Package 종속성을 통합하는 방법에 대한 자세한 내용은 여기에서 확인할 수 있습니다.\\n\\n### `tuist cache warm`이 `tuist cache`로 이름이 변경되었습니다. {#renamed-tuist-cache-warm-to-tuist-cache}\\n\\n간결함을 위해 `tuist cache warm` 명령어를 `tuist cache`로 이름 변경하기로 결정했습니다. `tuist cache warm` 명령어를 사용하고 있었다면, 이제 `tuist cache` 명령어를 사용하도록 프로젝트를 업데이트해야 합니다.\\n\\n### `tuist cache print-hashes`가 `tuist cache --print-hashes`로 이름이 변경되었습니다. {#renamed-tuist-cache-printhashes-to-tuist-cache-printhashes}\\n\\n`tuist cache print-hashes` 명령어를 `tuist cache --print-hashes`로 변경하여, 이것이 `tuist cache` 명령어의 플래그임을 명확히 했습니다. `tuist cache print-hashes` 명령어를 사용하고 있었다면, 이제 `tuist cache --print-hashes` 플래그를 사용하도록 프로젝트를 업데이트해야 합니다.\\n\\n### caching profiles가 제거되었습니다. {#removed-caching-profiles}\\n\\nTuist 4 이전에는 Tuist/Config.swift에 캐시 구성을 포함한 caching profiles를 정의할 수 있었습니다. 이 기능은 다른 프로필을 사용하여 프로젝트를 생성할 때 혼란을 초래할 수 있기 때문에 제거하기로 결정했습니다. 게다가, 이 기능은 사용자가 디버그 프로필을 사용하여 앱의 릴리스 버전을 빌드하는 상황을 초래할 수 있어, 예상치 못한 결과를 발생시킬 수 있습니다. 그 대신, 프로젝트를 생성할 때 사용할 구성을 지정할 수 있는 `--configuration` 옵션을 도입했습니다. caching profiles을 사용하고 있었다면, 이제 `--configuration` 옵션을 대신 사용하도록 프로젝트를 업데이트해야 합니다.\\n\\n### {#removed-skipcache-in-favor-of-arguments}\\n\\n`generate` 명령에서 `--skip-cache` 플래그를 제거하고, 대신 arguments를 사용하여 바이너리 캐시를 건너뛰어야 할 대상을 제어하도록 변경되었습니다. `--skip-cache` 플래그를 사용하고 있었다면, 이제 arguments를 사용하도록 프로젝트를 업데이트해야 합니다.\\n\\n::: code-group\\n\\n```bash [Before]\\ntuist generate --skip-cache Foo\\n```\\n\\n```bash [After]\\ntuist generate Foo\\n```\\n\\n:::\\n\\n### [중단된 서명 기능](https://github.com/tuist/tuist/pull/5716) {#dropped-signing-capabilitieshttpsgithubcomtuisttuistpull5716}\\n\\n서명 기능은 이미 [Fastlane](https://fastlane.tools/)과 Xcode 자체와 같은 커뮤니티 도구들에 의해 해결되었으며, 이들이 훨씬 더 잘 처리합니다. 우리는 서명 기능이 Tuist의 추가 목표라고 판단했으며, 프로젝트의 핵심 기능에 집중하는 것이 더 좋다고 생각했습니다. 만약 Tuist의 서명 기능을 사용하고 있었다면, 이는 저장소에서 인증서와 프로필을 암호화하여 프로젝트 생성 시 올바른 위치에 설치하는 방식이었습니다. 이제 이 기능이 제거되었기 때문에, 프로젝트 생성 전에 실행되는 스크립트에서 해당 로직을 직접 구현해야 할 수 있습니다. 특히:\\n\\n- 파일 시스템이나 환경 변수에 저장된 키를 사용하여 인증서와 프로필을 복호화하고, 인증서를 키체인에 설치하며, 프로비저닝 프로필은 `~/Library/MobileDevice/Provisioning\\\\ Profiles` 디렉토리에 설치하는 스크립트를 작성해야 할 수 있습니다.\\n- 기존의 프로필과 인증서를 받아서 암호화하는 스크립트를 작성해야 할 수 있습니다.\\n\\n> [!TIP] 서명 요구 사항\\n> 서명은 키체인에 올바른 인증서가 있어야 하고, 프로비저닝 프로필은 `~/Library/MobileDevice/Provisioning\\\\ Profiles` 디렉토리에 있어야 합니다. `security` 명령어를 사용하여 인증서를 키체인에 설치하고, `cp` 명령어를 사용하여 프로비저닝 프로필을 올바른 디렉토리에 복사할 수 있습니다.\\n\\n### `Dependencies.swift`를 통한 Carthage 통합이 제거되었습니다. {#dropped-carthage-integration-via-dependenciesswift}\\n\\nTuist 4 이전에는 Carthage 의존성을 `Dependencies.swift` 파일에 정의할 수 있었으며, 사용자는 `tuist fetch` 명령을 실행하여 이를 가져올 수 있었습니다. 우리는 또한 이것이 Tuist의 추가 목표라고 생각했으며, 특히 앞으로 Swift Package Manager가 의존성을 관리하는 기본적인 방법이 될 것이라는 점을 고려했습니다. 만약 Carthage 의존성을 사용하고 있었다면, 이제 `Carthage`를 직접 사용하여 미리 컴파일된 프레임워크와 XCFramework를 Carthage의 표준 디렉토리로 가져온 후, `TargetDependency.xcframework`와 `TargetDependency.framework` 케이스를 사용하여 해당 바이너리를 타겟에서 참조해야 합니다.\\n\\n> 일부 사용자들은 우리가 Carthage 지원을 중단했다고 이해했습니다. 우리는 그렇지 않았습니다. Tuist와 Carthage의 출력 간의 계약은 시스템에 저장된 프레임워크와 XCFramework에 관한 것입니다. 변경된 유일한 점은 의존성을 가져오는 책임이 누구에게 있는지입니다. 이전에는 Tuist가 Carthage를 통해 의존성을 가져왔지만, 이제는 Carthage가 직접 의존성을 가져옵니다.\\n\\n### `TargetDependency.packagePlugin` API가 제거되었습니다. {#dropped-the-targetdependencypackageplugin-api}\\n\\nTuist 4 이전에는 `TargetDependency.packagePlugin` 케이스를 사용하여 패키지 플러그인 의존성을 정의할 수 있었습니다. Swift Package Manager가 새로운 패키지 유형을 도입하는 것을 본 후, 우리는 API를 더 유연하고 미래 지향적으로 발전시키기로 결정했습니다. 만약 `TargetDependency.packagePlugin`을 사용하고 있었다면, 대신 `TargetDependency.package`를 사용해야 하며, 사용하려는 패키지 유형을 인수로 전달해야 합니다.\\n\\n### [더 이상 사용되지 않는 API가 제거되었습니다.](https://github.com/tuist/tuist/pull/5560) {#dropped-deprecated-apishttpsgithubcomtuisttuistpull5560}\\n\\n우리는 Tuist 3에서 더 이상 사용되지 않는 것으로 표시된 API들을 제거했습니다. 만약 더 이상 사용되지 않는 API를 사용하고 있었다면, 새로운 API를 사용하도록 프로젝트를 업데이트해야 합니다.\\n\",\"title\":\"버전 3에서 버전 4로\",\"frontmatter\":{\"URL\":\"/ko/references/migrations/from-v3-to-v4\",\"LLMS_URL\":\"/ko/references/migrations/from-v3-to-v4.md\",\"title\":\"버전 3에서 버전 4로\",\"titleTemplate\":\":title · Migrations · References · Tuist\",\"description\":\"이 페이지에서는 Tuist CLI를 버전 3에서 버전 4로 마이그레이션하는 방법을 설명합니다.\"}},{\"path\":\"/ko/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\",\"url\":\"/ko/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\",\"llmUrl\":\"/ko/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `AutogeneratedWorkspaceSchemes.CodeCoverageMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `relevant`\\n - `targets(_:)`\\n - `disabled`\\n\\n```swift\\npublic enum CodeCoverageMode: Codable, Equatable, Sendable\\n```\\n\\nContains options for code coverage\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\nGather code coverage data for all targets in workspace.\\n\\n### `relevant`\\n\\n```swift\\ncase relevant\\n```\\n\\nEnable code coverage for targets that have enabled code coverage in any of schemes in workspace.\\n\\n### `targets(_:)`\\n\\n```swift\\ncase targets([TargetReference])\\n```\\n\\nGather code coverage for specified target references.\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDo not gather code coverage data.\\n\\n\",\"title\":\"`AutogeneratedWorkspaceSchemes.CodeCoverageMode`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode\",\"LLMS_URL\":\"/ko/references/project-description/enums/autogeneratedworkspaceschemes.codecoveragemode.md\"}},{\"path\":\"/ko/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\",\"url\":\"/ko/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\",\"llmUrl\":\"/ko/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `AutomaticSchemesOptions.TargetSchemesGrouping`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `singleScheme`\\n - `byNameSuffix(build:test:run:)`\\n - `notGrouped`\\n\\n```swift\\npublic enum TargetSchemesGrouping: Codable, Equatable, Sendable\\n```\\n\\nAllows you to define what targets will be enabled for code coverage data gathering.\\n\\n## Cases\\n### `singleScheme`\\n\\n```swift\\ncase singleScheme\\n```\\n\\nGenerate a single scheme for each project.\\n\\n### `byNameSuffix(build:test:run:)`\\n\\n```swift\\ncase byNameSuffix(build: Set, test: Set, run: Set)\\n```\\n\\nGroup schemes according to the suffix of their names.\\n\\n### `notGrouped`\\n\\n```swift\\ncase notGrouped\\n```\\n\\nGenerate a scheme for each target.\\n\\n\",\"title\":\"`AutomaticSchemesOptions.TargetSchemesGrouping`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/automaticschemesoptions.targetschemesgrouping\",\"LLMS_URL\":\"/ko/references/project-description/enums/automaticschemesoptions.targetschemesgrouping.md\"}},{\"path\":\"/ko/references/project-description/enums/buildorder.md\",\"url\":\"/ko/references/project-description/enums/buildorder\",\"llmUrl\":\"/ko/references/project-description/enums/buildorder.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/buildorder\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/buildorder.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildOrder`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `dependency`\\n - `manual`\\n\\n```swift\\npublic enum BuildOrder: Codable, Sendable\\n```\\n\\nRepresents the order in which targets are built within an Xcode scheme.\\n\\n## Cases\\n### `dependency`\\n\\n```swift\\ncase dependency\\n```\\n\\nBuilds targets automatically based on their dependency graph.\\nThis is the default and recommended setting for most projects.\\n\\n### `manual`\\n\\n```swift\\ncase manual\\n```\\n\\nBuilds targets in the order they appear in the scheme’s Build list.\\nUse this when you need fine-grained control.\\n\\n- Warning: This option is deprecated and may not be respected in future versions of Xcode.\\nUse `dependency` to ensure reliable and maintainable build behavior.\\n\\n\",\"title\":\"`BuildOrder`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/buildorder\",\"LLMS_URL\":\"/ko/references/project-description/enums/buildorder.md\"}},{\"path\":\"/ko/references/project-description/enums/buildrule.compilerspec.md\",\"url\":\"/ko/references/project-description/enums/buildrule.compilerspec\",\"llmUrl\":\"/ko/references/project-description/enums/buildrule.compilerspec.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/buildrule.compilerspec\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/buildrule.compilerspec.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildRule.CompilerSpec`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `appIntentsMetadataExtractor`\\n - `appShortcutStringsMetadataExtractor`\\n - `appleClang`\\n - `assetCatalogCompiler`\\n - `codeSign`\\n - `compileRealityComposerProject`\\n - `compileSceneKitShaders`\\n - `compileSkybox`\\n - `compileUSDZ`\\n - `compressPNG`\\n - `copyPlistFile`\\n - `copySceneKitAssets`\\n - `copyStringsFile`\\n - `copyTiffFile`\\n - `coreDataMappingModelCompiler`\\n - `coreMLModelCompiler`\\n - `dataModelCompiler`\\n - `defaultCompiler`\\n - `dTrace`\\n - `generateSpriteKitTextureAtlas`\\n - `iconutil`\\n - `instrumetsPackageBuilder`\\n - `intentDefinitionCompiler`\\n - `interfaceBuilderNIBPostprocessor`\\n - `interfaceBuilderStoryboardCompiler`\\n - `interfaceBuilderStoryboardLinker`\\n - `interfaceBuilderStoryboardPostprocessor`\\n - `interfaceBuilderXIBCompiler`\\n - `ioKitInterfaceGenerator`\\n - `lex`\\n - `lsRegisterURL`\\n - `metalCompiler`\\n - `metalLinker`\\n - `mig`\\n - `nasm`\\n - `nmedit`\\n - `openCL`\\n - `osaCompile`\\n - `pbxcp`\\n - `processSceneKitDocument`\\n - `processXCAppExtensionPoints`\\n - `rez`\\n - `stripSymbols`\\n - `swiftCompiler`\\n - `swiftABIBaselineGenerator`\\n - `swiftFrameworkABIChecker`\\n - `textBasedAPITool`\\n - `unifdef`\\n - `yacc`\\n - `customScript`\\n\\n```swift\\npublic enum CompilerSpec: Codable, Sendable\\n```\\n\\nThe type of compiler spec which is used for a selected file type.\\nAll the values are taken from build rule options hidden under a pup-up button's menu next to a label `Using` in a target's\\n`Build Rules` section.\\n\\n## Cases\\n### `appIntentsMetadataExtractor`\\n\\n```swift\\ncase appIntentsMetadataExtractor\\n```\\n\\n### `appShortcutStringsMetadataExtractor`\\n\\n```swift\\ncase appShortcutStringsMetadataExtractor\\n```\\n\\n### `appleClang`\\n\\n```swift\\ncase appleClang\\n```\\n\\n### `assetCatalogCompiler`\\n\\n```swift\\ncase assetCatalogCompiler\\n```\\n\\n### `codeSign`\\n\\n```swift\\ncase codeSign\\n```\\n\\n### `compileRealityComposerProject`\\n\\n```swift\\ncase compileRealityComposerProject\\n```\\n\\n### `compileSceneKitShaders`\\n\\n```swift\\ncase compileSceneKitShaders\\n```\\n\\n### `compileSkybox`\\n\\n```swift\\ncase compileSkybox\\n```\\n\\n### `compileUSDZ`\\n\\n```swift\\ncase compileUSDZ\\n```\\n\\n### `compressPNG`\\n\\n```swift\\ncase compressPNG\\n```\\n\\n### `copyPlistFile`\\n\\n```swift\\ncase copyPlistFile\\n```\\n\\n### `copySceneKitAssets`\\n\\n```swift\\ncase copySceneKitAssets\\n```\\n\\n### `copyStringsFile`\\n\\n```swift\\ncase copyStringsFile\\n```\\n\\n### `copyTiffFile`\\n\\n```swift\\ncase copyTiffFile\\n```\\n\\n### `coreDataMappingModelCompiler`\\n\\n```swift\\ncase coreDataMappingModelCompiler\\n```\\n\\n### `coreMLModelCompiler`\\n\\n```swift\\ncase coreMLModelCompiler\\n```\\n\\n### `dataModelCompiler`\\n\\n```swift\\ncase dataModelCompiler\\n```\\n\\n### `defaultCompiler`\\n\\n```swift\\ncase defaultCompiler\\n```\\n\\n### `dTrace`\\n\\n```swift\\ncase dTrace\\n```\\n\\n### `generateSpriteKitTextureAtlas`\\n\\n```swift\\ncase generateSpriteKitTextureAtlas\\n```\\n\\n### `iconutil`\\n\\n```swift\\ncase iconutil\\n```\\n\\n### `instrumetsPackageBuilder`\\n\\n```swift\\ncase instrumetsPackageBuilder\\n```\\n\\n### `intentDefinitionCompiler`\\n\\n```swift\\ncase intentDefinitionCompiler\\n```\\n\\n### `interfaceBuilderNIBPostprocessor`\\n\\n```swift\\ncase interfaceBuilderNIBPostprocessor\\n```\\n\\n### `interfaceBuilderStoryboardCompiler`\\n\\n```swift\\ncase interfaceBuilderStoryboardCompiler\\n```\\n\\n### `interfaceBuilderStoryboardLinker`\\n\\n```swift\\ncase interfaceBuilderStoryboardLinker\\n```\\n\\n### `interfaceBuilderStoryboardPostprocessor`\\n\\n```swift\\ncase interfaceBuilderStoryboardPostprocessor\\n```\\n\\n### `interfaceBuilderXIBCompiler`\\n\\n```swift\\ncase interfaceBuilderXIBCompiler\\n```\\n\\n### `ioKitInterfaceGenerator`\\n\\n```swift\\ncase ioKitInterfaceGenerator\\n```\\n\\n### `lex`\\n\\n```swift\\ncase lex\\n```\\n\\n### `lsRegisterURL`\\n\\n```swift\\ncase lsRegisterURL\\n```\\n\\n### `metalCompiler`\\n\\n```swift\\ncase metalCompiler\\n```\\n\\n### `metalLinker`\\n\\n```swift\\ncase metalLinker\\n```\\n\\n### `mig`\\n\\n```swift\\ncase mig\\n```\\n\\n### `nasm`\\n\\n```swift\\ncase nasm\\n```\\n\\n### `nmedit`\\n\\n```swift\\ncase nmedit\\n```\\n\\n### `openCL`\\n\\n```swift\\ncase openCL\\n```\\n\\n### `osaCompile`\\n\\n```swift\\ncase osaCompile\\n```\\n\\n### `pbxcp`\\n\\n```swift\\ncase pbxcp\\n```\\n\\n### `processSceneKitDocument`\\n\\n```swift\\ncase processSceneKitDocument\\n```\\n\\n### `processXCAppExtensionPoints`\\n\\n```swift\\ncase processXCAppExtensionPoints\\n```\\n\\n### `rez`\\n\\n```swift\\ncase rez\\n```\\n\\n### `stripSymbols`\\n\\n```swift\\ncase stripSymbols\\n```\\n\\n### `swiftCompiler`\\n\\n```swift\\ncase swiftCompiler\\n```\\n\\n### `swiftABIBaselineGenerator`\\n\\n```swift\\ncase swiftABIBaselineGenerator\\n```\\n\\n### `swiftFrameworkABIChecker`\\n\\n```swift\\ncase swiftFrameworkABIChecker\\n```\\n\\n### `textBasedAPITool`\\n\\n```swift\\ncase textBasedAPITool\\n```\\n\\n### `unifdef`\\n\\n```swift\\ncase unifdef\\n```\\n\\n### `yacc`\\n\\n```swift\\ncase yacc\\n```\\n\\n### `customScript`\\n\\n```swift\\ncase customScript\\n```\\n\\n\",\"title\":\"`BuildRule.CompilerSpec`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/buildrule.compilerspec\",\"LLMS_URL\":\"/ko/references/project-description/enums/buildrule.compilerspec.md\"}},{\"path\":\"/ko/references/project-description/enums/buildrule.filetype.md\",\"url\":\"/ko/references/project-description/enums/buildrule.filetype\",\"llmUrl\":\"/ko/references/project-description/enums/buildrule.filetype.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/buildrule.filetype\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/buildrule.filetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `BuildRule.FileType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `instrumentsPackageDefinition`\\n - `metalAIR`\\n - `machO`\\n - `machOObject`\\n - `siriKitIntent`\\n - `coreMLMachineLearning`\\n - `rcProjectDocument`\\n - `skyboxDocument`\\n - `interfaceBuilderStoryboard`\\n - `interfaceBuilder`\\n - `documentationCatalog`\\n - `coreMLMachineLearningModelPackage`\\n - `assemblyAsm`\\n - `assemblyAsmAsm`\\n - `llvmAssembly`\\n - `cSource`\\n - `clipsSource`\\n - `cppSource`\\n - `dtraceSource`\\n - `dylanSource`\\n - `fortranSource`\\n - `glslSource`\\n - `iigSource`\\n - `javaSource`\\n - `lexSource`\\n - `metalShaderSource`\\n - `migSource`\\n - `nasmAssembly`\\n - `openCLSource`\\n - `pascalSource`\\n - `protobufSource`\\n - `rezSource`\\n - `swiftSource`\\n - `yaccSource`\\n - `localizationString`\\n - `localizationStringDictionary`\\n - `xcAppExtensionPoints`\\n - `xcodeSpecificationPlist`\\n - `dae`\\n - `nib`\\n - `interfaceBuilderStoryboardPackage`\\n - `classModel`\\n - `dataModel`\\n - `dataModelVersion`\\n - `mappingModel`\\n - `sourceFilesWithNamesMatching`\\n\\n```swift\\npublic enum FileType: Codable, Sendable\\n```\\n\\nFile types processed by a build rule.\\nAll the values are taken from build rule options hidden under a pup-up button's menu next to a label `Process` in a\\ntarget's `Build Rules` section.\\n\\n## Cases\\n### `instrumentsPackageDefinition`\\n\\n```swift\\ncase instrumentsPackageDefinition\\n```\\n\\n### `metalAIR`\\n\\n```swift\\ncase metalAIR\\n```\\n\\n### `machO`\\n\\n```swift\\ncase machO\\n```\\n\\n### `machOObject`\\n\\n```swift\\ncase machOObject\\n```\\n\\n### `siriKitIntent`\\n\\n```swift\\ncase siriKitIntent\\n```\\n\\n### `coreMLMachineLearning`\\n\\n```swift\\ncase coreMLMachineLearning\\n```\\n\\n### `rcProjectDocument`\\n\\n```swift\\ncase rcProjectDocument\\n```\\n\\n### `skyboxDocument`\\n\\n```swift\\ncase skyboxDocument\\n```\\n\\n### `interfaceBuilderStoryboard`\\n\\n```swift\\ncase interfaceBuilderStoryboard\\n```\\n\\n### `interfaceBuilder`\\n\\n```swift\\ncase interfaceBuilder\\n```\\n\\n### `documentationCatalog`\\n\\n```swift\\ncase documentationCatalog\\n```\\n\\n### `coreMLMachineLearningModelPackage`\\n\\n```swift\\ncase coreMLMachineLearningModelPackage\\n```\\n\\n### `assemblyAsm`\\n\\n```swift\\ncase assemblyAsm\\n```\\n\\n### `assemblyAsmAsm`\\n\\n```swift\\ncase assemblyAsmAsm\\n```\\n\\n### `llvmAssembly`\\n\\n```swift\\ncase llvmAssembly\\n```\\n\\n### `cSource`\\n\\n```swift\\ncase cSource\\n```\\n\\n### `clipsSource`\\n\\n```swift\\ncase clipsSource\\n```\\n\\n### `cppSource`\\n\\n```swift\\ncase cppSource\\n```\\n\\n### `dtraceSource`\\n\\n```swift\\ncase dtraceSource\\n```\\n\\n### `dylanSource`\\n\\n```swift\\ncase dylanSource\\n```\\n\\n### `fortranSource`\\n\\n```swift\\ncase fortranSource\\n```\\n\\n### `glslSource`\\n\\n```swift\\ncase glslSource\\n```\\n\\n### `iigSource`\\n\\n```swift\\ncase iigSource\\n```\\n\\n### `javaSource`\\n\\n```swift\\ncase javaSource\\n```\\n\\n### `lexSource`\\n\\n```swift\\ncase lexSource\\n```\\n\\n### `metalShaderSource`\\n\\n```swift\\ncase metalShaderSource\\n```\\n\\n### `migSource`\\n\\n```swift\\ncase migSource\\n```\\n\\n### `nasmAssembly`\\n\\n```swift\\ncase nasmAssembly\\n```\\n\\n### `openCLSource`\\n\\n```swift\\ncase openCLSource\\n```\\n\\n### `pascalSource`\\n\\n```swift\\ncase pascalSource\\n```\\n\\n### `protobufSource`\\n\\n```swift\\ncase protobufSource\\n```\\n\\n### `rezSource`\\n\\n```swift\\ncase rezSource\\n```\\n\\n### `swiftSource`\\n\\n```swift\\ncase swiftSource\\n```\\n\\n### `yaccSource`\\n\\n```swift\\ncase yaccSource\\n```\\n\\n### `localizationString`\\n\\n```swift\\ncase localizationString\\n```\\n\\n### `localizationStringDictionary`\\n\\n```swift\\ncase localizationStringDictionary\\n```\\n\\n### `xcAppExtensionPoints`\\n\\n```swift\\ncase xcAppExtensionPoints\\n```\\n\\n### `xcodeSpecificationPlist`\\n\\n```swift\\ncase xcodeSpecificationPlist\\n```\\n\\n### `dae`\\n\\n```swift\\ncase dae\\n```\\n\\n### `nib`\\n\\n```swift\\ncase nib\\n```\\n\\n### `interfaceBuilderStoryboardPackage`\\n\\n```swift\\ncase interfaceBuilderStoryboardPackage\\n```\\n\\n### `classModel`\\n\\n```swift\\ncase classModel\\n```\\n\\n### `dataModel`\\n\\n```swift\\ncase dataModel\\n```\\n\\n### `dataModelVersion`\\n\\n```swift\\ncase dataModelVersion\\n```\\n\\n### `mappingModel`\\n\\n```swift\\ncase mappingModel\\n```\\n\\n### `sourceFilesWithNamesMatching`\\n\\n```swift\\ncase sourceFilesWithNamesMatching\\n```\\n\\n\",\"title\":\"`BuildRule.FileType`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/buildrule.filetype\",\"LLMS_URL\":\"/ko/references/project-description/enums/buildrule.filetype.md\"}},{\"path\":\"/ko/references/project-description/enums/cloud.option.md\",\"url\":\"/ko/references/project-description/enums/cloud.option\",\"llmUrl\":\"/ko/references/project-description/enums/cloud.option.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/cloud.option\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/cloud.option.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Cloud.Option`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `optional`\\n\\n```swift\\npublic enum Option: String, Codable, Equatable, Sendable\\n```\\n\\nOptions for cloud configuration.\\n\\n## Cases\\n### `optional`\\n\\n```swift\\ncase optional\\n```\\n\\nMarks whether the Tuist server authentication is optional.\\nIf present, the interaction with the Tuist server will be skipped (instead of failing) if a user is not authenticated.\\n\\n\",\"title\":\"`Cloud.Option`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/cloud.option\",\"LLMS_URL\":\"/ko/references/project-description/enums/cloud.option.md\"}},{\"path\":\"/ko/references/project-description/enums/compatiblexcodeversions.md\",\"url\":\"/ko/references/project-description/enums/compatiblexcodeversions\",\"llmUrl\":\"/ko/references/project-description/enums/compatiblexcodeversions.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/compatiblexcodeversions\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/compatiblexcodeversions.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CompatibleXcodeVersions`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `exact(_:)`\\n - `upToNextMajor(_:)`\\n - `upToNextMinor(_:)`\\n - `list(_:)`\\n- [Methods](#methods)\\n - `init(arrayLiteral:)`\\n - `init(arrayLiteral:)`\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic enum CompatibleXcodeVersions: ExpressibleByArrayLiteral, ExpressibleByStringInterpolation, Codable, Equatable, Sendable\\n```\\n\\nOptions of compatibles Xcode versions.\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\nThe project supports all Xcode versions.\\n\\n### `exact(_:)`\\n\\n```swift\\ncase exact(Version)\\n```\\n\\nThe project supports only a specific Xcode version.\\n\\n### `upToNextMajor(_:)`\\n\\n```swift\\ncase upToNextMajor(Version)\\n```\\n\\nThe project supports all Xcode versions from the specified version up to but not including the next major version.\\n\\n### `upToNextMinor(_:)`\\n\\n```swift\\ncase upToNextMinor(Version)\\n```\\n\\nThe project supports all Xcode versions from the specified version up to but not including the next minor version.\\n\\n### `list(_:)`\\n\\n```swift\\ncase list([CompatibleXcodeVersions])\\n```\\n\\nList of versions that are supported by the project.\\n\\n## Methods\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: [CompatibleXcodeVersions])\\n```\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: CompatibleXcodeVersions...)\\n```\\n\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`CompatibleXcodeVersions`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/compatiblexcodeversions\",\"LLMS_URL\":\"/ko/references/project-description/enums/compatiblexcodeversions.md\"}},{\"path\":\"/ko/references/project-description/enums/configuration.variant.md\",\"url\":\"/ko/references/project-description/enums/configuration.variant\",\"llmUrl\":\"/ko/references/project-description/enums/configuration.variant.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/configuration.variant\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/configuration.variant.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Configuration.Variant`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `debug`\\n - `release`\\n\\n```swift\\npublic enum Variant: String, Codable, Sendable\\n```\\n\\n## Cases\\n### `debug`\\n\\n```swift\\ncase debug\\n```\\n\\n### `release`\\n\\n```swift\\ncase release\\n```\\n\\n\",\"title\":\"`Configuration.Variant`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/configuration.variant\",\"LLMS_URL\":\"/ko/references/project-description/enums/configuration.variant.md\"}},{\"path\":\"/ko/references/project-description/enums/copyfileelement.md\",\"url\":\"/ko/references/project-description/enums/copyfileelement\",\"llmUrl\":\"/ko/references/project-description/enums/copyfileelement.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/copyfileelement\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/copyfileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CopyFileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:condition:codeSignOnCopy:)`\\n - `folderReference(path:condition:codeSignOnCopy:)`\\n\\n```swift\\npublic enum CopyFileElement: Codable, Equatable, Sendable\\n```\\n\\nA file element from a glob pattern or a folder reference which is conditionally applied to specific platforms with an optional\\n\\\"Code Sign On Copy\\\" flag.\\n\\n## Cases\\n### `glob(pattern:condition:codeSignOnCopy:)`\\n\\n```swift\\ncase glob(pattern: Path, condition: PlatformCondition? = nil, codeSignOnCopy: Bool = false)\\n```\\n\\nA file path (or glob pattern) to include with an optional PlatformCondition to control which platforms it applies.\\n\\\"Code Sign on Copy\\\" can be optionally enabled for the glob.\\n\\n### `folderReference(path:condition:codeSignOnCopy:)`\\n\\n```swift\\ncase folderReference(path: Path, condition: PlatformCondition? = nil, codeSignOnCopy: Bool = false)\\n```\\n\\nA directory path to include as a folder reference with an optional PlatformCondition to control which platforms it applies\\nto. \\\"Code Sign on Copy\\\" can be optionally enabled for the folder reference.\\n\\n\",\"title\":\"`CopyFileElement`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/copyfileelement\",\"LLMS_URL\":\"/ko/references/project-description/enums/copyfileelement.md\"}},{\"path\":\"/ko/references/project-description/enums/copyfilesaction.destination.md\",\"url\":\"/ko/references/project-description/enums/copyfilesaction.destination\",\"llmUrl\":\"/ko/references/project-description/enums/copyfilesaction.destination.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/copyfilesaction.destination\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/copyfilesaction.destination.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `CopyFilesAction.Destination`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `absolutePath`\\n - `productsDirectory`\\n - `wrapper`\\n - `executables`\\n - `resources`\\n - `javaResources`\\n - `frameworks`\\n - `sharedFrameworks`\\n - `sharedSupport`\\n - `plugins`\\n - `other`\\n\\n```swift\\npublic enum Destination: String, Codable, Equatable, Sendable\\n```\\n\\nDestination path.\\n\\n## Cases\\n### `absolutePath`\\n\\n```swift\\ncase absolutePath\\n```\\n\\n### `productsDirectory`\\n\\n```swift\\ncase productsDirectory\\n```\\n\\n### `wrapper`\\n\\n```swift\\ncase wrapper\\n```\\n\\n### `executables`\\n\\n```swift\\ncase executables\\n```\\n\\n### `resources`\\n\\n```swift\\ncase resources\\n```\\n\\n### `javaResources`\\n\\n```swift\\ncase javaResources\\n```\\n\\n### `frameworks`\\n\\n```swift\\ncase frameworks\\n```\\n\\n### `sharedFrameworks`\\n\\n```swift\\ncase sharedFrameworks\\n```\\n\\n### `sharedSupport`\\n\\n```swift\\ncase sharedSupport\\n```\\n\\n### `plugins`\\n\\n```swift\\ncase plugins\\n```\\n\\n### `other`\\n\\n```swift\\ncase other\\n```\\n\\n\",\"title\":\"`CopyFilesAction.Destination`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/copyfilesaction.destination\",\"LLMS_URL\":\"/ko/references/project-description/enums/copyfilesaction.destination.md\"}},{\"path\":\"/ko/references/project-description/enums/debuginformationformat.md\",\"url\":\"/ko/references/project-description/enums/debuginformationformat\",\"llmUrl\":\"/ko/references/project-description/enums/debuginformationformat.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/debuginformationformat\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/debuginformationformat.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `DebugInformationFormat`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `dwarf`\\n - `dwarfWithDsym`\\n\\n```swift\\npublic enum DebugInformationFormat: String\\n```\\n\\n## Cases\\n### `dwarf`\\n\\n```swift\\ncase dwarf\\n```\\n\\n### `dwarfWithDsym`\\n\\n```swift\\ncase dwarfWithDsym = \\\"dwarf-with-dsym\\\"\\n```\\n\\n\",\"title\":\"`DebugInformationFormat`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/debuginformationformat\",\"LLMS_URL\":\"/ko/references/project-description/enums/debuginformationformat.md\"}},{\"path\":\"/ko/references/project-description/enums/defaultsettings.md\",\"url\":\"/ko/references/project-description/enums/defaultsettings\",\"llmUrl\":\"/ko/references/project-description/enums/defaultsettings.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/defaultsettings\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/defaultsettings.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `DefaultSettings`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `recommended(excluding:)`\\n - `essential(excluding:)`\\n - `none`\\n\\n```swift\\npublic enum DefaultSettings: Codable, Equatable, Sendable\\n```\\n\\nSpecifies the default set of settings applied to all the projects and targets.\\nThe default settings can be overridden via `Settings base: SettingsDictionary`\\nand `Configuration settings: SettingsDictionary`.\\n\\n## Cases\\n### `recommended(excluding:)`\\n\\n```swift\\ncase recommended(excluding: Set = [])\\n```\\n\\nRecommended settings including warning flags to help you catch some of the bugs at the early stage of development. If you\\nneed to override certain settings in a `Configuration` it's possible to add those keys to `excluding`.\\n\\n### `essential(excluding:)`\\n\\n```swift\\ncase essential(excluding: Set = [])\\n```\\n\\nA minimal set of settings to make the project compile without any additional settings for example `PRODUCT_NAME` or\\n`TARGETED_DEVICE_FAMILY`. If you need to override certain settings in a Configuration it's possible to add those keys to\\n`excluding`.\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\nTuist won't generate any build settings for the target or project.\\n\\n\",\"title\":\"`DefaultSettings`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/defaultsettings\",\"LLMS_URL\":\"/ko/references/project-description/enums/defaultsettings.md\"}},{\"path\":\"/ko/references/project-description/enums/destination.md\",\"url\":\"/ko/references/project-description/enums/destination\",\"llmUrl\":\"/ko/references/project-description/enums/destination.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/destination\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/destination.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Destination`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iPhone`\\n - `iPad`\\n - `mac`\\n - `macWithiPadDesign`\\n - `macCatalyst`\\n - `appleWatch`\\n - `appleTv`\\n - `appleVision`\\n - `appleVisionWithiPadDesign`\\n- [Properties](#properties)\\n - `platform`\\n\\n```swift\\npublic enum Destination: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported deployment destination representation.\\n\\n## Cases\\n### `iPhone`\\n\\n```swift\\ncase iPhone\\n```\\n\\niPhone support\\n\\n### `iPad`\\n\\n```swift\\ncase iPad\\n```\\n\\niPad support\\n\\n### `mac`\\n\\n```swift\\ncase mac\\n```\\n\\nNative macOS support\\n\\n### `macWithiPadDesign`\\n\\n```swift\\ncase macWithiPadDesign\\n```\\n\\nmacOS support using iPad design\\n\\n### `macCatalyst`\\n\\n```swift\\ncase macCatalyst\\n```\\n\\nmac Catalyst support\\n\\n### `appleWatch`\\n\\n```swift\\ncase appleWatch\\n```\\n\\nwatchOS support\\n\\n### `appleTv`\\n\\n```swift\\ncase appleTv\\n```\\n\\ntvOS support\\n\\n### `appleVision`\\n\\n```swift\\ncase appleVision\\n```\\n\\nvisionOS support\\n\\n### `appleVisionWithiPadDesign`\\n\\n```swift\\ncase appleVisionWithiPadDesign\\n```\\n\\nvisionOS support using iPad design\\n\\n## Properties\\n### `platform`\\n\\n```swift\\npublic var platform: Platform\\n```\\n\\nSDK Platform of a destination\\n\\n\",\"title\":\"`Destination`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/destination\",\"LLMS_URL\":\"/ko/references/project-description/enums/destination.md\"}},{\"path\":\"/ko/references/project-description/enums/entitlements.md\",\"url\":\"/ko/references/project-description/enums/entitlements\",\"llmUrl\":\"/ko/references/project-description/enums/entitlements.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/entitlements\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/entitlements.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Entitlements`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(path:)`\\n - `dictionary(_:)`\\n - `variable(_:)`\\n- [Properties](#properties)\\n - `path`\\n\\n```swift\\npublic enum Entitlements: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `file(path:)`\\n\\n```swift\\ncase file(path: Path)\\n```\\n\\nThe path to an existing .entitlements file.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Plist.Value])\\n```\\n\\nA dictionary with the entitlements content. Tuist generates the .entitlements file at the generation time.\\n\\n### `variable(_:)`\\n\\n```swift\\ncase variable(String)\\n```\\n\\nA build setting variable that points to an .entitlements file.\\n\\nThis should be used when you have an xcconfig file or build setting that defines a variable pointing to the entitlements\\nfile path.\\nThis is particularly useful when the project has different entitlements files per configuration (e.g., debug, release,\\nstaging).\\n\\nExample:\\n\\n```\\n.target(\\n ...\\n entitlements: .variable(\\\"$(ENTITLEMENT_FILE_VARIABLE)\\\")\\n)\\n```\\n\\nOr, as literal string:\\n\\n```\\n.target(\\n ...\\n entitlements: \\\"$(ENTITLEMENT_FILE_VARIABLE)\\\"\\n)\\n```\\n\\n> Note: For per-configuration entitlements, you can also:\\n> 1. Keep `Target.entitlements` as `nil`\\n> 2. Set the `CODE_SIGN_ENTITLEMENTS` build setting using `Target.settings` for each configuration\\n> 3. If you want the entitlement files to be included in the project navigator, add them using `Project.additionalFiles`\\n>\\n> Example:\\n> ```swift\\n> let target = Target(\\n> name: \\\"MyApp\\\",\\n> // ... other properties\\n> entitlements: nil, // Important: keep this as nil\\n> settings: .settings(\\n> configurations: [\\n> .debug(name: \\\"Debug\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Debug.entitlements\\\"]),\\n> .release(name: \\\"Release\\\", settings: [\\\"CODE_SIGN_ENTITLEMENTS\\\": \\\"Release.entitlements\\\"])\\n> ]\\n> )\\n> )\\n>\\n> let project = Project(\\n> name: \\\"MyProject\\\",\\n> targets: [target],\\n> additionalFiles: [\\n> \\\"Debug.entitlements\\\",\\n> \\\"Release.entitlements\\\"\\n> ]\\n> )\\n> ```\\n\\n## Properties\\n### `path`\\n\\n```swift\\npublic var path: Path?\\n```\\n\\n\",\"title\":\"`Entitlements`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/entitlements\",\"LLMS_URL\":\"/ko/references/project-description/enums/entitlements.md\"}},{\"path\":\"/ko/references/project-description/enums/entitlements.codingerror.md\",\"url\":\"/ko/references/project-description/enums/entitlements.codingerror\",\"llmUrl\":\"/ko/references/project-description/enums/entitlements.codingerror.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/entitlements.codingerror\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/entitlements.codingerror.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Entitlements.CodingError`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `invalidType(_:)`\\n\\n```swift\\npublic enum CodingError: Error\\n```\\n\\n## Cases\\n### `invalidType(_:)`\\n\\n```swift\\ncase invalidType(String)\\n```\\n\\n\",\"title\":\"`Entitlements.CodingError`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/entitlements.codingerror\",\"LLMS_URL\":\"/ko/references/project-description/enums/entitlements.codingerror.md\"}},{\"path\":\"/ko/references/project-description/enums/environment.md\",\"url\":\"/ko/references/project-description/enums/environment\",\"llmUrl\":\"/ko/references/project-description/enums/environment.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/environment\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/environment.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Environment`\\n\\n```swift\\npublic enum Environment\\n```\\n\\nA convenience structure to read environment variables.\\n\\n\",\"title\":\"`Environment`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/environment\",\"LLMS_URL\":\"/ko/references/project-description/enums/environment.md\"}},{\"path\":\"/ko/references/project-description/enums/environment.value.md\",\"url\":\"/ko/references/project-description/enums/environment.value\",\"llmUrl\":\"/ko/references/project-description/enums/environment.value.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/environment.value\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/environment.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Environment.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n\\n```swift\\npublic enum Value: Equatable\\n```\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\n\",\"title\":\"`Environment.Value`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/environment.value\",\"LLMS_URL\":\"/ko/references/project-description/enums/environment.value.md\"}},{\"path\":\"/ko/references/project-description/enums/filecodegen.md\",\"url\":\"/ko/references/project-description/enums/filecodegen\",\"llmUrl\":\"/ko/references/project-description/enums/filecodegen.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/filecodegen\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/filecodegen.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileCodeGen`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `public`\\n - `private`\\n - `project`\\n - `disabled`\\n\\n```swift\\npublic enum FileCodeGen: String, Codable, Equatable, Sendable\\n```\\n\\nOptions for source file code generation.\\n\\n## Cases\\n### `public`\\n\\n```swift\\ncase `public`\\n```\\n\\nPublic codegen\\n\\n### `private`\\n\\n```swift\\ncase `private`\\n```\\n\\nPrivate codegen\\n\\n### `project`\\n\\n```swift\\ncase project\\n```\\n\\nProject codegen\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDisabled codegen\\n\\n\",\"title\":\"`FileCodeGen`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/filecodegen\",\"LLMS_URL\":\"/ko/references/project-description/enums/filecodegen.md\"}},{\"path\":\"/ko/references/project-description/enums/fileelement.md\",\"url\":\"/ko/references/project-description/enums/fileelement\",\"llmUrl\":\"/ko/references/project-description/enums/fileelement.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/fileelement\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/fileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:)`\\n - `folderReference(path:)`\\n\\n```swift\\npublic enum FileElement: Codable, Equatable, Sendable\\n```\\n\\nA file element from a glob pattern or a folder reference.\\n\\n- glob: a glob pattern for files to include\\n- folderReference: a single path to a directory\\n\\nNote: For convenience, an element can be represented as a string literal\\n `\\\"some/pattern/**\\\"` is the equivalent of `FileElement.glob(pattern: \\\"some/pattern/**\\\")`\\n\\n## Cases\\n### `glob(pattern:)`\\n\\n```swift\\ncase glob(pattern: Path)\\n```\\n\\nA file path (or glob pattern) to include. For convenience, a string literal can be used as an alternate way to specify\\nthis option.\\n\\n### `folderReference(path:)`\\n\\n```swift\\ncase folderReference(path: Path)\\n```\\n\\nA directory path to include as a folder reference.\\n\\n\",\"title\":\"`FileElement`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/fileelement\",\"LLMS_URL\":\"/ko/references/project-description/enums/fileelement.md\"}},{\"path\":\"/ko/references/project-description/enums/fileheadertemplate.md\",\"url\":\"/ko/references/project-description/enums/fileheadertemplate\",\"llmUrl\":\"/ko/references/project-description/enums/fileheadertemplate.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/fileheadertemplate\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/fileheadertemplate.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `FileHeaderTemplate`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(_:)`\\n - `string(_:)`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n\\n```swift\\npublic enum FileHeaderTemplate: Codable, Equatable, ExpressibleByStringInterpolation, Sendable\\n```\\n\\nA header template from a file or a string.\\n\\nLets you define custom file header template for built-in Xcode templates, e.g. when you create new Swift file you can\\nautomatically have your custom define file header.\\n\\nTuist automatically performs several template transformations for you\\n - if your template starts with comment slashes (`//`) we remove them as they are added automatically by Xcode\\n - if your template doesn't start with comment and whitespace or newline, we add a space - otherwise your header would be\\nglued to implicit comment slashes which you probably do not want\\n - if your template has trailing newline, we remove it as it is implicitly added by Xcode\\n\\n## Cases\\n### `file(_:)`\\n\\n```swift\\ncase file(Path)\\n```\\n\\nLoad template stored in file\\n\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nUse inline string as template\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\nCreates file template as `.string(value)`\\n\\n\",\"title\":\"`FileHeaderTemplate`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/fileheadertemplate\",\"LLMS_URL\":\"/ko/references/project-description/enums/fileheadertemplate.md\"}},{\"path\":\"/ko/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\",\"url\":\"/ko/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\",\"llmUrl\":\"/ko/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `GenerationOptions.AutogeneratedWorkspaceSchemes`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n - `enabled(codeCoverageMode:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:)`\\n\\n```swift\\npublic enum AutogeneratedWorkspaceSchemes: Codable, Equatable, Sendable\\n```\\n\\nContains options for autogenerated workspace schemes\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nTuist will not automatically generate any schemes\\n\\n### `enabled(codeCoverageMode:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:)`\\n\\n```swift\\ncase enabled(\\n codeCoverageMode: CodeCoverageMode = .disabled,\\n testingOptions: TestingOptions = [],\\n testLanguage: SchemeLanguage? = nil,\\n testRegion: String? = nil,\\n testScreenCaptureFormat: ScreenCaptureFormat? = nil\\n)\\n```\\n\\nTuist will generate schemes with the associated testing options\\n\\n\",\"title\":\"`GenerationOptions.AutogeneratedWorkspaceSchemes`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes\",\"LLMS_URL\":\"/ko/references/project-description/enums/generationoptions.autogeneratedworkspaceschemes.md\"}},{\"path\":\"/ko/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\",\"url\":\"/ko/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\",\"llmUrl\":\"/ko/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `GenerationOptions.StaticSideEffectsWarningTargets`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `all`\\n - `none`\\n - `excluding(_:)`\\n\\n```swift\\npublic enum StaticSideEffectsWarningTargets: Codable, Equatable, Sendable\\n```\\n\\nThis enum represents the targets against which Tuist will run the check for potential side effects\\ncaused by static transitive dependencies.\\n\\n## Cases\\n### `all`\\n\\n```swift\\ncase all\\n```\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\n### `excluding(_:)`\\n\\n```swift\\ncase excluding([String])\\n```\\n\\n\",\"title\":\"`GenerationOptions.StaticSideEffectsWarningTargets`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/generationoptions.staticsideeffectswarningtargets\",\"LLMS_URL\":\"/ko/references/project-description/enums/generationoptions.staticsideeffectswarningtargets.md\"}},{\"path\":\"/ko/references/project-description/enums/headers.automaticexclusionrule.md\",\"url\":\"/ko/references/project-description/enums/headers.automaticexclusionrule\",\"llmUrl\":\"/ko/references/project-description/enums/headers.automaticexclusionrule.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/headers.automaticexclusionrule\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/headers.automaticexclusionrule.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Headers.AutomaticExclusionRule`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `projectExcludesPrivateAndPublic`\\n - `publicExcludesPrivateAndProject`\\n\\n```swift\\npublic enum AutomaticExclusionRule: Int, Codable, Sendable\\n```\\n\\nDetermine how to resolve cases, when the same files found in different header scopes\\n\\n## Cases\\n### `projectExcludesPrivateAndPublic`\\n\\n```swift\\ncase projectExcludesPrivateAndPublic\\n```\\n\\nProject headers = all found - private headers - public headers\\n\\nOrder of tuist search:\\n 1) Public headers\\n 2) Private headers (with auto excludes all found public headers)\\n 3) Project headers (with excluding public/private headers)\\n\\n Also tuist doesn't ignore all excludes,\\n which had been set by `excluding` param\\n\\n### `publicExcludesPrivateAndProject`\\n\\n```swift\\ncase publicExcludesPrivateAndProject\\n```\\n\\nPublic headers = all found - private headers - project headers\\n\\nOrder of tuist search (reverse search):\\n 1) Project headers\\n 2) Private headers (with auto excludes all found project headers)\\n 3) Public headers (with excluding project/private headers)\\n\\n Also tuist doesn't ignore all excludes,\\n which had been set by `excluding` param\\n\\n\",\"title\":\"`Headers.AutomaticExclusionRule`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/headers.automaticexclusionrule\",\"LLMS_URL\":\"/ko/references/project-description/enums/headers.automaticexclusionrule.md\"}},{\"path\":\"/ko/references/project-description/enums/infoplist.md\",\"url\":\"/ko/references/project-description/enums/infoplist\",\"llmUrl\":\"/ko/references/project-description/enums/infoplist.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/infoplist\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/infoplist.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `InfoPlist`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `file(path:)`\\n - `dictionary(_:)`\\n - `extendingDefault(with:)`\\n - `variable(_:)`\\n- [Properties](#properties)\\n - `default`\\n - `path`\\n\\n```swift\\npublic enum InfoPlist: Codable, Equatable, Sendable\\n```\\n\\nA info plist from a file, a custom dictionary or a extended defaults.\\n\\n## Cases\\n### `file(path:)`\\n\\n```swift\\ncase file(path: Path)\\n```\\n\\nThe path to an existing Info.plist file.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Plist.Value])\\n```\\n\\nA dictionary with the Info.plist content. Tuist generates the Info.plist file at the generation time.\\n\\n### `extendingDefault(with:)`\\n\\n```swift\\ncase extendingDefault(with: [String: Plist.Value])\\n```\\n\\nGenerate an Info.plist file with the default content for the target product extended with the values in the given\\ndictionary.\\n\\n### `variable(_:)`\\n\\n```swift\\ncase variable(String)\\n```\\n\\nA user defined xcconfig variable map to Info.plist file.\\n\\nThis should be used when the project has different Info.plist files per config (aka: debug, release, staging, etc.).\\n\\nExample:\\n\\n```\\n.target(\\n ...\\n infoPlist: .variable(\\\"$(INFO_PLIST_FILE_VARIABLE)\\\")\\n)\\n```\\n\\nOr, as literal string:\\n\\n```\\n.target(\\n ...\\n infoPlist: $(INFO_PLIST_FILE_VARIABLE)\\n)\\n```\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: InfoPlist\\n```\\n\\nGenerate the default content for the target the InfoPlist belongs to.\\n\\n### `path`\\n\\n```swift\\npublic var path: Path?\\n```\\n\\n\",\"title\":\"`InfoPlist`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/infoplist\",\"LLMS_URL\":\"/ko/references/project-description/enums/infoplist.md\"}},{\"path\":\"/ko/references/project-description/enums/infoplist.codingerror.md\",\"url\":\"/ko/references/project-description/enums/infoplist.codingerror\",\"llmUrl\":\"/ko/references/project-description/enums/infoplist.codingerror.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/infoplist.codingerror\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/infoplist.codingerror.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `InfoPlist.CodingError`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `invalidType(_:)`\\n\\n```swift\\npublic enum CodingError: Error\\n```\\n\\n## Cases\\n### `invalidType(_:)`\\n\\n```swift\\ncase invalidType(String)\\n```\\n\\n\",\"title\":\"`InfoPlist.CodingError`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/infoplist.codingerror\",\"LLMS_URL\":\"/ko/references/project-description/enums/infoplist.codingerror.md\"}},{\"path\":\"/ko/references/project-description/enums/launchstyle.md\",\"url\":\"/ko/references/project-description/enums/launchstyle\",\"llmUrl\":\"/ko/references/project-description/enums/launchstyle.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/launchstyle\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/launchstyle.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `LaunchStyle`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `automatically`\\n - `waitForExecutableToBeLaunched`\\n\\n```swift\\npublic enum LaunchStyle: Codable, Sendable\\n```\\n\\n## Cases\\n### `automatically`\\n\\n```swift\\ncase automatically\\n```\\n\\n### `waitForExecutableToBeLaunched`\\n\\n```swift\\ncase waitForExecutableToBeLaunched\\n```\\n\\n\",\"title\":\"`LaunchStyle`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/launchstyle\",\"LLMS_URL\":\"/ko/references/project-description/enums/launchstyle.md\"}},{\"path\":\"/ko/references/project-description/enums/linkingstatus.md\",\"url\":\"/ko/references/project-description/enums/linkingstatus\",\"llmUrl\":\"/ko/references/project-description/enums/linkingstatus.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/linkingstatus\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/linkingstatus.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `LinkingStatus`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `required`\\n - `optional`\\n - `none`\\n\\n```swift\\npublic enum LinkingStatus: String, Codable, Hashable, Sendable\\n```\\n\\nDependency status used by dependencies\\n\\n## Cases\\n### `required`\\n\\n```swift\\ncase required\\n```\\n\\nRequired dependency\\n\\n### `optional`\\n\\n```swift\\ncase optional\\n```\\n\\nOptional dependency (weakly linked)\\n\\n### `none`\\n\\n```swift\\ncase none\\n```\\n\\nSkip linking\\n\\n\",\"title\":\"`LinkingStatus`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/linkingstatus\",\"LLMS_URL\":\"/ko/references/project-description/enums/linkingstatus.md\"}},{\"path\":\"/ko/references/project-description/enums/mergedbinarytype.md\",\"url\":\"/ko/references/project-description/enums/mergedbinarytype\",\"llmUrl\":\"/ko/references/project-description/enums/mergedbinarytype.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/mergedbinarytype\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/mergedbinarytype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `MergedBinaryType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n - `automatic`\\n - `manual(mergeableDependencies:)`\\n\\n```swift\\npublic enum MergedBinaryType: Equatable, Codable, Sendable\\n```\\n\\nRepresents the different options to configure a target for mergeable libraries\\n\\nhttps://developer.apple.com/documentation/xcode/configuring-your-project-to-use-mergeable-libraries\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nTarget is never going to merge available dependencies\\n\\n### `automatic`\\n\\n```swift\\ncase automatic\\n```\\n\\nTarget is going to merge direct target dependencies (just the ones declared as part of it's project). With this build\\nsetting,\\nXcode treats mergeable dependencies like normal dynamic libraries in debug builds,\\nbut performs steps in release mode to automatically handle merging for **direct dependencies**\\n\\nA direct dependency is a library that meets two criteria:\\n- The library is listed in your target’s Link Binary with Libraries build phase.\\n- The library is the product of another target in your project.\\n\\n### `manual(mergeableDependencies:)`\\n\\n```swift\\ncase manual(mergeableDependencies: Set)\\n```\\n\\nTarget is going to merge direct and specified dependencies that are not part of the project. The set of dependencies\\nis going to reflect the list of precompiled dynamic dependencies you want to merge as part of the target. These binaries\\nmust be compiled with `MAKE_MERGEABLE` flag set to true\\n\\nIn some cases, you may want to manually configure merging between your app or framework target and dependent libraries.\\nFor example, you might not want to automatically merge dependencies that you share between an app and an app extension\\nif you’re concerned about the app extension’s binary size. To set up manual merging, configure your app or framework\\ntarget,\\nthen configure your dependent libraries.\\n\\nIn your app or framework target, add the flag `mergedBinaryType` and set it to manual. After you add that setting to your\\ntarget:\\n- In release builds, Xcode merges the products of any of its direct dependencies which have\\nMAKE_MERGEABLE enabled using the linker flags -merge_framework, -merge-l and so on.\\n- In debug builds, Xcode links any of your target’s direct dependencies which have MERGEABLE_LIBRARY\\n enabled, but not MAKE_MERGEABLE with the linker flags -reexport_framework, -reexport-l, and so on.\\n- Xcode uses normal linking for targets that don’t have MERGEABLE_LIBRARY enabled. This is the same linking\\nthat Xcode uses for static libraries, or dynamic libraries that aren’t mergeable.\\n\\n\",\"title\":\"`MergedBinaryType`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/mergedbinarytype\",\"LLMS_URL\":\"/ko/references/project-description/enums/mergedbinarytype.md\"}},{\"path\":\"/ko/references/project-description/enums/package.md\",\"url\":\"/ko/references/project-description/enums/package\",\"llmUrl\":\"/ko/references/project-description/enums/package.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/package\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/package.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Package`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `remote(url:requirement:)`\\n - `registry(identifier:requirement:)`\\n - `local(path:)`\\n\\n```swift\\npublic enum Package: Equatable, Codable, Sendable\\n```\\n\\nA dependency of a Swift package.\\n\\nA package dependency can be either:\\n - remote: A Git URL to the source of the package,\\n and a requirement for the version of the package.\\n - local: A relative path to the package.\\n\\n## Cases\\n### `remote(url:requirement:)`\\n\\n```swift\\ncase remote(url: String, requirement: Requirement)\\n```\\n\\n### `registry(identifier:requirement:)`\\n\\n```swift\\ncase registry(identifier: String, requirement: Requirement)\\n```\\n\\n### `local(path:)`\\n\\n```swift\\ncase local(path: Path)\\n```\\n\\n\",\"title\":\"`Package`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/package\",\"LLMS_URL\":\"/ko/references/project-description/enums/package.md\"}},{\"path\":\"/ko/references/project-description/enums/package.requirement.md\",\"url\":\"/ko/references/project-description/enums/package.requirement\",\"llmUrl\":\"/ko/references/project-description/enums/package.requirement.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/package.requirement\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/package.requirement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Package.Requirement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `upToNextMajor(from:)`\\n - `upToNextMinor(from:)`\\n - `range(from:to:)`\\n - `exact(_:)`\\n - `branch(_:)`\\n - `revision(_:)`\\n\\n```swift\\npublic enum Requirement: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `upToNextMajor(from:)`\\n\\n```swift\\ncase upToNextMajor(from: Version)\\n```\\n\\n### `upToNextMinor(from:)`\\n\\n```swift\\ncase upToNextMinor(from: Version)\\n```\\n\\n### `range(from:to:)`\\n\\n```swift\\ncase range(from: Version, to: Version)\\n```\\n\\n### `exact(_:)`\\n\\n```swift\\ncase exact(Version)\\n```\\n\\n### `branch(_:)`\\n\\n```swift\\ncase branch(String)\\n```\\n\\n### `revision(_:)`\\n\\n```swift\\ncase revision(String)\\n```\\n\\n\",\"title\":\"`Package.Requirement`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/package.requirement\",\"LLMS_URL\":\"/ko/references/project-description/enums/package.requirement.md\"}},{\"path\":\"/ko/references/project-description/enums/packageplatform.md\",\"url\":\"/ko/references/project-description/enums/packageplatform\",\"llmUrl\":\"/ko/references/project-description/enums/packageplatform.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/packageplatform\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/packageplatform.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PackagePlatform`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iOS`\\n - `macOS`\\n - `macCatalyst`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n\\n```swift\\npublic enum PackagePlatform: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported Swift Package Manager platform representation.\\n\\n## Cases\\n### `iOS`\\n\\n```swift\\ncase iOS = \\\"ios\\\"\\n```\\n\\nThe iOS platform\\n\\n### `macOS`\\n\\n```swift\\ncase macOS = \\\"macos\\\"\\n```\\n\\nThe macOS platform\\n\\n### `macCatalyst`\\n\\n```swift\\ncase macCatalyst = \\\"maccatalyst\\\"\\n```\\n\\nThe Mac Catalyst platform\\n\\n### `watchOS`\\n\\n```swift\\ncase watchOS = \\\"watchos\\\"\\n```\\n\\nThe watchOS platform\\n\\n### `tvOS`\\n\\n```swift\\ncase tvOS = \\\"tvos\\\"\\n```\\n\\nThe tvOS platform\\n\\n### `visionOS`\\n\\n```swift\\ncase visionOS = \\\"visionos\\\"\\n```\\n\\nThe visionOS platform\\n\\n\",\"title\":\"`PackagePlatform`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/packageplatform\",\"LLMS_URL\":\"/ko/references/project-description/enums/packageplatform.md\"}},{\"path\":\"/ko/references/project-description/enums/parser.option.md\",\"url\":\"/ko/references/project-description/enums/parser.option\",\"llmUrl\":\"/ko/references/project-description/enums/parser.option.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/parser.option\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/parser.option.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Parser.Option`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `double(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic enum Option: Equatable, Codable, Sendable\\n```\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `double(_:)`\\n\\n```swift\\ncase double(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Option])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Option])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Parser.Option`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/parser.option\",\"LLMS_URL\":\"/ko/references/project-description/enums/parser.option.md\"}},{\"path\":\"/ko/references/project-description/enums/path.pathtype.md\",\"url\":\"/ko/references/project-description/enums/path.pathtype\",\"llmUrl\":\"/ko/references/project-description/enums/path.pathtype.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/path.pathtype\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/path.pathtype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Path.PathType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `relativeToCurrentFile`\\n - `relativeToManifest`\\n - `relativeToRoot`\\n\\n```swift\\npublic enum PathType: String, Codable, Sendable\\n```\\n\\n## Cases\\n### `relativeToCurrentFile`\\n\\n```swift\\ncase relativeToCurrentFile\\n```\\n\\n### `relativeToManifest`\\n\\n```swift\\ncase relativeToManifest\\n```\\n\\n### `relativeToRoot`\\n\\n```swift\\ncase relativeToRoot\\n```\\n\\n\",\"title\":\"`Path.PathType`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/path.pathtype\",\"LLMS_URL\":\"/ko/references/project-description/enums/path.pathtype.md\"}},{\"path\":\"/ko/references/project-description/enums/platform.md\",\"url\":\"/ko/references/project-description/enums/platform\",\"llmUrl\":\"/ko/references/project-description/enums/platform.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/platform\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/platform.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Platform`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `iOS`\\n - `macOS`\\n - `watchOS`\\n - `tvOS`\\n - `visionOS`\\n\\n```swift\\npublic enum Platform: String, Codable, Equatable, CaseIterable, Sendable\\n```\\n\\nA supported platform representation.\\n\\n## Cases\\n### `iOS`\\n\\n```swift\\ncase iOS = \\\"ios\\\"\\n```\\n\\nThe iOS platform\\n\\n### `macOS`\\n\\n```swift\\ncase macOS = \\\"macos\\\"\\n```\\n\\nThe macOS platform\\n\\n### `watchOS`\\n\\n```swift\\ncase watchOS = \\\"watchos\\\"\\n```\\n\\nThe watchOS platform\\n\\n### `tvOS`\\n\\n```swift\\ncase tvOS = \\\"tvos\\\"\\n```\\n\\nThe tvOS platform\\n\\n### `visionOS`\\n\\n```swift\\ncase visionOS = \\\"visionos\\\"\\n```\\n\\nThe visionOS platform\\n\\n\",\"title\":\"`Platform`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/platform\",\"LLMS_URL\":\"/ko/references/project-description/enums/platform.md\"}},{\"path\":\"/ko/references/project-description/enums/platformfilter.md\",\"url\":\"/ko/references/project-description/enums/platformfilter\",\"llmUrl\":\"/ko/references/project-description/enums/platformfilter.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/platformfilter\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/platformfilter.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PlatformFilter`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `ios`\\n - `macos`\\n - `tvos`\\n - `catalyst`\\n - `driverkit`\\n - `watchos`\\n - `visionos`\\n\\n```swift\\npublic enum PlatformFilter: Comparable, Hashable, Codable, CaseIterable, Sendable\\n```\\n\\n## Cases\\n### `ios`\\n\\n```swift\\ncase ios\\n```\\n\\n### `macos`\\n\\n```swift\\ncase macos\\n```\\n\\n### `tvos`\\n\\n```swift\\ncase tvos\\n```\\n\\n### `catalyst`\\n\\n```swift\\ncase catalyst\\n```\\n\\n### `driverkit`\\n\\n```swift\\ncase driverkit\\n```\\n\\n### `watchos`\\n\\n```swift\\ncase watchos\\n```\\n\\n### `visionos`\\n\\n```swift\\ncase visionos\\n```\\n\\n\",\"title\":\"`PlatformFilter`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/platformfilter\",\"LLMS_URL\":\"/ko/references/project-description/enums/platformfilter.md\"}},{\"path\":\"/ko/references/project-description/enums/plist.md\",\"url\":\"/ko/references/project-description/enums/plist\",\"llmUrl\":\"/ko/references/project-description/enums/plist.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/plist\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/plist.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Plist`\\n\\n```swift\\npublic enum Plist\\n```\\n\\n\",\"title\":\"`Plist`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/plist\",\"LLMS_URL\":\"/ko/references/project-description/enums/plist.md\"}},{\"path\":\"/ko/references/project-description/enums/plist.value.md\",\"url\":\"/ko/references/project-description/enums/plist.value\",\"llmUrl\":\"/ko/references/project-description/enums/plist.value.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/plist.value\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/plist.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Plist.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `real(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic indirect enum Value: Codable, Equatable, Sendable\\n```\\n\\nIt represents the values of the .plist or .entitlements file dictionary.\\nIt ensures that the values used to define the content of the dynamically generated .plist or .entitlements files are valid\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `real(_:)`\\n\\n```swift\\ncase real(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Value])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Value])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Plist.Value`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/plist.value\",\"LLMS_URL\":\"/ko/references/project-description/enums/plist.value.md\"}},{\"path\":\"/ko/references/project-description/enums/pluginlocation.locationtype.md\",\"url\":\"/ko/references/project-description/enums/pluginlocation.locationtype\",\"llmUrl\":\"/ko/references/project-description/enums/pluginlocation.locationtype.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/pluginlocation.locationtype\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/pluginlocation.locationtype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `PluginLocation.LocationType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `local(path:)`\\n - `gitWithTag(url:tag:directory:releaseUrl:)`\\n - `gitWithSha(url:sha:directory:)`\\n\\n```swift\\npublic enum LocationType: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `local(path:)`\\n\\n```swift\\ncase local(path: Path)\\n```\\n\\n### `gitWithTag(url:tag:directory:releaseUrl:)`\\n\\n```swift\\ncase gitWithTag(url: String, tag: String, directory: String?, releaseUrl: String?)\\n```\\n\\n### `gitWithSha(url:sha:directory:)`\\n\\n```swift\\ncase gitWithSha(url: String, sha: String, directory: String?)\\n```\\n\\n\",\"title\":\"`PluginLocation.LocationType`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/pluginlocation.locationtype\",\"LLMS_URL\":\"/ko/references/project-description/enums/pluginlocation.locationtype.md\"}},{\"path\":\"/ko/references/project-description/enums/product.md\",\"url\":\"/ko/references/project-description/enums/product\",\"llmUrl\":\"/ko/references/project-description/enums/product.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/product\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/product.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Product`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `app`\\n - `staticLibrary`\\n - `dynamicLibrary`\\n - `framework`\\n - `staticFramework`\\n - `unitTests`\\n - `uiTests`\\n - `bundle`\\n - `commandLineTool`\\n - `appClip`\\n - `appExtension`\\n - `watch2App`\\n - `watch2Extension`\\n - `tvTopShelfExtension`\\n - `messagesExtension`\\n - `stickerPackExtension`\\n - `xpc`\\n - `systemExtension`\\n - `extensionKitExtension`\\n - `macro`\\n\\n```swift\\npublic enum Product: String, Codable, Equatable, Sendable\\n```\\n\\nPossible products types.\\n\\n## Cases\\n### `app`\\n\\n```swift\\ncase app\\n```\\n\\nAn application.\\n\\n### `staticLibrary`\\n\\n```swift\\ncase staticLibrary = \\\"static_library\\\"\\n```\\n\\nA static library.\\n\\n### `dynamicLibrary`\\n\\n```swift\\ncase dynamicLibrary = \\\"dynamic_library\\\"\\n```\\n\\nA dynamic library.\\n\\n### `framework`\\n\\n```swift\\ncase framework\\n```\\n\\nA dynamic framework.\\n\\n### `staticFramework`\\n\\n```swift\\ncase staticFramework\\n```\\n\\nA static framework.\\n\\n### `unitTests`\\n\\n```swift\\ncase unitTests = \\\"unit_tests\\\"\\n```\\n\\nA unit tests bundle.\\n\\n### `uiTests`\\n\\n```swift\\ncase uiTests = \\\"ui_tests\\\"\\n```\\n\\nA UI tests bundle.\\n\\n### `bundle`\\n\\n```swift\\ncase bundle\\n```\\n\\nA custom bundle. (currently only iOS resource bundles are supported).\\n\\n### `commandLineTool`\\n\\n```swift\\ncase commandLineTool\\n```\\n\\nA command line tool (macOS platform only).\\n\\n### `appClip`\\n\\n```swift\\ncase appClip\\n```\\n\\nAn appClip. (iOS platform only).\\n\\n### `appExtension`\\n\\n```swift\\ncase appExtension = \\\"app_extension\\\"\\n```\\n\\nAn application extension.\\n\\n### `watch2App`\\n\\n```swift\\ncase watch2App\\n```\\n\\nA Watch application. (watchOS platform only) .\\n\\n### `watch2Extension`\\n\\n```swift\\ncase watch2Extension\\n```\\n\\nA Watch application extension. (watchOS platform only).\\n\\n### `tvTopShelfExtension`\\n\\n```swift\\ncase tvTopShelfExtension\\n```\\n\\nA TV Top Shelf Extension.\\n\\n### `messagesExtension`\\n\\n```swift\\ncase messagesExtension\\n```\\n\\nAn iMessage extension. (iOS platform only)\\n\\n### `stickerPackExtension`\\n\\n```swift\\ncase stickerPackExtension = \\\"sticker_pack_extension\\\"\\n```\\n\\nA sticker pack extension.\\n\\n### `xpc`\\n\\n```swift\\ncase xpc\\n```\\n\\nAn XPC. (macOS platform only).\\n\\n### `systemExtension`\\n\\n```swift\\ncase systemExtension\\n```\\n\\nAn system extension. (macOS platform only).\\n\\n### `extensionKitExtension`\\n\\n```swift\\ncase extensionKitExtension = \\\"extension_kit_extension\\\"\\n```\\n\\nAn ExtensionKit extension.\\n\\n### `macro`\\n\\n```swift\\ncase macro\\n```\\n\\nA Swift Macro\\nAlthough Apple doesn't officially support Swift Macro Xcode Project targets, we\\nenable them by adding a command line tool target, a target dependency in\\nthe dependent targets, and the right build settings to use the macro executable.\\n\\n\",\"title\":\"`Product`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/product\",\"LLMS_URL\":\"/ko/references/project-description/enums/product.md\"}},{\"path\":\"/ko/references/project-description/enums/project.options.automaticschemesoptions.md\",\"url\":\"/ko/references/project-description/enums/project.options.automaticschemesoptions\",\"llmUrl\":\"/ko/references/project-description/enums/project.options.automaticschemesoptions.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/project.options.automaticschemesoptions\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/project.options.automaticschemesoptions.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Project.Options.AutomaticSchemesOptions`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `enabled(targetSchemesGrouping:codeCoverageEnabled:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:runLanguage:runRegion:)`\\n - `disabled`\\n\\n```swift\\npublic enum AutomaticSchemesOptions: Codable, Equatable, Sendable\\n```\\n\\nAutomatic schemes options allow customizing the generation of the target schemes.\\n\\n## Cases\\n### `enabled(targetSchemesGrouping:codeCoverageEnabled:testingOptions:testLanguage:testRegion:testScreenCaptureFormat:runLanguage:runRegion:)`\\n\\n```swift\\ncase enabled(\\n targetSchemesGrouping: TargetSchemesGrouping = .byNameSuffix(\\n build: [\\\"Implementation\\\", \\\"Interface\\\", \\\"Mocks\\\", \\\"Testing\\\"],\\n test: [\\\"Tests\\\", \\\"IntegrationTests\\\", \\\"UITests\\\", \\\"SnapshotTests\\\"],\\n run: [\\\"App\\\", \\\"Demo\\\", \\\"Example\\\"]\\n ),\\n codeCoverageEnabled: Bool = false,\\n testingOptions: TestingOptions = [],\\n testLanguage: SchemeLanguage? = nil,\\n testRegion: String? = nil,\\n testScreenCaptureFormat: ScreenCaptureFormat? = nil,\\n runLanguage: SchemeLanguage? = nil,\\n runRegion: String? = nil\\n)\\n```\\n\\nEnable autogenerated schemes\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\nDisable autogenerated schemes\\n\\n\",\"title\":\"`Project.Options.AutomaticSchemesOptions`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/project.options.automaticschemesoptions\",\"LLMS_URL\":\"/ko/references/project-description/enums/project.options.automaticschemesoptions.md\"}},{\"path\":\"/ko/references/project-description/enums/resourcefileelement.md\",\"url\":\"/ko/references/project-description/enums/resourcefileelement\",\"llmUrl\":\"/ko/references/project-description/enums/resourcefileelement.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/resourcefileelement\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/resourcefileelement.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceFileElement`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `glob(pattern:excluding:tags:inclusionCondition:)`\\n - `folderReference(path:tags:inclusionCondition:)`\\n\\n```swift\\npublic enum ResourceFileElement: Codable, Equatable, Sendable, Hashable\\n```\\n\\nA resource file element from a glob pattern or a folder reference.\\n\\n- glob: a glob pattern for files to include\\n- folderReference: a single path to a directory\\n\\nNote: For convenience, an element can be represented as a string literal\\n `\\\"some/pattern/**\\\"` is the equivalent of `ResourceFileElement.glob(pattern: \\\"some/pattern/**\\\")`\\n\\n## Cases\\n### `glob(pattern:excluding:tags:inclusionCondition:)`\\n\\n```swift\\ncase glob(pattern: Path, excluding: [Path] = [], tags: [String] = [], inclusionCondition: PlatformCondition? = nil)\\n```\\n\\nA glob pattern of files to include and ODR tags\\n\\n### `folderReference(path:tags:inclusionCondition:)`\\n\\n```swift\\ncase folderReference(path: Path, tags: [String] = [], inclusionCondition: PlatformCondition? = nil)\\n```\\n\\nRelative path to a directory to include as a folder reference and ODR tags\\n\\n\",\"title\":\"`ResourceFileElement`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/resourcefileelement\",\"LLMS_URL\":\"/ko/references/project-description/enums/resourcefileelement.md\"}},{\"path\":\"/ko/references/project-description/enums/resourcesynthesizer.parser.md\",\"url\":\"/ko/references/project-description/enums/resourcesynthesizer.parser\",\"llmUrl\":\"/ko/references/project-description/enums/resourcesynthesizer.parser.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/resourcesynthesizer.parser\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/resourcesynthesizer.parser.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceSynthesizer.Parser`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `strings`\\n - `assets`\\n - `plists`\\n - `fonts`\\n - `coreData`\\n - `interfaceBuilder`\\n - `json`\\n - `yaml`\\n - `files`\\n\\n```swift\\npublic enum Parser: String, Codable, Sendable\\n```\\n\\nThere are multiple parsers you can choose from\\nEach parser will give you different metadata from a file\\nYou can read more about available parsers and how to use their metadata here:\\nhttps://github.com/SwiftGen/SwiftGen#available-parsers\\n\\n## Cases\\n### `strings`\\n\\n```swift\\ncase strings\\n```\\n\\n### `assets`\\n\\n```swift\\ncase assets\\n```\\n\\n### `plists`\\n\\n```swift\\ncase plists\\n```\\n\\n### `fonts`\\n\\n```swift\\ncase fonts\\n```\\n\\n### `coreData`\\n\\n```swift\\ncase coreData\\n```\\n\\n### `interfaceBuilder`\\n\\n```swift\\ncase interfaceBuilder\\n```\\n\\n### `json`\\n\\n```swift\\ncase json\\n```\\n\\n### `yaml`\\n\\n```swift\\ncase yaml\\n```\\n\\n### `files`\\n\\n```swift\\ncase files\\n```\\n\\n\",\"title\":\"`ResourceSynthesizer.Parser`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/resourcesynthesizer.parser\",\"LLMS_URL\":\"/ko/references/project-description/enums/resourcesynthesizer.parser.md\"}},{\"path\":\"/ko/references/project-description/enums/resourcesynthesizer.templatetype.md\",\"url\":\"/ko/references/project-description/enums/resourcesynthesizer.templatetype\",\"llmUrl\":\"/ko/references/project-description/enums/resourcesynthesizer.templatetype.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/resourcesynthesizer.templatetype\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/resourcesynthesizer.templatetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ResourceSynthesizer.TemplateType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `plugin(name:resourceName:)`\\n - `defaultTemplate(resourceName:)`\\n\\n```swift\\npublic enum TemplateType: Codable, Equatable, Sendable\\n```\\n\\nTemplates can be either a local template file, from a plugin, or a default template from tuist\\n\\n## Cases\\n### `plugin(name:resourceName:)`\\n\\n```swift\\ncase plugin(name: String, resourceName: String)\\n```\\n\\nPlugin template file\\n`name` is a name of a plugin\\n`resourceName` is a name of the resource - that is used for finding a template as well as naming the resulting\\n`.swift` file\\n\\n### `defaultTemplate(resourceName:)`\\n\\n```swift\\ncase defaultTemplate(resourceName: String)\\n```\\n\\nDefault template defined `Tuist/{ProjectName}`, or if not present there, in tuist itself\\n`resourceName` is used for the name of the resulting `.swift` file\\n\\n\",\"title\":\"`ResourceSynthesizer.TemplateType`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/resourcesynthesizer.templatetype\",\"LLMS_URL\":\"/ko/references/project-description/enums/resourcesynthesizer.templatetype.md\"}},{\"path\":\"/ko/references/project-description/enums/runactionoptions.gpuframecapturemode.md\",\"url\":\"/ko/references/project-description/enums/runactionoptions.gpuframecapturemode\",\"llmUrl\":\"/ko/references/project-description/enums/runactionoptions.gpuframecapturemode.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/runactionoptions.gpuframecapturemode\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/runactionoptions.gpuframecapturemode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `RunActionOptions.GPUFrameCaptureMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `autoEnabled`\\n - `metal`\\n - `openGL`\\n - `disabled`\\n- [Properties](#properties)\\n - `default`\\n\\n```swift\\npublic enum GPUFrameCaptureMode: String, Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `autoEnabled`\\n\\n```swift\\ncase autoEnabled\\n```\\n\\n### `metal`\\n\\n```swift\\ncase metal\\n```\\n\\n### `openGL`\\n\\n```swift\\ncase openGL\\n```\\n\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\n## Properties\\n### `default`\\n\\n```swift\\npublic static var `default`: GPUFrameCaptureMode\\n```\\n\\n\",\"title\":\"`RunActionOptions.GPUFrameCaptureMode`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/runactionoptions.gpuframecapturemode\",\"LLMS_URL\":\"/ko/references/project-description/enums/runactionoptions.gpuframecapturemode.md\"}},{\"path\":\"/ko/references/project-description/enums/screencaptureformat.md\",\"url\":\"/ko/references/project-description/enums/screencaptureformat\",\"llmUrl\":\"/ko/references/project-description/enums/screencaptureformat.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/screencaptureformat\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/screencaptureformat.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `ScreenCaptureFormat`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `screenshots`\\n - `screenRecording`\\n\\n```swift\\npublic enum ScreenCaptureFormat: String, Codable, Sendable\\n```\\n\\nPreferred screen capture format for UI tests results in Xcode 15+\\n\\nAvailable options are screen recordings and screenshots.\\n\\nIn Xcode 15 screen recordings are enabled by default (in favour of screenshots).\\nThis setting is ignored by Xcode 14.x and prior.\\n\\n## Cases\\n### `screenshots`\\n\\n```swift\\ncase screenshots\\n```\\n\\nScreenshots\\n\\n### `screenRecording`\\n\\n```swift\\ncase screenRecording\\n```\\n\\nAutomatic screen recordings\\n\\n\",\"title\":\"`ScreenCaptureFormat`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/screencaptureformat\",\"LLMS_URL\":\"/ko/references/project-description/enums/screencaptureformat.md\"}},{\"path\":\"/ko/references/project-description/enums/sdktype.md\",\"url\":\"/ko/references/project-description/enums/sdktype\",\"llmUrl\":\"/ko/references/project-description/enums/sdktype.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/sdktype\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/sdktype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SDKType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `library`\\n - `swiftLibrary`\\n - `framework`\\n\\n```swift\\npublic enum SDKType: String, Codable, Hashable, Sendable\\n```\\n\\nDependency type used by `.sdk` target dependencies\\n\\n## Cases\\n### `library`\\n\\n```swift\\ncase library\\n```\\n\\nLibrary SDK dependency\\nLibraries are located in:\\n`{path-to-xcode}.app/Contents/Developer/Platforms/{platform}.platform/Developer/SDKs/{runtime}.sdk/usr/lib`\\n\\n### `swiftLibrary`\\n\\n```swift\\ncase swiftLibrary\\n```\\n\\nSwift library SDK dependency\\nSwift libraries are located in:\\n`{path-to-xcode}.app/Contents/Developer/Platforms/{platform}.platform/Developer/SDKs/{runtime}.sdk/usr/lib/swift`\\n\\n### `framework`\\n\\n```swift\\ncase framework\\n```\\n\\nFramework SDK dependency\\n\\n\",\"title\":\"`SDKType`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/sdktype\",\"LLMS_URL\":\"/ko/references/project-description/enums/sdktype.md\"}},{\"path\":\"/ko/references/project-description/enums/settingvalue.md\",\"url\":\"/ko/references/project-description/enums/settingvalue\",\"llmUrl\":\"/ko/references/project-description/enums/settingvalue.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/settingvalue\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/settingvalue.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SettingValue`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `array(_:)`\\n- [Methods](#methods)\\n - `init(stringLiteral:)`\\n - `init(arrayLiteral:)`\\n - `init(booleanLiteral:)`\\n - `init(_:)`\\n\\n```swift\\npublic enum SettingValue: ExpressibleByStringInterpolation, ExpressibleByArrayLiteral, ExpressibleByBooleanLiteral, Equatable,\\n Codable, Sendable\\n```\\n\\nA value or a collection of values used for settings configuration.\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([String])\\n```\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(arrayLiteral:)`\\n\\n```swift\\npublic init(arrayLiteral elements: String...)\\n```\\n\\n### `init(booleanLiteral:)`\\n\\n```swift\\npublic init(booleanLiteral value: Bool)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\\n### `init(_:)`\\n\\n```swift\\npublic init(_ stringRawRepresentable: T) where T: RawRepresentable, T.RawValue == String\\n```\\n\\n\",\"title\":\"`SettingValue`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/settingvalue\",\"LLMS_URL\":\"/ko/references/project-description/enums/settingvalue.md\"}},{\"path\":\"/ko/references/project-description/enums/sourcefileglob.filetype.md\",\"url\":\"/ko/references/project-description/enums/sourcefileglob.filetype\",\"llmUrl\":\"/ko/references/project-description/enums/sourcefileglob.filetype.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/sourcefileglob.filetype\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/sourcefileglob.filetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SourceFileGlob.FileType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `alwaysPresent`\\n - `generated`\\n\\n```swift\\npublic enum FileType: String, Codable, Sendable\\n```\\n\\nType of the source file.\\n\\n## Cases\\n### `alwaysPresent`\\n\\n```swift\\ncase alwaysPresent\\n```\\n\\nFile is already present on disk before generating the project.\\n\\n### `generated`\\n\\n```swift\\ncase generated\\n```\\n\\nFile is generated, meaning it wasn't initially present on disk at the time of project generation.\\nFor example, a file created by a pre-build phase script.\\n\\n- Important: Since generated files do not exist at the time of project generation, their content cannot be hashed,\\nwhich affects the ability to identify changes in their content during caching.\\nNote that specifically for files generated by a pre-build phase script, the input and output file paths are part of\\nthe target's hash, if they are specified.\\n\\n\",\"title\":\"`SourceFileGlob.FileType`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/sourcefileglob.filetype\",\"LLMS_URL\":\"/ko/references/project-description/enums/sourcefileglob.filetype.md\"}},{\"path\":\"/ko/references/project-description/enums/swiftcompilationmode.md\",\"url\":\"/ko/references/project-description/enums/swiftcompilationmode\",\"llmUrl\":\"/ko/references/project-description/enums/swiftcompilationmode.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/swiftcompilationmode\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/swiftcompilationmode.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SwiftCompilationMode`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `singlefile`\\n - `wholemodule`\\n\\n```swift\\npublic enum SwiftCompilationMode: String\\n```\\n\\n## Cases\\n### `singlefile`\\n\\n```swift\\ncase singlefile\\n```\\n\\n### `wholemodule`\\n\\n```swift\\ncase wholemodule\\n```\\n\\n\",\"title\":\"`SwiftCompilationMode`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/swiftcompilationmode\",\"LLMS_URL\":\"/ko/references/project-description/enums/swiftcompilationmode.md\"}},{\"path\":\"/ko/references/project-description/enums/swiftoptimizationlevel.md\",\"url\":\"/ko/references/project-description/enums/swiftoptimizationlevel\",\"llmUrl\":\"/ko/references/project-description/enums/swiftoptimizationlevel.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/swiftoptimizationlevel\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/swiftoptimizationlevel.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `SwiftOptimizationLevel`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `o`\\n - `oNone`\\n - `oSize`\\n\\n```swift\\npublic enum SwiftOptimizationLevel: String\\n```\\n\\n## Cases\\n### `o`\\n\\n```swift\\ncase o = \\\"-O\\\"\\n```\\n\\n### `oNone`\\n\\n```swift\\ncase oNone = \\\"-Onone\\\"\\n```\\n\\n### `oSize`\\n\\n```swift\\ncase oSize = \\\"-Osize\\\"\\n```\\n\\n\",\"title\":\"`SwiftOptimizationLevel`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/swiftoptimizationlevel\",\"LLMS_URL\":\"/ko/references/project-description/enums/swiftoptimizationlevel.md\"}},{\"path\":\"/ko/references/project-description/enums/targetdependency.md\",\"url\":\"/ko/references/project-description/enums/targetdependency\",\"llmUrl\":\"/ko/references/project-description/enums/targetdependency.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/targetdependency\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/targetdependency.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetDependency`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `target(name:status:condition:)`\\n - `macro(name:)`\\n - `project(target:path:status:condition:)`\\n - `framework(path:status:condition:)`\\n - `library(path:publicHeaders:swiftModuleMap:condition:)`\\n - `package(product:type:condition:)`\\n - `sdk(name:type:status:condition:)`\\n - `xcframework(path:expectedSignature:status:condition:)`\\n - `xctest`\\n - `external(name:condition:)`\\n- [Properties](#properties)\\n - `typeName`\\n- [Methods](#methods)\\n - `sdk(name:type:condition:)`\\n - `target(_:condition:)`\\n\\n```swift\\npublic enum TargetDependency: Codable, Hashable, Sendable\\n```\\n\\nA target dependency.\\n\\n## Cases\\n### `target(name:status:condition:)`\\n\\n```swift\\ncase target(name: String, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on another target within the same project\\n\\n- Parameters:\\n - name: Name of the target to depend on\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `macro(name:)`\\n\\n```swift\\ncase macro(name: String)\\n```\\n\\nDependency on a macro target within the same project\\n\\n- Parameters:\\n - name: Name of the target to depend on\\n\\n### `project(target:path:status:condition:)`\\n\\n```swift\\ncase project(target: String, path: Path, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a target within another project\\n\\n- Parameters:\\n - target: Name of the target to depend on\\n - path: Relative path to the other project directory\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `framework(path:status:condition:)`\\n\\n```swift\\ncase framework(path: Path, status: LinkingStatus = .required, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a prebuilt framework\\n\\n- Parameters:\\n - path: Relative path to the prebuilt framework\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `library(path:publicHeaders:swiftModuleMap:condition:)`\\n\\n```swift\\ncase library(path: Path, publicHeaders: Path, swiftModuleMap: Path?, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on prebuilt library\\n\\n- Parameters:\\n - path: Relative path to the prebuilt library\\n - publicHeaders: Relative path to the library's public headers directory\\n - swiftModuleMap: Relative path to the library's swift module map file\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `package(product:type:condition:)`\\n\\n```swift\\ncase package(product: String, type: PackageType = .runtime, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on a swift package manager product using Xcode native integration. It's recommended to use `external` instead.\\nFor more info, check the [external dependencies documentation\\n](https://docs.tuist.dev/en/guides/features/projects/dependencies#external-dependencies).\\n\\n- Parameters:\\n - product: The name of the output product. ${PRODUCT_NAME} inside Xcode.\\n e.g. RxSwift\\n - type: The type of package being integrated.\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `sdk(name:type:status:condition:)`\\n\\n```swift\\ncase sdk(name: String, type: SDKType, status: LinkingStatus, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on system library or framework\\n\\n- Parameters:\\n - name: Name of the system library or framework (not including extension)\\n e.g. `ARKit`, `c++`\\n - type: The dependency type\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `xcframework(path:expectedSignature:status:condition:)`\\n\\n```swift\\ncase xcframework(\\n path: Path,\\n expectedSignature: XCFrameworkSignature? = nil,\\n status: LinkingStatus = .required,\\n condition: PlatformCondition? = nil\\n)\\n```\\n\\nDependency on a xcframework\\n\\n- Parameters:\\n - path: Relative path to the xcframework\\n - expectedSignature: The expected signature if the xcframework is signed.\\n Used for verifying the xcframework's integrity against the actual fingerprint derived from the given xcframeowrk\\n - status: The dependency status (optional dependencies are weakly linked)\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n### `xctest`\\n\\n```swift\\ncase xctest\\n```\\n\\nDependency on XCTest.\\n\\n### `external(name:condition:)`\\n\\n```swift\\ncase external(name: String, condition: PlatformCondition? = nil)\\n```\\n\\nDependency on an external dependency imported through `Package.swift`.\\n\\n- Parameters:\\n - name: Name of the external dependency\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n## Properties\\n### `typeName`\\n\\n```swift\\npublic var typeName: String\\n```\\n\\n## Methods\\n### `sdk(name:type:condition:)`\\n\\n```swift\\npublic static func sdk(name: String, type: SDKType, condition: PlatformCondition? = nil) -> TargetDependency\\n```\\n\\nDependency on system library or framework\\n\\n- Parameters:\\n - name: Name of the system library or framework (including extension)\\n e.g. `ARKit.framework`, `libc++.tbd`\\n - type: Whether or not this dependecy is required. Defaults to `.required`\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| name | Name of the system library or framework (including extension) e.g. `ARKit.framework`, `libc++.tbd` |\\n| type | Whether or not this dependecy is required. Defaults to `.required` |\\n| condition | condition under which to use this dependency, `nil` if this should always be used |\\n\\n### `target(_:condition:)`\\n\\n```swift\\npublic static func target(_ target: Target, condition: PlatformCondition? = nil) -> TargetDependency\\n```\\n\\nDependency on another target within the same project. This is just syntactic sugar for `.target(name: target.name)`.\\n\\n- Parameters:\\n - target: Instance of the target to depend on\\n - condition: condition under which to use this dependency, `nil` if this should always be used\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| target | Instance of the target to depend on |\\n| condition | condition under which to use this dependency, `nil` if this should always be used |\\n\",\"title\":\"`TargetDependency`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/targetdependency\",\"LLMS_URL\":\"/ko/references/project-description/enums/targetdependency.md\"}},{\"path\":\"/ko/references/project-description/enums/targetdependency.packagetype.md\",\"url\":\"/ko/references/project-description/enums/targetdependency.packagetype\",\"llmUrl\":\"/ko/references/project-description/enums/targetdependency.packagetype.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/targetdependency.packagetype\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/targetdependency.packagetype.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetDependency.PackageType`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `runtime`\\n - `runtimeEmbedded`\\n - `plugin`\\n - `macro`\\n\\n```swift\\npublic enum PackageType: Codable, Hashable, Sendable\\n```\\n\\n## Cases\\n### `runtime`\\n\\n```swift\\ncase runtime\\n```\\n\\nA runtime package type represents a standard package whose sources are linked at runtime.\\nFor example importing the framework and consuming from dependent targets.\\n\\n### `runtimeEmbedded`\\n\\n```swift\\ncase runtimeEmbedded\\n```\\n\\nA runtime embedded package type represents a package that's embedded in the product at runtime.\\n\\n### `plugin`\\n\\n```swift\\ncase plugin\\n```\\n\\nA plugin package represents a package that's loaded by the build system at compile-time to\\nextend the compilation process.\\n\\n### `macro`\\n\\n```swift\\ncase macro\\n```\\n\\nA macro package represents a package that contains a Swift Macro.\\n\\n\",\"title\":\"`TargetDependency.PackageType`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/targetdependency.packagetype\",\"LLMS_URL\":\"/ko/references/project-description/enums/targetdependency.packagetype.md\"}},{\"path\":\"/ko/references/project-description/enums/targetscript.order.md\",\"url\":\"/ko/references/project-description/enums/targetscript.order\",\"llmUrl\":\"/ko/references/project-description/enums/targetscript.order.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/targetscript.order\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/targetscript.order.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetScript.Order`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `pre`\\n - `post`\\n\\n```swift\\npublic enum Order: String, Codable, Equatable, Sendable\\n```\\n\\nOrder when the script gets executed.\\n\\n- pre: Before the sources and resources build phase.\\n- post: After the sources and resources build phase.\\n\\n## Cases\\n### `pre`\\n\\n```swift\\ncase pre\\n```\\n\\n### `post`\\n\\n```swift\\ncase post\\n```\\n\\n\",\"title\":\"`TargetScript.Order`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/targetscript.order\",\"LLMS_URL\":\"/ko/references/project-description/enums/targetscript.order.md\"}},{\"path\":\"/ko/references/project-description/enums/targetscript.script.md\",\"url\":\"/ko/references/project-description/enums/targetscript.script\",\"llmUrl\":\"/ko/references/project-description/enums/targetscript.script.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/targetscript.script\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/targetscript.script.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TargetScript.Script`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `tool(path:args:)`\\n - `scriptPath(path:args:)`\\n - `embedded(_:)`\\n\\n```swift\\npublic enum Script: Equatable, Codable, Sendable\\n```\\n\\nSpecifies how to execute the target script\\n\\n- tool: Executes the tool with the given arguments. Tuist will look up the tool on the environment's PATH.\\n- scriptPath: Executes the file at the path with the given arguments.\\n- text: Executes the embedded script. This should be a short command.\\n\\n## Cases\\n### `tool(path:args:)`\\n\\n```swift\\ncase tool(path: String, args: [String])\\n```\\n\\n### `scriptPath(path:args:)`\\n\\n```swift\\ncase scriptPath(path: Path, args: [String])\\n```\\n\\n### `embedded(_:)`\\n\\n```swift\\ncase embedded(String)\\n```\\n\\n\",\"title\":\"`TargetScript.Script`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/targetscript.script\",\"LLMS_URL\":\"/ko/references/project-description/enums/targetscript.script.md\"}},{\"path\":\"/ko/references/project-description/enums/template.attribute.md\",\"url\":\"/ko/references/project-description/enums/template.attribute\",\"llmUrl\":\"/ko/references/project-description/enums/template.attribute.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/template.attribute\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/template.attribute.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Attribute`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `required(_:)`\\n - `optional(_:default:)`\\n\\n```swift\\npublic enum Attribute: Codable, Equatable, Sendable\\n```\\n\\nAttribute to be passed to `tuist scaffold` for generating with `Template`\\n\\n## Cases\\n### `required(_:)`\\n\\n```swift\\ncase required(String)\\n```\\n\\nRequired attribute with a given name\\n\\n### `optional(_:default:)`\\n\\n```swift\\ncase optional(String, default: Value)\\n```\\n\\nOptional attribute with a given name and a default value used when attribute not provided by user\\n\\n\",\"title\":\"`Template.Attribute`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/template.attribute\",\"LLMS_URL\":\"/ko/references/project-description/enums/template.attribute.md\"}},{\"path\":\"/ko/references/project-description/enums/template.attribute.value.md\",\"url\":\"/ko/references/project-description/enums/template.attribute.value\",\"llmUrl\":\"/ko/references/project-description/enums/template.attribute.value.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/template.attribute.value\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/template.attribute.value.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Attribute.Value`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `integer(_:)`\\n - `real(_:)`\\n - `boolean(_:)`\\n - `dictionary(_:)`\\n - `array(_:)`\\n\\n```swift\\npublic indirect enum Value: Codable, Equatable, Sendable\\n```\\n\\nThis represents the default value type of Attribute\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nIt represents a string value.\\n\\n### `integer(_:)`\\n\\n```swift\\ncase integer(Int)\\n```\\n\\nIt represents an integer value.\\n\\n### `real(_:)`\\n\\n```swift\\ncase real(Double)\\n```\\n\\nIt represents a floating value.\\n\\n### `boolean(_:)`\\n\\n```swift\\ncase boolean(Bool)\\n```\\n\\nIt represents a boolean value.\\n\\n### `dictionary(_:)`\\n\\n```swift\\ncase dictionary([String: Value])\\n```\\n\\nIt represents a dictionary value.\\n\\n### `array(_:)`\\n\\n```swift\\ncase array([Value])\\n```\\n\\nIt represents an array value.\\n\\n\",\"title\":\"`Template.Attribute.Value`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/template.attribute.value\",\"LLMS_URL\":\"/ko/references/project-description/enums/template.attribute.value.md\"}},{\"path\":\"/ko/references/project-description/enums/template.contents.md\",\"url\":\"/ko/references/project-description/enums/template.contents\",\"llmUrl\":\"/ko/references/project-description/enums/template.contents.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/template.contents\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/template.contents.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `Template.Contents`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `string(_:)`\\n - `file(_:)`\\n - `directory(_:)`\\n\\n```swift\\npublic enum Contents: Codable, Equatable, Sendable\\n```\\n\\nEnum containing information about how to generate item\\n\\n## Cases\\n### `string(_:)`\\n\\n```swift\\ncase string(String)\\n```\\n\\nString Contents is defined in `name_of_template.swift` and contains a simple `String`\\nCan not contain any additional logic apart from plain `String` from `arguments`\\n\\n### `file(_:)`\\n\\n```swift\\ncase file(Path)\\n```\\n\\nFile content is defined in a different file from `name_of_template.swift`\\nCan contain additional logic and anything that is defined in `ProjectDescriptionHelpers`\\n\\n### `directory(_:)`\\n\\n```swift\\ncase directory(Path)\\n```\\n\\nDirectory content is defined in a path\\nIt is just for copying files without modifications and logic inside\\n\\n\",\"title\":\"`Template.Contents`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/template.contents\",\"LLMS_URL\":\"/ko/references/project-description/enums/template.contents.md\"}},{\"path\":\"/ko/references/project-description/enums/templatestring.token.md\",\"url\":\"/ko/references/project-description/enums/templatestring.token\",\"llmUrl\":\"/ko/references/project-description/enums/templatestring.token.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/templatestring.token\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/templatestring.token.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TemplateString.Token`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `projectName`\\n\\n```swift\\npublic enum Token: String, Equatable\\n```\\n\\nProvides a template for existing project properties.\\n\\n- projectName: The name of the project.\\n\\n## Cases\\n### `projectName`\\n\\n```swift\\ncase projectName = \\\"${project_name}\\\"\\n```\\n\\n\",\"title\":\"`TemplateString.Token`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/templatestring.token\",\"LLMS_URL\":\"/ko/references/project-description/enums/templatestring.token.md\"}},{\"path\":\"/ko/references/project-description/enums/testabletarget.parallelization.md\",\"url\":\"/ko/references/project-description/enums/testabletarget.parallelization\",\"llmUrl\":\"/ko/references/project-description/enums/testabletarget.parallelization.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/testabletarget.parallelization\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/testabletarget.parallelization.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TestableTarget.Parallelization`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `disabled`\\n\\n```swift\\npublic enum Parallelization: Equatable, Codable, Sendable\\n```\\n\\nWith the introduction of Swift Testing and Xcode 16, you can now choose to run your tests\\nin parallel across either the full suite of tests in a target with `.enabled`, just those created\\nunder Swift Testing with `.swiftTestingOnly`, or run them serially with the `.disabled` option.\\n\\n## Cases\\n### `disabled`\\n\\n```swift\\ncase disabled\\n```\\n\\n\",\"title\":\"`TestableTarget.Parallelization`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/testabletarget.parallelization\",\"LLMS_URL\":\"/ko/references/project-description/enums/testabletarget.parallelization.md\"}},{\"path\":\"/ko/references/project-description/enums/tuistproject.md\",\"url\":\"/ko/references/project-description/enums/tuistproject\",\"llmUrl\":\"/ko/references/project-description/enums/tuistproject.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/tuistproject\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/tuistproject.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `TuistProject`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `tuist(compatibleXcodeVersions:swiftVersion:plugins:generationOptions:installOptions:)`\\n - `xcode(_:)`\\n\\n```swift\\npublic enum TuistProject: Codable, Equatable, Sendable\\n```\\n\\n## Cases\\n### `tuist(compatibleXcodeVersions:swiftVersion:plugins:generationOptions:installOptions:)`\\n\\n```swift\\ncase tuist(\\n compatibleXcodeVersions: CompatibleXcodeVersions = .all,\\n swiftVersion: Version? = nil,\\n plugins: [PluginLocation] = [],\\n generationOptions: Tuist.GenerationOptions = .options(),\\n installOptions: Tuist.InstallOptions = .options()\\n)\\n```\\n\\nCreates a configuration for a Tuist project.\\n\\n- Parameters:\\n - compatibleXcodeVersions: List of Xcode versions the project is compatible with.\\n - swiftVersion: The version of Swift that will be used by Tuist.\\n - plugins: A list of plugins to extend Tuist.\\n - generationOptions: List of options to use when generating the project.\\n - installOptions: List of options to use when running `tuist install`.\\n\\n### `xcode(_:)`\\n\\n```swift\\ncase xcode(TuistXcodeProjectOptions = TuistXcodeProjectOptions.options())\\n```\\n\\n\",\"title\":\"`TuistProject`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/tuistproject\",\"LLMS_URL\":\"/ko/references/project-description/enums/tuistproject.md\"}},{\"path\":\"/ko/references/project-description/enums/xcframeworksignature.md\",\"url\":\"/ko/references/project-description/enums/xcframeworksignature\",\"llmUrl\":\"/ko/references/project-description/enums/xcframeworksignature.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/enums/xcframeworksignature\\\"\\nLLMS_URL: \\\"/ko/references/project-description/enums/xcframeworksignature.md\\\"\\n---\\n\\n**ENUM**\\n\\n# `XCFrameworkSignature`\\n\\n**Contents**\\n\\n- [Cases](#cases)\\n - `unsigned`\\n - `signedWithAppleCertificate(teamIdentifier:teamName:)`\\n - `selfSigned(fingerprint:)`\\n\\n```swift\\npublic enum XCFrameworkSignature: Equatable, Hashable, Codable, Sendable\\n```\\n\\nExpected signature for XCFramework. Can be used to verify the authenticity of the XCFramework against the actual signature\\ncalculated from it.\\n\\n## Cases\\n### `unsigned`\\n\\n```swift\\ncase unsigned\\n```\\n\\nThe XCFramework is not signed.\\n\\n### `signedWithAppleCertificate(teamIdentifier:teamName:)`\\n\\n```swift\\ncase signedWithAppleCertificate(teamIdentifier: String, teamName: String)\\n```\\n\\nThe XCFramework is signed with an Apple Development certificate.\\n\\n### `selfSigned(fingerprint:)`\\n\\n```swift\\ncase selfSigned(fingerprint: String)\\n```\\n\\nThe XCFramework is signed by a self issued code signing identity.\\n\\n\",\"title\":\"`XCFrameworkSignature`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/enums/xcframeworksignature\",\"LLMS_URL\":\"/ko/references/project-description/enums/xcframeworksignature.md\"}},{\"path\":\"/ko/references/project-description/extensions/array.md\",\"url\":\"/ko/references/project-description/extensions/array\",\"llmUrl\":\"/ko/references/project-description/extensions/array.md\",\"content\":\"---\\nURL: \\\"/ko/references/project-description/extensions/array\\\"\\nLLMS_URL: \\\"/ko/references/project-description/extensions/array.md\\\"\\n---\\n\\n**EXTENSION**\\n\\n# `[FileElement]`\\n\\n## Methods\\n### `init(stringLiteral:)`\\n\\n```swift\\npublic init(stringLiteral value: String)\\n```\\n\\n#### Parameters\\n\\n| Name | Description |\\n| ---- | ----------- |\\n| value | The value of the new instance. |\\n\",\"title\":\"`[FileElement]`\",\"frontmatter\":{\"URL\":\"/ko/references/project-description/extensions/array\",\"LLMS_URL\":\"/ko/references/project-description/extensions/array.md\"}},{\"path\":\"/ko/references/project-description/extensions/array.md\",\"url\":\"/ko/references/project-description/extensions/array