Pular para o conteúdo
Skillpedia
Automações107 mil · #342

ci-cd-and-automation

Ensina seu agente de IA a automatizar tarefas repetitivas e colocar projetos no ar e cuidar da infraestrutura.

O que ela faz

Este sistema automatiza a configuração de processos que verificam seu código. Ele garante que apenas código de qualidade chegue ao resultado final, testando tudo antes.

Quando usar

  • ✓Ao iniciar um novo projeto e configurar suas verificações.
  • ✓Quando quiser adicionar ou mudar testes automáticos.
  • ✓Para configurar como o código será liberado para uso.

Exemplo do que pedir para a IA

“Configure um pipeline de testes automáticos para meu projeto.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/addyosmani/agent-skills/blob/main/skills/ci-cd-and-automation/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/addyosmani/agent-skills/blob/main/skills/ci-cd-and-automation/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele funciona definindo uma série de verificações (como testes de código, de funcionalidade e de segurança) que o código deve passar antes de ser considerado pronto. Se algo falhar, o sistema avisa para que seja corrigido.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add addyosmani/agent-skills --skill ci-cd-and-automation

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/addyosmani/agent-skills/main/skills/ci-cd-and-automation/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

CI/CD e Automação

Visão Geral

Automatize portões de qualidade para que nenhuma alteração chegue à produção sem passar por testes, lint, verificação de tipos e build. CI/CD é o mecanismo de aplicação para todas as outras habilidades — ele captura o que humanos e agentes perdem, e faz isso consistentemente em cada alteração.

Shift Left (Deslocar para a Esquerda): Capture problemas o mais cedo possível no pipeline. Um bug capturado no linting custa minutos; o mesmo bug capturado em produção custa horas. Mova as verificações para montante — análise estática antes dos testes, testes antes do staging, staging antes da produção.

Mais Rápido é Mais Seguro: Lotes menores e lançamentos mais frequentes reduzem o risco, não o aumentam. Uma implantação com 3 alterações é mais fácil de depurar do que uma com 30. Lançamentos frequentes constroem confiança no próprio processo de lançamento.

Quando Usar

  • Configurando o pipeline de CI de um novo projeto
  • Adicionando ou modificando verificações automatizadas
  • Configurando pipelines de implantação
  • Quando uma alteração deve acionar verificação automatizada
  • Depurando falhas de CI

O Pipeline de Portões de Qualidade

Cada alteração passa por estes portões antes do merge:

Pull Request Opened
    │
    ▼
┌─────────────────┐
│   LINT CHECK     │  eslint, prettier
│   ↓ pass         │
│   TYPE CHECK     │  tsc --noEmit
│   ↓ pass         │
│   UNIT TESTS     │  jest/vitest
│   ↓ pass         │
│   BUILD          │  npm run build
│   ↓ pass         │
│   INTEGRATION    │  API/DB tests
│   ↓ pass         │
│   E2E (optional) │  Playwright/Cypress
│   ↓ pass         │
│   SECURITY AUDIT │  npm audit
│   ↓ pass         │
│   BUNDLE SIZE    │  bundlesize check
└─────────────────┘
    │
    ▼
  Ready for review

Nenhum portão pode ser pulado. Se o lint falhar, corrija o lint — não desabilite a regra. Se um teste falhar, corrija o código — não pule o teste.

Configuração do GitHub Actions

Pipeline de CI Básico

# .github/workflows/ci.yml
name: CI

on:
  pull_request:
    branches: [main]
  push:
    branches: [main]

jobs:
  quality:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-node@v4
        with:
          node-version: '22'
          cache: 'npm'

      - name: Install dependencies
        run: npm ci

      - name: Lint
        run: npm run lint

      - name: Type check
        run: npx tsc --noEmit

      - name: Test
        run: npm test -- --coverage

      - name: Build
        run: npm run build

      - name: Security audit
        run: npm audit --audit-level=high

Com Testes de Integração de Banco de Dados

  integration:
    runs-on: ubuntu-latest
    services:
      postgres:
        image: postgres:16
        env:
          POSTGRES_DB: testdb
          POSTGRES_USER: ci_user
          POSTGRES_PASSWORD: ${{ secrets.CI_DB_PASSWORD }}
        ports:
          - 5432:5432
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5

    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '22'
          cache: 'npm'
      - run: npm ci
      - name: Run migrations
        run: npx prisma migrate deploy
        env:
          DATABASE_URL: postgresql://ci_user:${{ secrets.CI_DB_PASSWORD }}@localhost:5432/testdb
      - name: Integration tests
        run: npm run test:integration
        env:
          DATABASE_URL: postgresql://ci_user:${{ secrets.CI_DB_PASSWORD }}@localhost:5432/testdb

Observação: Mesmo para bancos de dados de teste apenas para CI, use Segredos do GitHub para credenciais em vez de codificar valores. Isso cria bons hábitos e evita o reuso acidental de credenciais de teste em outros contextos.

Testes E2E

  e2e:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '22'
          cache: 'npm'
      - run: npm ci
      - name: Install Playwright
        run: npx playwright install --with-deps chromium
      - name: Build
        run: npm run build
      - name: Run E2E tests
        run: npx playwright test
      - uses: actions/upload-artifact@v4
        if: failure()
        with:
          name: playwright-report
          path: playwright-report/

Alimentando Falhas de CI de Volta para Agentes

O poder do CI com agentes de IA é o loop de feedback. Quando o CI falha:

CI falha
    │
    ▼
Copie a saída da falha
    │
    ▼
Alimente o agente:
"O pipeline de CI falhou com este erro:
[cole o erro específico]

…
Perguntas frequentes

O que são 'quality gates'?

São barreiras de qualidade. Cada 'gate' é uma verificação que o código precisa passar para seguir adiante, como testes de código ou de funcionalidade.

Por que 'quanto mais rápido, mais seguro'?

Liberar pequenas mudanças com frequência é mais seguro. É mais fácil encontrar e corrigir um problema em uma pequena atualização do que em uma grande, reduzindo riscos.

O que é 'Shift Left'?

Significa encontrar problemas o mais cedo possível no processo. Corrigir um erro no início custa menos tempo e esforço do que corrigi-lo quando o produto já está pronto ou em uso.

Detalhes

Descrição original do autor

Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.

repo: addyosmani/agent-skills

Popularidade

Estrelas no GitHub
107 mil
Posição no ranking
#342
Licença
MIT
Atualizada em
13/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas