Skip to content

Latest commit

 

History

History
207 lines (134 loc) · 3.77 KB

File metadata and controls

207 lines (134 loc) · 3.77 KB

Contributing Guide

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.


📌 Ruang Lingkup Kontribusi

Kontribusi dapat berupa (namun tidak terbatas pada):

  • Penambahan fitur
  • Perbaikan bug
  • Refactor kode
  • Peningkatan performa
  • Dokumentasi
  • Testing (unit / integration)
  • Keamanan

🧭 Alur Kerja Kontribusi

1. Buat Issue Terlebih Dahulu

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.


2. Branching Strategy

Gunakan penamaan branch berikut:

Tipe Format
Feature feature/<deskripsi-singkat>
Bugfix fix/<deskripsi-singkat>
Hotfix hotfix/<deskripsi-singkat>
Dokumentasi docs/<deskripsi-singkat>

Branch utama:

  • main
  • development (jika digunakan)

3. Commit Message Convention

Gunakan Conventional Commits:

Format

<type>(scope): <deskripsi>

Type yang diizinkan

  • feat – fitur baru
  • fix – perbaikan bug
  • docs – dokumentasi
  • style – formatting (tanpa logic change)
  • refactor – refactor kode
  • test – penambahan/perbaikan test
  • chore – maintenance

Contoh

feat(electron): add secure IPC channel
fix(auth): resolve token refresh issue
docs(readme): update setup instructions

🔀 Pull Request (PR) Guidelines

Persyaratan PR

Setiap Pull Request harus:

  • Mengarah ke branch yang benar (development / main)

  • Memiliki deskripsi perubahan yang jelas

  • Menyertakan:

    • Screenshot (jika UI)
    • Instruksi testing (jika relevan)

Validasi Wajib

PR tidak akan di-merge jika:

  • Lint gagal
  • Test gagal
  • Build gagal
  • Mengandung credential sensitif

🧪 Testing & Quality

  • Semua fitur baru wajib memiliki test
  • Bug fix wajib menyertakan regression test
  • Jalankan test secara lokal sebelum push

🎨 Code Style & Best Practices

  • 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


🔐 Keamanan

  • Jangan commit:

    • API key
    • Token
    • Password
  • Gunakan .env dan .env.example

  • Laporkan vulnerability melalui channel privat (bukan issue publik)


👀 Code Review Process

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


📄 License & Legal

  • Kontribusi Anda tunduk pada lisensi proyek (LICENSE)

  • Jika diperlukan:

    • Contributor License Agreement (CLA) harus disetujui sebelum PR diterima

✅ Checklist Pull Request

Gunakan checklist berikut di deskripsi PR:

- [ ] Lint lulus
- [ ] Test ditambahkan / diperbarui
- [ ] Dokumentasi diperbarui (jika perlu)
- [ ] Tidak ada credential sensitif
- [ ] Reviewer telah di-assign

💬 Komunikasi

  • Diskusi teknis → Issue / PR
  • Hal sensitif → kanal privat (email maintainer)

Gunakan bahasa yang profesional dan konstruktif.


🙏 Penutup

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.