Lewati ke konten utama

Commit Validation

Commit Validation

Active

Sediakan validasi commit untuk setiap proyek dan aktifkan Commitizen hanya ketika proyek memang menggunakannya.

Command[tool.custy.commit.validation]

Category

Configuration

Quick Command

provider = auto | custy | commitizen | git

provider selectionoptional CommitizenGit hooks

Konfigurasi yang Direkomendasikan

.config/custy/config.toml
toml
[tool.custy.commit.validation]
provider = "auto"
require_tool = false

Default ini tidak mewajibkan Commitizen. Custy mengaktifkan cz hanya jika menemukan konfigurasi Commitizen pada proyek dan executable yang tersedia.


Matriks Perilaku

ProviderCommitizen configcz terinstalHasil
autoTidakTidakGunakan validasi Custy.
autoTidakYaGunakan validasi Custy; instalasi saja tidak mengaktifkan Commitizen.
autoYaYaJalankan validasi Custy, lalu validasi Commitizen.
autoYaTidakTampilkan peringatan, lalu gunakan validasi Custy.
auto dengan require_tool = trueYaTidakBerhenti sebelum perubahan dengan COMMITIZEN_NOT_AVAILABLE.
custyApa punApa punGunakan aturan Conventional Commit bawaan Custy.
commitizenYaYaWajibkan validasi Custy dan Commitizen.
commitizenTidak ada atau tidak validApa punBerhenti sebelum perubahan dengan error konfigurasi yang spesifik.
gitApa punApa punWajibkan message file UTF-8 yang dapat dibaca dan tidak kosong; izinkan format khusus proyek.

Properti

Properties

PropertyTypeDescriptionDefaultRequired
providerauto | custy | commitizen | gitPilih deteksi otomatis, aturan internal Custy, integrasi Commitizen yang ketat, atau pemeriksaan keamanan dasar message file Git.autoNo
require_toolBooleanDalam mode auto, ubah integrasi Commitizen yang terdeteksi tetapi tidak valid atau tidak tersedia dari peringatan dan fallback menjadi error awal.falseNo

Yang Dideteksi Auto

Custy mengenali sumber konfigurasi proyek berikut:

  • .cz.toml
  • .cz.yaml atau .cz.yml
  • .cz.json
  • [tool.commitizen] dalam pyproject.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:

Terminal
toml
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

Terminal
bash
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.

Lanjutkan