Community生產力與協作github.com

Tomako 全仓库拉取技能

開發期 Agent 技能,用於沉澱團隊工具協作能力

Tomako 全仓库拉取技能 是什麼?

此技能為開發團隊提供一個統一的 Git 倉庫拉取機制,特別適用於 monorepo 或多倉庫協作場景。使用者可透過觸發詞 `$pull-all`、`$拉取` 或 `$拉取代碼`,從 `tomako-workspace` 根目錄一次拉取所有預設倉庫的最新變更,或使用 `--repo` 參數指定單一倉庫拉取。技能支援自動 stash 未提交變更、rebase 後再 stash pop,並在拉取 `tomako-dev-skills` 成功後自動執行 `install.sh` 將新技能掛載至 Agent 入口。衝突處理方面,腳本會列出衝突檔案完整路徑但不會自動解決,需由開發者人工處理後重新執行。此技能支援 Cursor 等 IDE 或 CLI 環境,並提供 `AUTOSTASH`、`AUTO_INSTALL_DEV_SKILLS` 等環境變數來控制行為,適合需要頻繁同步多個 Git 倉庫的團隊使用。

相容平台✓Claude Code~Codex CLI✓Cursor
npx skills add AIDiyTeams/tomako-dev-skills

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

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"。

執行協議

  1. cwd = tomako-workspace 根目錄
  2. 預設先 status 了解各倉庫狀態(可選)
  3. 執行 pull 拉取遠端最新;有未提交改動時預設自動 stash → pull/rebase → stash pop,不把倉庫標記為跳過
  4. 若本次處理的倉庫包含 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

相關技能