Memulai
Selamat Datang, Kontributor!
Terima kasih atas minat Anda untuk berkontribusi ke Wails! Panduan ini akan membantu Anda membuat kontribusi pertama.
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
- Go 1.25+ terinstal (unduh)
- Node.js 20+ dan npm (unduh)
- Git dikonfigurasi dengan akun GitHub Anda
- Familiaritas dasar dengan Go dan JavaScript/TypeScript
Persyaratan Spesifik Platform
macOS:
- Xcode Command Line Tools:
xcode-select --install
Windows:
- MSYS2 atau lingkungan mirip Unix direkomendasikan
- Runtime WebView2 (biasanya sudah terinstal di Windows 11)
Linux:
gcc,pkg-config,libgtk-4-dev,libwebkitgtk-6.0-dev(stack GTK4 default)- Instal via:
sudo apt install build-essential pkg-config libgtk-4-dev libwebkitgtk-6.0-dev(Debian/Ubuntu) - Untuk jalur build legacy
-tags gtk3, juga installibgtk-3-devdanlibwebkit2gtk-4.1-dev
Ikhtisar Proses Kontribusi
Alur kerja kontribusi tipikal mengikuti langkah-langkah berikut:
- Fork & Clone - Buat salinan repository Wails Anda sendiri
- Setup - Build CLI Wails dan verifikasi lingkungan Anda
- Branch - Buat feature branch untuk perubahan Anda
- Develop - Lakukan perubahan mengikuti standar coding kami
- Test - Jalankan tes untuk memastikan semuanya berfungsi
- Commit - Commit dengan pesan conventional commit yang jelas
- Submit - Buka pull request untuk review
- Iterate - Tanggapi feedback dan lakukan penyesuaian
- Merge - Setelah disetujui, perubahan Anda menjadi bagian dari Wails!
Panduan Langkah demi Langkah
Pilih jenis kontribusi Anda:
Temukan atau Laporkan Bug
- Periksa apakah bug sudah dilaporkan di GitHub Issues
- Jika belum, buat issue baru dengan langkah reproduksi
- Tunggu konfirmasi sebelum mulai mengerjakan
Fork dan Clone
Fork repository di github.com/wailsapp/wails/fork
Clone fork Anda:
git clone https://github.com/YOUR_USERNAME/wails.git
cd wails
git remote add upstream https://github.com/wailsapp/wails.git
Build dan Verifikasi
Build Wails dan verifikasi Anda dapat mereproduksi bug:
cd v3
go build -o ../wails3 ./cmd/wails3
# Reproduksi bug untuk memahaminya
Buat Branch Perbaikan Bug
Buat branch untuk perbaikan Anda:
git checkout -b fix/issue-123-window-crash
Perbaiki Bug
- Lakukan perubahan minimal yang diperlukan untuk memperbaiki bug
- Jangan refactor kode yang tidak terkait
- Tambah atau perbarui tes untuk mencegah regresi
# Lakukan perubahan Anda
# Tambahkan tes di file *_test.go
Tes Perbaikan Anda
Jalankan tes untuk memastikan perbaikan berfungsi:
go test ./...
# Tes paket spesifik
go test ./pkg/application -v
# Jalankan dengan race detector
go test ./... -race
Commit Perbaikan Anda
Commit dengan pesan yang jelas:
git commit -m "fix: prevent window crash when closing during initialization
Fixes #123"
Submit Pull Request
Push dan buat PR:
git push origin fix/issue-123-window-crash
Di deskripsi PR Anda:
- Jelaskan bug dan akar masalah
- Deskripsikan perbaikan Anda
- Referensikan issue: “Fixes #123”
- Sertakan perilaku sebelum/sesudah
Tanggapi Feedback
Tangani komentar review dan perbarui PR Anda sesuai kebutuhan.
Diskusikan Fitur
- Buka GitHub Discussion atau issue
- Deskripsikan apa yang ingin Anda tambahkan dan alasannya
- Tunggu feedback maintainer sebelum mengimplementasikan
- Pastikan selaras dengan tujuan Wails
Fork dan Clone
Fork repository di github.com/wailsapp/wails/fork
Clone fork Anda:
git clone https://github.com/YOUR_USERNAME/wails.git
cd wails
git remote add upstream https://github.com/wailsapp/wails.git
Setup Lingkungan Development
Build Wails dan verifikasi lingkungan Anda:
cd v3
go build -o ../wails3 ./cmd/wails3
# Jalankan tes untuk memastikan semuanya berfungsi
go test ./...
Buat Feature Branch
Buat branch yang deskriptif:
git checkout -b feat/window-transparency-support
Implementasikan Fitur
- Ikuti Standar Coding kami
- Fokuskan perubahan pada fitur tersebut
- Tulis kode yang bersih dan terdokumentasi
- Tambahkan tes yang komprehensif
# Contoh: Menambahkan method window baru
# 1. Tambahkan ke interface window.go
# 2. Implementasikan di file platform (darwin, windows, linux)
# 3. Tambahkan tes
# 4. Perbarui dokumentasi
Tes Secara Menyeluruh
Tes fitur Anda:
# Unit test
go test ./pkg/application -v
# Integration test - buat aplikasi tes
cd ..
./wails3 init -n feature-test
cd feature-test
# Tambahkan kode menggunakan fitur baru Anda
../wails3 dev
Dokumentasikan Fitur Anda
- Tambahkan docstring ke semua API publik
- Perbarui dokumentasi relevan di
/docs/src/content/docs/ - Tambahkan contoh jika applicable
Commit dengan Konvensi
Gunakan conventional commits:
git commit -m "feat: add window transparency support
- Add SetTransparent() method to Window API
- Implement for macOS, Windows, and Linux
- Add tests and documentation
Closes #456"
Submit Pull Request
Push dan buat PR:
git push origin feat/window-transparency-support
Di PR Anda:
- Deskripsikan fitur dan use case
- Tampilkan contoh atau screenshot
- Daftarkan breaking change jika ada
- Referensikan diskusi/issue
Iterasi Berdasarkan Review
Maintainer mungkin meminta perubahan. Bersabarlah dan kolaboratif.
Identifikasi Kebutuhan Dokumentasi
- Menemukan docs yang outdated saat menggunakan Wails?
- Menyadari contoh atau penjelasan yang hilang?
- Ingin memperbaiki typo atau meningkatkan kejelasan?
- Periksa issue dokumentasi
Fork dan Clone
Fork repository di github.com/wailsapp/wails/fork
Clone fork Anda:
git clone https://github.com/YOUR_USERNAME/wails.git
cd wails
git remote add upstream https://github.com/wailsapp/wails.git
Setup Lingkungan Dokumentasi
Dokumentasi ada di /docs/src/content/docs/ dan dibangun dengan Astro:
cd docs
npm install
npm run dev
Buka http://localhost:4321/ untuk pratinjau perubahan secara live.
Buat Branch Dokumentasi
Buat branch untuk perubahan Anda:
git checkout -b docs/improve-window-api-examples
Lakukan Perubahan Anda
File dokumentasi ada di /docs/src/content/docs/:
# Edit file MDX
# Periksa pratinjau di browser Anda
# Pastikan format benar
Praktik Terbaik:
- Gunakan bahasa yang jelas dan ringkas
- Sertakan contoh kode praktis
- Tambahkan tautan ke bagian terkait
- Periksa ejaan dan tata bahasa
- Tes semua contoh kode
Verifikasi Perubahan Anda
Periksa pratinjau live dan pastikan:
- Tautan berfungsi dengan benar
- Contoh kode akurat
- Format dirender dengan benar
- Tidak ada gambar atau referensi yang rusak
Commit Perubahan Dokumentasi
Commit dengan pesan yang jelas:
git commit -m "docs: add practical examples to Window API guide
- Add window positioning examples
- Include common patterns section
- Fix broken links to Event API"
Submit Pull Request
Push dan buat PR:
git push origin docs/improve-window-api-examples
Di PR Anda:
- Deskripsikan docs apa yang Anda perbaiki
- Jelaskan mengapa perubahan membantu pengguna
- Sertakan screenshot jika ada perubahan visual
Tanggapi Feedback Review
PR dokumentasi biasanya cepat direview dan di-merge!
Mencari Issue untuk Dikerjakan
- Cari label
good first issue - Periksa issue
help wanted - Jelajahi issue terbuka dan minta untuk ditugaskan
Mendapatkan Bantuan
- Discord: Bergabung dengan Wails Discord
- Discussions: Posting di GitHub Discussions
- Issues: Buka issue jika menemukan bug atau punya pertanyaan
Kode Etik
Bersikaplah hormat, konstruktif, dan ramah. Kami membangun komunitas yang ramah yang fokus menciptakan perangkat lunak hebat bersama-sama.
Langkah Selanjutnya
- Siapkan Lingkungan Development Anda
- Tinjau Standar Coding kami
- Jelajahi Dokumentasi Teknis