Kontribusi
Pertama-tama, terima kasih telah mempertimbangkan untuk berkontribusi pada YAMLResume! Orang-orang seperti Anda yang membuat open source menjadi luar biasa. Kami menyambut baik segala jenis kontribusi, tidak hanya kode. Anda dapat membantu dengan:
- Melaporkan bug
- Membahas keadaan kode saat ini
- Mengirimkan perbaikan
- Mengusulkan fitur baru
- Meningkatkan dokumentasi
Berikut adalah pintasan untuk beberapa tugas spesifik:
CLI
Membangun dan Menguji CLI
Docker
Kustomisasi Docker
Tes
Pengujian dan Jaminan Kualitas
Bahasa Baru
Tambahkan dukungan untuk bahasa baru di YAMLResume.
Memulai
Prasyarat
- [Node.js](version >= 20, cek
.nvmrcatau kolomenginesdipackage.json) - pnpm (versi >= 10, cek kolom
packageManagerdipackage.json) - Git
Pengaturan
-
Fork repository: Klik tombol "Fork" di halaman GitHub YAMLResume. Ini membuat salinan proyek Anda sendiri.
-
Clone fork Anda:
git clone https://github.com/<username-anda>/yamlresume.git cd yamlresume -
Instal dependensi:
pnpm installPerintah ini menginstal semua dependensi yang diperlukan untuk seluruh workspace.
Alur Kerja Pengembangan
Membangun Paket
-
Bangun semua paket sekali:
pnpm build -
Bangun semua paket dan pantau perubahan:
pnpm build:watch -
Bangun untuk produksi (termasuk definisi tipe, minifikasi):
pnpm build:prod
Menjalankan Tes
-
Jalankan tes untuk semua paket:
pnpm test -
Jalankan tes dalam mode watch:
pnpm test:watch -
Jalankan tes dengan laporan cakupan:
pnpm test:cov
Lihat Tes untuk detail dan kasus penggunaan lainnya.
Pemformatan dan Linting Kode
Kami menggunakan Biome untuk pemformatan dan linting kode. Pastikan kode Anda sesuai dengan panduan gaya proyek sebelum melakukan commit.
-
Periksa dan perbaiki masalah secara otomatis:
pnpm check -
Jalankan pemeriksaan tanpa menerapkan perbaikan (berguna untuk CI):
pnpm check:ci
Kami juga menggunakan addlicense untuk memastikan file sumber memiliki header lisensi yang benar. Anda perlu menginstalnya untuk menjalankan perintah berikut.
-
Tambahkan header lisensi yang hilang:
pnpm license:add -
Periksa header lisensi yang hilang:
pnpm license:check
Mengirim Kontribusi
Melaporkan Masalah
Jika Anda menemukan bug atau memiliki permintaan fitur, silakan buka masalah di GitHub. Berikan detail sebanyak mungkin, termasuk:
- Judul yang jelas dan deskriptif.
- Langkah-langkah untuk mereproduksi bug (jika applicable).
- Perilaku yang diharapkan dan perilaku aktual.
- Tangkapan layar atau cuplikan kode (jika membantu).
- Detail lingkungan Anda (OS, versi Node, versi pnpm).
Pull Request (PR)
Kami suka pull request! Berikut panduan singkat:
-
Buat branch: Mulai dari branch
maindan buat nama branch yang deskriptif (mis.,fix/login-bug,feat/new-template-option).git checkout main git pull origin main git checkout -b nama-branch-anda -
Buat perubahan Anda: Tulis kode atau peningkatan dokumentasi Anda.
-
Uji perubahan Anda: Pastikan semua tes lulus:
pnpm test -
Periksa kualitas kode: Pastikan pemeriksaan pemformatan dan linting lulus:
pnpm check -
Commit perubahan Anda: Kami menggunakan Conventional Commits untuk pesan commit, yang diberlakukan oleh
commitlint. Ini membantu mengotomatisasi changelog dan versioning. Pesan commit tipikal terlihat sepertifeat: add new commandataufix: resolve issue with parsing. Anda dapat menggunakanpnpm commitlintuntuk membantu memformat pesan Anda jika perlu, atau gunakan alat seperti git cz jika sudah terinstal.git add . git commit -m "feat: pesan commit deskriptif Anda" -
Push branch Anda:
git push origin nama-branch-anda -
Buka Pull Request: Buka repository YAMLResume di GitHub dan klik tombol "New pull request". Bandingkan branch Anda dengan branch
main. -
Jelaskan PR Anda: Berikan deskripsi yang jelas tentang perubahan yang Anda buat. Tautkan masalah yang relevan (mis., "Closes #123").
-
Tinjauan: Maintainer akan meninjau PR Anda. Atasi setiap umpan balik atau perubahan yang diminta.
-
Merge: Setelah disetujui, PR Anda akan digabungkan. Terima kasih atas kontribusi Anda!
Lisensi
Dengan berkontribusi pada YAMLResume, Anda setuju bahwa kontribusi Anda akan dilisensikan di bawah Lisensi MIT.
Last updated on