Skip to content

Setup e Requisitos ​

Requisitos ​

FerramentaVersão mínimaInstalação
Node.js>=24.13Via fnm (veja abaixo)
pnpm>=10corepack enable
gitqualquer versão recentebrew install git / distro
Dockerqualquer versão recenteApenas para APIs com banco de dados

Gerência de versão Node.js com fnm ​

O projeto usa fnm para troca automática de versão ao entrar no diretório (.nvmrc presente). Um script de setup já cuida da instalação:

bash
# macOS / Linux
bash scripts/setup-fnm.sh

# Windows (PowerShell)
powershell -ExecutionPolicy Bypass -File scripts\setup-fnm.ps1

Após o script, feche e abra o terminal para recarregar o perfil do shell.

Para forçar a troca manual:

bash
fnm use

Instalação ​

bash
# 1 — Clonar
git clone https://github.com/CECALC/fabrica-de-calculos.git
cd fabrica-de-calculos

# 2 — Ativar pnpm
corepack enable

# 3 — Instalar dependências
pnpm install

# 4 — Gerar tipos Nuxt (necessário antes do primeiro dev)
pnpm dev:prepare

Desenvolvimento ​

bash
# Todas as apps em paralelo (sem proxy; cada app na sua porta)
pnpm dev

# Ambiente integrado em Docker, com proxy Caddy reproduzindo o roteamento path-based de produção
pnpm dev:docker

# Apenas uma app
pnpm --filter @fc/prev-tc dev

Ambientes integrados ​

Use pnpm dev:docker para subir o conjunto integrado em contêineres ou pnpm dev:local para executar as aplicações Node/Nuxt diretamente no host. Os dois comandos oferecem um assistente interativo, imprimem os endereços disponíveis ao final e encerram os processos filhos ao receber Ctrl+C.

bash
pnpm dev:docker
pnpm dev:local

O assistente permite escolher as aplicações, usar um provedor de identidade local e exercitar a exigência de chave de API. Credenciais de teste, topologia, perfis, portas e demais opções operacionais ficam na documentação interna do repositório.

Para o ambiente em contêineres, os comandos auxiliares consultam o estado, acompanham logs e encerram a execução preservando os volumes:

bash
pnpm dev:docker:ps
pnpm dev:docker:logs
pnpm dev:docker:down

O ambiente completo exige memória suficiente para várias aplicações Nuxt simultâneas. Quando houver limitação de recursos, prefira pnpm dev:local selecionando apenas as aplicações necessárias pelo menu interativo.

Validação antes de PR ​

bash
pnpm dev:prepare  # apenas se houve mudanças em apps Nuxt
pnpm lint         # sempre
pnpm lint:styles  # apenas se houve mudanças em .css/.scss
pnpm exec turbo run typecheck --concurrency=2  # sempre
pnpm test:run     # se a mudança afeta código com testes

Ou o atalho completo:

bash
pnpm preparar-publicacao