# Workflow RPI

**RPI** = **R**esearch → **P**lan → **I**mplement

Un workflow de développement systématique avec portes de validation à chaque phase. Il évite de gaspiller de l'effort sur des fonctionnalités non viables et garantit une documentation complète.

<table width="100%">
<tr>
<td><a href="../../">← Retour à Claude Code Best Practice</a></td>
<td align="right"><img src="../../../!/claude-jumping.svg" alt="Claude" width="60" /></td>
</tr>
</table>

---

## Vue d'ensemble

![Workflow RPI](../../../development-workflows/rpi/rpi-workflow.svg)

---

## Installation

Copie le dossier `.claude` (contenant `agents/` et `commands/rpi/`) à la racine de ton dépôt, puis crée le répertoire `rpi/plans`.

---

## Exemple de workflow

### Fonctionnalité : authentification utilisateur

**Étape 1 : décrire**
```
User: "Add OAuth2 authentication with Google and GitHub providers"

1. Claude génère le plan
   → Sortie : rpi/plans/oauth2-authentication.md
2. Crée le dossier de fonctionnalité : rpi/oauth2-authentication/
3. Copie le plan dans le dossier de fonctionnalité
4. Renomme le plan en REQUEST.md
   → Final : rpi/oauth2-authentication/REQUEST.md
```

**Étape 2 : Research**
```bash
/rpi:research rpi/oauth2-authentication/REQUEST.md
```
Sortie :
- `research/RESEARCH.md` avec l'analyse
- Verdict : **GO** (faisable, aligné avec la stratégie)

**Étape 3 : Plan**
```bash
/rpi:plan oauth2-authentication
```
Sortie :
- `plan/pm.md` - User stories et critères d'acceptation
- `plan/ux.md` - Flows d'interface de connexion
- `plan/eng.md` - Architecture technique
- `plan/PLAN.md` - 3 phases, 15 tâches

**Étape 4 : Implement**
```bash
/rpi:implement oauth2-authentication
```
Progression :
- Phase 1 : fondation backend → PASS
- Phase 2 : intégration frontend → PASS
- Phase 3 : tests & finition → PASS

Résultat : fonctionnalité complète, prête pour PR.

---

## Structure du dossier de fonctionnalité

Tout le travail de fonctionnalité vit dans `rpi/{feature-slug}/` :

```
rpi/{feature-slug}/
├── REQUEST.md              # Étape 1 : description initiale de la fonctionnalité
├── research/
│   └── RESEARCH.md         # Étape 2 : analyse GO/NO-GO
├── plan/
│   ├── PLAN.md             # Étape 3 : roadmap d'implémentation
│   ├── pm.md               # Exigences produit
│   ├── ux.md               # Design UX
│   └── eng.md              # Spécification technique
└── implement/
    └── IMPLEMENT.md        # Étape 4 : journal d'implémentation
```

---

## Agents et commandes

| Commande | Agents utilisés |
|----------|-----------------|
| `/rpi:research` | requirement-parser, product-manager, Explore, senior-software-engineer, technical-cto-advisor, documentation-analyst-writer |
| `/rpi:plan` | senior-software-engineer, product-manager, ux-designer, documentation-analyst-writer |
| `/rpi:implement` | Explore, senior-software-engineer, code-reviewer |
