Memulai
Selamat Datang, Kontributor!
Section titled “Selamat Datang, Kontributor!”Terima kasih atas minat Anda untuk berkontribusi ke Wails! Panduan ini akan membantu Anda membuat kontribusi pertama.
Prasyarat
Section titled “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
Section titled “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
Section titled “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
Section titled “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:
Terminal window git clone https://github.com/YOUR_USERNAME/wails.gitcd wailsgit remote add upstream https://github.com/wailsapp/wails.git -
Build dan Verifikasi
Build Wails dan verifikasi Anda dapat mereproduksi bug:
Terminal window cd v3go build -o ../wails3 ./cmd/wails3# Reproduksi bug untuk memahaminya -
Buat Branch Perbaikan Bug
Buat branch untuk perbaikan Anda:
Terminal window 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
Terminal window # Lakukan perubahan Anda# Tambahkan tes di file *_test.go -
Tes Perbaikan Anda
Jalankan tes untuk memastikan perbaikan berfungsi:
Terminal window go test ./...# Tes paket spesifikgo test ./pkg/application -v# Jalankan dengan race detectorgo test ./... -race -
Commit Perbaikan Anda
Commit dengan pesan yang jelas:
Terminal window git commit -m "fix: prevent window crash when closing during initializationFixes #123" -
Submit Pull Request
Push dan buat PR:
Terminal window git push origin fix/issue-123-window-crashDi 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:
Terminal window git clone https://github.com/YOUR_USERNAME/wails.gitcd wailsgit remote add upstream https://github.com/wailsapp/wails.git -
Setup Lingkungan Development
Build Wails dan verifikasi lingkungan Anda:
Terminal window cd v3go build -o ../wails3 ./cmd/wails3# Jalankan tes untuk memastikan semuanya berfungsigo test ./... -
Buat Feature Branch
Buat branch yang deskriptif:
Terminal window 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
Terminal window # 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:
Terminal window # Unit testgo test ./pkg/application -v# Integration test - buat aplikasi tescd .../wails3 init -n feature-testcd 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:
Terminal window git commit -m "feat: add window transparency support- Add SetTransparent() method to Window API- Implement for macOS, Windows, and Linux- Add tests and documentationCloses #456" -
Submit Pull Request
Push dan buat PR:
Terminal window git push origin feat/window-transparency-supportDi 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:
Terminal window git clone https://github.com/YOUR_USERNAME/wails.gitcd wailsgit remote add upstream https://github.com/wailsapp/wails.git -
Setup Lingkungan Dokumentasi
Dokumentasi ada di
/docs/src/content/docs/dan dibangun dengan Astro:Terminal window cd docsnpm installnpm run devBuka http://localhost:4321/ untuk pratinjau perubahan secara live.
-
Buat Branch Dokumentasi
Buat branch untuk perubahan Anda:
Terminal window git checkout -b docs/improve-window-api-examples -
Lakukan Perubahan Anda
File dokumentasi ada di
/docs/src/content/docs/:Terminal window # Edit file MDX# Periksa pratinjau di browser Anda# Pastikan format benarPraktik 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:
Terminal window 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:
Terminal window git push origin docs/improve-window-api-examplesDi 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
Section titled “Mencari Issue untuk Dikerjakan”- Cari label
good first issue - Periksa issue
help wanted - Jelajahi issue terbuka dan minta untuk ditugaskan
Mendapatkan Bantuan
Section titled “Mendapatkan Bantuan”- Discord: Bergabung dengan Wails Discord
- Discussions: Posting di GitHub Discussions
- Issues: Buka issue jika menemukan bug atau punya pertanyaan
Kode Etik
Section titled “Kode Etik”Bersikaplah hormat, konstruktif, dan ramah. Kami membangun komunitas yang ramah yang fokus menciptakan perangkat lunak hebat bersama-sama.
Langkah Selanjutnya
Section titled “Langkah Selanjutnya”- Siapkan Lingkungan Development Anda
- Tinjau Standar Coding kami
- Jelajahi Dokumentasi Teknis