Lompat ke konten
dokumentasi.id
Commit a27b09d
v2
Star11 rb

Kamu membaca versi lama. Halaman ini hanya bisa dibaca.

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-3

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.
Fig. 1: Alur kontribusi dari issue sampai mergeKontributor 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-14

JalurYang dilakukan kontributorSyarat yang ditulis panduan
IssueMelaporkan guideline yang belum tercantumBelum pernah muncul di open issues atau pull requests
Pull requestMengerjakan issue terbuka atau mengirim entri baruWajib mengikuti contribution guidelines
DiscussionsMemberi vote dan umpan balikBerlangsung di kategori Resource suggestions

Ketiga jalur itu dijelaskan pada bagian Creating Issues, Submitting Pull Requests, dan Voting and Commenting. contributing.md:7-9 contributing.md:11-13 contributing.md:15-17

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-3

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-31

AturanNilai yang diminta
Bentuk entri[Title](url) - Description.
DeskripsiPendek, jelas, sentence case, diakhiri titik
Teks tautanNama package atau project
UrutanLink dan kategori diurutkan alfabetis
Ukuran pull requestSatu link per pull request
Kategori baruDiperbolehkan, termasuk perbaikan kategori lama

⚠️ Ada dua aturan yang tampak bertentangan. Panduan meminta penyunting teks menghapus trailing whitespace, tetapi .editorconfig mematikan trim_trailing_whitespace khusus untuk *.md agar line break Markdown tidak hilang. contributing.md:31 .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-37

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-6

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.
Fig. 2: Siklus hidup issue dan pull request yang menjadi staleSetelah 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-21

ParameterNilaiAkibat
days-before-stale20Batas hari sebelum label stale dipasang
days-before-close1Jeda satu hari antara status stale dan penutupan
stale-issue-messageThis issue has been hanging around a bit too long, if needed please update or comment.Pesan pada issue
stale-pr-messageThis 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-labelno-issue-activity / no-pr-activityLabel penanda

Nilai days-before-stale dan days-before-close dibaca langsung dari blok with:. .github/workflows/stale.yml:15-16 Pesan dan label yang dipakai berada pada baris berikutnya. .github/workflows/stale.yml:18-21

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-6

BagianIsi
Expected BehaviorHormat dan profesional, fokus pada ide bukan individu, umpan balik konstruktif, terbuka pada perspektif lain
Unacceptable BehaviorPelecehan, diskriminasi, ujaran kebencian, serangan pribadi, trolling, membocorkan informasi sensitif, kontribusi berkualitas rendah berulang
Maintainer ResponsibilityMeminta perubahan, menghapus komentar/issue/pull request, membatasi atau memblokir partisipasi
ScopeIssue, 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-16 code-of-conduct.md:20-26 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-40

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-66

Bagaimana berkas-berkas ini ditata bersama workflow dan aset lain dijelaskan di Struktur Repository.