К основному содержанию
команда

ci-pipeline — команда для Claude Code: что делает и как установить

Настраивает и проверяет CI/CD в GitHub Actions прямо из диалога. Пригодится, когда нужно развернуть пайплайн с тестами, матрицей версий и деплоем на staging и production.

Установить в Claude Code · Через claude-code-templates Все способы и платформы ↓
npx claude-code-templates@latest --command automation/ci-pipeline
Открыть на GitHub

Что делает ci-pipeline

Команда автоматизирует создание и отладку воркфлоу GitHub Actions. Она читает текущие конфигурации в .github/workflows/, скрипты в package.json и переменные в .env*. С её помощью агент формирует пайплайны с матричным тестированием под разные версии Node.js и операционные системы, настраивает линтер, проверку покрытия тестами и выгрузку артефактов.

Внутрь заложены шаблоны для поэтапного деплоя, аудита безопасности через npm audit, сканирования секретов утилитой TruffleHog и прогона тестов производительности с помощью Lighthouse. Дополнительно команда может выводить процент сбоев и длительность сборки через вызовы GitHub API.

Для полноценной проверки статусов и работы с секретами репозитория понадобится установленный GitHub CLI (gh). Без утилиты gh агент не сможет прочитать последние запуски пайплайнов и застрянет на этапе мониторинга.

Какие задачи решает

  • Сгенерировать воркфлоу тестирования и сборки с матрицей окружений
  • Настроить деплой на staging и production по веткам или релизам
  • Добавить сканирование секретов и аудит зависимостей в pull request
  • Проверить статус упавших запусков и время сборки через GitHub CLI

Примеры запросов агенту

  • /ci-pipeline setup
  • /ci-pipeline status
  • /ci-pipeline fix

Как установить ci-pipeline

1Через claude-code-templates

npx claude-code-templates@latest --command automation/ci-pipeline

2Вручную: положить файлы

.claude/commands/ci-pipeline.md

Вызов — /ci-pipeline. Для всех проектов — ~/.claude/commands/

Вопросы о ci-pipeline

Как установить ci-pipeline в Claude Code?

Выполните команду npx claude-code-templates@latest --command automation/ci-pipeline. Также можно вручную добавить файл шаблона по пути .claude/commands/ci-pipeline.md.

Что делает команда ci-pipeline?

Она помогает создавать, обновлять и анализировать пайплайны GitHub Actions в проекте. Команда добавляет шаги сборки, тестов, кэширования, проверки безопасности и деплоя.

Обязательно ли устанавливать GitHub CLI для работы?

Для генерации YAML-файлов воркфлоу gh не требуется. Но для команд проверки статуса пайплайнов, чтения логов сборок и сохранения секретов репозитория утилита gh необходима.

Исходный текст

ci-pipeline.md · MIT
---
allowed-tools: Read, Write, Edit, Bash
argument-hint: "[pipeline-name] | setup | status | fix"
description: Manage and automate CI/CD pipeline configuration with GitHub Actions, multi-environment support, and deployment strategies
---

# CI/CD Pipeline Manager

Manage CI/CD pipeline automation: $ARGUMENTS

## Current Pipeline State

- GitHub Actions: !`find .github/workflows -name "*.yml" -o -name "*.yaml" 2>/dev/null | head -5`
- CI configuration: @.github/workflows/ (if exists)
- Package scripts: @package.json
- Environment files: !`find . -name ".env*" | head -3`
- Recent workflow runs: !`gh run list --limit 5 2>/dev/null || echo "GitHub CLI not available"`

## Task

Automate CI/CD pipeline management with comprehensive workflow orchestration.

## Pipeline Operations

### Setup New Pipeline
Create complete CI/CD pipeline with:

```yaml
# .github/workflows/ci.yml
name: CI Pipeline
on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [18, 20]
    steps:
      - uses: actions/checkout@v4
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'
      
      - name: Install dependencies
        run: npm ci
      
      - name: Run linter
        run: npm run lint
      
      - name: Run tests
        run: npm run test:coverage
      
      - name: Build application
        run: npm run build
      
      - name: Upload coverage
        uses: codecov/codecov-action@v3
        with:
          file: ./coverage/lcov.info
```

