Terima kasih atas minat Anda untuk berkontribusi pada proyek Ares. Dokumen ini menjelaskan standar, alur kerja, dan praktik terbaik yang harus diikuti oleh semua kontributor.
Dengan berkontribusi pada repository ini, Anda dianggap telah menyetujui seluruh aturan di bawah.
Kontribusi dapat berupa (namun tidak terbatas pada):
- Penambahan fitur
- Perbaikan bug
- Refactor kode
- Peningkatan performa
- Dokumentasi
- Testing (unit / integration)
- Keamanan
Sebelum memulai pekerjaan besar:
-
Buka Issue
-
Sertakan:
- Deskripsi yang jelas
- Tujuan perubahan
- Dampak terhadap sistem (jika ada)
Pekerjaan kecil (typo, minor refactor) boleh langsung melalui PR.
Gunakan penamaan branch berikut:
| Tipe | Format |
|---|---|
| Feature | feature/<deskripsi-singkat> |
| Bugfix | fix/<deskripsi-singkat> |
| Hotfix | hotfix/<deskripsi-singkat> |
| Dokumentasi | docs/<deskripsi-singkat> |
Branch utama:
maindevelopment(jika digunakan)
Gunakan Conventional Commits:
Format
<type>(scope): <deskripsi>
Type yang diizinkan
feat– fitur barufix– perbaikan bugdocs– dokumentasistyle– formatting (tanpa logic change)refactor– refactor kodetest– penambahan/perbaikan testchore– maintenance
Contoh
feat(electron): add secure IPC channel
fix(auth): resolve token refresh issue
docs(readme): update setup instructionsSetiap Pull Request harus:
-
Mengarah ke branch yang benar (
development/main) -
Memiliki deskripsi perubahan yang jelas
-
Menyertakan:
- Screenshot (jika UI)
- Instruksi testing (jika relevan)
PR tidak akan di-merge jika:
- Lint gagal
- Test gagal
- Build gagal
- Mengandung credential sensitif
- Semua fitur baru wajib memiliki test
- Bug fix wajib menyertakan regression test
- Jalankan test secara lokal sebelum push
-
Ikuti konfigurasi:
- ESLint
- Prettier
-
Gunakan TypeScript secara konsisten
-
Hindari:
- Hardcoded value
- Magic number
- Direct access ke native API di renderer
-
Gunakan environment variable untuk konfigurasi sensitif
-
Jangan commit:
- API key
- Token
- Password
-
Gunakan
.envdan.env.example -
Laporkan vulnerability melalui channel privat (bukan issue publik)
-
Semua PR akan direview
-
Fokus review:
- Arsitektur
- Keamanan
- Maintainability
-
Persetujuan:
- Perubahan kecil → 1 reviewer
- Fitur besar / kritikal → 2+ reviewer
Reviewer berhak meminta perubahan sebelum merge.
-
Kontribusi Anda tunduk pada lisensi proyek (
LICENSE) -
Jika diperlukan:
- Contributor License Agreement (CLA) harus disetujui sebelum PR diterima
Gunakan checklist berikut di deskripsi PR:
- [ ] Lint lulus
- [ ] Test ditambahkan / diperbarui
- [ ] Dokumentasi diperbarui (jika perlu)
- [ ] Tidak ada credential sensitif
- [ ] Reviewer telah di-assign- Diskusi teknis → Issue / PR
- Hal sensitif → kanal privat (email maintainer)
Gunakan bahasa yang profesional dan konstruktif.
Kami menghargai setiap kontribusi — baik kecil maupun besar. Dengan mengikuti panduan ini, Anda membantu menjaga kualitas, stabilitas, dan keberlanjutan proyek.
Terima kasih telah berkontribusi pada Ares.