diff --git a/prompts/sdlc-feat.md b/prompts/sdlc-feat.md index 350fa42..d29a7ae 100644 --- a/prompts/sdlc-feat.md +++ b/prompts/sdlc-feat.md @@ -197,7 +197,11 @@ node scripts/commit-split.js --path <目標專案路徑> --type feat \ ``` `--type` 是**這次程式碼變更**的類型(`feat`/`fix`/`refactor`…);測試、文件與設定檔 -由腳本自己認出來,各自成批,不必也不能指定。 +由腳本自己認出來,各自成批,不必也不能指定。`--body` 寫「為什麼這樣做」,那一段會接在 +每一顆 commit 的首行之後——本 repo 的歷史靠它讀得懂。 + +某一批提交失敗時,錯誤會列出**前面已經建立的那幾顆 commit**。修掉原因之後重跑即可, +已建立的不會重複;不要自己去回捲歷史。 `--scope` 只在某一批有多個檔案時才需要:單檔那批的 scope 就是檔名。試跑會印出將建立的 每一顆 commit 與它各自的檔案,確認無誤後拿掉旗標再跑一次。 @@ -236,21 +240,29 @@ node scripts/commit-split.js ... --files scripts/claim.js,test/claim.test.js ### 14. 開 PR 並停錶 ``` -node scripts/pr-create.js --repo --head <分支名> \ - --body-file <描述檔> --index <工作包編號> --dry-run +node scripts/pr-create.js --repo <目標專案 owner/name> --head <分支名> \ + --base <來源分支> --body-file <描述檔> \ + --issue-repo <工作包議題的 owner/name> --index <工作包編號> --dry-run ``` -標題由腳本設為分支名,不必也不能另外指定。`--index` 是工作包議題編號,PR 開出去之後 -它會停掉那顆議題上的碼錶。 +`--repo` 是**程式碼所在的 repo**(PR 開在那裡),`--issue-repo` 是**工作包議題所在的 +repo**(錶停在那裡)。兩者常常不是同一個——議題在需求的 repo,程式碼在 `repos` 列的 +那幾個。同一個 repo 時 `--issue-repo` 可以省略。 + +`--base` 就是第一段問到的那支來源分支,要明講——腳本不替你猜 `master` 還是 `main`。 +標題由腳本設為分支名,不必也不能另外指定。 順序是**先開 PR 再停錶**,而且 PR 沒開成就不停錶——工時要記在真的有做事的那段時間上。 錶本來就沒在跑不算失敗(`碼錶已停` 會是 `false` 並附一句說明),PR 仍然開出去了。 +重跑不會開出第二顆 PR:同一個 head 已經有開著的 PR 就回傳它(`created` 為 `false`), +然後照樣停錶——那一步可能正是上次中斷的地方。 + ### 15. 回報 -- PR 的網址與編號、標題(等同分支名) +- PR 的網址與編號、標題(等同分支名),以及它是這次新開的還是接上既有的 - 建立了哪幾顆 commit -- 碼錶是否已停 +- 碼錶是否已停;沒停的話把腳本回的那句說明一起帶出來 - 議題上還有沒有沒勾完的待辦(理論上應該沒有;有的話要說出來) ## 邊界