# SDK 開發流程

## IDE 開啟方式
請開啟 SDK 項目，**不要**直接開啟主項目或是根目錄。
* **範例**：開發 `networks_sdk`，請開啟 `packages/networks_sdk`

## 操作流程

1. **開發**：在功能分支開發，開發完成後手動更新 `pubspec.yaml` 的版本號。
2. **審核**：提交 PR，通過測試與 Code Review，合併進入 `dev` 分支。
3. **發布**：
   * 執行 `melos run publish:sdk -- <sdk-name> <version>`
      * **範例**：`melos run publish:sdk -- networks_sdk v1.1.0`
4. **完成**：Tag 已推送到遠端，其他專案可以引用該 Tag。

## 特殊情況
在一些緊急情況，或是特別難單獨在sdk解決的問題，必須跟主項目一起操作才能重現時，
可以透過指令執行：
melos bootstrap:dev

執行後會產生一個 pubspec.overrides.yaml 的檔案，會自動鏈結所有項目強制讀取這個yaml
此時主項目中pubspec.yaml的sdk標籤引用會失效，會直接讀取sdk本地內容，可以幫助解決問題。

## 注意
如果使用特殊情況開發，開發完後，必須遵守：
1. 執行 melos bootstrap:clean 刪除pubspec.overrides.yaml 的檔案(不可提交到gitea)
2. 一樣必須走開發流程，不可主項目修改程式與sdk修改提交到同個commit。



