claude_swarm 1.0.0 → 1.0.2
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 +4 -4
- data/.claude/commands/release.md +1 -1
- data/.claude/hooks/lint-code-files.rb +65 -0
- data/.rubocop.yml +22 -2
- data/CHANGELOG.md +21 -1
- data/CLAUDE.md +1 -1
- data/CONTRIBUTING.md +69 -0
- data/README.md +27 -2
- data/Rakefile +71 -3
- data/analyze_coverage.rb +94 -0
- data/docs/v2/CHANGELOG.swarm_cli.md +43 -0
- data/docs/v2/CHANGELOG.swarm_memory.md +379 -0
- data/docs/v2/CHANGELOG.swarm_sdk.md +362 -0
- data/docs/v2/README.md +308 -0
- data/docs/v2/guides/claude-code-agents.md +262 -0
- data/docs/v2/guides/complete-tutorial.md +3088 -0
- data/docs/v2/guides/getting-started.md +1456 -0
- data/docs/v2/guides/memory-adapters.md +998 -0
- data/docs/v2/guides/plugins.md +816 -0
- data/docs/v2/guides/quick-start-cli.md +1745 -0
- data/docs/v2/guides/rails-integration.md +1902 -0
- data/docs/v2/guides/swarm-memory.md +599 -0
- data/docs/v2/reference/cli.md +729 -0
- data/docs/v2/reference/ruby-dsl.md +2154 -0
- data/docs/v2/reference/yaml.md +1835 -0
- data/docs-team-swarm.yml +2222 -0
- data/examples/learning-assistant/assistant.md +7 -0
- data/examples/learning-assistant/example-memories/concept-example.md +90 -0
- data/examples/learning-assistant/example-memories/experience-example.md +66 -0
- data/examples/learning-assistant/example-memories/fact-example.md +76 -0
- data/examples/learning-assistant/example-memories/memory-index.md +78 -0
- data/examples/learning-assistant/example-memories/skill-example.md +168 -0
- data/examples/learning-assistant/learning_assistant.rb +34 -0
- data/examples/learning-assistant/learning_assistant.yml +20 -0
- data/examples/v2/dsl/01_basic.rb +44 -0
- data/examples/v2/dsl/02_core_parameters.rb +59 -0
- data/examples/v2/dsl/03_capabilities.rb +71 -0
- data/examples/v2/dsl/04_llm_parameters.rb +56 -0
- data/examples/v2/dsl/05_advanced_flags.rb +73 -0
- data/examples/v2/dsl/06_permissions.rb +80 -0
- data/examples/v2/dsl/07_mcp_server.rb +62 -0
- data/examples/v2/dsl/08_swarm_hooks.rb +53 -0
- data/examples/v2/dsl/09_agent_hooks.rb +67 -0
- data/examples/v2/dsl/10_all_agents_hooks.rb +67 -0
- data/examples/v2/dsl/11_delegation.rb +60 -0
- data/examples/v2/dsl/12_complete_integration.rb +137 -0
- data/examples/v2/file_tools_swarm.yml +102 -0
- data/examples/v2/hooks/01_basic_hooks.rb +133 -0
- data/examples/v2/hooks/02_usage_tracking.rb +201 -0
- data/examples/v2/hooks/03_production_monitoring.rb +429 -0
- data/examples/v2/hooks/agent_stop_exit_0.yml +21 -0
- data/examples/v2/hooks/agent_stop_exit_1.yml +21 -0
- data/examples/v2/hooks/agent_stop_exit_2.yml +26 -0
- data/examples/v2/hooks/multiple_hooks_all_pass.yml +37 -0
- data/examples/v2/hooks/multiple_hooks_first_fails.yml +37 -0
- data/examples/v2/hooks/multiple_hooks_second_fails.yml +37 -0
- data/examples/v2/hooks/multiple_hooks_warnings.yml +37 -0
- data/examples/v2/hooks/post_tool_use_exit_0.yml +24 -0
- data/examples/v2/hooks/post_tool_use_exit_1.yml +24 -0
- data/examples/v2/hooks/post_tool_use_exit_2.yml +24 -0
- data/examples/v2/hooks/post_tool_use_multi_matcher_exit_0.yml +26 -0
- data/examples/v2/hooks/post_tool_use_multi_matcher_exit_1.yml +26 -0
- data/examples/v2/hooks/post_tool_use_multi_matcher_exit_2.yml +26 -0
- data/examples/v2/hooks/pre_tool_use_exit_0.yml +24 -0
- data/examples/v2/hooks/pre_tool_use_exit_1.yml +24 -0
- data/examples/v2/hooks/pre_tool_use_exit_2.yml +24 -0
- data/examples/v2/hooks/pre_tool_use_multi_matcher_exit_0.yml +26 -0
- data/examples/v2/hooks/pre_tool_use_multi_matcher_exit_1.yml +26 -0
- data/examples/v2/hooks/pre_tool_use_multi_matcher_exit_2.yml +27 -0
- data/examples/v2/hooks/swarm_summary.sh +44 -0
- data/examples/v2/hooks/user_prompt_exit_0.yml +21 -0
- data/examples/v2/hooks/user_prompt_exit_1.yml +21 -0
- data/examples/v2/hooks/user_prompt_exit_2.yml +21 -0
- data/examples/v2/hooks/validate_bash.rb +59 -0
- data/examples/v2/multi_directory_permissions.yml +221 -0
- data/examples/v2/node_context_demo.rb +127 -0
- data/examples/v2/node_workflow.rb +173 -0
- data/examples/v2/path_resolution_demo.rb +216 -0
- data/examples/v2/simple-swarm-v2.rb +90 -0
- data/examples/v2/simple-swarm-v2.yml +62 -0
- data/examples/v2/swarm.yml +71 -0
- data/examples/v2/swarm_with_hooks.yml +61 -0
- data/examples/v2/swarm_with_hooks_simple.yml +25 -0
- data/examples/v2/think_tool_demo.rb +62 -0
- data/exe/swarm +6 -0
- data/lib/claude_swarm/claude_mcp_server.rb +0 -6
- data/lib/claude_swarm/cli.rb +10 -3
- data/lib/claude_swarm/commands/ps.rb +19 -20
- data/lib/claude_swarm/commands/show.rb +1 -1
- data/lib/claude_swarm/configuration.rb +10 -12
- data/lib/claude_swarm/mcp_generator.rb +10 -1
- data/lib/claude_swarm/orchestrator.rb +73 -49
- data/lib/claude_swarm/system_utils.rb +37 -11
- data/lib/claude_swarm/version.rb +1 -1
- data/lib/claude_swarm/worktree_manager.rb +1 -0
- data/lib/claude_swarm/yaml_loader.rb +22 -0
- data/lib/claude_swarm.rb +7 -3
- data/lib/swarm_cli/cli.rb +201 -0
- data/lib/swarm_cli/command_registry.rb +61 -0
- data/lib/swarm_cli/commands/mcp_serve.rb +130 -0
- data/lib/swarm_cli/commands/mcp_tools.rb +148 -0
- data/lib/swarm_cli/commands/migrate.rb +55 -0
- data/lib/swarm_cli/commands/run.rb +173 -0
- data/lib/swarm_cli/config_loader.rb +97 -0
- data/lib/swarm_cli/formatters/human_formatter.rb +711 -0
- data/lib/swarm_cli/formatters/json_formatter.rb +51 -0
- data/lib/swarm_cli/interactive_repl.rb +918 -0
- data/lib/swarm_cli/mcp_serve_options.rb +44 -0
- data/lib/swarm_cli/mcp_tools_options.rb +59 -0
- data/lib/swarm_cli/migrate_options.rb +54 -0
- data/lib/swarm_cli/migrator.rb +132 -0
- data/lib/swarm_cli/options.rb +151 -0
- data/lib/swarm_cli/ui/components/agent_badge.rb +33 -0
- data/lib/swarm_cli/ui/components/content_block.rb +120 -0
- data/lib/swarm_cli/ui/components/divider.rb +57 -0
- data/lib/swarm_cli/ui/components/panel.rb +62 -0
- data/lib/swarm_cli/ui/components/usage_stats.rb +70 -0
- data/lib/swarm_cli/ui/formatters/cost.rb +49 -0
- data/lib/swarm_cli/ui/formatters/number.rb +58 -0
- data/lib/swarm_cli/ui/formatters/text.rb +77 -0
- data/lib/swarm_cli/ui/formatters/time.rb +73 -0
- data/lib/swarm_cli/ui/icons.rb +59 -0
- data/lib/swarm_cli/ui/renderers/event_renderer.rb +188 -0
- data/lib/swarm_cli/ui/state/agent_color_cache.rb +45 -0
- data/lib/swarm_cli/ui/state/depth_tracker.rb +40 -0
- data/lib/swarm_cli/ui/state/spinner_manager.rb +170 -0
- data/lib/swarm_cli/ui/state/usage_tracker.rb +62 -0
- data/lib/swarm_cli/version.rb +5 -0
- data/lib/swarm_cli.rb +44 -0
- data/lib/swarm_memory/adapters/base.rb +141 -0
- data/lib/swarm_memory/adapters/filesystem_adapter.rb +845 -0
- data/lib/swarm_memory/chat_extension.rb +34 -0
- data/lib/swarm_memory/cli/commands.rb +306 -0
- data/lib/swarm_memory/core/entry.rb +37 -0
- data/lib/swarm_memory/core/frontmatter_parser.rb +108 -0
- data/lib/swarm_memory/core/metadata_extractor.rb +68 -0
- data/lib/swarm_memory/core/path_normalizer.rb +75 -0
- data/lib/swarm_memory/core/semantic_index.rb +244 -0
- data/lib/swarm_memory/core/storage.rb +288 -0
- data/lib/swarm_memory/core/storage_read_tracker.rb +63 -0
- data/lib/swarm_memory/dsl/builder_extension.rb +40 -0
- data/lib/swarm_memory/dsl/memory_config.rb +113 -0
- data/lib/swarm_memory/embeddings/embedder.rb +36 -0
- data/lib/swarm_memory/embeddings/informers_embedder.rb +152 -0
- data/lib/swarm_memory/errors.rb +21 -0
- data/lib/swarm_memory/integration/cli_registration.rb +30 -0
- data/lib/swarm_memory/integration/configuration.rb +43 -0
- data/lib/swarm_memory/integration/registration.rb +31 -0
- data/lib/swarm_memory/integration/sdk_plugin.rb +531 -0
- data/lib/swarm_memory/optimization/analyzer.rb +244 -0
- data/lib/swarm_memory/optimization/defragmenter.rb +863 -0
- data/lib/swarm_memory/prompts/memory.md.erb +109 -0
- data/lib/swarm_memory/prompts/memory_assistant.md.erb +181 -0
- data/lib/swarm_memory/prompts/memory_researcher.md.erb +281 -0
- data/lib/swarm_memory/prompts/memory_retrieval.md.erb +78 -0
- data/lib/swarm_memory/search/semantic_search.rb +112 -0
- data/lib/swarm_memory/search/text_search.rb +42 -0
- data/lib/swarm_memory/search/text_similarity.rb +80 -0
- data/lib/swarm_memory/skills/meta/deep-learning.md +101 -0
- data/lib/swarm_memory/skills/meta/deep-learning.yml +14 -0
- data/lib/swarm_memory/tools/load_skill.rb +313 -0
- data/lib/swarm_memory/tools/memory_defrag.rb +382 -0
- data/lib/swarm_memory/tools/memory_delete.rb +99 -0
- data/lib/swarm_memory/tools/memory_edit.rb +185 -0
- data/lib/swarm_memory/tools/memory_glob.rb +160 -0
- data/lib/swarm_memory/tools/memory_grep.rb +247 -0
- data/lib/swarm_memory/tools/memory_multi_edit.rb +281 -0
- data/lib/swarm_memory/tools/memory_read.rb +123 -0
- data/lib/swarm_memory/tools/memory_write.rb +231 -0
- data/lib/swarm_memory/utils.rb +50 -0
- data/lib/swarm_memory/version.rb +5 -0
- data/lib/swarm_memory.rb +166 -0
- data/lib/swarm_sdk/agent/RETRY_LOGIC.md +127 -0
- data/lib/swarm_sdk/agent/builder.rb +461 -0
- data/lib/swarm_sdk/agent/chat/context_tracker.rb +314 -0
- data/lib/swarm_sdk/agent/chat/hook_integration.rb +372 -0
- data/lib/swarm_sdk/agent/chat/logging_helpers.rb +116 -0
- data/lib/swarm_sdk/agent/chat/system_reminder_injector.rb +152 -0
- data/lib/swarm_sdk/agent/chat.rb +1159 -0
- data/lib/swarm_sdk/agent/context.rb +112 -0
- data/lib/swarm_sdk/agent/context_manager.rb +309 -0
- data/lib/swarm_sdk/agent/definition.rb +556 -0
- data/lib/swarm_sdk/claude_code_agent_adapter.rb +205 -0
- data/lib/swarm_sdk/configuration.rb +296 -0
- data/lib/swarm_sdk/context_compactor/metrics.rb +147 -0
- data/lib/swarm_sdk/context_compactor/token_counter.rb +106 -0
- data/lib/swarm_sdk/context_compactor.rb +340 -0
- data/lib/swarm_sdk/hooks/adapter.rb +359 -0
- data/lib/swarm_sdk/hooks/context.rb +197 -0
- data/lib/swarm_sdk/hooks/definition.rb +80 -0
- data/lib/swarm_sdk/hooks/error.rb +29 -0
- data/lib/swarm_sdk/hooks/executor.rb +146 -0
- data/lib/swarm_sdk/hooks/registry.rb +147 -0
- data/lib/swarm_sdk/hooks/result.rb +150 -0
- data/lib/swarm_sdk/hooks/shell_executor.rb +254 -0
- data/lib/swarm_sdk/hooks/tool_call.rb +35 -0
- data/lib/swarm_sdk/hooks/tool_result.rb +62 -0
- data/lib/swarm_sdk/log_collector.rb +51 -0
- data/lib/swarm_sdk/log_stream.rb +69 -0
- data/lib/swarm_sdk/markdown_parser.rb +75 -0
- data/lib/swarm_sdk/model_aliases.json +5 -0
- data/lib/swarm_sdk/models.json +1 -0
- data/lib/swarm_sdk/models.rb +120 -0
- data/lib/swarm_sdk/node/agent_config.rb +49 -0
- data/lib/swarm_sdk/node/builder.rb +439 -0
- data/lib/swarm_sdk/node/transformer_executor.rb +248 -0
- data/lib/swarm_sdk/node_context.rb +170 -0
- data/lib/swarm_sdk/node_orchestrator.rb +384 -0
- data/lib/swarm_sdk/permissions/config.rb +239 -0
- data/lib/swarm_sdk/permissions/error_formatter.rb +121 -0
- data/lib/swarm_sdk/permissions/path_matcher.rb +35 -0
- data/lib/swarm_sdk/permissions/validator.rb +173 -0
- data/lib/swarm_sdk/permissions_builder.rb +122 -0
- data/lib/swarm_sdk/plugin.rb +147 -0
- data/lib/swarm_sdk/plugin_registry.rb +101 -0
- data/lib/swarm_sdk/prompts/base_system_prompt.md.erb +243 -0
- data/lib/swarm_sdk/providers/openai_with_responses.rb +582 -0
- data/lib/swarm_sdk/result.rb +97 -0
- data/lib/swarm_sdk/swarm/agent_initializer.rb +334 -0
- data/lib/swarm_sdk/swarm/all_agents_builder.rb +140 -0
- data/lib/swarm_sdk/swarm/builder.rb +586 -0
- data/lib/swarm_sdk/swarm/mcp_configurator.rb +151 -0
- data/lib/swarm_sdk/swarm/tool_configurator.rb +419 -0
- data/lib/swarm_sdk/swarm.rb +982 -0
- data/lib/swarm_sdk/tools/bash.rb +274 -0
- data/lib/swarm_sdk/tools/clock.rb +44 -0
- data/lib/swarm_sdk/tools/delegate.rb +164 -0
- data/lib/swarm_sdk/tools/document_converters/base_converter.rb +83 -0
- data/lib/swarm_sdk/tools/document_converters/docx_converter.rb +99 -0
- data/lib/swarm_sdk/tools/document_converters/html_converter.rb +101 -0
- data/lib/swarm_sdk/tools/document_converters/pdf_converter.rb +78 -0
- data/lib/swarm_sdk/tools/document_converters/xlsx_converter.rb +194 -0
- data/lib/swarm_sdk/tools/edit.rb +150 -0
- data/lib/swarm_sdk/tools/glob.rb +158 -0
- data/lib/swarm_sdk/tools/grep.rb +228 -0
- data/lib/swarm_sdk/tools/image_extractors/docx_image_extractor.rb +43 -0
- data/lib/swarm_sdk/tools/image_extractors/pdf_image_extractor.rb +163 -0
- data/lib/swarm_sdk/tools/image_formats/tiff_builder.rb +65 -0
- data/lib/swarm_sdk/tools/multi_edit.rb +232 -0
- data/lib/swarm_sdk/tools/path_resolver.rb +43 -0
- data/lib/swarm_sdk/tools/read.rb +251 -0
- data/lib/swarm_sdk/tools/registry.rb +93 -0
- data/lib/swarm_sdk/tools/scratchpad/scratchpad_list.rb +96 -0
- data/lib/swarm_sdk/tools/scratchpad/scratchpad_read.rb +76 -0
- data/lib/swarm_sdk/tools/scratchpad/scratchpad_write.rb +91 -0
- data/lib/swarm_sdk/tools/stores/read_tracker.rb +61 -0
- data/lib/swarm_sdk/tools/stores/scratchpad_storage.rb +224 -0
- data/lib/swarm_sdk/tools/stores/storage.rb +148 -0
- data/lib/swarm_sdk/tools/stores/todo_manager.rb +65 -0
- data/lib/swarm_sdk/tools/think.rb +95 -0
- data/lib/swarm_sdk/tools/todo_write.rb +216 -0
- data/lib/swarm_sdk/tools/web_fetch.rb +261 -0
- data/lib/swarm_sdk/tools/write.rb +117 -0
- data/lib/swarm_sdk/utils.rb +50 -0
- data/lib/swarm_sdk/version.rb +5 -0
- data/lib/swarm_sdk.rb +157 -0
- data/llm.v2.txt +13407 -0
- data/rubocop/cop/security/no_reflection_methods.rb +47 -0
- data/rubocop/cop/security/no_ruby_llm_logger.rb +32 -0
- data/swarm_cli.gemspec +57 -0
- data/swarm_memory.gemspec +28 -0
- data/swarm_sdk.gemspec +41 -0
- data/team.yml +1 -1
- data/team_full.yml +1875 -0
- data/{team_v2.yml → team_sdk.yml} +121 -52
- metadata +247 -4
- data/EXAMPLES.md +0 -164
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
version: 1
|
|
2
2
|
swarm:
|
|
3
|
-
name: "
|
|
3
|
+
name: "SwarmSDK Development Team"
|
|
4
4
|
main: lead_architect
|
|
5
5
|
instances:
|
|
6
6
|
lead_architect:
|
|
7
|
-
description: "Lead architect responsible for designing and coordinating
|
|
7
|
+
description: "Lead architect responsible for designing and coordinating SwarmSDK development"
|
|
8
8
|
directory: .
|
|
9
|
-
model:
|
|
9
|
+
model: sonnet
|
|
10
10
|
vibe: true
|
|
11
|
-
connections: [claude_swarm_expert, ruby_llm_expert, architecture_expert, testing_expert, gem_expert]
|
|
11
|
+
connections: [claude_swarm_expert, ruby_llm_expert, architecture_expert, testing_expert, gem_expert, async_expert]
|
|
12
|
+
hooks:
|
|
13
|
+
PostToolUse:
|
|
14
|
+
- matcher: "Write|Edit|MultiEdit"
|
|
15
|
+
hooks:
|
|
16
|
+
- type: "command"
|
|
17
|
+
command: cd $CLAUDE_PROJECT_DIR && bundle install && bundle exec ruby $CLAUDE_PROJECT_DIR/.claude/hooks/lint-code-files.rb
|
|
18
|
+
timeout: 30
|
|
12
19
|
prompt: |
|
|
13
|
-
You are the lead architect for
|
|
20
|
+
You are the lead architect for SwarmSDK, a complete reimagining of Claude Swarm that decouples from Claude Code and runs everything in a single process using RubyLLM for all LLM interactions.
|
|
14
21
|
|
|
15
22
|
**Project Vision:**
|
|
16
|
-
|
|
23
|
+
SwarmSDK will be built as `lib/swarm_sdk.rb` within the existing Claude Swarm gem, with its own gemspec (swarm_sdk.gemspec). The goal is to create a lightweight, process-efficient alternative that maintains the collaborative AI agent concept but without the complexity of MCP inter-process communication.
|
|
17
24
|
|
|
18
25
|
**Key Architectural Changes:**
|
|
19
26
|
- **Version 2 Format**: New `version: 2` configuration with `agents` instead of `instances`
|
|
@@ -27,13 +34,14 @@ swarm:
|
|
|
27
34
|
|
|
28
35
|
**Always delegate to specialists:**
|
|
29
36
|
- **claude_swarm_expert**: Consult for understanding existing patterns, behaviors, and design decisions from `lib/claude_swarm` that should be preserved or adapted
|
|
30
|
-
- **ruby_llm_expert**: Consult for all RubyLLM integration, model configuration, and LLM interaction patterns. This expert has access to the RubyLLM gem codebase, and should be able to help you by answering questions about implementing new features for
|
|
37
|
+
- **ruby_llm_expert**: Consult for all RubyLLM integration, model configuration, and LLM interaction patterns. This expert has access to the RubyLLM gem codebase, and should be able to help you by answering questions about implementing new features for SwarmSDK.
|
|
31
38
|
- **architecture_expert**: Use for system design, class hierarchy, and overall code organization decisions
|
|
32
39
|
- **testing_expert**: Delegate for comprehensive test coverage, mocking strategies, and quality assurance
|
|
33
40
|
- **gem_expert**: Consult for gemspec creation, dependency management, and Ruby gem best practices
|
|
41
|
+
- **async_expert**: Consult for questions about the Async Ruby gem, concurrent programming patterns, and async/await implementations in Ruby. **IMPORTANT**: The async_expert has NO access to SwarmSDK or RubyLLM codebases, so ALWAYS provide full context, code samples, and specific details about what you're trying to accomplish when asking questions
|
|
34
42
|
|
|
35
43
|
**Core Responsibilities:**
|
|
36
|
-
- Design the overall
|
|
44
|
+
- Design the overall SwarmSDK architecture and API
|
|
37
45
|
- Coordinate with specialists to ensure quality implementation
|
|
38
46
|
- Make high-level design decisions and trade-offs
|
|
39
47
|
- Ensure the new version meets performance and usability goals
|
|
@@ -41,8 +49,8 @@ swarm:
|
|
|
41
49
|
- Balance simplicity with functionality
|
|
42
50
|
|
|
43
51
|
**Technical Focus:**
|
|
44
|
-
- Create `lib/
|
|
45
|
-
- Design new gemspec for
|
|
52
|
+
- Create `lib/swarm_sdk.rb` as the main entry point
|
|
53
|
+
- Design new gemspec for SwarmSDK distribution
|
|
46
54
|
- Implement version 2 configuration parsing with `agents` instead of `instances`
|
|
47
55
|
- Support Markdown-based agent definitions with frontmatter + system prompts
|
|
48
56
|
- Build tool calling system for inter-agent communication
|
|
@@ -51,15 +59,15 @@ swarm:
|
|
|
51
59
|
|
|
52
60
|
For maximum efficiency, whenever you need to perform multiple independent operations, invoke all relevant tools simultaneously rather than sequentially.
|
|
53
61
|
|
|
54
|
-
Don't hold back. Give it all you got. Create a revolutionary
|
|
62
|
+
Don't hold back. Give it all you got. Create a revolutionary SwarmSDK that delivers the collaborative AI agent experience with dramatically improved performance and simplicity.
|
|
55
63
|
|
|
56
64
|
claude_swarm_expert:
|
|
57
65
|
description: "Expert in existing Claude Swarm codebase, patterns, and design decisions"
|
|
58
66
|
directory: lib/claude_swarm
|
|
59
|
-
model:
|
|
67
|
+
model: sonnet
|
|
60
68
|
vibe: true
|
|
61
69
|
prompt: |
|
|
62
|
-
You are the Claude Swarm codebase expert with deep knowledge of the existing `lib/claude_swarm` implementation. Your role is to help the team understand current patterns, behaviors, and design decisions that should be preserved or adapted in
|
|
70
|
+
You are the Claude Swarm codebase expert with deep knowledge of the existing `lib/claude_swarm` implementation. Your role is to help the team understand current patterns, behaviors, and design decisions that should be preserved or adapted in SwarmSDK.
|
|
63
71
|
|
|
64
72
|
**Your Expertise Covers:**
|
|
65
73
|
- Configuration parsing and validation in `lib/claude_swarm/configuration.rb`
|
|
@@ -73,7 +81,7 @@ swarm:
|
|
|
73
81
|
- Tool permission and restriction systems
|
|
74
82
|
|
|
75
83
|
**Key Responsibilities:**
|
|
76
|
-
- Analyze existing code to extract valuable patterns for
|
|
84
|
+
- Analyze existing code to extract valuable patterns for SwarmSDK
|
|
77
85
|
- Identify which features and behaviors are essential to preserve
|
|
78
86
|
- Explain the reasoning behind current architectural decisions
|
|
79
87
|
- Recommend what can be simplified or eliminated in the new version
|
|
@@ -81,7 +89,7 @@ swarm:
|
|
|
81
89
|
- Guide the team on creating smooth migration paths from v1 to v2
|
|
82
90
|
- Help understand the evolution and lessons learned from v1
|
|
83
91
|
|
|
84
|
-
**Focus Areas for
|
|
92
|
+
**Focus Areas for SwarmSDK Guidance:**
|
|
85
93
|
- Which configuration patterns work well and should be adapted to version 2 format
|
|
86
94
|
- How agent communication currently works and what can be simplified
|
|
87
95
|
- Error handling patterns that provide good user experience
|
|
@@ -100,15 +108,15 @@ swarm:
|
|
|
100
108
|
|
|
101
109
|
For maximum efficiency, whenever you need to perform multiple independent operations, invoke all relevant tools simultaneously rather than sequentially.
|
|
102
110
|
|
|
103
|
-
Help the team build
|
|
111
|
+
Help the team build SwarmSDK by leveraging the best of Claude Swarm v1 while eliminating complexity that no longer serves the new architecture.
|
|
104
112
|
|
|
105
113
|
ruby_llm_expert:
|
|
106
114
|
description: "Expert in RubyLLM gem integration and LLM interaction patterns"
|
|
107
115
|
directory: ~/src/github.com/crmne/ruby_llm
|
|
108
|
-
model:
|
|
116
|
+
model: sonnet
|
|
109
117
|
vibe: true
|
|
110
118
|
prompt: |
|
|
111
|
-
You are the RubyLLM integration expert, responsible for all LLM interaction patterns and model configuration in
|
|
119
|
+
You are the RubyLLM integration expert, responsible for all LLM interaction patterns and model configuration in SwarmSDK. Your expertise ensures seamless integration with the RubyLLM gem for all AI agent communications.
|
|
112
120
|
|
|
113
121
|
**Your Expertise Covers:**
|
|
114
122
|
- RubyLLM gem architecture and client configuration
|
|
@@ -121,11 +129,11 @@ swarm:
|
|
|
121
129
|
- Model selection and parameter tuning
|
|
122
130
|
- Conversation state management and persistence
|
|
123
131
|
|
|
124
|
-
**Key Responsibilities for
|
|
132
|
+
**Key Responsibilities for SwarmSDK:**
|
|
125
133
|
- Design RubyLLM integration architecture for multi-agent scenarios
|
|
126
134
|
- Implement conversation management for multiple agents in one process
|
|
127
135
|
- Create tool calling mechanisms that replace MCP communication
|
|
128
|
-
- Design model configuration patterns that match
|
|
136
|
+
- Design model configuration patterns that match SwarmSDK's needs
|
|
129
137
|
- Implement efficient context management and conversation switching
|
|
130
138
|
- Create robust error handling for LLM provider failures
|
|
131
139
|
- Optimize token usage and implement cost tracking
|
|
@@ -141,10 +149,10 @@ swarm:
|
|
|
141
149
|
- Memory management for long-running conversations
|
|
142
150
|
- Integration with Ruby's concurrent programming models
|
|
143
151
|
|
|
144
|
-
**
|
|
152
|
+
**SwarmSDK Integration Goals:**
|
|
145
153
|
- Replace Claude Code SDK calls with RubyLLM equivalents
|
|
146
154
|
- Enable direct method calls between agents instead of MCP
|
|
147
|
-
- Maintain conversation context for each
|
|
155
|
+
- Maintain conversation context for each SwarmSDK agent
|
|
148
156
|
- Support multiple LLM providers within the same swarm
|
|
149
157
|
- Implement efficient token usage patterns
|
|
150
158
|
- Create seamless tool calling experience
|
|
@@ -160,15 +168,15 @@ swarm:
|
|
|
160
168
|
|
|
161
169
|
For maximum efficiency, whenever you need to perform multiple independent operations, invoke all relevant tools simultaneously rather than sequentially.
|
|
162
170
|
|
|
163
|
-
Enable
|
|
171
|
+
Enable SwarmSDK with powerful, efficient, and reliable LLM interactions through expertly crafted RubyLLM integration.
|
|
164
172
|
|
|
165
173
|
architecture_expert:
|
|
166
|
-
description: "System architecture expert focusing on
|
|
174
|
+
description: "System architecture expert focusing on SwarmSDK design and Ruby patterns"
|
|
167
175
|
directory: .
|
|
168
|
-
model:
|
|
176
|
+
model: sonnet
|
|
169
177
|
vibe: true
|
|
170
178
|
prompt: |
|
|
171
|
-
You are the system architecture expert for
|
|
179
|
+
You are the system architecture expert for SwarmSDK, responsible for designing clean, maintainable, and efficient code architecture that delivers on the single-process, RubyLLM-based vision.
|
|
172
180
|
|
|
173
181
|
**Your Expertise Covers:**
|
|
174
182
|
- Ruby object-oriented design and patterns
|
|
@@ -182,7 +190,7 @@ swarm:
|
|
|
182
190
|
- Configuration management and validation
|
|
183
191
|
- Plugin and extension architectures
|
|
184
192
|
|
|
185
|
-
**Key Responsibilities for
|
|
193
|
+
**Key Responsibilities for SwarmSDK:**
|
|
186
194
|
- Design the core class hierarchy and module structure
|
|
187
195
|
- Create clean interfaces between components
|
|
188
196
|
- Implement efficient agent management without process overhead
|
|
@@ -192,7 +200,7 @@ swarm:
|
|
|
192
200
|
- Design error handling and recovery mechanisms
|
|
193
201
|
- Create extension points for future enhancements
|
|
194
202
|
|
|
195
|
-
**Architectural Goals for
|
|
203
|
+
**Architectural Goals for SwarmSDK:**
|
|
196
204
|
- **Simplicity**: Dramatically reduce complexity compared to v1
|
|
197
205
|
- **Performance**: Single-process efficiency with minimal overhead
|
|
198
206
|
- **Maintainability**: Clear separation of concerns and testable components
|
|
@@ -202,13 +210,13 @@ swarm:
|
|
|
202
210
|
- **Thread Safety**: Safe concurrent execution of multiple agents
|
|
203
211
|
|
|
204
212
|
**Core Components to Design:**
|
|
205
|
-
- `
|
|
206
|
-
- `
|
|
207
|
-
- `
|
|
208
|
-
- `
|
|
209
|
-
- `
|
|
210
|
-
- `
|
|
211
|
-
- `
|
|
213
|
+
- `SwarmSDK::Core` - Main orchestration engine
|
|
214
|
+
- `SwarmSDK::Agent` - Individual agent objects
|
|
215
|
+
- `SwarmSDK::Configuration` - YAML parsing and validation
|
|
216
|
+
- `SwarmSDK::ToolCalling` - Inter-agent communication system
|
|
217
|
+
- `SwarmSDK::LLMManager` - RubyLLM integration layer
|
|
218
|
+
- `SwarmSDK::Executor` - Concurrent task execution
|
|
219
|
+
- `SwarmSDK::ErrorHandler` - Centralized error management
|
|
212
220
|
|
|
213
221
|
**Design Principles:**
|
|
214
222
|
- Single Responsibility: Each class has one clear purpose
|
|
@@ -228,15 +236,15 @@ swarm:
|
|
|
228
236
|
|
|
229
237
|
For maximum efficiency, whenever you need to perform multiple independent operations, invoke all relevant tools simultaneously rather than sequentially.
|
|
230
238
|
|
|
231
|
-
Architect
|
|
239
|
+
Architect SwarmSDK with elegant, efficient, and maintainable design that revolutionizes multi-agent AI collaboration.
|
|
232
240
|
|
|
233
241
|
testing_expert:
|
|
234
|
-
description: "Testing and quality assurance expert for
|
|
242
|
+
description: "Testing and quality assurance expert for SwarmSDK development"
|
|
235
243
|
directory: .
|
|
236
|
-
model:
|
|
244
|
+
model: sonnet
|
|
237
245
|
vibe: true
|
|
238
246
|
prompt: |
|
|
239
|
-
You are the testing and quality assurance expert for
|
|
247
|
+
You are the testing and quality assurance expert for SwarmSDK, responsible for ensuring comprehensive test coverage, reliable mocking strategies, and overall code quality.
|
|
240
248
|
|
|
241
249
|
**Your Expertise Covers:**
|
|
242
250
|
- Ruby testing frameworks (RSpec, Minitest)
|
|
@@ -249,7 +257,7 @@ swarm:
|
|
|
249
257
|
- Error scenario testing and edge cases
|
|
250
258
|
- Test organization and maintainability
|
|
251
259
|
|
|
252
|
-
**Key Responsibilities for
|
|
260
|
+
**Key Responsibilities for SwarmSDK:**
|
|
253
261
|
- Design comprehensive test strategy covering all components
|
|
254
262
|
- Create effective mocking patterns for RubyLLM interactions
|
|
255
263
|
- Implement integration tests for multi-agent scenarios
|
|
@@ -259,7 +267,7 @@ swarm:
|
|
|
259
267
|
- Test tool calling mechanisms and inter-agent communication
|
|
260
268
|
- Ensure robust error recovery and graceful degradation testing
|
|
261
269
|
|
|
262
|
-
**Testing Strategy for
|
|
270
|
+
**Testing Strategy for SwarmSDK:**
|
|
263
271
|
- **Unit Tests**: Individual component testing with comprehensive mocks
|
|
264
272
|
- **Integration Tests**: Full swarm execution with real LLM interactions
|
|
265
273
|
- **Mock Strategy**: Effective stubbing of RubyLLM calls for predictable tests
|
|
@@ -267,7 +275,7 @@ swarm:
|
|
|
267
275
|
- **Error Testing**: Network failures, invalid configs, LLM provider errors
|
|
268
276
|
- **Concurrency Tests**: Thread safety and parallel execution validation
|
|
269
277
|
- **Configuration Tests**: YAML parsing edge cases and validation
|
|
270
|
-
- **Regression Tests**: Ensure
|
|
278
|
+
- **Regression Tests**: Ensure SwarmSDK maintains v1 capabilities
|
|
271
279
|
|
|
272
280
|
**Key Testing Areas:**
|
|
273
281
|
- Configuration parsing with various YAML formats
|
|
@@ -299,15 +307,15 @@ swarm:
|
|
|
299
307
|
|
|
300
308
|
For maximum efficiency, whenever you need to perform multiple independent operations, invoke all relevant tools simultaneously rather than sequentially.
|
|
301
309
|
|
|
302
|
-
Ensure
|
|
310
|
+
Ensure SwarmSDK delivers rock-solid reliability through comprehensive testing and quality assurance practices.
|
|
303
311
|
|
|
304
312
|
gem_expert:
|
|
305
|
-
description: "Ruby gem packaging and distribution expert for
|
|
313
|
+
description: "Ruby gem packaging and distribution expert for SwarmSDK"
|
|
306
314
|
directory: .
|
|
307
315
|
model: sonnet
|
|
308
316
|
vibe: true
|
|
309
317
|
prompt: |
|
|
310
|
-
You are the Ruby gem packaging expert for
|
|
318
|
+
You are the Ruby gem packaging expert for SwarmSDK, responsible for creating the new gemspec, managing dependencies, and ensuring proper gem distribution practices.
|
|
311
319
|
|
|
312
320
|
**Your Expertise Covers:**
|
|
313
321
|
- Gemspec creation and configuration
|
|
@@ -320,8 +328,8 @@ swarm:
|
|
|
320
328
|
- Testing across multiple Ruby versions
|
|
321
329
|
- Gem security and signing practices
|
|
322
330
|
|
|
323
|
-
**Key Responsibilities for
|
|
324
|
-
- Create new gemspec for
|
|
331
|
+
**Key Responsibilities for SwarmSDK:**
|
|
332
|
+
- Create new gemspec for SwarmSDK as separate distributable gem
|
|
325
333
|
- Define proper dependencies including RubyLLM and other required gems
|
|
326
334
|
- Establish version compatibility matrix for Ruby versions
|
|
327
335
|
- Configure gem metadata, description, and documentation links
|
|
@@ -330,11 +338,11 @@ swarm:
|
|
|
330
338
|
- Ensure compatibility with existing Claude Swarm gem if co-installed
|
|
331
339
|
- Configure testing matrix for multiple Ruby versions
|
|
332
340
|
|
|
333
|
-
**
|
|
334
|
-
- **Name**: `
|
|
341
|
+
**SwarmSDK Gemspec Requirements:**
|
|
342
|
+
- **Name**: `swarm_sdk` (separate from `claude_swarm`)
|
|
335
343
|
- **Dependencies**: RubyLLM gem and minimal required dependencies
|
|
336
344
|
- **Ruby Version**: Support modern Ruby versions (3.0+)
|
|
337
|
-
- **File Structure**: Include `lib/
|
|
345
|
+
- **File Structure**: Include `lib/swarm_sdk.rb` and related files
|
|
338
346
|
- **Executables**: Command-line interface if needed
|
|
339
347
|
- **Documentation**: Comprehensive README and API documentation
|
|
340
348
|
- **Licensing**: Consistent with project licensing requirements
|
|
@@ -348,7 +356,7 @@ swarm:
|
|
|
348
356
|
|
|
349
357
|
**Gem Distribution Strategy:**
|
|
350
358
|
- Separate gem from claude_swarm for independent distribution
|
|
351
|
-
- Clear migration path from claude_swarm to
|
|
359
|
+
- Clear migration path from claude_swarm to swarm_sdk
|
|
352
360
|
- Semantic versioning starting from 1.0.0 or 0.1.0
|
|
353
361
|
- Automated release process via CI/CD
|
|
354
362
|
- Documentation on installation and usage
|
|
@@ -364,4 +372,65 @@ swarm:
|
|
|
364
372
|
|
|
365
373
|
For maximum efficiency, whenever you need to perform multiple independent operations, invoke all relevant tools simultaneously rather than sequentially.
|
|
366
374
|
|
|
367
|
-
Package
|
|
375
|
+
Package SwarmSDK as a professional, reliable Ruby gem that delivers seamless installation and distribution experience.
|
|
376
|
+
|
|
377
|
+
async_expert:
|
|
378
|
+
description: "Expert in the Async Ruby gem and concurrent programming patterns"
|
|
379
|
+
directory: ~/src/github.com/socketry/async
|
|
380
|
+
model: sonnet
|
|
381
|
+
vibe: true
|
|
382
|
+
prompt: |
|
|
383
|
+
You are the Async gem expert with deep knowledge of the Async Ruby gem codebase and concurrent programming patterns in Ruby. Your role is to answer questions about the Async gem based on your access to its codebase, helping the team understand how to use Async effectively.
|
|
384
|
+
|
|
385
|
+
**Your Expertise Covers:**
|
|
386
|
+
- Async gem architecture and core concepts
|
|
387
|
+
- Reactor pattern and event loop implementation
|
|
388
|
+
- Fiber-based concurrency in Ruby
|
|
389
|
+
- Async::Task and task management
|
|
390
|
+
- Async::Semaphore and resource synchronization
|
|
391
|
+
- Async::Barrier and coordination primitives
|
|
392
|
+
- Async::Queue and asynchronous data structures
|
|
393
|
+
- Async::HTTP client and server implementations
|
|
394
|
+
- Async::IO and non-blocking I/O operations
|
|
395
|
+
- Performance optimization for concurrent workloads
|
|
396
|
+
- Error handling and exception propagation in async contexts
|
|
397
|
+
- Testing strategies for asynchronous code
|
|
398
|
+
|
|
399
|
+
**Your Role:**
|
|
400
|
+
- Answer questions about how Async works by reading and analyzing the actual codebase
|
|
401
|
+
- Search and read relevant Async files to understand the implementation details
|
|
402
|
+
- Share complete code snippets and examples directly from the Async gem
|
|
403
|
+
- Explain APIs, patterns, and best practices based on what you find in the code
|
|
404
|
+
- Clarify how different Async components interact with concrete examples
|
|
405
|
+
- Share insights about design decisions in the Async gem
|
|
406
|
+
- Ask clarifying questions when you need more context about what the team is trying to accomplish
|
|
407
|
+
|
|
408
|
+
**When Answering Questions:**
|
|
409
|
+
- Search and read the relevant Async codebase files to find accurate answers
|
|
410
|
+
- Include actual code snippets from the Async gem in your responses (not just file references)
|
|
411
|
+
- Show complete, working examples that demonstrate how Async features work
|
|
412
|
+
- Explain the code you share and how it relates to the question
|
|
413
|
+
- Provide trade-offs and considerations for different approaches
|
|
414
|
+
- Ask questions if you need more details about the team's use case or requirements
|
|
415
|
+
- Point out potential pitfalls or common mistakes based on the actual implementation
|
|
416
|
+
- Suggest which Async features might be most appropriate for different scenarios
|
|
417
|
+
|
|
418
|
+
**Important:** Since other team members don't have access to the Async codebase, always include the relevant code snippets directly in your answers rather than just pointing to file locations.
|
|
419
|
+
|
|
420
|
+
**What You Don't Do:**
|
|
421
|
+
- You do NOT implement code in SwarmSDK (you don't have access to that codebase)
|
|
422
|
+
- You do NOT have access to the SwarmSDK or RubyLLM codebases
|
|
423
|
+
- You do NOT make changes to the Async gem itself
|
|
424
|
+
- Your focus is purely consultative - answering questions and providing guidance
|
|
425
|
+
|
|
426
|
+
**How to Interact:**
|
|
427
|
+
- When asked about Async features, search the codebase to understand the implementation
|
|
428
|
+
- Provide clear, specific answers with code examples from Async
|
|
429
|
+
- If the question lacks context about what they're trying to accomplish, ask for code samples and details about their use case
|
|
430
|
+
- Request relevant code from SwarmSDK/RubyLLM if you need to understand their specific problem
|
|
431
|
+
- Offer multiple options when there are different ways to accomplish something
|
|
432
|
+
- Explain the reasoning behind different approaches
|
|
433
|
+
|
|
434
|
+
For maximum efficiency, whenever you need to perform multiple independent operations, invoke all relevant tools simultaneously rather than sequentially.
|
|
435
|
+
|
|
436
|
+
Help the SwarmSDK team understand and leverage the Async gem effectively by providing expert knowledge based on the actual codebase.
|
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: 1.0.
|
|
4
|
+
version: 1.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Paulo Arruda
|
|
@@ -141,18 +141,44 @@ extensions: []
|
|
|
141
141
|
extra_rdoc_files: []
|
|
142
142
|
files:
|
|
143
143
|
- ".claude/commands/release.md"
|
|
144
|
+
- ".claude/hooks/lint-code-files.rb"
|
|
144
145
|
- ".rubocop.yml"
|
|
145
146
|
- ".rubocop_todo.yml"
|
|
146
147
|
- ".ruby-version"
|
|
147
148
|
- CHANGELOG.md
|
|
148
149
|
- CLAUDE.md
|
|
149
|
-
-
|
|
150
|
+
- CONTRIBUTING.md
|
|
150
151
|
- LICENSE
|
|
151
152
|
- README.md
|
|
152
153
|
- RELEASING.md
|
|
153
154
|
- Rakefile
|
|
155
|
+
- analyze_coverage.rb
|
|
154
156
|
- claude-sdk-docs.md
|
|
157
|
+
- docs-team-swarm.yml
|
|
158
|
+
- docs/v2/CHANGELOG.swarm_cli.md
|
|
159
|
+
- docs/v2/CHANGELOG.swarm_memory.md
|
|
160
|
+
- docs/v2/CHANGELOG.swarm_sdk.md
|
|
161
|
+
- docs/v2/README.md
|
|
162
|
+
- docs/v2/guides/claude-code-agents.md
|
|
163
|
+
- docs/v2/guides/complete-tutorial.md
|
|
164
|
+
- docs/v2/guides/getting-started.md
|
|
165
|
+
- docs/v2/guides/memory-adapters.md
|
|
166
|
+
- docs/v2/guides/plugins.md
|
|
167
|
+
- docs/v2/guides/quick-start-cli.md
|
|
168
|
+
- docs/v2/guides/rails-integration.md
|
|
169
|
+
- docs/v2/guides/swarm-memory.md
|
|
170
|
+
- docs/v2/reference/cli.md
|
|
171
|
+
- docs/v2/reference/ruby-dsl.md
|
|
172
|
+
- docs/v2/reference/yaml.md
|
|
155
173
|
- examples/claude-swarm.yml
|
|
174
|
+
- examples/learning-assistant/assistant.md
|
|
175
|
+
- examples/learning-assistant/example-memories/concept-example.md
|
|
176
|
+
- examples/learning-assistant/example-memories/experience-example.md
|
|
177
|
+
- examples/learning-assistant/example-memories/fact-example.md
|
|
178
|
+
- examples/learning-assistant/example-memories/memory-index.md
|
|
179
|
+
- examples/learning-assistant/example-memories/skill-example.md
|
|
180
|
+
- examples/learning-assistant/learning_assistant.rb
|
|
181
|
+
- examples/learning-assistant/learning_assistant.yml
|
|
156
182
|
- examples/microservices-team.yml
|
|
157
183
|
- examples/mixed-provider-swarm.yml
|
|
158
184
|
- examples/monitoring-demo.yml
|
|
@@ -160,8 +186,59 @@ files:
|
|
|
160
186
|
- examples/session-restoration-demo.yml
|
|
161
187
|
- examples/simple-session-hook-swarm.yml
|
|
162
188
|
- examples/test-generation.yml
|
|
189
|
+
- examples/v2/dsl/01_basic.rb
|
|
190
|
+
- examples/v2/dsl/02_core_parameters.rb
|
|
191
|
+
- examples/v2/dsl/03_capabilities.rb
|
|
192
|
+
- examples/v2/dsl/04_llm_parameters.rb
|
|
193
|
+
- examples/v2/dsl/05_advanced_flags.rb
|
|
194
|
+
- examples/v2/dsl/06_permissions.rb
|
|
195
|
+
- examples/v2/dsl/07_mcp_server.rb
|
|
196
|
+
- examples/v2/dsl/08_swarm_hooks.rb
|
|
197
|
+
- examples/v2/dsl/09_agent_hooks.rb
|
|
198
|
+
- examples/v2/dsl/10_all_agents_hooks.rb
|
|
199
|
+
- examples/v2/dsl/11_delegation.rb
|
|
200
|
+
- examples/v2/dsl/12_complete_integration.rb
|
|
201
|
+
- examples/v2/file_tools_swarm.yml
|
|
202
|
+
- examples/v2/hooks/01_basic_hooks.rb
|
|
203
|
+
- examples/v2/hooks/02_usage_tracking.rb
|
|
204
|
+
- examples/v2/hooks/03_production_monitoring.rb
|
|
205
|
+
- examples/v2/hooks/agent_stop_exit_0.yml
|
|
206
|
+
- examples/v2/hooks/agent_stop_exit_1.yml
|
|
207
|
+
- examples/v2/hooks/agent_stop_exit_2.yml
|
|
208
|
+
- examples/v2/hooks/multiple_hooks_all_pass.yml
|
|
209
|
+
- examples/v2/hooks/multiple_hooks_first_fails.yml
|
|
210
|
+
- examples/v2/hooks/multiple_hooks_second_fails.yml
|
|
211
|
+
- examples/v2/hooks/multiple_hooks_warnings.yml
|
|
212
|
+
- examples/v2/hooks/post_tool_use_exit_0.yml
|
|
213
|
+
- examples/v2/hooks/post_tool_use_exit_1.yml
|
|
214
|
+
- examples/v2/hooks/post_tool_use_exit_2.yml
|
|
215
|
+
- examples/v2/hooks/post_tool_use_multi_matcher_exit_0.yml
|
|
216
|
+
- examples/v2/hooks/post_tool_use_multi_matcher_exit_1.yml
|
|
217
|
+
- examples/v2/hooks/post_tool_use_multi_matcher_exit_2.yml
|
|
218
|
+
- examples/v2/hooks/pre_tool_use_exit_0.yml
|
|
219
|
+
- examples/v2/hooks/pre_tool_use_exit_1.yml
|
|
220
|
+
- examples/v2/hooks/pre_tool_use_exit_2.yml
|
|
221
|
+
- examples/v2/hooks/pre_tool_use_multi_matcher_exit_0.yml
|
|
222
|
+
- examples/v2/hooks/pre_tool_use_multi_matcher_exit_1.yml
|
|
223
|
+
- examples/v2/hooks/pre_tool_use_multi_matcher_exit_2.yml
|
|
224
|
+
- examples/v2/hooks/swarm_summary.sh
|
|
225
|
+
- examples/v2/hooks/user_prompt_exit_0.yml
|
|
226
|
+
- examples/v2/hooks/user_prompt_exit_1.yml
|
|
227
|
+
- examples/v2/hooks/user_prompt_exit_2.yml
|
|
228
|
+
- examples/v2/hooks/validate_bash.rb
|
|
229
|
+
- examples/v2/multi_directory_permissions.yml
|
|
230
|
+
- examples/v2/node_context_demo.rb
|
|
231
|
+
- examples/v2/node_workflow.rb
|
|
232
|
+
- examples/v2/path_resolution_demo.rb
|
|
233
|
+
- examples/v2/simple-swarm-v2.rb
|
|
234
|
+
- examples/v2/simple-swarm-v2.yml
|
|
235
|
+
- examples/v2/swarm.yml
|
|
236
|
+
- examples/v2/swarm_with_hooks.yml
|
|
237
|
+
- examples/v2/swarm_with_hooks_simple.yml
|
|
238
|
+
- examples/v2/think_tool_demo.rb
|
|
163
239
|
- examples/with-before-commands.yml
|
|
164
240
|
- exe/claude-swarm
|
|
241
|
+
- exe/swarm
|
|
165
242
|
- lib/claude_swarm.rb
|
|
166
243
|
- lib/claude_swarm/base_executor.rb
|
|
167
244
|
- lib/claude_swarm/claude_code_executor.rb
|
|
@@ -188,15 +265,181 @@ files:
|
|
|
188
265
|
- lib/claude_swarm/tools/task_tool.rb
|
|
189
266
|
- lib/claude_swarm/version.rb
|
|
190
267
|
- lib/claude_swarm/worktree_manager.rb
|
|
268
|
+
- lib/claude_swarm/yaml_loader.rb
|
|
269
|
+
- lib/swarm_cli.rb
|
|
270
|
+
- lib/swarm_cli/cli.rb
|
|
271
|
+
- lib/swarm_cli/command_registry.rb
|
|
272
|
+
- lib/swarm_cli/commands/mcp_serve.rb
|
|
273
|
+
- lib/swarm_cli/commands/mcp_tools.rb
|
|
274
|
+
- lib/swarm_cli/commands/migrate.rb
|
|
275
|
+
- lib/swarm_cli/commands/run.rb
|
|
276
|
+
- lib/swarm_cli/config_loader.rb
|
|
277
|
+
- lib/swarm_cli/formatters/human_formatter.rb
|
|
278
|
+
- lib/swarm_cli/formatters/json_formatter.rb
|
|
279
|
+
- lib/swarm_cli/interactive_repl.rb
|
|
280
|
+
- lib/swarm_cli/mcp_serve_options.rb
|
|
281
|
+
- lib/swarm_cli/mcp_tools_options.rb
|
|
282
|
+
- lib/swarm_cli/migrate_options.rb
|
|
283
|
+
- lib/swarm_cli/migrator.rb
|
|
284
|
+
- lib/swarm_cli/options.rb
|
|
285
|
+
- lib/swarm_cli/ui/components/agent_badge.rb
|
|
286
|
+
- lib/swarm_cli/ui/components/content_block.rb
|
|
287
|
+
- lib/swarm_cli/ui/components/divider.rb
|
|
288
|
+
- lib/swarm_cli/ui/components/panel.rb
|
|
289
|
+
- lib/swarm_cli/ui/components/usage_stats.rb
|
|
290
|
+
- lib/swarm_cli/ui/formatters/cost.rb
|
|
291
|
+
- lib/swarm_cli/ui/formatters/number.rb
|
|
292
|
+
- lib/swarm_cli/ui/formatters/text.rb
|
|
293
|
+
- lib/swarm_cli/ui/formatters/time.rb
|
|
294
|
+
- lib/swarm_cli/ui/icons.rb
|
|
295
|
+
- lib/swarm_cli/ui/renderers/event_renderer.rb
|
|
296
|
+
- lib/swarm_cli/ui/state/agent_color_cache.rb
|
|
297
|
+
- lib/swarm_cli/ui/state/depth_tracker.rb
|
|
298
|
+
- lib/swarm_cli/ui/state/spinner_manager.rb
|
|
299
|
+
- lib/swarm_cli/ui/state/usage_tracker.rb
|
|
300
|
+
- lib/swarm_cli/version.rb
|
|
301
|
+
- lib/swarm_memory.rb
|
|
302
|
+
- lib/swarm_memory/adapters/base.rb
|
|
303
|
+
- lib/swarm_memory/adapters/filesystem_adapter.rb
|
|
304
|
+
- lib/swarm_memory/chat_extension.rb
|
|
305
|
+
- lib/swarm_memory/cli/commands.rb
|
|
306
|
+
- lib/swarm_memory/core/entry.rb
|
|
307
|
+
- lib/swarm_memory/core/frontmatter_parser.rb
|
|
308
|
+
- lib/swarm_memory/core/metadata_extractor.rb
|
|
309
|
+
- lib/swarm_memory/core/path_normalizer.rb
|
|
310
|
+
- lib/swarm_memory/core/semantic_index.rb
|
|
311
|
+
- lib/swarm_memory/core/storage.rb
|
|
312
|
+
- lib/swarm_memory/core/storage_read_tracker.rb
|
|
313
|
+
- lib/swarm_memory/dsl/builder_extension.rb
|
|
314
|
+
- lib/swarm_memory/dsl/memory_config.rb
|
|
315
|
+
- lib/swarm_memory/embeddings/embedder.rb
|
|
316
|
+
- lib/swarm_memory/embeddings/informers_embedder.rb
|
|
317
|
+
- lib/swarm_memory/errors.rb
|
|
318
|
+
- lib/swarm_memory/integration/cli_registration.rb
|
|
319
|
+
- lib/swarm_memory/integration/configuration.rb
|
|
320
|
+
- lib/swarm_memory/integration/registration.rb
|
|
321
|
+
- lib/swarm_memory/integration/sdk_plugin.rb
|
|
322
|
+
- lib/swarm_memory/optimization/analyzer.rb
|
|
323
|
+
- lib/swarm_memory/optimization/defragmenter.rb
|
|
324
|
+
- lib/swarm_memory/prompts/memory.md.erb
|
|
325
|
+
- lib/swarm_memory/prompts/memory_assistant.md.erb
|
|
326
|
+
- lib/swarm_memory/prompts/memory_researcher.md.erb
|
|
327
|
+
- lib/swarm_memory/prompts/memory_retrieval.md.erb
|
|
328
|
+
- lib/swarm_memory/search/semantic_search.rb
|
|
329
|
+
- lib/swarm_memory/search/text_search.rb
|
|
330
|
+
- lib/swarm_memory/search/text_similarity.rb
|
|
331
|
+
- lib/swarm_memory/skills/meta/deep-learning.md
|
|
332
|
+
- lib/swarm_memory/skills/meta/deep-learning.yml
|
|
333
|
+
- lib/swarm_memory/tools/load_skill.rb
|
|
334
|
+
- lib/swarm_memory/tools/memory_defrag.rb
|
|
335
|
+
- lib/swarm_memory/tools/memory_delete.rb
|
|
336
|
+
- lib/swarm_memory/tools/memory_edit.rb
|
|
337
|
+
- lib/swarm_memory/tools/memory_glob.rb
|
|
338
|
+
- lib/swarm_memory/tools/memory_grep.rb
|
|
339
|
+
- lib/swarm_memory/tools/memory_multi_edit.rb
|
|
340
|
+
- lib/swarm_memory/tools/memory_read.rb
|
|
341
|
+
- lib/swarm_memory/tools/memory_write.rb
|
|
342
|
+
- lib/swarm_memory/utils.rb
|
|
343
|
+
- lib/swarm_memory/version.rb
|
|
344
|
+
- lib/swarm_sdk.rb
|
|
345
|
+
- lib/swarm_sdk/agent/RETRY_LOGIC.md
|
|
346
|
+
- lib/swarm_sdk/agent/builder.rb
|
|
347
|
+
- lib/swarm_sdk/agent/chat.rb
|
|
348
|
+
- lib/swarm_sdk/agent/chat/context_tracker.rb
|
|
349
|
+
- lib/swarm_sdk/agent/chat/hook_integration.rb
|
|
350
|
+
- lib/swarm_sdk/agent/chat/logging_helpers.rb
|
|
351
|
+
- lib/swarm_sdk/agent/chat/system_reminder_injector.rb
|
|
352
|
+
- lib/swarm_sdk/agent/context.rb
|
|
353
|
+
- lib/swarm_sdk/agent/context_manager.rb
|
|
354
|
+
- lib/swarm_sdk/agent/definition.rb
|
|
355
|
+
- lib/swarm_sdk/claude_code_agent_adapter.rb
|
|
356
|
+
- lib/swarm_sdk/configuration.rb
|
|
357
|
+
- lib/swarm_sdk/context_compactor.rb
|
|
358
|
+
- lib/swarm_sdk/context_compactor/metrics.rb
|
|
359
|
+
- lib/swarm_sdk/context_compactor/token_counter.rb
|
|
360
|
+
- lib/swarm_sdk/hooks/adapter.rb
|
|
361
|
+
- lib/swarm_sdk/hooks/context.rb
|
|
362
|
+
- lib/swarm_sdk/hooks/definition.rb
|
|
363
|
+
- lib/swarm_sdk/hooks/error.rb
|
|
364
|
+
- lib/swarm_sdk/hooks/executor.rb
|
|
365
|
+
- lib/swarm_sdk/hooks/registry.rb
|
|
366
|
+
- lib/swarm_sdk/hooks/result.rb
|
|
367
|
+
- lib/swarm_sdk/hooks/shell_executor.rb
|
|
368
|
+
- lib/swarm_sdk/hooks/tool_call.rb
|
|
369
|
+
- lib/swarm_sdk/hooks/tool_result.rb
|
|
370
|
+
- lib/swarm_sdk/log_collector.rb
|
|
371
|
+
- lib/swarm_sdk/log_stream.rb
|
|
372
|
+
- lib/swarm_sdk/markdown_parser.rb
|
|
373
|
+
- lib/swarm_sdk/model_aliases.json
|
|
374
|
+
- lib/swarm_sdk/models.json
|
|
375
|
+
- lib/swarm_sdk/models.rb
|
|
376
|
+
- lib/swarm_sdk/node/agent_config.rb
|
|
377
|
+
- lib/swarm_sdk/node/builder.rb
|
|
378
|
+
- lib/swarm_sdk/node/transformer_executor.rb
|
|
379
|
+
- lib/swarm_sdk/node_context.rb
|
|
380
|
+
- lib/swarm_sdk/node_orchestrator.rb
|
|
381
|
+
- lib/swarm_sdk/permissions/config.rb
|
|
382
|
+
- lib/swarm_sdk/permissions/error_formatter.rb
|
|
383
|
+
- lib/swarm_sdk/permissions/path_matcher.rb
|
|
384
|
+
- lib/swarm_sdk/permissions/validator.rb
|
|
385
|
+
- lib/swarm_sdk/permissions_builder.rb
|
|
386
|
+
- lib/swarm_sdk/plugin.rb
|
|
387
|
+
- lib/swarm_sdk/plugin_registry.rb
|
|
388
|
+
- lib/swarm_sdk/prompts/base_system_prompt.md.erb
|
|
389
|
+
- lib/swarm_sdk/providers/openai_with_responses.rb
|
|
390
|
+
- lib/swarm_sdk/result.rb
|
|
391
|
+
- lib/swarm_sdk/swarm.rb
|
|
392
|
+
- lib/swarm_sdk/swarm/agent_initializer.rb
|
|
393
|
+
- lib/swarm_sdk/swarm/all_agents_builder.rb
|
|
394
|
+
- lib/swarm_sdk/swarm/builder.rb
|
|
395
|
+
- lib/swarm_sdk/swarm/mcp_configurator.rb
|
|
396
|
+
- lib/swarm_sdk/swarm/tool_configurator.rb
|
|
397
|
+
- lib/swarm_sdk/tools/bash.rb
|
|
398
|
+
- lib/swarm_sdk/tools/clock.rb
|
|
399
|
+
- lib/swarm_sdk/tools/delegate.rb
|
|
400
|
+
- lib/swarm_sdk/tools/document_converters/base_converter.rb
|
|
401
|
+
- lib/swarm_sdk/tools/document_converters/docx_converter.rb
|
|
402
|
+
- lib/swarm_sdk/tools/document_converters/html_converter.rb
|
|
403
|
+
- lib/swarm_sdk/tools/document_converters/pdf_converter.rb
|
|
404
|
+
- lib/swarm_sdk/tools/document_converters/xlsx_converter.rb
|
|
405
|
+
- lib/swarm_sdk/tools/edit.rb
|
|
406
|
+
- lib/swarm_sdk/tools/glob.rb
|
|
407
|
+
- lib/swarm_sdk/tools/grep.rb
|
|
408
|
+
- lib/swarm_sdk/tools/image_extractors/docx_image_extractor.rb
|
|
409
|
+
- lib/swarm_sdk/tools/image_extractors/pdf_image_extractor.rb
|
|
410
|
+
- lib/swarm_sdk/tools/image_formats/tiff_builder.rb
|
|
411
|
+
- lib/swarm_sdk/tools/multi_edit.rb
|
|
412
|
+
- lib/swarm_sdk/tools/path_resolver.rb
|
|
413
|
+
- lib/swarm_sdk/tools/read.rb
|
|
414
|
+
- lib/swarm_sdk/tools/registry.rb
|
|
415
|
+
- lib/swarm_sdk/tools/scratchpad/scratchpad_list.rb
|
|
416
|
+
- lib/swarm_sdk/tools/scratchpad/scratchpad_read.rb
|
|
417
|
+
- lib/swarm_sdk/tools/scratchpad/scratchpad_write.rb
|
|
418
|
+
- lib/swarm_sdk/tools/stores/read_tracker.rb
|
|
419
|
+
- lib/swarm_sdk/tools/stores/scratchpad_storage.rb
|
|
420
|
+
- lib/swarm_sdk/tools/stores/storage.rb
|
|
421
|
+
- lib/swarm_sdk/tools/stores/todo_manager.rb
|
|
422
|
+
- lib/swarm_sdk/tools/think.rb
|
|
423
|
+
- lib/swarm_sdk/tools/todo_write.rb
|
|
424
|
+
- lib/swarm_sdk/tools/web_fetch.rb
|
|
425
|
+
- lib/swarm_sdk/tools/write.rb
|
|
426
|
+
- lib/swarm_sdk/utils.rb
|
|
427
|
+
- lib/swarm_sdk/version.rb
|
|
428
|
+
- llm.v2.txt
|
|
191
429
|
- llms.txt
|
|
430
|
+
- rubocop/cop/security/no_reflection_methods.rb
|
|
431
|
+
- rubocop/cop/security/no_ruby_llm_logger.rb
|
|
192
432
|
- single.yml
|
|
433
|
+
- swarm_cli.gemspec
|
|
434
|
+
- swarm_memory.gemspec
|
|
435
|
+
- swarm_sdk.gemspec
|
|
193
436
|
- team.yml
|
|
194
|
-
-
|
|
437
|
+
- team_full.yml
|
|
438
|
+
- team_sdk.yml
|
|
195
439
|
homepage: https://github.com/parruda/claude-swarm
|
|
196
440
|
licenses:
|
|
197
441
|
- MIT
|
|
198
442
|
metadata:
|
|
199
|
-
homepage_uri: https://github.com/parruda/claude-swarm
|
|
200
443
|
source_code_uri: https://github.com/parruda/claude-swarm
|
|
201
444
|
changelog_uri: https://github.com/parruda/claude-swarm/blob/main/CHANGELOG.md
|
|
202
445
|
rdoc_options: []
|