ปัญหาโมดูลสู่พื้นผิว GitHub ที่มีข้อความว่า "ปัญหาแรกที่ดี" (และตัวแปรที่คล้ายกัน) สำหรับองค์กร GitHub, Repo หรือโครงการที่กำหนดไว้ล่วงหน้า
หากต้องการใช้ปัญหาแรกที่ดีคุณจะต้องติดตั้งบางสิ่ง:
npm i -g npm การติดตั้ง:
npm install libgfiตัวอย่างของวิธีการใช้ libgfi ในแอปพลิเคชัน 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 ( )ค้นหาที่เก็บเฉพาะ:
const gfi = require ( 'libgfi' )
gfi ( 'golang/dep' )
. then ( ( issues ) => {
console . log ( issues )
} )
. catch ( ( error ) => {
console . error ( error )
} )ผ่านชุดขององค์กรที่กำหนดเองเพื่อค้นหา:
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 ( )ผ่านข้อมูลรับรอง GitHub (ดูเอกสารการรับรองความถูกต้องของ Octokit สำหรับรายละเอียดเพิ่มเติม) สำหรับการตรวจสอบสิทธิ์เพื่อเพิ่มขีด จำกัด อัตราแบบทวีคูณ:
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 ( )ปัญหาแรกที่ดีมีตัวอย่าง/ ไดเรกทอรีซึ่งเราพยายามรักษาตัวอย่างต่าง ๆ ว่าปัญหาแรกที่สามารถใช้เป็นโมดูลได้อย่างไร หากคุณต้องการมีส่วนร่วมในตัวอย่างโปรดอย่าลังเลที่จะส่ง PR! -
คุณสามารถดึงข้อความค้นหาของคุณโดยตรงจากการค้นหา GitHub มาตรฐาน! หากคุณต้องการสร้างบางสิ่งที่ซับซ้อนขึ้นอีกเล็กน้อยคุณสามารถใช้เครื่องมือค้นหาขั้นสูงหากคุณต้องการสร้างแบบสอบถามที่กำหนดเองที่เฉพาะเจาะจงมากขึ้น: https://github.com/search/advanced
ในฐานะที่เป็น CLI good-first-issue ใช้กรอบการทำงานของผู้บัญชาการ js CLI หากคุณต้องการเข้าใจว่า CLI ของเราสร้างขึ้นได้อย่างไรผู้บัญชาการ. js ได้รับการบันทึกไว้อย่างดี นอกจากนี้ยังใช้เป็นชอล์กสำหรับการระบายสีเทอร์มินัลและ Boxen เพื่อทำให้การใช้งานคอนเทนเนอร์เอาท์พุทง่ายขึ้น
ปัญหาแรกที่ดีเป็นไปตามกระบวนการวางจำหน่ายที่ค่อนข้างเข้มงวดเพื่อให้แน่ใจว่าการไหลของเครื่องเทศ
| เวอร์ชันความหมาย | พิมพ์ | เหตุผล |
|---|---|---|
| Major ( x .xx) | ทำลายการเปลี่ยนแปลงและการอัพเกรดที่ไม่สำคัญ | ทำให้มั่นใจได้ว่าผู้ใช้ปลายทางสามารถพึ่งพาปัญหาแรกที่ดีไม่ได้ทำลาย แต่พวกเขากำลังบริโภค |
| ผู้เยาว์ (x. x .x) | เพิ่มเติมโครงการเพิ่มเติมคุณสมบัติอื่น ๆ | ตามมาตรฐาน SEMVER การเพิ่มโครงการและการเพิ่มคุณสมบัติเป็นการปรับปรุงที่เข้ากันได้ย้อนหลัง โดยทั่วไปเราพยายามจัดส่งหนึ่งรายการต่อผู้เยาว์ |
| แพตช์ (xx x ) | การแก้ไขข้อผิดพลาดการปรับปรุงเล็กน้อยเป็นข้อมูลเมตาและเนื้อหา | การแก้ไขเล็ก ๆ น้อย ๆ ที่มองไม่เห็นเพื่อปรับปรุง UX/DX หรือแก้ไขโมดูล |
เราใช้ทั้งฉลาก GitHub และเหตุการณ์สำคัญเพื่อติดตามการเผยแพร่ เนื่องจากการเพิ่มโครงการนับเป็นการเปิดตัวเล็กน้อยเราจึงต้องการพื้นที่เหล่านั้นและจัดส่งเป็นรายบุคคลแทนที่จะจัดส่งจำนวนมากในครั้งเดียว จังหวะนี้อาจได้รับการแก้ไขในภายหลัง แต่สำหรับตอนนี้มันแนะนำความจำเป็นในการออกคิวและการตั้งค่าสิ่งต่าง ๆ เพื่อให้ได้รับการปล่อยตัวก่อนที่พวกเขาจะได้รับการปล่อยตัวจริง
เราใช้ฉลากคิวการปล่อยและเหตุการณ์สำคัญในการเข้าคิว PR ที่ได้รับการตรวจสอบและพร้อมที่จะเปิดตัว
เมื่อ PR พร้อมที่จะเปิดตัวจะมีการเพิ่มเหตุการณ์สำคัญที่มีความสัมพันธ์กับเวอร์ชัน semver มันจะถูกปล่อยออกมาใน ที่สุด สิ่งนี้จะถูกใช้สำหรับการติดตามการเปลี่ยนแปลง แต่ตอนนี้มันเป็นวิธีที่ดีในการจัดระเบียบ เพื่อให้สิ่งต่าง ๆ เป็นระเบียบเมื่อเวอร์ชันใหม่ได้จัดส่งเหตุการณ์สำคัญจะถูกปิด
หากคุณสนใจที่จะแก้ไขปัญหาและมีส่วนร่วมโดยตรงไปยังฐานรหัสโปรดดูเอกสารที่มีส่วนร่วม