chore/scaffold-tea-sdlc-skeleton/main #19

Merged
admin merged 1 commits from chore/scaffold-tea-sdlc-skeleton/main into master 2026-09-17 04:10:41 +00:00
Member

摘要

把這個 repo 從 jsc-template 的複製品,換成名為 tea-sdlc、跑得起測試的骨架。只做改名與目錄鋪底,不含任何流程邏輯。

需求議題

#1 — tea-sdlc:以 tea 驅動 SDLC 全流程的跨平台指令組

工作包議題

#2 — 把模板 scaffold 換成 tea-sdlc 骨架

變更內容

  • 五份 manifest(plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json、.claude-plugin/marketplace.json、.agents/plugins/marketplace.json)的 name、description、homepage、repository 由 jsc-template 改指向 tea-sdlc,版本另起為 0.0.1。
  • 移除範例用的 skills/hello,並清掉 AGENTS.md、README.md 對它的所有引用。
  • 新增 prompts/、scripts/、templates/、references/ 四個目錄,以 .gitkeep 納入版控。
  • AGENTS.md 改寫為 tea-sdlc 的模組邊界與慣例;README.md 改寫為 tea-sdlc 的說明與各助理安裝方式。
  • 新增 package.json 作為測試入口(node --test),無任何相依套件。
  • .gitignore 加入 .tmp/ 與 node_modules/。

設計重點

  • 腳本介面契約不在 AGENTS.md 複寫,改為指回議題 #1。契約正本只有一份,抄第二份就是多一個會跟正本走鐘的地方。
  • 測試暫存統一寫到 .tmp/。這個目錄同時被 git 忽略、也被 Node 測試探索跳過(dot 目錄),所以之後 #3 的 stub server 紀錄、臨時 git repo、臨時家目錄都可以往這裡丟,不會污染版控也不會被誤當成測試檔執行。
  • skills/ 保留為空目錄。三份 manifest 都還指著 ./skills,直接刪除會讓 manifest 指向不存在的路徑;轉接檔的佈署方式留給 #17 決定。
  • 根目錄 plugin.json 與 .codex-plugin/plugin.json 未補 homepage/repository。這兩份原本就沒有這兩個欄位,補進去等於往 Antigravity/Codex 的 schema 塞未定義的 key,有讓 agy plugin validate 失敗的風險。

解決的問題

後續每一顆工作包都要往 prompts/、scripts/、templates/、references/ 加檔案。先把目錄與測試入口鋪平,之後就不必每次順手改 manifest —— 先讓改動變容易,再做那個改動。

影響的功能

無。此 PR 不含任何可執行邏輯,只有 manifest、文件與空目錄。對既有使用者的唯一影響是 plugin 識別名由 jsc-template@template 改為 tea-sdlc@tea-sdlc,需要移除後重裝(安裝方式見 README)。

測試結果

npm test:

> tea-sdlc@0.0.1 test
> node --test

ℹ tests 0
ℹ suites 0
ℹ pass 0
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 14.086856

exit code 0。此工作包依驗收標準不含測試案例,測試框架本身由 #3 交付;此處驗證的是「零測試狀態下 runner 為綠」。

手動驗證(無自動化測試的部分):

  1. 五份 manifest 逐一以 JSON.parse 驗證為合法 JSON,並確認 name/version/URL 五份之間無歧異。
  2. grep -ri "hello\|jsc-template" 掃全樹,無殘留。
  3. git ls-files 確認四個新目錄確實已納入版控。
  4. 建立 .tmp/x.json 後以 git check-ignore -v 確認命中 .gitignore 的 .tmp/ 規則。
  5. 在 .tmp/ 與 node_modules/ 各放一個會拋錯的 *.test.js,執行 node --test 確認兩者都不被探索到(tests 0、exit 0)。

🤖 Generated with Claude Code

