ComposioHQ/deploy-pipeline

Execute pipelines de deploy completas entre Stripe, Supabase e Vercel usando o CLI do Composio. Promova produtos no Stripe, execute migrações no Supabase, faça deploys no Vercel e verifique com checagens pós-deploy — tudo a partir de um único script.

O que é deploy-pipeline?

Esta skill automatiza o processo de lançamento de software full-stack, coordenando ações em Stripe (criação/atualização de preços), Supabase (aplicação de migrações de banco de dados) e Vercel (deploy e promoção de produção), tudo orquestrado pelo CLI do Composio. Ela é ideal para equipes que precisam executar sequências de deploy confiáveis e repetíveis, garantindo a ordem correta: primeiro alterações de cobrança, depois migrações de banco de dados, depois deploy do frontend, seguidas por verificações de saúde e anúncio no Slack. A skill oferece comandos prontos para cada etapa, um arquivo de workflow executável e um plano de rollback detalhado para reverter alterações em caso de falha, mantendo a integridade do sistema.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ComposioHQ/awesome-codex-skills/tree/main/deploy-pipeline

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Pipeline de Deploy (Stripe / Supabase / Vercel)

Coordenar lançamentos em etapas no Stripe, Supabase e Vercel diretamente do shell usando o CLI do Composio. Um único script dispara toda a sequência de "lançamento": atualizações de produto/preço, migrações de banco de dados, deploy do frontend, verificações de fumaça e changelog.

Quando Usar

  • Lançamento de produto que envolva faturamento, banco de dados e frontend simultaneamente.
  • Promoção de um build de pré-visualização do Vercel para produção com um ajuste de preço no Stripe e uma migração no Supabase.
  • Trilhas de lançamento semanais onde a mesma sequência se repete e você deseja que seja confiável.

Pré-requisitos

curl -fsSL https://composio.dev/install | bash
composio login
composio link stripe
composio link supabase
composio link vercel
composio link slack        # para anúncios de lançamento

Descobrir Ferramentas

composio search "create price" --toolkits stripe
composio search "apply migration" --toolkits supabase
composio search "create deployment" --toolkits vercel
composio tools list stripe
composio tools list supabase
composio tools list vercel

Slugs comuns (verifique com --get-schema):

Stripe

  • STRIPE_CREATE_PRODUCT
  • STRIPE_CREATE_PRICE
  • STRIPE_UPDATE_PRODUCT
  • STRIPE_LIST_PRICES

Supabase

  • SUPABASE_LIST_PROJECTS
  • SUPABASE_RUN_SQL_QUERY
  • SUPABASE_LIST_MIGRATIONS
  • SUPABASE_APPLY_MIGRATION

Vercel

  • VERCEL_CREATE_A_NEW_DEPLOYMENT
  • VERCEL_GET_A_DEPLOYMENT_BY_ID_OR_URL
  • VERCEL_LIST_DEPLOYMENTS
  • VERCEL_PROMOTE_DEPLOYMENT

O Pipeline

A ordem importa: Stripe → Supabase → Vercel → Verificar → Anunciar. Mudanças de faturamento antes do banco de dados, banco de dados antes do frontend.

1. Stripe: Criar ou Atualizar o Preço

composio execute STRIPE_CREATE_PRICE -d '{
  "product":"prod_abc123",
  "unit_amount":2900,
  "currency":"usd",
  "recurring":{"interval":"month"},
  "lookup_key":"team-plan-v2"
}'

2. Supabase: Aplicar Migrações

composio execute SUPABASE_APPLY_MIGRATION -d '{
  "project_id":"abcxyz",
  "name":"add_team_tier_column",
  "query":"alter table teams add column tier text default '\''free'\'';"
}'

Verifique o esquema depois:

composio execute SUPABASE_RUN_SQL_QUERY -d '{
  "project_id":"abcxyz",
  "query":"select column_name from information_schema.columns where table_name='\''teams'\'' and column_name='\''tier'\'';"
}'

3. Vercel: Deploy + Promover

# Disparar um deploy de produção a partir de uma referência git
composio execute VERCEL_CREATE_A_NEW_DEPLOYMENT -d '{
  "name":"web",
  "target":"production",
  "gitSource":{"type":"github","ref":"main","repoId":123456}
}'

Consultar até ficar pronto:

