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

# Instalação Local

> Configure o ambiente de desenvolvimento do AssessIQ na sua máquina.

## Pré-requisitos

* Node.js 18 ou superior
* pnpm (recomendado) ou npm
* PostgreSQL 14+ local ou acesso a um banco remoto (ex.: Neon, Supabase)
* Git

***

## 1. Clone o Repositório

```bash theme={null}
git clone https://github.com/automateonee/plataforma-testes.git
cd plataforma-testes
```

## 2. Instale as Dependências

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

## 3. Configure as Variáveis de Ambiente

Crie o arquivo `.env.local` na raiz do projeto:

```bash theme={null}
cp .env.example .env.local
```

Preencha as variáveis — veja a lista completa em [Variáveis de Ambiente](/docs/variaveis-de-ambiente).

## 4. Configure o Banco de Dados

Execute as migrations do Prisma:

```bash theme={null}
pnpm prisma migrate dev
```

Para popular com dados iniciais (seed):

```bash theme={null}
pnpm prisma db seed
```

## 5. Inicie o Servidor de Desenvolvimento

```bash theme={null}
pnpm dev
```

Acesse [http://localhost:3000](http://localhost:3000).

<Info>
  O Turbopack está ativado por padrão. O servidor inicia em segundos mesmo em projetos grandes.
</Info>

***

## Criando o Primeiro Admin

Ao fazer o primeiro login, o sistema identifica que não há usuários e automaticamente promove sua conta para `ADMIN`. Caso isso não aconteça:

1. Abra o console do navegador (F12)
2. Execute:

```javascript theme={null}
await fetch("/api/user/role").then(r => r.json())
// Deve retornar { isAdmin: true, role: "ADMIN" }
```

3. Se ainda não for admin, acesse o banco e atualize manualmente:

```bash theme={null}
pnpm prisma studio
# Edite o campo role do seu usuário para ADMIN
```

***

## Scripts Úteis

| Comando                   | Descrição                                |
| ------------------------- | ---------------------------------------- |
| `pnpm dev`                | Inicia em desenvolvimento (Turbopack)    |
| `pnpm build`              | Build de produção                        |
| `pnpm start`              | Inicia o servidor de produção            |
| `pnpm lint`               | Roda ESLint                              |
| `pnpm prisma studio`      | Abre a UI do Prisma para gerenciar banco |
| `pnpm prisma migrate dev` | Aplica migrations em desenvolvimento     |
| `pnpm openapi:lint`       | Valida o spec OpenAPI                    |
