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

# Geliştirme Yönergeleri

> overleaf-pro için katkı yönergeleri: depo senkronizasyonu kısıtlamaları, dal oluşturma kuralları ve upstream/sürümleme hakkında sık sorulan sorular.

### Giriş

Geliştirmeye başlamadan önce aşağıdaki noktaları anlamanızı rica ediyoruz:

* Overleaf resmi olarak bir [dahili depoda](http://github.com/overleaf/internal) geliştirilir ve topluluk sürümü [overleaf/overleaf](https://github.com/overleaf/overleaf) üzerinde yayımlanır. Dahili ve herkese açık depolar arasındaki kod senkronizasyonundan bir copybot sorumludur.
* [Ayaka-notes/overleaf-pro](https://github.com/ayaka-notes/overleaf-pro), Overleaf topluluk sürümünün bir çatalıdır (fork). Bu projenin uzun ömürlü olmasını istiyoruz; bu nedenle katkıda bulunmadan önce lütfen kurallara uyun.

### Commit Kuralları

* Lütfen mevcut Overleaf kodunda kapsamlı değişiklikler yapmayın. İşlevselliği mümkün olduğunca `services/web/modules` klasöründe toplayın. Bu, ileride kodu birleştirirken ve güncellerken iş yükümüzü en aza indirir.
* Vibe coding gerçekten çok kolay bir yöntemdir, ancak projemizi kolayca dağınık hale getirip ileride bakımını imkânsız kılabilir; bu yüzden lütfen dikkatli kullanın.
* Lütfen geliştirme sırasında çeviriyle ilgili herhangi bir içerik eklemeyin; mümkün olduğunca mevcut çevirileri kullanın.
* Kesinlikle gerekli olmadıkça yeni ortam değişkenleri eklemekten kaçının. Gerekliyse, Overleaf toolkit'teki veya [docs.overleaf.com](https://docs.overleaf.com/) adresindeki değişkenlerle mümkün olduğunca tutarlı olmalarını sağlayın.

### Dal Kuralları

overleaf-pro geliştirmesi için aşağıdaki dalları kullanıyoruz:

* `main`: Bu dal yalnızca upstream kod senkronizasyonu için kullanılır, lütfen buraya harici değişiklikleri **commit ETMEYİN**. Bu dalda `ce-v[X.x.x]` gibi etiketler belirleriz; bu etiket, ilgili commit'in Overleaf Resmi Topluluk Sürümü'ndeki `v[X.x.x]` sürümüne karşılık geldiğini gösterir. Not: bu etiket değiştirilemez!
* `server-pro`: Bu dal, günlük geliştirme için varsayılan daldır.
* `feature-X`: Bu dal belirli bir özelliğin geliştirilmesi için kullanılır.
* `release-vX.0.0`: Sürüme özel daldır; yayımlamadan önce bazı acil düzeltmeler (hot-fix) yaparız.

<Frame caption="Overleaf Pro için Dal Kuralları">
  <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) otomatik CI/CD'den sorumludur ve şunları içerir:

* main dalının gecelik güncellenmesi
* Geliştirme için Docker imajı oluşturma
* Docker imajının yayımlanması

### Soru\&Cevap

<Accordion title="Overleaf Community Edition `X.0.0` için commit hash'ini nasıl bulurum?">
  Öncelikle Docker imajını çekmeniz ve bu imajdaki etiketleri incelemek için aşağıdaki komutu çalıştırmanız gerekir:

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

  Ardından [commit'in (b0d05c0)](https://github.com/overleaf/overleaf/commit/b0d05c0cf0750714e1f467d20ed6c5f5e9467e8f) upstream master dalında bulunup bulunmadığını kontrol edebilirsiniz.
</Accordion>

<Accordion title="CE imajında `6.0.0` ile `6.0.1` arasında commit hash'i neden aynı?">
  Bu beklenen bir davranıştır. 6.0.1 sürümü, 6.0.0 imajı üzerine inşa edilmiş küçük bir yama sürümüdür. Değişiklikler, imajı yeni bir commit'ten yeniden oluşturmak yerine mevcut 6.0.0 imajına yama uygulanarak yapılır. Bu nedenle imaj içindeki commit hash'i 6.0.0 ve 6.0.1 arasında aynıdır.

  Ayrıntılı bilgi için [hotfix](https://github.com/overleaf/overleaf/tree/main/server-ce/hotfix) bölümüne bakın.
</Accordion>


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