| name | migrate |
| description | Gère les migrations : DB, dépendances majeures, changement de lib, ou mise à jour de framework. |
| disable-model-invocation | true |
Modes
/migrate db [description] — Migration de base de données
Avant de commencer :
python scripts/supabase_migrate.py --diff
git stash || git commit -m "chore: pre-migration checkpoint"
Création et application :
python scripts/supabase_migrate.py --new [description]
python scripts/supabase_migrate.py --env local
Checklist post-migration :
- Toute nouvelle table → vérifier
ENABLE ROW LEVEL SECURITY + politiques RLS
python scripts/supabase_rls_check.py — doit retourner 0 tables sans RLS
- Mettre à jour
core/entities/ et core/ports/ si les types changent
- Régénérer les types TypeScript :
pnpm supabase gen types
- Tests blast radius :
pnpm test -- --grep [feature]
Rollback :
python scripts/supabase_migrate.py --new rollback-[description]
python scripts/supabase_migrate.py --env local
Règle stricte : jamais modifier une migration déjà appliquée — toujours créer une nouvelle.
/migrate dep [package] [version] — Mise à jour de dépendance majeure
- Lire changelog/release notes officiel (WebSearch) — breaking changes uniquement
- Grep les imports du package dans tout le projet
- Appliquer les changements fichier par fichier
tsc --noEmit + tests après chaque fichier
- Si la migration est complexe →
/deep-update (veille changelog approfondie)
- Documenter dans
decisions.md si changement architecturel
/migrate lib [ancienne] → [nouvelle] — Changement de librairie
- Rechercher le guide de migration officiel (WebSearch)
- Mapper les API ancienne → nouvelle (tableau de correspondance)
- EnterPlanMode — plan fichier par fichier avant de toucher quoi que ce soit
- Remplacer fichier par fichier, tests verts entre chaque
pnpm remove [ancienne] seulement quand 0 import restant (Grep)
- Tests complets +
tsc --noEmit
/migrate framework [version] — Mise à jour de framework
- Lire le guide de migration officiel (WebSearch) — ne pas supposer les breaking changes
- Créer une branch dédiée :
git checkout -b migrate/[framework]-[version]
- Suivre le guide étape par étape — une étape = un commit
tsc --noEmit + build + tests après chaque étape
- Si Next.js : vérifier App Router codemods disponibles (
npx @next/codemod)
- Créer un ADR documentant les décisions de migration