> ## Documentation Index
> Fetch the complete documentation index at: https://docs.airys.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuração de Desenvolvimento no macOS

> Guia completo para configurar seu ambiente de desenvolvimento macOS para contribuição no AirysChat.

# Configuração de Desenvolvimento no macOS

Este guia ajudará você a configurar seu ambiente de desenvolvimento no macOS para contribuir com o AirysChat. Abra o aplicativo Terminal e execute os seguintes comandos.

## Instalando as Ferramentas de Linha de Comando Independentes

Abra o aplicativo Terminal e execute:

```bash theme={null}
xcode-select --install
```

Isso instala ferramentas essenciais de desenvolvimento, incluindo Git, GCC e outros utilitários de linha de comando.

## Instalar o Homebrew

O Homebrew é o gerenciador de pacotes que faltava no macOS:

```bash theme={null}
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
```

Após a instalação, adicione o Homebrew ao seu PATH (se não for adicionado automaticamente):

```bash theme={null}
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
```

## Instalar o Git

```bash theme={null}
brew update
brew install git
```

Configure o Git com suas informações:

```bash theme={null}
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
```

## Instalar o Gerenciador de Versões do Ruby

Escolha entre RVM ou rbenv para gerenciar as versões do Ruby.

### Opção 1: Instalar o RVM (Recomendado)

```bash theme={null}
curl -L https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
```

### Opção 2: Instalar o rbenv (Alternativa)

```bash theme={null}
brew install rbenv ruby-build
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc
```

## Instalar o Ruby

As APIs do AirysChat são construídas em Ruby on Rails. Você precisa instalar o Ruby 3.2.2.

### Se usar RVM:

```bash theme={null}
rvm install ruby-3.2.2
rvm use 3.2.2 --default
source ~/.rvm/scripts/rvm
```

### Se usar rbenv:

```bash theme={null}
rbenv install 3.2.2
rbenv global 3.2.2
```

<Info>
  O rbenv identifica a versão do ruby a partir do arquivo `.ruby-version` na raiz do projeto e a carrega automaticamente.
</Info>

Verifique a instalação do Ruby:

```bash theme={null}
ruby --version
# Should output: ruby 3.2.2
```

## Instalar o Node.js

O AirysChat requer a versão 20 do Node.js:

```bash theme={null}
brew install node@20
```

Se precisar vincular (link) o Node.js 20:

```bash theme={null}
brew link node@20
echo 'export PATH="/opt/homebrew/opt/node@20/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
```

Verifique a instalação do Node.js:

```bash theme={null}
node --version
# Should output: v20.x.x
```

## Instalar o pnpm

Usamos o `pnpm` como nosso gerenciador de pacotes para melhor desempenho:

```bash theme={null}
brew install pnpm
```

Verifique a instalação do pnpm:

```bash theme={null}
pnpm --version
```

## Instalar o PostgreSQL

O banco de dados usado no AirysChat é o PostgreSQL.

### Opção 1: PostgresApp (Recomendado)

1. Baixe e instale o PostgresApp em [https://postgresapp.com](https://postgresapp.com)
2. Esta é a maneira mais fácil de começar com o PostgreSQL no macOS
3. Siga as instruções de configuração no site deles

### Opção 2: Instalação via Homebrew

```bash theme={null}
brew install postgresql@14
```

Inicie o serviço do PostgreSQL:

```bash theme={null}
brew services start postgresql@14
```

Crie um usuário PostgreSQL:

```bash theme={null}
createuser -s postgres
```

Conecte-se ao PostgreSQL para verificar a instalação:

```bash theme={null}
psql postgres
# Type \q to exit
```

## Instalar o Servidor Redis

O AirysChat usa o servidor Redis para atribuições de agentes e relatórios:

```bash theme={null}
brew install redis
```

Inicie o serviço do Redis:

```bash theme={null}
brew services start redis
```

Verifique a instalação do Redis:

```bash theme={null}
redis-cli ping
# Should output: PONG
```

## Instalar o ImageMagick

O AirysChat usa a biblioteca ImageMagick para redimensionar imagens para pré-visualizações e miniaturas:

```bash theme={null}
brew install imagemagick
```

Verifique a instalação do ImageMagick:

```bash theme={null}
convert --version
```

## Instalar Dependências Adicionais

Instale outras ferramentas de desenvolvimento úteis:

```bash theme={null}
# Install Yarn (alternative to pnpm if needed)
brew install yarn

# Install SQLite (for testing)
brew install sqlite

# Install libvips (for image processing)
brew install libvips
```

## Instalar o Docker (Opcional)

Para desenvolvimento e testes com contêineres:

```bash theme={null}
# Install Docker Desktop
brew install --cask docker
```

Ou baixe o Docker Desktop em [https://www.docker.com/products/docker-desktop/](https://www.docker.com/products/docker-desktop/).

## Verificação do Ambiente

Verifique se todas as instalações estão funcionando:

```bash theme={null}
# Check versions
ruby --version        # Should be 3.2.2
node --version         # Should be v20.x.x
pnpm --version        # Should show pnpm version
psql --version        # Should show PostgreSQL version
redis-cli --version   # Should show Redis version
convert --version     # Should show ImageMagick version
git --version         # Should show Git version
```

## Configurar o Ambiente do Shell

Adicione aliases úteis ao seu arquivo de configuração do shell (`~/.zshrc` para Zsh):

```bash theme={null}
# Add to ~/.zshrc
echo '# AirysChat Development Aliases' >> ~/.zshrc
echo 'alias cw-server="bundle exec rails server"' >> ~/.zshrc
echo 'alias cw-console="bundle exec rails console"' >> ~/.zshrc
echo 'alias cw-test="bundle exec rspec"' >> ~/.zshrc
echo 'alias cw-migrate="bundle exec rails db:migrate"' >> ~/.zshrc

# Reload shell configuration
source ~/.zshrc
```

## Solução de Problemas Comuns

<Accordion title="Falha na instalação das ferramentas de linha de comando">
  **Solução**: Atualize o macOS para a versão mais recente e tente novamente. Você também pode baixar o Xcode na App Store.
</Accordion>

<Accordion title="Erros de permissão na instalação do Homebrew">
  **Solução**:

  ```bash theme={null}
  sudo chown -R $(whoami) /opt/homebrew
  ```
</Accordion>

<Accordion title="A instalação do Ruby falha com o RVM">
  **Solução**:

  ```bash theme={null}
  # Install missing dependencies
  brew install openssl readline libyaml
  rvm reinstall 3.2.2 --with-openssl-dir=$(brew --prefix openssl)
  ```
</Accordion>

<Accordion title="Conexão recusada ao PostgreSQL">
  **Solução**:

  ```bash theme={null}
  # Restart PostgreSQL
  brew services restart postgresql@14

  # Check if it's running
  brew services list | grep postgresql
  ```
</Accordion>

<Accordion title="Problemas na instalação do ImageMagick">
  **Solução**:

  ```bash theme={null}
  # If you encounter issues, try:
  brew uninstall imagemagick
  brew install imagemagick
  ```
</Accordion>

## Obtendo Ajuda

Se você encontrar problemas:

* **Erros Comuns**: Verifique [Erros Comuns](/contributing-guide/common-errors)
* **Comunidade no Discord**: Junte-se ao nosso [Discord](https://discord.com/invite/cJXdrwS)
* **Issues do GitHub**: [Crie uma issue](https://github.com/airyschat/airyschat/issues)

***

Seu ambiente de desenvolvimento macOS agora está pronto para o desenvolvimento do AirysChat! 🚀
