Pular para o conteúdo principal

Referência de Comandos

Este documento serve como a Única Fonte de Verdade para cada comando CLI, script PNPM, comando Docker e instrução de orquestração usada no monorepo tupynambalucas.dev.

Orquestração do Monorepo

Scripts usados para gerenciar dependências, limpeza e tarefas em todo o workspace.

  • pnpm install: Instala todas as dependências no monorepo.
  • pnpm install --frozen-lockfile: Instala dependências estritamente a partir do pnpm-lock.yaml (usado no CI/CD).
  • pnpm project:clear: Limpa todos os node_modules e caches de build usando o npkill.

Gerenciamento de Dependências (Catálogos)

Todas as novas dependências devem ser adicionadas a um catálogo (seja o catálogo padrão ou um específico) para garantir a consistência de versão em todo o monorepo.

Adicionando ao Workspace Raiz: Adicionar uma dependência ao package.json da raiz requer a flag -w (ou --ignore-workspace-root-check).

  • pnpm add <package> -w --save-catalog: Adiciona um pacote à raiz e salva sua versão no catálogo padrão.
  • pnpm add <package> -w --save-catalog-name <catalog_name>: Adiciona um pacote à raiz e salva sua versão em um catálogo específico.

Adicionando a um Workspace Específico: Use a flag --filter para direcionar a um pacote específico do workspace.

  • pnpm add <package> --filter <workspace> --save-catalog: Adiciona um pacote a um workspace e salva sua versão no catálogo padrão.
  • pnpm add <package> --filter <workspace> --save-catalog-name <catalog_name>: Adiciona um pacote a um workspace e salva sua versão em um catálogo específico.

Usando um Pacote Catalogado Existente:

  • pnpm add <package>@catalog: --filter <workspace>: Instala um pacote que já está definido no catálogo padrão em um workspace específico.

Validação e Qualidade

Scripts para garantir a qualidade do código e segurança de tipos.

  • pnpm typecheck: Executa a validação do TypeScript em paralelo em todos os workspaces via Turborepo.
  • pnpm typecheck --filter=@tupynambalucas-hub/*: Executa o typecheck apenas para o contexto delimitado Instance.
  • pnpm lint: Executa a validação do ESLint em todos os workspaces.
  • pnpm build: Compila um build de produção para todas as aplicações e pacotes.
  • pnpm --filter @tupynambalucas-hub/core build: Compila um pacote específico.

Instância (Comunidade)

Comandos específicos para o contexto delimitado @tupynambalucas-hub/*.

  • pnpm instance:up: Inicia a infraestrutura local (Replica Set do MongoDB + Redis) via compose.dev.yaml.
  • pnpm instance:dev: Inicia a stack completa de desenvolvimento (Infraestrutura + API na porta 3000 + Web na porta 5173). Internamente chama instance:up primeiro.
  • pnpm instance:down: Interrompe a infraestrutura local e encerra forçadamente as portas 3000 e 5173.
  • pnpm instance:reset: Destrói os volumes da infraestrutura local (limpando o banco de dados) e reinicia a stack.
  • pnpm instance:staging: Compila e orquestra o ambiente de homologação (staging) usando compose.prod.yaml and .env.staging.
  • pnpm instance:staging:down: Interrompe a topologia de homologação (staging).
  • pnpm instance:prod: Compila e orquestra o ambiente de produção usando compose.prod.yaml e .env.prod.
  • pnpm instance:prod:down: Interrompe a topologia de produção.

Portal (Plataforma)

Comandos específicos para o contexto delimitado @tupynambalucas-hub/*.

  • pnpm portal:up: Inicia a infraestrutura local para o portal.
  • pnpm portal:dev: Inicia a stack completa de desenvolvimento do portal (API na porta 3001 + Web na porta 5174).
  • pnpm portal:down: Interrompe a infraestrutura local e encerra forçadamente as portas 3001 e 5174.
  • pnpm portal:reset: Destrói os volumes da infraestrutura local do portal.
  • pnpm portal:staging: Compila e orquestra o ambiente de homologação (staging) do portal.
  • pnpm portal:staging:down: Interrompe a topologia de homologação (staging) do portal.
  • pnpm portal:prod: Compila e orquestra o ambiente de produção do portal.
  • pnpm portal:prod:down: Interrompe a topologia de produção do portal.

Documentação

Comandos para a Base de Conhecimento do Docusaurus (docs/).

  • pnpm docs:dev: Inicia o servidor local de desenvolvimento do Docusaurus com HMR.
  • pnpm docs:build: Compila a documentação em HTML/CSS estáticos para produção.

Studio & Ferramentas

Comandos para design e agentes de IA.

  • pnpm penpot:up / pnpm penpot:down: Inicia ou interrompe o Penpot Studio auto-hospedado.
  • pnpm penpot:aide:up / pnpm penpot:aide:down: Inicia ou interrompe o Penpot Aide AI Bridge.

Git e Controle de Versão

Fluxos de trabalho para ramificação (branching), commit e lançamentos (releases).

  • git flow feature start <name>: Inicia uma nova branch de funcionalidade (feature) a partir de develop.
  • git push -u origin feature/<name>: Envia uma branch de funcionalidade para o repositório remoto.
  • gh pr create --base develop --fill --web: Cria um Pull Request direcionado para a branch develop.
  • gh pr merge --squash --delete-branch: Mescla um PR usando a estratégia de squash-and-merge.
  • git flow hotfix start <name> / git flow hotfix finish <name>: Gerencia correções de emergência em relação à branch main.
  • pnpm version:changeset: Gera um arquivo de changeset para rastrear incrementos de versão e logs de alterações (changelogs).

Docker e Infraestrutura

Comandos diretos da CLI do Docker para depuração e manutenção.

  • docker ps --filter "name=elo-instance": Lista os containers em execução para o contexto da instância.
  • docker compose -f instance/compose.prod.yaml --env-file instance/.env.prod logs -f: Acompanha os logs da stack de produção em tempo real.
  • docker logs elo-instance-api-prod: Inspeciona os logs de um container específico.
  • turbo prune: Executa o prune no workspace do monorepo para builds Docker mínimos.
  • pnpm deploy: Usado dentro de Dockerfiles para extrair apenas as dependências compiladas para um pacote específico.