L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Design et création · SKILL.md

monorepo-navigator

monorepo-navigator

Navegador de Monorepo. Navega, gerencia e otimiza monorepos com Turborepo, Nx, pnpm workspaces e Lerna. Análise de impacto entre pacotes, builds seletivos, cache remoto e visualização de grafo de dependências.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: "monorepo-navigator" description: "Navegador de Monorepo. Navega, gerencia e otimiza monorepos com Turborepo, Nx, pnpm workspaces e Lerna. Análise de impacto entre pacotes, builds seletivos, cache remoto e visualização de grafo de dependências." agents:

  • claude-code

Monorepo Navigator

Nível: PODEROSO Categoria: Engenharia Domínio: Arquitetura de Monorepo / Sistemas de Build


Visão Geral

Navegue, gerencie e otimize monorepos. Cobre Turborepo, Nx, pnpm workspaces e Lerna. Habilita análise de impacto entre pacotes, builds/testes seletivos apenas nos pacotes afetados, cache remoto, visualização de grafo de dependências e migrações estruturadas de multi-repo para monorepo. Inclui configuração do Claude Code para desenvolvimento com consciência de workspace.


Capacidades Principais

  • Análise de impacto entre pacotes — determine quais apps quebram quando um pacote compartilhado muda
  • Comandos seletivos — execute testes/builds apenas nos pacotes afetados (não em tudo)
  • Grafo de dependências — visualize relacionamentos entre pacotes como diagramas Mermaid
  • Otimização de build — cache remoto, builds incrementais, execução paralela
  • Migração — passo a passo de multi-repo → monorepo sem perda de histórico
  • Publicação — changesets para versionamento, canais de pré-release, fluxos de trabalho npm publish
  • Configuração do Claude Code — CLAUDE.md com consciência de workspace com instruções por pacote

Quando Usar

Use quando:

  • Múltiplos pacotes/apps compartilham código (componentes UI, utilitários, tipos, clientes de API)
  • Os tempos de build são lentos porque tudo reconstrói quando qualquer coisa muda
  • Migrando de múltiplos repositórios para um único repositório
  • Precisar publicar pacotes no npm com versionamento coordenado
  • Equipes trabalham em múltiplos pacotes e precisam de ferramentas unificadas

Pule quando:

  • Projeto de app único sem pacotes compartilhados
  • Limites de equipe/projeto são completamente isolados (polyrepo está bem)
  • O código compartilhado é mínimo e o overhead de copiar e colar é aceitável

Seleção de Ferramenta

FerramentaMelhor ParaFuncionalidade-Chave
TurborepoMonorepos JS/TS, configuração de pipeline simplesCache remoto de melhor categoria, configuração mínima
NxGrandes empresas, ecossistema de pluginsGrafo de projeto, geração de código, comandos afetados
pnpm workspacesProtocolo workspace, eficiência de discoworkspace:* para referências de pacotes locais
LernaPublicação npm, versionamentoPublicação em lote, commits convencionais
ChangesetsVersionamento moderno (preferido ao Lerna)Geração de changelog, canais de pré-release

Configuração moderna mais comum: pnpm workspaces + Turborepo + Changesets


Turborepo

→ Veja references/monorepo-tooling-reference.md para detalhes

Analisador de Workspace

python3 scripts/monorepo_analyzer.py /caminho/para/monorepo
python3 scripts/monorepo_analyzer.py /caminho/para/monorepo --json

Veja também references/monorepo-patterns.md para arquitetura comum e padrões de CI.

Armadilhas Comuns

ArmadilhaCorreção
Executar turbo run build sem --filter em cada PRSempre use --filter=...[origin/main] no CI
Refs workspace:* causam falhas de publicaçãoUse pnpm changeset publish — substitui workspace:* por versões reais automaticamente
Todos os pacotes reconstruindo quando arquivo não relacionado mudaAjuste inputs no turbo.json para excluir docs e configurações das chaves de cache
tsconfig compartilhado faz um pacote quebrar todas as verificações de tipoUse extends corretamente — cada pacote estende a raiz mas sobrepõe rootDir / outDir
Histórico git perdido durante migraçãoUse git filter-repo --to-subdirectory-filter antes de mesclar — nunca mova arquivos manualmente
Cache remoto não funcionando no CIVerifique variáveis de ambiente TURBO_TOKEN e TURBO_TEAM; verifique com turbo run build --summarize
CLAUDE.md genérico demais — Claude modifica o pacote erradoAdicione regras explícitas "Ao trabalhar em X, mexa apenas em arquivos em apps/X" por CLAUDE.md do pacote

Melhores Práticas

  1. CLAUDE.md raiz define o mapa — documente cada pacote, seu propósito e regras de dependência
  2. CLAUDE.md por pacote define as regras — o que é permitido, o que é proibido, comandos de teste
  3. Sempre delimite comandos com --filter — executar tudo em cada mudança anula o propósito
  4. Cache remoto não é opcional — sem ele, o CI do monorepo é mais lento que o CI de multi-repo
  5. Changesets em vez de versionamento manual — nunca edite versions de package.json manualmente em um monorepo
  6. Configurações compartilhadas na raiz, estendidas nos pacotes — tsconfig.base.json, .eslintrc.base.js, jest.base.config.js
  7. Análise de impacto antes de mesclar mudanças em pacotes compartilhados — execute a verificação de afetados, comunique o raio de impacto
  8. Mantenha packages/types como TypeScript puro — sem código de runtime, sem dependências, rápido de construir e verificar tipos
Skills enregistrées