claude-flow 3.30.5 → 3.31.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-flow",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.31.1",
|
|
4
4
|
"description": "Ruflo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -124,6 +124,48 @@ async function maybeAutoDetectCodex(ctx, options) {
|
|
|
124
124
|
// Codex auto-detect is a bonus, never a requirement — swallow everything.
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
+
// Cross-agent skill registration via skills.sh. Runs `npx --yes skills add
|
|
128
|
+
// ruvnet/ruflo --skill ruflo --yes` so the *single* canonical ruflo skill
|
|
129
|
+
// (SKILL.md at the ruvnet/ruflo repo root — describes the platform + entry
|
|
130
|
+
// points) reaches whatever agent the project uses (Claude Code, Cursor,
|
|
131
|
+
// Copilot, Gemini, Cline, …). Users who want ALL 267 plugin-specific skills
|
|
132
|
+
// can run `npx skills add ruvnet/ruflo --all` themselves. Best-effort — never
|
|
133
|
+
// fails init. Opt-out: --no-skills-sh flag OR RUFLO_NO_SKILLS_SH=1. Skipped
|
|
134
|
+
// under --skip-claude and scripted `--format json` output.
|
|
135
|
+
//
|
|
136
|
+
// windowsHide silences the console flash the npx child would otherwise produce
|
|
137
|
+
// (anthropics/claude-code#14828 spawn hazard applies to hook-fired spawns,
|
|
138
|
+
// but our own subprocess spawns should always set this).
|
|
139
|
+
async function maybeInstallSkillsSh(ctx) {
|
|
140
|
+
try {
|
|
141
|
+
if (ctx.flags['no-skills-sh'] === true)
|
|
142
|
+
return;
|
|
143
|
+
if (ctx.flags.format === 'json')
|
|
144
|
+
return;
|
|
145
|
+
if (/^(1|true|on|yes)$/i.test(String(process.env.RUFLO_NO_SKILLS_SH || '')))
|
|
146
|
+
return;
|
|
147
|
+
const npxCmd = process.platform === 'win32' ? 'npx.cmd' : 'npx';
|
|
148
|
+
if (!commandExists('npx'))
|
|
149
|
+
return;
|
|
150
|
+
output.writeln();
|
|
151
|
+
output.printInfo('Registering the core `ruflo` skill with skills.sh (cross-agent catalog)…');
|
|
152
|
+
const { spawnSync } = await import('child_process');
|
|
153
|
+
const result = spawnSync(npxCmd, ['--yes', 'skills', 'add', 'ruvnet/ruflo', '--skill', 'ruflo', '--yes'], { cwd: ctx.cwd, stdio: 'pipe', timeout: 60_000, windowsHide: true, encoding: 'utf-8' });
|
|
154
|
+
if (result.status === 0) {
|
|
155
|
+
output.writeln(output.success(' ✓ ruflo registered via skills.sh — the platform skill is available to any agent in this project'));
|
|
156
|
+
output.writeln(output.dim(' Want all 267 plugin skills? npx skills add ruvnet/ruflo --all'));
|
|
157
|
+
output.writeln(output.dim(' Opt out next time: --no-skills-sh or RUFLO_NO_SKILLS_SH=1'));
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
// Common non-fatal reasons: offline, npx cache miss, skills CLI version
|
|
161
|
+
// mismatch, unknown package. Log a soft note; users can retry manually.
|
|
162
|
+
output.writeln(output.dim(' skills.sh registration skipped (network or npx cache) — retry with: npx skills add ruvnet/ruflo --skill ruflo --yes'));
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
// Skills.sh registration is a bonus, never a requirement — swallow everything.
|
|
167
|
+
}
|
|
168
|
+
}
|
|
127
169
|
// Codex initialization action
|
|
128
170
|
async function initCodexAction(ctx, options) {
|
|
129
171
|
const { force, minimal, full, dualMode } = options;
|
|
@@ -405,6 +447,7 @@ const initAction = async (ctx) => {
|
|
|
405
447
|
// #2666-adjacent — auto-detect + configure OpenAI Codex CLI if present
|
|
406
448
|
if (!skipClaude) {
|
|
407
449
|
await maybeAutoDetectCodex(ctx, { force, minimal, full });
|
|
450
|
+
await maybeInstallSkillsSh(ctx);
|
|
408
451
|
}
|
|
409
452
|
// Handle --start-all or --start-daemon
|
|
410
453
|
const startAll = ctx.flags['start-all'] || ctx.flags.startAll;
|
|
@@ -1167,6 +1210,12 @@ export const initCommand = {
|
|
|
1167
1210
|
type: 'boolean',
|
|
1168
1211
|
default: false,
|
|
1169
1212
|
},
|
|
1213
|
+
{
|
|
1214
|
+
name: 'no-skills-sh',
|
|
1215
|
+
description: 'Skip the post-init `npx skills add ruvnet/ruflo` registration (also honored via RUFLO_NO_SKILLS_SH=1)',
|
|
1216
|
+
type: 'boolean',
|
|
1217
|
+
default: false,
|
|
1218
|
+
},
|
|
1170
1219
|
{
|
|
1171
1220
|
name: 'all-agents',
|
|
1172
1221
|
description: 'Install all agent categories (ADR-128: default is ~24 substrate agents; this restores the full set of ~89)',
|
|
@@ -1195,6 +1244,7 @@ export const initCommand = {
|
|
|
1195
1244
|
{ command: 'claude-flow init --codex --full', description: 'Codex init with all 137+ skills' },
|
|
1196
1245
|
{ command: 'claude-flow init --dual', description: 'Initialize for both Claude Code and Codex' },
|
|
1197
1246
|
{ command: 'claude-flow init --no-codex-detect', description: 'Skip auto-configuring OpenAI Codex even if it is installed' },
|
|
1247
|
+
{ command: 'claude-flow init --no-skills-sh', description: 'Skip the post-init skills.sh registration' },
|
|
1198
1248
|
{ command: 'claude-flow init --all-agents', description: 'Install all agent categories (~89 agents; ADR-128 opt-in)' },
|
|
1199
1249
|
],
|
|
1200
1250
|
action: initAction,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claude-flow/cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.31.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Ruflo CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
|
|
6
6
|
"main": "dist/src/index.js",
|