Skip to content

fa33az/indocommit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Indocommit Logo

npm version License: MIT TypeScript

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): Menggunakan commander.js untuk mengurai argumen terminal, flag operasional, serta integrasi modul.
  • Interactive (interactive.ts): Menggunakan @inquirer/prompts untuk wizard interaktif pembuatan commit message.
  • Git Integration (git.ts): Penanganan integrasi Git hook (prepare-commit-msg) dan eksekusi langsung git commit.
  • Clipboard (clipboard.ts): Penyalinan otomatis hasil konversi ke clipboard sistem.
  • Config Loader (config.ts): Memuat konfigurasi kustom .indocommitrc.json dari 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

  1. Kloning repositori ini ke dalam direktori lokal Anda:

    git clone https://github.com/fa33az/indocommit.git
    cd indocommit
  2. Unduh dan instal seluruh dependensi yang dibutuhkan:

    npm install
  3. Jalankan proses kompilasi (build) kode sumber TypeScript:

    npm run build
  4. Tautkan modul secara global ke dalam environment sistem Anda:

    npm link

Instalasi Global NPM

npm install -g indocommit

Panduan 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 -i

3. Salin ke Clipboard (-c / --copy)

Otomatis menyalin hasil penerjemahan ke clipboard:

indocommit "tambah fitur api" -c

4. Eksekusi Git Commit Langsung (-g / --commit)

Otomatis menjalankan git commit -m "<hasil_terjemahan>":

indocommit "benerin bug database" -g

5. Integrasi Git Hook (--init-hook)

Pasang otomatis di repositori lokal Anda agar pesan commit Bahasa Indonesia dikonversi otomatis saat melakukan git commit:

indocommit --init-hook

6. 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"
  }
}

Lisensi dan Penulis

  • Penulis: fa33az
  • Lisensi: Proyek sumber terbuka ini didistribusikan di bawah Lisensi MIT. Silakan tinjau berkas LICENSE untuk informasi lebih detail.

About

CLI tool to translate Indonesian commit messages into standard English Conventional Commits

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages