# 問題回報 {#issue-reporting}

作為 Tuist 用戶，你可能會遇到錯誤或意外行為。如果發生這種情況，我們鼓勵你回報這些問題，以便我們可以修復它們。

## GitHub Issues 是我哋嘅問題追蹤平台 {#github-issues-is-our-ticketing-platform}

問題應該喺 GitHub 上以 [GitHub issues](https://github.com/tuist/tuist/issues) 形式回報，而唔係喺 Slack 或其他平台。GitHub 更適合追蹤同管理問題，更接近代碼庫，並允許我哋追蹤問題嘅進度。此外，佢鼓勵對問題進行詳細描述，迫使回報者思考問題並提供更多背景資訊。

## 背景資訊至關重要 {#context-is-crucial}

缺乏足夠背景資訊嘅問題將被視為不完整，作者將被要求提供額外背景資訊。如果未提供，該問題將被關閉。試下咁樣諗：你提供嘅背景資訊越多，我哋就越容易理解問題並修復它。所以如果你希望你嘅問題得到修復，請盡可能提供最多背景資訊。試下回答以下問題：

- 你當時試圖做什麼？
- 你嘅依賴圖係點樣嘅？
- 你使用緊邊個版本嘅 Tuist？
- 這是否阻礙咗你？

我哋亦都要求你提供一個最小化嘅 **可重現項目**。

## 可重現項目 {#reproducible-project}

### 什麼是可重現項目？ {#what-is-a-reproducible-project}

可重現項目係一個小型 Tuist 項目，用於演示問題——通常這個問題係由 Tuist 中嘅錯誤引起。你嘅可重現項目應該包含清晰演示錯誤所需嘅最少功能。

### 為什麼你應該創建一個可重現嘅測試案例？ {#why-should-you-create-a-reproducible-test-case}

可重現項目讓我哋可以隔離問題嘅原因，這係修復問題嘅第一步！任何錯誤報告中最重要嘅部分係描述重現錯誤所需嘅確切步驟。

可重現項目係分享導致錯誤嘅特定環境嘅好方法。你嘅可重現項目係幫助那些想幫助你嘅人嘅最佳方式。

### 創建可重現項目嘅步驟 {#steps-to-create-a-reproducible-project}

- 創建一個新嘅 git 倉庫。
- 喺倉庫目錄中使用 `tuist init` 初始化項目。
- 添加重現你所見錯誤所需嘅代碼。
- 發布代碼（你嘅 GitHub 帳戶係一个好地方），然後喺創建問題時鏈接到它。

### 可重現項目嘅好處 {#benefits-of-reproducible-projects}

- **更小嘅影響範圍：** 通過移除除錯誤之外嘅一切，你無需挖掘即可找到錯誤。
- **無需發布機密代碼：** 你可能無法發布你嘅主要站點（出於多種原因）。將其一小部分重新製作成可重現嘅測試案例，允許你公開演示問題而無需暴露任何機密代碼。
- **錯誤證明：** 有時錯誤係由你機器上某些設置組合引起嘅。可重現嘅測試案例允許貢獻者下載你嘅構建並喺他們嘅機器上測試它。這有助於驗證並縮小問題原因嘅範圍。
- **獲得修復錯誤嘅幫助：** 如果其他人可以重現你嘅問題，他們通常有很大機會修復該問題。如果無法首先重現錯誤，幾乎不可能修復它。
