Skip to content

Server

Source: github.com/tuist/tuist/tree/main/server

What it is for

The server powers Tuist’s server-side features like authentication, accounts and projects, cache storage, insights, previews, registry, and integrations (GitHub, Slack, and SSO). It is a Phoenix/Elixir application with Postgres and ClickHouse.

How to contribute

Contributions to the server require signing the CLA (server/CLA.md).

Set up locally

bash
cd server
mise install

# Dependencies
brew services start postgresql@16
mise run clickhouse:start

# Minimal secrets
export TUIST_SECRET_KEY_BASE="$(mix phx.gen.secret)"

# Install dependencies + set up the database
mise run install

# Run the server
mise run dev

NOTE

First-party developers load encrypted secrets from priv/secrets/dev.key. External contributors won't have that key, and that's fine. The server still runs locally with TUIST_SECRET_KEY_BASE, but OAuth, Stripe, and other integrations remain disabled.

Tests and formatting

  • Tests: mix test
  • Format: mise run format

Released under the MIT License.