> ## 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.

# Retningslinjer for udvikling

> Retningslinjer for bidrag til overleaf-pro, der dækker begrænsninger ved synkronisering af repositoriet, konventioner for branches samt almindelige spørgsmål og svar om upstream og versionering.

### Introduktion

Før du kaster dig ud i udviklingen, håber vi, at du vil sætte dig ind i følgende:

* Overleaf udvikles officielt i et [internt repository](http://github.com/overleaf/internal), og community-udgaven udgives i [overleaf/overleaf](https://github.com/overleaf/overleaf). En copybot står for at synkronisere koden mellem det interne og det offentlige repository.
* [Ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro) er en fork af Overleaf Community. Vi håber, at dette projekt kan blive langvarigt, så følg venligst reglerne, før du bidrager.

### Regler for commits

* Undlad at foretage omfattende ændringer i den eksisterende Overleaf-kode. Saml så meget funktionalitet som muligt i mappen `services/web/modules`. Det minimerer vores arbejde, når koden senere skal merges og opdateres.
* Vibe coding er ganske vist en meget nem metode, men det kan nemt skabe rod i projektet og gøre det uvedligeholdeligt senere, så brug det med forsigtighed.
* Tilføj ikke oversættelsesrelateret indhold under udviklingen; brug så vidt muligt eksisterende oversættelser.
* Undgå at indføre miljøvariabler, medmindre det er absolut nødvendigt. Hvis det er påkrævet, så sørg for, at de er så konsistente som muligt med dem i Overleaf Toolkit eller [docs.overleaf.com](https://docs.overleaf.com/).

### Regler for branches

Vi bruger følgende branches til udvikling af overleaf-pro:

* `main`: Denne branch bruges kun til synkronisering af upstream-kode, så **commit IKKE** eksterne ændringer hertil. I denne branch sætter vi tags som `ce-v[X.x.x]`, der angiver, at den svarer til `v[X.x.x]` i den officielle Overleaf Community Edition. Bemærk: disse tags er uforanderlige!
* `server-pro`: Denne branch er standardbranchen til den daglige udvikling.
* `feature-X`: Denne branch bruges til udvikling af en bestemt funktion.
* `release-vX.0.0`: Branchen dedikeret til en udgivelse; her laver vi eventuelle hotfixes før udgivelsen.

<Frame caption="Regler for branches i 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) står for automatisk CI/CD, hvilket omfatter:

* Natlig opdatering af main-branchen
* Bygning af Docker-image til udvikling
* Udgivelse af Docker-image

### Spørgsmål og svar

<Accordion title="Hvordan finder jeg commit-hashen for Overleaf Community Edition `X.0.0`?">
  Først skal du hente Docker-imaget og køre følgende kommando for at inspicere labels i Docker-imaget:

  ```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"}
  ```

  Derefter kan du kontrollere, om [committet (b0d05c0)](https://github.com/overleaf/overleaf/commit/b0d05c0cf0750714e1f467d20ed6c5f5e9467e8f) findes i upstreams master-branch.
</Accordion>

<Accordion title="Hvorfor er commit-hashen den samme i CE-imaget for `6.0.0` og `6.0.1`?">
  Dette er forventet adfærd. Udgivelse 6.0.1 er en mindre patch-udgivelse bygget oven på 6.0.0-imaget. Ændringerne anvendes ved at patche det eksisterende 6.0.0-image i stedet for at genopbygge imaget fra et nyt commit. Derfor er commit-hashen i imaget identisk mellem 6.0.0 og 6.0.1.

  Se [hotfix](https://github.com/overleaf/overleaf/tree/main/server-ce/hotfix) for detaljerede oplysninger.
</Accordion>


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