Hi there , and Happy New Year everyone!
As 2025 gets rolling, I’d like to share what our strategy for the project is, and how that materialises on the projects that we plan to work on in Q1.
Strategy
We want to bring Tuist to more developers and teams by:
- Eliminating the need to migrate an existing project to adopt Tuist solutions.
- Solving problems that are common across a broader audience.
- Lay the foundation to enter the Android ecosystem.
Projects
Dashboard revamp
We’re making consistent, beautiful design one of Tuist’s key strengths, bringing it closer to industry-leading tools like Vercel, Supabase, and Linear. To achieve this, we’ve designed a comprehensive design system that enhances both the user experience and our agility in iterating on the product. We’ll implement this system as we revamp the dashboard. Given that many of our features are CLI-first, there are relatively few pages to migrate, but we will also introduce web-based workflows for tasks that users expect to manage online, such as updating their email or user handle.
Tuist Package Registry
This project addresses a common issue reported by many developers and organizations who have adopted SwiftPM as their default dependency manager–dependencies are slow to resolve, and caching the directory across CI builds doesn’t help because directories are large. To solve that, our server mirrors the versions of the packages in Swift Package Index and conforms to the Swift Package Registry interface to speed up resolution.
It’ll work with Xcode projects, Tuist Projects, and Swift Packages. The CLI will make the setup as streamlined as it can be.
The implementation is nearly complete, and we plan to release it soon, iterating based on feedback from developers.
As part of this work we are contributing fixes and improvements to the swift-package-manager
Tuist Runs & Analytics
Improving projects, the interactions with them (builds and test runs), and the compiled apps requires understanding, and understanding requires having data. The data is available, but the process of collecting and presenting it in a way that can be actioned upon requires a lot of plumbing. Therefore, it’s only accessible to large organizations that can afford doing that plumbing work.
We are going to change that with Tuist Runs. Whether you run tuist test
or tuist build
, or the upcoming tuist xcodebuild
, which proxies to xcodebuild
to integrate with the Tuist platform, we’ll automatically collect, standardise, and report the data. Every interaction will represent a “Run”, and the analysis of data over time is what we’ll refer to as “Tuist Analytics”.
In Q1, our focus will be on collecting and standardizing data, making it available through a web interface, a Grafana dashboard, and a Prometheus endpoint for integration with an organisation’s Grafana instance. Key data includes:
- Build logs
- Xcode .xcresult files
- Errors from logs and test results
- Size analysis of Apple bundles (e.g., apps)
- Test results
- Build process (i.e. Grantt chart)
This solution will be easy to adopt, and we aim for the UI to be both useful and visually appealing, encouraging teams to integrate it. Tuist’s runs will also serve as a marketing tool. Collecting this data lays the foundation for future analysis, with the potential for leveraging AI capabilities down the line. We’ll also bring the data closer to surfaces like Slack or GitHub PRs where developers spend their time.
Tuist Workflows
The community has an appetite for finding a substitute for what has been the standard Ruby-based automation layer in the ecosystem, Fastlane. We are going to meet that appetite by releasing a Swift-based solution, Tuist Workflows, that embraces the language in which they want to write their automation. This is the first step towards us providing a CI service that blurs remote and local environments, decouples projects from proprietary YAML files and marketplaces of steps, and provides a CLI-first experience for running and debugging the execution of workflows in remote environments.
Tuist Selective Testing for vanilla Xcode projects
Many organizations face the challenge of long CI run times as their test suites grow. We have a solution for selective test execution, but it currently requires migrating Xcode projects to Tuist Projects. This project aims to extend that functionality, enabling selective test execution without migration. As teams adopt this feature, they’ll likely be drawn to other Tuist capabilities, such as workflows and analytics.
Revamp the get-started
The get-started workflow was one of the first commands we implemented in the CLI, tuist init
, designed to address the complexity of Xcode projects at the time. However, with many changes already made and more on the horizon, it’s time to update this workflow. First, we’ll enhance tuist init
to support Xcode projects that don’t require migration, making it easier to adopt Tuist with just one or two commands.
The second part of this effort is updating our documentation to mirror Expo’s structure. As Tuist has evolved, it’s become harder to know where to start in the docs, so we’ll create a more intuitive home screen to help users navigate to the content they need. We’ll also make the docs more visual, adding videos and highlighting other features to encourage exploration. Since users spend a lot of time in the docs, we’ll optimize this space to maximize engagement and showcase Tuist’s full potential.
Community initiatives
Our community is our greatest asset, so we’re focused on continuing to nurture it. We’ll launch a bi-weekly newsletter, Swift Stories, designed to spark new ideas and advance the Swift ecosystem. Tuist’s marketing will be more indirect, much like how Posthog promotes Product for Engineers through its newsletter.
We’ll also introduce an ambassador program to reward contributors who go above and beyond in spreading the word about Tuist. Additionally, we’ll host monthly community calls to create a direct channel with users, contributors, and maintainers, giving them a chance to see what we’re working on and participate in the conversation.
Closing words
Towards the end of the year, Tuist will look more like Vercel for Swift app developers–a tool that plugs itself into your repository and holds your hand from idea to scaling the app to millions of users. We’ll be well positioned technically and financially to cover the entire lifecycle with an integrated solution, and jump onto other app ecosystems and bring our solutions there.