fix/npm-git-url/main
master
README 的頭一行安裝指令跑不起來。npm i -g https://….git 會被 npm 當成遠端壓縮檔而不是 git repo,下載回來解壓失敗。補上 git+ 前綴,並加一條測試把這個規則釘住。
npm i -g https://….git
git+
#1 — tea-sdlc:以 tea 驅動 SDLC 全流程的跨平台指令組
#25 — 以 npm 佈署並提供 tea-sdlc 指令(其驗收標準「npm i -g <git url> 後 PATH 上出現 tea-sdlc 指令」)
npm i -g <git url>
tea-sdlc
README.md
npm i -g
git+https://
test/readme-install.test.js
.git
為什麼不直接在測試裡跑一次 npm 安裝。 那要開網路、要三秒,而這套測試向來是密封的(假 Gitea、臨時目錄、不碰外部服務)。「前綴在不在」這條規則本身就足以擋掉這個錯,成本是零。
先前那條「README 指令逐字執行得動」的測試為什麼沒抓到: 它只挑 tea-sdlc 開頭的行來跑,npm 那行從來沒被執行過——而那正好是使用者會打的第一行。
npm
照 README 第一行做的人會得到 TAR_BAD_ARCHIVE: Unrecognized archive format。這個訊息完全沒有指向真正的原因(網址寫法),只會讓人以為套件壞了。
TAR_BAD_ARCHIVE: Unrecognized archive format
只動文件與測試,沒有行為變更。
npm test 451 pass / 0 fail。
npm test
另外把 README 上修正後的指令逐字複製執行,端到端驗過一次:
npm i -g git+https://gitea.jsc.idv.tw/plugins/tea-sdlc.git tea-sdlc status → ok=true healthy=true version=0.0.1 linked=false tea-sdlc prompt --name sdlc-plan → 讀得到正本
🤖 Generated with Claude Code
npm 只有看到 git/git+ssh/git+http/git+https/git+file 才會當成 git repo。 寫成 https://….git 會被歸類成遠端 tarball,下載回來解壓失敗,錯誤是 TAR_BAD_ARCHIVE: Unrecognized archive format——看起來完全不像「網址寫法錯了」, 使用者只會以為套件壞了。 先前那條「README 指令逐字執行得動」的測試沒抓到,因為它只跑 tea-sdlc 開頭的 行,npm 那行從來沒被執行過。補一條規則把 .git 網址必須帶 git+ 前綴釘住: 真的去跑一次 npm 全域安裝要開網路、要三秒,不適合放進這套向來密封的測試裡, 但「前綴在不在」這條規則本身就足以擋掉這個錯。 議題 #25 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
No dependencies set.
The note is not visible to the blocked user.
摘要
README 的頭一行安裝指令跑不起來。
npm i -g https://….git會被 npm 當成遠端壓縮檔而不是 git repo,下載回來解壓失敗。補上git+前綴,並加一條測試把這個規則釘住。需求議題
#1 — tea-sdlc:以 tea 驅動 SDLC 全流程的跨平台指令組
工作包議題
#25 — 以 npm 佈署並提供 tea-sdlc 指令(其驗收標準「
npm i -g <git url>後 PATH 上出現tea-sdlc指令」)變更內容
README.md:兩處npm i -g改為git+https://,並加註為什麼前綴不能省。test/readme-install.test.js:新增一條規則——README 裡指向.git的npm i -g指令一律要帶git+前綴。設計重點
為什麼不直接在測試裡跑一次 npm 安裝。 那要開網路、要三秒,而這套測試向來是密封的(假 Gitea、臨時目錄、不碰外部服務)。「前綴在不在」這條規則本身就足以擋掉這個錯,成本是零。
先前那條「README 指令逐字執行得動」的測試為什麼沒抓到: 它只挑
tea-sdlc開頭的行來跑,npm那行從來沒被執行過——而那正好是使用者會打的第一行。解決的問題
照 README 第一行做的人會得到
TAR_BAD_ARCHIVE: Unrecognized archive format。這個訊息完全沒有指向真正的原因(網址寫法),只會讓人以為套件壞了。影響的功能
只動文件與測試,沒有行為變更。
測試結果
npm test451 pass / 0 fail。另外把 README 上修正後的指令逐字複製執行,端到端驗過一次:
🤖 Generated with Claude Code