Berkontribusi ke Hatcher
Terima kasih atas minat Anda untuk berkontribusi ke Hatcher! Panduan ini akan membantu Anda memulai berkontribusi ke proyek.
Kode Etik
Dengan berpartisipasi dalam proyek ini, Anda setuju untuk mematuhi Kode Etik kami. Mohon baca sebelum berkontribusi.
Memulai
Setup Pengembangan
Fork dan Clone
bashgit clone https://github.com/your-username/dx-engine.git cd dx-engine
Install Dependencies
bashpnpm install
Jalankan Development Server
bashpnpm dev
Struktur Proyek
dx-engine/
├── apps/
│ ├── electron/ # Proses utama Electron
│ ├── web/ # Proses renderer (Vue.js)
│ ├── preload/ # Script preload
│ └── docs/ # Dokumentasi VitePress
├── universal/
│ ├── vite-plugin/ # Plugin Vite kustom
│ └── puppeteer-google-translate/
└── scripts/ # Script build dan pengembangan
Cara Berkontribusi
Melaporkan Bug
Saat melaporkan bug, mohon sertakan:
- Deskripsi Jelas: Apa yang terjadi vs. apa yang Anda harapkan
- Langkah Reproduksi: Langkah detail untuk membuat ulang masalah
- Environment: OS, versi Node.js, versi pnpm
- Screenshot: Jika ada, sertakan bukti visual
Gunakan template laporan bug kami saat membuat issue.
Permintaan Fitur
Kami menyambut permintaan fitur! Mohon sertakan:
- Use Case: Mengapa fitur ini diperlukan?
- Solusi yang Diusulkan: Bagaimana seharusnya bekerja?
- Alternatif: Pendekatan lain apa yang Anda pertimbangkan?
Gunakan template permintaan fitur kami.
Kontribusi Kode
Sebelum Memulai
- Periksa Issue yang Ada: Cari issue terkait atau permintaan fitur
- Diskusikan Perubahan Besar: Buka issue untuk mendiskusikan perubahan signifikan
- Mulai Kecil: Mulai dengan kontribusi kecil dan terfokus
Workflow Pengembangan
Buat Branch
bashgit checkout -b feature/your-feature-name
Buat Perubahan
- Ikuti standar coding kami (lihat di bawah)
- Tulis test untuk fungsionalitas baru
- Update dokumentasi sesuai kebutuhan
Test Perubahan Anda
bashpnpm build pnpm test
Commit Perubahan Anda
bashgit commit -m "feat: add amazing new feature"
Kami mengikuti format Conventional Commits.
Push dan Buat PR
bashgit push origin feature/your-feature-name
Standar Coding
Hatcher mengikuti standar coding yang ketat untuk memastikan konsistensi, maintainability, dan kode berkualitas tinggi di seluruh proyek.
📋 Panduan Lengkap Standar Coding
Referensi Cepat
TypeScript
- Gunakan TypeScript untuk semua kode baru dengan strict mode diaktifkan
- Utamakan interfaces dibanding types untuk bentuk objek
- Gunakan nama yang bermakna dan deskriptif untuk variabel dan fungsi
- Sertakan komentar JSDoc untuk semua API publik
Vue.js
- Gunakan Composition API dengan sintaks
<script setup>
- Definisikan props dan emits dengan interface TypeScript
- Utamakan composables untuk logika yang dapat digunakan ulang
- Ikuti struktur single-file component: script → template → style
Tools Kualitas Kode
Kami menggunakan tools otomatis untuk menegakkan standar:
# Lint dan perbaiki masalah gaya kode
pnpm lint:fix
# Type checking
pnpm typecheck
# Jalankan semua test
pnpm test
# Format kode
pnpm format
Proses Pull Request
Sebelum Submit
- [ ] Kode mengikuti standar proyek
- [ ] Test berhasil secara lokal
- [ ] Dokumentasi diperbarui
- [ ] Perubahan terfokus dan atomik
Template Deskripsi PR
## Deskripsi
Deskripsi singkat perubahan
## Jenis Perubahan
- [ ] Bug fix
- [ ] Fitur baru
- [ ] Breaking change
- [ ] Update dokumentasi
## Testing
- [ ] Unit test ditambah/diperbarui
- [ ] Integration test ditambah/diperbarui
- [ ] Manual testing selesai
Komunitas
Saluran Komunikasi
- GitHub Issues: Laporan bug dan permintaan fitur
- GitHub Discussions: Pertanyaan umum dan ide
- Discord: Chat real-time dengan komunitas
- Twitter: Ikuti @HatcherDX untuk update
Pedoman Komunitas
- Bersikap Hormat: Perlakukan semua orang dengan hormat
- Bersikap Konstruktif: Fokus pada solusi, bukan masalah
- Bersabar: Ingat kita semua relawan
- Membantu: Bagikan pengetahuan dan bantu orang lain
Sumber Daya Pengembangan
Link Berguna
Pertanyaan?
Jika Anda memiliki pertanyaan tentang berkontribusi:
- Periksa GitHub Discussions yang ada
- Bergabung dengan komunitas Discord kami
- Buat diskusi atau issue baru
Terima kasih telah berkontribusi ke Hatcher! Bersama-sama, kita membangun masa depan pengembangan yang dibantu AI.