Easing the maintenance of large and modular Xcode projects is not the only challenge teams run into when scaling up projects. Other challenges that they face are keeping the build and test times slow, both locally and on CI (i.e. faster feedback), and ensuring that the projects and the derived artifacts (e.g. app bundles) meet some quality standards. For instance, in most Xcode projects, when developers open pull/merge requests, they don’t have a way to know if they are negatively impacting the quality of the project: build times are under a reasonable value, or the size of the apps is acceptable.
Tuist can leverage the generation of Xcode projects to help teams with those challenges. However, it needs a server side component that holds a state across project generations, builds, and all the team members. The subset of features that require that server side component are referred to as cloud.
We are currently working on the implementation of the first two cloud features: caching and insights. If you'd like to stay up to date with the progress that we are making, we suggest following us on Twitter.
Tuist provides the client-side logic for those features, and defines the contract with the server-side component through an HTTP REST API. That gives the teams and projects the flexibility to choose the implementation that they’d like to use, and also decide if they’d like to host it internally.
More information about the contract can be found on this page.