← ClaudeAtlas

ops-releaselisted

Publish a new version of the claude-ops ("ops") plugin in one command — bump plugin.json + marketplace.json + package.json, prepend the CHANGELOG, open the release PR, admin squash-merge it to main, and tag vX.Y.Z. Use when shipping a fix/feature that has already merged to main and you want it published so /ops:ops-update can pull it down. This is the publish side; /ops:ops-update is the consume side.
Lifecycle-Innovations-Limited/claude-ops · ★ 17 · AI & Automation · score 83
Install: claude install-skill Lifecycle-Innovations-Limited/claude-ops
# OPS ► RELEASE — one-command plugin publish Cuts a new published version of the **claude-ops** plugin: bumps the version in the three manifests, writes the CHANGELOG, opens a release PR, admin-merges it to `main`, and pushes the `vX.Y.Z` tag. After it runs, `/ops:ops-update` pulls the new version down to the box. > **`ops-release` ships it · `/ops:ops-update` pulls it.** Order: merge your fix PR > → `/ops:ops-release` → `/ops:ops-update`. ## ⚠️ Run it from the REPO CHECKOUT, not the cache `bin/ops-release` resolves its targets **relative to its own location**: `PLUGIN_DIR = <bin>/..`, `REPO_ROOT = <bin>/../..`, and it needs `REPO_ROOT/.claude-plugin/marketplace.json`. The plugin **cache** (`~/.claude/plugins/cache/ops-marketplace/ops/<ver>/bin/ops-release`) has **no** `marketplace.json` above it, so running the cache copy fails with `not found: …/.claude-plugin/marketplace.json`. Always run the copy inside a **git checkout** of the repo (the dir that has both `.claude-plugin/marketplace.json` and `claude-ops/bin/ops-release`). Resolve it first: ```bash RELEASE="" for d in ~/Projects/claude-ops-workspace/claude-ops ~/Projects/claude-ops/claude-ops "$HOME"/Projects/*/claude-ops; do if [ -f "$d/.claude-plugin/marketplace.json" ] && [ -x "$d/claude-ops/bin/ops-release" ]; then RELEASE="$d/claude-ops/bin/ops-release"; REPO="$d"; break fi done [ -n "$RELEASE" ] || { echo "no claude-ops checkout with marketplace.json found — clone the repo first"; exit 1; } echo "usin