Commit Validation
Commit Validation
Sediakan validasi commit untuk setiap proyek dan aktifkan Commitizen hanya ketika proyek memang menggunakannya.
[tool.custy.commit.validation]Category
Quick Command
provider = auto | custy | commitizen | gitKonfigurasi yang Direkomendasikan
[tool.custy.commit.validation]
provider = "auto"
require_tool = falseDefault ini tidak mewajibkan Commitizen. Custy mengaktifkan cz hanya jika
menemukan konfigurasi Commitizen pada proyek dan executable yang tersedia.
Matriks Perilaku
| Provider | Commitizen config | cz terinstal | Hasil |
|---|---|---|---|
auto | Tidak | Tidak | Gunakan validasi Custy. |
auto | Tidak | Ya | Gunakan validasi Custy; instalasi saja tidak mengaktifkan Commitizen. |
auto | Ya | Ya | Jalankan validasi Custy, lalu validasi Commitizen. |
auto | Ya | Tidak | Tampilkan peringatan, lalu gunakan validasi Custy. |
auto dengan require_tool = true | Ya | Tidak | Berhenti sebelum perubahan dengan COMMITIZEN_NOT_AVAILABLE. |
custy | Apa pun | Apa pun | Gunakan aturan Conventional Commit bawaan Custy. |
commitizen | Ya | Ya | Wajibkan validasi Custy dan Commitizen. |
commitizen | Tidak ada atau tidak valid | Apa pun | Berhenti sebelum perubahan dengan error konfigurasi yang spesifik. |
git | Apa pun | Apa pun | Wajibkan message file UTF-8 yang dapat dibaca dan tidak kosong; izinkan format khusus proyek. |
Properti
Properties
| Property | Type | Description | Default | Required |
|---|---|---|---|---|
provider | auto | custy | commitizen | git | Pilih deteksi otomatis, aturan internal Custy, integrasi Commitizen yang ketat, atau pemeriksaan keamanan dasar message file Git. | auto | No |
require_tool | Boolean | Dalam mode auto, ubah integrasi Commitizen yang terdeteksi tetapi tidak valid atau tidak tersedia dari peringatan dan fallback menjadi error awal. | false | No |
Yang Dideteksi Auto
Custy mengenali sumber konfigurasi proyek berikut:
.cz.toml.cz.yamlatau.cz.yml.cz.json[tool.commitizen]dalampyproject.toml
Custy memeriksa ketersediaan executable cz secara terpisah. Custy tidak
menginstal Commitizen saat command berjalan dan tidak mengaktifkannya hanya
karena executable terinstal secara global.
CLI Override
--check-cz adalah override ketat yang tetap kompatibel dengan versi
sebelumnya. Untuk pemanggilan tersebut, perilakunya sama dengan:provider = "commitizen"
require_tool = true
Gunakan konfigurasi TOML permanen untuk kebijakan tim. Gunakan --check-cz
untuk pemeriksaan satu kali yang disengaja.
Instal Dukungan Commitizen Opsional
pip install "custy[commitizen]"Production Docker image Custy menyertakan extra opsional ini agar workflow
Commitizen yang didukung tersedia di container. Instalasi pre-commit khusus
proyek tetap terpisah.
Versioning dan Validasi Message Terpisah
[tool.custy.cli.versioning].strategy = "commitizen" meminta Commitizen
membantu menentukan versi. [tool.custy.commit.validation].provider = "commitizen" memintanya memvalidasi commit message akhir. Proyek dapat
mengaktifkan salah satu, keduanya, atau tidak sama sekali.