feat(cli): 設定規格登錄 PR 盯場輪詢間隔 #23

Merged
jiantw83 merged 3 commits from feat/sdlc-flow-rules/main into develop 2026-08-27 03:39:41 +00:00
Member

PR 描述

摘要

  • 需求描述:把功能主幹 feat/sdlc-flow-rules/main 累積的內容整批推上 develop。本存取庫是設定項的登錄處,config-spec.tsv 是 jsc-cli:doctor 體檢與設定引導的唯一來源。這一批為 R10 新增的 JSC_PR_WATCH_INTERVAL 若不登錄進來,體檢就看不到它,使用者也不會被問到要不要設。本 PR 只做這一件事。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

本 PR 併入 3 個 commit,來自已合併的子功能 PR plugins/cli#22。

變更內容

檔案 為什麼改
tools/config-spec.tsv 新增一列 JSC_PR_WATCH_INTERVAL:類型 env、範圍 global、非必填、預設 60、檢查方式 set、缺漏時 ask,說明指向實作所在的 jsc-gitea/tools/pr-watch.sh
plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 三份 manifest 版本同步升到 0.1.7

設計重點

  • 預設值 60 與 pr-watch.sh 的內建預設一致,兩邊對不上的話,體檢報的「已是預設」會是假的。
  • 標成非必填、缺漏時 ask:不設也能跑,設了才改變輪詢節奏,不該讓它變成體檢的紅燈。
  • 說明欄直接寫出實作檔路徑 jsc-gitea/tools/pr-watch.sh。設定登錄在 cli、實作在 gitea,不指名的話下一個人得靠猜。
  • 輪詢間隔為什麼是 60 秒而且不自動退場,決策紀錄見 wiki QUESTION_FB8DF0B5 的 2026-08-27 那一節 Q7。
  • 排在 JSC_VERSION_TTL 之後、JSC_LOCAL_PLUGINS 之前,跟著既有的分組順序走,不打亂表格。

測試結果

  • 子功能 PR plugins/cli#22 已完成該層的驗證並合併,本 PR 不再重跑一次。
  • 主幹整合後複驗:jsc-meta/tools/ste100-lint.sh 掃整個存取庫全綠。
  • 本 PR 只新增一列設定登錄與 manifest 版本,沒有程式邏輯變更,因此沒有另外的單元測試。

前置 Push Request

  • 本列登錄的設定項由 jsc-gitea 的 tools/pr-watch.sh 實作。該依賴已隨 plugins/gitea#22 合併進 gitea 的功能主幹,沒有未結清的前置 PR,不需要掛 gitea.sh pr-depend。
# PR 描述 ## 摘要 - 需求描述:把功能主幹 `feat/sdlc-flow-rules/main` 累積的內容整批推上 `develop`。本存取庫是設定項的登錄處,`config-spec.tsv` 是 `jsc-cli:doctor` 體檢與設定引導的唯一來源。這一批為 R10 新增的 `JSC_PR_WATCH_INTERVAL` 若不登錄進來,體檢就看不到它,使用者也不會被問到要不要設。本 PR 只做這一件事。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 本 PR 併入 3 個 commit,來自已合併的子功能 PR [plugins/cli#22](https://gitea.jsc.idv.tw/plugins/cli/pulls/22)。 ## 變更內容 | 檔案 | 為什麼改 | | --- | --- | | `tools/config-spec.tsv` | 新增一列 `JSC_PR_WATCH_INTERVAL`:類型 `env`、範圍 `global`、非必填、預設 `60`、檢查方式 `set`、缺漏時 `ask`,說明指向實作所在的 `jsc-gitea/tools/pr-watch.sh` | | `plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` | 三份 manifest 版本同步升到 `0.1.7` | ## 設計重點 - 預設值 `60` 與 `pr-watch.sh` 的內建預設一致,兩邊對不上的話,體檢報的「已是預設」會是假的。 - 標成非必填、缺漏時 `ask`:不設也能跑,設了才改變輪詢節奏,不該讓它變成體檢的紅燈。 - 說明欄直接寫出實作檔路徑 `jsc-gitea/tools/pr-watch.sh`。設定登錄在 cli、實作在 gitea,不指名的話下一個人得靠猜。 - 輪詢間隔為什麼是 60 秒而且不自動退場,決策紀錄見 wiki [QUESTION_FB8DF0B5](https://gitea.jsc.idv.tw/knowledges/QUESTION/wiki/QUESTION_FB8DF0B5) 的 2026-08-27 那一節 Q7。 - 排在 `JSC_VERSION_TTL` 之後、`JSC_LOCAL_PLUGINS` 之前,跟著既有的分組順序走,不打亂表格。 ## 測試結果 - 子功能 PR [plugins/cli#22](https://gitea.jsc.idv.tw/plugins/cli/pulls/22) 已完成該層的驗證並合併,本 PR 不再重跑一次。 - 主幹整合後複驗:`jsc-meta/tools/ste100-lint.sh` 掃整個存取庫全綠。 - 本 PR 只新增一列設定登錄與 manifest 版本,沒有程式邏輯變更,因此沒有另外的單元測試。 ## 前置 Push Request - 本列登錄的設定項由 `jsc-gitea` 的 `tools/pr-watch.sh` 實作。該依賴已隨 [plugins/gitea#22](https://gitea.jsc.idv.tw/plugins/gitea/pulls/22) 合併進 gitea 的功能主幹,沒有未結清的前置 PR,不需要掛 `gitea.sh pr-depend`。
jiantw83 added 3 commits 2026-08-27 03:38:56 +00:00
What:`tools/config-spec.tsv` 新增一列 `JSC_PR_WATCH_INTERVAL`:型別 `env`、全域、非必填、預設 `60`、檢查方式 `set`、缺少時 `ask`,說明寫明它是 `pr-watch.sh` 輪詢 PR 狀態的間隔秒數,實作在 `jsc-gitea/tools/pr-watch.sh`。

Why:設定規格表是 jsc 環境變數的清單正本,`jsc-cli` 的部署與體檢都讀它。新變數沒登錄進來,體檢就看不到它,使用者也無從得知有這個旋鈕可以調。

How:只加一列,排在同為 `jsc-hooks` 系列旋鈕的 `JSC_VERSION_TTL` 之後,欄位順序與既有各列相同;說明點名實作位置,讀表的人才知道去哪裡查行為。

Who:`jsc-cli:deploy` 與環境體檢,以及要調整盯 PR 頻率的使用者。
What:`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 的 `version` 由 0.1.6 改為 0.1.7。

Why:設定規格表新增一個環境變數,讀表的部署與體檢行為跟著變,版本要往上走,各 CLI 才知道要更新。

How:三份只改 `version` 一個欄位,其餘內容不動,三份保持同一版號。

Who:`jsc-cli` 外掛的套件描述檔。
Reviewed-on: #22
jiantw83 merged commit 1840af2ace into develop 2026-08-27 03:39:41 +00:00
jiantw83 deleted branch feat/sdlc-flow-rules/main 2026-08-27 03:39:41 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/cli#23