From 3eeded0432334bc8869e871dc511cbbc0b07df33 Mon Sep 17 00:00:00 2001 From: richblack Date: Tue, 21 Jul 2026 11:32:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=BA=90=E9=A0=AD=E5=B0=B1=E5=AF=AB?= =?UTF-8?q?=E5=B0=8D=E7=9A=84=E7=B6=B2=E5=9D=80=EF=BC=8C=E4=B8=8D=E9=9D=A0?= =?UTF-8?q?=E7=99=BC=E4=BD=88=E6=99=82=E6=94=B9=E5=AF=AB=EF=BC=88leo=20202?= =?UTF-8?q?6-07-21=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit leo:「要發佈的正稿,從頭就不要用奇怪的網址,以免改來改去。」 =sanitize 每次改寫是補丁不是解法。改成源頭正確: - README/README.en:死帳號 uncle6me-web → youlinhsieh(該帳號已 suspend, 安裝指令指著它半年沒人發現=別人照做必失敗) - install.sh/update.sh:來源預設改公開 GitHub raw;內部要指私有草稿源 走 TEMPLATE_SOURCE= 環境變數覆寫,不改檔 → 兩邊不再需要維護兩份網址 - tasks-project-sync.yaml 註解範例帳號改通用佔位符 sanitize 降級為「安全網」:正常情況應無需改寫;若它報告改了東西= 源頭又混進錯網址的信號,回頭修源頭。保留它做發佈前驗證(殘留即中止)—— 擋的是「只有外部使用者才會撞到、我們自己永遠測不到」的錯。 Co-Authored-By: Claude Opus 4.8 (1M context) --- README.en.md | 6 +++--- README.md | 6 +++--- scripts/github-publish-sanitize.py | 17 ++++++++++------- scripts/install.sh | 10 +++++++--- scripts/update.sh | 6 +++++- .../workflows/tasks-project-sync.yaml | 2 +- 6 files changed, 29 insertions(+), 18 deletions(-) diff --git a/README.en.md b/README.en.md index 7e77cec..dfc1837 100644 --- a/README.en.md +++ b/README.en.md @@ -32,7 +32,7 @@ This template solves both problems with two systems: ### Option 1: New project ```bash -git clone https://github.com/uncle6me-web/system-dev-template +git clone https://github.com/youlinhsieh/system-dev-template cp -r system-dev-template/template/. your-new-project/ cd your-new-project ``` @@ -46,7 +46,7 @@ Then in a CC conversation: ```bash cd your-existing-project -curl -sSL https://raw.githubusercontent.com/uncle6me-web/system-dev-template/main/scripts/install.sh | bash +curl -sSL https://raw.githubusercontent.com/youlinhsieh/system-dev-template/main/scripts/install.sh | bash ``` The script only creates what's missing — **it never touches files you already have**. @@ -80,7 +80,7 @@ Heard there are new features and want the latest? Just run this: ```bash cd your-project -curl -sSL https://raw.githubusercontent.com/uncle6me-web/system-dev-template/main/scripts/update.sh | bash +curl -sSL https://raw.githubusercontent.com/youlinhsieh/system-dev-template/main/scripts/update.sh | bash ``` It first compares your version with the latest, tells you **which new features you'd gain**, and then: diff --git a/README.md b/README.md index 26443e2..ed5118b 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ CC 是個優秀的工程師,但不是個好的專案經理。它會猛衝完 ### 方式一:新專案 ```bash -git clone https://github.com/uncle6me-web/system-dev-template +git clone https://github.com/youlinhsieh/system-dev-template cp -r system-dev-template/template/. your-new-project/ cd your-new-project ``` @@ -45,7 +45,7 @@ cd your-new-project ```bash cd your-existing-project -curl -sSL https://raw.githubusercontent.com/uncle6me-web/system-dev-template/main/scripts/install.sh | bash +curl -sSL https://raw.githubusercontent.com/youlinhsieh/system-dev-template/main/scripts/install.sh | bash ``` 腳本只建立缺少的東西,**已有的檔案一律不動**。 @@ -79,7 +79,7 @@ CC 會掃描現有文件、建立 wiki、整理 docs 結構。 ```bash cd your-project -curl -sSL https://raw.githubusercontent.com/uncle6me-web/system-dev-template/main/scripts/update.sh | bash +curl -sSL https://raw.githubusercontent.com/youlinhsieh/system-dev-template/main/scripts/update.sh | bash ``` 它會先比對你的版本和最新版,告訴你**多了哪些新功能**,然後: diff --git a/scripts/github-publish-sanitize.py b/scripts/github-publish-sanitize.py index afc025b..cea789f 100755 --- a/scripts/github-publish-sanitize.py +++ b/scripts/github-publish-sanitize.py @@ -3,15 +3,18 @@ 由 publish-github.sh 自動呼叫(步驟 3.5),參數=匯出樹的暫存目錄。 -為什麼需要(leo 2026-07-21): - 「我不想給它 Gitea 網址,因為我們已經計劃要把 gitea 改用 CF 版本了。」 +🔑 定位(leo 2026-07-21 校正):**這支是安全網,不是主要手段。** - install.sh / update.sh 內建的抓取來源指向我們的 **private Gitea**: - - 別人抓不到(private)→ 裝不起來 - - 且該網址即將換成 CF 版 → 公開出去的網址馬上失效 + leo:「要發佈的正稿,**從頭就不要用奇怪的網址,以免改來改去**。」 - → 公開版一律改指 GitHub raw。私有工作區維持 Gitea 不動, - 兩邊不必手工維護兩份(改寫發生在發佈當下)。 + → 已於同日**源頭修正**:install.sh/update.sh 的來源預設就是公開 GitHub raw + (內部要指私有草稿源時走 `TEMPLATE_SOURCE=` 環境變數覆寫,不改檔); + README 的死帳號 `uncle6me-web` 也直接改掉。 + **正常情況下本腳本應該「無需改寫」** ——若它報告改了東西,代表源頭又混進錯網址, + 那是要回頭修源頭的信號,不是「反正發佈時會自動改」。 + + 保留它的理由=**發佈前的最後一道驗證**:任何殘留失效來源就 exit 1 中止, + 避免「別人照著裝卻裝不起來」這種只有外部使用者才會撞到、我們自己永遠測不到的錯。 """ import pathlib import re diff --git a/scripts/install.sh b/scripts/install.sh index c4db133..b8264ae 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -26,9 +26,13 @@ t() { if [ "$IS_ZH" = "yes" ]; then printf '%s\n' "$1"; else printf '%s\n' "$2"; # tn = 不換行版(給 prompt 用) tn() { if [ "$IS_ZH" = "yes" ]; then printf '%s' "$1"; else printf '%s' "$2"; fi; } -REPO_URL="https://git.uncle6.me/Leo/system-dev-template/raw/branch/main/template" +# 來源預設=公開 GitHub(leo 2026-07-21:「要發佈的正稿,從頭就不要用奇怪的網址, +# 以免改來改去」)。內部指向私有草稿源時用環境變數覆寫,不改檔: +# TEMPLATE_SOURCE=https://<私有 raw base> bash scripts/install.sh +TEMPLATE_SOURCE="${TEMPLATE_SOURCE:-https://raw.githubusercontent.com/youlinhsieh/system-dev-template/main}" +REPO_URL="$TEMPLATE_SOURCE/template" # install.sh / update.sh 住在 main/scripts/(不在 template/)。 -SCRIPTS_URL="https://git.uncle6.me/Leo/system-dev-template/raw/branch/main/scripts" +SCRIPTS_URL="$TEMPLATE_SOURCE/scripts" CREATED=() SKIPPED=() @@ -115,7 +119,7 @@ if [ -d "system-dev" ] || [ -d ".claude/wiki" ] || [ -f ".claude/VERSION" ]; the t " 後續的更新、遷移、補新檔,一律由「更新腳本」處理(不要重跑 install):" \ " All updates, migrations, and new-file additions are handled by the UPDATER (don't re-run install):" echo "" - echo " curl -sSL https://git.uncle6.me/Leo/system-dev-template/raw/branch/main/scripts/update.sh | bash" + echo " curl -sSL https://raw.githubusercontent.com/youlinhsieh/system-dev-template/main/scripts/update.sh | bash" echo "" t " (重跑 install 可能建出空白範本、跟你的真資料並存,故在此停止。)" \ " (Re-running install could create empty templates alongside your real data, so it stops here.)" diff --git a/scripts/update.sh b/scripts/update.sh index fe3d868..c209d80 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -23,7 +23,11 @@ esac t() { if [ "$IS_ZH" = "yes" ]; then printf '%s\n' "$1"; else printf '%s\n' "$2"; fi; } tn() { if [ "$IS_ZH" = "yes" ]; then printf '%s' "$1"; else printf '%s' "$2"; fi; } -REPO_RAW="https://git.uncle6.me/Leo/system-dev-template/raw/branch/main" +# 來源預設=公開 GitHub(leo 2026-07-21:「要發佈的正稿,從頭就不要用奇怪的網址, +# 以免改來改去」)。發佈時不再需要改寫網址——寫死的就是對外正確的那一個。 +# 內部要改指私有草稿源(Gitea/未來 CF git)時,用環境變數覆寫,不改檔: +# TEMPLATE_SOURCE=https://<你的私有 raw base> bash scripts/update.sh +REPO_RAW="${TEMPLATE_SOURCE:-https://raw.githubusercontent.com/youlinhsieh/system-dev-template/main}" TEMPLATE_URL="$REPO_RAW/template" UPDATED=() diff --git a/template/system-dev/workflows/tasks-project-sync.yaml b/template/system-dev/workflows/tasks-project-sync.yaml index 62581da..90358db 100644 --- a/template/system-dev/workflows/tasks-project-sync.yaml +++ b/template/system-dev/workflows/tasks-project-sync.yaml @@ -17,7 +17,7 @@ # 單向:只寫 GitHub,永不回改 tasks.md(回寫 id 是本地端的事,且只在新 task 做一次)。 # # ── 輸入(由本地觸發端用 acr run -i 餵)────────────────────────── -# owner GitHub repo owner(例:uncle6me-web) +# owner GitHub repo owner(例:your-github-account) # repo GitHub repo 名 # project_id GitHub Projects v2 的 node id(投影目標,唯讀看板) # tasks_json 本地分類好的增量陣列,每筆形如: