# Release Checklist

Use this checklist before the first public release and for later release candidates.

## Product

- Confirm README leads with product features (review, commit, PR/MR, reports) and links to getting-started / configuration / integrations / contracts
- Confirm `docs/getting-started.md` still matches the safest first-use path (`config resolve` then `bridge --review-only`)
- Confirm [parity-matrix.md](./parity-matrix.md) matches implemented commands
- Confirm [CHANGELOG.md](../CHANGELOG.md) is updated for the release
- Confirm the matching release draft in `docs/releases/` matches the intended release scope
- Confirm `peerReference.cliVersion` in `package.json` still matches the intended CLI alignment target

## Build

- Run `npm test`
- Run `npm run pack:dry-run`
- Run `node out/cli.js --version` and confirm it prints the release version
- Run `node out/cli.js config resolve --config ./examples/config.host-agent.json`
- Spot-check `host-agent probe` once (needs_host_agent → write response → resume)

## Runtime

- Confirm rejected LLM flags (`--api-key`, `--base-url`, `--model`, `--llm-provider`) fail with a clear error
- Confirm `config resolve` does not require `SMART_COMMIT_API_KEY`
- Confirm exit code `10` is used for `needs_host_agent`

## Package

- Confirm `package.json` version is correct
- Confirm the Git tag and release draft target the same version number
- Confirm `package.json` `files` includes `out`, `README.md`, `docs`, `CHANGELOG.md`, and `examples`
- Confirm `node` engine requirement still matches the codebase (`>=20`)
- Run `npm run pack:dry-run` and inspect the tarball file list

## Optional Publish Readiness

- Keep `package.json` without `repository` / `homepage` / `bugs` while the Git remote is private (same as `smart-commit-copilot-cli`)
- Prefer `cdn.jsdelivr.net/npm/smart-commit-host-agent/...` links in README for docs that ship in the npm tarball (jsDelivr sets `charset=utf-8`; unpkg does not)
- Add CI workflow badges once CI exists
- Revisit whether the package should continue publishing from this repository state or move to a scoped package later
