Files
gitea/skills/repo-sync/SKILL.md
T

18 lines
1.2 KiB
Markdown

---
name: repo-sync
description: Batch-sync all readable repos of a chosen Gitea owner into the working directory. List owners, let the user pick, then clone or update each repo; local changes become a branch, commit, push, and PR to develop or master. Use for workspace bootstrap or bulk refresh; not for a single repo.
---
# repo-sync — batch-sync repositories
## Steps
1. Run `tools/gitea.sh owners` to list every `{owner}` the user can read.
2. Ask the user which `{owner}` to sync, per the `jsc-ask:ask` rules. Every option states the owner's repo count and impact scope.
3. Run `tools/gitea.sh repos {owner}` to list every readable `{repo}` under that owner.
4. Sync each `{repo}` one by one. This step **MUST run as a sub agent** (one sub agent per repo):
1. Missing locally → `git clone` into the working directory (clone URL from `tools/gitea.sh clone-url`).
2. Present locally → switch to `develop`, else `master` (or the result of `tools/gitea.sh default-branch`), then `git pull`.
3. Local file changes → create a branch from develop or master, commit via `jsc-git:commit`, push, then open a PR back to develop or master via `jsc-git:pr`.
5. Report the sync result for every repo: cloned, updated, PR created, or the failure reason.