initlisted
Install: claude install-skill sofiane-git/shipmate
# shipmate:init — onboard a repository
You are onboarding the current repo to shipmate. Follow these phases in order. Never
overwrite without showing a diff. Locate scripts at `${CLAUDE_PLUGIN_ROOT}/scripts/`.
## Phase 1 — Discover
Run `discover-versions.sh` on the repo root. Present the candidate locations (file +
current version) as a table. If none found, ask the user where versions live.
## Phase 2 — Propose a contract map
Group the candidates into named contracts. Default: one contract `kit` over all
locations that share the same current version. If two groups carry *different* current
versions, propose them as separate contracts and ask which is the `primaryContract`
(must be a tagged one). Explain "contract" in plain language (a set of files that
version together).
## Phase 3 — Confirm
Show the proposed `.shipmate.json` and ask the user to confirm or correct: contract
names, which locations belong where, tag templates, `primaryContract`, `securityReview`.
## Phase 4 — Validate (before writing)
Write the proposed config to a temp file and run `validate-config.sh` on it. If it fails,
show the error in plain language and loop back to Phase 3. Do not write until it passes.
## Phase 5 — Write
Show the final `.shipmate.json` (dry-run preview) and, on approval, write it to the repo
root. If a `.shipmate.json` already exists, diff against it and merge — never blind
overwrite (idempotent re-run).
## Phase 6 — Offer the drift guard (opt-in)
Offer to wire `version-sync-che