indocommit
v1.1.0
Published
<div align="center">
Readme
Indocommit adalah Command-Line Interface (CLI) yang dirancang untuk menerjemahkan pesan commit berbahasa Indonesia ke dalam format standar English Conventional Commits secara instan.
Arsitektur dan Alur Kerja
Proyek ini dibangun secara kokoh menggunakan TypeScript dan Node.js. Struktur kode dirancang secara modular untuk memastikan kemudahan pemeliharaan dan skalabilitas pengembangan.
Modul Utama
- CLI Entry (
index.ts): Menggunakancommander.jsuntuk mengurai argumen terminal, flag operasional, serta integrasi modul. - Interactive (
interactive.ts): Menggunakan@inquirer/promptsuntuk wizard interaktif pembuatan commit message. - Git Integration (
git.ts): Penanganan integrasi Git hook (prepare-commit-msg) dan eksekusi langsunggit commit. - Clipboard (
clipboard.ts): Penyalinan otomatis hasil konversi ke clipboard sistem. - Config Loader (
config.ts): Memuat konfigurasi kustom.indocommitrc.jsondari direktori lokal. - Detector (
detector.ts): Memindai pesan input untuk mengidentifikasi tipe commit dan scope. - Translator (
translator.ts): Memproses penerjemahan kata demi kata ke bahasa Inggris.
Persyaratan Sistem
- Node.js (Versi 18 atau lebih baru)
- npm (Node Package Manager)
Panduan Instalasi
Setup Pengembangan Lokal
Kloning repositori ini ke dalam direktori lokal Anda:
git clone https://github.com/fa33az/indocommit.git cd indocommitUnduh dan instal seluruh dependensi yang dibutuhkan:
npm installJalankan proses kompilasi (build) kode sumber TypeScript:
npm run buildTautkan modul secara global ke dalam environment sistem Anda:
npm link
Instalasi Global NPM
npm install -g indocommitPanduan Penggunaan & Fitur
1. Penggunaan Dasar
Berikan pesan commit Bahasa Indonesia sebagai argumen:
indocommit "benerin bug login"Output: fix(auth): fix bug login
2. Mode Interaktif (-i / --interactive)
Jalankan indocommit tanpa argumen atau gunakan flag -i untuk wizard interaktif:
indocommit -i3. Salin ke Clipboard (-c / --copy)
Otomatis menyalin hasil penerjemahan ke clipboard:
indocommit "tambah fitur api" -c4. Eksekusi Git Commit Langsung (-g / --commit)
Otomatis menjalankan git commit -m "<hasil_terjemahan>":
indocommit "benerin bug database" -g5. Integrasi Git Hook (--init-hook)
Pasang otomatis di repositori lokal Anda agar pesan commit Bahasa Indonesia dikonversi otomatis saat melakukan git commit:
indocommit --init-hook6. Konfigurasi Kustom (.indocommitrc.json)
Buat berkas .indocommitrc.json pada root proyek Anda untuk menambahkan kata kunci kustom:
{
"typeKeywords": {
"perbaiki": "fix",
"rilis": "release"
},
"scopeKeywords": {
"pembayaran": "payment"
},
"wordTranslations": {
"pembayaran": "payment",
"gagal": "failed"
}
}