{
  "github": {
    "defaultBase": "main",
    "autoAssignReviewers": true,
    "autoAddLabels": true,
    "enableAutoMerge": false,
    "requireApprovals": 2,
    "deleteBranchAfterMerge": true,
    "allowSquashMerge": true,
    "allowMergeCommit": false,
    "allowRebaseMerge": true,
    "enableBranchProtection": true
  },
  "templates": {
    "feature": {
      "file": "feature-pr-template.md",
      "title": "feat({scope}): {description}",
      "sections": ["description", "changes", "testing", "issues", "checklist"]
    },
    "bugfix": {
      "file": "bugfix-pr-template.md",
      "title": "fix({scope}): {description}",
      "sections": ["problem", "solution", "verification", "testing"]
    },
    "hotfix": {
      "file": "hotfix-pr-template.md",
      "title": "hotfix({scope}): {description}",
      "sections": ["urgency", "rootcause", "fix", "verification", "deployment"]
    },
    "docs": {
      "file": "docs-pr-template.md",
      "title": "docs({scope}): {description}",
      "sections": ["changes", "impact", "checklist"]
    },
    "chore": {
      "file": "chore-pr-template.md",
      "title": "chore({scope}): {description}",
      "sections": ["changes", "impact", "testing"]
    },
    "release": {
      "file": "release-pr-template.md",
      "title": "release: version {version}",
      "sections": ["changelog", "breaking", "migration", "testing"]
    }
  },
  "reviewers": {
    "codeOwners": true,
    "autoSuggest": true,
    "rules": {
      "frontend": {
        "paths": ["src/components/", "src/pages/", "src/styles/"],
        "reviewers": ["@frontend-team", "@ui-specialists"]
      },
      "backend": {
        "paths": ["backend/", "src/services/", "src/api/"],
        "reviewers": ["@backend-team", "@api-experts"]
      },
      "docs": {
        "paths": ["docs/", "README.md", "*.md"],
        "reviewers": ["@tech-writers", "@documentation-team"]
      },
      "security": {
        "patterns": ["auth", "security", "password", "token", "oauth"],
        "reviewers": ["@security-team"]
      },
      "performance": {
        "patterns": ["performance", "optimization", "speed", "memory"],
        "reviewers": ["@performance-team"]
      },
      "testing": {
        "paths": ["tests/", "**/*.test.*", "**/*.spec.*"],
        "reviewers": ["@qa-team", "@testing-experts"]
      },
      "database": {
        "paths": ["migrations/", "schemas/", "database/"],
        "reviewers": ["@database-team"]
      }
    },
    "minimumReviewers": 1,
    "maximumReviewers": 3,
    "requireDomainExpertise": true,
    "excludeSelfReview": true
  },
  "labels": {
    "autoDetect": true,
    "mapping": {
      "feat": ["enhancement", "feature"],
      "fix": ["bug", "bugfix"],
      "docs": ["documentation"],
      "style": ["style", "formatting"],
      "refactor": ["refactor", "cleanup"],
      "perf": ["performance"],
      "test": ["testing"],
      "chore": ["maintenance"],
      "security": ["security", "vulnerability"],
      "hotfix": ["hotfix", "urgent", "critical"]
    },
    "sizeLabels": {
      "enabled": true,
      "thresholds": {
        "small": 100,
        "medium": 500,
        "large": 1000,
        "xlarge": 2000
      },
      "labels": {
        "small": "size/S",
        "medium": "size/M",
        "large": "size/L",
        "xlarge": "size/XL"
      }
    },
    "priorityLabels": {
      "enabled": true,
      "mapping": {
        "hotfix": "priority/critical",
        "security": "priority/high",
        "feature": "priority/medium",
        "docs": "priority/low",
        "chore": "priority/low"
      }
    },
    "customLabels": {
      "breaking-change": {
        "trigger": "BREAKING CHANGE",
        "color": "d73a4a"
      },
      "needs-migration": {
        "trigger": ["migration", "database", "schema"],
        "color": "fbca04"
      },
      "external-api": {
        "trigger": ["api", "external", "integration"],
        "color": "0052cc"
      }
    }
  },
  "analysis": {
    "detectBreakingChanges": true,
    "analyzeComplexity": true,
    "suggestReviewers": true,
    "estimateReviewTime": true,
    "checkDependencies": true,
    "analyzeTestCoverage": true,
    "detectSecurityImpact": true,
    "checkPerformanceImpact": true
  },
  "validation": {
    "requireTests": {
      "forFeatures": true,
      "forBugfixes": true,
      "threshold": 80
    },
    "requireDocumentation": {
      "forNewFeatures": true,
      "forAPIChanges": true,
      "forBreakingChanges": true
    },
    "checkConflicts": true,
    "validateBranchName": true,
    "requireLinearHistory": false,
    "maxFilesChanged": 100
  },
  "notifications": {
    "slack": {
      "enabled": false,
      "webhook": "",
      "channels": {
        "features": "#feature-reviews",
        "hotfixes": "#urgent-reviews",
        "docs": "#documentation",
        "security": "#security-reviews"
      },
      "mentionReviewers": true,
      "includePreview": true,
      "notifyOnStatusChange": true
    },
    "email": {
      "enabled": false,
      "recipients": [],
      "template": "pr-notification-template.html"
    },
    "teams": {
      "enabled": false,
      "webhook": "",
      "channels": ["General"]
    }
  },
  "integrations": {
    "jira": {
      "enabled": false,
      "autoLinkTickets": true,
      "transitionOnMerge": true,
      "addPRLinkToTicket": true,
      "ticketPatterns": ["PROJ-\\d+", "TICKET-\\d+", "TASK-\\d+"],
      "statusMapping": {
        "draft": "In Review",
        "open": "Code Review",
        "merged": "Done"
      }
    },
    "confluence": {
      "enabled": false,
      "autoUpdateDocs": true,
      "spaceName": "Engineering"
    },
    "linear": {
      "enabled": false,
      "autoLinkIssues": true,
      "transitionOnMerge": true
    }
  },
  "ai": {
    "generateDescription": true,
    "suggestTitle": true,
    "analyzeChanges": true,
    "recommendReviewers": true,
    "estimateEffort": true,
    "detectRisks": true,
    "suggestTestCases": true,
    "generateChangelog": true
  },
  "templates_content": {
    "feature": "## 🚀 Feature: {feature_name}\n\n### 📋 Descripción\n{description}\n\n### ✨ Cambios Principales\n{changes}\n\n### 🧪 Testing\n- [ ] Unit tests añadidos/actualizados\n- [ ] Integration tests verificados\n- [ ] E2E tests completados\n- [ ] Manual testing realizado\n\n### 🔗 Issues Relacionados\nCloses #{issue_numbers}\n\n### 🚨 Breaking Changes\n{breaking_changes}\n\n### 📝 Checklist\n- [ ] Código revisado por el autor\n- [ ] Documentación actualizada\n- [ ] Tests pasando\n- [ ] No merge conflicts\n- [ ] Performance verificado",
    "bugfix": "## 🐛 Bugfix: {bug_description}\n\n### 🎯 Problema\n{problem_description}\n\n### 🔧 Solución\n{solution_description}\n\n### 🧪 Verificación\n- [ ] Bug reproducido\n- [ ] Fix verificado localmente\n- [ ] Regression tests añadidos\n- [ ] No side effects detectados\n\n### 📋 Testing Instructions\n{testing_steps}\n\n### 🔗 Issue Relacionado\nFixes #{issue_number}",
    "hotfix": "## 🔥 HOTFIX: {critical_issue}\n\n### ⚠️ URGENTE\n{urgency_description}\n\n### 🎯 Root Cause\n{root_cause_analysis}\n\n### 🔧 Quick Fix\n{fix_description}\n\n### ✅ Verification\n- [ ] Issue confirmed in production\n- [ ] Fix tested in staging\n- [ ] No breaking changes\n- [ ] Rollback plan ready\n\n### 🚀 Deployment\n- [ ] Ready for immediate deployment\n- [ ] Stakeholders notified\n- [ ] Monitoring alerts configured"
  }
} 
