Tomako 全倉庫拉取 Skill
觸發詞:$pull-all / $拉取 / $拉取程式碼、拉取全部或指定倉庫。
工作區約定(tomako-workspace)
在 tomako-workspace 根目錄開啟 Cursor,所有指令從此處執行(不要 cd 進 tomako-dev-skills 再跑):
cd /path/to/tomako-workspace
./tomako-dev-skills/scripts/pull-all.sh pull
tomako-workspace/
├── Tomako/
├── Tomako-portal/
├── Skills-OL/
├── tomako-dev-skills/
└── Tomako2/ # 個人倉庫:--repo Tomako2 單獨拉取
單倉庫選擇
只拉個別倉庫時用 --repo(別名同 push-all:frontend、portal、dev-skills 等):
./tomako-dev-skills/scripts/pull-all.sh pull --repo Tomako
./tomako-dev-skills/scripts/pull-all.sh pull --repo portal
覆蓋倉庫
以 tomako-workspace 根目錄為基準,預設處理以下 git 倉庫(不存在則跳過):
| 目錄 | 說明 |
|---|---|
Tomako/ | 前端 |
Tomako-portal/ 或 cibos-portal/ | 後端(二選一) |
Skills-OL/ | 線上 Skills |
tomako-dev-skills/ | 本 skills 倉庫 |
目錄名不同時用 LOCAL_FRONTEND_DIR 等覆蓋。若需把 Tomako2、cc-connect 等納入預設全量拉取,設定 EXTRA_GIT_REPOS="Tomako2 cc-connect"。
執行協議
- cwd = tomako-workspace 根目錄
- 預設先
status了解各倉庫狀態(可選) - 執行
pull拉取遠端最新;有未提交改動時預設自動 stash → pull/rebase → stash pop,不把倉庫標記為跳過 - 若本次處理的倉庫包含
tomako-dev-skills/,且該倉庫拉取成功且無衝突,腳本會自動執行./tomako-dev-skills/install.sh,讓新/更新後的 skills 立即掛載到 Agent 入口
常用指令
# 查看各倉庫分支、領先/落後、未提交改動
./tomako-dev-skills/scripts/pull-all.sh status
# 拉取全部(預設 rebase;有未提交改動時預設 autostash)
./tomako-dev-skills/scripts/pull-all.sh pull
# 禁止自動 stash:遇到未提交改動時失敗並列出檔案
AUTOSTASH=0 ./tomako-dev-skills/scripts/pull-all.sh pull
# 只拉取 skills 倉庫;成功後預設自動 install
./tomako-dev-skills/scripts/pull-all.sh pull --repo tomako-dev-skills
# 特殊場景禁止拉取後自動 install
AUTO_INSTALL_DEV_SKILLS=0 ./tomako-dev-skills/scripts/pull-all.sh pull --repo tomako-dev-skills
Agent 執行範本
使用者說 $pull-all 時:
./tomako-dev-skills/scripts/pull-all.sh status
./tomako-dev-skills/scripts/pull-all.sh pull
預設流程已經會保護本地未提交改動並繼續拉取;不要因為工作區 dirty 就跳過倉庫。
使用者說「拉取 skills」「拉取 tomako-dev-skills」時:
./tomako-dev-skills/scripts/pull-all.sh status --repo tomako-dev-skills
./tomako-dev-skills/scripts/pull-all.sh pull --repo tomako-dev-skills
第二步成功後會自動執行 ./tomako-dev-skills/install.sh;Agent 不需要再單獨補跑 install。
衝突與異常
- 有未提交改動:預設自動 stash,拉取後恢復;只有顯式
AUTOSTASH=0時才失敗並列出檔案 - pull/rebase 產生衝突:腳本列出衝突檔案完整路徑,不自動解決;告知使用者人工處理後重新執行
$pull-all或$push-all - stash pop 產生衝突:腳本列出衝突檔案完整路徑;告知使用者先人工解決這些衝突,再執行
$push-all提交 - tomako-dev-skills install 失敗:腳本標記失敗並保留
install.sh輸出;通常是本地已有差異副本,需要使用者遷移或刪除後重試 - 某倉庫不存在:自動跳過,不報錯
交付前答覆要求
彙總每個倉庫的結果:已更新 / 無需更新 / 已自動 install / 失敗,若有衝突列出完整檔案路徑。只有倉庫不存在、無法識別分支等非業務處理場景才使用「跳過」。
相關
- 推送改動:
skills/push-all/SKILL.md($push-all/$提交) - 路徑解析:
scripts/lib/workspace-paths.sh