Appearance
Setup e Requisitos
Requisitos
| Ferramenta | Versão mínima | Instalação |
|---|---|---|
| Node.js | >=24.13 | Via fnm (veja abaixo) |
| pnpm | >=10 | corepack enable |
| git | qualquer versão recente | brew install git / distro |
| Docker | qualquer versão recente | Apenas 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.ps1Após o script, feche e abra o terminal para recarregar o perfil do shell.
Para forçar a troca manual:
bash
fnm useInstalaçã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:prepareDesenvolvimento
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 devAmbientes 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:localO 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:downO 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 testesOu o atalho completo:
bash
pnpm preparar-publicacao