enhance_swarm 1.0.0 → 2.0.0

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.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.enhance_swarm/archives/session_1751182876_06ee7e0e_20250629_094116.json +16 -0
  3. data/.enhance_swarm/archives/session_1751187567_9d1227c8_20250629_105927.json +16 -0
  4. data/.enhance_swarm/archives/session_1751190454_6faf48a2_20250629_114734.json +16 -0
  5. data/.enhance_swarm/archives/session_1751190516_3e4f9437_20250629_114836.json +16 -0
  6. data/.enhance_swarm/archives/session_1751192354_79568f0f_20250629_121914.json +16 -0
  7. data/.enhance_swarm/archives/session_1751195070_99653548_20250629_130433.json +16 -0
  8. data/.enhance_swarm/archives/session_1751196542_a292e40c_20250629_132902.json +7 -0
  9. data/.enhance_swarm/archives/session_1751196824_9b65d28e_20250629_133344.json +24 -0
  10. data/.enhance_swarm/archives/session_1751197867_d16edbc5_20250629_135109.json +24 -0
  11. data/.enhance_swarm/archives/session_1751208541_f9531ce5_20250629_164901.json +16 -0
  12. data/.enhance_swarm/logs/backend_error.log +0 -0
  13. data/.enhance_swarm/logs/backend_output.log +0 -0
  14. data/.enhance_swarm/logs/debug_manual_error.log +0 -0
  15. data/.enhance_swarm/logs/debug_manual_output.log +18 -0
  16. data/.enhance_swarm/logs/frontend_error.log +0 -0
  17. data/.enhance_swarm/logs/frontend_output.log +45 -0
  18. data/.enhance_swarm/logs/general_error.log +0 -0
  19. data/.enhance_swarm/logs/general_output.log +404 -0
  20. data/.enhance_swarm/user_patterns.json +5 -5
  21. data/DEPLOYMENT.md +344 -0
  22. data/README.md +183 -820
  23. data/debug_agent_spawner.rb +99 -0
  24. data/debug_cli_spawn.rb +95 -0
  25. data/debug_fixes.rb +209 -0
  26. data/debug_script_execution.rb +124 -0
  27. data/debug_session_issue.rb +87 -0
  28. data/debug_spawn.rb +113 -0
  29. data/debug_spawn_step_by_step.rb +190 -0
  30. data/debug_worktree.rb +77 -0
  31. data/enhance_swarm-0.1.1.gem +0 -0
  32. data/enhance_swarm-1.0.0.gem +0 -0
  33. data/final_validation_test.rb +199 -0
  34. data/lib/enhance_swarm/agent_spawner.rb +5 -1
  35. data/lib/enhance_swarm/cli.rb +42 -9
  36. data/lib/enhance_swarm/control_agent.rb +28 -27
  37. data/lib/enhance_swarm/smart_orchestration.rb +60 -0
  38. data/lib/enhance_swarm/task_coordinator.rb +1050 -0
  39. data/lib/enhance_swarm/version.rb +1 -1
  40. data/lib/enhance_swarm/visual_dashboard.rb +2 -1
  41. data/test_blog_app/.enhance_swarm/archives/session_1751187575_e119ea73_20250629_105935.json +16 -0
  42. data/test_blog_app/.enhance_swarm/archives/session_1751187637_7fda97dd_20250629_110037.json +32 -0
  43. data/test_blog_app/.enhance_swarm/archives/session_1751190527_4c99147e_20250629_114847.json +32 -0
  44. data/test_blog_app/.enhance_swarm/archives/session_1751190541_8dc83406_20250629_114901.json +16 -0
  45. data/test_blog_app/.ruby-version +1 -0
  46. data/test_blog_app/Gemfile +18 -0
  47. data/test_blog_app/Gemfile.lock +206 -0
  48. data/test_blog_app/README.md +24 -0
  49. data/test_blog_app/Rakefile +6 -0
  50. data/test_blog_app/app/assets/images/.keep +0 -0
  51. data/test_blog_app/app/assets/stylesheets/application.css +10 -0
  52. data/test_blog_app/app/controllers/application_controller.rb +4 -0
  53. data/test_blog_app/app/controllers/concerns/.keep +0 -0
  54. data/test_blog_app/app/helpers/application_helper.rb +2 -0
  55. data/test_blog_app/app/models/application_record.rb +3 -0
  56. data/test_blog_app/app/models/concerns/.keep +0 -0
  57. data/test_blog_app/app/views/layouts/application.html.erb +27 -0
  58. data/test_blog_app/app/views/pwa/manifest.json.erb +22 -0
  59. data/test_blog_app/app/views/pwa/service-worker.js +26 -0
  60. data/test_blog_app/bin/dev +2 -0
  61. data/test_blog_app/bin/rails +4 -0
  62. data/test_blog_app/bin/rake +4 -0
  63. data/test_blog_app/bin/setup +34 -0
  64. data/test_blog_app/config/application.rb +42 -0
  65. data/test_blog_app/config/boot.rb +3 -0
  66. data/test_blog_app/config/credentials.yml.enc +1 -0
  67. data/test_blog_app/config/database.yml +32 -0
  68. data/test_blog_app/config/environment.rb +5 -0
  69. data/test_blog_app/config/environments/development.rb +51 -0
  70. data/test_blog_app/config/environments/production.rb +67 -0
  71. data/test_blog_app/config/environments/test.rb +42 -0
  72. data/test_blog_app/config/initializers/assets.rb +7 -0
  73. data/test_blog_app/config/initializers/content_security_policy.rb +25 -0
  74. data/test_blog_app/config/initializers/filter_parameter_logging.rb +8 -0
  75. data/test_blog_app/config/initializers/inflections.rb +16 -0
  76. data/test_blog_app/config/locales/en.yml +31 -0
  77. data/test_blog_app/config/master.key +1 -0
  78. data/test_blog_app/config/puma.rb +38 -0
  79. data/test_blog_app/config/routes.rb +14 -0
  80. data/test_blog_app/config.ru +6 -0
  81. data/test_blog_app/db/seeds.rb +9 -0
  82. data/test_blog_app/lib/tasks/.keep +0 -0
  83. data/test_blog_app/log/.keep +0 -0
  84. data/test_blog_app/public/400.html +114 -0
  85. data/test_blog_app/public/404.html +114 -0
  86. data/test_blog_app/public/406-unsupported-browser.html +114 -0
  87. data/test_blog_app/public/422.html +114 -0
  88. data/test_blog_app/public/500.html +114 -0
  89. data/test_blog_app/public/icon.png +0 -0
  90. data/test_blog_app/public/icon.svg +3 -0
  91. data/test_blog_app/public/robots.txt +1 -0
  92. data/test_blog_app/script/.keep +0 -0
  93. data/test_blog_app/storage/.keep +0 -0
  94. data/test_blog_app/test/controllers/.keep +0 -0
  95. data/test_blog_app/test/fixtures/files/.keep +0 -0
  96. data/test_blog_app/test/helpers/.keep +0 -0
  97. data/test_blog_app/test/integration/.keep +0 -0
  98. data/test_blog_app/test/models/.keep +0 -0
  99. data/test_blog_app/test/test_helper.rb +15 -0
  100. data/test_blog_app/test_enhance_swarm_e2e.rb +244 -0
  101. data/test_blog_app/test_realistic_workflow.rb +292 -0
  102. data/test_blog_app/tmp/.keep +0 -0
  103. data/test_blog_app/tmp/pids/.keep +0 -0
  104. data/test_blog_app/tmp/storage/.keep +0 -0
  105. data/test_blog_app/vendor/.keep +0 -0
  106. data/test_complete_system.rb +267 -0
  107. metadata +99 -1
