v3/implementation/adrs/ADR-046-ruflo-rebrand.md
Status: Accepted Date: 2026-02-07 Updated: 2026-02-08 Authors: RuvNet, Claude Flow Team
The umbrella package is published to npm as claude-flow. As the ecosystem grows and the product establishes its own identity, a second umbrella package ruflo is introduced alongside the original.
| Aspect | Current Value |
|---|---|
| npm package | claude-flow |
| CLI binary | claude-flow |
| GitHub repo | ruvnet/claude-flow |
| Internal packages | @claude-flow/* |
| Weekly downloads | ~1,000+ |
claude-flow ensures no existing users are brokenPublish two independent npm umbrella packages — claude-flow (original) and ruflo (new) — both backed by @claude-flow/cli.
npm registry
├── claude-flow ← original umbrella (bundles @claude-flow/cli)
│ └── bin: claude-flow → v3/@claude-flow/cli/bin/cli.js
├── ruflo ← new umbrella (depends on @claude-flow/cli)
│ └── bin: ruflo → @claude-flow/cli/bin/cli.js
└── @claude-flow/cli ← shared CLI implementation
| Aspect | Before | After |
|---|---|---|
| npm packages | claude-flow only | claude-flow + ruflo |
| CLI binaries | claude-flow | claude-flow + ruflo |
| Install commands | npx claude-flow@latest | Both npx claude-flow@latest and npx ruflo@latest |
| README branding | "Claude-Flow" | "Ruflo" (primary), "claude-flow" (supported) |
| Product name | Claude-Flow | Ruflo (with claude-flow alias) |
| Aspect | Value | Reason |
|---|---|---|
| GitHub repo | ruvnet/claude-flow | SEO, existing links, history |
| Internal packages | @claude-flow/* | Minimal disruption, existing integrations |
| Functionality | All features | No functional changes |
| License | MIT | No change |
| Author | RuvNet | No change |
claude-flow npm package | Fully supported | No breaking changes for existing users |
claude-flow users unaffectedruflo package for the ruv ecosystem/workspaces/claude-flow/
├── package.json # name: "claude-flow" (original umbrella)
│ # bin: claude-flow → v3/@claude-flow/cli/bin/cli.js
│ # bundles CLI files directly
└── ruflo/
├── package.json # name: "ruflo" (new umbrella)
│ # bin: ruflo → ./bin/ruflo.js
│ # depends on @claude-flow/cli
├── bin/
│ └── ruflo.js # thin wrapper, imports @claude-flow/cli
└── README.md # Ruflo-branded docs
package.json as claude-flow (original umbrella)ruflo/ directory with new umbrella packageruflo# 1. Publish @claude-flow/cli (shared implementation)
cd v3/@claude-flow/cli
npm publish --tag alpha
# 2. Publish claude-flow umbrella (original)
cd /workspaces/claude-flow
npm publish --tag v3alpha
npm dist-tag add claude-flow@<version> latest
npm dist-tag add claude-flow@<version> alpha
# 3. Publish ruflo umbrella (new)
cd /workspaces/claude-flow/ruflo
npm publish --tag alpha
npm dist-tag add ruflo@<version> latest
ruflo promoted as primary in new documentationWhen publishing updates, all three packages must be published:
| Order | Package | Command | Tags |
|---|---|---|---|
| 1 | @claude-flow/cli | npm publish --tag alpha | alpha, latest |
| 2 | claude-flow | npm publish --tag v3alpha | v3alpha, alpha, latest |
| 3 | ruflo | npm publish --tag alpha | alpha, latest |
Pros: Simpler, one package to maintain Cons: Breaks existing users, loses download history Decision: Rejected - zero disruption preferred
Pros: Matches ruv-swarm pattern Cons: Inconsistent with @ruvector (no hyphen) Decision: Rejected - "ruflo" is cleaner and matches ruvector pattern
Pros: Complete rebrand Cons: Major breaking change, complex migration, npm scope registration Decision: Rejected - disruption not worth the benefit
Pros: Forces migration to ruflo Cons: Breaks existing users, bad developer experience Decision: Rejected - both packages coexist permanently
# Recommended
npx ruflo@latest init --wizard
# Also works
npx claude-flow@latest init --wizard
No migration required. claude-flow continues to work. Optionally switch:
# Switch MCP server (optional)
claude mcp remove claude-flow
claude mcp add ruflo npx ruflo@latest mcp start
package.json is the claude-flow umbrellaruflo/package.json is the ruflo umbrella@claude-flow/*ruvnet/claude-flow| Metric | Target | Measurement |
|---|---|---|
| Combined npm downloads | Maintain or grow | npm weekly stats (both packages) |
| GitHub stars | Maintain or grow | GitHub metrics |
| Issues from confusion | < 10 in 30 days | GitHub issues |
| ruflo adoption | 50%+ new installs in 90 days | npm stats |
| Context | Use |
|---|---|
| npm packages | ruflo and claude-flow (both lowercase) |
| README title | "Ruflo" (PascalCase) |
| CLI binaries | ruflo or claude-flow (both lowercase) |
| In prose | "Ruflo" (PascalCase) |
# New recommended style
npx ruflo@latest init
npx ruflo@latest agent spawn -t coder
npx ruflo@latest swarm init --topology hierarchical
# Legacy style (still fully supported)
npx claude-flow@latest init
npx claude-flow@latest agent spawn -t coder
Decision Date: 2026-02-07 Updated: 2026-02-08 Review Date: 2026-03-07 (30 days post-implementation)