Skip to content

docs: rewrite READMEs with MCP vs CLI guide and correct install flow#11

Merged
auroracapital merged 1 commit intodevfrom
docs/readme-rewrite-mcp-vs-cli
Apr 12, 2026
Merged

docs: rewrite READMEs with MCP vs CLI guide and correct install flow#11
auroracapital merged 1 commit intodevfrom
docs/readme-rewrite-mcp-vs-cli

Conversation

@auroracapital
Copy link
Copy Markdown
Collaborator

@auroracapital auroracapital commented Apr 12, 2026

Summary

  • All GitHub URLs → Lifecycle-Innovations-Limited/claude-ops (was auroracapital)
  • Root README: correct /plugin marketplace add + /plugin install commands, comprehensive MCP vs CLI comparison table showing what each integration path gains/loses
  • Inner README: consistent /ops:* colon syntax, GSD demoted to optional, integrations categorized (CLI-only / MCP-only / choose-with-tradeoffs / plugin-bundled)
  • setup.sh: auto-installs missing core tools + npm deps on SessionStart
  • plugin.json, marketplace.json, SECURITY.md: updated URLs and email

Test plan

  • Verify README renders correctly on GitHub
  • Verify /ops:setup still detects and installs tools
  • Confirm no broken links

🤖 Generated with Claude Code


Open with Devin

Note

Medium Risk
Mostly documentation/metadata updates, but scripts/setup.sh now auto-installs tools and runs npm install (triggered on SessionStart), which can affect developer environments and startup behavior.

Overview
Updates project metadata and docs to the Lifecycle-Innovations-Limited/claude-ops repo, fixes the Claude Code installation flow (/plugin marketplace add + /plugin install), and standardizes command syntax to /ops:*.

Adds a detailed MCP vs CLI integration guide and reorganizes requirements/integration sections in both READMEs.

Changes claude-ops/scripts/setup.sh from a reporting-only checker to an auto-installer (Homebrew installs for jq/gh/git/aws/node plus npm install for plugin/Telegram deps) and simplifies output to only surface missing tools/registry issues.

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

…d org URLs

- 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>
Copilot AI review requested due to automatic review settings April 12, 2026 14:34
@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

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 12, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 29dbbe3b-0631-4afe-a5d5-b9c96eb5fbc6

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/readme-rewrite-mcp-vs-cli

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.

@auroracapital auroracapital merged commit 81a3caf into dev Apr 12, 2026
4 of 5 checks passed
Comment on lines +26 to +32
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
Copy Markdown

Choose a reason for hiding this comment

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

Bug: Due to set -e, the script exits silently if auto_install fails, preventing the missing tools report from being printed.
Severity: HIGH

Suggested Fix

Wrap the calls to auto_install in a conditional or use || true to prevent a non-zero exit code from terminating the script. For example: auto_install jq jq || true.

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#L26-L32

Potential issue: The script uses `set -e`, which causes it to exit immediately if any
command fails. The `auto_install` function is called as a bare command and returns a
non-zero exit code if a tool is missing and cannot be installed (e.g., on Linux without
Homebrew, or if `brew install` fails). When this happens, the script exits prematurely,
before it can execute the final reporting section that informs the user which tools are
missing. This results in the script failing silently without providing any diagnostic
output.

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

Comment on lines 52 to +55

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.

Bug: The script crashes on older bash versions (e.g., macOS default) when all tools are already installed because set -u treats the empty MISSING array as an error.
Severity: MEDIUM

Suggested Fix

Guard the array expansion to make it safe for older bash versions under set -u. A common pattern is to use parameter expansion with a default empty value, for example: for tool in "${MISSING[@]+${MISSING[@]}}". This ensures the expression is valid even if the array is empty.

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#L52-L55

Potential issue: The script enables `set -u`, which treats unset variables as errors. On
older bash versions, such as bash 3.2 which was the default on macOS, an empty array is
treated as an unset variable. If the script runs in such an environment and all tools
are already installed, the `MISSING` array will be empty. The loop `for tool in
"${MISSING[@]}"` will then cause the script to crash with an unbound variable error,
preventing it from completing successfully.

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: 24979bff95

ℹ️ 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".

