Open-source project
tuist/tuist avatar
tuist/tuist

tuist: two server canaries and a Helm chart release in under a day

Your platform team, as a service

5,864 stars783 forksElixirNOASSERTION

At a glance

What is it?
A build platform spanning twelve projects in Swift, Kotlin, Elixir and Rust, where the cache is the core product and a suite of services sits around it. The repository tells you more about the shape of the company behind it than the feature list does, including an internal CRM application and a company handbook checked into the same tree.
Who is it for?
tuist suits a platform team with more than one Apple or JVM codebase and a build time problem, since the cache and the selective testing are the parts that pay for themselves and the rest of the suite is optional. Two things to weigh first.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Elixir, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • tuist/tuist5,864 ★ · +51
Star history
Repository2026-09-232026-11-13
tuist/tuist5.8k5.9k

51 Stars in the last 51 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The three most recent releases all landed on the same day

The release history is unusual in a way that is easy to miss when skimming. Three tags are visible: a Helm chart release, [email protected], on 2026-11-02, then two server canaries, [email protected] and [email protected], about twelve minutes apart on 2026-11-03. So the newest tags are per-component, with the server on a canary channel. The version numbers themselves are worth noting as a shape: a server 1.358 series and a Helm chart at 0.259 imply a very high release count, which is consistent with a project that ships continuously. The last push to the default branch was 2026-11-02, and the repository is not archived.

The project table lists twelve pieces across five languages

The development section describes the repository as a monorepo and then gives a table, which is the most useful thing in the readme because it describes the system rather than the marketing. The command line interface is Swift. The iOS and macOS app is Swift. The Android app is Kotlin with Compose. The Tuist server that hosts the cache, previews, analytics and dashboard is Elixir on Phoenix, and the Swift package registry service is also Elixir on Phoenix. The design system powering the web UI, Noora, is Elixir on Phoenix again. The cache mesh service for distributed cache traffic is Rust, named kura, and the hosted source code search service is Rust too. The Gradle plugin for Android and JVM builds is Kotlin. Atlas, the internal ops app for CRM, contracts, finance and go to market, is Elixir on Phoenix.

The declared primary language is Elixir while the product surface is Swift

Given that table, the recorded primary language for the repository is Elixir, and that is accurate as a count of projects rather than as a description of what a user installs. Four of the twelve entries are Elixir on Phoenix: the server, the registry, the design system and the internal ops app. The command line interface and the iOS and macOS app are Swift. So the largest group by project count is server-side Elixir, while the artifact a developer actually runs is compiled from Swift. That distinction matters when you are deciding where to file a bug or where a change has to land. The remaining projects are two Kotlin entries, the Android app and the Gradle plugin, and two Rust entries, the cache mesh and the code search service.

A Go workspace sits in the root of an Elixir-primary monorepo

The top level of the tree contains go.work and go.work.sum, which is a Go workspace definition, alongside a Kotlin Gradle plugin, two Elixir services, a Swift package manifest, two Rust services and an Elixir project directory. A Go workspace file is what lets several Go modules in a repository be developed and built together as a unit, so its presence means at least one of the Rust-adjacent or infrastructure pieces is not actually Rust, or that a tool inside the tree is written in Go. There is also a Grafana datasource, an infrastructure directory, a CI directory and a cache directory, so the deployment and observability side lives in the same repository as the product.

Two Xcode version files pin which toolchain the build expects

Two files sit side by side at the root, .xcode-version and .xcode-version-releases, and neither is standard Xcode configuration. The presence of two suggests one pins the version used for local development and the other records the versions each release was built against, which is the pattern a project needs when it publishes artifacts for several Xcode releases. Alongside them are .swiftformat and .swiftlint.yml for formatting and linting Swift, and .taplo.toml for TOML, which is a reasonable signal that the toolchain configuration is treated as part of the product.

The cache is the core and four other services assume you run a backend

The framing sentence puts the cache first: it reuses previously built artifacts across environments to speed up builds, and a suite of tools around it keeps them fast, reliable and observable. The readme opens by saying the tool works whether you build with Xcode, Gradle or Bazel, so the target is set by your existing build system rather than by a replacement for it. The project table says the Tuist server hosts the cache, previews, analytics and dashboard, and lists the registry as a separate Swift package registry service; which features need a server is the question to answer before adopting.

The company handbook and an internal CRM are checked into the product repository

Two entries in the project table are not infrastructure for the tool at all. One is a skills package described as the Tuist agent skills package, and the other is the company handbook, which the table lists alongside the command line interface and the server as a project in the monorepo. Atlas goes further: it is named the internal ops app for CRM, contracts, finance and go to market, built in Elixir on Phoenix like three of the server-side projects. Putting sales, contracts and finance tooling in the same repository as the build platform means the tree mixes product code with company operations, which has an obvious benefit in keeping context in one place and an obvious cost in what is in scope for a contributor. The readme also lists openness and community as cornerstones and points at a handbook site, a community forum and documentation as the places to start.

Editorial conclusion

tuist suits a platform team with more than one Apple or JVM codebase and a build time problem, since the cache and the selective testing are the parts that pay for themselves and the rest of the suite is optional. Two things to weigh first. Work out how much of the platform you are actually adopting, because the readme's project table says the Tuist server hosts the cache, previews, analytics and dashboard. And note what is in the repository, since an internal CRM covering contracts, finance and go to market shares a tree with the product code, which tells you the boundary between the company and the tool is not a hard one. A team with a single small project will not recover the cost of standing up the server side.

Frequently asked questions

What is Tuist in iOS?

Tuist is a build platform that works with Xcode, Gradle or Bazel to speed up builds, and it includes generated projects as a solution for more accessible and easier to manage Xcode projects. The repository also contains the Tuist command line interface and the iOS and macOS app, both written in Swift.

What does the Tuist cache actually do?

It reuses previously built artifacts across environments to speed up builds, backed by a content-addressable store. The readme describes the cache as the core of the product, with a suite of tools around it intended to keep builds fast, reliable and observable as they scale.

Which languages is the Tuist monorepo written in?

Four in the project table. The command line interface and the iOS and macOS app are Swift, the Android app and the Gradle plugin are Kotlin, the server, registry, design system and internal ops app are Elixir on Phoenix, and the cache mesh and source code search services are Rust. The root also carries a Go workspace file.

How do I install Tuist?

The readme does not give an install command and points instead to the Tuist documentation, which is where install instructions, an overview of the platform, step-by-step workflow guides and pointers to sample projects live. There are separate example directories for Gradle and for Xcode projects in the repository.

Is Tuist free and open source?

The repository has a LICENSE.md file at the root, and GitHub records the licence as NOASSERTION. Several of the listed features, including previews, the registry and build insights, are described in terms of a Tuist server that hosts the cache, analytics and dashboard.

Official sources

  1. Issues
  2. Project website
  3. README
  4. Releases
  5. tuist/tuist on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/tuist-tuist.svg)](https://hysenlabs.com/projects/tuist-tuist)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/tuist-tuist.svg)](https://hysenlabs.com/projects/tuist-tuist)

Was this useful?