İçeriğe geç

Katkıda bulunma

Kurulum

Doğru yerde küçük bir değişiklik yap ve pull request olarak gönder.

  • Önce bir issue aç ya da var olan birine yorum yaz. Ne değiştirmek istediğini ve nedenini anlat.
  • Cevap bekle, böylece birleştirilmeyecek bir şey yapmazsın.
  • HolyArrs’ı derleyip çalıştırabilmek için Kurulum sayfasını bitir.

Sorular için Discord, fikirler için r/HolyArrs var. Issue’lar hatalar ve yol haritası içindir.

İlk pull request’ini gönder

İlk pull request’ini gönder bağlantısı
  1. Değişikliğinin hangi modüle ait olduğunu bul. Modüller sayfasındaki adlar klasör adlarıyla aynıdır, yani yanlış bir Discord uyarısı alerts içinde yapılacak bir değişikliktir.

  2. Değişikliği app/backend/internal/<module>/ ve app/frontend/src/lib/<module>/ içinde yap. Tek bir düzeltme ya da tek bir özellikle sınırlı tut.

  3. Önce web uygulamasını, sonra programı derle ve değişikliği tarayıcıda dene. Bkz. Kurulum.

  4. Test sayfasındaki denetimleri çalıştır.

    Hiç hata görmemelisin.

  5. Bir sayfayı değiştirdiysen onun uçtan uca proje testini çalıştır, örneğin npm --prefix app/frontend run e2e -- --project=movies.

  6. Pull request’i aç. Issue’yu bağla, neyin değiştiğini ve nasıl test ettiğini yaz, değişiklik için test ekle ya da güncelle.

  7. İlk pull request’inde bir bot senden katkıda bulunan lisans sözleşmesini imzalamanı ister. İstediği tek cümleyle cevap ver.

Bir değişiklik nereye gider

Bir değişiklik nereye gider bağlantısı
Değişiklik Git
Yeni bir rota Modüller
Yeni bir modül Modüller. Önce bir issue aç
Bekletilen bir özellik Kurulum
Bir sürüm Sürüm çıkarma. Yalnızca bakımcılar

İyi bir pull request nasıl görünür

İyi bir pull request nasıl görünür bağlantısı
  • Kodun neden öyle yaptığını söyleyen yorumlar yaz. Yorumlarda yol haritası numarası, tarih, isim veya uzun tire olmasın.
  • Sorun metinle ilgili değilse uygulamanın metinlerine dokunma.
  • Yayımlanmış API yollarını, alan adlarını, ayar anahtarlarını, tablo adlarını ve iş adlarını olduğu gibi bırak. Ekle, asla yeniden adlandırma.

Belirti. Bir yapı denetimi başarısız oluyor. Neden. Mesaj dosyayı ve kuralı söyler. Çözüm. Kodu taşı ya da üstteki modülden düz veri geçir. Bkz. Modüller.

Belirti. Web uygulaması eski görünüyor. Neden. Program, içine gömdüğü derlemeyi sunar. Çözüm. Programdan önce web uygulamasını yeniden derle.

Belirti. Uçtan uca testler başlamıyor. Neden. Test tarayıcısı kurulu değil. Çözüm. npx --prefix app/frontend playwright install chromium komutunu çalıştır.

Bir pull request'in uyması gereken kurallar
  • Bir modül başka bir modülle yalnızca servisi (Go) ya da index.ts dosyası (web) üzerinden konuşur. Asla store’u ya da dosyaları üzerinden değil.
  • SQL yalnızca bir modülün store*.go dosyalarında, o modülün kendi tabloları üzerinde durur.
  • Bir web parçası lib/ui içine ancak 2 ya da daha fazla modül kullanıyorsa girer.
  • util, common, shared veya helpers paketleri yok.
  • Dışarıya giden her çağrı core/outbound üzerinden geçer.

Testler bu kuralları denetler, yani yanlış bir import derlemeyi bozar. Tam liste ve denetim adları Modüller sayfasında.

CI neyi çalıştırır
İş Çalıştırdığı
Web check, lint, test, build ve uçtan uca set
Go amd64 ve arm64 üzerinde, hem yerel hem emülasyonla go build, go vet ve go test -timeout 60m ./...
Race go test -race ./...
Contract openapi.json eşleşmesi, her rota için kapsam denetimleri, indirici seti
Fault ve scale Çökme, yavaş yazma, bozuk dış servis ve bellek çalıştırmaları
İmaj Bir geliştirme imajı derlenir, başlar ve sürümünü bildirir

Uzun çalıştırmaların ayrıntıları Test sayfasında.

HolyArrs ücretsiz. Zamanından tasarruf ettirdiyse GitHub'da yıldızla, sponsor ol ya da bana bir kahve ısmarla.