hermit-evolvelisted
Install: claude install-skill gtapps/claude-code-hermit
# Evolve Hermit
Upgrade the project's hermit configuration after a plugin update.
## Plan
### 0. Verify Claude Code CLI version
- Read `${CLAUDE_PLUGIN_ROOT}/.claude-plugin/hermit-meta.json`. If the file
doesn't exist or `min_claude_code_version` is not set, skip this step.
- Run `claude --version` and parse the leading semver (format:
`X.Y.Z (Claude Code)`). If the command fails or the version cannot be parsed,
report: "Could not detect Claude Code CLI version — proceeding anyway." and
skip the comparison.
- Compare the detected version against `min_claude_code_version` (supports
`>=X.Y.Z` or bare `X.Y.Z`, treated as `>=`). If the CLI version is below the
minimum, report:
```
This hermit version requires Claude Code >=<min> (you have <detected>).
Upgrade Claude Code (`claude update` or your package manager) and re-run
/claude-code-hermit:hermit-evolve.
```
Substitute `<min>` with the value from `min_claude_code_version` and
`<detected>` with the parsed CLI version. Then stop. Do not prompt to bypass.
### 1. Resolve hatch target, then run the pre-pass
First determine `hatch_target` (the pre-pass needs it, and so do Steps 6, 7, 8):
1. Read `.claude-code-hermit/state/hatch-options.json` if it exists. Use the `"target"` field as `hatch_target`.
2. If the file is absent or has no `"target"` field:
- Check if `CLAUDE.local.md` contains the marker `claude-code-hermit: Session Discipline` → `hatch_target = "local"`.
- Else if `CLAUDE.md` con