Начало работы
Если у вас есть опыт разработки приложений для платформ Apple, таких как iOS, добавление кода в Tuist не покажется чем-то новым. Однако по сравнению с созданием обычных приложений есть два отличия, о которых стоит упомянуть:
Взаимодействие с CLI происходит через терминал. Пользователь запускает Tuist, который выполняет нужную задачу и завершает работу – успешно или с кодом состояния. Во время выполнения пользователю может выводиться информация через стандартный вывод или стандартный поток ошибок. Никаких жестов и графических элементов – только действия по намерению пользователя.
В CLI нет цикла выполнения (runloop), который поддерживает процесс в активном состоянии в ожидании ввода, как это происходит в iOS-приложении, когда оно получает системные или пользовательские события. CLI выполняется в своём процессе и завершает работу, когда задача выполнена. Асинхронные операции можно выполнять с помощью системных API, таких как DispatchQueue или структурированный параллелизм, но необходимо убедиться, что процесс остаётся активным во время их выполнения. В противном случае процесс завершится, прервав выполнение асинхронной задачи.
Если у вас нет опыта работы со Swift, рекомендуем официальную книгу Apple, чтобы познакомиться с языком и наиболее часто используемыми элементами API фреймворка Foundation.
Минимальные требования
Чтобы внести свой вклад в Tuist, минимальными требованиями являются:
- macOS 14.0+
- Xcode 16.3+
Настройка проекта локально
Для начала работы над проектом выполните следующие шаги:
- Клонируйте репозиторий, выполнив команду
git clone git@github.com:tuist/tuist.git - Установите Mise, чтобы подготовить среду разработки.
- Выполните команду
mise install, чтобы установить системные зависимости, необходимые для работы Tuist - Выполните команду
tuist install, чтобы установить внешние зависимости, необходимые для работы Tuist - (Опционально) Выполните команду
tuist auth login, чтобы получить доступ кTuist Cache - Выполните команду
tuist generate, чтобы сгенерировать Xcode-проект Tuist с помощью самого Tuist
Сгенерированный проект откроется автоматически. Если нужно открыть его снова, не генерируя заново, выполните команду open Tuist.xcworkspace (или откройте через Finder).
XED .
Если вы попытаетесь открыть проект с помощью команды xed ., откроется сам пакет, а не проект, сгенерированный Tuist. Мы рекомендуем использовать проект, созданный Tuist, чтобы тестировать инструмент на практике.
Редактирование проекта
Если вам нужно изменить проект, например, добавить зависимости или настроить цели – используйте команду
`tuist edit` command. Эта команда применяется редко, но полезно знать, что она существует.Запуск Tuist
Из Xcode
Чтобы запустить tuistиз сгенерированного Xcode-проекта, отредактируйте схему tuist и укажите аргументы, которые нужно передать команде. Например, чтобы выполнить команду tuist generate, можно задать аргументы generate --no-open, чтобы проект не открывался после генерации.

Вам также нужно будет указать в качестве рабочей директории корень создаваемого проекта. Это можно сделать либо с помощью аргумента --path, который поддерживают все команды, либо настроив рабочую директорию в схеме, как показано ниже:

КОМПИЛЯЦИЯ ОПИСАНИЯ ПРОЕКТА
CLI tuist зависит от наличия фреймворка ProjectDescription в директории собранных продуктов. Если tuist не запускается из-за того, что не может найти фреймворк ProjectDescription, сначала соберите схему Tuist-Workspace.
Из терминала
Вы можете запустить tuist, используя сам Tuist, с помощью команды run :
tuist run tuist generate --path /path/to/project --no-openКроме того, вы можете запустить его напрямую через Swift Package Manager:
swift build --product ProjectDescription
swift run tuist generate --path /path/to/project --no-open