mlgym-deploy 3.3.42 → 3.3.44

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 (35) hide show
  1. package/ADD_TO_CURSOR_SETTINGS.json +1 -1
  2. package/ADD_TO_CURSOR_SETTINGS.json.example +28 -0
  3. package/CHANGELOG-v3.3.42.md +707 -0
  4. package/Dockerfile +7 -0
  5. package/README.md +35 -0
  6. package/claude-desktop-config.json +1 -1
  7. package/claude-desktop-config.json.example +8 -0
  8. package/cursor-config.json +1 -1
  9. package/cursor-config.json.example +13 -0
  10. package/docs/CURSOR_SETUP.md +204 -0
  11. package/docs/NPM_RELEASE.md +230 -0
  12. package/index.js +9 -4
  13. package/mcp.json.example +13 -0
  14. package/package.json +8 -4
  15. package/tests/TEST_RESULTS.md +518 -0
  16. package/tests/archived/README.md +71 -0
  17. package/{deploy-hello-world.sh → tests/archived/deploy-hello-world.sh} +9 -6
  18. package/tests/deploy_dollie_test.sh +11 -7
  19. package/tests/misc/check-sdk-version.js +50 -0
  20. package/tests/mlgym_auth_login_test.sh +13 -9
  21. package/tests/mlgym_deploy_logs_test.sh +339 -0
  22. package/tests/mlgym_deploy_test.sh +341 -0
  23. package/tests/mlgym_status_test.sh +281 -0
  24. package/tests/mlgym_user_create_test.sh +35 -29
  25. package/tests/run-all-tests.sh +135 -41
  26. package/CURSOR_SETUP.md +0 -119
  27. package/index.js.backup-atomic +0 -1358
  28. /package/{DEBUG.md → docs/DEBUG.md} +0 -0
  29. /package/{SECURITY-UPDATE-v2.4.0.md → tests/archived/SECURITY-UPDATE-v2.4.0.md} +0 -0
  30. /package/{cursor-integration.js → tests/archived/cursor-integration.js} +0 -0
  31. /package/tests/{mlgym_auth_logout_test.sh → archived/mlgym_auth_logout_test.sh} +0 -0
  32. /package/tests/{mlgym_deployments_test.sh → archived/mlgym_deployments_test.sh} +0 -0
  33. /package/tests/{mlgym_project_init_test.sh → archived/mlgym_project_init_test.sh} +0 -0
  34. /package/tests/{mlgym_projects_get_test.sh → archived/mlgym_projects_get_test.sh} +0 -0
  35. /package/tests/{mlgym_projects_list_test.sh → archived/mlgym_projects_list_test.sh} +0 -0
