[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-pipecat-deploy":3,"mdc-ijt91c-key":34,"related-repo-pipecat-deploy":1165,"related-org-pipecat-deploy":1200},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"deploy","deploy agents to Pipecat Cloud","Deploy an agent to Pipecat Cloud",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"pipecat","Pipecat","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fpipecat.png","pipecat-ai",[13,17,20],{"name":14,"slug":15,"type":16},"Deployment","deployment","tag",{"name":18,"slug":19,"type":16},"Agents","agents",{"name":21,"slug":22,"type":16},"Cloud","cloud",22,"https:\u002F\u002Fgithub.com\u002Fpipecat-ai\u002Fskills","2026-07-13T06:09:56.263859",null,5,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"Skill library for building Pipecat bots with Claude Code","https:\u002F\u002Fgithub.com\u002Fpipecat-ai\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fdeploy","---\nname: deploy\ndescription: Deploy an agent to Pipecat Cloud\n---\n\nDeploy an agent to Pipecat Cloud. This skill walks through the full deployment process interactively, confirming each step with the user.\n\n## Arguments\n\n```\n\u002Fdeploy [--config \u003CPATH>] [--env \u003CPATH>]\n```\n\n- `--config` (optional): Path to `pcc-deploy.toml`. Defaults to `pcc-deploy.toml` in the current directory.\n- `--env` (optional): Path to `.env` file for creating secrets. If not provided, the skill will look for a `.env` file in the same directory as the config file.\n\nExamples:\n- `\u002Fdeploy`\n- `\u002Fdeploy --config examples\u002Fmybot\u002Fpcc-deploy.toml`\n- `\u002Fdeploy --config examples\u002Fmybot\u002Fpcc-deploy.toml --env examples\u002Fmybot\u002F.env`\n\n## Prerequisites\n\nBefore starting, verify these prerequisites and inform the user about any that are missing:\n\n1. **Pipecat CLI**: Check if `pipecat` is installed by running `pipecat --version`. If not installed, tell the user to install it with `uv tool install pipecat-ai-cli` and stop.\n\n2. **Pipecat Cloud authentication**: Check if `pipecat cloud auth whoami` succeeds. If not authenticated, do **not** try to run login yourself — `pipecat cloud auth login` opens a browser for an OAuth flow that Claude can't complete. Instead, tell the user to authenticate by running `pipecat cloud auth login` in their terminal (suggest the `! pipecat cloud auth login` form so the output lands in the session). Wait for them to confirm, then re-run `pipecat cloud auth whoami` to verify before proceeding.\n\n3. **Configuration file**: Read the `pcc-deploy.toml` file (from `--config` argument or current directory). If it doesn't exist, tell the user they need a `pcc-deploy.toml` and stop. Parse and display the configuration to the user (agent_name, image, secret_set, etc.).\n\nIf any prerequisite fails, stop and clearly explain what needs to be fixed. Do not proceed to the next steps.\n\n## Deployment Method\n\nAfter prerequisites pass, ask the user how they want to deploy using AskUserQuestion:\n\n- **Cloud Build (Recommended)**: Pipecat Cloud builds your Docker image from source. No local Docker required.\n- **Self-managed image**: Build and push your own Docker image from your machine, then deploy.\n\n## Important: Running Commands\n\nAll `pipecat cloud` commands must be run from the directory containing the `pcc-deploy.toml` file. Use `cd \u003Cdir> && \u003Ccommand>` to ensure the correct working directory.\n\nSeveral `pipecat cloud` commands prompt for interactive confirmation which doesn't work in this environment. Skip the prompts with these flags:\n- **`pipecat cloud deploy`**: Use `--force` (e.g., `pipecat cloud deploy --force`)\n- **`pipecat cloud secrets set`**: Use the `--skip` flag (e.g., `pipecat cloud secrets set NAME --file .env --skip`)\n\n`pipecat cloud docker build-push` runs non-interactively and has no confirmation prompt, so no extra flag is needed.\n\n---\n\n## Cloud Build Path\n\nThis path uses Pipecat Cloud to build your Docker image from source. No local Docker installation is required.\n\n### Step 1: Verify Dockerfile and Lockfile\n\nCheck that a `Dockerfile` exists in the build context directory (the directory containing `pcc-deploy.toml`, or the `context_dir` from the `[build]` section of the config). If no Dockerfile is found, tell the user they need one and stop.\n\nIf the Dockerfile references `uv` (e.g., `uv sync`, `uv pip install`, `COPY uv.lock`), check that a `uv.lock` file exists in the build context directory. If it doesn't exist, run `uv lock` to generate it. If it already exists, run `uv lock` to ensure it's up to date. The lockfile must be present and current because cloud builds run remotely and cannot generate it.\n\n### Step 2: Secrets Setup\n\nAsk the user if they need to create or update secrets for this deployment.\n\n- If yes, determine the env file path (from `--env` argument, or look for `.env` in the same directory as the config file, or ask the user).\n- Read the `secret_set` name from the `pcc-deploy.toml` configuration.\n- Run: `pipecat cloud secrets set {SECRET_SET_NAME} --file {ENV_FILE_PATH} --skip`\n- Show the output to the user.\n\n- If no, skip this step.\n\n### Step 3: Deploy\n\nAsk the user to confirm they want to deploy the agent.\n\n- Show a summary of what will be deployed (agent_name, secret_set from the config).\n- Run from the config directory: `pipecat cloud deploy --force`\n- Use a generous timeout (10 minutes) as the cloud build and deployment can take a while.\n- This command handles both the cloud build and the deployment automatically.\n- If the command times out but no error occurred, retrieve the build ID from the command output and run `pipecat cloud build logs {BUILD_ID}` to check build progress. Share the output with the user.\n- If the build succeeds but deployment times out, check agent logs with `pipecat cloud agent logs {AGENT_NAME}` and share with the user.\n- Show the deployment output and status to the user.\n\n### Cloud Build Error Handling\n\n- If the build fails, retrieve the build ID from the command output and run `pipecat cloud build logs {BUILD_ID}` to show the user what went wrong.\n- Common cloud build issues:\n  - Missing or invalid Dockerfile\n  - Build context too large (500MB limit) — check for large files that should be in `.dockerignore`\n  - Build timeout — the build exceeded the maximum duration\n\n---\n\n## Self-Managed Image Path\n\nThis path builds and pushes the Docker image from your machine. Requires Docker to be installed and running.\n\n### Step 1: Docker Prerequisites\n\nCheck these additional prerequisites:\n\n- **Docker**: Check if `docker info` succeeds (daemon running). If not, tell the user to start Docker and stop.\n- **Docker login**: Check if `docker login` succeeds. If not logged in, tell the user to run `docker login` and stop.\n\n### Step 2: Secrets Setup\n\nAsk the user if they need to create or update secrets for this deployment.\n\n- If yes, determine the env file path (from `--env` argument, or look for `.env` in the same directory as the config file, or ask the user).\n- Read the `secret_set` name from the `pcc-deploy.toml` configuration.\n- Run: `pipecat cloud secrets set {SECRET_SET_NAME} --file {ENV_FILE_PATH} --skip`\n- Show the output to the user.\n\n- If no, skip this step.\n\n### Step 3: Build and Push Docker Image\n\nAsk the user if they want to build and push the Docker image.\n\n- If yes:\n  - First, check if `uv.lock` exists in the config directory. If so, run `uv lock` to ensure it's up to date before building.\n  - Run from the config directory: `pipecat cloud docker build-push`\n  - Use a generous timeout (5 minutes) as builds can take a while.\n  - If the build fails due to a stale lockfile, run `uv lock` in the config directory and retry.\n  - If the build fails for other reasons, show the error and ask the user how to proceed.\n\n- If no, skip this step (image may already be pushed).\n\n### Step 4: Deploy\n\nAsk the user to confirm they want to deploy the agent.\n\n- Show a summary of what will be deployed (agent_name, image, secret_set from the config).\n- Run from the config directory: `pipecat cloud deploy --force`\n- Use a generous timeout (5 minutes) as deployment may take time to reach ready state.\n- If deployment times out but no error occurred, check logs with `pipecat cloud agent logs {AGENT_NAME}` and share with the user — the deployment may still be starting up.\n- Show the deployment output and status to the user.\n\n### Self-Managed Image Error Handling\n\n- Common issues:\n  - Docker not logged in to the image registry (`docker login`)\n  - Missing `image` field in `pcc-deploy.toml`\n  - Stale `uv.lock` file — run `uv lock` to fix\n\n---\n\n## General Error Handling\n\n- If any `pipecat cloud` command fails, show the full error output and explain what might have gone wrong.\n- Common issues for both paths:\n  - Invalid or expired Pipecat Cloud authentication\n  - Missing or malformed `pcc-deploy.toml`\n  - Secret set name mismatch between config and what exists in Pipecat Cloud\n\n## Completion\n\nAfter a successful deployment, summarize what was done:\n- Deployment method used (cloud build or self-managed image)\n- Secrets created\u002Fupdated (if applicable)\n- Image built and pushed (if applicable)\n- Agent deployed with name from config\n",{"data":35,"body":36},{"name":4,"description":6},{"type":37,"children":38},"root",[39,47,54,67,123,128,158,164,169,292,297,303,308,331,337,365,377,439,450,454,460,465,472,508,566,572,577,640,646,651,710,716,760,763,769,774,780,785,828,833,837,889,895,900,966,972,976,1014,1020,1079,1082,1088,1131,1137,1142],{"type":40,"tag":41,"props":42,"children":43},"element","p",{},[44],{"type":45,"value":46},"text","Deploy an agent to Pipecat Cloud. This skill walks through the full deployment process interactively, confirming each step with the user.",{"type":40,"tag":48,"props":49,"children":51},"h2",{"id":50},"arguments",[52],{"type":45,"value":53},"Arguments",{"type":40,"tag":55,"props":56,"children":60},"pre",{"className":57,"code":59,"language":45},[58],"language-text","\u002Fdeploy [--config \u003CPATH>] [--env \u003CPATH>]\n",[61],{"type":40,"tag":62,"props":63,"children":65},"code",{"__ignoreMap":64},"",[66],{"type":45,"value":59},{"type":40,"tag":68,"props":69,"children":70},"ul",{},[71,98],{"type":40,"tag":72,"props":73,"children":74},"li",{},[75,81,83,89,91,96],{"type":40,"tag":62,"props":76,"children":78},{"className":77},[],[79],{"type":45,"value":80},"--config",{"type":45,"value":82}," (optional): Path to ",{"type":40,"tag":62,"props":84,"children":86},{"className":85},[],[87],{"type":45,"value":88},"pcc-deploy.toml",{"type":45,"value":90},". Defaults to ",{"type":40,"tag":62,"props":92,"children":94},{"className":93},[],[95],{"type":45,"value":88},{"type":45,"value":97}," in the current directory.",{"type":40,"tag":72,"props":99,"children":100},{},[101,107,108,114,116,121],{"type":40,"tag":62,"props":102,"children":104},{"className":103},[],[105],{"type":45,"value":106},"--env",{"type":45,"value":82},{"type":40,"tag":62,"props":109,"children":111},{"className":110},[],[112],{"type":45,"value":113},".env",{"type":45,"value":115}," file for creating secrets. If not provided, the skill will look for a ",{"type":40,"tag":62,"props":117,"children":119},{"className":118},[],[120],{"type":45,"value":113},{"type":45,"value":122}," file in the same directory as the config file.",{"type":40,"tag":41,"props":124,"children":125},{},[126],{"type":45,"value":127},"Examples:",{"type":40,"tag":68,"props":129,"children":130},{},[131,140,149],{"type":40,"tag":72,"props":132,"children":133},{},[134],{"type":40,"tag":62,"props":135,"children":137},{"className":136},[],[138],{"type":45,"value":139},"\u002Fdeploy",{"type":40,"tag":72,"props":141,"children":142},{},[143],{"type":40,"tag":62,"props":144,"children":146},{"className":145},[],[147],{"type":45,"value":148},"\u002Fdeploy --config examples\u002Fmybot\u002Fpcc-deploy.toml",{"type":40,"tag":72,"props":150,"children":151},{},[152],{"type":40,"tag":62,"props":153,"children":155},{"className":154},[],[156],{"type":45,"value":157},"\u002Fdeploy --config examples\u002Fmybot\u002Fpcc-deploy.toml --env examples\u002Fmybot\u002F.env",{"type":40,"tag":48,"props":159,"children":161},{"id":160},"prerequisites",[162],{"type":45,"value":163},"Prerequisites",{"type":40,"tag":41,"props":165,"children":166},{},[167],{"type":45,"value":168},"Before starting, verify these prerequisites and inform the user about any that are missing:",{"type":40,"tag":170,"props":171,"children":172},"ol",{},[173,207,261],{"type":40,"tag":72,"props":174,"children":175},{},[176,182,184,189,191,197,199,205],{"type":40,"tag":177,"props":178,"children":179},"strong",{},[180],{"type":45,"value":181},"Pipecat CLI",{"type":45,"value":183},": Check if ",{"type":40,"tag":62,"props":185,"children":187},{"className":186},[],[188],{"type":45,"value":8},{"type":45,"value":190}," is installed by running ",{"type":40,"tag":62,"props":192,"children":194},{"className":193},[],[195],{"type":45,"value":196},"pipecat --version",{"type":45,"value":198},". If not installed, tell the user to install it with ",{"type":40,"tag":62,"props":200,"children":202},{"className":201},[],[203],{"type":45,"value":204},"uv tool install pipecat-ai-cli",{"type":45,"value":206}," and stop.",{"type":40,"tag":72,"props":208,"children":209},{},[210,215,216,222,224,229,231,237,239,244,246,252,254,259],{"type":40,"tag":177,"props":211,"children":212},{},[213],{"type":45,"value":214},"Pipecat Cloud authentication",{"type":45,"value":183},{"type":40,"tag":62,"props":217,"children":219},{"className":218},[],[220],{"type":45,"value":221},"pipecat cloud auth whoami",{"type":45,"value":223}," succeeds. If not authenticated, do ",{"type":40,"tag":177,"props":225,"children":226},{},[227],{"type":45,"value":228},"not",{"type":45,"value":230}," try to run login yourself — ",{"type":40,"tag":62,"props":232,"children":234},{"className":233},[],[235],{"type":45,"value":236},"pipecat cloud auth login",{"type":45,"value":238}," opens a browser for an OAuth flow that Claude can't complete. Instead, tell the user to authenticate by running ",{"type":40,"tag":62,"props":240,"children":242},{"className":241},[],[243],{"type":45,"value":236},{"type":45,"value":245}," in their terminal (suggest the ",{"type":40,"tag":62,"props":247,"children":249},{"className":248},[],[250],{"type":45,"value":251},"! pipecat cloud auth login",{"type":45,"value":253}," form so the output lands in the session). Wait for them to confirm, then re-run ",{"type":40,"tag":62,"props":255,"children":257},{"className":256},[],[258],{"type":45,"value":221},{"type":45,"value":260}," to verify before proceeding.",{"type":40,"tag":72,"props":262,"children":263},{},[264,269,271,276,278,283,285,290],{"type":40,"tag":177,"props":265,"children":266},{},[267],{"type":45,"value":268},"Configuration file",{"type":45,"value":270},": Read the ",{"type":40,"tag":62,"props":272,"children":274},{"className":273},[],[275],{"type":45,"value":88},{"type":45,"value":277}," file (from ",{"type":40,"tag":62,"props":279,"children":281},{"className":280},[],[282],{"type":45,"value":80},{"type":45,"value":284}," argument or current directory). If it doesn't exist, tell the user they need a ",{"type":40,"tag":62,"props":286,"children":288},{"className":287},[],[289],{"type":45,"value":88},{"type":45,"value":291}," and stop. Parse and display the configuration to the user (agent_name, image, secret_set, etc.).",{"type":40,"tag":41,"props":293,"children":294},{},[295],{"type":45,"value":296},"If any prerequisite fails, stop and clearly explain what needs to be fixed. Do not proceed to the next steps.",{"type":40,"tag":48,"props":298,"children":300},{"id":299},"deployment-method",[301],{"type":45,"value":302},"Deployment Method",{"type":40,"tag":41,"props":304,"children":305},{},[306],{"type":45,"value":307},"After prerequisites pass, ask the user how they want to deploy using AskUserQuestion:",{"type":40,"tag":68,"props":309,"children":310},{},[311,321],{"type":40,"tag":72,"props":312,"children":313},{},[314,319],{"type":40,"tag":177,"props":315,"children":316},{},[317],{"type":45,"value":318},"Cloud Build (Recommended)",{"type":45,"value":320},": Pipecat Cloud builds your Docker image from source. No local Docker required.",{"type":40,"tag":72,"props":322,"children":323},{},[324,329],{"type":40,"tag":177,"props":325,"children":326},{},[327],{"type":45,"value":328},"Self-managed image",{"type":45,"value":330},": Build and push your own Docker image from your machine, then deploy.",{"type":40,"tag":48,"props":332,"children":334},{"id":333},"important-running-commands",[335],{"type":45,"value":336},"Important: Running Commands",{"type":40,"tag":41,"props":338,"children":339},{},[340,342,348,350,355,357,363],{"type":45,"value":341},"All ",{"type":40,"tag":62,"props":343,"children":345},{"className":344},[],[346],{"type":45,"value":347},"pipecat cloud",{"type":45,"value":349}," commands must be run from the directory containing the ",{"type":40,"tag":62,"props":351,"children":353},{"className":352},[],[354],{"type":45,"value":88},{"type":45,"value":356}," file. Use ",{"type":40,"tag":62,"props":358,"children":360},{"className":359},[],[361],{"type":45,"value":362},"cd \u003Cdir> && \u003Ccommand>",{"type":45,"value":364}," to ensure the correct working directory.",{"type":40,"tag":41,"props":366,"children":367},{},[368,370,375],{"type":45,"value":369},"Several ",{"type":40,"tag":62,"props":371,"children":373},{"className":372},[],[374],{"type":45,"value":347},{"type":45,"value":376}," commands prompt for interactive confirmation which doesn't work in this environment. Skip the prompts with these flags:",{"type":40,"tag":68,"props":378,"children":379},{},[380,410],{"type":40,"tag":72,"props":381,"children":382},{},[383,392,394,400,402,408],{"type":40,"tag":177,"props":384,"children":385},{},[386],{"type":40,"tag":62,"props":387,"children":389},{"className":388},[],[390],{"type":45,"value":391},"pipecat cloud deploy",{"type":45,"value":393},": Use ",{"type":40,"tag":62,"props":395,"children":397},{"className":396},[],[398],{"type":45,"value":399},"--force",{"type":45,"value":401}," (e.g., ",{"type":40,"tag":62,"props":403,"children":405},{"className":404},[],[406],{"type":45,"value":407},"pipecat cloud deploy --force",{"type":45,"value":409},")",{"type":40,"tag":72,"props":411,"children":412},{},[413,422,424,430,432,438],{"type":40,"tag":177,"props":414,"children":415},{},[416],{"type":40,"tag":62,"props":417,"children":419},{"className":418},[],[420],{"type":45,"value":421},"pipecat cloud secrets set",{"type":45,"value":423},": Use the ",{"type":40,"tag":62,"props":425,"children":427},{"className":426},[],[428],{"type":45,"value":429},"--skip",{"type":45,"value":431}," flag (e.g., ",{"type":40,"tag":62,"props":433,"children":435},{"className":434},[],[436],{"type":45,"value":437},"pipecat cloud secrets set NAME --file .env --skip",{"type":45,"value":409},{"type":40,"tag":41,"props":440,"children":441},{},[442,448],{"type":40,"tag":62,"props":443,"children":445},{"className":444},[],[446],{"type":45,"value":447},"pipecat cloud docker build-push",{"type":45,"value":449}," runs non-interactively and has no confirmation prompt, so no extra flag is needed.",{"type":40,"tag":451,"props":452,"children":453},"hr",{},[],{"type":40,"tag":48,"props":455,"children":457},{"id":456},"cloud-build-path",[458],{"type":45,"value":459},"Cloud Build Path",{"type":40,"tag":41,"props":461,"children":462},{},[463],{"type":45,"value":464},"This path uses Pipecat Cloud to build your Docker image from source. No local Docker installation is required.",{"type":40,"tag":466,"props":467,"children":469},"h3",{"id":468},"step-1-verify-dockerfile-and-lockfile",[470],{"type":45,"value":471},"Step 1: Verify Dockerfile and Lockfile",{"type":40,"tag":41,"props":473,"children":474},{},[475,477,483,485,490,492,498,500,506],{"type":45,"value":476},"Check that a ",{"type":40,"tag":62,"props":478,"children":480},{"className":479},[],[481],{"type":45,"value":482},"Dockerfile",{"type":45,"value":484}," exists in the build context directory (the directory containing ",{"type":40,"tag":62,"props":486,"children":488},{"className":487},[],[489],{"type":45,"value":88},{"type":45,"value":491},", or the ",{"type":40,"tag":62,"props":493,"children":495},{"className":494},[],[496],{"type":45,"value":497},"context_dir",{"type":45,"value":499}," from the ",{"type":40,"tag":62,"props":501,"children":503},{"className":502},[],[504],{"type":45,"value":505},"[build]",{"type":45,"value":507}," section of the config). If no Dockerfile is found, tell the user they need one and stop.",{"type":40,"tag":41,"props":509,"children":510},{},[511,513,519,520,526,528,534,535,541,543,549,551,557,559,564],{"type":45,"value":512},"If the Dockerfile references ",{"type":40,"tag":62,"props":514,"children":516},{"className":515},[],[517],{"type":45,"value":518},"uv",{"type":45,"value":401},{"type":40,"tag":62,"props":521,"children":523},{"className":522},[],[524],{"type":45,"value":525},"uv sync",{"type":45,"value":527},", ",{"type":40,"tag":62,"props":529,"children":531},{"className":530},[],[532],{"type":45,"value":533},"uv pip install",{"type":45,"value":527},{"type":40,"tag":62,"props":536,"children":538},{"className":537},[],[539],{"type":45,"value":540},"COPY uv.lock",{"type":45,"value":542},"), check that a ",{"type":40,"tag":62,"props":544,"children":546},{"className":545},[],[547],{"type":45,"value":548},"uv.lock",{"type":45,"value":550}," file exists in the build context directory. If it doesn't exist, run ",{"type":40,"tag":62,"props":552,"children":554},{"className":553},[],[555],{"type":45,"value":556},"uv lock",{"type":45,"value":558}," to generate it. If it already exists, run ",{"type":40,"tag":62,"props":560,"children":562},{"className":561},[],[563],{"type":45,"value":556},{"type":45,"value":565}," to ensure it's up to date. The lockfile must be present and current because cloud builds run remotely and cannot generate it.",{"type":40,"tag":466,"props":567,"children":569},{"id":568},"step-2-secrets-setup",[570],{"type":45,"value":571},"Step 2: Secrets Setup",{"type":40,"tag":41,"props":573,"children":574},{},[575],{"type":45,"value":576},"Ask the user if they need to create or update secrets for this deployment.",{"type":40,"tag":68,"props":578,"children":579},{},[580,599,619,630,635],{"type":40,"tag":72,"props":581,"children":582},{},[583,585,590,592,597],{"type":45,"value":584},"If yes, determine the env file path (from ",{"type":40,"tag":62,"props":586,"children":588},{"className":587},[],[589],{"type":45,"value":106},{"type":45,"value":591}," argument, or look for ",{"type":40,"tag":62,"props":593,"children":595},{"className":594},[],[596],{"type":45,"value":113},{"type":45,"value":598}," in the same directory as the config file, or ask the user).",{"type":40,"tag":72,"props":600,"children":601},{},[602,604,610,612,617],{"type":45,"value":603},"Read the ",{"type":40,"tag":62,"props":605,"children":607},{"className":606},[],[608],{"type":45,"value":609},"secret_set",{"type":45,"value":611}," name from the ",{"type":40,"tag":62,"props":613,"children":615},{"className":614},[],[616],{"type":45,"value":88},{"type":45,"value":618}," configuration.",{"type":40,"tag":72,"props":620,"children":621},{},[622,624],{"type":45,"value":623},"Run: ",{"type":40,"tag":62,"props":625,"children":627},{"className":626},[],[628],{"type":45,"value":629},"pipecat cloud secrets set {SECRET_SET_NAME} --file {ENV_FILE_PATH} --skip",{"type":40,"tag":72,"props":631,"children":632},{},[633],{"type":45,"value":634},"Show the output to the user.",{"type":40,"tag":72,"props":636,"children":637},{},[638],{"type":45,"value":639},"If no, skip this step.",{"type":40,"tag":466,"props":641,"children":643},{"id":642},"step-3-deploy",[644],{"type":45,"value":645},"Step 3: Deploy",{"type":40,"tag":41,"props":647,"children":648},{},[649],{"type":45,"value":650},"Ask the user to confirm they want to deploy the agent.",{"type":40,"tag":68,"props":652,"children":653},{},[654,659,669,674,679,692,705],{"type":40,"tag":72,"props":655,"children":656},{},[657],{"type":45,"value":658},"Show a summary of what will be deployed (agent_name, secret_set from the config).",{"type":40,"tag":72,"props":660,"children":661},{},[662,664],{"type":45,"value":663},"Run from the config directory: ",{"type":40,"tag":62,"props":665,"children":667},{"className":666},[],[668],{"type":45,"value":407},{"type":40,"tag":72,"props":670,"children":671},{},[672],{"type":45,"value":673},"Use a generous timeout (10 minutes) as the cloud build and deployment can take a while.",{"type":40,"tag":72,"props":675,"children":676},{},[677],{"type":45,"value":678},"This command handles both the cloud build and the deployment automatically.",{"type":40,"tag":72,"props":680,"children":681},{},[682,684,690],{"type":45,"value":683},"If the command times out but no error occurred, retrieve the build ID from the command output and run ",{"type":40,"tag":62,"props":685,"children":687},{"className":686},[],[688],{"type":45,"value":689},"pipecat cloud build logs {BUILD_ID}",{"type":45,"value":691}," to check build progress. Share the output with the user.",{"type":40,"tag":72,"props":693,"children":694},{},[695,697,703],{"type":45,"value":696},"If the build succeeds but deployment times out, check agent logs with ",{"type":40,"tag":62,"props":698,"children":700},{"className":699},[],[701],{"type":45,"value":702},"pipecat cloud agent logs {AGENT_NAME}",{"type":45,"value":704}," and share with the user.",{"type":40,"tag":72,"props":706,"children":707},{},[708],{"type":45,"value":709},"Show the deployment output and status to the user.",{"type":40,"tag":466,"props":711,"children":713},{"id":712},"cloud-build-error-handling",[714],{"type":45,"value":715},"Cloud Build Error Handling",{"type":40,"tag":68,"props":717,"children":718},{},[719,731],{"type":40,"tag":72,"props":720,"children":721},{},[722,724,729],{"type":45,"value":723},"If the build fails, retrieve the build ID from the command output and run ",{"type":40,"tag":62,"props":725,"children":727},{"className":726},[],[728],{"type":45,"value":689},{"type":45,"value":730}," to show the user what went wrong.",{"type":40,"tag":72,"props":732,"children":733},{},[734,736],{"type":45,"value":735},"Common cloud build issues:\n",{"type":40,"tag":68,"props":737,"children":738},{},[739,744,755],{"type":40,"tag":72,"props":740,"children":741},{},[742],{"type":45,"value":743},"Missing or invalid Dockerfile",{"type":40,"tag":72,"props":745,"children":746},{},[747,749],{"type":45,"value":748},"Build context too large (500MB limit) — check for large files that should be in ",{"type":40,"tag":62,"props":750,"children":752},{"className":751},[],[753],{"type":45,"value":754},".dockerignore",{"type":40,"tag":72,"props":756,"children":757},{},[758],{"type":45,"value":759},"Build timeout — the build exceeded the maximum duration",{"type":40,"tag":451,"props":761,"children":762},{},[],{"type":40,"tag":48,"props":764,"children":766},{"id":765},"self-managed-image-path",[767],{"type":45,"value":768},"Self-Managed Image Path",{"type":40,"tag":41,"props":770,"children":771},{},[772],{"type":45,"value":773},"This path builds and pushes the Docker image from your machine. Requires Docker to be installed and running.",{"type":40,"tag":466,"props":775,"children":777},{"id":776},"step-1-docker-prerequisites",[778],{"type":45,"value":779},"Step 1: Docker Prerequisites",{"type":40,"tag":41,"props":781,"children":782},{},[783],{"type":45,"value":784},"Check these additional prerequisites:",{"type":40,"tag":68,"props":786,"children":787},{},[788,805],{"type":40,"tag":72,"props":789,"children":790},{},[791,796,797,803],{"type":40,"tag":177,"props":792,"children":793},{},[794],{"type":45,"value":795},"Docker",{"type":45,"value":183},{"type":40,"tag":62,"props":798,"children":800},{"className":799},[],[801],{"type":45,"value":802},"docker info",{"type":45,"value":804}," succeeds (daemon running). If not, tell the user to start Docker and stop.",{"type":40,"tag":72,"props":806,"children":807},{},[808,813,814,820,822,827],{"type":40,"tag":177,"props":809,"children":810},{},[811],{"type":45,"value":812},"Docker login",{"type":45,"value":183},{"type":40,"tag":62,"props":815,"children":817},{"className":816},[],[818],{"type":45,"value":819},"docker login",{"type":45,"value":821}," succeeds. If not logged in, tell the user to run ",{"type":40,"tag":62,"props":823,"children":825},{"className":824},[],[826],{"type":45,"value":819},{"type":45,"value":206},{"type":40,"tag":466,"props":829,"children":831},{"id":830},"step-2-secrets-setup-1",[832],{"type":45,"value":571},{"type":40,"tag":41,"props":834,"children":835},{},[836],{"type":45,"value":576},{"type":40,"tag":68,"props":838,"children":839},{},[840,856,872,881,885],{"type":40,"tag":72,"props":841,"children":842},{},[843,844,849,850,855],{"type":45,"value":584},{"type":40,"tag":62,"props":845,"children":847},{"className":846},[],[848],{"type":45,"value":106},{"type":45,"value":591},{"type":40,"tag":62,"props":851,"children":853},{"className":852},[],[854],{"type":45,"value":113},{"type":45,"value":598},{"type":40,"tag":72,"props":857,"children":858},{},[859,860,865,866,871],{"type":45,"value":603},{"type":40,"tag":62,"props":861,"children":863},{"className":862},[],[864],{"type":45,"value":609},{"type":45,"value":611},{"type":40,"tag":62,"props":867,"children":869},{"className":868},[],[870],{"type":45,"value":88},{"type":45,"value":618},{"type":40,"tag":72,"props":873,"children":874},{},[875,876],{"type":45,"value":623},{"type":40,"tag":62,"props":877,"children":879},{"className":878},[],[880],{"type":45,"value":629},{"type":40,"tag":72,"props":882,"children":883},{},[884],{"type":45,"value":634},{"type":40,"tag":72,"props":886,"children":887},{},[888],{"type":45,"value":639},{"type":40,"tag":466,"props":890,"children":892},{"id":891},"step-3-build-and-push-docker-image",[893],{"type":45,"value":894},"Step 3: Build and Push Docker Image",{"type":40,"tag":41,"props":896,"children":897},{},[898],{"type":45,"value":899},"Ask the user if they want to build and push the Docker image.",{"type":40,"tag":68,"props":901,"children":902},{},[903,961],{"type":40,"tag":72,"props":904,"children":905},{},[906,908],{"type":45,"value":907},"If yes:",{"type":40,"tag":68,"props":909,"children":910},{},[911,930,939,944,956],{"type":40,"tag":72,"props":912,"children":913},{},[914,916,921,923,928],{"type":45,"value":915},"First, check if ",{"type":40,"tag":62,"props":917,"children":919},{"className":918},[],[920],{"type":45,"value":548},{"type":45,"value":922}," exists in the config directory. If so, run ",{"type":40,"tag":62,"props":924,"children":926},{"className":925},[],[927],{"type":45,"value":556},{"type":45,"value":929}," to ensure it's up to date before building.",{"type":40,"tag":72,"props":931,"children":932},{},[933,934],{"type":45,"value":663},{"type":40,"tag":62,"props":935,"children":937},{"className":936},[],[938],{"type":45,"value":447},{"type":40,"tag":72,"props":940,"children":941},{},[942],{"type":45,"value":943},"Use a generous timeout (5 minutes) as builds can take a while.",{"type":40,"tag":72,"props":945,"children":946},{},[947,949,954],{"type":45,"value":948},"If the build fails due to a stale lockfile, run ",{"type":40,"tag":62,"props":950,"children":952},{"className":951},[],[953],{"type":45,"value":556},{"type":45,"value":955}," in the config directory and retry.",{"type":40,"tag":72,"props":957,"children":958},{},[959],{"type":45,"value":960},"If the build fails for other reasons, show the error and ask the user how to proceed.",{"type":40,"tag":72,"props":962,"children":963},{},[964],{"type":45,"value":965},"If no, skip this step (image may already be pushed).",{"type":40,"tag":466,"props":967,"children":969},{"id":968},"step-4-deploy",[970],{"type":45,"value":971},"Step 4: Deploy",{"type":40,"tag":41,"props":973,"children":974},{},[975],{"type":45,"value":650},{"type":40,"tag":68,"props":977,"children":978},{},[979,984,993,998,1010],{"type":40,"tag":72,"props":980,"children":981},{},[982],{"type":45,"value":983},"Show a summary of what will be deployed (agent_name, image, secret_set from the config).",{"type":40,"tag":72,"props":985,"children":986},{},[987,988],{"type":45,"value":663},{"type":40,"tag":62,"props":989,"children":991},{"className":990},[],[992],{"type":45,"value":407},{"type":40,"tag":72,"props":994,"children":995},{},[996],{"type":45,"value":997},"Use a generous timeout (5 minutes) as deployment may take time to reach ready state.",{"type":40,"tag":72,"props":999,"children":1000},{},[1001,1003,1008],{"type":45,"value":1002},"If deployment times out but no error occurred, check logs with ",{"type":40,"tag":62,"props":1004,"children":1006},{"className":1005},[],[1007],{"type":45,"value":702},{"type":45,"value":1009}," and share with the user — the deployment may still be starting up.",{"type":40,"tag":72,"props":1011,"children":1012},{},[1013],{"type":45,"value":709},{"type":40,"tag":466,"props":1015,"children":1017},{"id":1016},"self-managed-image-error-handling",[1018],{"type":45,"value":1019},"Self-Managed Image Error Handling",{"type":40,"tag":68,"props":1021,"children":1022},{},[1023],{"type":40,"tag":72,"props":1024,"children":1025},{},[1026,1028],{"type":45,"value":1027},"Common issues:\n",{"type":40,"tag":68,"props":1029,"children":1030},{},[1031,1042,1060],{"type":40,"tag":72,"props":1032,"children":1033},{},[1034,1036,1041],{"type":45,"value":1035},"Docker not logged in to the image registry (",{"type":40,"tag":62,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":45,"value":819},{"type":45,"value":409},{"type":40,"tag":72,"props":1043,"children":1044},{},[1045,1047,1053,1055],{"type":45,"value":1046},"Missing ",{"type":40,"tag":62,"props":1048,"children":1050},{"className":1049},[],[1051],{"type":45,"value":1052},"image",{"type":45,"value":1054}," field in ",{"type":40,"tag":62,"props":1056,"children":1058},{"className":1057},[],[1059],{"type":45,"value":88},{"type":40,"tag":72,"props":1061,"children":1062},{},[1063,1065,1070,1072,1077],{"type":45,"value":1064},"Stale ",{"type":40,"tag":62,"props":1066,"children":1068},{"className":1067},[],[1069],{"type":45,"value":548},{"type":45,"value":1071}," file — run ",{"type":40,"tag":62,"props":1073,"children":1075},{"className":1074},[],[1076],{"type":45,"value":556},{"type":45,"value":1078}," to fix",{"type":40,"tag":451,"props":1080,"children":1081},{},[],{"type":40,"tag":48,"props":1083,"children":1085},{"id":1084},"general-error-handling",[1086],{"type":45,"value":1087},"General Error Handling",{"type":40,"tag":68,"props":1089,"children":1090},{},[1091,1103],{"type":40,"tag":72,"props":1092,"children":1093},{},[1094,1096,1101],{"type":45,"value":1095},"If any ",{"type":40,"tag":62,"props":1097,"children":1099},{"className":1098},[],[1100],{"type":45,"value":347},{"type":45,"value":1102}," command fails, show the full error output and explain what might have gone wrong.",{"type":40,"tag":72,"props":1104,"children":1105},{},[1106,1108],{"type":45,"value":1107},"Common issues for both paths:\n",{"type":40,"tag":68,"props":1109,"children":1110},{},[1111,1116,1126],{"type":40,"tag":72,"props":1112,"children":1113},{},[1114],{"type":45,"value":1115},"Invalid or expired Pipecat Cloud authentication",{"type":40,"tag":72,"props":1117,"children":1118},{},[1119,1121],{"type":45,"value":1120},"Missing or malformed ",{"type":40,"tag":62,"props":1122,"children":1124},{"className":1123},[],[1125],{"type":45,"value":88},{"type":40,"tag":72,"props":1127,"children":1128},{},[1129],{"type":45,"value":1130},"Secret set name mismatch between config and what exists in Pipecat Cloud",{"type":40,"tag":48,"props":1132,"children":1134},{"id":1133},"completion",[1135],{"type":45,"value":1136},"Completion",{"type":40,"tag":41,"props":1138,"children":1139},{},[1140],{"type":45,"value":1141},"After a successful deployment, summarize what was done:",{"type":40,"tag":68,"props":1143,"children":1144},{},[1145,1150,1155,1160],{"type":40,"tag":72,"props":1146,"children":1147},{},[1148],{"type":45,"value":1149},"Deployment method used (cloud build or self-managed image)",{"type":40,"tag":72,"props":1151,"children":1152},{},[1153],{"type":45,"value":1154},"Secrets created\u002Fupdated (if applicable)",{"type":40,"tag":72,"props":1156,"children":1157},{},[1158],{"type":45,"value":1159},"Image built and pushed (if applicable)",{"type":40,"tag":72,"props":1161,"children":1162},{},[1163],{"type":45,"value":1164},"Agent deployed with name from config",{"items":1166,"total":1199},[1167,1173,1187],{"slug":4,"name":4,"fn":5,"description":6,"org":1168,"tags":1169,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1170,1171,1172],{"name":18,"slug":19,"type":16},{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"slug":1174,"name":1174,"fn":1175,"description":1176,"org":1177,"tags":1178,"stars":23,"repoUrl":24,"updatedAt":1186},"init","scaffold new Pipecat projects","Scaffold a new Pipecat project with guided setup",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1179,1180,1183],{"name":18,"slug":19,"type":16},{"name":1181,"slug":1182,"type":16},"Engineering","engineering",{"name":1184,"slug":1185,"type":16},"Voice","voice","2026-07-13T06:09:54.384286",{"slug":1188,"name":1188,"fn":1189,"description":1190,"org":1191,"tags":1192,"stars":23,"repoUrl":24,"updatedAt":1198},"talk","start voice conversations with Pipecat","Start a voice conversation using the Pipecat MCP server",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1193,1194,1197],{"name":18,"slug":19,"type":16},{"name":1195,"slug":1196,"type":16},"Communications","communications",{"name":1184,"slug":1185,"type":16},"2026-07-13T06:09:53.088087",3,{"items":1201,"total":1199},[1202,1208,1214],{"slug":4,"name":4,"fn":5,"description":6,"org":1203,"tags":1204,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1205,1206,1207],{"name":18,"slug":19,"type":16},{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"slug":1174,"name":1174,"fn":1175,"description":1176,"org":1209,"tags":1210,"stars":23,"repoUrl":24,"updatedAt":1186},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1211,1212,1213],{"name":18,"slug":19,"type":16},{"name":1181,"slug":1182,"type":16},{"name":1184,"slug":1185,"type":16},{"slug":1188,"name":1188,"fn":1189,"description":1190,"org":1215,"tags":1216,"stars":23,"repoUrl":24,"updatedAt":1198},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1217,1218,1219],{"name":18,"slug":19,"type":16},{"name":1195,"slug":1196,"type":16},{"name":1184,"slug":1185,"type":16}]