Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat berkontribusi pada Semantic Kernel dengan mengirimkan masalah, memulai diskusi, dan mengirimkan permintaan pull (PR). Kode berkontribusi sangat dihargai, tetapi hanya mengajukan masalah untuk masalah yang Anda temui juga merupakan cara yang bagus untuk berkontribusi karena membantu kami memfokuskan upaya kami.
Melaporkan masalah dan umpan balik
Kami selalu menyambut laporan bug, proposal API, dan umpan balik keseluruhan. Karena kami menggunakan GitHub, Anda dapat menggunakan tab Masalah dan Diskusi untuk memulai percakapan dengan tim. Di bawah ini adalah beberapa tips saat mengirimkan masalah dan umpan balik sehingga kami dapat merespons umpan balik Anda secepat mungkin.
Melaporkan masalah
Masalah baru untuk SDK dapat dilaporkan dalam daftar masalah kami, tetapi sebelum Anda mengajukan masalah baru, cari daftar masalah untuk memastikannya belum ada. Jika Anda memiliki masalah dengan dokumentasi Kernel Semantik (situs ini), silakan ajukan masalah di repositori dokumentasi Kernel Semantik.
Jika Anda menemukan masalah yang ada untuk apa yang ingin Anda laporkan, sertakan umpan balik Anda sendiri dalam diskusi. Kami juga sangat merekomendasikan up-voting (👍 reaksi) posting asli, karena ini membantu kami memprioritaskan masalah populer di backlog kami.
Menulis Laporan Bug yang Baik
Laporan bug yang baik memudahkan pengelola untuk memverifikasi dan akar penyebab masalah yang mendasar. Semakin baik laporan bug, semakin cepat masalah dapat diselesaikan. Idealnya, laporan bug harus berisi informasi berikut:
- Deskripsi masalah tingkat tinggi.
- Reproduksi minimal, yaitu ukuran kode/konfigurasi terkecil yang diperlukan untuk mereproduksi perilaku yang salah.
- Deskripsi perilaku yang diharapkan, berbeda dengan perilaku aktual yang diamati.
- Informasi tentang lingkungan: OS/distribusi, arsitektur CPU, versi SDK, dll.
- Informasi tambahan, misalnya Apakah regresi dari versi sebelumnya? Apakah ada solusi yang diketahui?
Mengirimkan umpan balik
Jika Anda memiliki umpan balik umum tentang Kernel Semantik atau ide tentang cara membuatnya lebih baik, silakan bagikan di papan diskusi kami. Sebelum memulai diskusi baru, cari daftar diskusi untuk memastikan diskusi belum ada.
Sebaiknya gunakan kategori ide jika Anda memiliki ide tertentu yang ingin Anda bagikan dan kategori Tanya Jawab jika Anda memiliki pertanyaan tentang Kernel Semantik.
Anda juga dapat memulai diskusi (dan berbagi umpan balik apa pun yang telah Anda buat) di komunitas Discord dengan bergabung dengan server Diskord Kernel Semantik.
Bantu kami memprioritaskan umpan balik
Saat ini kami menggunakan up-vote untuk membantu kami memprioritaskan masalah dan fitur di backlog kami, jadi silakan pilih masalah atau diskusi apa pun yang ingin Anda lihat.
Jika Anda berpikir orang lain akan mendapat manfaat dari fitur, kami juga mendorong Anda untuk meminta orang lain untuk meningkatkan suara masalah. Ini membantu kami memprioritaskan masalah yang memengaruhi sebagian besar pengguna. Anda dapat meminta kolega, teman, atau komunitas di Discord untuk memilih masalah dengan membagikan tautan ke masalah atau diskusi.
Mengirimkan permintaan pull
Kami menyambut kontribusi untuk Semantic Kernel. Jika Anda memiliki perbaikan bug atau fitur baru yang ingin Anda kontribusikan, ikuti langkah-langkah di bawah ini untuk mengirimkan permintaan pull (PR). Setelah itu, pengurus proyek akan meninjau perubahan kode dan menggabungkannya setelah diterima.
Alur kerja kontribusi yang direkomendasikan
Sebaiknya gunakan alur kerja berikut untuk berkontribusi pada Semantic Kernel (ini adalah alur kerja yang sama yang digunakan oleh tim Kernel Semantik):
- Buat masalah untuk pekerjaan Anda.
- Anda dapat melewati langkah ini untuk perubahan sepele.
- Gunakan kembali masalah yang ada pada topik, jika ada.
- Dapatkan perjanjian dari tim dan komunitas bahwa perubahan yang Anda usulkan adalah hal yang baik dengan menggunakan diskusi dalam masalah tersebut.
- Dengan jelas menyatakan dalam masalah yang akan Anda ambil pada implementasi. Ini memungkinkan kami untuk menetapkan masalah kepada Anda dan memastikan bahwa orang lain tidak secara tidak sengaja mengerjakannya.
- Buat fork pribadi repositori di GitHub (jika Anda belum memilikinya).
- Di fork Anda, buat cabang dari utama (
git checkout -b mybranch).- Beri nama cabang sehingga jelas mengomunikasikan niat Anda, seperti "issue-123" atau "githubhandle-issue".
- Buat dan terapkan perubahan Anda pada cabang Anda.
- Tambahkan pengujian baru yang sesuai dengan perubahan Anda, jika berlaku.
- Bangun repositori dengan perubahan Anda.
- Pastikan build bersih.
- Pastikan bahwa semua pengujian berhasil, termasuk tes baru Anda.
- Buat PR terhadap cabang utama repositori.
- Status dalam deskripsi masalah atau penyempurnaan apa yang ditangani perubahan Anda.
- Verifikasi bahwa semua pemeriksaan Integrasi Berkelanjutan sedang berlalu.
- Tunggu umpan balik atau persetujuan perubahan Anda dari pengurus kode.
- Ketika pemilik area telah menandatangani, dan semua pemeriksaan berwarna hijau, PR Anda akan digabungkan.
Dos dan Don'ts saat berkontribusi
Berikut ini adalah daftar Dos and Don'ts yang kami rekomendasikan saat berkontribusi pada Semantic Kernel untuk membantu kami meninjau dan menggabungkan perubahan Anda secepat mungkin.
Lakukan:
- Ikuti gaya pengodean .NET standar dan gaya kode Python
- Berikan prioritas pada gaya proyek atau file saat ini yang Anda ubah jika menyimpang dari pedoman umum.
- Sertakan pengujian saat menambahkan fitur baru. Saat memperbaiki bug, mulailah dengan menambahkan pengujian yang menyoroti bagaimana perilaku saat ini rusak.
- Jaga agar diskusi tetap fokus. Ketika topik baru atau terkait muncul, sering kali lebih baik untuk membuat masalah baru daripada melacak diskusi secara berdampingan.
- Lakukan dengan jelas status pada masalah yang akan Anda ambil untuk mengimplementasikannya.
- Lakukan blog dan/atau tweet tentang kontribusi Anda!
Larangan:
- Jangan mengejutkan tim dengan permintaan pull besar. Kami ingin mendukung kontributor, jadi sebaiknya ajukan masalah dan mulai diskusi sehingga kami dapat menyetujui arah sebelum Anda menginvestasikan banyak waktu.
- Jangan menerapkan kode yang tidak Anda tulis. Jika Anda menemukan kode yang menurut Anda cocok untuk ditambahkan ke Semantic Kernel, ajukan masalah dan mulai diskusi sebelum melanjutkan.
- Jangan mengirimkan PR yang mengubah lisensi file atau header terkait. Jika Anda yakin ada masalah dengan mereka, ajukan masalah dan kami akan dengan senang hati mendiskusikannya.
- Jangan membuat API baru tanpa mengajukan masalah dan berdiskusi dengan tim terlebih dahulu. Menambahkan area permukaan publik baru ke pustaka adalah masalah besar dan kami ingin memastikan bahwa kami mendapatkannya dengan benar.
Memecahkan Perubahan
Kontribusi harus mempertahankan tanda tangan API dan kompatibilitas perilaku. Jika Anda ingin membuat perubahan yang akan merusak kode yang ada, silakan ajukan masalah untuk mendiskusikan ide atau perubahan Anda jika Anda yakin bahwa perubahan yang melanggar dijaga. Jika tidak, kontribusi yang mencakup perubahan yang melanggar akan ditolak.
Proses integrasi berkelanjutan (CI)
Sistem integrasi berkelanjutan (CI) akan secara otomatis melakukan build yang diperlukan dan menjalankan pengujian (termasuk yang juga harus Anda jalankan secara lokal) untuk PR. Build dan eksekusi pengujian harus bersih sebelum PR dapat digabungkan.
Jika build CI gagal karena alasan apa pun, masalah PR akan diperbarui dengan tautan yang dapat digunakan untuk menentukan penyebab kegagalan sehingga dapat diatasi.
Berkontribusi pada dokumentasi
Kami juga menerima kontribusi untuk repositori dokumentasi Kernel Semantik.