Files
recipe-maintainer/OPENCODE.md
autonomic-bot f283a371bb recipe-maintainer: public snapshot (secrets + deployment plans removed, single commit)
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).
2026-06-16 20:18:24 +00:00

59 lines
2.9 KiB
Markdown

## Skills and Commands
This project has skills and commands that work across both Claude Code and OpenCode.
### Architecture
The **single source of truth** for all skill/command instructions is `.claude/commands/`. Both Claude Code and OpenCode use the same underlying instructions with no content duplication.
```
.claude/commands/ <-- Full instructions (single source of truth)
recipe-check.md
recipe-init.md
recipe-deploy.md
...
includes/
guidelines.md <-- Shared guidelines for all recipe operations
logging.md <-- Shared logging instructions
.opencode/skills/<name>/SKILL.md <-- Thin stubs that point to .claude/commands/
.opencode/commands/<name>.md <-- Thin stubs that load the corresponding skill
```
- **Claude Code** uses `.claude/commands/` directly as slash commands (e.g. `/recipe-check hedgedoc`).
- **OpenCode** discovers skills via `.opencode/skills/` and slash commands via `.opencode/commands/`. Each stub reads the full instructions from `.claude/commands/` at runtime.
### Available skills and commands
| Name | Description |
|------|-------------|
| `recipe-check` | Fetch a recipe and check for available upgrades |
| `recipe-init` | Create a new test instance and recipe-info for a recipe |
| `recipe-deploy` | Deploy the local recipe checkout to the test instance |
| `recipe-new-tag` | Bump the recipe version and create an annotated git tag |
| `recipe-overview` | Check all maintained recipes and recommend what to upgrade |
| `recipe-review` | Review a recipe for Co-op Cloud best practices |
| `recipe-test` | Run all tests for a recipe |
| `recipe-test-new` | Test a recipe's first-time initialization from scratch |
| `recipe-test-update` | Test upgrading a recipe's test instance |
| `recipe-backup-test` | Test backing up and restoring a recipe's test instance |
| `recipe-upgrade` | Upgrade a recipe's images, deploy to test, and run tests |
| `test-context-reset` | Undeploy all apps from the test server except infrastructure |
Two additional skills provide shared instructions loaded by the above:
| Name | Description |
|------|-------------|
| `recipe-guidelines` | Guidelines for local change preservation, version format, secrets |
| `recipe-logging` | Logging instructions for maintaining detailed operation logs |
### Adding or editing skills
To add a new skill or edit an existing one:
1. Write the full instructions in `.claude/commands/<name>.md` (this is the source of truth).
2. Create a stub at `.opencode/skills/<name>/SKILL.md` with the required frontmatter (`name`, `description`) and a line pointing to the `.claude/commands/` file.
3. Create a stub at `.opencode/commands/<name>.md` with frontmatter (`description`) and a line that loads the skill for `$ARGUMENTS`.
The OpenCode stubs should never contain substantive instructions — only a pointer to the `.claude/commands/` file.