> **Language / Dil**   > [EN English](#-english)  ·  [TR Türkçe](#-türkçe) # 🤝 Contributing — How to Contribute Thank you for your interest in contributing to Brave Omega! This guide covers everything you need to know. --- ## Ways to Contribute | Area | Description | Difficulty | | ------ | ------------- | ------------ | | **Version Updates** | Update policy values when Brave releases new stable | 🟢 Easy | | **New Policies** | Add new ADMX-validated policies with source references | 🟡 Medium | | **Bug Reports** | Report issues with reproduction steps | 🟢 Easy | | **Translations** | Add new language editions (EN/TR template) | 🟡 Medium | | **Documentation** | Improve wiki, README, code comments | 🟢 Easy | | **Testing** | Test on different Windows/Brave versions | 🟡 Medium | --- ## Getting Started ### 1. Fork & Clone ```bash git clone https://github.com/YOUR_USERNAME/Brave-Omega-Project.git cd Brave-Omega-Project ``` ### 2. Create Feature Branch ```bash git checkout -b feature/your-feature-name ``` ### 3. Make Changes - Follow existing code style - Maintain EN/TR parity for user-facing text - Update relevant documentation ### 4. Test ```powershell # Test the script PowerShell -ExecutionPolicy Bypass -File ".\BraveOmega.ps1" -WhatIf ``` ### 5. Submit PR - Clear title: `feat: add X policy` / `fix: resolve Y issue` - Description: What changed, why, testing done - Reference related issues --- ## Contribution Guidelines ### Version Updates When Brave releases a new stable version: 1. Check [Brave ADMX templates](https://github.com/brave/brave-core/tree/master/components/policy/resources/templates/policy_definitions/BraveSoftware) 2. Update policy values in the unified `BraveOmega.ps1` (single source; both languages follow) 3. Update `Version Compatibility Matrix` in wiki & README 4. Update changelog with migration notes if keys changed ### New Policies **Requirements:** - Must be in Brave's official ADMX templates (`policy_templates.zip`) - OR in Chromium enterprise policy documentation - Source reference required (URL to official docs) - Both EN/TR descriptions required **Template:** ```powershell # Policy Name: NewPolicyName # Hive: HKLM / HKCU # Value: 0 / 1 # Source: https://source.url # Description EN: ... # Description TR: ... ``` ### Bug Reports **Include:** - Brave version (`brave://version`) - Windows version (`winver`) - Full script output (copy entire PowerShell window) - `brave://policy` page export (HTML or screenshot) - Steps to reproduce ### Testing (Phase 3) **Pester tests** live in `Tests/` (28 files, 288 It blocks). When adding or modifying policies: 1. Locate the corresponding test file in `Tests/` (e.g., `Tests/PolicyDefinitions.Tests.ps1`) 2. Add a new `It` block for each added or changed policy 3. Run the relevant test file: ```powershell Invoke-Pester -Path .\Tests\PolicyDefinitions.Tests.ps1 ``` 4. Run the full suite before submitting: ```powershell Invoke-Pester -Path .\Tests\ ``` 5. Ensure CI passes (GitHub Actions: PSScriptAnalyzer + policy integrity checks) Test expectations: - All `It` blocks must pass (green ✓) - Tests must run without administrative privileges where possible - Registry tests should use registry mock paths (not HKLM/HKCU) or `-WhatIf` ### Translations **Requirements:** - Add a column to the $Strings table and $LevelDisplayNames map in BraveOmega.ps1`r - Maintain functional parity (same features, same order) - Use consistent terminology - Native speaker review preferred **New Language Template:** 1. Extend -Language's ValidateSet and the bilingual startup prompt 2. Translate all user-facing strings into the table (code identifiers stay English) 3. Update wiki: Page-TR.md to Page-XX.md`r 4. Update _Sidebar.md with new language section --- ## Code Style ### PowerShell - Use `PascalCase` for functions, `camelCase` for variables - Comment complex logic - Use `Write-Host` for user output, `Write-Verbose` for debug - Validate all registry writes with try/catch ### Wiki/Markdown - Use `##` for main sections, `###` for subsections - Tables for structured data - Code blocks with language hints (```powershell) - Cross-reference with `[Link](Page-Name)` --- ## Pull Request Checklist - [ ] Code follows project style - [ ] EN/TR parity maintained (if user-facing) - [ ] Documentation updated (wiki + README if needed) - [ ] Changelog entry added (for version/policy changes) - [ ] Tested on Windows 11 + latest stable Brave - [ ] No `[ERROR]` lines in output - [ ] `brave://policy` shows all policies active --- ## Code of Conduct - Be respectful and constructive - No harassment, discrimination, or offensive language - Focus on technical merit - Help newcomers learn --- ## Recognition Contributors are recognized in: - Release notes - Contributors section in README - GitHub contributor graphs --- ## Questions? - [GitHub Discussions](https://github.com/bayraktarozcan/Brave-Omega-Project/discussions) - [Issue Tracker](https://github.com/bayraktarozcan/Brave-Omega-Project/issues) --- *Thank you for making Brave Omega better!* --- --- # 🤝 Katkıda Bulunma — Nasıl Katkıda Bulunulur Brave Omega'ya katkıda bulunmakla ilgilendiğiniz için teşekkürler! Bu kılavuz bilmeniz gereken her şeyi kapsar. --- ## Katkıda Bulunma Yolları | Alan | Açıklama | Zorluk | | ------ | ---------- | -------- | | **Sürüm Güncellemeleri** | Brave yeni kararlı sürüm yayımladığında politika değerlerini güncelleme | 🟢 Kolay | | **Yeni Politikalar** | Kaynak referanslarıyla yeni ADMX doğrulamalı politikalar ekleme | 🟡 Orta | | **Hata Raporları** | Tekrar üretme adımlarıyla sorun bildirme | 🟢 Kolay | | **Çeviriler** | Yeni dil sürümleri ekleme (EN/TR şablonu) | 🟡 Orta | | **Belgelendirme** | Wiki, README, kod yorumlarını iyileştirme | 🟢 Kolay | | **Test** | Farklı Windows/Brave sürümlerinde test | 🟡 Orta | --- ## Başlarken ### 1. Fork & Clone ```bash git clone https://github.com/KULLANICI_ADINIZ/Brave-Omega-Project.git cd Brave-Omega-Project ``` ### 2. Özellik Dalı Oluştur ```bash git checkout -b ozellik/ozellik-adiniz ``` ### 3. Değişiklikleri Yap - Mevcut kod stilini izleyin - Kullanıcıya yönelik metinlerde EN/TR eşlemesini koruyun - İlgili belgelendirmeyi güncelleyin ### 4. Test ```powershell # Betiği test edin PowerShell -ExecutionPolicy Bypass -File ".\BraveOmega.ps1" -WhatIf ``` ### 5. PR Gönder - Açık başlık: `feat: X politikası eklendi` / `fix: Y sorunu çözüldü` - Açıklama: Ne değişti, neden, yapılan testler - İlgili sorunlara referans verin --- ## Katkıda Bulunma Yönergeleri ### Sürüm Güncellemeleri Brave yeni bir kararlı sürüm yayımladığında: 1. [Brave ADMX şablonlarını](https://github.com/brave/brave-core/tree/master/components/policy/resources/templates/policy_definitions/BraveSoftware) kontrol edin 2. Politika değerlerini birleşik `BraveOmega.ps1` içinde güncelleyin (tek kaynak; iki dil de uyar) 3. Wiki ve README'deki `Sürüm Uyumluluk Matrisi`ni güncelleyin 4. Anahtarlar değiştiyse geçiş notlarıyla değişiklik günlüğünü güncelleyin ### Yeni Politikalar **Gereksinimler:** - Brave'in resmî ADMX şablonlarında (`policy_templates.zip`) bulunmalıdır - VEYA Chromium kurumsal politika belgelendirmesinde - Kaynak referansı gerekli (resmî belgelere URL) - Hem EN hem TR açıklamaları gerekli **Şablon:** ```powershell # Politika Adı: YeniPolitikaAdi # Kovan: HKLM / HKCU # Değer: 0 / 1 # Kaynak: https://kaynak.url # Açıklama EN: ... # Açıklama TR: ... ``` ### Hata Raporları **Şunları ekleyin:** - Brave sürümü (`brave://version`) - Windows sürümü (`winver`) - Tam betik çıktısı (tüm PowerShell penceresini kopyalayın) - `brave://policy` sayfası dışa aktarımı (HTML veya ekran görüntüsü) - Tekrar üretme adımları ### Test Etme (Faz 3) **Pester testleri** `Tests/` klasöründedir (28 dosya, 288 It bloğu). Politika eklerken veya değiştirirken: 1. `Tests/` içinde ilgili test dosyasını bulun (örn. `Tests/PolicyDefinitions.Tests.ps1`) 2. Eklenen veya değiştirilen her politika için yeni bir `It` bloğu ekleyin 3. İlgili test dosyasını çalıştırın: ```powershell Invoke-Pester -Path .\Tests\PolicyDefinitions.Tests.ps1 ``` 4. Göndermeden önce tüm paketi çalıştırın: ```powershell Invoke-Pester -Path .\Tests\ ``` 5. CI'nın geçtiğini doğrulayın (GitHub Actions: PSScriptAnalyzer + politika bütünlüğü kontrolleri) Test beklentileri: - Tüm `It` blokları geçmelidir (yeşil ✓) - Testler mümkün olduğunca yönetici ayrıcalıkları olmadan çalışmalıdır - Kayıt defteri testleri gerçek HKLM/HKCU yerine kayıt defteri sahte yollarını veya `-WhatIf` kullanmalıdır ### Çeviriler **Gereksinimler:** - `BraveOmega.ps1` içindeki `$Strings` tablosuna ve `$LevelDisplayNames` eşlemesine sütun ekleyin - İşlevsel eşdeğerliği koruyun (aynı özellikler, aynı sıra) - Tutarlı terminoloji kullanın - Anadil konuşmacısı incelemesi tercih edilir **Yeni Dil Şablonu:** 1. `-Language` `ValidateSet` listesini ve iki dilli açılış istemini genişletin 2. Kullanıcıya yönelik tüm metinleri tabloya çevirin (kod tanıtıcıları İngilizce kalır) 3. Wiki'yi güncelleyin: `Page-TR.md` yerine `Page-XX.md` 4. `_Sidebar.md`'yi yeni dil bölümüyle güncelleyin --- ## Kod Stili ### PowerShell - Fonksiyonlar için `PascalCase`, değişkenler için `camelCase` kullanın - Karmaşık mantığı yorumlayın - Kullanıcı çıktısı için `Write-Host`, hata ayıklama için `Write-Verbose` kullanın - Tüm kayıt defteri yazmalarını try/catch ile doğrulayın ### Wiki/Markdown - Ana bölümler için `##`, alt bölümler için `###` kullanın - Yapılandırılmış veriler için tablolar - Dil ipucuyla kod blokları (```powershell) - `[Bağlantı](Sayfa-Adi)` ile çapraz referans --- ## Çekme İsteği Kontrol Listesi - [ ] Kod proje stilini izliyor - [ ] EN/TR eşlemesi korundu (kullanıcıya yönelikse) - [ ] Belgelendirme güncellendi (wiki + README gerekirse) - [ ] Değişiklik günlüğü girdisi eklendi (sürüm/politika değişiklikleri için) - [ ] Windows 11 + en güncel kararlı Brave'de test edildi - [ ] Çıktıda `[HATA]` satırı yok - [ ] `brave://policy` tüm politikaları etkin gösteriyor --- ## Davranış Kuralları - Saygılı ve yapıcı olun - Taciz, ayrımcılık veya saldırgan dil kullanmayın - Teknik değere odaklanın - Yeni başlayanların öğrenmesine yardımcı olun --- ## Tanınma Katkıda bulunanlar şuralarda tanınır: - Sürüm notları - README'deki Katkıda Bulunanlar bölümü - GitHub katkıda bulunan grafikleri --- ## Sorularınız mı Var? - [GitHub Tartışmaları](https://github.com/bayraktarozcan/Brave-Omega-Project/discussions) - [Sorun Takipçisi](https://github.com/bayraktarozcan/Brave-Omega-Project/issues) --- *Brave Omega'yı daha iyi hale getirdiğiniz için teşekkürler!*