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

# Wytyczne dotyczące rozwoju

> Wytyczne dla współtwórców overleaf-pro obejmujące ograniczenia synchronizacji repozytorium, konwencje gałęzi oraz najczęstsze pytania dotyczące upstreamu i wersjonowania.

### Wprowadzenie

Zanim zagłębisz się w rozwój projektu, prosimy o zapoznanie się z następującymi kwestiami:

* Overleaf jest oficjalnie rozwijany w [wewnętrznym repozytorium](http://github.com/overleaf/internal), a wersja społecznościowa (Community Edition) jest publikowana w [overleaf/overleaf](https://github.com/overleaf/overleaf). Za synchronizację kodu między repozytorium wewnętrznym a publicznym odpowiada copybot.
* [Ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro) to fork wersji społecznościowej Overleaf. Chcemy, aby ten projekt był rozwijany długoterminowo, dlatego przed wniesieniem wkładu prosimy o przestrzeganie poniższych zasad.

### Zasady dotyczące commitów

* Prosimy nie wprowadzać rozległych modyfikacji w istniejącym kodzie Overleaf. Skupiaj jak najwięcej funkcjonalności w katalogu `services/web/modules`. Zminimalizuje to nakład pracy przy późniejszym scalaniu i aktualizowaniu kodu.
* Vibe coding to rzeczywiście bardzo wygodna metoda, ale łatwo może wprowadzić bałagan w projekcie i sprawić, że później stanie się on trudny w utrzymaniu, dlatego korzystaj z niego ostrożnie.
* Prosimy nie dodawać podczas rozwoju żadnych treści związanych z tłumaczeniami; w miarę możliwości korzystaj z istniejących tłumaczeń.
* Unikaj wprowadzania zmiennych środowiskowych, o ile nie jest to absolutnie konieczne. Jeśli są wymagane, zadbaj o to, aby były jak najbardziej spójne z tymi z Overleaf Toolkit lub [docs.overleaf.com](https://docs.overleaf.com/).

### Zasady dotyczące gałęzi

Do rozwoju overleaf-pro używamy następujących gałęzi:

* `main`: Ta gałąź służy wyłącznie do synchronizacji kodu z upstreamu, prosimy **NIE** commitować do niej żadnych zewnętrznych zmian. W tej gałęzi ustawiamy tagi takie jak `ce-v[X.x.x]`, które oznaczają, że dany stan odpowiada wersji `v[X.x.x]` oficjalnej wersji Overleaf Community Edition. Uwaga: te tagi są niezmienne!
* `server-pro`: Domyślna gałąź do codziennego rozwoju.
* `feature-X`: Gałąź służąca do rozwoju konkretnej funkcji.
* `release-vX.0.0`: Gałąź przeznaczona dla wydania; przed wydaniem wprowadzamy w niej poprawki typu hot-fix.

<Frame caption="Zasady dotyczące gałęzi w 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) odpowiada za automatyczne CI/CD, w tym:

* Conocną aktualizację gałęzi main
* Budowanie obrazu Docker do celów rozwojowych
* Publikowanie obrazu Docker

### Pytania i odpowiedzi

<Accordion title="Jak znaleźć hash commitu dla Overleaf Community Edition `X.0.0`?">
  Najpierw pobierz obraz Docker i uruchom poniższe polecenie, aby sprawdzić etykiety tego obrazu:

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

  Następnie możesz sprawdzić, czy [commit (b0d05c0)](https://github.com/overleaf/overleaf/commit/b0d05c0cf0750714e1f467d20ed6c5f5e9467e8f) znajduje się w gałęzi master upstreamu.
</Accordion>

<Accordion title="Dlaczego hash commitu w obrazie CE jest taki sam dla wersji `6.0.0` i `6.0.1`?">
  To zamierzone zachowanie. Wydanie 6.0.1 jest drobnym wydaniem poprawkowym zbudowanym na bazie obrazu 6.0.0. Zmiany są nakładane poprzez łatanie istniejącego obrazu 6.0.0, a nie przez przebudowanie obrazu z nowego commitu. Dlatego hash commitu wewnątrz obrazu jest identyczny w wersjach 6.0.0 i 6.0.1.

  Szczegółowe informacje znajdziesz w [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.