crew-deploylisted
Install: claude install-skill mantaray0/crew
# crew Deploy & Release
`/crew:ship` carries a verified change from the repo to a release (and optionally a deployment). Behavior is config-driven via `config.deploy` and **bounded by** `config.git`.
## The `mode` contract (`config.deploy.mode`)
| mode | what ship does |
|---|---|
| `off` | Nothing — explain how to enable, then stop. |
| `orchestrate` *(default)* | Drive the **release**: version → release commit → tag → push → PR. The **deployment** itself is the CI pipeline's job (crew never touches prod). |
| `execute` | `orchestrate` **plus** run the deploy command from `.planning/DEPLOY.md` (after confirmation). |
## `config.git` is the ceiling
`deploy.mode` says what ship may *attempt*; `config.git` says whether each git step is auto / ask / off. **ship never bypasses `config.git`:**
- **Release commit** — follow `git.commitStyle`; if `git.autoCommitPerPhase` is false (the auto-vs-ask signal), **ask** before committing. A release needs a commit to tag.
- **Push** (commit + tag) — defer to `git.autoPush` (default false → **ask**). On decline, stay local: `version+commit+tag` is still a valid partial result.
- **PR** — defer to `git.autoPR` (default false → **ask** or skip, just push). Use the provider CLI.
- **Branch / merge** — honour `branchPattern`, `mergeStrategy`, `askBeforeMerge` (see `git-merge`).
Even when an `auto*` flag is true, `crew-conventions` still applies — `true` just means the user pre-authorized that step.
## Providers
- **`gh-actions`** — push