Introdução
Antes de mergulhar no desenvolvimento, esperamos que você compreenda os seguintes pontos:- Oficialmente, o Overleaf é desenvolvido em um repositório interno, e a Community Edition é publicada em overleaf/overleaf. Um copybot é responsável por sincronizar o código entre os repositórios interno e público.
- Ayaka-notes/overleaf-pro é uma versão derivada (fork) do Overleaf Community. Esperamos que este projeto seja de longo prazo, por isso, siga as regras antes de contribuir.
Regras de commit
- Não faça modificações extensas no código existente do Overleaf. Concentre o máximo possível de funcionalidades na pasta
services/web/modules. Isso minimizará nosso trabalho ao mesclar e atualizar o código posteriormente. - O vibe coding é de fato muito prático, mas pode facilmente bagunçar nosso projeto, tornando-o impossível de manter mais tarde; por isso, use-o com cautela.
- Não adicione nenhum conteúdo relacionado a traduções durante o desenvolvimento; use as traduções existentes sempre que possível.
- Evite introduzir variáveis de ambiente, a menos que seja absolutamente necessário. Se forem necessárias, garanta que sejam o mais consistentes possível com as do Overleaf Toolkit ou de docs.overleaf.com.
Regras de branches
Usamos os seguintes branches para o desenvolvimento do overleaf-pro:main: Este branch é usado apenas para a sincronização do código upstream; NÃO faça commit de nenhuma alteração externa. Neste branch, definimos algumas tags comoce-v[X.x.x], que indicam a correspondência com av[X.x.x]do Overleaf Community Edition oficial. Observação: essa tag é imutável!server-pro: Este é o branch padrão para o desenvolvimento diário.feature-X: Este branch é usado para desenvolver uma funcionalidade específica.release-vX.0.0: Branch específico para lançamentos; faremos alguns hot-fixes antes do lançamento.

Regras de branches do Overleaf Pro
GitHub Action
O GitHub Action é responsável pelo CI/CD automático, que inclui:- Atualização noturna do branch main
- Build da imagem Docker para desenvolvimento
- Lançamento da imagem Docker
Perguntas e respostas
Como encontrar o hash do commit do Overleaf Community Edition X.0.0?
Como encontrar o hash do commit do Overleaf Community Edition X.0.0?
Primeiro, você precisa baixar a imagem Docker e executar o seguinte comando para inspecionar os labels dessa imagem:Em seguida, você pode verificar se o commit (b0d05c0) está presente no branch master upstream.
bash
Por que o hash do commit é o mesmo na imagem CE entre 6.0.0 e 6.0.1?
Por que o hash do commit é o mesmo na imagem CE entre 6.0.0 e 6.0.1?
Esse é um comportamento esperado. A versão 6.0.1 é uma pequena versão de patch construída sobre a imagem 6.0.0. As alterações são aplicadas por meio de patches na imagem 6.0.0 existente, em vez de reconstruir a imagem a partir de um novo commit. Por isso, o hash do commit dentro da imagem é idêntico entre 6.0.0 e 6.0.1.Para informações detalhadas, consulte hotfix.

