Sanitized single-commit public mirror of recipe-maintainer. - Removed test-ssh/.testenv (live creds); added test-ssh/.testenv.example placeholders. - Removed plans/ and planned-updates/ (deployment-planning docs) so no client/ deployment domains appear in the public repo. - All other secret stores were already gitignored. - docs.coopcloud.tech retained as a submodule (public upstream).
3.2 KiB
description, argument-hint, allowed-tools
| description | argument-hint | allowed-tools | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Fetch a Co-op Cloud recipe and check for available upgrades | <recipe-name> |
|
Recipe Check
Fetch the latest version of a Co-op Cloud recipe and check for available upgrades.
The recipe name is: $ARGUMENTS
Read and follow the instructions in .claude/commands/includes/logging.md.
Read and follow the instructions in .claude/commands/includes/guidelines.md.
Steps
-
Fetch the recipe — check for uncommitted local changes first (see guidelines). If clean, run
abra recipe fetch $ARGUMENTS --force. If there are local changes, skip the fetch and note that you're using the local checkout. -
Show current released versions:
abra recipe versions $ARGUMENTS -m -
Check for available upgrades (machine-readable, non-interactive):
abra recipe upgrade $ARGUMENTS -m -n -
Lint the recipe to surface any config issues:
abra recipe lint $ARGUMENTS -C -
Look up upstream release notes:
- Check if
recipe-info/$ARGUMENTS/upstream.mdexists in the workspace. - If it exists, read it to get the release notes URLs for each image/service.
- If it does NOT exist, try to discover the upstream project and release notes URLs:
- Read the recipe's
compose.ymlto identify all images. - For each image, search for its GitHub repository and releases page.
- Create
recipe-info/$ARGUMENTS/upstream.mdwith the discovered URLs (follow the format of existing upstream.md files in sibling recipe directories). - Also create the
recipe-info/$ARGUMENTS/tests/directory if it doesn't exist.
- Read the recipe's
- For any services that have available upgrades, fetch the release notes page and summarise what changed between the current version and the upgrade version(s).
- Pay special attention to and explicitly call out:
- Breaking changes — API removals, renamed/removed config options, changed defaults, dropped support for older runtimes/dependencies
- Required migration steps — database migrations, data format changes, manual upgrade procedures
- Config changes needed by the operator — new required environment variables, changed variable names/formats, new secrets, changed ports or volume paths, deprecated settings that will stop working
- Dependency version requirements — e.g. "now requires PostgreSQL 15+", "minimum Redis 6.2"
- If any of the above are found, present them in a clearly marked "Operator Action Required" section per service, separate from the general changelog summary. Use warnings/bold to make these impossible to miss.
- Check if
-
Summarise the results for the user:
- Current version(s) of the recipe
- Any available image tag upgrades
- Operator Action Required items first (breaking changes, config changes, migrations) — prominently highlighted
- For each upgrade: a summary of what changed (from release notes), with a link to the full release notes
- Any lint warnings or errors
-
Suggest next steps — if upgrades are available, suggest the user run
/recipe-upgrade-plan $ARGUMENTSto create a detailed upgrade plan.