Tuist

Bootstrap, maintain, and interact with Xcode projects at any scale

Why

With the unceasing growth of apps to support new platforms and products, Xcode projects are growing in complexity. Such complexity, although necessary at scale, makes the projects hard to maintain. Moreover, it’s often a source of issues and frustration for developers.

We believe developers should be abstracted from complexities to let them focus on building apps. That’s the role Tuist takes. It provides a simple and convenient abstraction, and takes the opportunity to encourage what we believe are good practices and conventions.

Tuist is a command line tool written in Swift, designed and developed in the open.

ArtboardCreated with Sketch.

Features

Xcode projects generation

You describe the projects in Swift, we configure them for you

Easy static & dynamic linking

We translate dependencies into build settings and phases

Fewer Git conflicts

Spend less time solving git conflicts and more building great apps

Best practices

Easily enforce best practices & conventions in the project structure

DeveloperCreated with Sketch.

An open source project

Tuist is entirely designed and developed in the open. Moreover, it embraces Unix philosophy: Make each program do one thing well. The project is made of smaller libraries that focus on doing one thing well, like xcodeproj.

Anyone has a place and voice in our healthy, collaborative, and ego-free community.

Our mission

We aim to provide a command line tool that makes the interaction with Xcode projects approachable, standard, and convenient at any scale, built on the principles of ease of use and reliability, and powered by Swift in the open.

Test it out!

Stop wasting your time figuring out complicated Xcode issues in your projects and let us help you with that.

You can adopt Tuist incrementally without having to change the structure of your projects.

Getting started
$

One more thing...

There’s a lot more to come. Project generation opens the door to workflow improvements that will make your experience working with Xcode much more pleasant. Stay tuned to the exciting backlog we have ahead.

Swift Package Manager support

Easily integrate third party packages into your projects

Selective test runs

Selectively run tests based on the changed files

Build insights

Auto-generated reports about your projects and builds

Distributed incremental builds

Leveraging alternative build systems such as Buck or Bazel

I want to contribute