feat/delegation-markers/main #64

Merged
admin merged 3 commits from feat/delegation-markers/main into master 2026-09-18 01:19:39 +00:00
4 changed files with 36 additions and 8 deletions
Showing only changes of commit 84cd8fc41f - Show all commits
+1 -1
View File
@@ -19,7 +19,7 @@
| `prompts/` | 流程正本(`sdlc-{plan,analyze,feat,fix,sync,report}.md`),唯一的事實來源 | 平台中立 markdown,不含任何平台專屬語法 |
| `scripts/` | 所有副作用(Gitea API、git、檔案系統)的唯一出口 | Node、零外部套件,僅用內建 `fetch` / `child_process` / `fs` |
| `templates/` | 所有產出格式(議題、PR、報表、總覽網頁) | 以 `{{變數}}` 佔位,不含邏輯。唯一例外是 `overview-artifact.html`:它是一份要在瀏覽器裡開的網頁,需要一段把 mermaid 圖畫出來的腳本 |
| `references/` | 規則正本(實作規範、註解格式對照表、可行性檢查清單) | 由流程正本指名讀取,不自行散落於 prompts |
| `references/` | 規則正本(實作規範、註解格式對照表、可行性檢查清單、委派判準) | 由流程正本指名讀取,不自行散落於 prompts |
| `bin/tea-sdlc.js` | 指令入口:取走子指令,其餘 argv 原樣交出去 | 不含任何平台目錄知識,也不自己動手做事 |
| `scripts/install.js` | 平台偵測與轉接檔產生/移除 | 唯一知道各平台目錄結構的地方 |
| `scripts/install-verify.js` | 安裝後走一遍叫用鏈(轉接檔 → PATH 上的 tea-sdlc → 流程正本) | 只認拿到的轉接檔路徑,不自己推導平台目錄;不碰網路 |
+12 -3
View File
@@ -26,6 +26,13 @@ Milestone、看板與人天估算補上。
錶已經跑在同一顆議題上時起錶什麼都不做,所以 plan 接著跑 analyze 不會把累積的時間
切成兩段。**錶不跨階段跑**,也**不碰別顆議題上的錶**。
## 〔可委派〕的意思
標題後綴 `〔可委派〕` 的步驟只在意結果:**你的環境若能把工作交給子代理,就交出去,
只把結果帶回來;不能就自己做。** 沒有這個後綴的步驟一律自己做。
怎麼挑、為什麼這樣挑,見 `references/delegation.md`——判準只有那一份,這裡不複述。
## 第一段:可行性分析
### 1. 讀議題
@@ -59,7 +66,7 @@ node scripts/timer.js --repo <owner/name> --index <需求議題編號> --dry-run
請他自己去停**,不要代勞:那一段時間該記在哪顆議題上只有他知道。順帶說明停錶不會動到
任何既有的工作樹——碼錶只管時間、工作樹只管檔案。
### 3. 對四份清單列出疑點
### 3. 對四份清單列出疑點 〔可委派〕
依序讀這四份規則正本,逐條對照議題內容:
@@ -165,7 +172,7 @@ no-op」。確認無誤後拿掉該旗標再跑一次。
工作包建好之後,把它們之間的關係與時程補上。做完這一段,看板上呈現的才是真實的
開發順序,而不是一堆平鋪的議題。
### 10. 算出截止日
### 10. 算出截止日 〔可委派〕
把每顆工作包的編號、人天估算與先決關係寫成一份計畫檔:
@@ -207,7 +214,7 @@ node scripts/project-add.js --repo <owner/name> --index <編號> --project "<看
看板名稱靠掃最近 50 筆議題反查 id,反查不到就會請你直接貼專案網址(結尾即 id)。
本流程不建立 Milestone,也不建立專案。
### 12. 產生分析版的圖解總覽
### 12. 產生分析版的圖解總覽 〔可委派〕
用同一份 `templates/overview-artifact.html` 再產一份,但這一份要多出**工作包全景**:
把工作包之間的相依與截止日畫成一張圖,讓開發者看得出自己這一項在整體中的位置。
@@ -224,6 +231,8 @@ node scripts/project-add.js --repo <owner/name> --index <編號> --project "<看
節點寫工作包標題與截止日,箭頭方向是「先決 → 後續」。節點一樣以 12 個為上限,
超過就只畫相依鏈最長路徑上的那幾顆,其餘在頁尾列成文字。
委派的是**產出那份 HTML**;拿到網址之後寫回議題那一步**不委派**(判準第四條)。
網址一樣寫回需求議題:
```
+13 -3
View File
@@ -19,6 +19,13 @@ description: 僅由 /sdlc-feat 指令叫用。領取一顆工作包、備妥工
一個工作包議題編號。使用者直接給的,或 `/sdlc-fix` 收到議題後交棒過來的——
兩者一樣處理,**不要因為是交棒來的就要求他再打一次指令**。
## 〔可委派〕的意思
標題後綴 `〔可委派〕` 的步驟只在意結果:**你的環境若能把工作交給子代理,就交出去,
只把結果帶回來;不能就自己做。** 沒有這個後綴的步驟一律自己做。
怎麼挑、為什麼這樣挑,見 `references/delegation.md`——判準只有那一份,這裡不複述。
## 第一段:領取與開工準備
### 1. 讀工作包
@@ -83,7 +90,7 @@ node scripts/claim.js --repo <owner/name> --index <編號> --dry-run
不論哪一種,來源分支都必須**已經在遠端上**:工作樹的起點一律取自 `origin/{來源分支}`。
### 4. 把議題標題翻成英文
### 4. 把議題標題翻成英文 〔可委派〕
分支名的中段要用英文,中文會讓 CI 與 URL 出問題。把工作包議題的標題翻成
**小寫英文 kebab、40 字元以內**,例如「建立工作包的抽取契約」→ `wp-extract-contract`。
@@ -231,9 +238,12 @@ reviewer 得從一堆「已完成第 N 項」裡找真正的討論。
## 第三段:提交與開立 PR
### 13. 分批提交
### 13. 分批提交 〔可委派〕
全部待辦都勾完之後才進這一段。變更依類型分批:
全部待辦都勾完之後才進這一段。變更依類型分批。
委派的是**方案計算**:變更分成哪幾批、每一批收哪些檔案、各自的 `--type` 與描述怎麼寫。
**實際提交不委派**——底下那支 `commit-split.js` 由主流程執行(判準第四條)。
```
node scripts/commit-split.js --path <工作樹路徑> --type feat \
+10 -1
View File
@@ -30,6 +30,13 @@ description: 僅由 /sdlc-plan 指令叫用。把一段口語需求轉成結構
起與停都寫在這一份裡,**錶不跨階段跑**:跑完就去開會而錶跑一整天,報表當場失真。
反過來,別顆議題上的錶一律不碰——那一段時間該記在哪顆議題上只有使用者知道。
## 〔可委派〕的意思
標題後綴 `〔可委派〕` 的步驟只在意結果:**你的環境若能把工作交給子代理,就交出去,
只把結果帶回來;不能就自己做。** 沒有這個後綴的步驟一律自己做。
怎麼挑、為什麼這樣挑,見 `references/delegation.md`——判準只有那一份,這裡不複述。
## 步驟
### 1. 記下開始時間
@@ -125,7 +132,7 @@ node scripts/timer.js --repo <owner/name> --index <編號> --dry-run
是哪一顆,請他自己去停**,不要代勞:那一段時間該記在哪顆議題上只有他知道。順帶說明
停錶不會動到任何既有的工作樹——碼錶只管時間、工作樹只管檔案。
### 8. 產生圖解版總覽
### 8. 產生圖解版總覽 〔可委派〕
套用 `templates/overview-artifact.html`,把議題的總覽、目標與流程圖填成一份可以直接投影的
網頁。這一份是給**非技術的利害關係人**看的:他們不必讀完技術細節就知道這件事在做什麼。
@@ -142,6 +149,8 @@ node scripts/timer.js --repo <owner/name> --index <編號> --dry-run
若執行環境能把 HTML 發佈成可分享的網址,就發佈;不能的話存成檔案,把路徑當成網址用。
委派的是**產出那份 HTML**;拿到網址之後寫回議題那一步**不委派**(判準第四條)。
拿到網址後寫回議題:
```