enhance_swarm 2.1.0 → 2.1.1
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/PRODUCTION_INSTALL_TEST.md +117 -0
- data/README.md +1 -0
- data/lib/enhance_swarm/agent_spawner.rb +15 -2
- data/lib/enhance_swarm/cli.rb +11 -10
- data/lib/enhance_swarm/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: efab3e0b7d7a5857a84e8006ba7612488b61256be452dec37db8a4eba7f28477
|
4
|
+
data.tar.gz: 85c815c417227d52c83a066339be608b3b4d0eefd209450fd437afb43fe07f17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e7ef2f29f7cce7692ef55f96a739a002aa7b719811a1fe64fbd8657530c5c622a4ce5fa0ef45267a823743a5eee4a24dd25a62f84a07eefb94e934df4df5502
|
7
|
+
data.tar.gz: ad70ada684db28963f44c030bffb4451a19873b303adb09f07d7c6e9968ebf130718c823e6ef8a93cf13a07ae1cc5b351784f270b24ebeef9e7fb58251e2144b
|
@@ -0,0 +1,117 @@
|
|
1
|
+
# 🚀 Production Installation & Test Guide - v2.1.0
|
2
|
+
|
3
|
+
## ✅ Quick Test with Published Gem
|
4
|
+
|
5
|
+
### 1. Install Latest Version
|
6
|
+
```bash
|
7
|
+
# Install the latest version with all critical fixes
|
8
|
+
gem install enhance_swarm
|
9
|
+
|
10
|
+
# Verify version 2.1.0+
|
11
|
+
enhance-swarm --version
|
12
|
+
```
|
13
|
+
|
14
|
+
### 2. Create Test Project
|
15
|
+
```bash
|
16
|
+
# Create fresh Rails app
|
17
|
+
rails new enhance_test_production && cd enhance_test_production
|
18
|
+
|
19
|
+
# Initialize git (required)
|
20
|
+
git init && git add -A && git commit -m "Initial Rails app"
|
21
|
+
```
|
22
|
+
|
23
|
+
### 3. Run Production Test
|
24
|
+
```bash
|
25
|
+
# Test detached orchestration (recommended)
|
26
|
+
enhance-swarm orchestrate "Create a Contact management system with name, email, phone, company fields and full CRUD operations" --detached
|
27
|
+
|
28
|
+
# Monitor progress
|
29
|
+
enhance-swarm status
|
30
|
+
|
31
|
+
# Watch logs
|
32
|
+
tail -f .enhance_swarm/logs/orchestration.log
|
33
|
+
```
|
34
|
+
|
35
|
+
### 4. Verify Results (2-3 minutes)
|
36
|
+
```bash
|
37
|
+
# Check completion
|
38
|
+
cat .enhance_swarm/logs/orchestration_status.txt
|
39
|
+
# Should show: COMPLETED
|
40
|
+
|
41
|
+
# Verify files created
|
42
|
+
find . -name "*contact*" -type f | head -10
|
43
|
+
|
44
|
+
# Check git commit
|
45
|
+
git log --oneline -5 | grep "EnhanceSwarm"
|
46
|
+
```
|
47
|
+
|
48
|
+
## 🚅 Bullet Train Test
|
49
|
+
|
50
|
+
### 1. Setup Bullet Train Project
|
51
|
+
```bash
|
52
|
+
# Clone Bullet Train starter
|
53
|
+
git clone https://github.com/bullet-train-co/bullet_train.git bt_production_test
|
54
|
+
cd bt_production_test
|
55
|
+
|
56
|
+
# Setup (follow BT docs)
|
57
|
+
bundle install && yarn install
|
58
|
+
rails db:create db:migrate db:seed
|
59
|
+
git add -A && git commit -m "Initial BT setup"
|
60
|
+
```
|
61
|
+
|
62
|
+
### 2. Test with Bullet Train Conventions
|
63
|
+
```bash
|
64
|
+
# Run orchestration with BT-specific task
|
65
|
+
enhance-swarm orchestrate "Create a Project management system using Bullet Train Super Scaffolding with title, description, status, due_date fields" --detached
|
66
|
+
|
67
|
+
# Monitor until completion
|
68
|
+
enhance-swarm status && tail -f .enhance_swarm/logs/orchestration.log
|
69
|
+
```
|
70
|
+
|
71
|
+
### 3. Verify Bullet Train Results
|
72
|
+
```bash
|
73
|
+
# Should create files with:
|
74
|
+
# ✅ Proper BT includes (include Projects::Base)
|
75
|
+
# ✅ Magic comments (🚅 add associations above)
|
76
|
+
# ✅ Tailwind CSS styling (NOT Bootstrap)
|
77
|
+
# ✅ Team-scoped architecture
|
78
|
+
# ✅ Super Scaffolding patterns
|
79
|
+
|
80
|
+
grep -r "include.*Base" app/models/
|
81
|
+
grep -r "🚅" app/models/
|
82
|
+
grep -r "bg-white\|text-gray" app/views/
|
83
|
+
```
|
84
|
+
|
85
|
+
## 🎯 Expected Results
|
86
|
+
|
87
|
+
### ✅ Success Indicators
|
88
|
+
- **Status**: `COMPLETED` in 2-3 minutes
|
89
|
+
- **Files**: 10-15 files created including models, controllers, views, migrations
|
90
|
+
- **Quality**: Professional validations, responsive UI, comprehensive tests
|
91
|
+
- **Git**: Automatic commit with descriptive message
|
92
|
+
- **Styling**: Tailwind CSS for BT, Bootstrap/Tailwind for Rails
|
93
|
+
|
94
|
+
### ⚠️ Troubleshooting
|
95
|
+
```bash
|
96
|
+
# If orchestration hangs
|
97
|
+
enhance-swarm status
|
98
|
+
|
99
|
+
# Check for errors
|
100
|
+
cat .enhance_swarm/logs/orchestration.log | grep ERROR
|
101
|
+
|
102
|
+
# Verify Claude CLI
|
103
|
+
claude --version
|
104
|
+
```
|
105
|
+
|
106
|
+
---
|
107
|
+
|
108
|
+
## 📋 What's New in v2.1.0
|
109
|
+
|
110
|
+
✅ **Detached Mode**: Non-blocking orchestration with `--detached`
|
111
|
+
✅ **Status Monitoring**: Real-time progress with `enhance-swarm status`
|
112
|
+
✅ **Worktree Merging**: Agents properly merge changes to main project
|
113
|
+
✅ **Tailwind Default**: Bullet Train projects use Tailwind CSS automatically
|
114
|
+
✅ **Enhanced Prompting**: Mandatory Super Scaffolding for BT projects
|
115
|
+
✅ **Timeout Controls**: 120-second timeouts with proper error handling
|
116
|
+
|
117
|
+
**🚀 Ready for production with `gem install enhance_swarm`!**
|
data/README.md
CHANGED
@@ -350,15 +350,28 @@ module EnhanceSwarm
|
|
350
350
|
```
|
351
351
|
|
352
352
|
**🚨 MANDATORY EXECUTION SEQUENCE - NO EXCEPTIONS:**
|
353
|
-
1. FIRST:
|
353
|
+
1. FIRST: Use Super Scaffolding with non-interactive mode:
|
354
|
+
```bash
|
355
|
+
# For Contact model:
|
356
|
+
printf "y\\ncontacts\\nti-address-book\\n" | bundle exec rails generate super_scaffold Contact Team name:text_field email:email_field phone:phone_field company:text_field
|
357
|
+
|
358
|
+
# For Project model:
|
359
|
+
printf "y\\nprojects\\nti-view-grid\\n" | bundle exec rails generate super_scaffold Project Team title:text_field description:trix_editor status:buttons due_date:date_field
|
360
|
+
|
361
|
+
# Template for any model:
|
362
|
+
printf "y\\n[plural_slug]\\n[icon_name]\\n" | bundle exec rails generate super_scaffold [ModelName] Team [field:type ...]
|
363
|
+
```
|
364
|
+
- Auto-answers: navbar=yes, slug=[plural_slug], icon=[icon_name]
|
365
|
+
- Common icons: ti-address-book, ti-view-grid, ti-users, ti-folder, ti-calendar
|
354
366
|
2. THEN: bundle exec rails db:migrate
|
355
367
|
3. THEN: bundle exec rails test (to verify everything works)
|
356
|
-
4. ONLY IF NEEDED: bin/resolve
|
368
|
+
4. ONLY IF NEEDED: bin/resolve Projects::Base --eject --open (for customization)
|
357
369
|
5. Configure config/models/roles.yml with proper permissions
|
358
370
|
|
359
371
|
**🚨 CRITICAL: You MUST actually run these commands using the Bash tool - not just describe them!**
|
360
372
|
**🚨 DO NOT create manual Rails models/controllers - ONLY use Super Scaffolding!**
|
361
373
|
**🚨 NEVER skip step 1 - Super Scaffolding is MANDATORY for Bullet Train projects!**
|
374
|
+
**🚨 ALWAYS use printf with proper answers for interactive prompts!**
|
362
375
|
|
363
376
|
**API Routes (add to config/routes/api/v1.rb):**
|
364
377
|
```ruby
|
data/lib/enhance_swarm/cli.rb
CHANGED
@@ -652,30 +652,31 @@ module EnhanceSwarm
|
|
652
652
|
require '#{File.expand_path('../../enhance_swarm', __FILE__)}'
|
653
653
|
|
654
654
|
task_desc = ENV['ENHANCE_SWARM_TASK']
|
655
|
+
working_dir = '#{Dir.pwd}'
|
655
656
|
|
656
657
|
begin
|
657
|
-
Dir.chdir(
|
658
|
+
Dir.chdir(working_dir)
|
658
659
|
|
659
|
-
File.write(
|
660
|
-
File.write(
|
661
|
-
"\#{Time.now}: Coordinator starting\\n", mode: 'a')
|
660
|
+
File.write("\#{working_dir}/.enhance_swarm/logs/orchestration_status.txt", 'RUNNING')
|
661
|
+
File.write("\#{working_dir}/.enhance_swarm/logs/orchestration.log",
|
662
|
+
"\#{Time.now}: Coordinator starting in \#{working_dir}\\n", mode: 'a')
|
662
663
|
|
663
664
|
coordinator = EnhanceSwarm::TaskCoordinator.new
|
664
665
|
coordinator.coordinate_task(task_desc)
|
665
666
|
|
666
|
-
File.write(
|
667
|
-
File.write(
|
667
|
+
File.write("\#{working_dir}/.enhance_swarm/logs/orchestration_status.txt", 'COMPLETED')
|
668
|
+
File.write("\#{working_dir}/.enhance_swarm/logs/orchestration.log",
|
668
669
|
"\#{Time.now}: Orchestration completed successfully\\n", mode: 'a')
|
669
670
|
|
670
671
|
rescue => e
|
671
|
-
File.write(
|
672
|
-
File.write(
|
672
|
+
File.write("\#{working_dir}/.enhance_swarm/logs/orchestration_status.txt", "FAILED: \#{e.message}")
|
673
|
+
File.write("\#{working_dir}/.enhance_swarm/logs/orchestration.log",
|
673
674
|
"\#{Time.now}: ERROR: \#{e.message}\\n\#{e.backtrace.first(3).join('\\n')}\\n", mode: 'a')
|
674
675
|
end
|
675
676
|
RUBY
|
676
677
|
chdir: Dir.pwd,
|
677
|
-
out: '.enhance_swarm/logs/orchestration.log',
|
678
|
-
err: '.enhance_swarm/logs/orchestration.log'
|
678
|
+
out: File.join(Dir.pwd, '.enhance_swarm/logs/orchestration.log'),
|
679
|
+
err: File.join(Dir.pwd, '.enhance_swarm/logs/orchestration.log')
|
679
680
|
)
|
680
681
|
|
681
682
|
# Store PID and detach
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enhance_swarm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Todd Dickerson
|
@@ -231,6 +231,7 @@ files:
|
|
231
231
|
- CHANGELOG.md
|
232
232
|
- DEPLOYMENT.md
|
233
233
|
- LICENSE
|
234
|
+
- PRODUCTION_INSTALL_TEST.md
|
234
235
|
- README.md
|
235
236
|
- Rakefile
|
236
237
|
- USAGE_EXAMPLES.md
|