claude_swarm 0.1.10 → 0.1.11

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d324ca820897ad2929051a87d06f152df536434522f42cba507a9c6984b019f
4
- data.tar.gz: bd2f9659c374ee277e3f20e4fd339b542887c394730acf5682a90d9c06cfcfb1
3
+ metadata.gz: 6d943c577c58e38133c56a9852a175bb4167916784c2fcda3487740f70c9ff4e
4
+ data.tar.gz: 8aaebece866fd8f73f12a86b300d85ffb0a1ac3b160e3c3d70e4a3df48ba1594
5
5
  SHA512:
6
- metadata.gz: 4ec9b2c70924671846cbfbaf98ddd93869b2e84162c199559b7551ae833bb73ac62950f4bee9dc19f59a138997c4873f6fb8746fa56f5cf1769855e01cdd74e3
7
- data.tar.gz: 64cc15a5ee7844f900eda0097e539046d730e4eb07b1323217a55dee9b965db506b1c3838d15e311291edc133296191a80a92769727cce84361cba6b5a2c7f0a
6
+ metadata.gz: 20cc61370c608454ec588cf5771290cb7e9c563ef6bbc13c3d02009d33292445d6da3b069a7dc4cc5c69ce916183b49adfbd86cbaf2df41185912fa7e73aab87
7
+ data.tar.gz: 2b2f63db094d495da5b76bede0b2c49e933a6a5adfd4b9fb9967753e51011302291ad0c47d721c120113b0d182b501650ffd4cd1eacd47fa8a5c21db08249475
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.1.11]
2
+ ### Added
3
+ - Main instance debug mode with `claude-swarm --debug`
4
+
1
5
  ## [0.1.10]
2
6
 
3
7
  ### Added
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Claude Swarm
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/claude_swarm.svg?cache_bust=1)](https://badge.fury.io/rb/claude_swarm)
3
+ [![Gem Version](https://badge.fury.io/rb/claude_swarm.svg?cache_bust=0)](https://badge.fury.io/rb/claude_swarm)
4
4
  [![CI](https://github.com/parruda/claude-swarm/actions/workflows/ci.yml/badge.svg)](https://github.com/parruda/claude-swarm/actions/workflows/ci.yml)
5
5
 
6
6
  Claude Swarm orchestrates multiple Claude Code instances as a collaborative AI development team. It enables running AI agents with specialized roles, tools, and directory contexts, communicating via MCP (Model Context Protocol) in a tree-like hierarchy. Define your swarm topology in simple YAML and let Claude instances delegate tasks through connected instances. Perfect for complex projects requiring specialized AI agents for frontend, backend, testing, DevOps, or research tasks.
@@ -48,15 +48,12 @@ swarm:
48
48
  directory: .
49
49
  model: opus
50
50
  connections: [frontend, backend]
51
- allowed_tools: # Tools aren't required if you run it with `--vibe`
52
- - Read
53
- - Edit
54
- - Bash
51
+ vibe: true # Allow all tools for this instance
55
52
  frontend:
56
53
  description: "Frontend specialist handling UI and user experience"
57
54
  directory: ./frontend
58
55
  model: opus
59
- allowed_tools:
56
+ allowed_tools: # Tools aren't required if you run it with `--vibe`
60
57
  - Edit
61
58
  - Write
62
59
  - Bash
@@ -22,6 +22,8 @@ module ClaudeSwarm
22
22
  desc: "Prompt to pass to the main Claude instance (non-interactive mode)"
23
23
  method_option :stream_logs, type: :boolean, default: false,
24
24
  desc: "Stream session logs to stdout (only works with -p)"
25
+ method_option :debug, type: :boolean, default: false,
26
+ desc: "Enable debug output"
25
27
  def start(config_file = nil)
26
28
  config_path = config_file || options[:config]
27
29
  unless File.exist?(config_path)
@@ -45,7 +47,8 @@ module ClaudeSwarm
45
47
  vibe: options[:vibe],
46
48
  prompt: options[:prompt],
47
49
  session_timestamp: session_timestamp,
48
- stream_logs: options[:stream_logs])
50
+ stream_logs: options[:stream_logs],
51
+ debug: options[:debug])
49
52
  orchestrator.start
50
53
  rescue Error => e
51
54
  error e.message
@@ -4,13 +4,14 @@ require "shellwords"
4
4
 
5
5
  module ClaudeSwarm
6
6
  class Orchestrator
7
- def initialize(configuration, mcp_generator, vibe: false, prompt: nil, session_timestamp: nil, stream_logs: false)
7
+ def initialize(configuration, mcp_generator, vibe: false, prompt: nil, session_timestamp: nil, stream_logs: false, debug: false)
8
8
  @config = configuration
9
9
  @generator = mcp_generator
10
10
  @vibe = vibe
11
11
  @prompt = prompt
12
12
  @session_timestamp = session_timestamp || Time.now.strftime("%Y%m%d_%H%M%S")
13
13
  @stream_logs = stream_logs
14
+ @debug = debug
14
15
  end
15
16
 
16
17
  def start
@@ -48,7 +49,7 @@ module ClaudeSwarm
48
49
  end
49
50
 
50
51
  command = build_main_command(main_instance)
51
- if ENV["DEBUG"] && !@prompt
52
+ if @debug && !@prompt
52
53
  puts "Running: #{command}"
53
54
  puts
54
55
  end
@@ -133,6 +134,8 @@ module ClaudeSwarm
133
134
  parts << instance[:prompt]
134
135
  end
135
136
 
137
+ parts << "--debug" if @debug
138
+
136
139
  mcp_config_path = @generator.mcp_config_path(@config.main_instance)
137
140
  parts << "--mcp-config"
138
141
  parts << mcp_config_path
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ClaudeSwarm
4
- VERSION = "0.1.10"
4
+ VERSION = "0.1.11"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: claude_swarm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paulo Arruda