← ClaudeAtlas

sync-templatelisted

Pull the roots template's shared mechanics into this repository. Bootstrap the script if missing, run the sync, review the staged diff, apply the printed follow-ups, run the done gate, and propose the commit. Use when the user says "sync from template", "pull template updates", "update the mechanics", or "sync roots". Never commits or pushes on its own.
RemiMyrset/roots · ★ 0 · Code & Development · score 72
Install: claude install-skill RemiMyrset/roots
# Sync from the template `pnpm sync:template` stages the template's version of the synced paths, records the sync point in `.template-sync.json`, and prints the follow-ups a file copy cannot carry: the template commits since the last sync (breaking ones marked `!`) and the `package.json` scripts that differ. The synced paths, the recipe, and the contract are in `docs/template/sync-template.md`. 1. Bootstrap if needed. If `scripts/sync-template.mts` is missing, or there is no `.template-sync.json` yet (an older copy of the script that never recorded a sync point), fetch a fresh copy with plain git and continue with step 2. Overwrite it; behavior 7 says why. The `sync:template` script shows up as a missing follow-up on a first run: `mkdir -p scripts && git fetch --no-tags https://github.com/RemiMyrset/roots.git main && git show FETCH_HEAD:scripts/sync-template.mts > scripts/sync-template.mts` 2. Start clean. The script refuses uncommitted changes under the synced paths; commit or stash them first, never discard them. 3. Run `pnpm sync:template` (add the fork URL if this repo tracks a fork, or `--ref <branch|tag>` to pin a template branch or tag; both are remembered). Read the output top to bottom. On a first sync, the `Baseline:` line says how the starting point was found: `root time` is approximate, `none` means no commit list this run. 4. Breaking commits first. Every `!` line and its `BREAKING CHANGE` paragraph is an instruction for a hand-