2
Panduan Kontribusi dan Kode Etik
contributing.md adalah pintu masuk tunggal bagi siapa pun yang ingin menambah entri ke daftar. Berkas itu memuat tiga jalur partisipasi, sembilan aturan format entri, dan satu kriteria kualitas. Perilaku antar peserta diatur terpisah di code-of-conduct.md, sedangkan setiap pull request disaring oleh sebuah template yang meminta kontributor menyatakan sudah membaca panduan dua kali. contributing.md:1-31
Alur dari issue sampai merge
Urutan interaksi di bawah memisahkan lima peran: kontributor, ruang diskusi, pull request, workflow lint, dan maintainer. Gerbang otomatis dijalankan pada setiap pull_request yang menyasar master, sehingga pull request yang tidak lolos lint tidak bisa langsung masuk. Bentuk pipeline lengkapnya dibahas di Pipeline Lint dan CI.
sequenceDiagram
participant C as Contributor
participant D as Issue / Discussions
participant P as Pull Request
participant L as Lint workflow
participant M as Maintainer
C->>D: buka issue atau usul resource
D-->>C: cek duplikat lebih dulu
C->>P: kirim satu link per pull request
P->>L: trigger pull_request ke master
L-->>P: npx awesome-lint
P->>M: minta review
M-->>C: request changes atau close
M->>P: merge
Note over P: 20 hari tanpa aktivitas menjadi stale
%% fig: Alur kontribusi dari issue sampai merge
%% desc: Kontributor membuka issue atau diskusi, mengirim pull request berisi satu link, lint berjalan pada event pull_request ke master, lalu maintainer meminta perubahan atau melakukan merge.Workflow Lint hanya terpicu oleh event pull_request pada branch master, dan satu-satunya langkah pemeriksaannya adalah npx awesome-lint. .github/workflows/lint.yml:1-142
| Jalur | Yang dilakukan kontributor | Syarat yang ditulis panduan |
|---|---|---|
| Issue | Melaporkan guideline yang belum tercantum | Belum pernah muncul di open issues atau pull requests |
| Pull request | Mengerjakan issue terbuka atau mengirim entri baru | Wajib mengikuti contribution guidelines |
| Discussions | Memberi vote dan umpan balik | Berlangsung di kategori Resource suggestions |
Ketiga jalur itu dijelaskan pada bagian Creating Issues, Submitting Pull Requests, dan Voting and Commenting. contributing.md:7-93 contributing.md:11-134 contributing.md:15-175
Template pull request menaruh janji itu di baris pertama, sebelum kontributor menulis apa pun. Teksnya menyatakan kontributor sudah membaca contribution guidelines dua kali dan menyadari bahwa kelalaian membuang waktu maintainer. .github/pull_request_template.md:1-36
Aturan format entri
Sembilan butir di bagian Contribution Guidelines mengikat bentuk setiap baris daftar. Butir pertama menuntut pencarian saran lama lebih dulu agar tidak ada duplikat, dan butir terakhir mengatur whitespace di penyunting teks. contributing.md:21-317
| Aturan | Nilai yang diminta |
|---|---|
| Bentuk entri | [Title](url) - Description. |
| Deskripsi | Pendek, jelas, sentence case, diakhiri titik |
| Teks tautan | Nama package atau project |
| Urutan | Link dan kategori diurutkan alfabetis |
| Ukuran pull request | Satu link per pull request |
| Kategori baru | Diperbolehkan, termasuk perbaikan kategori lama |
⚠️ Ada dua aturan yang tampak bertentangan. Panduan meminta penyunting teks menghapus trailing whitespace, tetapi
.editorconfigmematikantrim_trailing_whitespacekhusus untuk*.mdagar line break Markdown tidak hilang. contributing.md:318 .editorconfig:11-12
Kriteria kualitas
Bagian Quality Standards hanya menetapkan satu syarat: project yang dicantumkan harus luas dipakai dan bermanfaat bagi komunitas. Tidak ada ambang angka, jumlah bintang, atau batas usia project di dalam berkas panduan. contributing.md:33-379
Siklus stale
Workflow stale berjalan menurut jadwal cron: "59 23 * * *", jadi pemeriksaan berulang setiap hari tanpa dipicu oleh aktivitas manusia. .github/workflows/stale.yml:3-610
graph LR
Fresh["Issue / PR aktif"] --> Stale["label no-issue-activity / no-pr-activity"]
Fresh --> Merged["merge"]
Stale --> Warned["stale message dikirim"]
Warned --> Closed["ditutup"]
Warned --> Fresh
style Fresh fill:#2d7d46,color:#fff
style Merged fill:#8b5cf6,color:#fff
style Stale fill:#f59e0b,color:#000
style Warned fill:#f59e0b,color:#000
style Closed fill:#dc2626,color:#fff
%% fig: Siklus hidup issue dan pull request yang menjadi stale
%% desc: Setelah 20 hari tanpa aktivitas, issue atau pull request diberi label stale dan pesan pengingat, lalu ditutup satu hari kemudian bila tetap sepi tanggapan.Komponen actions/stale@v1 diberi lima parameter yang menentukan perilaku di atas. .github/workflows/stale.yml:13-2111
| Parameter | Nilai | Akibat |
|---|---|---|
days-before-stale | 20 | Batas hari sebelum label stale dipasang |
days-before-close | 1 | Jeda satu hari antara status stale dan penutupan |
stale-issue-message | This issue has been hanging around a bit too long, if needed please update or comment. | Pesan pada issue |
stale-pr-message | This PR has been hanging around a bit too long, please update/rebase or comment as needed. | Pesan pada pull request |
stale-issue-label / stale-pr-label | no-issue-activity / no-pr-activity | Label penanda |
Nilai days-before-stale dan days-before-close dibaca langsung dari blok with:. .github/workflows/stale.yml:15-1612 Pesan dan label yang dipakai berada pada baris berikutnya. .github/workflows/stale.yml:18-2113
Kode etik
code-of-conduct.md menyatakan tujuan project: berbagi pedoman yang berguna, praktis, dan berkualitas, dengan ruang yang konstruktif serta terhormat. code-of-conduct.md:3-614
| Bagian | Isi |
|---|---|
| Expected Behavior | Hormat dan profesional, fokus pada ide bukan individu, umpan balik konstruktif, terbuka pada perspektif lain |
| Unacceptable Behavior | Pelecehan, diskriminasi, ujaran kebencian, serangan pribadi, trolling, membocorkan informasi sensitif, kontribusi berkualitas rendah berulang |
| Maintainer Responsibility | Meminta perubahan, menghapus komentar/issue/pull request, membatasi atau memblokir partisipasi |
| Scope | Issue, pull request, discussions, dan setiap interaksi terkait project |
| Reporting | [email protected], ditangani dengan diskresi dan dinilai menurut konteks serta tingkat keparahan |
Lima bagian itu adalah Expected Behavior, Unacceptable Behavior, Maintainer Responsibility, Scope, dan Reporting. code-of-conduct.md:10-1615 code-of-conduct.md:20-2616 code-of-conduct.md:30-40 code-of-conduct.md:44-49 code-of-conduct.md:53-59
Tindakan maintainer tidak dibatasi pada penolakan kontribusi. Kode etik juga menyebut penghapusan komentar, issue, atau pull request, serta pembatasan dan pemblokiran partisipasi bila diperlukan. code-of-conduct.md:34-4020
Catatan penutup menegaskan bahwa project ini digerakkan oleh pedoman, dan tujuannya bukan formalitas ketat melainkan lingkungan yang bersih, terhormat, dan bernilai tinggi. code-of-conduct.md:63-6621
Bagaimana berkas-berkas ini ditata bersama workflow dan aset lain dijelaskan di Struktur Repository.