Memulai
Cara mulai berkontribusi ke Wails v3
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