@@ -18,18 +18,18 @@
18
18
  }
19
19
  },
20
20
  "enhance": {
21
- "count": 2,
22
- "last_used": "2025-06-29T09:25:19+02:00",
21
+ "count": 3,
22
+ "last_used": "2025-06-29T17:13:21+02:00",
23
23
  "success_rate": 1.0,
24
24
  "preferences": {
25
25
  "control_agent": {
26
- "true": 2
26
+ "true": 3
27
27
  },
28
28
  "follow": {
29
- "false": 2
29
+ "false": 3
30
30
  },
31
31
  "notifications": {
32
- "true": 2
32
+ "true": 3
33
33
  }
34
34
  }
35
35
  }
data/DEPLOYMENT.md ADDED
@@ -0,0 +1,344 @@
1
+ # EnhanceSwarm v1.0 Deployment Guide
2
+
3
+ ## 🚀 Production Deployment
4
+
5
+ ### Prerequisites
6
+
7
+ 1. **Claude CLI**: Install from [Claude Code](https://claude.ai/code)
8
+ ```bash
9
+ # Verify installation
10
+ claude --version
11
+ # Should show: 1.0.x (Claude Code)
12
+ ```
13
+
14
+ 2. **Ruby Environment**: Ruby 3.0+ required
15
+ ```bash
16
+ ruby --version
17
+ # Should show: ruby 3.x.x
18
+ ```
19
+
20
+ 3. **Git**: For project management and agent worktrees
21
+ ```bash
22
+ git --version
23
+ # Should show: git version 2.x.x
24
+ ```
25
+
26
+ ### Installation Methods
27
+
28
+ #### Option 1: Project-Specific Installation (Recommended)
29
+
30
+ ```bash
31
+ # Add to existing project
32
+ echo 'gem "enhance_swarm", git: "https://github.com/todddickerson/enhance_swarm.git", tag: "v1.0.0"' >> Gemfile
33
+ bundle install
34
+
35
+ # Initialize in project
36
+ bundle exec enhance-swarm init
37
+
38
+ # Verify installation
39
+ bundle exec enhance-swarm doctor
40
+ ```
41
+
42
+ #### Option 2: Global Installation
43
+
44
+ ```bash
45
+ # Clone and install globally
46
+ git clone https://github.com/todddickerson/enhance_swarm.git
47
+ cd enhance_swarm
48
+ git checkout v1.0.0
49
+ bundle install && rake install
50
+
51
+ # Verify global installation
52
+ enhance-swarm --version
53
+ enhance-swarm doctor
54
+ ```
55
+
56
+ #### Option 3: Gem Installation (when published)
57
+
58
+ ```bash
59
+ # Install from RubyGems (future release)
60
+ gem install enhance_swarm
61
+
62
+ # Verify installation
63
+ enhance-swarm --version
64
+ enhance-swarm doctor
65
+ ```
66
+
67
+ ### Initial Configuration
68
+
69
+ 1. **Project Initialization**
70
+ ```bash
71
+ cd your-project
72
+ enhance-swarm init
73
+ ```
74
+
75
+ 2. **Verify Configuration**
76
+ ```bash
77
+ # Check generated configuration
78
+ cat .enhance_swarm.yml
79
+
80
+ # Validate configuration
81
+ enhance-swarm config
82
+ ```
83
+
84
+ 3. **Test Integration**
85
+ ```bash
86
+ # Comprehensive system check
87
+ enhance-swarm doctor --detailed
88
+
89
+ # Test Claude CLI integration
90
+ enhance-swarm spawn "echo 'Hello from EnhanceSwarm v1.0'" --role general
91
+ ```
92
+
93
+ ### Framework-Specific Setup
94
+
95
+ #### Rails Projects
96
+
97
+ ```yaml
98
+ # .enhance_swarm.yml for Rails
99
+ project:
100
+ name: "MyRailsApp"
101
+ technology_stack: ["Rails 8", "PostgreSQL", "Hotwire", "Tailwind"]
102
+
103
+ commands:
104
+ test: "bundle exec rspec"
105
+ lint: "bundle exec rubocop"
106
+ build: "bundle exec rake assets:precompile"
107
+
108
+ orchestration:
109
+ max_concurrent_agents: 3
110
+ preferred_agents: ["backend", "frontend", "qa"]
111
+ ```
112
+
113
+ #### React/Node Projects
114
+
115
+ ```yaml
116
+ # .enhance_swarm.yml for React
117
+ project:
118
+ name: "MyReactApp"
119
+ technology_stack: ["React 18", "TypeScript", "Vite", "TailwindCSS"]
120
+
121
+ commands:
122
+ test: "npm test"
123
+ lint: "npm run lint"
124
+ build: "npm run build"
125
+ type_check: "npx tsc --noEmit"
126
+
127
+ orchestration:
128
+ max_concurrent_agents: 4
129
+ preferred_agents: ["frontend", "ux", "qa"]
130
+ ```
131
+
132
+ #### Python/Django Projects
133
+
134
+ ```yaml
135
+ # .enhance_swarm.yml for Django
136
+ project:
137
+ name: "MyDjangoApp"
138
+ technology_stack: ["Django 5", "PostgreSQL", "React", "pytest"]
139
+
140
+ commands:
141
+ test: "pytest"
142
+ lint: "ruff check ."
143
+ format: "black ."
144
+ type_check: "mypy ."
145
+
146
+ orchestration:
147
+ max_concurrent_agents: 3
148
+ preferred_agents: ["backend", "frontend", "qa"]
149
+ ```
150
+
151
+ ### Production Usage
152
+
153
+ #### Starting the Web Dashboard
154
+
155
+ ```bash
156
+ # Start web interface for monitoring and control
157
+ enhance-swarm ui
158
+
159
+ # Custom port and host
160
+ enhance-swarm ui --port 8080 --host 0.0.0.0
161
+ ```
162
+
163
+ #### Multi-Agent Workflows
164
+
165
+ ```bash
166
+ # Full feature development with coordination
167
+ enhance-swarm enhance "implement user authentication system"
168
+
169
+ # Single specialized agent
170
+ enhance-swarm spawn "optimize database queries" --role backend
171
+
172
+ # Web-based task management
173
+ enhance-swarm ui # Use kanban board for task creation
174
+ ```
175
+
176
+ #### Monitoring and Management
177
+
178
+ ```bash
179
+ # Check system status
180
+ enhance-swarm status
181
+
182
+ # Monitor running agents
183
+ enhance-swarm status --json | jq '.agents'
184
+
185
+ # Clean up stale resources
186
+ enhance-swarm cleanup --all
187
+ ```
188
+
189
+ ### Environment Configuration
190
+
191
+ #### Environment Variables
192
+
193
+ ```bash
194
+ # Logging
195
+ export ENHANCE_SWARM_LOG_LEVEL=info
196
+ export ENHANCE_SWARM_JSON_LOGS=false
197
+
198
+ # Performance
199
+ export ENHANCE_SWARM_MAX_AGENTS=4
200
+ export ENHANCE_SWARM_TIMEOUT=300
201
+
202
+ # Debugging
203
+ export ENHANCE_SWARM_DEBUG=false
204
+ export ENHANCE_SWARM_VERBOSE=false
205
+ ```
206
+
207
+ #### System Limits
208
+
209
+ ```bash
210
+ # Recommended system resources
211
+ # RAM: 4GB+ (8GB+ for large projects)
212
+ # CPU: 2+ cores
213
+ # Disk: 1GB+ free space for worktrees
214
+ ```
215
+
216
+ ### Security Considerations
217
+
218
+ #### File Permissions
219
+
220
+ ```bash
221
+ # Ensure proper permissions for generated files
222
+ chmod 644 .enhance_swarm.yml
223
+ chmod -R 644 .claude/
224
+
225
+ # Git hooks should be executable
226
+ chmod +x .git/hooks/*
227
+ ```
228
+
229
+ #### Input Validation
230
+
231
+ - All configuration values are automatically sanitized
232
+ - Shell commands use secure `Open3.capture3` execution
233
+ - Command injection protection is enabled by default
234
+ - Path traversal attacks are prevented
235
+
236
+ ### Troubleshooting
237
+
238
+ #### Common Issues
239
+
240
+ 1. **Claude CLI Not Found**
241
+ ```bash
242
+ # Install Claude CLI from https://claude.ai/code
243
+ # Verify with: claude --version
244
+ ```
245
+
246
+ 2. **Permission Errors**
247
+ ```bash
248
+ # Fix git hooks permissions
249
+ chmod +x .git/hooks/pre-commit
250
+
251
+ # Fix worktree permissions
252
+ chmod -R 755 .enhance_swarm/worktrees/
253
+ ```
254
+
255
+ 3. **Agent Spawning Failures**
256
+ ```bash
257
+ # Check Claude CLI integration
258
+ enhance-swarm doctor --detailed
259
+
260
+ # Enable debug logging
261
+ ENHANCE_SWARM_LOG_LEVEL=debug enhance-swarm spawn "test task"
262
+ ```
263
+
264
+ #### Diagnostic Commands
265
+
266
+ ```bash
267
+ # Comprehensive system validation
268
+ enhance-swarm doctor --detailed --json
269
+
270
+ # Test real Claude CLI integration
271
+ enhance-swarm spawn "echo 'Test successful'" --role general
272
+
273
+ # Validate project analysis
274
+ enhance-swarm config --analyze
275
+ ```
276
+
277
+ ### Performance Optimization
278
+
279
+ #### Agent Configuration
280
+
281
+ ```yaml
282
+ # Optimize for your system
283
+ orchestration:
284
+ max_concurrent_agents: 2 # Start conservative
285
+ monitor_interval: 30 # Seconds between status checks
286
+ agent_timeout: 300 # Maximum agent execution time
287
+ ```
288
+
289
+ #### Resource Management
290
+
291
+ ```bash
292
+ # Regular cleanup to prevent resource leaks
293
+ enhance-swarm cleanup --all
294
+
295
+ # Monitor system resources
296
+ enhance-swarm status --resources
297
+ ```
298
+
299
+ ### Upgrading
300
+
301
+ #### From v0.x to v1.0
302
+
303
+ 1. **Backup Configuration**
304
+ ```bash
305
+ cp .enhance_swarm.yml .enhance_swarm.yml.backup
306
+ ```
307
+
308
+ 2. **Update Gem**
309
+ ```bash
310
+ # In Gemfile
311
+ gem "enhance_swarm", git: "https://github.com/todddickerson/enhance_swarm.git", tag: "v1.0.0"
312
+ bundle install
313
+ ```
314
+
315
+ 3. **Reinitialize Configuration**
316
+ ```bash
317
+ enhance-swarm init --force
318
+ ```
319
+
320
+ 4. **Validate Upgrade**
321
+ ```bash
322
+ enhance-swarm doctor
323
+ enhance-swarm --version # Should show 1.0.0
324
+ ```
325
+
326
+ ### Support and Documentation
327
+
328
+ - **README**: Comprehensive feature documentation
329
+ - **CHANGELOG**: Detailed release notes and migration guide
330
+ - **Issues**: [GitHub Issues](https://github.com/todddickerson/enhance_swarm/issues)
331
+ - **Discussions**: [GitHub Discussions](https://github.com/todddickerson/enhance_swarm/discussions)
332
+
333
+ ### Validation Checklist
334
+
335
+ - [ ] Claude CLI installed and working (`claude --version`)
336
+ - [ ] Ruby 3.0+ available (`ruby --version`)
337
+ - [ ] Git configured and working (`git --version`)
338
+ - [ ] Project initialized (`enhance-swarm init`)
339
+ - [ ] Configuration validated (`enhance-swarm config`)
340
+ - [ ] System check passed (`enhance-swarm doctor`)
341
+ - [ ] Test agent spawned successfully
342
+ - [ ] Web dashboard accessible (`enhance-swarm ui`)
343
+
344
+ EnhanceSwarm v1.0 is production-ready and validated across multiple project types and environments. Follow this guide for reliable deployment and optimal performance.