Skip to content

sync: dev → main (v0.3.0 — README rewrite, MCP vs CLI guide, GSD auto-install)#14

Merged
auroracapital merged 3 commits intomainfrom
sync/dev-to-main
Apr 12, 2026
Merged

sync: dev → main (v0.3.0 — README rewrite, MCP vs CLI guide, GSD auto-install)#14
auroracapital merged 3 commits intomainfrom
sync/dev-to-main

Conversation

@auroracapital
Copy link
Copy Markdown
Collaborator

@auroracapital auroracapital commented Apr 12, 2026

Summary

Test plan

  • All 3 PRs merged and tested on dev

🤖 Generated with Claude Code


Open with Devin

Note

Medium Risk
Medium risk because claude-ops/scripts/setup.sh now auto-installs tools (via Homebrew) and runs npm install, which can change local environments and fail differently across machines. Most other changes are documentation/metadata updates and should be low risk.

Overview
Documentation and metadata are updated for the new Lifecycle-Innovations-Limited org and the current Claude Code marketplace flow, including corrected slash-command naming (/ops:go etc.), revised install steps, and expanded integration guidance (notably an MCP vs CLI comparison).

Setup behavior is expanded: scripts/setup.sh now auto-installs core tools (jq, git, gh, plus aws/node when available) via Homebrew, installs Node dependencies for the plugin and bundled Telegram server, and reports only missing prerequisites/registry.

The setup wizard spec (skills/setup/SKILL.md) adds a new Companion plugins section to optionally install the GSD plugin, and various docs/security contact details are updated accordingly.

Reviewed by Cursor Bugbot for commit eaec55c. Bugbot is set up for automated code reviews on this repo. Configure here.

Summary by CodeRabbit

  • New Features

    • Updated slash command syntax to unified namespace (e.g., /ops:comms, /ops:deploy, /ops:triage).
    • Setup now auto-installs missing tools via package manager.
    • Added companion plugins selection in setup wizard.
  • Documentation

    • Refreshed README with new integrations, requirements, and local development guidance.
    • Updated quick start and architecture sections.
  • Chores

    • Updated organization branding and repository ownership from Aurora Capital to Lifecycle Innovations Limited.

