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-saya
untukgit >= 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
kbbi
dari kode sumber terlebih dahulu:$ pip install -e .
(Perintah tersebut cukup dijalankan sekali,
kbbi
yang 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 (
black
danisort
sudah otomatis memperbaiki, tetapiflake8
tidak). -
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.py
Selagi server aktif, jalankan tes:
$ pytest
-
Jika kode Anda belum lulus tes, silakan perbaiki terlebih dahulu dan lakukan
git add
dangit commit
seperlunya. -
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
list
laman
yang terdapat di dalambuat_kasus.py
dan sertakan deskripsi singkat mengenai kasus tersebut. Jika sudah selesai,git add
dangit commit
semua berkas yang dihasilkan besertabuat_kasus.py
yang sudah diperbarui. -
Unggah pembaruan Anda:
$ git push origin pembaruan-saya
-
Buat Pull Request baru dari cabang Anda ke cabang
master
repositori ini.