module:
  name: cicd
  version: 1.0.0
  description: Módulo avanzado de CI/CD con soporte para múltiples proveedores y pipelines complejos
  category: devops
  author: Backend MCP
  license: MIT
  tags:
    - cicd
    - devops
    - automation
    - deployment
    - pipeline

dependencies:
  required:
    - docker
    - git
  optional:
    - kubernetes
    - terraform
    - ansible

features:
  - Multi-provider CI/CD (GitHub, GitLab, Jenkins, Azure DevOps)
  - Advanced pipeline configuration
  - Blue-green deployments
  - Canary releases
  - Infrastructure as Code
  - Monitoring and alerting integration
  - Security scanning
  - Performance testing

triggers:
  - project_init
  - deployment_setup
  - pipeline_config

config:
  provider:
    type: string
    required: true
    options: [github, gitlab, jenkins, azure, circleci]
    description: CI/CD provider to use
  
  strategy:
    type: string
    default: rolling
    options: [rolling, blue-green, canary]
    description: Deployment strategy
  
  environments:
    type: array
    default: [staging, production]
    description: Target environments for deployment
  
  notifications:
    type: object
    properties:
      slack:
        type: string
        description: Slack webhook URL
      email:
        type: array
        description: Email recipients
      teams:
        type: string
        description: Microsoft Teams webhook
  
  security:
    type: object
    properties:
      scan_vulnerabilities:
        type: boolean
        default: true
      scan_secrets:
        type: boolean
        default: true
      compliance_checks:
        type: boolean
        default: false

outputs:
  - .github/workflows/ (for GitHub)
  - .gitlab-ci.yml (for GitLab)
  - Jenkinsfile (for Jenkins)
  - azure-pipelines.yml (for Azure DevOps)
  - docker-compose.ci.yml
  - scripts/deploy.sh
  - scripts/rollback.sh
  - k8s/ (if Kubernetes is enabled)
  - terraform/ (if Infrastructure as Code is enabled)

examples:
  - name: GitHub Actions with Docker
    description: Complete CI/CD pipeline with Docker deployment
    config:
      provider: github
      strategy: rolling
      environments: [staging, production]
      notifications:
        slack: "https://hooks.slack.com/..."
  
  - name: GitLab CI with Kubernetes
    description: GitLab CI pipeline with Kubernetes deployment
    config:
      provider: gitlab
      strategy: blue-green
      environments: [dev, staging, production]
      kubernetes:
        enabled: true
        namespace: myapp

documentation:
  setup: README.md#setup
  configuration: README.md#configuration
  examples: README.md#examples
  troubleshooting: README.md#troubleshooting