# Configuration Claude — Mediknode / Unified

Cette config aide Claude Code à travailler sur ce projet en respectant ses conventions réelles
(routing multi-sous-domaine, multi-instance, service layer, pattern Meta, observers d'audit, tests).

**Documentation :**
- [GUIDE.md](GUIDE.md) — les briques : skills, sous-agents, commands. À lire en premier.
- [GUIDE-AVANCE.md](GUIDE-AVANCE.md) — méthode de travail : chain prompting, hooks, parallélisme, contexte.

## Sous-agents (`.claude/agents/`)
Claude délègue automatiquement, ou lance-les explicitement (« utilise l'agent … »).

| Agent | Quand l'utiliser |
|-------|------------------|
| `laravel-feature` | Feature complète : route + contrôleur/service + vue + test |
| `livewire-expert` | Composants Livewire 3, migration module Participants, tables réactives |
| `excel-io` | Imports/Exports `maatwebsite/excel` (dedup, checks, logs, force mode) |
| `test-writer` | Écrire des tests Feature/Unit (forte couverture, chemins critiques d'abord) |
| `bug-investigator` | Reproduire + corriger un bug avec test de non-régression |
| `multi-instance` | Adaptation par client (FPI, JPT, KEA, AGOB…) + `.env.*` |
| `security-reviewer` | Revue sécu/intégrité avant merge (argent, RBAC, uploads, delete) |

## Slash commands (`.claude/commands/`)

| Commande | Effet |
|----------|-------|
| `/new-feature <desc>` | Implémente une feature de bout en bout + test |
| `/fix-bug <desc>` | Reproduit, root-cause, corrige, test de régression |
| `/add-import <quoi>` | Crée/durcit un import Excel (dedup, checks, logs) |
| `/add-export <quoi>` | Crée/améliore un export Excel formaté |
| `/write-tests <cible>` | Écrit des tests aux conventions du projet |
| `/new-instance <client> <quoi>` | Scaffold/adapte pour une instance client |
| `/pre-commit` | Quality gate (pint + php -l + tests + mini revue) avant commit |

## Skills (`.claude/skills/`)
Savoir métier chargé automatiquement quand c'est pertinent :
- `project-conventions` — style PHP/Laravel, réponses, validation, locale FR, RBAC
- `routing-multisubdomain` — sous-domaines frontend/backend, branches par domaine, URLs de test
- `meta-pattern` — attributs dynamiques User/Participant
- `audit-observers` — log d'audit auto + état du soft delete
- `testing-conventions` — squelette de test (RefreshDatabase, URL via config, permissions Spatie)

## Principes encodés partout
1. **Tests systématiques** — chaque changement ship avec un test ; priorité argent/totaux/imports/RBAC.
2. **Pas de pattern réinventé** — lire le code existant avant d'écrire.
3. **Locale française** pour tout l'user-facing (y compris noms de tests).
4. **Pint + tests** avant de déclarer terminé.
5. **Sécurité argent/delete** — totaux recalculés serveur, attention au hard delete sur entités auditées.

> Note : `settings.local.json` (permissions locales) n'est pas versionné par convention. Les agents/skills/commands ci-dessus peuvent être commités pour toute l'équipe.
