> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Ontwikkelrichtlijnen

> Richtlijnen voor bijdragen aan overleaf-pro, met daarin de beperkingen rond reposynchronisatie, conventies voor branches en veelgestelde vragen over upstream en versiebeheer.

### Introductie

Voordat je met de ontwikkeling begint, willen we graag dat je de volgende zaken begrijpt:

* Overleaf wordt officieel ontwikkeld in een [interne repository](http://github.com/overleaf/internal), en de community edition wordt gepubliceerd in [overleaf/overleaf](https://github.com/overleaf/overleaf). Een copybot zorgt voor de synchronisatie van code tussen de interne en de publieke repository.
* [Ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro) is een fork van de Overleaf community edition. We hopen dat dit project lang meegaat, dus volg alsjeblieft de regels voordat je een bijdrage levert.

### Regels voor commits

* Breng geen ingrijpende wijzigingen aan in de bestaande Overleaf-code. Concentreer zoveel mogelijk functionaliteit in de map `services/web/modules`. Zo beperken we het werk bij het later mergen en bijwerken van de code.
* Vibe coding is inderdaad een erg makkelijke manier van werken, maar het kan het project snel tot een rommeltje maken, waardoor het later onhoudbaar wordt. Gebruik het dus met de nodige voorzichtigheid.
* Voeg tijdens de ontwikkeling geen vertalingsgerelateerde inhoud toe; gebruik waar mogelijk bestaande vertalingen.
* Voeg geen nieuwe omgevingsvariabelen toe, tenzij het absoluut noodzakelijk is. Als het toch nodig is, zorg dan dat ze zo veel mogelijk aansluiten bij die in de Overleaf Toolkit of op [docs.overleaf.com](https://docs.overleaf.com/).

### Regels voor branches

We gebruiken de volgende branches voor de ontwikkeling van overleaf-pro:

* `main`: Deze branch wordt uitsluitend gebruikt voor het synchroniseren van upstream-code, commit hier **GEEN** externe wijzigingen. In deze branch zetten we tags zoals `ce-v[X.x.x]`, die aangeven dat dit overeenkomt met `v[X.x.x]` van de officiële Overleaf Community Edition. Let op: deze tag is onveranderlijk!
* `server-pro`: Dit is de standaardbranch voor de dagelijkse ontwikkeling.
* `feature-X`: Deze branch wordt gebruikt voor de ontwikkeling van een specifieke feature.
* `release-vX.0.0`: Een branch speciaal voor een release; hierin voeren we vóór de release nog enkele hotfixes uit.

<Frame caption="Regels voor branches in Overleaf Pro">
  <img src="https://mintcdn.com/ayakaleaf-pro/x9kfDjtWlyyhG_mR/images/dev/release-model.png?fit=max&auto=format&n=x9kfDjtWlyyhG_mR&q=85&s=8a10a259ff5a6437cb05f03560a5dc2c" alt="" width="5652" height="2544" data-path="images/dev/release-model.png" />
</Frame>

### GitHub Action

[GitHub Action](https://github.com/ayaka-notes/overleaf-pro/actions) is verantwoordelijk voor de automatische CI/CD, waaronder:

* Nachtelijke update van de main-branch
* Docker-image bouwen voor ontwikkeling
* Docker-image releasen

### Vragen en antwoorden

<Accordion title="Hoe vind ik de commit-hash van Overleaf Community Edition `X.0.0`?">
  Allereerst moet je de Docker-image pullen en het volgende commando uitvoeren om de labels in deze Docker-image te bekijken:

  ```shellscript title="bash" wrap theme={null}
  docker inspect --format='{{json .Config.Labels}}' sharelatex/sharelatex:6.0.0
  {"com.overleaf.ce.revision":"b0d05c0cf0750714e1f467d20ed6c5f5e9467e8f","org.opencontainers.image.ref.name":"ubuntu","org.opencontainers.image.version":"24.04"}
  ```

  Daarna kun je controleren of de [commit (b0d05c0)](https://github.com/overleaf/overleaf/commit/b0d05c0cf0750714e1f467d20ed6c5f5e9467e8f) aanwezig is in de upstream master-branch.
</Accordion>

<Accordion title="Waarom is de commit-hash in de CE-image hetzelfde voor `6.0.0` en `6.0.1`?">
  Dit is verwacht gedrag. De 6.0.1-release is een kleine patchrelease die is gebouwd bovenop de 6.0.0-image. De wijzigingen worden toegepast door de bestaande 6.0.0-image te patchen, in plaats van de image opnieuw te bouwen vanaf een nieuwe commit. Daarom is de commit-hash in de image identiek voor 6.0.0 en 6.0.1.

  Zie [hotfix](https://github.com/overleaf/overleaf/tree/main/server-ce/hotfix) voor meer informatie.
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.