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

# Pokyny pro vývoj

> Pokyny pro přispívání do overleaf-pro, včetně omezení synchronizace repozitáře, konvencí pro větve a častých otázek k upstreamu a verzování.

### Úvod

Než se pustíte do vývoje, doufáme, že porozumíte následujícím věcem:

* Overleaf je oficiálně vyvíjen v [interním repozitáři](http://github.com/overleaf/internal) a komunitní edice je publikována v [overleaf/overleaf](https://github.com/overleaf/overleaf). Za synchronizaci kódu mezi interním a veřejným repozitářem odpovídá copybot.
* [Ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro) je fork komunitní verze Overleaf. Přejeme si, aby byl tento projekt dlouhodobý, proto prosím před přispěním dodržujte pravidla.

### Pravidla pro commity

* Neprovádějte prosím rozsáhlé úpravy stávajícího kódu Overleaf. Soustřeďte co nejvíce funkcionality do složky `services/web/modules`. Minimalizuje to naši práci při pozdějším slučování a aktualizaci kódu.
* Vibe coding je sice velmi snadný přístup, ale může v projektu snadno nadělat nepořádek a později ho učinit neudržovatelným, proto jej používejte s rozvahou.
* Během vývoje prosím nepřidávejte žádný obsah související s překlady; kdykoli je to možné, používejte existující překlady.
* Nezavádějte proměnné prostředí, pokud to není nezbytně nutné. Pokud jsou nutné, zajistěte, aby byly co nejvíce konzistentní s proměnnými v Overleaf toolkitu nebo na [docs.overleaf.com](https://docs.overleaf.com/).

### Pravidla pro větve

Pro vývoj overleaf-pro používáme následující větve:

* `main`: Tato větev slouží pouze k synchronizaci kódu z upstreamu, prosím do ní **NECOMMITUJTE** žádné externí změny. V této větvi nastavujeme tagy jako `ce-v[X.x.x]`, které označují, že odpovídá verzi `v[X.x.x]` oficiální komunitní edice Overleaf. Poznámka: tento tag je neměnný!
* `server-pro`: Tato větev je výchozí větví pro každodenní vývoj.
* `feature-X`: Tato větev slouží k vývoji konkrétní funkce.
* `release-vX.0.0`: Větev určená pro vydání, před vydáním v ní provádíme hotfixy.

<Frame caption="Pravidla pro větve v 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) zajišťuje automatické CI/CD, které zahrnuje:

* Noční aktualizaci větve main
* Sestavení Docker image pro vývoj
* Vydání Docker image

### Otázky a odpovědi

<Accordion title="Jak najít hash commitu pro Overleaf Community Edition `X.0.0`?">
  Nejprve musíte stáhnout Docker image a spustit následující příkaz, který zobrazí štítky (labels) v tomto Docker image:

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

  Poté můžete ověřit, zda je [commit (b0d05c0)](https://github.com/overleaf/overleaf/commit/b0d05c0cf0750714e1f467d20ed6c5f5e9467e8f) přítomen ve větvi master v upstreamu.
</Accordion>

<Accordion title="Proč je hash commitu v CE image stejný pro `6.0.0` a `6.0.1`?">
  Jde o očekávané chování. Vydání 6.0.1 je drobné opravné vydání postavené nad image 6.0.0. Změny jsou aplikovány záplatováním stávajícího image 6.0.0 místo nového sestavení image z nového commitu. Proto je hash commitu uvnitř image u verzí 6.0.0 a 6.0.1 totožný.

  Podrobné informace najdete v [hotfix](https://github.com/overleaf/overleaf/tree/main/server-ce/hotfix).
</Accordion>


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