claude-flow 3.6.2 → 3.6.4

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.
@@ -100,6 +100,11 @@
100
100
  "name": "ruflo-plugin-creator",
101
101
  "source": "./plugins/ruflo-plugin-creator",
102
102
  "description": "Scaffold, validate, and publish new Claude Code plugins with proper structure"
103
+ },
104
+ {
105
+ "name": "ruflo-goals",
106
+ "source": "./plugins/ruflo-goals",
107
+ "description": "Long-horizon goal planning, deep research orchestration, and adaptive replanning using GOAP"
103
108
  }
104
109
  ]
105
110
  }
package/README.md CHANGED
@@ -51,7 +51,7 @@ Install Ruflo as a native Claude Code plugin -- adds skills, commands, agents, a
51
51
  ```
52
52
 
53
53
  <details>
54
- <summary><strong>All 19 plugins</strong></summary>
54
+ <summary><strong>All 20 plugins</strong></summary>
55
55
 
56
56
  | Plugin | What it adds |
57
57
  |--------|-------------|
@@ -74,6 +74,7 @@ Install Ruflo as a native Claude Code plugin -- adds skills, commands, agents, a
74
74
  | **ruflo-testgen** | Test gap detection, TDD workflow, tester agent |
75
75
  | **ruflo-docs** | Doc generation, drift detection, docs-writer agent |
76
76
  | **ruflo-plugin-creator** | Scaffold, validate, and publish new plugins |
77
+ | **ruflo-goals** | GOAP planning, deep research, long-horizon tracking |
77
78
 
78
79
  </details>
79
80
 
@@ -108,7 +109,7 @@ claude mcp add ruflo -- npx -y @claude-flow/cli@latest
108
109
  | 🧠 **Self-Learning** | SONA neural patterns, ReasoningBank, trajectory learning |
109
110
  | 💾 **Vector Memory** | HNSW-indexed AgentDB with 150x-12,500x faster search |
110
111
  | ⚡ **Background Workers** | 12 auto-triggered workers (audit, optimize, testgaps, etc.) |
111
- | 🧩 **Plugin Marketplace** | 19 native Claude Code plugins + 20 npm plugins |
112
+ | 🧩 **Plugin Marketplace** | 20 native Claude Code plugins + 20 npm plugins |
112
113
  | 🔌 **Multi-Provider** | Claude, GPT, Gemini, Cohere, Ollama with smart routing |
113
114
  | 🛡️ **Security** | AIDefence, input validation, CVE remediation, path traversal prevention |
114
115
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-flow",
3
- "version": "3.6.2",
3
+ "version": "3.6.4",
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",
@@ -51,7 +51,7 @@ Install Ruflo as a native Claude Code plugin -- adds skills, commands, agents, a
51
51
  ```
52
52
 
53
53
  <details>
54
- <summary><strong>All 19 plugins</strong></summary>
54
+ <summary><strong>All 20 plugins</strong></summary>
55
55
 
56
56
  | Plugin | What it adds |
57
57
  |--------|-------------|
@@ -74,6 +74,7 @@ Install Ruflo as a native Claude Code plugin -- adds skills, commands, agents, a
74
74
  | **ruflo-testgen** | Test gap detection, TDD workflow, tester agent |
75
75
  | **ruflo-docs** | Doc generation, drift detection, docs-writer agent |
76
76
  | **ruflo-plugin-creator** | Scaffold, validate, and publish new plugins |
77
+ | **ruflo-goals** | GOAP planning, deep research, long-horizon tracking |
77
78
 
78
79
  </details>
79
80
 
@@ -108,7 +109,7 @@ claude mcp add ruflo -- npx -y @claude-flow/cli@latest
108
109
  | 🧠 **Self-Learning** | SONA neural patterns, ReasoningBank, trajectory learning |
109
110
  | 💾 **Vector Memory** | HNSW-indexed AgentDB with 150x-12,500x faster search |
110
111
  | ⚡ **Background Workers** | 12 auto-triggered workers (audit, optimize, testgaps, etc.) |
111
- | 🧩 **Plugin Marketplace** | 19 native Claude Code plugins + 20 npm plugins |
112
+ | 🧩 **Plugin Marketplace** | 20 native Claude Code plugins + 20 npm plugins |
112
113
  | 🔌 **Multi-Provider** | Claude, GPT, Gemini, Cohere, Ollama with smart routing |
113
114
  | 🛡️ **Security** | AIDefence, input validation, CVE remediation, path traversal prevention |
114
115
 
