• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Back-end
    3. Como usar monorepo para desenvolver grandes projetos

    Como usar monorepo para desenvolver grandes projetos

    7 min7 minutos de leitura

    7 min7 minutos de leitura

    Publicado: 17/07/2022

    Última atualização: 24/02/2026

    1. O que são monorepos?
    2. Desafios no uso de Monorepos
    3. Quando usar Monorepo?
    4. Conclusão

    Não sei se isso já aconteceu com você, mas sabe quando você começa a conhecer um assunto e sua energia para aprender a respeito disso vai lá em cima?

    Então, desde que comecei a estudar sobre Monorepos. fiquei bastante empolgada (muito mesmo) com as possibilidades dessa prática de desenvolvimento.

    A imagem em loop mostra uma animação de garotinha com roupas tradicionais mexicanas. É a personagem Agnes, do filme “meu Malvado favorito”. Um chapéu grande que se chama sombrero. Ela grita animada “Arriba!”.

    Fonte: tenor.com

    No entanto, a primeira coisa que nos deparamos é com a enxurrada de material sobre o assunto e isso pode nos deixar meio confusos sobre a principal ideia por trás do uso de Monorepos - ou mesmo sobre o que são monorepos!

    Apesar do que se pode imaginar, a prática de desenvolvimento com Monorepos não é algo novo. Recentemente a estratégia voltou como tendência e ganhou notoriedade com cases de sucesso como da Google e Uber.

    A imagem em loop mostra um homem caucasiano com óculos, moletom e uma blusa de cor escura. Atrás dele há um prédio e ele move os braços como se estivesse nadando e vai se aproximando da câmera. Há uma pequena afirmação no canto inferior da imagem com os dizeres: “EU VOLTEI!”.

    Fonte: tenor.com

    O que são monorepos?

    Monorepo, como o nome sugere, vem de mono (monolithic) repositório (repository), ou seja, é um único repositório para vários projetos ou dependências (é diferente de uma aplicação monolítica).

    Em outras palavras, é uma prática de desenvolvimento de software que mantém um projeto maior com todo o código e vários pequenos projetos em seu interior.

    Não entendeu? Posso te explicar melhor...

    Vamos olhar um pouco mais de perto com uma representação de um Monorepo. Logo abaixo podemos observar um exemplo de várias aplicações em uma única organização, um único repositório, essa estrutura configura o que entendemos como um Monorepo:

    A imagem apresenta um organograma. Há um retângulo com o nome “Org1”. Abaixo do retângulo “Org1” há vários retângulos ligados a ele por linhas retas. Eles têm os nomes: “App 1”,  “Lib 1“, “App 2”, “Lib 3”, “Lib 2”.

    Fonte: monorepo.tools

    As aplicações e bibliotecas estão vinculadas a um único repositório. Essa prática centraliza os processos e garante a visibilidade de todos os projetos por todas as equipes envolvidas. Nesse sentido, é preciso ficar atento às mudanças, pois uma alteração em um projeto pode comprometer o comportamento de outros. Algo que é bem diferente no sistema de Poly-repo ou Multi-repo.

    Mas você deve estar se perguntando: Poly-repo? Multirepo? como assim? Como isso funciona? Para facilitar a visualização, vamos observar o que seria um Poly-repo ou Multi-repo:

    A imagem apresenta um organograma. Há um círculo no meio com a frase “library repo”. Círculos menores orbitam ao seu redor e uma seta indica que diferentes aplicações com os nomes “app 1 repo”, “app 2 repo”, “app 3 repo”, “app 4 repo” estão conectadas a “library repo”.

    Fonte: monorepo.tools

    A figura acima representa o conhecido Multi-repo (multiple repository) ou Poly-repo. Em sua estrutura, observamos que há vários repositórios contendo diferentes aplicações e eles se relacionam com uma Library Repo, uma espécie de base de dados para dependências. Dessa forma temos maior independência entre os projetos e consequentemente, uma descentralização entre times.

    Outra forma de entendermos é com o uso de casos. Vamos lá?

    Imagine que seu cliente solicita um e-commerce com mobile, front-end e um sistema desktop. O seu tech lead, ou seja, o líder técnico de sua equipe, sugere que cada time trabalhe com um projeto e um repositório distinto para sua aplicação.

    A escolha de Multi-repos para esse projeto gera, então, no mínimo 3 pull-requests e reviews diferentes, 3 deploys, maior quantidade de dependências ou até sua duplicação e às vezes o lançamento de uma feature em um projeto antes do outro.

    Algo interessante é que a arquitetura Multi-repo proporciona maior autonomia aos times, pois podem realizar modificações em seus repositórios sem necessariamente comprometer os outros projetos. Porém, é comum o multi-gerenciamento gerar algumas dores de cabeça.

    Por outro lado, a arquitetura de Monorepo permite maior transparência e centraliza os processos. O que isso quer dizer? Com a prática de versionamento unificado, o gerenciamento de dependências também se torna mais simples.

    Além disso, esse compartilhamento de código favorece a prática das chamadas alterações atômicas (atomic commit), que são operações visando a implementação de apenas uma feature ou correção de um único erro. Em teoria, isso facilita a refatoração em larga escala e mantém a consistência do código.

    Um exemplo clássico para fazer essa diferenciação é a estruturação de uma aplicação monolítica em Poly-repo ou Multi-repo em Monorepo, olha só:

    Da esquerda para a direita, temos uma coluna com a palavra “Monolith” no topo e um retângulo com a palavra “Project” e o nome “Git” abaixo. Há uma seta apontando para outra coluna à direita, com a palavra “Multi-repo” no topo. Abaixo dela vemos quatro retângulos, nos quais está escrito “Project 1”, “Project 2”, “Project 3” e “Project 4”, com uma palavra “Git” correspondendo a cada um. Outra seta aponta para outra coluna à direita, onde está escrito “Mono-repo” no topo e há quatro retângulos, nos quais está escrito “Project 1”, “Project 2”, “Project 3” e “Project 4”. Nesse caso, há apenas uma palavra “Git” abaixo de todos os projects.

    Fonte: medium.com

    Primeiro temos uma aplicação monolítica que divide seus quatro projetos em quatro repositórios, os Multi-repo. Já o monorepo utiliza apenas um repositório para englobar os quatro projetos.

    Que tal experimentarmos um Monorepo na prática? Confira o tutorial no Github e como é a carinha de um Monorepo com uma estrutura simplificada, olha só: Tutorial Monorepo JavaScript.

    Bacana, não é?

    A curta animação em repetição imagem apresenta um desenho de uma garota de pele clara, cabelos ondulados e na cor castanho claro, e olhos claros. O foco está no rosto da personagem e o dedo indicador levantado. Ela sorri para a tela e pisca com o olho esquerdo.

    Fonte: wifflegif.com

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Desafios no uso de Monorepos

    Ah, mas se os Monorepos são uma solução tão boa, por que então não é usado por todo mundo?

    Diante de todos os benefícios que essa arquitetura proporciona, alguns desafios também surgem. Afinal, quando o assunto é a escolha de uma técnica ou ferramentas, sempre vamos cair no limbo do “depende”.

    Nesse sentido, vamos conhecer também alguns desafios na implementação de Monorepos:

    1. Velocidade: os desenvolvedores precisam criar estratégias de automatização que entendam a base de código. Além disso, em um primeiro momento, pode demorar um pouco para a pessoa desenvolvedora entender como sua contribuição pode impactar todos os projetos;
    2. Orquestração de processos: como todos os projetos estão em apenas um repositório, qualquer pequena alteração pode comprometer diferentes aplicações. Dessa forma, realizar automação, gerenciamento e coordenação de processos é uma tarefa complexa;
    3. Complexidade: Monorepos não são tão simples assim, há muito para gerenciar e também um commit pode quebrar mais de um projeto. Mapear o que é funcional em um package, ou em vários packages e aplicações, é uma tarefa complexa e nem sempre está bem documentada. Dessa maneira a automatização de scripts deve ser precisa e muito bem feita para funcionar corretamente;
    4. Segurança: a estrutura permite o acesso de todas as pessoas desenvolvedoras em todos os projetos. Embora esse ponto não devesse ser um problema, visto que toda a equipe deveria zelar pela segurança das informações, já há ferramentas específicas para a manutenção da segurança de informações sensíveis em Monorepos.

    Para facilitar e reduzir alguns desses desafios, há diversas ferramentas, como: Yarn Workspaces, Lerna, Expo Monorepos, NPM Workspaces.

    Ok, agora a confusão aumentou… então, quando parece uma boa ideia utilizar Monorepos com minha equipe?

    Quando usar Monorepo?

    Uma das principais características dos Monorepos é a visibilidade e colaboração!

    Dessa maneira, quando houver necessidade de maior compartilhamento e reutilização de código, podemos considerar isso um indicativo de que possivelmente sua empresa precisa repensar a prática de versionamento.

    Pensando nisso, trouxe aqui uma lista com algumas circunstâncias a serem consideradas na hora de escolher um único repositório para gerenciar seus projetos:

    • Deseja maior colaboração entre os times;
    • Necessidade de ter uma única fonte de verdade;
    • Deseja compartilhar e reutilizar o código facilmente;
    • Maior visibilidade no momento de gerenciar dependências (quando você realizar uma mudança, todo o resto do código será impactado?);
    • Deseja realizar uma operação para várias mudanças em múltiplos projetos: atomic changes (alterações atômicas);
    • Deseja realizar mudanças e refatoração em larga escala.

    Nunca é demais lembrar que não existe fórmula mágica! É necessário avaliar cada caso e verificar se os custos de implementação de Monorepos são viáveis e fazem sentido no contexto dos seus projetos.

    Por fim, vou deixar nossa colinha com algumas das principais vantagens no uso de Monorepos:

    Diagrama com a palavra “Monorepo” ao centro. Algumas expressões estão ligadas a “Monorepos” por setas. São elas:  Múltiplas linguagens e frameworks, compartilhamento extensível de código, alterações atômicas, refatoração em larga escala, colaboração entre times, visibilidade, consistência.

    Fonte: elaboração própria

    Conclusão

    É interessante observar a “volta” de estratégias que pareciam obsoletas e que eram utilizadas em outro contexto, não é?

    O caso desse “retorno” do uso de Monorepos por grandes empresas agora é bastante representativo nesse sentido, pois a prática era comumente pensada para projetos pequenos e que possuíam uma equipe pequena também.

    No entanto, sua aplicação em projetos gigantes que atuam com múltiplos times e milhares de dados se tornou uma solução viável ao problema de gerenciamento.

    Sabemos que no início sempre há aquele trabalho de implementação. É um processo parecido com uma obra em prédios ou em nossa casa, fica aquela poeira e várias paredes quebradas, mas no fim tudo fica em ordem e bem melhor do que era anteriormente.

    A situação de fato é compreender a necessidade da estratégia e se realmente irá trazer ganhos ao processo de desenvolvimento do projeto.

    Vamos explorar o poder do Monorepo?

    A pequena animação em repetição mostra três garotas, uma embaixo da outra. Todas têm a pele clara. A primeira possui olhos e cabelos curtos azuis e veste uma roupa de marinheiro, o fundo é verde escuro e um tom mais claro. A segunda tem olhos azuis e longos cabelos loiros, o fundo varia entre azul e rosa. A terceira tem olhos escuros e cabelos longos negros e traja uma blusa de cor clara com um macacao cor de rosa. O fundo varia em tons de preto e vermelho. Elas estão desalinhadas, a primeira está para a esquerda, a segunda para a direita e a terceira para a esquerda. Elas então gesticulam com os braços e nesse momento ficam alinhadas no centro. Ao final do vídeo há um destaque nos olhos das personagens.

    Fonte: images6.fanpop.com

    E você, utiliza Monorepo ou Multi-repo? Quais os desafios e vantagens que encontrou?
    Compartilha sua opinião em suas redes sociais e marque a gente!

    E então, vamos aprender mais?

    • Monorepo tools
    • Monorepo with Lerna
    • Monorepo | Códifo Fonte
    • Creating a Design System with Monorepo
    • Mono + Repo = Monorepo
    • Monorepo Vs Polyrepo
    • Monorepo vs Multi-Repo: Vantagens e Desvantagens das Estratégias de Repositório de Código
    • How to Setup a JavaScript Monorepo Like a Professional
    • Monorepos in JavaScript e TypeScript
    • Monorepo + Yarn Workspaces
    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    • Foto de Camila Pessôa

      Autor(a)

      Camila Pessôa

      Oi oi, sou a Camila ! Ingressei na área de tecnologia por meio da robótica educacional e comecei os estudos em programação com desenvolvimento web e foco Back-end com Node.js. Adoro ler, assistir séries/filmes, animes, jogar e passear ao ar livre com minha filhota. Tenho tenho grande paixão por educação e tecnologia, pois acredito que essa combinação é transformadora! :)

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • Alura
      07/10/2013

      Criando cenários de teste com Fixture Factory

      Ler mais
    • Alura
      07/01/2020

      Python: Procurando frases com listas invertidas

      Ler mais
    • 12/01/2015

      Protótipo de aplicação iOS usando Swift

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura