Log in

Engaging stories and expert insights

Stay in touch

Streamline previewing changes in your open source Swift apps – IcySky case study.
Use Tuist Previews in open source Swift apps to streamline testing latest changes for maintainers and contributors alike.

Essential reading

Streamline previewing changes in your open source Swift apps – IcySky case study.
Use Tuist Previews in open source Swift apps to streamline testing latest changes for maintainers and contributors alike.
Optimizing compilation and test runs with Xcode projects
Slow workspaces and long compilation times can hinder developer productivity. Learn how Tuist optimizes Xcode projects to improve performance and accelerate feature delivery.
Expanding the Apple Ecosystem: open and accessible developer tooling beyond official tools
We’re on a mission to make developer tooling outside of Apple’s official tools more open and accessible. Through fair pricing, community-driven features, and language support, Tuist empowers developers to enhance their workflows and build better apps without barriers. Join us in expanding the ecosystem with accessible, community-driven extensions for all.
Speed up your Xcode CI workflows for free
Discover how to significantly speed up your Xcode CI workflows without spending a dime. Learn about common challenges and how Tuist can help you overcome them, improving your development process and productivity.
Designing the new Tuist brand & website
Discover how we transformed the Tuist website into a vibrant digital experience that aligns with their open-source philosophy and product innovation.
Our pricing philosophy
Learn about the philosophy and model that guide our pricing decisions.
Introducing Tuist Ambassadors
We are introducing the Tuist Ambassadors program to recognize the people who have been going above and beyond to help others in the community.
Deploy your Swift on the Server apps with Kamal 2
In this blog post, you'll learn how to use Kamal 2 to deploy your Swift on the Server apps to your own server.
Shall the Xcode plane land?
Xcode becomes more powerful yet more unreliable as capabilities are added and projects grow. We explore the challenges of scaling development in Xcode and share some thoughts on how Apple could improve the developer experience.
Tuist 4.26.0: GitHub integration and a new command to find implicit dependencies
Learn more about the new features and improvements in Tuist 4.26.0.
From a URL click to a running app preview: Introducing the Tuist macOS app
We've released a Tuist macOS app as the next step in making sharing your apps a joyful experience.
Swift Macros at scale
Swift Macros, while powerful, can hinder build times. This blog post explains why and what we can do to mitigate the issue.
Introducing Tuist Previews. A URL-centric approach to collaboration.
Tuist Previews make it easy to share apps with anyone. Learn more about this new feature and what's coming next.
Empowering teams to build better apps faster
Tuist is shifting its focus to empower teams to build better apps faster. Learn more about our new vision and what's coming next.
Tuist now supports detecting flaky tests
Tuist now supports detecting flaky tests. Learn how it works and how it can help you ship more reliable software
Announcing our Tuist Cloud open source program
We are thrilled to announce that we are offering Tuist Cloud completely free for open source projects.
Revamping our documentation
In this blog post, we share the journey we've been through to revamp the Tuist documentation and what we've learned.
Tuist 4.1.0
Tuist 4.1.0 is out with new features, improvements, and bug fixes. In this blog post, we'll cover the highlights of this release.
Unveiling Tuist 4 and Tuist Cloud
In this blog post, we unveil Tuist 4 and Tuist Cloud, marking an inflection point in the project's sustainability. We also discuss the long-term sustainability of the project, the introduction of Tuist Cloud, and the new features in Tuist 4. We also talk about the new logo, our partnership with Codemagic, and our commitment to open-source.
We are deprecating tuistenv in favor of Mise
In this blog post, we share why we are deprecating tuistenv in favor of mise, a runtime executor that allows you to manage multiple versions of a tool and activate the right one when you choose a directory in your terminal.
Faster Vapor clean builds with Tuist
Discover how to boost productivity in server-side Swift development using Vapor with Tuist. Manage dependencies efficiently and optimize build times for better workflow.
Etsy's Journey with Tuist: A Deep Dive into Modularity and Rapid Iteration
Etsy evolves its decade-long monolithic iOS app with Tuist, paving the way for modular development. With nearly 50 iOS engineers, they leverage Tuist for streamlined module creation and emphasize a unified approach to architecture. Transitioning to SwiftUI and adopting Preview Driven Development, Etsy champions rapid iteration, testability, and consistent quality. Their tech journey reflects innovation at its best.
Tuist 3.33.0 and XcodeProj-native support for Swift Macros
We released a new version of Tuist, which includes XcodeProj-native support for Swift Macros
Tuist Cloud public beta is here
Tuist Cloud's public beta is here, offering innovative solutions for Xcode projects. Free for open-source, with exciting plans post-beta in 2024.
Introducing TuistGPT and XcodeGPT
Tuist, born in 2017, addresses challenges in scaling Xcode projects. Despite new tools like the Swift Package Manager, the need for Tuist persists.
Glovo’s Large-Scale App Development: An In-Depth Look
Glovo's app development focuses on modular architecture, efficient processes, and a robust team to ensure a top-tier digital experience.
The Evolution of iOS Development and the Role of Tuist
Tuist, born in 2017, addresses challenges in scaling Xcode projects. Despite new tools like the Swift Package Manager, the need for Tuist persists.
Trendyol and Tuist: Engineering Apps at Scale
Dive into our exclusive chat with Trendyol, Turkey's e-commerce giant. Explore how they leverage Tuist for expansive iOS development, unravel their tools, team dynamics, and the secrets to managing tech at scale. A must-read for all developers
XCBeautify: Supporting GitHub Actions Annotations
Learn about the latest xcbeautify renderer.
Charting Our Course: A Bold New Direction for Tuist in the Second Half of 2023
Tuist's vision for 2023: improved reliability, transparent processes, and reinvented collaboration.
Bundling Javascript in Swift projects using ESBuild
SwiftyESBuild: Streamlining Swift Web Bundling and JavaScript Integration for Effortless Development.
Issue and feature bounties
Announcing new bounty program for our Tuist contributors
Releasing Tuist 3.0
Highlighting updates from the 3.0 release and first Tuist Cloud preview.
Releasing Tuist 2.0
In this post, we share more details about this new major version of the project, 2.0, and present the direction we are taking as we move towards 3.0.
Introducing plugins
Plugins is a new feature that allows reusing Tuist building blocks across repositories. In this blog post we present the feature and how teams can leverage it to share project description helpers.
Next for Tuist
It's a wrap for 2020. In this blog post we share the vision of Tuist for 2021. We'll bring support for plugins, improve and standardize the integration of third party dependencies, add support for selective building and testing, and much more.
Interview with Angry Nerds - Project description helpers are a game changer for modular apps
In this blog post we interview Marcel from Angry Nerds, a custom software development company based in Wrocław, Poland. Marcel talks about a wide range of topics which includes their workflows, preferred code patterns and architecture, and their testing strategy.
Interview with George Tsifrikas - What led us to modularize Workable's project was high build times
In this interview of apps at scale we interview George Tsifrikas, iOS team lead at Workable. He shares his experience growing their Xcode project into a modular app, how they use reactive programming extensively throughout the app, and the testing strategies that they follow to ship new features with confidence.
1.18.0 Himalaya - Documentation generation, Swift interface for accessing resources, and code linting.
Tuist 1.18.0 is packed with interesting automatomation feature that will streamline developers' workflows further. This new version provides commands for auto-generating documentation and linting the Swift code, and integrates the generation of Swift interfaces for resources into the project generation.
1.14.0 Spezi, a release packed with improvements
In this blog post we present the improvements and bug fixes that we included in the version of Tuist 1.14.0
Local caching of frameworks with Tuist 1.13.0 Bella Vita
In this blog post we introduce Tuist 1.13.0 Bella Vita. It's is a huge leap forward for Tuist because it introduces a new feature, local cache, to help teams speed up their buidls. This version also ships with significant improvements and some bug fixes.
Interview with Franz Busch - We are now using Combine as our Reactive framework and it makes development so much better
In this interview we talk with Franz Busch, iOS Developer at Sixt, a mobility provider. Franz shares how the adoption of the RIBs and Combine significantly improved the development experience and allowed them to have a very good test coverage.
Interview with Søren Gregersen - Anyone in the team can create and maintain Xcode projects easily
In this interview we talk with Søren Gregersen, co-founder of Emplate, a digital studio based in Denmark. Søren shared with us how they use Tuist and the project description helpers for one of their main projects, a white label app for shopping malls in Europe.
Interview with Kamil Pyć - With Bazel we were able to reduce build times by 70% on clean builds
In this interview, we talk with Kamil Pyć, Senior Mobile Developer at Allegro. Allegro is one of the few companies that have undertaken replacing Xcode's build system with Bazel, and that led them to an improvement in build times of roughly 95%. In this interview, Kamil shares more about Bazel's adoption, and some other insights about their project and teams.
Interview with Donal O'Brien - We measure developer build times so that we can measure improvements and regressions
In this interview, we talk with Donal O'Brien from the core clients team at SoundCloud. He shares how they leveraged modularization, Tuist, and tools like Sourcery to overcome the challenges they faced while scaling the app. Moreover, he touches on some present challenges like developer awareness and the maintenance of the tools around the project.
Easily setup signing for your project with Tuist 1.11.0 Volare
The new Tuist release 1.11.0 Volare introduces a signing feature to help you with maintaining and integrating your signing artifacts.
Interview with Marek Fořt - The feature that I enjoy the most about Tuist is the clarity of manifest files
In this interview, Marek shares his experience at AckeeCZ adopting the Microfeatures architecture and how they use Tuist to codify the structure of their projects. He also talks about his stance regarding the usage of third-party dependencies, as how they approach testing to deliver code fast and with confidence.
Building your projects with Tuist 1.10.0
This blog post introduces the latest version of Tuist, 1.10 Alma, that starts making projects the source of truth for automation too by providing a standard command, "tuist build", for building projects.
Tuist 1.9.0 - Speedy Gonzales
In this blog post we announce the latest version of Tuist, 1.9.0, which introduces significant improvements in the performance of the project generation.
Dynamically generating Xcode projects
In this blog post I talk about how Xcode's determinism and speed relates to the static nature of Xcode projects, and how Tuist leverages dynamism to help teams overcome the challenges of scaling up projects.
Tuist 1.8.0 - Adding support for localized sources
In this blog post I talk about the Tuist verion 1.8.0 and the improvements that come with it. One of those is being able to define localized sources in the targets. Moreover, we changed the way we read the Swift version to always read it from the environment.
Why Tuist?
In this blog post I share my thoughts on why I think Tuist is a good choice to scale up Xcode projects, and guide the reader through what I believe are key features to make that easy.
Tuist 1.7.1 - Edit all manifests, safer build settings API and SwiftUI projects
Easier manifests editing and safer configurations with Tuist 1.7.1
Tuist 1.5.0 - Scaffold command, performance, Mint
Tuist's new version 1.5.0 brings scaffold command, performance improvements and Mint support
Tuist 1.4.0 - Lint command, more verbose logs, and configuration of the project organization
The just released version of Tuist, 1.4.0, adds support for printing more verbose logs, and configuring the Xcode organization.
Tuist 1.3.0 - Performance improvements and generation of projects while editing
The newest release brings you many bugfixes and improvements. However with the number of contributors steadily growing the team has also been busy thinking and writing about the direction of Tuist. We have a rough plan for Tuist 2.0 and work has started on compiling a manifesto to explain a bit more about the goals and values of the project.
Tuist 1.2.0 - Bugfixes, improvements and future direction
The newest release brings you many bugfixes and improvements. However with the number of contributors steadily growing the team has also been busy thinking and writing about the direction of Tuist. We have a rough plan for Tuist 2.0 and work has started on compiling a manifesto to explain a bit more about the goals and values of the project.
API for excluding files with Tuist 1.1.0
The new version of Tuist ships with improvements in the API for defining files so that users can exclude files using glob patterns. Moreover, we made some changes in the architecture of the project and introduced two new targets to the family, TuistGalaxy and TuistAutomation.
Tuist turns 1.0
Today we are pleased the first major release of Tuist, 1.0. We have achieved an important milestone in helping teams scale up their projects, making defining projects easy, and for that reason we are releasing this one as major. This blog post describes what that has been for the project, and what are our ambitions for Tuist 2.0.
Define your watchOS apps and extensions easily with Tuist 0.19.0
Until today, defining watchOS apps and extensions in Tuist was not possible. The good news is that from Tuist 0.19.0 that's no longer true because it extends its beautifully simplified abstractions to watchOS. On top of that, we also shipped support for enabling test coverage in the schemes, and defining the deployment targets in targets. We also took the opportunity to iron out some bugs that had been reported by users.
Welcome Swift Packages to the dependencies family in Tuist 0.18.0
Making the definition of dependencies very convenient was one of our aims when we embarked on building Tuist and today, we are extending that convenience to external dependencies that are distributed as Swift Packages. Targets can now define packages as dependencies and Tuist will take care of the rest. Moreover, this version ships with improvements in the API of dynamic Info.plist files.
Visualize your projects graph from Tuist 0.17.0
One of the difficulties of scaling up Xcode projects comes from the fact that Xcode doesn't provide a high-level picture of the structure of the project. Tuist 0.17.0 fixes that by providing a new command, 'tuist graph', that exports a graph of the project to help users of the tool visualize their project dependencies. This version also adds support for configuring Tuist globally, and also indicate the version of Xcode that is required to run the project.
Tuist 0.16.0 allows users to link system libraries and frameworks
From the just released 0.16.0 version of Tuist, users will be able to define dependencies with system libraries and frameworks from their targets. Moreover, we added support for customizing the list of input and output files in their target action, and generation of targets with no build settings at all. This version also ships with minor improvements and bug fixes that had been reported by users.
Dynamically generated Info.plist files with Tuist 0.15.0
Tuist 0.15.0 extend the beauty of generation to Info.plist. From this version on you'll be able to define the build settings as part of your manfest and let Tuist infer the default values for you. Furthermore, we extended the API to support customizing the generation of default build settings in your projects and targets, added the generation time to the 'tuist generate' command, and added support for defining custom schemes.
Workspace improvements with Tuist 0.13.0
The just baked new version of Tuist, 0.13.0, is already with us. We added significant improvements to workspaces like being able to define additional files that are added to the project. We also aligned the structured of the generated workspaces to match the filesystem. This version also makes sure that for those test targets that depend on a host application are set up with the right settings.
Tuist 0.12.0 supports defining multiple sources and resources
Following users's feedback, we have released a new version of Tuist, 0.12.0 that supports defining multiple sources and resources. Moreover, we added a new product type for those of you that would like to opt for static linking, and added generation of schemes with all the targets that are part of the project. This version also drops support for defining the manifests as a JSON file because Swift will pave our way to a better maintainability and reusability.
Tuist 0.11.0 has been released
Tuist 0.11.0 is out and it includes features like "tuist up" that help users configure their environment before working with the projects, or support for generating target schemes. This version also adds support for defining environment variables for targets, as well as some minor improvements and fixes.
Announcing Tuist 0.10 and its new 'up' command
Learn more about the newest version of Tuist which comes with a powerful and useful feature, a new 'tuist up' command.
Version 0.9.0 published
In this blog post we talk about the changes that come with the recently published version 0.9.0.
Generate Carthage-compatible Xcode projects for your open source libraries
Learn how you can leverage Tuist and the project generation to make the generation of Carthage-compatible projects more convenient and aligned with the approach other package managers follow.
Introducing Tuist
Tuist was oficially released. Read more on this blog post about what motivated us to build Tuist and how it can help you scale your Xcode projects.