@@ -10,15 +10,15 @@ export function searchPlugins(registry, options = {}) {
10
10
  // Text search (name, displayName, description, tags)
11
11
  if (options.query) {
12
12
  const query = options.query.toLowerCase();
13
- plugins = plugins.filter(p => p.name.toLowerCase().includes(query) ||
14
- p.displayName.toLowerCase().includes(query) ||
15
- p.description.toLowerCase().includes(query) ||
16
- p.tags.some(t => t.toLowerCase().includes(query)) ||
17
- p.keywords.some(k => k.toLowerCase().includes(query)));
13
+ plugins = plugins.filter(p => p.name?.toLowerCase().includes(query) ||
14
+ p.displayName?.toLowerCase().includes(query) ||
15
+ p.description?.toLowerCase().includes(query) ||
16
+ (p.tags || []).some(t => t.toLowerCase().includes(query)) ||
17
+ (p.keywords || []).some(k => k.toLowerCase().includes(query)));
18
18
  }
19
19
  // Category filter
20
20
  if (options.category) {
21
- plugins = plugins.filter(p => p.categories.includes(options.category));
21
+ plugins = plugins.filter(p => (p.categories || []).includes(options.category));
22
22
  }
23
23
  // Type filter
24
24
  if (options.type) {
@@ -26,7 +26,7 @@ export function searchPlugins(registry, options = {}) {
26
26
  }
27
27
  // Tags filter (match any)
28
28
  if (options.tags && options.tags.length > 0) {
29
- plugins = plugins.filter(p => options.tags.some(tag => p.tags.includes(tag)));
29
+ plugins = plugins.filter(p => options.tags.some(tag => (p.tags || []).includes(tag)));
30
30
  }
31
31
  // Author filter
32
32
  if (options.author) {
@@ -56,7 +56,7 @@ export function searchPlugins(registry, options = {}) {
56
56
  }
57
57
  // Permissions filter
58
58
  if (options.permissions && options.permissions.length > 0) {
59
- plugins = plugins.filter(p => options.permissions.every(perm => p.permissions.includes(perm)));
59
+ plugins = plugins.filter(p => options.permissions.every(perm => (p.permissions || []).includes(perm)));
60
60
  }
61
61
  // Security audit filter
62
62
  if (options.hasSecurityAudit !== undefined) {
@@ -116,13 +116,13 @@ export function getPluginSearchSuggestions(registry, partialQuery, limit = 10) {
116
116
  suggestions.add(plugin.displayName);
117
117
  }
118
118
  // Search in tags
119
- for (const tag of plugin.tags) {
119
+ for (const tag of plugin.tags || []) {
120
120
  if (tag.toLowerCase().includes(query)) {
121
121
  suggestions.add(tag);
122
122
  }
123
123
  }
124
124
  // Search in keywords
125
- for (const keyword of plugin.keywords) {
125
+ for (const keyword of plugin.keywords || []) {
126
126
  if (keyword.toLowerCase().includes(query)) {
127
127
  suggestions.add(keyword);
128
128
  }
@@ -136,7 +136,7 @@ export function getPluginSearchSuggestions(registry, partialQuery, limit = 10) {
136
136
  export function getPluginTagCloud(registry) {
137
137
  const tagCounts = new Map();
138
138
  for (const plugin of registry.plugins) {
139
- for (const tag of plugin.tags) {
139
+ for (const tag of plugin.tags || []) {
140
140
  tagCounts.set(tag, (tagCounts.get(tag) || 0) + 1);
141
141
  }
142
142
  }
@@ -150,7 +150,7 @@ export function getPluginTagCloud(registry) {
150
150
  export function getPluginCategoryStats(registry) {
151
151
  const categoryCounts = new Map();
152
152
  for (const plugin of registry.plugins) {
153
- for (const category of plugin.categories) {
153
+ for (const category of plugin.categories || []) {
154
154
  categoryCounts.set(category, (categoryCounts.get(category) || 0) + 1);
155
155
  }
156
156
  }
@@ -170,10 +170,10 @@ export function findSimilarPlugins(registry, pluginId, limit = 5) {
170
170
  .map(plugin => {
171
171
  let score = 0;
172
172
  // Tag overlap
173
- const tagOverlap = plugin.tags.filter(t => targetPlugin.tags.includes(t)).length;
173
+ const tagOverlap = (plugin.tags || []).filter(t => (targetPlugin.tags || []).includes(t)).length;
174
174
  score += tagOverlap * 2;
175
175
  // Category match
176
- const categoryMatch = plugin.categories.some(c => targetPlugin.categories.includes(c));
176
+ const categoryMatch = (plugin.categories || []).some(c => (targetPlugin.categories || []).includes(c));
177
177
  if (categoryMatch)
178
178
  score += 3;
179
179
  // Type match
@@ -225,6 +225,6 @@ export function getOfficialPlugins(registry) {
225
225
  * Get plugins by permission
226
226
  */
227
227
  export function getPluginsByPermission(registry, permission) {
228
- return registry.plugins.filter(p => p.permissions.includes(permission));
228
+ return registry.plugins.filter(p => (p.permissions || []).includes(permission));
229
229
  }
230
230
  //# sourceMappingURL=search.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claude-flow/cli",
3
- "version": "3.6.2",
3
+ "version": "3.6.4",
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",