auroracapital and others added 3 commits April 12, 2026 21:35
…d org URLs (#11)

- All GitHub URLs now point to Lifecycle-Innovations-Limited/claude-ops
- Root README: correct /plugin marketplace add + install commands, MCP vs CLI
  comparison table showing what each path gains/loses per integration
- Inner README: consistent /ops:* colon syntax, GSD as optional, integrations
  split into CLI-only / MCP-only / choose-with-tradeoffs / plugin-bundled
- setup.sh: auto-install missing core tools + npm deps on SessionStart
- plugin.json: updated author URL, homepage, repository
- marketplace.json + SECURITY.md: updated email

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Setup wizard now offers to install GSD (Get Shit Done) as a companion
plugin. Pulls latest version via plugin marketplace. Users choose
[Install GSD] or [Skip]. Enhances /ops:go, /ops:projects, /ops:next
dashboards with project roadmap state.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 12, 2026 14:42
@blocksorg
Copy link
Copy Markdown
Contributor

blocksorg Bot commented Apr 12, 2026

Mention Blocks like a regular teammate with your question or request:

@blocks review this pull request
@blocks make the following changes ...
@blocks create an issue from what was mentioned in the following comment ...
@blocks explain the following code ...
@blocks are there any security or performance concerns?

Run @blocks /help for more information.

Workspace settings | Disable this message

@auroracapital auroracapital merged commit 4d72fef into main Apr 12, 2026
1 check failed
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 12, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0b43496a-54ee-475a-9db4-eb0b7d2a2bc5

📥 Commits

Reviewing files that changed from the base of the PR and between 735e482 and eaec55c.

📒 Files selected for processing (7)
  • .claude-plugin/marketplace.json
  • README.md
  • SECURITY.md
  • claude-ops/.claude-plugin/plugin.json
  • claude-ops/README.md
  • claude-ops/scripts/setup.sh
  • claude-ops/skills/setup/SKILL.md

📝 Walkthrough

Walkthrough

Organizational branding update from Aurora Capital to Lifecycle Innovations Limited with corresponding email and GitHub URL changes across configuration and documentation files. README restructured with new command namespace (/ops:*), integration guidance, and architecture sections. Setup script refactored with automated tool installation logic and npm dependencies. New companion plugins wizard section added to setup flow.

Changes

Cohort / File(s) Summary
Organization & Branding Updates
.claude-plugin/marketplace.json, SECURITY.md, claude-ops/.claude-plugin/plugin.json
Updated email from info@auroracapital.nl to info@lifecycleinnovations.limited and GitHub URLs from auroracapital to Lifecycle-Innovations-Limited across marketplace, security contact, and plugin metadata.
Primary Documentation Restructuring
README.md, claude-ops/README.md
Updated release/plugin badges and repository references; rewrote introduction and slash-command documentation with new /ops:* namespace; replaced Features/Installation sections with Quick Start, Requirements, Integrations, and Architecture guidance; updated repository structure diagrams and local development instructions.
Setup Automation & Companion Plugins
claude-ops/scripts/setup.sh, claude-ops/skills/setup/SKILL.md
Replaced manual tool readiness checks with auto_install flow for automatic brew-based tool installation; added conditional npm dependency installation for telegram-server and plugin; introduced new companion plugins wizard section for GSD installation.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 The org's name has danced from Aurora's light,

To Lifecycle's innovations, burning bright!

New commands /ops:* hop through the air,

While setup scripts auto-install with care.

A rebrand complete, the path shines true! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sync/dev-to-main

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.


# ops setup — Auto-install missing tools + validate readiness
# Called by SessionStart hook and /ops:setup
set -euo pipefail
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The script exits prematurely on systems with missing dependencies due to an unhandled error in the auto_install function combined with set -e, preventing it from reporting missing tools.
Severity: HIGH

Suggested Fix

Modify the calls to auto_install so they do not trigger an immediate script exit. This can be achieved by appending || true to each auto_install function call, which will prevent a non-zero exit code from being propagated and stopping the script.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: claude-ops/scripts/setup.sh#L4

Potential issue: The script `setup.sh` enables `set -e`, which causes the script to exit
immediately upon any command failure. The `auto_install` function returns an exit code
of 1 if a required tool is missing and cannot be automatically installed (e.g., on a
Linux system without Homebrew). Because the `auto_install` functions are called directly
without any error handling, a missing tool will cause the script to terminate
prematurely. This prevents the script from executing its primary logic, which is to
iterate through all dependencies and report a consolidated list of what is missing to
the user. The script fails silently, defeating its purpose in common environments like
Docker or CI.

Did we get this right? 👍 / 👎 to inform future reviews.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eaec55c533

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +26 to +27
auto_install jq jq
auto_install gh gh
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Prevent setup script from exiting on first missing tool

Because the script runs with set -e, these unguarded auto_install ... calls abort execution as soon as one tool is missing (e.g., gh on a fresh machine), since auto_install returns 1 in that case. That means the rest of setup checks never run, additional auto-installs are skipped, and the SessionStart hook can emit no actionable lines, leaving users without the expected readiness guidance.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 3 potential issues.

Fix All in Cursor

Bugbot Autofix is ON, but it could not run because the spend limit has been reached. To enable Bugbot Autofix, raise your spend limit in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit eaec55c. Configure here.

On install, run:

```bash
claude plugin marketplace add auroracapital/get-shit-done && claude plugin install gsd@auroracapital-get-shit-done
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GSD install commands reference wrong org name

High Severity

The GSD auto-install commands use auroracapital/get-shit-done while claude-ops/README.md line 63 references Lifecycle-Innovations-Limited/get-shit-done. This org name migration was applied everywhere else in the PR but missed here, so the new GSD auto-install feature — the main new feature of this PR — will fail to find the marketplace/plugin.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit eaec55c. Configure here.

echo ""
for tool in "${MISSING[@]}"; do
echo " ✗ ops: $tool not found — run /ops:setup to configure"
done
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Empty array expansion crashes script on macOS bash

High Severity

With set -u (nounset) enabled, "${MISSING[@]}" on an empty array triggers an "unbound variable" error in bash 3.2, which is macOS's default. On the happy path where all tools are present, MISSING stays empty and the script aborts before the registry check runs. This script runs on every session start via the SessionStart hook.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit eaec55c. Configure here.

brew install "$brew_pkg" 2>/dev/null && INSTALLED+=("$tool") && return 0
fi
MISSING+=("$tool")
return 1
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Script aborts on first missing tool due to set -e

Medium Severity

auto_install returns 1 when a tool is missing and brew is unavailable (or brew install fails). Since callers like auto_install jq jq are in a simple command position, set -e causes the script to exit on the first failure. The remaining tools are never checked, the MISSING array is never fully populated, and npm installs and registry checks are skipped.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit eaec55c. Configure here.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Syncs devmain for v0.3.0, primarily updating documentation/install flows and adding setup-wizard guidance for optional companion plugins and auto-install behavior.

Changes:

  • Rewrites/updates READMEs with the new marketplace install flow, MCP vs CLI guidance, and updated org URLs.
  • Adds “Companion plugins” (GSD) step to the setup wizard documentation.
  • Updates setup script behavior to auto-install core tooling/dependencies and refresh readiness signals on SessionStart.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
SECURITY.md Updates security contact email.
README.md Rewrites root README (new install flow, MCP vs CLI guide, architecture/structure).
claude-ops/skills/setup/SKILL.md Extends setup wizard spec with companion plugin (GSD) installation step.
claude-ops/scripts/setup.sh Changes setup script to auto-install core tools and npm deps; reports missing items.
claude-ops/README.md Updates plugin README install flow, integrations taxonomy, and slash-command syntax.
claude-ops/.claude-plugin/plugin.json Updates author/repo URLs to new GitHub org.
.claude-plugin/marketplace.json Updates marketplace owner email.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +131 to +135
On install, run:

```bash
claude plugin marketplace add auroracapital/get-shit-done && claude plugin install gsd@auroracapital-get-shit-done
```
Copy link

Copilot AI Apr 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The GSD auto-install instructions still point at auroracapital/get-shit-done and gsd@auroracapital-get-shit-done, but elsewhere in the docs GSD is referenced under Lifecycle-Innovations-Limited/get-shit-done. This mismatch will cause the wizard’s install command to fail or install from the wrong marketplace; update the marketplace repo and plugin identifier to the intended org/slug consistently throughout this step.

Copilot uses AI. Check for mistakes.
Comment on lines +2 to +32
# ops setup — Auto-install missing tools + validate readiness
# Called by SessionStart hook and /ops:setup
set -euo pipefail

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " OPS ► SETUP CHECK"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

check_tool() {
local name="$1"
local cmd="$2"
local purpose="$3"
local required="$4"

if command -v "$cmd" &>/dev/null; then
version=$($cmd --version 2>/dev/null | head -1 || echo "installed")
echo " ✓ $name — $version"
else
if [ "$required" = "required" ]; then
echo " ✗ $name — NOT FOUND (required for $purpose)"
else
echo " ○ $name — not found (optional, needed for $purpose)"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PLUGIN_ROOT="$(dirname "$SCRIPT_DIR")"
MISSING=()
INSTALLED=()

# ─── Auto-install core tools ────────────────────────────────────────
auto_install() {
local tool="$1"
local brew_pkg="$2"
if ! command -v "$tool" &>/dev/null; then
if command -v brew &>/dev/null; then
brew install "$brew_pkg" 2>/dev/null && INSTALLED+=("$tool") && return 0
fi
MISSING+=("$tool")
return 1
fi
return 0
}

echo "## Core Tools (required)"
check_tool "jq" "jq" "JSON processing" "required"
check_tool "git" "git" "repository management" "required"
check_tool "gh" "gh" "GitHub PRs and CI" "required"
# Core (auto-installed silently)
auto_install jq jq
auto_install gh gh
auto_install git git

# Infrastructure (auto-installed if brew available)
auto_install aws awscli
auto_install node node
Copy link

Copilot AI Apr 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

setup.sh runs brew install automatically and is invoked by the SessionStart hook; this can make networked system changes on every session start without explicit user confirmation. Consider making auto-install opt-in (e.g., only when invoked from /ops:setup, or gated behind an env var/flag) and keep SessionStart to a read-only readiness check.

Copilot uses AI. Check for mistakes.
Comment on lines +34 to +46
# Telegram MCP server deps
if [ -f "$PLUGIN_ROOT/telegram-server/package.json" ] && command -v node &>/dev/null; then
if [ ! -d "$PLUGIN_ROOT/telegram-server/node_modules" ]; then
(cd "$PLUGIN_ROOT/telegram-server" && npm install --silent 2>/dev/null) && INSTALLED+=("telegram-deps")
fi
fi

echo ""
echo "## Infrastructure Tools"
check_tool "aws" "aws" "/ops-infra ECS health" "optional"
check_tool "sentry-cli" "sentry-cli" "/ops-triage Sentry issues" "optional"
# Plugin bin deps
if [ -f "$PLUGIN_ROOT/package.json" ] && command -v node &>/dev/null; then
if [ ! -d "$PLUGIN_ROOT/node_modules" ]; then
(cd "$PLUGIN_ROOT" && npm install --silent 2>/dev/null) && INSTALLED+=("plugin-deps")
fi
fi
Copy link

Copilot AI Apr 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The npm install calls discard stderr and don’t emit any warning on failure (they just skip adding to INSTALLED). If dependency installation fails (offline, permissions, missing npm), the script will silently proceed and later Telegram/plugin scripts may break with no actionable signal. Consider capturing failures and printing a clear ✗ ops: line (and/or the error output) so SessionStart and users can see what went wrong.

Copilot uses AI. Check for mistakes.
Comment thread README.md
Comment on lines +65 to 70
## Requirements

Add to `~/.claude/settings.json`:
Just [Claude Code](https://claude.ai/code) 1.0+. Everything else is installed automatically.

```json
{
"plugins": [
{
"source": "https://github.com/auroracapital/claude-ops"
}
]
}
```

Then configure integrations:
The setup wizard (`/ops:setup`) walks you through each integration interactively — "Do you want AWS CLI? [Yes/No]", "Connect Slack? [OAuth/Skip]", etc. Missing CLIs are auto-installed via Homebrew. MCP servers connect via OAuth. No config files to edit manually.

Copy link

Copilot AI Apr 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The statement “Everything else is installed automatically” is inaccurate given the current behavior: installs depend on Homebrew being present, and some tools (e.g., wacli, gog) are manual installs. Reword this to reflect the actual flow (wizard-guided installs, auto-install only when supported, and Homebrew/macOS assumptions) to avoid misleading users.

Copilot uses AI. Check for mistakes.
Comment thread claude-ops/README.md
Comment on lines +69 to 78
```bash
# 1. Add the marketplace (one-time)
/plugin marketplace add Lifecycle-Innovations-Limited/claude-ops

# 3. Fill in plugin user_config when prompted, or later via /plugin settings
# (Telegram API creds, Sentry org, Linear team, AWS region — all optional)
# 2. Install the plugin
/plugin install ops@lifecycle-innovations-limited-claude-ops

# 4. Run the interactive setup wizard to auto-detect tools and configure channels
# 3. Configure integrations (Telegram, Slack, AWS, etc.)
/ops:setup
```
Copy link

Copilot AI Apr 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This README now instructs installing ops@lifecycle-innovations-limited-claude-ops, but later sections still refer to configuring ops@ops-marketplace and use hard-coded cache paths like ~/.claude/plugins/cache/ops-marketplace/.... That inconsistency is likely to send users to the wrong plugin settings / paths. Please update those references to match the new marketplace/plugin identifier (or prefer ${CLAUDE_PLUGIN_ROOT} in examples).

Copilot uses AI. Check for mistakes.
Comment thread claude-ops/README.md
Comment on lines +63 to 64
| [GSD](https://github.com/Lifecycle-Innovations-Limited/get-shit-done) | Project roadmap state in dashboards | Auto-detected. Skills degrade gracefully without it |

Copy link

Copilot AI Apr 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GSD is listed under the “Plugin-bundled” integrations section, but it’s described elsewhere (and in the setup wizard) as a separate third-party companion plugin. This heading/placement is misleading; consider moving GSD to a dedicated “Companion/Optional plugins” section (or explicitly note it is not bundled with claude-ops).

Suggested change
| [GSD](https://github.com/Lifecycle-Innovations-Limited/get-shit-done) | Project roadmap state in dashboards | Auto-detected. Skills degrade gracefully without it |
#### Optional companion plugins (not bundled)
| Integration | What it is | Setup |
|-------------|-----------|-------|
| [GSD](https://github.com/Lifecycle-Innovations-Limited/get-shit-done) | Project roadmap state in dashboards | Auto-detected if installed separately. Skills degrade gracefully without it |

Copilot uses AI. Check for mistakes.
@auroracapital auroracapital deleted the sync/dev-to-main branch April 12, 2026 14:53
auroracapital added a commit that referenced this pull request Apr 13, 2026
…-install) (#14)

* docs: rewrite READMEs with correct install flow, MCP vs CLI guide, and org URLs (#11)

- All GitHub URLs now point to Lifecycle-Innovations-Limited/claude-ops
- Root README: correct /plugin marketplace add + install commands, MCP vs CLI
  comparison table showing what each path gains/loses per integration
- Inner README: consistent /ops:* colon syntax, GSD as optional, integrations
  split into CLI-only / MCP-only / choose-with-tradeoffs / plugin-bundled
- setup.sh: auto-install missing core tools + npm deps on SessionStart
- plugin.json: updated author URL, homepage, repository
- marketplace.json + SECURITY.md: updated email

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs: clarify Telegram setup is fully automated (phone + 2 codes) (#12)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* feat: add GSD companion plugin auto-install to setup wizard (#13)

Setup wizard now offers to install GSD (Get Shit Done) as a companion
plugin. Pulls latest version via plugin marketplace. Users choose
[Install GSD] or [Skip]. Enhances /ops:go, /ops:projects, /ops:next
dashboards with project roadmap state.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai coderabbitai Bot mentioned this pull request May 1, 2026
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants