Modul untuk permukaan masalah gitub berlabel "edisi pertama yang baik" (dan varian serupa) untuk setiap organisasi GitHub, repo, atau proyek yang telah ditentukan sebelumnya.
Untuk menggunakan masalah pertama yang baik, Anda harus menginstal beberapa hal:
npm i -g npm Instalasi:
npm install libgfiContoh bagaimana libgfi dapat digunakan dalam aplikasi node.js:
const gfi = require ( 'libgfi' )
let log = async ( ) => {
let issues = await gfi ( 'microsoft' ) // search the 'microsoft' GitHub organization
issues . forEach ( function ( issue ) {
console . log ( '#' + issue . pr + ': ' + issue . title )
} )
}
log ( )Cari repositori tertentu:
const gfi = require ( 'libgfi' )
gfi ( 'golang/dep' )
. then ( ( issues ) => {
console . log ( issues )
} )
. catch ( ( error ) => {
console . error ( error )
} )Melewati satu set organisasi khusus untuk mencari:
const gfi = require ( 'libgfi' )
const options = {
projects : {
node : {
name : 'Node.js' , // Human readable name
q : 'org:nodejs is:issue is:open label:"good first issue"' , //GitHub search query
description : "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine." // Human readable description
}
}
}
let log = async ( ) => {
console . log ( await goodFirstIssue ( 'node' , options ) ) // search the 'node' property
}
log ( )Melewati kredensial GitHub (lihat dokumentasi otentikasi Octokit untuk detail lebih lanjut) untuk otentikasi untuk secara eksponensial meningkatkan batas tarif:
const gfi = require ( 'libgfi' )
const options = {
auth : '<replace_with_your_github_secret_personal_access_token>' // or username/password + 2fa, or app installation access token
}
let log = async ( ) => {
let issues = await gfi ( 'microsoft' , options ) // search the 'microsoft' GitHub organization
issues . forEach ( function ( issue ) {
console . log ( '#' + issue . pr + ': ' + issue . title )
} )
}
log ( )Masalah pertama yang baik memiliki contoh/ direktori, di mana kami mencoba mempertahankan berbagai contoh seberapa baik masalah pertama dapat digunakan sebagai modul. Jika Anda ingin berkontribusi pada contoh, jangan ragu untuk mengirimkan PR! ?
Anda dapat menarik pertanyaan Anda langsung dari pencarian GitHub standar! Jika Anda ingin membangun sesuatu yang sedikit lebih kompleks, Anda dapat menggunakan alat pencarian lanjutan jika Anda ingin membangun kueri khusus yang lebih spesifik: https://github.com/search/advanced
Sebagai CLI, good-first-issue menggunakan kerangka Commander.js CLI. Jika Anda ingin lebih memahami bagaimana CLI kami dibangun, Commander.js didokumentasikan dengan cukup baik. Juga digunakan adalah kapur untuk pewarnaan terminal dan boxen untuk menyederhanakan implementasi kontainer output.
Masalah pertama yang baik mengikuti proses rilis yang relatif ketat yang dimaksudkan untuk memastikan arus rempah -rempah.
| Versi semantik | Jenis | Alasan |
|---|---|---|
| Mayor ( x .xx) | Melanggar perubahan dan peningkatan non-sepele | Memastikan bahwa pengguna akhir dapat mengandalkan masalah pertama yang baik tidak pecah namun mereka mengkonsumsinya |
| Minor (x. X .x) | Penambahan Proyek, Penambahan Fitur Lainnya | Mengikuti standar SEMVER, penambahan proyek dan penambahan fitur adalah peningkatan yang kompatibel dengan ke belakang. Kami biasanya mencoba mengirimkan satu tambahan per minor. |
| Tambalan (xx x ) | Perbaikan bug, peningkatan kecil untuk metadata dan konten | Perbaikan kecil, hampir tidak terlihat untuk meningkatkan UX/DX atau memperbaiki modul |
Kami menggunakan label github dan tonggak sejarah untuk melacak pelepasan. Karena penambahan proyek dihitung sebagai rilis kecil, kami lebih memilih untuk menampilkannya dan mengirimkannya secara individual daripada mengirim banyak sekaligus. Langkah ini dapat direvisi nanti, tetapi untuk saat ini, ia memperkenalkan kebutuhan akan antrian rilis dan menyiapkan segalanya untuk dirilis sebelum mereka benar -benar dirilis.
Kami menggunakan label antrian rilis dan tonggak sejarah untuk mengantri PR yang telah ditinjau dan siap dirilis.
Setelah PR siap dirilis, tonggak sejarah akan ditambahkan yang berkorelasi dengan versi SEMVER yang akan dirilis. Idealnya ini pada akhirnya akan digunakan untuk pelacakan changelog tetapi untuk sekarang ini hanya cara yang baik untuk tetap teratur. Agar hal -hal tetap rapi, begitu versi baru mengirimkan tonggak sejarah akan ditutup.
Jika Anda tertarik untuk memperbaiki masalah dan berkontribusi langsung ke basis kode, silakan lihat dokumen yang berkontribusi.md