### Multi-Environment Deployment
```yaml
# .github/workflows/deploy.yml
name: Deploy
on:
  push:
    branches: [main]
  release:
    types: [published]

jobs:
  deploy-staging:
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    environment: staging
    steps:
      - uses: actions/checkout@v4
      - name: Deploy to Staging
        run: |
          npm run build:staging
          npm run deploy:staging
        env:
          STAGING_API_URL: ${{ secrets.STAGING_API_URL }}
          STAGING_SECRET: ${{ secrets.STAGING_SECRET }}

  deploy-production:
    if: github.event_name == 'release'
    runs-on: ubuntu-latest
    environment: production
    needs: [test]
    steps:
      - uses: actions/checkout@v4
      - name: Deploy to Production
        run: |
          npm run build:production
          npm run deploy:production
        env:
          PROD_API_URL: ${{ secrets.PROD_API_URL }}
          PROD_SECRET: ${{ secrets.PROD_SECRET }}
```

### Security & Quality Gates
```yaml
  security-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Run security audit
        run: npm audit --audit-level=moderate
      
      - name: Scan for secrets
        uses: trufflesecurity/trufflehog@main
        with:
          path: ./
          base: main
          head: HEAD
      
      - name: SAST Scan
        uses: github/super-linter@v4
        env:
          DEFAULT_BRANCH: main
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```

### Performance Testing
```yaml
  performance:
    runs-on: ubuntu-latest
    if: github.event_name == 'pull_request'
    steps:
      - uses: actions/checkout@v4
      - name: Performance Test
        run: |
          npm run build
          npm run start:test &
          sleep 10
          npx lighthouse http://localhost:3000 --output=json --output-path=./lighthouse.json
      
      - name: Comment PR
        uses: actions/github-script@v6
        with:
          script: |
            const fs = require('fs');
            const lighthouse = JSON.parse(fs.readFileSync('./lighthouse.json'));
            const score = lighthouse.lhr.categories.performance.score * 100;
            
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: `⚡ Performance Score: ${score}/100`
            });
```

## Advanced Features

### 1. **Matrix Strategy Testing**
```yaml
strategy:
  matrix:
    os: [ubuntu-latest, windows-latest, macos-latest]
    node-version: [16, 18, 20]
    include:
      - os: ubuntu-latest
        node-version: 20
        coverage: true
```

### 2. **Conditional Workflows**
```yaml
- name: Skip CI
  if: contains(github.event.head_commit.message, '[skip ci]')
  run: echo "Skipping CI as requested"

- name: Deploy only on version tags
  if: startsWith(github.ref, 'refs/tags/v')
  run: npm run deploy
```

### 3. **Workflow Dependencies**
```yaml
jobs:
  test:
    runs-on: ubuntu-latest
    
  build:
    needs: test
    runs-on: ubuntu-latest
    
  deploy:
    needs: [test, build]
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
```

### 4. **Cache Optimization**
```yaml
- name: Cache node modules
  uses: actions/cache@v3
  with:
    path: ~/.npm
    key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
    restore-keys: |
      ${{ runner.os }}-node-

- name: Cache build output
  uses: actions/cache@v3
  with:
    path: dist
    key: build-${{ github.sha }}
```

### 5. **Artifact Management**
```yaml
- name: Upload build artifacts
  uses: actions/upload-artifact@v3
  with:
    name: dist-files
    path: dist/
    retention-days: 7

- name: Download artifacts
  uses: actions/download-artifact@v3
  with:
    name: dist-files
    path: dist/
```

### 6. **Environment Management**
```yaml
environments:
  staging:
    url: https://staging.example.com
    
  production:
    url: https://example.com
    protection_rules:
      - type: required_reviewers
        required_reviewers:
          - devops-team
      - type: wait_timer
        wait_timer: 5
```

## Pipeline Monitoring

### Status Checks
```bash
# Check workflow status
gh run list --workflow=ci.yml --limit=10

# View specific run
gh run view [run-id] --log

# Monitor failure rate
gh api repos/:owner/:repo/actions/runs \
  --jq '.workflow_runs[0:20] | map(select(.conclusion=="failure")) | length'
```

