Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 68 additions & 10 deletions .ai-agents/chains/custom/azure-devops-parent-processor.chain.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ parameters:
target_branch:
type: string
required: false
default: "main"
description: "Branche cible pour les PRs"
default: "develop"
description: "Branche cible pour les PRs (develop par défaut)"

auto_complete_prs:
type: boolean
required: false
default: false
description: "Auto-merge les PRs si tous les checks passent"
description: "❌ TOUJOURS false - Auto-merge INTERDIT (review humaine requise)"

# Phases du workflow
phases:
Expand Down Expand Up @@ -130,11 +130,37 @@ phases:
max_iterations: "{{ max_iterations }}"
checkpoint_enabled: true
instructions: |
⚠️ **RÈGLES STRICTES DE WORKFLOW GIT** ⚠️

❌ **INTERDICTIONS ABSOLUES** :
1. NE JAMAIS pousser directement sur develop
2. NE JAMAIS pousser directement sur main
3. NE JAMAIS pousser directement sur master
4. NE JAMAIS merger automatiquement les PRs
5. NE JAMAIS réutiliser une branche pour plusieurs tickets

✅ **OBLIGATIONS** :
1. TOUJOURS créer une branche feature depuis develop à jour
2. TOUJOURS pousser sur la branche feature uniquement
3. TOUJOURS créer une PR pour review humaine
4. TOUJOURS référencer le ticket dans les commits (#<id>)

📚 **Documentation** : Voir .ai/mcp/WORKFLOW_BRANCHES.md pour détails complets

---

Pour chaque ticket enfant (séquentiellement):


## 0. Vérification initiale ⚠️
- Vérifier que la branche actuelle N'EST PAS develop/main/master
- Si sur develop/main/master → ERREUR et arrêt
- Git checkout develop UNIQUEMENT pour créer la nouvelle branche

## 1. Préparation
- Créer une branche: feature/{{ ticket.type }}-{{ ticket.id }}-{{ ticket.title | slugify }}
- Checkout la branche
- Git checkout develop (temporairement pour créer branche)
- Git pull origin develop (mise à jour)
- Créer une branche: feature/{{ ticket.id }}-{{ ticket.title | slugify }}
- Git checkout feature/{{ ticket.id }}-{{ ticket.title | slugify }}
- Mettre à jour le statut Azure DevOps: "Active" (In Progress)
- Via MCP: mcp:ado:update_work_item({{ ticket.id }}, state="Active")

Expand Down Expand Up @@ -185,14 +211,22 @@ phases:
```

**Push:**
⚠️ **CRITICAL - Vérifier la branche avant push** :
```bash
git push origin feature/{{ ticket.type }}-{{ ticket.id }}-{{ ticket.title | slugify }}
# ✅ CORRECT - Push sur branche feature UNIQUEMENT
git push origin feature/{{ ticket.id }}-{{ ticket.title | slugify }}

# ❌ INTERDIT - NE JAMAIS faire ces commandes
# git push origin develop ← INTERDIT
# git push origin main ← INTERDIT
# git push origin master ← INTERDIT
```

**Créer PR via MCP:**
⚠️ **IMPORTANT** : auto_complete doit TOUJOURS être false (review humaine requise)
```
mcp:ado:create_pull_request(
title: "{{ ticket.type }} #{{ ticket.id }}: {{ ticket.title }}",
title: "[#{{ ticket.id }}] {{ ticket.title }}",
description: "
## Ticket Azure DevOps
[AB#{{ ticket.id }}]({{ ticket.url }})
Expand Down Expand Up @@ -440,3 +474,27 @@ recovery:
checkpoint_enabled: true
checkpoint_file: ".checkpoints/azure-parent-{{ parent_ticket_id }}.json"
resume_command: "@resume-chain azure-devops-parent-processor --checkpoint {{ checkpoint_file }}"

# Documentation
documentation:
guides:
- path: "docs/guides/azure-devops-parent-tickets-guide.md"
description: "Guide complet d'utilisation du workflow"
- path: ".ai/mcp/WORKFLOW_BRANCHES.md"
description: "⚠️ IMPORTANT - Stratégie Git et règles de branches strictes"
- path: ".ai/mcp/PROMPT_WORKFLOW_TICKETS.md"
description: "Prompt optimisé avec gestion branches détaillée"
- path: ".ai/mcp/servers/README.md"
description: "Configuration MCP modulaire (Azure DevOps + SonarQube)"

quick_reference:
usage: "@chain:azure-devops-parent-processor --parent-id 586655"
target_branch_default: "develop"
auto_merge: "TOUJOURS false (review humaine requise)"

critical_rules:
- "❌ NE JAMAIS pousser sur develop/main/master"
- "❌ NE JAMAIS merger automatiquement les PRs"
- "✅ TOUJOURS créer branche feature depuis develop"
- "✅ TOUJOURS pousser sur branche feature uniquement"
- "✅ TOUJOURS créer PR pour review humaine"
Loading