一键导入
deploy
Deploy the application to staging or production. Validates, builds, pushes Docker image, deploys via Helm, and runs smoke tests.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Deploy the application to staging or production. Validates, builds, pushes Docker image, deploys via Helm, and runs smoke tests.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create a broadcast notification system that sends notifications and messages to eligible users based on entity-specific criteria. Use when adding a new entity type that needs to notify users when records are created, updated, or published.
Guide for building non-CRUD pages with consistent design. Use when creating portal pages, custom views, detail modals, sidebar widgets, notification drawers, or any page that is not a standard CRUD table. Covers fullscreen modals, minimal text patterns, calendar widgets, doorbell notifications, optimistic updates, and CrudPage read-only integration.
Guide for building dashboards, charts, KPI cards, and data visualizations. Use when creating dashboard pages, adding charts to features, building stat displays, aggregating data for visual presentation, or implementing export (CSV/PNG/fullscreen) for charts. Based on the Books dashboard implementation using Recharts and shadcn/ui chart components.
Run a comprehensive E2E browser test suite for a newly scaffolded Goravel entity. Tests navigation, CRUD operations, search, filters, row actions, form validation, FK dropdowns, and cross-entity integration using Playwright MCP.
Create a Go database seeder for a Goravel entity with 25+ realistic records. Covers all status/enum values, diverse data for sorting/pagination testing, and proper nullable field handling.
Add file download and export functionality (CSV, Excel, PDF, JSON) to a Goravel entity page using the existing client-side export system. Also covers chart PNG capture.
| name | deploy |
| description | Deploy the application to staging or production. Validates, builds, pushes Docker image, deploys via Helm, and runs smoke tests. |
| argument-hint | <staging|production> [--skip-build] [--dry-run] |
| disable-model-invocation | true |
| allowed-tools | Read, Bash, Grep, Glob, Edit |
Deploy this application to the $ARGUMENTS environment.
Parse the arguments:
staging or production). Default to staging if not specified.--skip-build: Skip Docker build/push, deploy with existing image--dry-run: Render Helm templates and show diff without actually deployingBefore deploying, verify ALL of these:
develop for staging, main for productionpackage.json to get the current app versionhelm lint helm/goravel-blog -f helm/goravel-blog/values.<env>.yaml
Read DOCKER_REGISTRY and DOCKER_IMAGE_NAME from .env (fallbacks: docker.io and books-database).
Construct the full image name: $DOCKER_REGISTRY/<dockerhub-username>/$DOCKER_IMAGE_NAME
Build Docker image:
docker build -t $DOCKER_REGISTRY/<username>/$DOCKER_IMAGE_NAME:<tag> \
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
--build-arg VCS_REF=$(git rev-parse --short HEAD) \
.
developScan image with Trivy (if available):
docker run --rm aquasec/trivy image --severity CRITICAL,HIGH $IMAGE:<tag>
Report findings but don't block unless CRITICAL vulnerabilities found.
Push image:
docker push $IMAGE:<tag>
Render templates and show what would change:
helm template goravel-blog helm/goravel-blog -f helm/goravel-blog/values.<env>.yaml
helm diff upgrade goravel-blog helm/goravel-blog -f helm/goravel-blog/values.<env>.yaml -n <namespace>
Stop here for dry-run.
Determine namespace: books-staging or books-production
Run Helm upgrade:
helm upgrade --install goravel-blog helm/goravel-blog \
-f helm/goravel-blog/values.<env>.yaml \
-n <namespace> --create-namespace \
--set image.tag=<tag> \
--atomic --timeout 10m \
--wait
For production, ask for explicit confirmation before executing.
Verify rollout:
kubectl rollout status deployment/goravel-blog -n <namespace> --timeout=300s
Check pod status:
kubectl get pods -n <namespace> -l app.kubernetes.io/name=goravel-blog
Get ingress URL:
kubectl get ingress -n <namespace>
Smoke test the health endpoint (if accessible):
curl -sf https://<host>/health
If deployment fails, Helm --atomic auto-rolls back. If post-deploy checks fail, offer to run:
helm rollback goravel-blog -n <namespace>
Output a deployment summary table:
| Item | Value |
|---|---|
| Environment | staging/production |
| Version | x.y.z |
| Image | $DOCKER_REGISTRY//$DOCKER_IMAGE_NAME:tag |
| Namespace | books-xxx |
| Status | SUCCESS/FAILED |
| URL | https://... |