composio execute VERCEL_GET_A_DEPLOYMENT_BY_ID_OR_URL -d '{"idOrUrl":"dpl_xxx"}' \
  | jq '.readyState'

4. Verificar

curl -fsS https://app.acme.com/api/health
composio execute SUPABASE_RUN_SQL_QUERY -d '{
  "project_id":"abcxyz","query":"select count(*) from teams where tier is null;"
}'

5. Anunciar

composio execute SLACK_SEND_MESSAGE -d '{
  "channel":"releases",
  "text":"✅ Team Plan v2 lançado. Preço do Stripe `team-plan-v2` ativo, migração do Supabase aplicada, produção do Vercel promovida."
}'

Pipeline como Arquivo de Workflow

scripts/ship.ts, execute com composio run --file scripts/ship.ts -- --ref main:

const ref = process.argv[process.argv.indexOf("--ref") + 1] ?? "main";

// 1. Stripe
const price = await execute("STRIPE_CREATE_PRICE", {
  product: "prod_abc123", unit_amount: 2900, currency: "usd",
  recurring: { interval: "month" }, lookup_key: "team-plan-v2"
});

// 2. Supabase
await execute("SUPABASE_APPLY_MIGRATION", {
  project_id: "abcxyz",
  name: "add_team_tier_column",
  query: "alter table teams add column tier text default 'free';"
});

// 3. Vercel
const dep = await execute("VERCEL_CREATE_A_NEW_DEPLOYMENT", {
  name: "web", target: "production",
  gitSource: { type: "github", ref, repoId: 123456 }
});

// 4. Aguardar pronto
let state = "QUEUED";
while (state !== "READY" && state !== "ERROR") {
  await new Promise(r => setTimeout(r, 4000));
  const d = await execute("VERCEL_GET_A_DEPLOYMENT_BY_ID_OR_URL", { idOrUrl: dep.id });
  state = d.readyState;
}

if (state !== "READY") throw new Error("Falha no deploy do Vercel");

// 5. Anunciar
await execute("SLACK_SEND_MESSAGE", {
  channel: "releases",
  text: `✅ Lançado ${ref}. Preço do Stripe ${price.id}, Vercel ${dep.url}.`
});

Plano de Rollback

Se a verificação falhar, desfaça na ordem reversa:

  1. Vercel: VERCEL_PROMOTE_DEPLOYMENT para o ID do deploy anterior.
  2. Supabase: aplique a migração de reversão (sempre escreva o down.sql correspondente antes de lançar).
  3. Stripe: STRIPE_UPDATE_PRODUCT para ocultar o novo preço (active:false); não delete — objetos do Stripe são imutáveis na prática e afetam faturas históricas.
  4. Slack: anuncie o rollback.

Solução de Problemas

  • Preço do Stripe visível mas checkout ainda mostra o antigo → cache no lado do seu aplicativo; confirme que lookup_key é o que o checkout busca.
  • Migração do Supabase trava → outra conexão mantém um lock; execute select pid, state, query from pg_stat_activity where state <> 'idle';.
  • Deploy do Vercel travado em QUEUED → verifique logs de build via VERCEL_GET_A_DEPLOYMENT_BY_ID_OR_URL com ?logs=1.
  • Erro de ordenação (frontend lê uma coluna antes da migração ser aplicada) → sempre serializar o pipeline; nunca use --parallel entre Stripe/Supabase/Vercel.

Referência completa do CLI: docs.composio.dev/docs/cli

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ComposioHQ/-21risk-automation

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/-2chat-automation

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/ably-automation

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abstract-automation

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abuselpdb-automation

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abyssale-automation

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accelo-automation

Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accredible-certificates-automation

Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/acculynx-automation

Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/active-campaign-automation

Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/addresszen-automation

Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adobe-automation

Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adrapid-automation

Automate Adrapid tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adyntel-automation

Automate Adyntel tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aeroleads-automation

Automate Aeroleads tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aero-workflow-automation

Automate Aero Workflow tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinda-automation

Automate Affinda tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinity-automation

Automate Affinity tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agencyzoom-automation

Automate Agencyzoom tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agent-deep-links

Build, validate, and troubleshoot deep links for Codex, Cursor, VS Code, Visual Studio, and similar tools. Use when users ask for clickable links (especially in Slack) that open threads, files, folders, or app settings.

Habilidades Relacionadas