| name | repo-sync |
| description | Sync project-twelve with the Assets/_Licensed submodule via fetch_remotes.py, git hooks, and /fetch-remotes. Use at session start, before picking backlog work, or when the user asks to sync repos or get latest. |
Repo sync (compiled harness)
Main repo project-twelve; licensed art submodule
project-twelve-assets at Assets/_Licensed/.
Runner: scripts/fetch_remotes.py.
When to use
- Session start or before picking backlog work (
/fetch-remotes).
- User says “sync repo”, “get latest”, or “update submodule”.
- Submodule checkout looks wrong after pull/branch switch (
--local-sync).
- Before committing parent changes that touch the submodule gitlink.
Run
python scripts/fetch_remotes.py
python scripts/fetch_remotes.py --fetch-only
python scripts/fetch_remotes.py --local-sync
python scripts/fetch_remotes.py --verify
Default sync checks out the submodule at the parent gitlink, not the submodule main tip.
Prefer /fetch-remotes (optional [--fetch-only]) for agent-driven sync.
Advance assets
Commit/push in project-twelve-assets, then bump the parent gitlink via
assets-submodule-publish
(python scripts/publish_assets_submodule.py).
Safety
- Never stage licensed blobs under wrong paths —
docs/PAID_ASSETS.md,
scripts/check_paid_assets.py.
- Do not use
git submodule update --remote unless explicitly maintaining a pointer bump.
- Humans may install hooks once:
python scripts/install_githooks.py (agents do not). Hook table:
references/hooks.md.
Related