## 摘要 把這個 repo 從 `jsc-template` 的複製品,換成名為 tea-sdlc、跑得起測試的骨架。只做改名與目錄鋪底,不含任何流程邏輯。 ## 需求議題 #1 — tea-sdlc:以 tea 驅動 SDLC 全流程的跨平台指令組 ## 工作包議題 #2 — 把模板 scaffold 換成 tea-sdlc 骨架 ## 變更內容 - 五份 manifest(`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json`、`.claude-plugin/marketplace.json`、`.agents/plugins/marketplace.json`)的 name、description、homepage、repository 由 jsc-template 改指向 tea-sdlc,版本另起為 `0.0.1`。 - 移除範例用的 `skills/hello`,並清掉 `AGENTS.md`、`README.md` 對它的所有引用。 - 新增 `prompts/`、`scripts/`、`templates/`、`references/` 四個目錄,以 `.gitkeep` 納入版控。 - `AGENTS.md` 改寫為 tea-sdlc 的模組邊界與慣例;`README.md` 改寫為 tea-sdlc 的說明與各助理安裝方式。 - 新增 `package.json` 作為測試入口(`node --test`),無任何相依套件。 - `.gitignore` 加入 `.tmp/` 與 `node_modules/`。 ## 設計重點 - **腳本介面契約不在 `AGENTS.md` 複寫**,改為指回議題 #1。契約正本只有一份,抄第二份就是多一個會跟正本走鐘的地方。 - **測試暫存統一寫到 `.tmp/`**。這個目錄同時被 git 忽略、也被 Node 測試探索跳過(dot 目錄),所以之後 #3 的 stub server 紀錄、臨時 git repo、臨時家目錄都可以往這裡丟,不會污染版控也不會被誤當成測試檔執行。 - **`skills/` 保留為空目錄**。三份 manifest 都還指著 `./skills`,直接刪除會讓 manifest 指向不存在的路徑;轉接檔的佈署方式留給 #17 決定。 - **根目錄 `plugin.json` 與 `.codex-plugin/plugin.json` 未補 `homepage`/`repository`**。這兩份原本就沒有這兩個欄位,補進去等於往 Antigravity/Codex 的 schema 塞未定義的 key,有讓 `agy plugin validate` 失敗的風險。 ## 解決的問題 後續每一顆工作包都要往 `prompts/`、`scripts/`、`templates/`、`references/` 加檔案。先把目錄與測試入口鋪平,之後就不必每次順手改 manifest —— 先讓改動變容易,再做那個改動。 ## 影響的功能 無。此 PR 不含任何可執行邏輯,只有 manifest、文件與空目錄。對既有使用者的唯一影響是 plugin 識別名由 `jsc-template@template` 改為 `tea-sdlc@tea-sdlc`,需要移除後重裝(安裝方式見 README)。 ## 測試結果 `npm test`: ``` > tea-sdlc@0.0.1 test > node --test ℹ tests 0 ℹ suites 0 ℹ pass 0 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 14.086856 ``` exit code 0。此工作包依驗收標準不含測試案例,測試框架本身由 #3 交付;此處驗證的是「零測試狀態下 runner 為綠」。 手動驗證(無自動化測試的部分): 1. 五份 manifest 逐一以 `JSON.parse` 驗證為合法 JSON,並確認 name/version/URL 五份之間無歧異。 2. `grep -ri "hello\|jsc-template"` 掃全樹,無殘留。 3. `git ls-files` 確認四個新目錄確實已納入版控。 4. 建立 `.tmp/x.json` 後以 `git check-ignore -v` 確認命中 `.gitignore` 的 `.tmp/` 規則。 5. 在 `.tmp/` 與 `node_modules/` 各放一個會拋錯的 `*.test.js`,執行 `node --test` 確認兩者都不被探索到(tests 0、exit 0)。 --- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
jiantw83 added 1 commit 2026-09-17 04:10:08 +00:00
五份 manifest 的 name、description、homepage、repository 由 jsc-template
改指向 tea-sdlc,版本另起為 0.0.1;移除範例用的 skills/hello 並清掉
AGENTS.md 與 README.md 對它的引用。

建立後續工作包要落腳的四個目錄(prompts、scripts、templates、references)
並以 .gitkeep 納入版控;AGENTS.md 改寫為 tea-sdlc 的模組邊界與慣例,腳本
介面契約不複寫而指回議題 #1,避免正本分家。

新增 package.json 作為測試入口(node --test,Node 內建執行器,無任何相依
套件);.gitignore 加入測試暫存目錄 .tmp/ 與 node_modules/。

Closes #2

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
admin scheduled this pull request to auto merge when all checks succeed 2026-09-17 04:10:36 +00:00
admin approved these changes 2026-09-17 04:10:39 +00:00
admin merged commit 6408b96fb9 into master 2026-09-17 04:10:41 +00:00
admin deleted branch chore/scaffold-tea-sdlc-skeleton/main 2026-09-17 04:10:41 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/tea-sdlc#19