|
1 | | -# 貢獻於 Cline |
| 1 | +# 貢獻至 Cline |
2 | 2 |
|
3 | | -我們很高興您有興趣為 Cline 做出貢獻。無論您是修復錯誤、添加功能還是改進我們的文檔,每一個貢獻都讓 Cline 更加智能!為了保持我們的社區充滿活力和歡迎,所有成員必須遵守我們的[行為準則](CODE_OF_CONDUCT.md)。 |
| 3 | +我們非常感謝您有意願貢獻至 Cline。無論是修正程式錯誤、新增功能或改善文件,每一份貢獻都能讓 Cline 更加出色!為了維持社群的活力與友善,所有成員都必須遵守我們的[行為準則](CODE_OF_CONDUCT.md)。 |
4 | 4 |
|
5 | | -## 報告錯誤或問題 |
| 5 | +## 回報程式錯誤或問題 |
6 | 6 |
|
7 | | -錯誤報告有助於讓 Cline 對每個人都更好!在創建新問題之前,請[搜索現有問題](https://github.com/cline/cline/issues)以避免重複。當您準備報告錯誤時,請前往我們的[問題頁面](https://github.com/cline/cline/issues/new/choose),您會找到一個模板來幫助您填寫相關信息。 |
| 7 | +程式錯誤回報能幫助 Cline 變得更好!在建立新的議題之前,請先[搜尋現有議題](https://github.com/cline/cline/issues),避免重複。當您準備好回報程式錯誤時,請前往我們的[議題頁面](https://github.com/cline/cline/issues/new/choose),您會找到協助填寫相關資訊的範本。 |
8 | 8 |
|
9 | 9 | <blockquote class='warning-note'> |
10 | | - 🔐 <b>重要:</b> 如果您發現安全漏洞,請使用<a href="https://github.com/cline/cline/security/advisories/new">Github 安全工具私下報告</a>。 |
| 10 | + 🔐 <b>重要:</b> 若您發現安全性漏洞,請使用 <a href="https://github.com/cline/cline/security/advisories/new">GitHub 安全性工具進行私密回報</a>。 |
11 | 11 | </blockquote> |
12 | 12 |
|
13 | | -## 決定要做什麼 |
| 13 | +## 決定要處理的工作 |
14 | 14 |
|
15 | | -尋找一個好的首次貢獻?查看標有["good first issue"](https://github.com/cline/cline/labels/good%20first%20issue)或["help wanted"](https://github.com/cline/cline/labels/help%20wanted)的問題。這些是專門為新貢獻者和我們希望得到幫助的領域策劃的! |
| 15 | +想找適合第一次貢獻的工作嗎?請檢視標示為[「good first issue」](https://github.com/cline/cline/labels/good%20first%20issue)或[「help wanted」](https://github.com/cline/cline/labels/help%20wanted)的議題。這些議題特別適合新手貢獻者,我們也非常歡迎您的協助! |
16 | 16 |
|
17 | | -我們也歡迎對我們[文檔](https://github.com/cline/cline/tree/main/docs)的貢獻!無論是修正錯別字、改進現有指南還是創建新的教育內容 - 我們希望建立一個由社區驅動的資源庫,幫助每個人充分利用 Cline。您可以從深入研究 `/docs` 並尋找需要改進的領域開始。 |
| 17 | +我們也歡迎對[文件](https://github.com/cline/cline/tree/main/docs)的貢獻!無論是修正錯字、改善現有指南或建立新的教學內容,我們都期待能建立一個由社群共同維護的知識庫,協助每個人充分運用 Cline。您可以從 `/docs` 開始,尋找需要改善的地方。 |
18 | 18 |
|
19 | | -如果您計劃開發一個更大的功能,請先創建一個[功能請求](https://github.com/cline/cline/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop),以便我們討論它是否符合 Cline 的願景。 |
| 19 | +若您計畫處理較大的功能,請先建立一個[功能請求](https://github.com/cline/cline/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop),以便我們討論該功能是否符合 Cline 的願景。 |
20 | 20 |
|
21 | | -## 開發設置 |
| 21 | +## 開發環境設定 |
22 | 22 |
|
23 | | -1. **VS Code 擴展** |
| 23 | +1. **VS Code 擴充套件** |
| 24 | + - 開啟專案時,VS Code 會提示您安裝建議的擴充套件 |
| 25 | + - 這些擴充套件是開發所需,請接受所有安裝提示 |
| 26 | + - 若您已關閉提示,可從擴充套件面板手動安裝 |
24 | 27 |
|
25 | | - - 打開項目時,VS Code 會提示您安裝推薦的擴展 |
26 | | - - 這些擴展是開發所需的 - 請接受所有安裝提示 |
27 | | - - 如果您忽略了提示,可以從擴展面板手動安裝它們 |
| 28 | +2. **本機開發** |
| 29 | + - 執行 `npm run install:all` 安裝相依套件 |
| 30 | + - 執行 `npm run test` 在本機執行測試 |
| 31 | + - 提交 PR 前,執行 `npm run format:fix` 格式化您的程式碼 |
28 | 32 |
|
29 | | -2. **本地開發** |
30 | | - - 運行 `npm run install:all` 安裝依賴項 |
31 | | - - 運行 `npm run test` 本地運行測試 |
32 | | - - 提交 PR 之前,運行 `npm run format:fix` 格式化您的代碼 |
| 33 | +## 撰寫與提交程式碼 |
33 | 34 |
|
34 | | -## 編寫和提交代碼 |
| 35 | +任何人都可以貢獻程式碼至 Cline,但我們要求您遵守以下指引,以確保您的貢獻能順利整合: |
35 | 36 |
|
36 | | -任何人都可以為 Cline 貢獻代碼,但我們要求您遵循以下指南,以確保您的貢獻能夠順利集成: |
| 37 | +1. **保持 Pull Request 聚焦** |
| 38 | + - 每個 PR 限制在單一功能或錯誤修正 |
| 39 | + - 將較大的變更拆分成較小且相關的 PR |
| 40 | + - 將變更拆分成邏輯性的提交,以便獨立審查 |
37 | 41 |
|
38 | | -1. **保持 Pull Requests 集中** |
39 | | - |
40 | | - - 將 PR 限制在單個功能或錯誤修復 |
41 | | - - 將較大的更改拆分為較小的相關 PR |
42 | | - - 將更改分為邏輯提交,可以獨立審查 |
43 | | - |
44 | | -2. **代碼質量** |
45 | | - |
46 | | - - 運行 `npm run lint` 檢查代碼風格 |
47 | | - - 運行 `npm run format` 自動格式化代碼 |
48 | | - - 所有 PR 必須通過包括 lint 和格式化在內的 CI 檢查 |
| 42 | +2. **程式碼品質** |
| 43 | + - 執行 `npm run lint` 檢查程式碼風格 |
| 44 | + - 執行 `npm run format` 自動格式化程式碼 |
| 45 | + - 所有 PR 必須通過包含程式碼風格檢查與格式化的 CI 檢查 |
49 | 46 | - 提交前解決所有 ESLint 警告或錯誤 |
50 | | - - 遵循 TypeScript 最佳實踐並保持類型安全 |
| 47 | + - 遵循 TypeScript 最佳實務並維持型別安全 |
51 | 48 |
|
52 | 49 | 3. **測試** |
53 | | - |
54 | | - - 為新功能添加測試 |
55 | | - - 運行 `npm test` 確保所有測試通過 |
56 | | - - 如果您的更改影響現有測試,請更新它們 |
57 | | - - 在適當的地方包括單元測試和集成測試 |
58 | | - |
59 | | -4. **提交指南** |
60 | | - |
61 | | - - 撰寫清晰、描述性的提交消息 |
62 | | - - 使用常規提交格式(例如 "feat:"、"fix:"、"docs:") |
63 | | - - 在提交中引用相關問題,使用 #issue-number |
64 | | - |
65 | | -5. **提交前** |
66 | | - |
67 | | - - 將您的分支重新基於最新的 main |
68 | | - - 確保您的分支成功構建 |
69 | | - - 仔細檢查所有測試是否通過 |
70 | | - - 檢查您的更改是否有任何調試代碼或控制台日誌 |
71 | | - |
72 | | -6. **Pull Request 描述** |
73 | | - - 清楚地描述您的更改內容 |
74 | | - - 包括測試更改的步驟 |
75 | | - - 列出任何重大更改 |
76 | | - - 為 UI 更改添加截圖 |
| 50 | + - 為新功能新增測試 |
| 51 | + - 執行 `npm test` 確保所有測試通過 |
| 52 | + - 若您的變更影響現有測試,請更新測試 |
| 53 | + - 適當時包含單元測試與整合測試 |
| 54 | + |
| 55 | +4. **使用 Changesets 管理版本** |
| 56 | + - 使用 `npm run changeset` 為任何面向使用者的變更建立 changeset |
| 57 | + - 選擇適當的版本升級: |
| 58 | + - `major` 重大變更 (1.0.0 → 2.0.0) |
| 59 | + - `minor` 新功能 (1.0.0 → 1.1.0) |
| 60 | + - `patch` 錯誤修正 (1.0.0 → 1.0.1) |
| 61 | + - 撰寫清晰且描述性的 changeset 訊息,說明影響 |
| 62 | + - 僅文件變更不需建立 changeset |
| 63 | + |
| 64 | +5. **提交指引** |
| 65 | + - 撰寫清晰且描述性的提交訊息 |
| 66 | + - 使用慣用提交格式(例如:「feat:」、「fix:」、「docs:」) |
| 67 | + - 在提交中引用相關議題,使用 #issue-number |
| 68 | + |
| 69 | +6. **提交前檢查** |
| 70 | + - 將您的分支 rebase 到最新的 main |
| 71 | + - 確保您的分支可以成功建置 |
| 72 | + - 再次確認所有測試通過 |
| 73 | + - 檢查您的變更是否包含除錯程式碼或 console 紀錄 |
| 74 | + |
| 75 | +7. **Pull Request 說明** |
| 76 | + - 清楚描述您的變更內容 |
| 77 | + - 包含測試變更的步驟 |
| 78 | + - 列出任何重大變更 |
| 79 | + - 若有使用者介面變更,請附上截圖 |
77 | 80 |
|
78 | 81 | ## 貢獻協議 |
79 | 82 |
|
80 | | -通過提交 pull request,您同意您的貢獻將根據與項目相同的許可證([Apache 2.0](LICENSE))進行許可。 |
| 83 | +提交 Pull Request 即表示您同意您的貢獻將依照專案相同的授權條款([Apache 2.0](LICENSE))進行授權。 |
81 | 84 |
|
82 | | -記住:貢獻於 Cline 不僅僅是編寫代碼 - 這是關於成為一個塑造 AI 輔助開發未來的社區的一部分。讓我們一起創造一些驚人的東西!🚀 |
| 85 | +請記住:貢獻至 Cline 不只是撰寫程式碼,更是成為塑造 AI 輔助開發未來的社群一份子。讓我們一起打造令人驚艷的成果吧!🚀 |
0 commit comments