From 6b13d5be51ae669868e7f984e7d494fb8b9fbdbb Mon Sep 17 00:00:00 2001 From: Pierre Marx Date: Tue, 21 Oct 2025 14:25:07 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20D=C3=A9placement=20du=20workflow=20d?= =?UTF-8?q?=C3=A9taill=C3=A9=20vers=20.claude/commands/dev.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Suppression du workflow complet de CLAUDE.md (152 lignes) - Ajout d'une référence vers .claude/commands/dev.md - Ajout d'un résumé rapide en 6 points - Conservation des points de vigilance essentiels - Évite la duplication et facilite la maintenance --- CLAUDE.md | 162 +++++------------------------------------------------- 1 file changed, 14 insertions(+), 148 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 8d0a78f..df3e648 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -86,156 +86,22 @@ Chaque centre médical a sa propre webview Electron avec : ## Workflow de développement -### Workflow complet de release (de A à Z) +Pour le workflow complet de développement et de release, consulter [.claude/commands/dev.md](.claude/commands/dev.md). -Suivre **systématiquement** ce workflow pour chaque nouvelle version : +**Résumé rapide** : +1. Créer une branche feature +2. Développer en petits commits atomiques (dev → test → commit → repeat) +3. Préparer la release (changelog + version bump) +4. Merger dans main avec `--no-ff` +5. Build et organisation des artefacts +6. Documentation et déploiement -#### Phase 1 : Développement sur branche feature - -1. **Créer une branche feature** - ```bash - git checkout -b feature/nom-de-la-fonctionnalite - ``` - -2. **Développer avec commits atomiques** - - Préfixes : `feat:`, `fix:`, `refactor:`, `docs:`, `style:`, `test:`, `chore:` - - Un commit = une modification logique - - Messages clairs et descriptifs - - ```bash - git commit -m "feat: Ajouter la fonctionnalité X" - git commit -m "fix: Corriger le bug Y" - git commit -m "refactor: Simplifier le code Z" - ``` - -3. **Tester les modifications** - ```bash - npm run dev # Test en mode développement - ``` - -#### Phase 2 : Préparation de la release - -4. **Mettre à jour le changelog** (`docs/changelog.md`) - - Obtenir la date : `date +%Y-%m-%d` - - Format : `## [X.X.X] - AAAA-MM-JJ` - - Catégories : **Ajouté**, **Modifié**, **Corrigé**, **Supprimé**, **Technique**, **Documentation** - - Ajouter en haut du fichier (au-dessus de la version précédente) - -5. **Bumper la version** (`package.json`) - - **PATCH** (x.x.+1) : Corrections, petits ajustements - - **MINOR** (x.+1.0) : Nouvelles fonctionnalités compatibles - - **MAJOR** (+1.0.0) : Changements majeurs incompatibles - - Modifier le champ `"version": "X.X.X"` - -6. **Commit de release** - ```bash - git add docs/changelog.md package.json - git commit -m "release: Version X.X.X - Titre court - - - Fonctionnalité 1 - - Fonctionnalité 2 - - Correction 1 - - Bump version X.X.X" - ``` - - **Important** : Ne jamais mentionner Claude, Anthropic ou des adresses emails relatives à ces entités - -#### Phase 3 : Fusion dans main - -7. **Basculer sur main et fusionner** - ```bash - git checkout main - git merge feature/nom-de-la-fonctionnalite --no-ff - ``` - - `--no-ff` : Force un merge commit (historique propre et tracé) - -8. **Push vers origin** - ```bash - git push origin main - ``` - -#### Phase 4 : Build des exécutables - -9. **Build pour les plateformes nécessaires** - ```bash - # macOS (si développement sur Mac) - npm run build - - # Linux x64 (production principale) - npm run build:linux-x64 - - # Windows (si nécessaire) - npm run build:win - ``` - -10. **Organiser les builds dans dist/vX.X.X/** - ```bash - # Créer le dossier de version - mkdir -p dist/vX.X.X - - # Copier le changelog - cp docs/changelog.md dist/vX.X.X/CHANGELOG.md - - # Déplacer les builds - mv dist/SimpleConnect-X.X.X*.{AppImage,dmg,zip,exe} dist/vX.X.X/ 2>/dev/null - mv dist/SimpleConnect-X.X.X*.blockmap dist/vX.X.X/ 2>/dev/null - - # Vérifier le contenu - ls -lh dist/vX.X.X/ - ``` - -#### Phase 5 : Documentation finale - -11. **Créer les notes de release** (`releases/vX.X.X.md`) - - Structure markdown avec sections : - - Titre et date - - Résumé des changements - - Nouveautés principales - - Corrections - - Fichiers disponibles - - Compatibilité - - Guide d'utilisation (si nécessaire) - -12. **Commit et push de la documentation** - ```bash - git add releases/vX.X.X.md - git commit -m "docs: Ajout des notes de release pour vX.X.X" - git push origin main - ``` - -#### Phase 6 : Déploiement (optionnel) - -13. **Déployer sur le serveur de production** - ```bash - scp dist/vX.X.X/SimpleConnect-X.X.X.AppImage user@server:/path/to/app/ - ``` - -### Structure finale attendue - -Après chaque release, vérifier cette structure : - -``` -project/ -├── docs/ -│ └── changelog.md # ✅ Contient la nouvelle version -├── releases/ -│ └── vX.X.X.md # ✅ Notes de release détaillées -├── dist/ -│ └── vX.X.X/ # ✅ Dossier de version -│ ├── CHANGELOG.md -│ ├── SimpleConnect-X.X.X.AppImage -│ ├── SimpleConnect-X.X.X-arm64.dmg -│ └── SimpleConnect-X.X.X-arm64-mac.zip -└── package.json # ✅ Version à jour -``` - -### Points de vigilance - -- ❌ **Ne JAMAIS committer les binaires dans Git** (`dist/` est dans `.gitignore`) -- ✅ **Toujours utiliser --no-ff** pour les merges (historique tracé) -- ✅ **Tester avant de merger** dans main -- ✅ **Suivre Semantic Versioning** (semver.org) -- ✅ **Conventional Commits** pour les messages (conventionalcommits.org) +**Points de vigilance** : +- Ne JAMAIS committer les binaires dans Git (`dist/` est dans `.gitignore`) +- Toujours utiliser `--no-ff` pour les merges (historique tracé) +- Tester avant de committer (chaque commit = code fonctionnel) +- Suivre Semantic Versioning (semver.org) +- Conventional Commits pour les messages (conventionalcommits.org) ## Points d'attention