Skip to content

Contributing

github-actions[bot] edited this page Oct 1, 2026 · 10 revisions

Language / Dil   EN English  ·  TR 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

git clone https://github.com/YOUR_USERNAME/Brave-Omega-Project.git
cd Brave-Omega-Project

2. Create Feature Branch

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

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

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

    Invoke-Pester -Path .\Tests\PolicyDefinitions.Tests.ps1
  4. Run the full suite before submitting:

    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?


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

git clone https://github.com/KULLANICI_ADINIZ/Brave-Omega-Project.git
cd Brave-Omega-Project

2. Özellik Dalı Oluştur

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

# 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ı 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 Matrisini 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:

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

    Invoke-Pester -Path .\Tests\PolicyDefinitions.Tests.ps1
  4. Göndermeden önce tüm paketi çalıştırın:

    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?


Brave Omega'yı daha iyi hale getirdiğiniz için teşekkürler!

Clone this wiki locally