Apabila Anda ingin berkontribusi, silakan ikuti langkah-langkah berikut.
-
Fork repositori ini.
-
Klonakan repositori yang sudah Anda fork dan masuk ke dalam direktori repositori yang baru saja terbuat.
$ git clone https://github.com/<username>/kbbi-python.git $ cd kbbi-python
(Silakan gunakan SSH jika Anda ingin).
-
Buat cabang baru untuk pembaruan Anda:
$ git checkout -b pembaruan-saya
(Silakan gunakan
git switch -c pembaruan-sayauntukgit >= 2.23). -
Buat virtual environment untuk pengembangan:
$ python3 -m venv venv
-
Aktifkan virtual environment tersebut:
$ source venv/bin/activate(Apabila Anda menggunakan Windows, ganti perintah di atas dengan
venv\Scripts\activate.bat). -
Instal paket-paket prasyarat untuk pengembangan:
$ pip install -r requirements-dev.txt
-
Apabila Anda belum menginstal
pre-commit, sangat disarankan (tidak wajib) untuk menginstalnya terlebih dahulu (pip install pre-commit). Apabila Anda sudah, silakan instal hooks yang digunakan di repositori ini:$ pre-commit install
-
Lakukan pengembangan. Apabila Anda ingin mencoba hasil pengembangan Anda, instal
kbbidari kode sumber terlebih dahulu:$ pip install -e .(Perintah tersebut cukup dijalankan sekali,
kbbiyang diimpor atau dijalankan dengan CLI pada virtual environment ini akan otomatis sesuai dengan pengembangan yang Anda lakukan). -
Jika sudah selesai, silakan simpan perubahan Anda:
$ git add . $ git commit -m "Memperbaiki fitur yang ada"
-
Apabila Anda sudah menginstal hooks
pre-commit, maka proses linting akan otomatis dijalankan untuk memastikan kode Anda sesuai dengan gaya penulisan kode yang diharapkan. Jika Anda tidak menginstalnya, silakan periksa manual:$ black . -l 79 $ flake8 --exclude="venv/**" $ isort -rc . -sg "venv/**"
-
Jika terdapat kesalahan gaya penulisan kode, silakan perbaiki terlebih dahulu (
blackdanisortsudah otomatis memperbaiki, tetapiflake8tidak). -
Jika gaya penulisan kode sudah baik, jalankan tes untuk memastikan kode Anda lulus tes. Sebelum menjalankan tes, jalankan server untuk tes terlebih dahulu:
$ cd tests $ ./server.pySelagi server aktif, jalankan tes:
$ pytest
-
Jika kode Anda belum lulus tes, silakan perbaiki terlebih dahulu dan lakukan
git adddangit commitseperlunya. -
Jika Anda ingin menambahkan kasus uji (misal
"civitas academica") untuk mendukung perbaikan Anda, gunakan skripbuat_kasus.py:$ ./buat_kasus.py "civitas academica"Kemudian, tambahkan kasus tersebut ke dalam
listlamanyang terdapat di dalambuat_kasus.pydan sertakan deskripsi singkat mengenai kasus tersebut. Jika sudah selesai,git adddangit commitsemua berkas yang dihasilkan besertabuat_kasus.pyyang sudah diperbarui. -
Unggah pembaruan Anda:
$ git push origin pembaruan-saya
-
Buat Pull Request baru dari cabang Anda ke cabang
masterrepositori ini.