suppressed mcp ctx7 and ruflo
This commit is contained in:
parent
854a0af92a
commit
4c9ad86ee4
34
README.md
34
README.md
@ -190,10 +190,10 @@ gsd # then inside the session:
|
|||||||
| Cost tracking | None | Per-unit token/cost ledger |
|
| Cost tracking | None | Per-unit token/cost ledger |
|
||||||
| Git strategy | LLM writes git commands | Worktree isolation, squash merge |
|
| Git strategy | LLM writes git commands | Worktree isolation, squash merge |
|
||||||
|
|
||||||
### Ruflo MCP (enterprise multi-agent orchestration)
|
### Ruflo CLI (enterprise multi-agent orchestration)
|
||||||
|
|
||||||
> Ruflo (formerly claude-flow) is a heavy enterprise MCP server — 310+ tools, 100+ agent types,
|
> Ruflo (formerly claude-flow) is a heavy enterprise multi-agent orchestration CLI — 310+ tools, 100+ agent types,
|
||||||
> WASM kernel, self-learning architecture. ~500-1500 tokens passive cost when active.
|
> WASM kernel, self-learning architecture. ~500-1500 tokens passive cost when hooks active.
|
||||||
>
|
>
|
||||||
> **Use when:** project explicitly requires coordinating 5+ specialized agents simultaneously,
|
> **Use when:** project explicitly requires coordinating 5+ specialized agents simultaneously,
|
||||||
> parallel swarm execution, or enterprise-grade multi-agent orchestration.
|
> parallel swarm execution, or enterprise-grade multi-agent orchestration.
|
||||||
@ -201,16 +201,20 @@ gsd # then inside the session:
|
|||||||
>
|
>
|
||||||
> **Install:**
|
> **Install:**
|
||||||
> ```bash
|
> ```bash
|
||||||
> # Full install (~340MB)
|
> # Minimal install (~40MB, no ML/embeddings)
|
||||||
> npm install -g ruflo@latest
|
|
||||||
> # Or minimal (faster, no ML/embeddings)
|
|
||||||
> npm install -g ruflo@latest --omit=optional
|
> npm install -g ruflo@latest --omit=optional
|
||||||
>
|
>
|
||||||
> # Register as MCP server in Claude Code
|
> # Initialize in your project
|
||||||
> claude mcp add --scope user ruflo -- npx ruflo mcp start
|
> ruflo init --wizard
|
||||||
|
>
|
||||||
|
> # Useful commands
|
||||||
|
> ruflo agent spawn -t coder # spawn a coding agent
|
||||||
|
> ruflo swarm init # start a swarm
|
||||||
|
> ruflo memory search -q "..." # search vector memory
|
||||||
|
> ruflo doctor # diagnostics
|
||||||
>
|
>
|
||||||
> # Verify
|
> # Verify
|
||||||
> claude mcp list | grep ruflo
|
> ruflo --version
|
||||||
> ```
|
> ```
|
||||||
|
|
||||||
### Bundled skills (Claude Code built-in, always available)
|
### Bundled skills (Claude Code built-in, always available)
|
||||||
@ -417,7 +421,7 @@ Run `/plugin-check` anytime to get a recommendation for the current project type
|
|||||||
| **Superpowers** | ✅ REQUIRED | ~600–1000 tokens | — required by orchestrators | superpowers-marketplace |
|
| **Superpowers** | ✅ REQUIRED | ~600–1000 tokens | — required by orchestrators | superpowers-marketplace |
|
||||||
| **GStack** | 🔄 TOGGLE | ~2500–3000 tokens | Full-product: UI + design + deploy + browser QA | git submodule |
|
| **GStack** | 🔄 TOGGLE | ~2500–3000 tokens | Full-product: UI + design + deploy + browser QA | git submodule |
|
||||||
| **GSD v2** | 🖥️ CLI | 0 tokens (external CLI) | Multi-day features, crash recovery, cost tracking, parallel workers | npm (pinned in plugins.lock.json) |
|
| **GSD v2** | 🖥️ CLI | 0 tokens (external CLI) | Multi-day features, crash recovery, cost tracking, parallel workers | npm (pinned in plugins.lock.json) |
|
||||||
| **ruflo** | 🔄 TOGGLE | ~500–1500 tokens | Enterprise multi-agent swarm (5+ concurrent agents) | npm + MCP manual |
|
| **ruflo** | 🔄 TOGGLE | ~500–1500 tokens | Enterprise multi-agent swarm (5+ concurrent agents) | npm (CLI) |
|
||||||
| **plugin-dev** | 🔄 TOGGLE | ~100 tokens | Creating plugins or custom skills | claude-code-plugins |
|
| **plugin-dev** | 🔄 TOGGLE | ~100 tokens | Creating plugins or custom skills | claude-code-plugins |
|
||||||
| **pr-review-toolkit** | 🔄 TOGGLE | ~300 tokens | PR review sessions | claude-code-plugins |
|
| **pr-review-toolkit** | 🔄 TOGGLE | ~300 tokens | PR review sessions | claude-code-plugins |
|
||||||
| **frontend-design** | 🔄 TOGGLE | ~200 tokens | Any project with a UI | claude-code-plugins |
|
| **frontend-design** | 🔄 TOGGLE | ~200 tokens | Any project with a UI | claude-code-plugins |
|
||||||
@ -604,7 +608,7 @@ bash update-all.sh
|
|||||||
npm install -g gsd-pi@2.64.0
|
npm install -g gsd-pi@2.64.0
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Ruflo MCP
|
#### Ruflo CLI
|
||||||
```bash
|
```bash
|
||||||
# Uses the version pinned in plugins.lock.json
|
# Uses the version pinned in plugins.lock.json
|
||||||
bash update-all.sh
|
bash update-all.sh
|
||||||
@ -754,11 +758,11 @@ gsd # start a session
|
|||||||
/gsd migrate # migrate .planning → .gsd format
|
/gsd migrate # migrate .planning → .gsd format
|
||||||
```
|
```
|
||||||
|
|
||||||
### Ruflo MCP not detected by doctor.sh
|
### Ruflo CLI not detected by doctor.sh
|
||||||
Ruflo must be registered as an MCP server. Run:
|
Ruflo must be installed globally. Run:
|
||||||
```bash
|
```bash
|
||||||
claude mcp add --scope user ruflo -- npx ruflo mcp start
|
npm install -g ruflo@latest --omit=optional
|
||||||
claude mcp list | grep ruflo
|
ruflo --version
|
||||||
```
|
```
|
||||||
|
|
||||||
### Token budget exceeded — skills truncated at session start
|
### Token budget exceeded — skills truncated at session start
|
||||||
|
|||||||
2
USAGE.md
2
USAGE.md
@ -1995,7 +1995,7 @@ Budget Pro note:
|
|||||||
| `/init-project` pose des questions déjà dans le prompt | Prompt incomplet (stack ou features manquants) | Ajouter stack, features v1, et conventions dans le prompt initial |
|
| `/init-project` pose des questions déjà dans le prompt | Prompt incomplet (stack ou features manquants) | Ajouter stack, features v1, et conventions dans le prompt initial |
|
||||||
| STEP 13 `gsd init` : "command not found" | GSD v2 non installé au moment de init-project | `npm install -g gsd-pi`, puis `/onboard add gsd` |
|
| STEP 13 `gsd init` : "command not found" | GSD v2 non installé au moment de init-project | `npm install -g gsd-pi`, puis `/onboard add gsd` |
|
||||||
| Plugin-check recommande plugins web sur firmware | signal `embedded` non détecté | Vérifier: `platformio.ini` ou `*.ld` présent, ou `Makefile` + `.c` + pas de `package.json`/`Cargo.toml`/`setup.py` |
|
| Plugin-check recommande plugins web sur firmware | signal `embedded` non détecté | Vérifier: `platformio.ini` ou `*.ld` présent, ou `Makefile` + `.c` + pas de `package.json`/`Cargo.toml`/`setup.py` |
|
||||||
| `detect_ruflo` retourne faux positif | `claude-flow` ou `ruvnet` dans un autre fichier config | Inspecter `~/.claude.json` et `~/.mcp.json` manuellement |
|
| `detect_ruflo` retourne faux positif | Ancien MCP config resté dans `~/.claude.json` | Vérifier que `ruflo --version` fonctionne ; ignore les vieux configs MCP |
|
||||||
| `doctor.sh` : deny rules count mismatch | `settings.json` modifié manuellement | Vérifier avec `python3 -c "import json; print(len(json.load(open('~/.claude/settings.json'))['permissions']['deny']))"` — attendu : 100 |
|
| `doctor.sh` : deny rules count mismatch | `settings.json` modifié manuellement | Vérifier avec `python3 -c "import json; print(len(json.load(open('~/.claude/settings.json'))['permissions']['deny']))"` — attendu : 100 |
|
||||||
| Subagent échoue en STEP 4, pas de guidance | Version < v2.2.0 | Mettre à jour, le STEP 4b est ajouté en v2.2.0 |
|
| Subagent échoue en STEP 4, pas de guidance | Version < v2.2.0 | Mettre à jour, le STEP 4b est ajouté en v2.2.0 |
|
||||||
| `/analyze` ne passe pas en mode DEBUG | L'erreur n'est pas passée en argument | Copier l'erreur exacte dans l'argument : `/analyze "FAILED test_foo — TypeError: ..."`|
|
| `/analyze` ne passe pas en mode DEBUG | L'erreur n'est pas passée en argument | Copier l'erreur exacte dans l'argument : `/analyze "FAILED test_foo — TypeError: ..."`|
|
||||||
|
|||||||
@ -21,8 +21,8 @@ claude plugin list 2>/dev/null || echo "plugin-list-unavailable"
|
|||||||
# GStack skills count (toggle CC plugin)
|
# GStack skills count (toggle CC plugin)
|
||||||
ls $HOME/.claude/skills/gstack/skills/ 2>/dev/null | wc -l || echo "0"
|
ls $HOME/.claude/skills/gstack/skills/ 2>/dev/null | wc -l || echo "0"
|
||||||
|
|
||||||
# MCP servers
|
# Ruflo CLI
|
||||||
claude mcp list 2>/dev/null | grep -E "ruflo" || echo "no-mcp"
|
command -v ruflo &>/dev/null && ruflo --version 2>/dev/null | head -1 || echo "ruflo-not-installed"
|
||||||
|
|
||||||
# Context7 CLI
|
# Context7 CLI
|
||||||
command -v ctx7 &>/dev/null && ctx7 --version 2>/dev/null | head -1 || echo "ctx7-not-installed"
|
command -v ctx7 &>/dev/null && ctx7 --version 2>/dev/null | head -1 || echo "ctx7-not-installed"
|
||||||
@ -30,7 +30,6 @@ command -v ctx7 &>/dev/null && ctx7 --version 2>/dev/null | head -1 || echo "ctx
|
|||||||
# Standalone CLIs
|
# Standalone CLIs
|
||||||
command -v gsd &>/dev/null && gsd --version 2>/dev/null | head -1 || echo "gsd-not-installed"
|
command -v gsd &>/dev/null && gsd --version 2>/dev/null | head -1 || echo "gsd-not-installed"
|
||||||
command -v rtk &>/dev/null && rtk --version 2>/dev/null | head -1 || echo "rtk-not-installed"
|
command -v rtk &>/dev/null && rtk --version 2>/dev/null | head -1 || echo "rtk-not-installed"
|
||||||
command -v ruflo &>/dev/null && ruflo --version 2>/dev/null | head -1 || echo "ruflo-cli-not-in-path"
|
|
||||||
|
|
||||||
# Project signals (run from project root)
|
# Project signals (run from project root)
|
||||||
ls package.json pyproject.toml Cargo.toml go.mod 2>/dev/null | head -5
|
ls package.json pyproject.toml Cargo.toml go.mod 2>/dev/null | head -5
|
||||||
@ -108,7 +107,7 @@ ACTION REQUIRED? YES / NO
|
|||||||
| `deploy` + `browser-qa` | gstack | — | Full-product workflow |
|
| `deploy` + `browser-qa` | gstack | — | Full-product workflow |
|
||||||
| `multi-session` | gsd v2 CLI | — | Run `gsd` in terminal, not CC plugin |
|
| `multi-session` | gsd v2 CLI | — | Run `gsd` in terminal, not CC plugin |
|
||||||
| `fast-libs` | context7 | — | Doc freshness critical |
|
| `fast-libs` | context7 | — | Doc freshness critical |
|
||||||
| `multi-agent` + `complex-arch` | ruflo (MCP) | — | Only if genuine swarm needed |
|
| `multi-agent` + `complex-arch` | ruflo (CLI) | — | Only if genuine swarm needed |
|
||||||
| `simple` / single-session | — | gsd, gstack, ruflo, ui-ux-pro-max | Saves ~3000-5000t |
|
| `simple` / single-session | — | gsd, gstack, ruflo, ui-ux-pro-max | Saves ~3000-5000t |
|
||||||
| `embedded` / firmware | — | all toggles; superpowers optional | workflow: /analyze → edit or /ship-feature |
|
| `embedded` / firmware | — | all toggles; superpowers optional | workflow: /analyze → edit or /ship-feature |
|
||||||
| backend/lib/CLI only | — | frontend-design, ui-ux-pro-max, gstack | ~3100t saved |
|
| backend/lib/CLI only | — | frontend-design, ui-ux-pro-max, gstack | ~3100t saved |
|
||||||
@ -116,7 +115,7 @@ ACTION REQUIRED? YES / NO
|
|||||||
|
|
||||||
**GSD v2 note:** `gsd-pi` is a standalone CLI (Pi SDK), not a Claude Code plugin. Zero passive token cost in CC sessions. Recommend when: feature > 1 day, multiple isolated context windows needed, crash recovery, cost tracking, or parallel workers. Usage: `gsd` in terminal → `/gsd auto`.
|
**GSD v2 note:** `gsd-pi` is a standalone CLI (Pi SDK), not a Claude Code plugin. Zero passive token cost in CC sessions. Recommend when: feature > 1 day, multiple isolated context windows needed, crash recovery, cost tracking, or parallel workers. Usage: `gsd` in terminal → `/gsd auto`.
|
||||||
|
|
||||||
**Ruflo note:** `ruflo` is a heavy MCP server (310+ tools, ~500-1500t passive). Only recommend when the project explicitly requires coordinating 5+ specialized agents simultaneously or swarm/parallel-orchestration architecture. For standard multi-session work, GSD v2 is sufficient and lighter.
|
**Ruflo note:** `ruflo` is a heavy CLI tool (310+ tools, ~500-1500t passive when hooks active). Only recommend when the project explicitly requires coordinating 5+ specialized agents simultaneously or swarm/parallel-orchestration architecture. For standard multi-session work, GSD v2 is sufficient and lighter. Install: `npm install -g ruflo@latest --omit=optional`. Init: `ruflo init --wizard`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -128,7 +127,7 @@ ACTION REQUIRED? YES / NO
|
|||||||
|---|---|---|
|
|---|---|---|
|
||||||
| frontend-design ↔ ui-ux-pro-max | ⚠️ Overlap | Both do UI styling. Keep both for design-heavy projects; drop ui-ux-pro-max for simple UIs. ~600t combined. |
|
| frontend-design ↔ ui-ux-pro-max | ⚠️ Overlap | Both do UI styling. Keep both for design-heavy projects; drop ui-ux-pro-max for simple UIs. ~600t combined. |
|
||||||
| gstack ↔ gsd v2 | ✅ Complementary | GStack = full-product CC workflow. GSD v2 = multi-session CLI. Different scopes, no conflict. |
|
| gstack ↔ gsd v2 | ✅ Complementary | GStack = full-product CC workflow. GSD v2 = multi-session CLI. Different scopes, no conflict. |
|
||||||
| gstack ↔ ruflo | ⚠️ Overlap | Both orchestrate multi-step workflows. GStack is CC-native; ruflo is MCP swarm. High combined overhead (~3250-4250t). Use one or the other. |
|
| gstack ↔ ruflo | ⚠️ Overlap | Both orchestrate multi-step workflows. GStack is CC-native; ruflo is CLI swarm. High combined overhead (~3250-4250t). Use one or the other. |
|
||||||
| gsd v2 ↔ ruflo | ⚠️ Overlap | GSD v2 = sequential session pipeline. Ruflo = parallel agent swarm. Pick one per project; ruflo only if genuinely parallel work needed. |
|
| gsd v2 ↔ ruflo | ⚠️ Overlap | GSD v2 = sequential session pipeline. Ruflo = parallel agent swarm. Pick one per project; ruflo only if genuinely parallel work needed. |
|
||||||
| superpowers ↔ gsd v2 | ✅ Complementary | Superpowers = single-session execution. GSD v2 = multi-session CLI orchestration. No conflict. |
|
| superpowers ↔ gsd v2 | ✅ Complementary | Superpowers = single-session execution. GSD v2 = multi-session CLI orchestration. No conflict. |
|
||||||
| superpowers ↔ gstack | ✅ Complementary | Used together in /init-project and /ship-feature. Superpowers = engine, GStack = full-product skills. |
|
| superpowers ↔ gstack | ✅ Complementary | Used together in /init-project and /ship-feature. Superpowers = engine, GStack = full-product skills. |
|
||||||
@ -188,7 +187,7 @@ RULE: IF "fast-libs" (Next.js/React 18+/Prisma/Supabase/Drizzle):
|
|||||||
→ context7 ON (~200t)
|
→ context7 ON (~200t)
|
||||||
|
|
||||||
RULE: IF "multi-agent" AND "complex-arch":
|
RULE: IF "multi-agent" AND "complex-arch":
|
||||||
→ ruflo MCP ON (~500-1500t)
|
→ ruflo CLI ON (~500-1500t)
|
||||||
→ IF gstack also ON: WARN overlap (~3250-4250t combined)
|
→ IF gstack also ON: WARN overlap (~3250-4250t combined)
|
||||||
|
|
||||||
RULE: IF "simple" OR "hotfix":
|
RULE: IF "simple" OR "hotfix":
|
||||||
@ -224,7 +223,7 @@ RULE: IF `design-system` signal (tokens, theme files, Storybook present):
|
|||||||
→ WARN if both are OFF with this signal: significant design gap
|
→ WARN if both are OFF with this signal: significant design gap
|
||||||
|
|
||||||
RULE: IF `complex-arch` signal (multiple services, event bus, distributed system):
|
RULE: IF `complex-arch` signal (multiple services, event bus, distributed system):
|
||||||
→ ruflo MCP ON (~500-1500t)
|
→ ruflo CLI ON (~500-1500t)
|
||||||
→ gsd v2 CLI recommended for multi-session coordination
|
→ gsd v2 CLI recommended for multi-session coordination
|
||||||
→ IF gstack also ON: WARN combined cost ~3250-4250t — consider disabling one
|
→ IF gstack also ON: WARN combined cost ~3250-4250t — consider disabling one
|
||||||
```
|
```
|
||||||
|
|||||||
@ -175,9 +175,9 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if detect_ruflo; then
|
if detect_ruflo; then
|
||||||
pass "Ruflo MCP configured"
|
pass "Ruflo CLI installed ($(ruflo --version 2>/dev/null | head -1 || echo 'installed'))"
|
||||||
else
|
else
|
||||||
info "Ruflo MCP not configured (optional — enterprise multi-agent orchestration)"
|
info "Ruflo CLI not installed (optional — enterprise multi-agent: npm install -g ruflo@latest --omit=optional)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
@ -271,32 +271,33 @@ fi
|
|||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# STEP 5 — RUFLO MCP (manual — requires npm install + MCP config)
|
# STEP 5 — RUFLO CLI (enterprise multi-agent orchestration)
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Ruflo is an enterprise multi-agent orchestration MCP server (formerly claude-flow).
|
# Ruflo (formerly claude-flow) is an enterprise multi-agent orchestration CLI.
|
||||||
# 310+ MCP tools, 100+ agent types, WASM kernel, self-learning architecture.
|
# 310+ tools, 100+ agent types, WASM kernel, self-learning architecture.
|
||||||
# Use only for projects requiring complex multi-agent coordination.
|
# Use only for projects requiring complex multi-agent coordination.
|
||||||
# Default install ~340MB. Minimal: npm install -g ruflo@latest --omit=optional (~15s)
|
# Default install ~340MB. Minimal: npm install -g ruflo@latest --omit=optional (~15s)
|
||||||
echo "── Step 5: Ruflo MCP ────────────────────────────────────────"
|
echo "── Step 5: Ruflo CLI ──────────────────────────────────────"
|
||||||
echo ""
|
echo ""
|
||||||
if detect_ruflo; then
|
if detect_ruflo; then
|
||||||
ok "Ruflo MCP already configured"
|
ok "Ruflo CLI already installed ($(ruflo --version 2>/dev/null | head -1 || echo 'installed'))"
|
||||||
else
|
else
|
||||||
info "Installing Ruflo MCP (minimal, --omit=optional ~40MB)..."
|
RUFLO_VER=$(pinned_version "ruflo")
|
||||||
if npm install -g ruflo@latest --omit=optional; then
|
if [ "$RUFLO_VER" != "latest" ]; then
|
||||||
ok "ruflo npm package installed"
|
info "Installing ruflo@${RUFLO_VER} (pinned, minimal --omit=optional)..."
|
||||||
info "Registering Ruflo as MCP server..."
|
npm install -g "ruflo@${RUFLO_VER}" --omit=optional
|
||||||
if claude mcp add --scope user ruflo -- npx ruflo mcp start 2>/dev/null; then
|
|
||||||
ok "Ruflo MCP registered"
|
|
||||||
else
|
|
||||||
warn "Ruflo MCP registration failed or already registered"
|
|
||||||
echo " Run manually: claude mcp add --scope user ruflo -- npx ruflo mcp start"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
err "Ruflo npm install failed"
|
info "Installing ruflo@latest (minimal --omit=optional)..."
|
||||||
echo " Fallback — run the official installer:"
|
npm install -g ruflo@latest --omit=optional
|
||||||
echo " curl -fsSL https://cdn.jsdelivr.net/gh/ruvnet/ruflo@main/scripts/install.sh | bash -s -- --full"
|
|
||||||
fi
|
fi
|
||||||
|
command -v ruflo &>/dev/null && ok "Ruflo CLI installed ($(ruflo --version 2>/dev/null | head -1))" \
|
||||||
|
|| err "Ruflo install failed — run manually: npm install -g ruflo@latest --omit=optional"
|
||||||
|
fi
|
||||||
|
if command -v ruflo &>/dev/null; then
|
||||||
|
info "Init in a project: ruflo init --wizard"
|
||||||
|
info "Spawn agent: ruflo agent spawn -t coder"
|
||||||
|
info "Start swarm: ruflo swarm init"
|
||||||
|
info "Diagnostics: ruflo doctor"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
@ -394,7 +395,7 @@ echo " 🔄 pr-review-toolkit — /pr-review-toolkit:review-pr (~300 tokens
|
|||||||
echo " 🔄 frontend-design — UI design skill (~200 tokens) [claude-code-plugins]"
|
echo " 🔄 frontend-design — UI design skill (~200 tokens) [claude-code-plugins]"
|
||||||
echo " 🔄 ui-ux-pro-max — user scope (~400 tokens)"
|
echo " 🔄 ui-ux-pro-max — user scope (~400 tokens)"
|
||||||
echo " 🔄 context7 CLI — ctx7 (npm global, standalone or MCP setup)"
|
echo " 🔄 context7 CLI — ctx7 (npm global, standalone or MCP setup)"
|
||||||
echo " 🔄 ruflo MCP — see Step 5 above (~500-1500 tokens, enterprise only)"
|
echo " 🔄 ruflo CLI — enterprise multi-agent orchestration (~500-1500 tokens)"
|
||||||
echo ""
|
echo ""
|
||||||
echo " All plugins installed at: user scope (~/.claude/plugins/)"
|
echo " All plugins installed at: user scope (~/.claude/plugins/)"
|
||||||
echo " GStack at: ~/.claude/skills/gstack/ (symlink → submodule)"
|
echo " GStack at: ~/.claude/skills/gstack/ (symlink → submodule)"
|
||||||
|
|||||||
@ -64,13 +64,6 @@ detect_context7() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
detect_ruflo() {
|
detect_ruflo() {
|
||||||
# 1. Fast: check npm global binary
|
# Ruflo CLI — installed globally via npm
|
||||||
command -v ruflo &>/dev/null && return 0
|
command -v ruflo &>/dev/null
|
||||||
# 2. Fast: check MCP config files (ruflo or ruvnet/claude-flow variants)
|
|
||||||
for _cfg in "$HOME/.claude.json" "$HOME/.mcp.json"; do
|
|
||||||
[ -f "$_cfg" ] && grep -qi "ruflo\|ruvnet\|claude-flow" "$_cfg" 2>/dev/null && return 0
|
|
||||||
done
|
|
||||||
# 3. Slow fallback: claude mcp list (only if fast checks fail, spawns subprocess)
|
|
||||||
command -v claude &>/dev/null && claude mcp list 2>/dev/null | grep -qi "ruflo" && return 0
|
|
||||||
return 1
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -113,9 +113,9 @@ else
|
|||||||
warn "GSD v2 not installed — skipping (run: npm install -g gsd-pi)"
|
warn "GSD v2 not installed — skipping (run: npm install -g gsd-pi)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ── 5. Update Ruflo MCP (if installed) ──
|
# ── 5. Update Ruflo CLI (if installed) ──
|
||||||
echo ""
|
echo ""
|
||||||
echo "── Updating Ruflo MCP..."
|
echo "── Updating Ruflo CLI..."
|
||||||
if command -v ruflo &>/dev/null || detect_ruflo; then
|
if command -v ruflo &>/dev/null || detect_ruflo; then
|
||||||
RUFLO_VER=""
|
RUFLO_VER=""
|
||||||
if [ -f "$REPO/plugins.lock.json" ] && command -v python3 &>/dev/null; then
|
if [ -f "$REPO/plugins.lock.json" ] && command -v python3 &>/dev/null; then
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user