deploy
Deploy an agent to Pipecat Cloud. This skill walks through the full deployment process interactively, confirming each step with the user.
Arguments
/deploy [--config <PATH>] [--env <PATH>]
--config(optional): Path topcc-deploy.toml. Defaults topcc-deploy.tomlin the current directory.--env(optional): Path to.envfile for creating secrets. If not provided, the skill will look for a.envfile in the same directory as the config file.
Examples:
/deploy/deploy --config examples/mybot/pcc-deploy.toml/deploy --config examples/mybot/pcc-deploy.toml --env examples/mybot/.env
Prerequisites
Before starting, verify these prerequisites and inform the user about any that are missing:
-
Pipecat Cloud CLI: Check if
pcis installed by runningpc --version. If not installed, tell the user to install it withuv tool install pipecat-ai-cliand stop. -
Pipecat Cloud authentication: Check if
pc cloud auth whoamisucceeds. If not authenticated, runpc cloud auth login --headlessas a background task, then read the output file to extract the URL and six-digit code. Share both with the user so they can authenticate in their browser. Wait for the background task to complete before proceeding. -
Docker: Check if
docker infosucceeds (daemon running). If not, tell the user to start Docker and stop. Also checkdocker loginsucceeds. If not logged in, tell the user to rundocker loginand stop. -
Configuration file: Read the
pcc-deploy.tomlfile (from--configargument or current directory). If it doesn't exist, tell the user they need apcc-deploy.tomland stop. Parse and display the configuration to the user (agent_name, image, secret_set, etc.).
If any prerequisite fails, stop and clearly explain what needs to be fixed. Do not proceed to the next steps.
Important: Running Commands
All pc cloud commands must be run from the directory containing the pcc-deploy.toml file. Use cd <dir> && <command> to ensure the correct working directory.
Several pc cloud commands prompt for interactive confirmation which doesn't work in this environment. Use these patterns:
pc cloud docker build-push: Pipeyes |to auto-confirm (e.g.,yes | pc cloud docker build-push)pc cloud deploy: Pipeyes |to auto-confirm (e.g.,yes | pc cloud deploy)pc cloud secrets set: Use the--skipflag to skip confirmation (e.g.,pc cloud secrets set NAME --file .env --skip)
Deployment Steps
Walk through each step interactively, asking the user to confirm before proceeding.
Step 1: Secrets Setup
Ask the user if they need to create or update secrets for this deployment.
-
If yes, determine the env file path (from
--envargument, or look for.envin the same directory as the config file, or ask the user). -
Read the
secret_setname from thepcc-deploy.tomlconfiguration. -
Run:
pc cloud secrets set {SECRET_SET_NAME} --file {ENV_FILE_PATH} --skip -
Show the output to the user.
-
If no, skip this step.
Step 2: Build and Push Docker Image
Ask the user if they want to build and push the Docker image.
-
If yes:
- First, check if
uv.lockexists in the config directory. If so, runuv lockto ensure it's up to date before building. - Run from the config directory:
yes | pc cloud docker build-push - Use a generous timeout (5 minutes) as builds can take a while.
- If the build fails due to a stale lockfile, run
uv lockin the config directory and retry. - If the build fails for other reasons, show the error and ask the user how to proceed.
- First, check if
-
If no, skip this step (image may already be pushed).
Step 3: Deploy
Ask the user to confirm they want to deploy the agent.
- Show a summary of what will be deployed (agent_name, image, secret_set from the config).
- Run from the config directory:
yes | pc cloud deploy - Use a generous timeout (5 minutes) as deployment may take time to reach ready state.
- If deployment times out but no error occurred, check logs with
pc cloud agent logs {AGENT_NAME}and share with the user — the deployment may still be starting up. - Show the deployment output and status to the user.
Error Handling
- If any
pccommand fails, show the full error output and explain what might have gone wrong. - Common issues to check for:
- Docker not logged in to the image registry (
docker login) - Invalid or expired Pipecat Cloud authentication
- Missing or malformed
pcc-deploy.toml - Secret set name mismatch between config and what exists in Pipecat Cloud
- Stale
uv.lockfile — runuv lockto fix
- Docker not logged in to the image registry (
Completion
After a successful deployment, summarize what was done:
- Secrets created/updated (if applicable)
- Image built and pushed (if applicable)
- Agent deployed with name and image from config