@@ -0,0 +1,707 @@
1
+ # MCP v3.3.42 - Complete Application Lifecycle Management
2
+
3
+ ## Release Date
4
+ 2026-01-20
5
+
6
+ ## Overview
7
+
8
+ Evolution from basic deployment (v3.0.0) to comprehensive application lifecycle management. Expanded from 2 core tools to 14 tools covering deployment, configuration, monitoring, rollback, and development environments.
9
+
10
+ ---
11
+
12
+ ## What's New Since v3.0.0
13
+
14
+ ### 📦 Tools Expansion: 2 → 14 Tools
15
+
16
+ #### Core Deployment Tools (v3.0.0 - Retained)
17
+ 1. **`mlgym_deploy`** - Complete deployment workflow
18
+ 2. **`mlgym_status`** - Authentication and project status
19
+
20
+ #### Configuration & Management Tools (NEW in v3.3.x)
21
+ 3. **`mlgym_set_env_vars`** - Environment variable management (DATABASE_URL, API keys, etc.)
22
+ 4. **`mlgym_set_health_check`** - Health check configuration (endpoint, interval, timeout)
23
+ 5. **`mlgym_set_domain`** - Custom domain/FQDN assignment
24
+ 6. **`mlgym_set_deployment_commands`** - Pre/post-deployment command hooks
25
+ 7. **`mlgym_set_options`** - Application options (build cache control)
26
+
27
+ #### Deployment Operations Tools (NEW in v3.3.x)
28
+ 8. **`mlgym_deploy_logs`** - View deployment history and build logs (1-10 deployments)
29
+ 9. **`mlgym_deploy_manual`** - Manually trigger rebuild and deployment
30
+ 10. **`mlgym_rollback`** - Rollback to previous or specific deployment
31
+
32
+ #### Development Tools (NEW in v3.3.x)
33
+ 11. **`deploy_dollie`** - Next.js development container with SSH access
34
+ - Pre-built Dollie base image
35
+ - Git repository cloning (public/private)
36
+ - SSH credentials for interactive development
37
+ - Automatic dev server startup
38
+
39
+ #### User Management Tools (v3.0.0 - Re-enabled Legacy)
40
+ 12. **`mlgym_user_create`** - User account creation with SSH key setup
41
+ 13. **`mlgym_auth_login`** - Login with existing credentials
42
+
43
+ #### Documentation
44
+ 14. **`mlgym_help`** - Interactive help system with usage examples
45
+
46
+ ---
47
+
48
+ ## New Features
49
+
50
+ ### 🌍 Language Support Expansion
51
+
52
+ **v3.0.0 Supported:**
53
+ - Node.js (Next.js, Express, React, Vue)
54
+ - Python (Flask, FastAPI)
55
+ - Static/HTML
56
+ - Go
57
+
58
+ **v3.3.42 Now Supports:**
59
+ - ✅ Node.js (Next.js, Express, React, Vue, Nuxt, Svelte)
60
+ - ✅ Python (Flask, FastAPI, Django)
61
+ - ✅ Static/HTML
62
+ - ✅ Go
63
+ - ✅ **Scala** (sbt-assembly support) - v3.3.22-23
64
+ - ✅ **Rust** - v3.3.35
65
+ - ✅ **Ruby** - v3.3.19
66
+ - ✅ **PHP** - v3.3.28
67
+ - ✅ **Perl** - v3.3.20
68
+ - ✅ **Elixir** - v3.3.21
69
+
70
+ **Total: 10+ languages with automatic project type detection**
71
+
72
+ ---
73
+
74
+ ### 🔧 Configuration Management
75
+
76
+ #### Environment Variables (v3.3.x)
77
+ ```javascript
78
+ mlgym_set_env_vars({
79
+ project_name: "my-app",
80
+ env_vars: {
81
+ DATABASE_URL: "postgresql://...",
82
+ API_KEY: "secret123",
83
+ NODE_ENV: "production"
84
+ }
85
+ })
86
+ ```
87
+
88
+ #### Health Checks (v3.3.x)
89
+ ```javascript
90
+ mlgym_set_health_check({
91
+ project_name: "my-app",
92
+ enabled: true,
93
+ path: "/health",
94
+ port: 3000,
95
+ method: "GET",
96
+ expected_status_codes: [200],
97
+ interval: 30,
98
+ timeout: 5,
99
+ retries: 3
100
+ })
101
+ ```
102
+
103
+ #### Custom Domains (v3.3.x)
104
+ ```javascript
105
+ mlgym_set_domain({
106
+ project_name: "my-app",
107
+ domain: "myapp.example.com" // or just "myapp" for *.ezb.net
108
+ })
109
+ ```
110
+
111
+ #### Deployment Commands (v3.3.x)
112
+ ```javascript
113
+ mlgym_set_deployment_commands({
114
+ project_name: "my-app",
115
+ pre_deployment: "npm run migrate",
116
+ post_deployment: "npm run seed",
117
+ container: "my-app" // for docker-compose
118
+ })
119
+ ```
120
+
121
+ #### Build Options (v3.3.x)
122
+ ```javascript
123
+ mlgym_set_options({
124
+ project_name: "my-app",
125
+ disable_build_cache: true // Force clean builds
126
+ })
127
+ ```
128
+
129
+ ---
130
+
131
+ ### 📊 Deployment Monitoring & Management
132
+
133
+ #### Deployment Logs (v3.3.x)
134
+ ```javascript
135
+ mlgym_deploy_logs({
136
+ project_name: "my-app", // Optional: auto-detected from git remote
137
+ depth: 5 // View last 5 deployments (1-10)
138
+ })
139
+ ```
140
+
141
+ **Returns:**
142
+ - Deployment IDs and UUIDs
143
+ - Status (running, finished, failed)
144
+ - Timestamps (started_at, finished_at)
145
+ - Build logs per deployment
146
+
147
+ #### Manual Deployment (v3.3.x)
148
+ ```javascript
149
+ mlgym_deploy_manual({
150
+ project_name: "my-app"
151
+ })
152
+ ```
153
+
154
+ Forces rebuild and deployment of current code from GitLab repository.
155
+
156
+ #### Rollback (v3.3.x)
157
+ ```javascript
158
+ // Rollback to previous deployment
159
+ mlgym_rollback({
160
+ project_name: "my-app"
161
+ })
162
+
163
+ // Rollback to specific deployment
164
+ mlgym_rollback({
165
+ project_name: "my-app",
166
+ deployment_id: 12345
167
+ })
168
+ ```
169
+
170
+ ---
171
+
172
+ ### 🔐 Authentication Enhancements
173
+
174
+ #### SSH Key Management
175
+
176
+ **v3.0.0:**
177
+ - Basic SSH key generation
178
+ - GitLab registration
179
+
180
+ **v3.3.42 Improvements:**
181
+ - **Per-user SSH keys** (v3.3.29)
182
+ - Stored as `~/.ssh/mlgym_[email]`
183
+ - Automatic SSH config updates
184
+ - Per-user key switching when using MLGYM_TOKEN
185
+ - **GitLab user ID-based key creation** (v3.3.13)
186
+ - **SSH config auto-fix** (v3.3.25)
187
+ - Prevents git dubious ownership errors
188
+ - Replaces old keys instead of skipping
189
+
190
+ #### Token Support
191
+
192
+ **v3.3.19+:**
193
+ - `MLGYM_TOKEN` environment variable authentication
194
+ - Email extraction from JWT tokens
195
+ - No need for `MLGYM_EMAIL` when using JWT tokens
196
+ - Cached token management in `~/.mlgym/mcp_config.json`
197
+
198
+ ---
199
+
200
+ ### 🐳 Docker Intelligence
201
+
202
+ #### Auto-Generation & Fixing
203
+
204
+ **Dockerfile Auto-Generation (v3.0.0+):**
205
+ - Automatic Dockerfile creation for missing projects
206
+ - Language-specific templates
207
+ - Port detection and configuration
208
+
209
+ **Auto-Fixing (v3.3.x):**
210
+ - **Base image version validation** (v3.3.35)
211
+ - Detects invalid Python/Node/Go versions
212
+ - Suggests and fixes to valid versions
213
+ - **Docker image variant preservation** (v3.3.38)
214
+ - Maintains `-slim`, `-alpine`, `-bullseye` variants when fixing
215
+ - **Port detection improvements** (v3.3.18)
216
+ - Preserves EXPOSE directive format
217
+ - Validates port configurations
218
+ - **Language-specific fixes:**
219
+ - Scala: sbt-assembly plugin + fat JAR config (v3.3.22)
220
+ - Elixir: Dockerfile optimization (v3.3.21)
221
+ - Perl: Dockerfile optimization (v3.3.20)
222
+ - PHP: Project detection and templates (v3.3.28)
223
+
224
+ #### Deployment Strategy Detection (v3.3.35)
225
+
226
+ Automatically detects and suggests fixes for:
227
+ - ❌ **Port mismatches** between Dockerfile and docker-compose.yml
228
+ - ❌ **Missing dependencies** in package.json vs imports
229
+ - ❌ **Invalid path aliases** in tsconfig.json
230
+ - ❌ **Docker vs Docker Compose** strategy conflicts
231
+
232
+ ---
233
+
234
+ ### 🛠️ Development Features
235
+
236
+ #### Dollie Development Containers (v3.3.42)
237
+
238
+ Deploy Next.js development environments with SSH access:
239
+
240
+ ```javascript
241
+ deploy_dollie({
242
+ project_name: "my-dev-env",
243
+ git_repo: "https://github.com/user/repo.git",
244
+ git_branch: "main", // Optional
245
+ git_token: "ghp_...", // For private repos
246
+ app_port: 3000 // Optional, default 3000
247
+ })
248
+ ```
249
+
250
+ **Features:**
251
+ - Pre-built Dollie base image (Next.js + SSH)
252
+ - Automatic git clone and npm install
253
+ - Dev server auto-start
254
+ - SSH access: `ssh developer@[hostname] -p [port]`
255
+ - Dynamic password generation
256
+ - Supports public and private repositories
257
+
258
+ **Use Cases:**
259
+ - AI-assisted development in isolated environments
260
+ - Remote pair programming
261
+ - Quick prototyping without local setup
262
+
263
+ ---
264
+
265
+ ### 🚀 Reliability Improvements
266
+
267
+ #### Retry Logic (v3.3.12)
268
+ - Automatic retry for 5xx server errors
269
+ - Exponential backoff (up to 10 seconds)
270
+ - Maximum 3 retry attempts
271
+ - Network error handling
272
+
273
+ #### Error Recovery (v3.0.0+)
274
+ - Detailed recovery suggestions for common errors
275
+ - Workflow step logging for debugging
276
+ - Comprehensive error messages with context
277
+
278
+ #### Auto-Fixes (v3.3.x)
279
+ - **Project name derivation** from local_path (v3.3.11)
280
+ - **SSH key auto-ensure** on authentication (v3.3.12)
281
+ - **Duplicate project prevention** (v3.3.34)
282
+ - **Slow-starting service warnings** (v3.3.30)
283
+ - Detects PostgreSQL, MySQL, MongoDB
284
+ - Suggests wait mechanisms
285
+
286
+ ---
287
+
288
+ ## Architecture Evolution
289
+
290
+ ### v3.0.0 - Monolithic Deployment
291
+ ```
292
+ Tools: 2
293
+ Focus: Deployment workflow only
294
+ Pattern: Single-call deployment
295
+ AI Decision Points: 3
296
+ ```
297
+
298
+ ### v3.3.42 - Complete Lifecycle Management
299
+ ```
300
+ Tools: 14
301
+ Focus: Full application lifecycle
302
+ Pattern: Layered architecture
303
+ - Authentication layer
304
+ - Deployment layer
305
+ - Configuration layer
306
+ - Management layer
307
+ - Development layer
308
+ AI Decision Points: Still ~3 per operation
309
+ ```
310
+
311
+ **Key Principles Maintained:**
312
+ - ✅ Server-side workflow orchestration
313
+ - ✅ Minimal AI decision points
314
+ - ✅ Deterministic execution
315
+ - ✅ Atomic operations
316
+ - ✅ Comprehensive state tracking
317
+
318
+ **New Capabilities:**
319
+ - ✅ Post-deployment configuration management
320
+ - ✅ Deployment history and monitoring
321
+ - ✅ Rollback and recovery
322
+ - ✅ Development environment provisioning
323
+
324
+ ---
325
+
326
+ ## Comparison Table
327
+
328
+ | Aspect | v3.0.0 | v3.3.42 |
329
+ |--------|--------|---------|
330
+ | **Tools** | 2 | 14 |
331
+ | **Languages Supported** | 4-7 | 10+ |
332
+ | **Environment Variables** | ❌ | ✅ |
333
+ | **Health Checks** | ❌ | ✅ |
334
+ | **Custom Domains** | ❌ | ✅ |
335
+ | **Deployment Commands** | ❌ | ✅ |
336
+ | **Deployment Logs** | ❌ | ✅ (1-10 depth) |
337
+ | **Manual Deploy** | ❌ | ✅ |
338
+ | **Rollback** | ❌ | ✅ (previous/specific) |
339
+ | **Dev Containers** | ❌ | ✅ (Dollie SSH) |
340
+ | **SSH Key Management** | Basic | Per-user with auto-fix |
341
+ | **Token Support** | JWT only | JWT + env var |
342
+ | **Docker Auto-Fix** | Basic | Advanced (versions, variants) |
343
+ | **Retry Logic** | ❌ | ✅ (5xx errors) |
344
+ | **Error Recovery** | Basic | Advanced with suggestions |
345
+ | **Success Rate** | ~90% | ~95%+ (estimated) |
346
+
347
+ ---
348
+
349
+ ## Notable Fixes (v3.0.0 → v3.3.42)
350
+
351
+ ### Major Fixes
352
+
353
+ **v3.3.42** - Add deploy_dollie tool for Next.js dev containers with SSH
354
+ **v3.3.39** - Language detection and Dockerfile template fixes
355
+ **v3.3.38** - Preserve Docker image variant when fixing base image
356
+ **v3.3.37** - Replace glob dependency with native fs scanner
357
+ **v3.3.35** - Auto-detection and fixes for common deployment issues
358
+ **v3.3.34** - Fix duplicate project creation and SSH key switching
359
+ **v3.3.32** - Fix misleading hostname description
360
+ **v3.3.31** - Fix URL format bug in deployment status
361
+ **v3.3.30** - Add warnings for slow-starting database services
362
+
363
+ ### SSH & Authentication Fixes
364
+
365
+ **v3.3.29** - Fix SSH key per-user when using MLGYM_TOKEN env var
366
+ **v3.3.25** - Fix git dubious ownership error; fix SSH config replacement
367
+ **v3.3.24** - Fix SSH config to replace old key instead of skipping
368
+ **v3.3.19** - Support MLGYM_TOKEN environment variable
369
+ **v3.3.13** - Fix SSH key creation using GitLab user ID
370
+ **v3.3.12** - Auto-ensure SSH keys on authentication
371
+
372
+ ### Language-Specific Fixes
373
+
374
+ **v3.3.28** - Add PHP project detection and Dockerfile generation
375
+ **v3.3.23** - Auto-organize Scala project structure
376
+ **v3.3.22** - Auto-fix Scala sbt-assembly plugin + fat JAR config
377
+ **v3.3.21** - Auto-fix Elixir Dockerfile
378
+ **v3.3.20** - Auto-fix Perl Dockerfile
379
+ **v3.3.19** - Ruby deployment support
380
+
381
+ ### Docker & Port Fixes
382
+
383
+ **v3.3.18** - Fix Dockerfile port detection to preserve EXPOSE directive
384
+ **v3.3.17** - Add ports_exposes for Dockerfile deployments
385
+ **v3.3.16** - Fix ports vs expose bug + auth status check
386
+
387
+ ### Workflow Fixes
388
+
389
+ **v3.3.27** - Fix version constant and add deployment_url debug logging
390
+ **v3.3.26** - Fix deployment_url to use backend-provided URL
391
+ **v3.3.12** - Add retry logic for 5xx errors
392
+ **v3.3.11** - Auto-derive project_name from local_path
393
+
394
+ ---
395
+
396
+ ## Migration Guide
397
+
398
+ ### From v3.0.0 to v3.3.42
399
+
400
+ **No Breaking Changes!**
401
+
402
+ All v3.0.0 workflows continue to work. New tools are additive.
403
+
404
+ ### Using New Features
405
+
406
+ #### After Initial Deployment (v3.0.0 workflow):
407
+ ```javascript
408
+ // 1. Deploy (same as v3.0.0)
409
+ mlgym_deploy({
410
+ project_name: "my-app",
411
+ project_description: "My awesome app"
412
+ })
413
+
414
+ // 2. Configure environment variables (NEW)
415
+ mlgym_set_env_vars({
416
+ project_name: "my-app",
417
+ env_vars: { DATABASE_URL: "..." }
418
+ })
419
+
420
+ // 3. Set up health checks (NEW)
421
+ mlgym_set_health_check({
422
+ project_name: "my-app",
423
+ enabled: true,
424
+ path: "/health"
425
+ })
426
+
427
+ // 4. Configure custom domain (NEW)
428
+ mlgym_set_domain({
429
+ project_name: "my-app",
430
+ domain: "myapp.example.com"
431
+ })
432
+ ```
433
+
434
+ #### View Deployment History (NEW):
435
+ ```javascript
436
+ mlgym_deploy_logs({
437
+ project_name: "my-app",
438
+ depth: 5
439
+ })
440
+ ```
441
+
442
+ #### Rollback if Needed (NEW):
443
+ ```javascript
444
+ mlgym_rollback({
445
+ project_name: "my-app"
446
+ })
447
+ ```
448
+
449
+ #### Deploy Development Container (NEW):
450
+ ```javascript
451
+ deploy_dollie({
452
+ project_name: "dev-env",
453
+ git_repo: "https://github.com/user/repo.git"
454
+ })
455
+ ```
456
+
457
+ ---
458
+
459
+ ## Configuration
460
+
461
+ ### Environment Variables
462
+
463
+ **Authentication:**
464
+ - `MLGYM_TOKEN` - JWT authentication token (NEW in v3.3.19)
465
+ - `MLGYM_EMAIL` - User email (optional with MLGYM_TOKEN)
466
+
467
+ **API Endpoints:**
468
+ - `MLGYM_API_ENDPOINT` - Backend URL (default: https://backend.eu.ezb.net)
469
+
470
+ **Debugging:**
471
+ - `MLGYM_DEBUG` - Enable debug logging (default: enabled)
472
+ - `DEBUG` - Alternative debug flag
473
+
474
+ ### Configuration File
475
+
476
+ Location: `~/.mlgym/mcp_config.json`
477
+
478
+ **Stored Data:**
479
+ - Cached authentication token
480
+ - User email
481
+ - Last version check timestamp
482
+
483
+ ---
484
+
485
+ ## Technical Notes
486
+
487
+ ### Dependencies
488
+ No changes from v3.0.0:
489
+ - `@modelcontextprotocol/sdk`: ^0.6.0
490
+ - `axios`: ^1.6.0
491
+
492
+ ### Version Check
493
+ - Automatic version check every hour
494
+ - Warns if newer version available on npm
495
+ - Non-blocking, informational only
496
+
497
+ ### Debug Logging
498
+ Enhanced colored output system:
499
+ - 🔵 INFO - General information
500
+ - ✅ SUCCESS - Successful operations
501
+ - ⚠️ WARNING - Non-critical issues
502
+ - ❌ ERROR - Critical errors
503
+ - ⋯ DEBUG - Detailed debug information
504
+
505
+ ### API Integration
506
+
507
+ **Backend API:**
508
+ - URL: https://backend.eu.ezb.net
509
+ - Endpoints: /auth/*, /projects/*, /deployments/*, /applications/*
510
+
511
+ **GitLab API:**
512
+ - URL: https://git.mlgym.io
513
+ - Operations: Project creation, SSH key registration
514
+
515
+ **Coolify User Agent:**
516
+ - URL: http://coolify.eu.ezb.net:9000
517
+ - Operations: Application configuration, deployment management
518
+
519
+ ---
520
+
521
+ ## Testing Recommendations
522
+
523
+ ### Basic Workflow Test
524
+ ```bash
525
+ # 1. Deploy new project
526
+ mlgym_deploy({
527
+ project_name: "test-app",
528
+ project_description: "Test application"
529
+ })
530
+
531
+ # 2. Check status
532
+ mlgym_status()
533
+
534
+ # 3. View logs
535
+ mlgym_deploy_logs({ project_name: "test-app", depth: 1 })
536
+ ```
537
+
538
+ ### Configuration Test
539
+ ```bash
540
+ # 4. Set environment variables
541
+ mlgym_set_env_vars({
542
+ project_name: "test-app",
543
+ env_vars: { TEST_VAR: "value" }
544
+ })
545
+
546
+ # 5. Configure health check
547
+ mlgym_set_health_check({
548
+ project_name: "test-app",
549
+ enabled: true,
550
+ path: "/health"
551
+ })
552
+
553
+ # 6. Trigger manual deployment
554
+ mlgym_deploy_manual({ project_name: "test-app" })
555
+ ```
556
+
557
+ ### Rollback Test
558
+ ```bash
559
+ # 7. View deployment history
560
+ mlgym_deploy_logs({ project_name: "test-app", depth: 5 })
561
+
562
+ # 8. Rollback to previous
563
+ mlgym_rollback({ project_name: "test-app" })
564
+ ```
565
+
566
+ ### Development Container Test
567
+ ```bash
568
+ # 9. Deploy Dollie dev container
569
+ deploy_dollie({
570
+ project_name: "dev-test",
571
+ git_repo: "https://github.com/vercel/next.js/tree/canary/examples/hello-world"
572
+ })
573
+ ```
574
+
575
+ ---
576
+
577
+ ## Success Metrics
578
+
579
+ ### Deployment Reliability
580
+ - **v3.0.0**: ~90% success rate
581
+ - **v3.3.42**: ~95%+ success rate (estimated)
582
+
583
+ **Improvements from:**
584
+ - Retry logic for transient failures
585
+ - Auto-fix for common configuration issues
586
+ - Better error recovery suggestions
587
+ - Per-user SSH key management
588
+
589
+ ### User Experience
590
+ - **Deployment Time**: Unchanged (~2-5 minutes)
591
+ - **Configuration Time**: New capability (1-2 minutes per setting)
592
+ - **Rollback Time**: New capability (~30 seconds)
593
+ - **Dev Container Setup**: New capability (~3-5 minutes)
594
+
595
+ ### Tool Usage Patterns
596
+ ```
597
+ Primary Workflow (v3.0.0 pattern):
598
+ mlgym_deploy → Success
599
+
600
+ Extended Workflow (v3.3.42 pattern):
601
+ mlgym_deploy
602
+ → mlgym_set_env_vars
603
+ → mlgym_set_health_check
604
+ → mlgym_set_domain
605
+ → mlgym_deploy_logs (monitoring)
606
+ → mlgym_rollback (if needed)
607
+
608
+ Development Workflow (v3.3.42 new):
609
+ deploy_dollie → SSH access → Iterate
610
+ ```
611
+
612
+ ---
613
+
614
+ ## Known Limitations
615
+
616
+ ### Same as v3.0.0
617
+ - Requires backend API availability
618
+ - GitLab must be accessible
619
+ - Coolify User Agent must be running
620
+ - SSH key generation requires write access to ~/.ssh/
621
+
622
+ ### New Considerations (v3.3.42)
623
+ - Rollback limited to last 10 deployments (Coolify limitation)
624
+ - Health check configuration requires application restart
625
+ - Custom domains require DNS configuration outside MLGym
626
+ - Dollie containers support Next.js only (currently)
627
+
628
+ ---
629
+
630
+ ## Future Considerations
631
+
632
+ ### Potential Enhancements
633
+ - [ ] Multi-region deployment management
634
+ - [ ] Environment promotion (staging → production)
635
+ - [ ] Deployment scheduling
636
+ - [ ] Cost tracking and optimization
637
+ - [ ] Team collaboration features
638
+ - [ ] Deployment approval workflows
639
+ - [ ] Backup and restore operations
640
+ - [ ] Dollie support for other frameworks (React, Vue, etc.)
641
+
642
+ ### Monitoring Integration
643
+ - [ ] Metrics collection (CPU, memory, requests)
644
+ - [ ] Alerting on deployment failures
645
+ - [ ] Performance tracking over time
646
+ - [ ] Cost analysis per deployment
647
+
648
+ ---
649
+
650
+ ## Credits
651
+
652
+ **Architecture Design:** Monolithic workflow approach (v3.0.0)
653
+ **Feature Expansion:** Application lifecycle management (v3.3.x)
654
+ **Language Support:** Community-driven templates and auto-fixes
655
+ **Development Tools:** Dollie SSH container integration (v3.3.42)
656
+
657
+ ---
658
+
659
+ ## Files Modified Since v3.0.0
660
+
661
+ 1. **mcp-server/index.js**
662
+ - Added 12 new tool definitions
663
+ - Enhanced DeploymentWorkflow class
664
+ - Added configuration management functions
665
+ - Added deployment monitoring functions
666
+ - Added Dollie deployment function
667
+ - Improved error handling and retry logic
668
+ - Enhanced debug logging system
669
+ - Added language detection for 10+ languages
670
+ - Added Dockerfile auto-fix capabilities
671
+
672
+ 2. **mcp-server/package.json**
673
+ - Version: 3.0.0 → 3.3.42
674
+ - Updated description for extended capabilities
675
+ - Updated mcp.tools metadata with 14 tools
676
+
677
+ ---
678
+
679
+ ## Summary
680
+
681
+ v3.3.42 represents a **major capability expansion** while maintaining the **architectural principles** that made v3.0.0 successful:
682
+
683
+ ### What's the Same
684
+ - ✅ Monolithic workflow approach (server-side orchestration)
685
+ - ✅ Minimal AI decision points (~3 per operation)
686
+ - ✅ Deterministic execution
687
+ - ✅ High success rate (90%+)
688
+ - ✅ Single-call deployment experience
689
+
690
+ ### What's New
691
+ - ✅ **12 new tools** for complete lifecycle management
692
+ - ✅ **10+ programming languages** supported
693
+ - ✅ **Configuration management** (env vars, health checks, domains, commands)
694
+ - ✅ **Deployment operations** (logs, manual deploy, rollback)
695
+ - ✅ **Development containers** (Dollie SSH environments)
696
+ - ✅ **Enhanced reliability** (retry logic, auto-fixes, per-user SSH)
697
+ - ✅ **Better monitoring** (deployment history, build logs)
698
+
699
+ ### Impact
700
+ From **basic deployment tool** → **comprehensive DevOps platform** for AI-assisted development.
701
+
702
+ ---
703
+
704
+ **Version:** 3.3.42
705
+ **Status:** ✅ Production Ready
706
+ **Backward Compatibility:** ✅ Full (with v3.0.0)
707
+ **Next Version:** 3.4.0 (planned: multi-region management)
package/Dockerfile ADDED
@@ -0,0 +1,7 @@
1
+ FROM node:22-bookworm
2
+ WORKDIR /app
3
+ COPY package*.json ./
4
+ RUN npm ci --only=production
5
+ COPY . .
6
+ EXPOSE 3000
7
+ CMD ["npm", "start"]