You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+50Lines changed: 50 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -312,6 +312,12 @@ For this repository's specific commands and permissions, see this CLAUDE.md file
312
312
-`make release` - Create and push release tag
313
313
-`make release-dev` - Create and push development tag
314
314
315
+
**Docker Operations (make.deploy):**
316
+
317
+
-`make docker-build` - Build Docker image locally
318
+
-`make docker-push` - Build and push Docker image to ECR (requires VERSION)
319
+
-`make docker-push-dev` - Build and push development Docker image
320
+
315
321
**Coordination & Utilities:**
316
322
317
323
-`make help` - Show all available targets organized by category
@@ -421,9 +427,53 @@ The following permissions are granted for this repository:
421
427
- When running the integration test locally, Docker must be available and the build takes ~45s on warm caches. Expect the test to leave behind pulled base images but no running containers.
422
428
- Claude Desktop still requires stdio transports; use a FastMCP proxy (`FastMCP.as_proxy(...).run(transport='stdio')`) and pass `--project /path/to/quilt-mcp-server` to `uv run` so `fastmcp` resolves correctly.
423
429
430
+
### Docker Build and Deployment Refactoring (2025-09-22)
431
+
432
+
**Script-based Docker Operations:**
433
+
434
+
- All Docker operations extracted to `scripts/docker.sh` for reusability and local testing
435
+
- Script supports both `build` (local testing) and `push` (ECR deployment) commands
436
+
- Integrates with existing `scripts/docker_image.py` for consistent tag generation
437
+
- Supports dry-run mode via `--dry-run` for testing workflow changes
438
+
439
+
**GitHub Actions Integration:**
440
+
441
+
- Production releases (tags matching `v*` but not `v*-dev-*`) build and push Docker images automatically
442
+
- Development releases skip Docker builds to reduce CI/CD time and resource usage
443
+
- PR builds test Docker image building without pushing (build-only validation)
444
+
- Docker operations moved from `push.yml` workflow into `create-release` action for better encapsulation
445
+
446
+
**Makefile Integration:**
447
+
448
+
-`make docker-build` - Build locally for development and testing
449
+
-`make docker-push` - Build and push to ECR (requires VERSION environment variable)
450
+
-`make docker-push-dev` - Build and push with timestamp-based development tags
451
+
- All Docker targets include proper dependency checking for Docker daemon and required tools
452
+
453
+
**GitHub Secrets Configuration:**
454
+
455
+
Required secrets for Docker operations:
456
+
-`ECR_REGISTRY` - ECR registry URL (preferred)
457
+
-`AWS_ACCOUNT_ID` - AWS account ID (fallback for registry construction)
458
+
-`AWS_DEFAULT_REGION` - AWS region (defaults to us-east-1)
459
+
- Existing AWS credentials (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`) for ECR login
460
+
461
+
**Environment Variable Support:**
462
+
463
+
-`scripts/docker.sh` respects all environment variables from `env.example`
464
+
-`ECR_REGISTRY`, `AWS_ACCOUNT_ID`, `AWS_DEFAULT_REGION` for registry configuration
465
+
-`VERSION` for overriding image version tags
466
+
-`DOCKER_IMAGE_NAME` for custom image naming (defaults to `quilt-mcp-server`)
467
+
424
468
## important-instruction-reminders
425
469
426
470
Do what has been asked; nothing more, nothing less.
427
471
NEVER create files unless they're absolutely necessary for achieving your goal.
428
472
ALWAYS prefer editing an existing file to creating a new one.
429
473
NEVER proactively create documentation files (*.md) or README files. Only create documentation files if explicitly requested by the User.
474
+
475
+
# important-instruction-reminders
476
+
Do what has been asked; nothing more, nothing less.
477
+
NEVER create files unless they're absolutely necessary for achieving your goal.
478
+
ALWAYS prefer editing an existing file to creating a new one.
479
+
NEVER proactively create documentation files (*.md) or README files. Only create documentation files if explicitly requested by the User.
0 commit comments