對於任何GitHub組織,回購或預定義的項目,一個標記為“良好的第一期”(和類似變體)標記為“良好的第一期”的模塊。
要使用良好的第一期,您需要安裝一些內容:
npm i -g npm 安裝:
npm install libgfilibgfi如何在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 ( )好的第一期有一個示例/目錄,在其中我們嘗試維護各種示例,說明如何將良好的第一期用作模塊。如果您想為示例做出貢獻,請隨時提交公關! ?
您可以直接從標準的GitHub搜索中提取查詢!如果要構建一些更複雜的東西,則可以使用高級搜索工具,如果要構建更具體的自定義查詢:https://github.com/search/advanced
作為一個CLI, good-first-issue使用Commander.js CLI框架。如果您想更好地了解我們的CLI的構建方式,請記錄得很好。還使用的是用於終端著色的粉筆和Boxen來簡化輸出容器實現。
良好的第一個問題遵循相對嚴格的發布過程,旨在確保香料流。
| 語義版本 | 類型 | 原因 |
|---|---|---|
| 主要( x .xx) | 破壞變化和非平凡升級 | 確保最終用戶可以依靠良好的第一個問題,而不會破裂,但是他們正在消耗它 |
| 次要( x。x.x ) | 項目增加,其他功能添加 | 遵循SEMVER標準,項目添加和功能添加是向後兼容的增強功能。我們通常會嘗試每無小的添加。 |
| 補丁(xx x ) | 錯誤修復,對元數據和內容的較小增強 | 微小的,幾乎看不見的修復程序可以改善UX/DX或修復模塊 |
我們使用GitHub標籤和里程碑來跟踪發行版。由於項目添加算作較小的版本,因此我們更喜歡將它們置於單獨運輸,而不是一次運輸。該速度可能會在稍後進行修訂,但就目前而言,它介紹了釋放隊列的需求,並將其設置為在實際發布之前發布的內容。
我們使用版本的隊列標籤和里程碑來排隊審查並準備發行的PR。
一旦準備發行公關,將添加一個里程碑,即與SEMVER版本相關聯。理想情況下,這最終將用於ChangElog跟踪,但就目前而言,這只是保持組織的好方法。為了使事情保持整潔,一旦新版本發貨,里程碑將被關閉。
如果您有興趣解決問題並直接為代碼庫做出貢獻,請參閱文檔貢獻。