Command in deployment
deploy-verify
Run the server-side verification of a deployment and report pass or fail per check. Use when a deploy finished, after a cutover, or before closing a release.
- Arguments
- <domain> [--app <coolify-resource-name>] [--api <api-resource-name>] [--run <workflow-run-id>] [--ssh <alias>]
- Model
- inherit
- Allowed tools
- Read, Bash, Glob, Grep
Install
As a plugin
Bundled in the deploy plugin. Add the marketplace once, then install the bundle; it updates with the marketplace.
/plugin marketplace add KhaledSaeed18/dotclaude/plugin install deploy@dotclaudeAs a single item
Run from the project root; the command lands under .claude/. Copy it to ~/.claude/ to make it global.
npx shadcn@latest add KhaledSaeed18/dotclaude/deploy-verifyFiles installed
.claude/commands/deploy-verify.md
What it does
Context
Request: $ARGUMENTS
Deployment doc and latest main run:
!ls docs/engineering/DEPLOYMENT.md docs/*deploy* 2>/dev/null; gh run list --branch main --limit 1 --json databaseId,conclusion,displayTitle --jq '.[] | "\(.databaseId) \(.conclusion) \(.displayTitle)"' 2>/dev/null
Task
Run the deploy-verification skill end to end for the given domain and report a checklist. Everything is read-only and measured from the server over one SSH connection; the owner's signed-in session is used only to open pages.
- Resolve the inputs from the arguments or the deployment doc: domain, SSH alias, Coolify resource names of the app and of the API behind it. Ask only for what cannot be found.
- Open the SSH ControlMaster connection once; every later command multiplexes through it.
- Run the checks in this order, each with its command and output captured: certificate verification and issuer;
/healthzand the API readiness route through the domain; response headers (and a diff against the previous host when one is named); container contract (health, memory limit, no port bindings, non-root, image tag equals the latest publishedsha-tag); client address proof with a forged header from the server and from this machine; when--runis given and its deploy job has not started, arm the rolling-update probe and summarise the status counts and the slowest response. - If the owner is signed in on the domain in the browser pane, open the landing page, one data page and one page per locale and read the network log for same-origin API calls and their status codes. Click nothing that writes.
- Close the SSH master connection.
Produce a table: check, command, expected, observed, pass or fail. End with the overall verdict and, for every failure, the skill that fixes it (nextjs-coolify-image for shutdown or headers, coolify-image-app for container settings, proxy-client-address for the address, live-domain-cutover for certificate and DNS). Offer to append the dated table to the deployment doc.
This is the command as installed, rendered from its source on GitHub. Read it as Markdown.
More in deployment
- cutoverDrive a live domain migration step by step, with the owner doing DNS and the agent verifying each stage. Use when moving a production domain to a new host.
- deploy-setupAdd container packaging and a GHCR to Coolify pipeline to the current repository, then list the owner actions left. Use when a project needs to go from...
- coolify-image-appCreate and configure a Coolify application that runs a prebuilt image from a registry. Use when adding an app to Coolify, fixing its health check...
- coolify-vps-baselinePrepare a Linux VPS to run production containers under Coolify. Use when setting up a new server, auditing an existing one, or connecting a registry...
- deploy-verificationProve a deployment from the server side. Use when a deploy finished and needs sign-off, when a rolling update may have dropped requests, or when a proxy...
- express-prisma-coolify-imagePackage an Express and Prisma API as a runtime-only image that migrates its Postgres database at start. Use when containerising a Node API with a...