### Performance Metrics
```bash
# Average build time
gh api repos/:owner/:repo/actions/runs \
  --jq '.workflow_runs[0:50] | map(.run_duration_ms) | add / length'

# Success rate calculation
gh api repos/:owner/:repo/actions/runs \
  --jq '.workflow_runs[0:100] | [group_by(.conclusion)[] | {conclusion: .[0].conclusion, count: length}]'
```

## Troubleshooting

### Common Issues

#### 1. **Workflow Permission Issues**
```yaml
permissions:
  contents: read
  actions: write
  security-events: write
  pull-requests: write
```

#### 2. **Secret Management**
```bash
# Add repository secret
gh secret set STAGING_API_URL --body "https://staging-api.example.com"

# List secrets
gh secret list
```

#### 3. **Timeout Configuration**
```yaml
jobs:
  long-running-job:
    runs-on: ubuntu-latest
    timeout-minutes: 60
    steps:
      - name: Long task
        timeout-minutes: 30
        run: npm run long-task
```

#### 4. **Debugging Workflows**
```yaml
- name: Debug information
  run: |
    echo "Event name: ${{ github.event_name }}"
    echo "Ref: ${{ github.ref }}"
    echo "SHA: ${{ github.sha }}"
    echo "Actor: ${{ github.actor }}"
```

## Best Practices

### 1. **Fail Fast Strategy**
- Run fastest jobs first
- Use `fail-fast: true` in matrix
- Implement early validation steps

### 2. **Security First**
- Never store secrets in code
- Use least privilege permissions
- Scan for vulnerabilities early

### 3. **Efficiency Optimization**
- Use appropriate cache strategies
- Minimize workflow duration
- Parallel job execution

### 4. **Monitoring & Alerting**
- Track build success rates
- Monitor deployment frequency
- Alert on critical failures

## Integration Examples

### Docker Integration
```yaml
- name: Build Docker image
  run: |
    docker build -t myapp:${{ github.sha }} .
    docker tag myapp:${{ github.sha }} myapp:latest

- name: Push to registry
  run: |
    echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
    docker push myapp:${{ github.sha }}
    docker push myapp:latest
```

### Cloud Deployment
```yaml
- name: Deploy to AWS
  uses: aws-actions/configure-aws-credentials@v2
  with:
    aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
    aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
    aws-region: us-east-1

- name: Deploy to S3
  run: |
    aws s3 sync dist/ s3://my-bucket --delete
    aws cloudfront create-invalidation --distribution-id ${{ secrets.CLOUDFRONT_ID }} --paths "/*"
```

This pipeline manager provides comprehensive automation for modern CI/CD workflows with security, performance, and monitoring built-in.

© davila7 · MIT · davila7/claude-code-templates

Похожие слэш-команды

Все слэш-команды по теме «DevOps и инфраструктура» →

Из того же набора361

Весь набор →
neon-database-architect Субагент для проектирования схем Neon, настройки Drizzle ORM и оптимизации запросов в serverless-окружении. 478установок e2e-setup Команда разворачивает сквозное E2E-тестирование в проекте, подбирает фреймворк и настраивает запуск тестов в CI. 477установок optimize-memory-usage Команда ищет утечки и лишний расход памяти, затем предлагает настройки и проверки для frontend, backend или базы данных. 476установок podcast-content-analyzer Субагент для Claude разбирает транскрипты подкастов: находит яркие моменты, режет на главы, вытаскивает ключевые слова и оценивает потенциал клипов. 474установок project-health-check Команда собирает метрики репозитория и формирует отчёт о состоянии проекта с оценкой от 0 до 100. Пригодится перед релизом или планированием спринта. 466установок validate-branch-name Хук перехватывает команды Bash перед запуском и не даёт создать ветку, которая не подходит под Git Flow. 464установок write-tests Собирает unit-, integration-, e2e- и component-тесты с моками. Пригодится, когда нужно разобрать файл и добавить тестовый набор под его фреймворк. 459установок flutter-go-reviewer Субагент для Claude, который проверяет изменения в пул-реквестах и свежий код на Go, Protobuf, PostgreSQL, Flutter, Riverpod и GetX. 452установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой