Mint para Swift

Se você desenvolve com a linguagem de programação Swift, provavelmente já precisou instalar ferramentas como o SwiftLint, XcodeGen, Sourcery ou Tuist.

Normalmente isso é feito via Homebrew ou manualmente, o que pode gerar problemas de versão, conflitos entre projetos e dificuldades no CI/CD.

É exatamente aí que entra o Mint: um package manager focado em instalar e executar ferramentas de linha de comando escritas em Swift.

O que é o Mint?

O Mint é uma ferramenta criada para instalar e executar pacotes Swift executáveis usando o Swift Package Manager (SPM).

Com ele, você consegue:

Exemplo simples:

mint run realm/SwiftLint

Esse comando instala e executa o SwiftLint automaticamente.

Qual problema o Mint resolve?

Antes do Mint, muitas ferramentas Swift eram instaladas globalmente via Homebrew:

brew install swiftlint

O problema dessa abordagem é que:

O Mint resolve isso permitindo executar versões específicas de ferramentas Swift.

Por exemplo:

mint run realm/SwiftLint@0.55.1

Assim, você garante que todos utilizem exatamente a mesma versão.

Como instalar o Mint

Requisitos

Você precisa ter:

O SPM já vem integrado ao Swift moderno.

Instalação via Homebrew

A forma mais simples:

brew install mint

Instalação manual

Também é possível instalar compilando o projeto:

git clone https://github.com/yonaskolb/Mint.git
cd Mint
make

Principais comandos do Mint

Instalar uma ferramenta

mint install realm/SwiftLint

Isso instala e cria um link global da ferramenta.

Executar uma ferramenta

mint run realm/SwiftLint

Se a ferramenta ainda não estiver instalada, o Mint faz isso automaticamente.

Utilizar uma versão específica

Um dos maiores diferenciais do Mint:

mint run realm/SwiftLint@0.55.1

Isso evita incompatibilidades entre projetos.

Listar pacotes instalados

mint list

Remover um pacote

mint uninstall SwiftLint

Trabalhando com Mintfile

O Mint possui suporte ao Mintfile, que funciona de forma parecida com um Podfile ou Package.swift.

Crie um arquivo chamado:

Mintfile

E adicione:

realm/SwiftLint@0.55.1
yonaskolb/XcodeGen@2.38.0

Agora toda a equipe pode instalar as ferramentas com:

mint bootstrap

Isso torna o ambiente muito mais consistente.

#Exemplo real com SwiftLint

Instalar

mint install realm/SwiftLint

Executar

mint run swiftlint

Executar lint em um projeto

mint run swiftlint lint

Onde o Mint salva os pacotes?

Por padrão:

~/.mint

Os executáveis ficam em:

~/.mint/bin

Adicione ao PATH:

export PATH="$HOME/.mint/bin:$PATH"

No ~/.zshrc ou ~/.bash_profile.

Mint vs Homebrew

Recurso Mint Homebrew
Controle de versão
Múltiplas versões
Focado em Swift
Instalação global simples
Ideal para CI/CD ⚠️
Cache de builds

O próprio repositório do Mint destaca que o Homebrew possui limitações para controle de versões específicas de ferramentas Swift.

Mint no CI/CD

O Mint funciona muito bem em pipelines automatizados.

Existe inclusive uma GitHub Action específica para ele: setup-mint

Exemplo:

- uses: irgaly/setup-mint@v1

Ela pode:

Vantagens do Mint

Versionamento consistente

Cada projeto pode utilizar suas próprias versões.

Fácil onboarding

Novos desenvolvedores executam apenas:

mint bootstrap

E tudo fica configurado.

Melhor integração com Swift

Como o Mint usa o Swift Package Manager, ele se integra naturalmente ao ecossistema Swift.

Limitações do Mint

Apesar de muito útil, o Mint possui algumas limitações:

Quando usar Mint?

O Mint é excelente para:

Principalmente em:

Conclusão

O Mint é uma das melhores ferramentas para gerenciamento de executáveis Swift.

Ele resolve problemas clássicos de versionamento, simplifica o setup de ambientes e melhora bastante a experiência de desenvolvimento em times Swift.

Se você trabalha com ferramentas CLI em Swift, vale muito a pena adicionar o Mint ao seu fluxo de desenvolvimento.

Links úteis