check_tool "git" "git" "repository management" "required"
check_tool "gh" "gh" "GitHub PRs and CI" "required"
# Core (auto-installed silently)
auto_install jq jq
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 aborting on first missing tool

With set -e enabled, calling auto_install directly here causes the script to exit immediately whenever a tool is missing and Homebrew is unavailable (or brew install fails), because auto_install returns 1 in that case. That means later checks never run, MISSING entries are never printed, and the SessionStart hook (setup.sh ... | grep '✗') often shows nothing even though dependencies are missing. This breaks first-run diagnostics on non-Homebrew environments and hides actionable setup 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 2 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 24979bf. Configure here.


# Infrastructure (auto-installed if brew available)
auto_install aws awscli
auto_install node node
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 exits on first missing tool due to set -e

High Severity

The auto_install function returns 1 when a tool is missing and brew is unavailable (or brew install fails). Because the calls on lines 26–32 are bare statements (not inside if, ||, or &&), set -e on line 4 terminates the entire script on the first non-zero return. This means subsequent tool checks, npm install steps, registry validation, and the reporting loop at the end never execute. On any non-macOS system (or macOS without Homebrew), the first missing tool silently kills the script.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 24979bf. 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 fails with set -u on macOS bash

Medium Severity

On the happy path where all tools are already installed, MISSING remains an empty array. Expanding "${MISSING[@]}" on line 53 with set -u active triggers an "unbound variable" error on bash versions before 4.4 — including macOS's default bash 3.2. This means the script errors out on the success case, preventing the registry check from running and producing a spurious non-zero exit. A length guard (if [ ${#MISSING[@]} -gt 0 ]) around the for loop — like the one already protecting INSTALLED on line 49 — would avoid this.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 24979bf. 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

Updates repository and plugin documentation to reflect the new GitHub org/repo, clarifies installation/configuration flows (including MCP vs CLI tradeoffs), and adjusts the setup script to auto-install key dependencies during startup/setup.

Changes:

  • Rewrites root and plugin READMEs (new install flow, /ops:* command syntax, MCP vs CLI comparison, updated structure/links).
  • Updates contact and repository metadata (SECURITY email, marketplace owner email, plugin homepage/repo URLs).
  • Enhances scripts/setup.sh to auto-install core tools (via Homebrew when available) and install Node dependencies when missing.

Reviewed changes

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

Show a summary per file
File Description
SECURITY.md Updates security contact email address.
README.md Reworks root documentation: new install flow, command reference, architecture/structure, updated URLs.
claude-ops/scripts/setup.sh Adds auto-install + dependency bootstrap behavior and reduces output to problems.
claude-ops/README.md Aligns slash command syntax, updates install instructions, and adds integration categorization.
claude-ops/.claude-plugin/plugin.json Updates author/repo/homepage URLs to the new org.
.claude-plugin/marketplace.json Updates marketplace owner email address.

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

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 “Requirements” section says only Claude Code is needed and “everything else is installed automatically”, but the install flow described below relies on Homebrew being present (and setup.sh only installs tools if brew exists). Please clarify platform/tooling prerequisites (e.g., Homebrew on macOS, and what Linux users should do) so users don’t assume dependencies will always auto-install.

Copilot uses AI. Check for mistakes.
Comment on lines +12 to 18
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
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 suppresses errors from brew install and npm install (2>/dev/null, --silent) and the SessionStart hook further filters output to only show "✗" lines. If installs fail, users may get no actionable signal and later hit runtime failures. Consider surfacing a brief warning when an install attempt fails (and/or logging to a file), while keeping SessionStart output minimal.

Copilot uses AI. Check for mistakes.
Comment on lines +53 to +55
for tool in "${MISSING[@]}"; do
echo " ✗ ops: $tool not found — run /ops:setup to configure"
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 message ✗ ops: <tool> not found — run /ops:setup to configure is confusing because this script is documented as being called by /ops:setup. When a tool can’t be auto-installed, please print concrete next steps (e.g., "install Homebrew", "brew install ", or a manual install URL) instead of instructing the user to rerun the same command.

Copilot uses AI. Check for mistakes.
Comment thread claude-ops/README.md
Comment on lines 22 to +27
## Requirements

- [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 1.0+
- [GSD](https://github.com/auroracapital/get-shit-done) (prerequisite — provides project roadmap state)
- Node.js 18+ (for Telegram MCP server)
- AWS CLI (configured, for ECS + cost data)
- GitHub CLI (`gh`, for PRs and CI)
- [Claude Code](https://claude.ai/code) 1.0+
- GitHub CLI (`gh`) — for PRs and CI status

### Optional integrations
Everything else is optional. The setup wizard (`/ops:setup`) auto-detects what's installed and configures accordingly.
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 README still implies a fully automatic install experience, but core tooling is only auto-installed when Homebrew is available. Also, gh is listed as a requirement even though the setup flow auto-installs it via Homebrew. Please align the requirements/wording with the actual behavior (what’s required up front vs what can be auto-installed, and on which platforms).

Copilot uses AI. Check for mistakes.
Comment on lines +35 to +45
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
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.

Both the plugin root and telegram-server have package-lock.json, but the script uses npm install. For deterministic, lockfile-respecting installs (and to avoid npm rewriting the lockfile in some environments), consider using npm ci when a lockfile is present and node_modules/ is absent.

Copilot uses AI. Check for mistakes.
auroracapital added a commit that referenced this pull request Apr 12, 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>
@auroracapital auroracapital deleted the docs/readme-rewrite-mcp-vs-cli branch April 12, 2026 14:53
auroracapital added a commit that referenced this pull request Apr 12, 2026
* 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>

* fix: replace gitleaks-action with local binary

* Add CONTRIBUTING.md and issue/PR templates

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
auroracapital added a commit that referenced this pull request Apr 12, 2026
* 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>

* fix: replace gitleaks-action with local binary

* Add CONTRIBUTING.md and issue/PR templates

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
auroracapital added a commit that referenced this pull request Apr 12, 2026
* 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>

* fix: replace gitleaks-action with local binary

* Add CONTRIBUTING.md and issue/PR templates

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(ci): update gitleaks to v8.30.1 — linux_x64 asset name

* feat: add /ops:uninstall skill for complete plugin removal (#26)

Interactive uninstall that cleans up everything: keychain credentials,
preferences, cache, shell profile exports, MCP registrations, and the
plugin itself. Confirms each deletion step before proceeding.

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

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
auroracapital added a commit that referenced this pull request Apr 12, 2026
… telegram fix) (#32)

* 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>

* fix: replace gitleaks-action with local binary

* Add CONTRIBUTING.md and issue/PR templates

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(ci): update gitleaks to v8.30.1 — linux_x64 asset name

* feat: add /ops:uninstall skill for complete plugin removal (#26)

Interactive uninstall that cleans up everything: keychain credentials,
preferences, cache, shell profile exports, MCP registrations, and the
plugin itself. Confirms each deletion step before proceeding.

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

* fix(telegram): graceful degradation when credentials are missing (#28)

Server no longer exits at startup when TELEGRAM_API_ID/HASH/SESSION are
unset. It starts as a valid MCP server and returns a clear "not configured"
error on every tool call instead of crashing, keeping the plugin loadable
without Telegram credentials.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: polish README with ASCII art and terminal aesthetic (#29)

Rewrote README with block ASCII logo, terminal-style /ops:go dashboard mockup,
box-drawing tables throughout, and section headers — no content removed.

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

* fix(setup): fix CLI probes, add appendix, improve registry/prefs/Telegram/WhatsApp flows (#30)

* fix(setup): fix CLI probes, add appendix, improve registry/prefs/Telegram flows

- Replace broken `gog inbox list` probe with `gog gmail labels list --json`
- Replace broken `gog cal events --time-min` probe with `gog cal list --json --max 3`
- Add CLI Reference Appendix with exact, tested syntax for gog, wacli, Slack, and keychain
- Preferences step now always asks owner name, timezone (7 options), verbosity, and default channels — never auto-fills from memory
- Registry step now scans filesystem for git repos via find and presents multiSelect; adds "Auto-detect from existing registry" option
- Add parallelization rule to Hard Rules: run all diagnostic probes in parallel, background slow commands
- Telegram flow now requires explicit opt-in ask before starting phone/auth flow; no silent skip
- WhatsApp backfill failures are now swallowed silently; summary line never shows message counts or 0-result spam
- Never show user's real name or email unless explicitly provided in the current session
- Fix `wacli chats` → `wacli chats list` (correct subcommand)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add first-run onboarding banners (ops-welcome + ops-setup-complete)

Animated ASCII art welcome sequence on first SessionStart (gates on
preferences.json existence). Setup completion dashboard with channel/
project/agent/skill counts. Both scripts use ANSI colors with NO_COLOR
graceful degradation. SessionStart hook updated to run welcome before
setup check. Setup SKILL.md Step 8 calls completion banner with actual
counts.

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

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
auroracapital added a commit that referenced this pull request Apr 12, 2026
* 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>

* fix: replace gitleaks-action with local binary

* Add CONTRIBUTING.md and issue/PR templates

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(ci): update gitleaks to v8.30.1 — linux_x64 asset name

* feat: add /ops:uninstall skill for complete plugin removal (#26)

Interactive uninstall that cleans up everything: keychain credentials,
preferences, cache, shell profile exports, MCP registrations, and the
plugin itself. Confirms each deletion step before proceeding.

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

* fix(telegram): graceful degradation when credentials are missing (#28)

Server no longer exits at startup when TELEGRAM_API_ID/HASH/SESSION are
unset. It starts as a valid MCP server and returns a clear "not configured"
error on every tool call instead of crashing, keeping the plugin loadable
without Telegram credentials.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: polish README with ASCII art and terminal aesthetic (#29)

Rewrote README with block ASCII logo, terminal-style /ops:go dashboard mockup,
box-drawing tables throughout, and section headers — no content removed.

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

* fix(setup): fix CLI probes, add appendix, improve registry/prefs/Telegram/WhatsApp flows (#30)

* fix(setup): fix CLI probes, add appendix, improve registry/prefs/Telegram flows

- Replace broken `gog inbox list` probe with `gog gmail labels list --json`
- Replace broken `gog cal events --time-min` probe with `gog cal list --json --max 3`
- Add CLI Reference Appendix with exact, tested syntax for gog, wacli, Slack, and keychain
- Preferences step now always asks owner name, timezone (7 options), verbosity, and default channels — never auto-fills from memory
- Registry step now scans filesystem for git repos via find and presents multiSelect; adds "Auto-detect from existing registry" option
- Add parallelization rule to Hard Rules: run all diagnostic probes in parallel, background slow commands
- Telegram flow now requires explicit opt-in ask before starting phone/auth flow; no silent skip
- WhatsApp backfill failures are now swallowed silently; summary line never shows message counts or 0-result spam
- Never show user's real name or email unless explicitly provided in the current session
- Fix `wacli chats` → `wacli chats list` (correct subcommand)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add first-run onboarding banners (ops-welcome + ops-setup-complete)

Animated ASCII art welcome sequence on first SessionStart (gates on
preferences.json existence). Setup completion dashboard with channel/
project/agent/skill counts. Both scripts use ANSI colors with NO_COLOR
graceful degradation. SessionStart hook updated to run welcome before
setup check. Setup SKILL.md Step 8 calls completion banner with actual
counts.

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

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: critical setup flow bugs (fatal shell redirects, wrong scripts, sync installs) (#33)

- Fix Step 8 completion banner: move from ! fence to regular bash fence so <N> placeholders aren't shell-redirected
- Fix Step 3a Telegram scout: replace incorrect ops-slack-autolink call with direct keychain check
- Fix Step 2b GSD install: replace bash claude plugin commands (not shell commands) with slash command instructions
- Fix setup.sh: add 30s timeout to brew installs and silence npm stdout with &>/dev/null
- Fix CLI appendix + Step 3b.2: add Linux date fallback alongside macOS date -v-1d
- Fix ops-welcome: detect actual skill/agent counts dynamically instead of hardcoding 15/9

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: preflight data gatherer for zero-wait setup

* fix: critical setup flow bugs (fatal shell redirects, wrong scripts, sync installs)

- Fix Step 8 completion banner: move from ! fence to regular bash fence so <N> placeholders aren't shell-redirected
- Fix Step 3a Telegram scout: replace incorrect ops-slack-autolink call with direct keychain check
- Fix Step 2b GSD install: replace bash claude plugin commands (not shell commands) with slash command instructions
- Fix setup.sh: add 30s timeout to brew installs and silence npm stdout with &>/dev/null
- Fix CLI appendix + Step 3b.2: add Linux date fallback alongside macOS date -v-1d
- Fix ops-welcome: detect actual skill/agent counts dynamically instead of hardcoding 15/9

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: preflight data gatherer for zero-wait setup

Add ops-setup-preflight script that runs all environment probes in parallel as background jobs, writing results to /tmp/ops-preflight/ so the setup wizard has zero-latency data by the time the user answers the first question. Update ops-setup-detect to read from the preflight cache when available, avoiding redundant probes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
auroracapital added a commit that referenced this pull request Apr 13, 2026
…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>
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>
auroracapital added a commit that referenced this pull request Apr 13, 2026
* 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>

* fix: replace gitleaks-action with local binary

* Add CONTRIBUTING.md and issue/PR templates

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
auroracapital added a commit that referenced this pull request Apr 13, 2026
* 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>

* fix: replace gitleaks-action with local binary

* Add CONTRIBUTING.md and issue/PR templates

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
auroracapital added a commit that referenced this pull request Apr 13, 2026
* 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>

* fix: replace gitleaks-action with local binary

* Add CONTRIBUTING.md and issue/PR templates

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(ci): update gitleaks to v8.30.1 — linux_x64 asset name

* feat: add /ops:uninstall skill for complete plugin removal (#26)

Interactive uninstall that cleans up everything: keychain credentials,
preferences, cache, shell profile exports, MCP registrations, and the
plugin itself. Confirms each deletion step before proceeding.

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

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
auroracapital added a commit that referenced this pull request Apr 13, 2026
… telegram fix) (#32)

* 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>

* fix: replace gitleaks-action with local binary

* Add CONTRIBUTING.md and issue/PR templates

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(ci): update gitleaks to v8.30.1 — linux_x64 asset name

* feat: add /ops:uninstall skill for complete plugin removal (#26)

Interactive uninstall that cleans up everything: keychain credentials,
preferences, cache, shell profile exports, MCP registrations, and the
plugin itself. Confirms each deletion step before proceeding.

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

* fix(telegram): graceful degradation when credentials are missing (#28)

Server no longer exits at startup when TELEGRAM_API_ID/HASH/SESSION are
unset. It starts as a valid MCP server and returns a clear "not configured"
error on every tool call instead of crashing, keeping the plugin loadable
without Telegram credentials.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: polish README with ASCII art and terminal aesthetic (#29)

Rewrote README with block ASCII logo, terminal-style /ops:go dashboard mockup,
box-drawing tables throughout, and section headers — no content removed.

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

* fix(setup): fix CLI probes, add appendix, improve registry/prefs/Telegram/WhatsApp flows (#30)

* fix(setup): fix CLI probes, add appendix, improve registry/prefs/Telegram flows

- Replace broken `gog inbox list` probe with `gog gmail labels list --json`
- Replace broken `gog cal events --time-min` probe with `gog cal list --json --max 3`
- Add CLI Reference Appendix with exact, tested syntax for gog, wacli, Slack, and keychain
- Preferences step now always asks owner name, timezone (7 options), verbosity, and default channels — never auto-fills from memory
- Registry step now scans filesystem for git repos via find and presents multiSelect; adds "Auto-detect from existing registry" option
- Add parallelization rule to Hard Rules: run all diagnostic probes in parallel, background slow commands
- Telegram flow now requires explicit opt-in ask before starting phone/auth flow; no silent skip
- WhatsApp backfill failures are now swallowed silently; summary line never shows message counts or 0-result spam
- Never show user's real name or email unless explicitly provided in the current session
- Fix `wacli chats` → `wacli chats list` (correct subcommand)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add first-run onboarding banners (ops-welcome + ops-setup-complete)

Animated ASCII art welcome sequence on first SessionStart (gates on
preferences.json existence). Setup completion dashboard with channel/
project/agent/skill counts. Both scripts use ANSI colors with NO_COLOR
graceful degradation. SessionStart hook updated to run welcome before
setup check. Setup SKILL.md Step 8 calls completion banner with actual
counts.

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

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
auroracapital added a commit that referenced this pull request Apr 13, 2026
* 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>

* fix: replace gitleaks-action with local binary

* Add CONTRIBUTING.md and issue/PR templates

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(ci): update gitleaks to v8.30.1 — linux_x64 asset name

* feat: add /ops:uninstall skill for complete plugin removal (#26)

Interactive uninstall that cleans up everything: keychain credentials,
preferences, cache, shell profile exports, MCP registrations, and the
plugin itself. Confirms each deletion step before proceeding.

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

* fix(telegram): graceful degradation when credentials are missing (#28)

Server no longer exits at startup when TELEGRAM_API_ID/HASH/SESSION are
unset. It starts as a valid MCP server and returns a clear "not configured"
error on every tool call instead of crashing, keeping the plugin loadable
without Telegram credentials.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: polish README with ASCII art and terminal aesthetic (#29)

Rewrote README with block ASCII logo, terminal-style /ops:go dashboard mockup,
box-drawing tables throughout, and section headers — no content removed.

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

* fix(setup): fix CLI probes, add appendix, improve registry/prefs/Telegram/WhatsApp flows (#30)

* fix(setup): fix CLI probes, add appendix, improve registry/prefs/Telegram flows

- Replace broken `gog inbox list` probe with `gog gmail labels list --json`
- Replace broken `gog cal events --time-min` probe with `gog cal list --json --max 3`
- Add CLI Reference Appendix with exact, tested syntax for gog, wacli, Slack, and keychain
- Preferences step now always asks owner name, timezone (7 options), verbosity, and default channels — never auto-fills from memory
- Registry step now scans filesystem for git repos via find and presents multiSelect; adds "Auto-detect from existing registry" option
- Add parallelization rule to Hard Rules: run all diagnostic probes in parallel, background slow commands
- Telegram flow now requires explicit opt-in ask before starting phone/auth flow; no silent skip
- WhatsApp backfill failures are now swallowed silently; summary line never shows message counts or 0-result spam
- Never show user's real name or email unless explicitly provided in the current session
- Fix `wacli chats` → `wacli chats list` (correct subcommand)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add first-run onboarding banners (ops-welcome + ops-setup-complete)

Animated ASCII art welcome sequence on first SessionStart (gates on
preferences.json existence). Setup completion dashboard with channel/
project/agent/skill counts. Both scripts use ANSI colors with NO_COLOR
graceful degradation. SessionStart hook updated to run welcome before
setup check. Setup SKILL.md Step 8 calls completion banner with actual
counts.

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

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: critical setup flow bugs (fatal shell redirects, wrong scripts, sync installs) (#33)

- Fix Step 8 completion banner: move from ! fence to regular bash fence so <N> placeholders aren't shell-redirected
- Fix Step 3a Telegram scout: replace incorrect ops-slack-autolink call with direct keychain check
- Fix Step 2b GSD install: replace bash claude plugin commands (not shell commands) with slash command instructions
- Fix setup.sh: add 30s timeout to brew installs and silence npm stdout with &>/dev/null
- Fix CLI appendix + Step 3b.2: add Linux date fallback alongside macOS date -v-1d
- Fix ops-welcome: detect actual skill/agent counts dynamically instead of hardcoding 15/9

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: preflight data gatherer for zero-wait setup

* fix: critical setup flow bugs (fatal shell redirects, wrong scripts, sync installs)

- Fix Step 8 completion banner: move from ! fence to regular bash fence so <N> placeholders aren't shell-redirected
- Fix Step 3a Telegram scout: replace incorrect ops-slack-autolink call with direct keychain check
- Fix Step 2b GSD install: replace bash claude plugin commands (not shell commands) with slash command instructions
- Fix setup.sh: add 30s timeout to brew installs and silence npm stdout with &>/dev/null
- Fix CLI appendix + Step 3b.2: add Linux date fallback alongside macOS date -v-1d
- Fix ops-welcome: detect actual skill/agent counts dynamically instead of hardcoding 15/9

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: preflight data gatherer for zero-wait setup

Add ops-setup-preflight script that runs all environment probes in parallel as background jobs, writing results to /tmp/ops-preflight/ so the setup wizard has zero-latency data by the time the user answers the first question. Update ops-setup-detect to read from the preflight cache when available, avoiding redundant probes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

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