bump
Automatise les mises à jour de version des plugins avec détection automatique du type de version
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Automatise les mises à jour de version des plugins avec détection automatique du type de version
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Audite un projet API Platform existant et produit un rapport de bonnes pratiques, performances et sécurité
Génère des DTOs (input/output) API Platform avec mapping vers les entités
Génère des filtres API Platform (search, date, range, order, boolean, exists, custom)
Génère un State Processor API Platform pour personnaliser la persistence des données
Génère un State Provider API Platform pour personnaliser la récupération de données
Génère une API Resource complète avec attribut
| name | bump |
| description | Automatise les mises à jour de version des plugins avec détection automatique du type de version |
| model | haiku |
| allowed-tools | ["Read","Edit","Bash","Glob","Grep","TaskCreate","TaskUpdate","TaskList","AskUserQuestion"] |
| version | 2.0.0 |
| license | MIT |
Mettre à jour automatiquement la version d'un ou plusieurs plugins avec détection automatique du type de version.
RÈGLE CRITIQUE : Chaque étape DOIT être trackée via TaskCreate/TaskUpdate.
in_progress au débutcompleted UNIQUEMENT quand l'étape est 100% terminéeINTERDICTION de marquer une tâche completed sans avoir :
🔒 AVANT DE MARQUER COMPLETED de l'étapeSi une sous-étape semble "non applicable" : tu DOIS quand même lire le fichier cible pour le vérifier. Ne JAMAIS supposer qu'une étape est inapplicable sans preuve.
OBLIGATOIRE : Utilise TaskCreate pour créer ces 6 tâches dans cet ordre exact :
TaskCreate #1: "Détecter les plugins modifiés"
- activeForm: "Detecting modified plugins"
- description: "git diff pour identifier plugins avec modifications"
TaskCreate #2: "Sélectionner les plugins à bumper"
- activeForm: "Selecting plugins to bump"
- description: "AskUserQuestion pour sélection utilisateur"
TaskCreate #3: "Mettre à jour fichiers du plugin"
- activeForm: "Updating plugin files"
- description: "plugin.json + CHANGELOG.md + README.md du plugin"
TaskCreate #4: "Mettre à jour fichiers du marketplace"
- activeForm: "Updating marketplace files"
- description: "README.md global + CHANGELOG.md global + marketplace.json + PR template"
TaskCreate #5: "Mettre à jour dépendances et documentation"
- activeForm: "Updating dependencies and docs"
- description: "DEPENDENCIES.json + rebuild VitePress (npm run build)"
TaskCreate #6: "Vérifier et afficher résumé"
- activeForm: "Verifying final result"
- description: "Lister tous les fichiers modifiés + prochaine étape"
Après création : Affiche TaskList pour confirmer que les 6 tâches existent.
TaskUpdate : Tâche #1 → in_progress
Exécute en parallèle :
git diff --name-only HEAD
git diff --staged --name-only
Traitement :
.claude/, fichiers à la racineTaskUpdate : Tâche #1 → completed
TaskUpdate : Tâche #2 → in_progress
Utilise AskUserQuestion :
{
"questions": [{
"question": "Quels plugins veux-tu bumper ?",
"header": "Plugins",
"multiSelect": true,
"options": [
{"label": "Tous les plugins modifiés (N plugins) (Recommended)", "description": "Bumper automatiquement tous"},
{"label": "{plugin} (N fichiers)", "description": "Version actuelle : X.Y.Z"}
]
}]
}
Vérification dépréciation : Pour chaque plugin sélectionné, lis {plugin}/.claude-plugin/plugin.json et vérifie si "deprecated": true est présent. Si oui, afficher un avertissement :
⚠️ {plugin} est déprécié (remplacé par : {replaced_by}). Continuer quand même ? (bump patch uniquement recommandé)
TaskUpdate : Tâche #2 → completed
TaskUpdate : Tâche #3 → in_progress
Pour CHAQUE plugin sélectionné, dans cet ordre :
git diff --staged --name-only --diff-filter=A | grep "^{plugin}/"
Règles :
agents/*.md) → MINORskills/*/) → MINORLis {plugin}/.claude-plugin/plugin.json et calcule :
1.2.3 → 1.2.41.2.3 → 1.3.0git diff {plugin}/
git diff --staged {plugin}/
Catégorise en : Added, Changed, Fixed, Removed
"version": "NOUVELLE_VERSION"
Ajoute en haut (après le titre) :
## [NOUVELLE_VERSION] - YYYY-MM-DD
### Added
- ...
### Changed
- ...
OBLIGATOIRE si MINOR : Lis {plugin}/README.md avec Read et mets à jour :
tree)Si le README ne contient pas de section pertinente, en ajouter une.
🔒 AVANT DE MARQUER COMPLETED - Vérifie ces points :
{plugin}/.claude-plugin/plugin.json → version mise à jour (Read pour vérifier){plugin}/CHANGELOG.md → nouvelle entrée en haut du fichier (Read pour vérifier){plugin}/README.md → nouvelles commandes/agents/structure documentés (Read pour vérifier)TaskUpdate : Tâche #3 → completed
TaskUpdate : Tâche #4 → in_progress
OBLIGATOIRE : Lis README.md avec Read. Trouve le tableau des plugins et mets à jour la ligne du plugin :
| 📝 **{Plugin}** | NOUVELLE_VERSION | Description mise à jour | [README](...) |
OBLIGATOIRE : Lis CHANGELOG.md avec Read. Vérifie si section du jour existe :
## [YYYY.MM.DD] - YYYY-MM-DD
Si non, crée-la après ## [Unreleased].
Ajoute :
### Plugins Updated
- **{plugin} vNOUVELLE_VERSION** - Résumé des changements
- Détail changement 1
- Détail changement 2
- Dépôt : [{plugin}/CHANGELOG.md]({plugin}/CHANGELOG.md)
OBLIGATOIRE : Lis .claude-plugin/marketplace.json avec Read. Si le plugin n'existe pas :
{
"name": "{plugin}",
"source": "./{plugin}",
"description": "..."
}
Si le plugin existe déjà, vérifier que sa description est à jour.
Vérifie la cohérence :
.env.claude (si applicable)Condition : Vérifie si les fichiers modifiés du plugin contiennent des références à .env.claude :
git diff {plugin}/ | grep -i "env\.claude\|MAIN_BRANCH\|WORKTREE_DIR\|REPO\|PROJECT"
Si des variables .env.claude sont ajoutées ou modifiées dans les skills :
docs/guide/env-claude.md avec ReadSi aucune référence .env.claude détectée : passer cette sous-étape.
Condition : Exécuter si {plugin}/.claude-plugin/plugin.json contient "deprecated": true.
5.6.1 Sidebar (docs/.vitepress/config.ts) :
Lis le fichier. La sidebar est définie dans la constante pluginsSidebar en haut du fichier. Trouve l'item correspondant au plugin (cherche link: '/plugins/{plugin}' dans la constante). Ajoute le champ badge si absent :
{ text: '{Plugin}', link: '/plugins/{plugin}', badge: { text: 'Déprécié', type: 'danger' } }
5.6.2 Page doc (docs/plugins/{plugin}.md) :
⚠️ Ne pas modifier manuellement ce fichier. Il est généré automatiquement par scripts/generate-docs.ts lors du rebuild VitePress (étape 6.2). Le badge <Badge type="danger" text="Déprécié" /> et le callout :::warning sont ajoutés automatiquement si deprecated: true est présent dans plugin.json.
Si aucun deprecated: true détecté : passer cette sous-étape.
Met à jour .github/PULL_REQUEST_TEMPLATE/default.md avec la liste des plugins :
plugin.json :find . -name "plugin.json" -path "*/.claude-plugin/*" | sed 's|^\./||' | sed 's|/.claude-plugin/plugin.json||' | grep -v "^templates/" | sort
## Plugin(s) concerné(s)
<!-- Coche les plugins impactés -->
- [ ] {plugin1}
- [ ] {plugin2}
...
## Plugin(s) concerné(s) et ## Checklist)🔒 AVANT DE MARQUER COMPLETED - Vérifie ces points :
README.md global → ligne du plugin mise à jour avec nouvelle version (Read pour vérifier)CHANGELOG.md global → entrée du jour avec résumé du plugin (Read pour vérifier).claude-plugin/marketplace.json → plugin présent avec description à jour (Read pour vérifier)docs/guide/env-claude.md → variables .env.claude à jour si applicable (Read pour vérifier)deprecated: true → docs/.vitepress/config.ts badge ajouté + docs/plugins/{plugin}.md callout ajouté (Read pour vérifier).github/PULL_REQUEST_TEMPLATE/default.md → liste plugins synchronisée (Read pour vérifier)TaskUpdate : Tâche #4 → completed
TaskUpdate : Tâche #5 → in_progress
Si {plugin}/DEPENDENCIES.json n'existe pas, scanner et créer :
{
"version": "1.0",
"critical": {},
"optional": {},
"packages": {"npm": {}}
}
OBLIGATOIRE - TOUJOURS EXÉCUTER, SANS EXCEPTION :
cd docs && npm run build
Vérifie que la commande s'exécute sans erreur. Si erreur, corriger avant de continuer.
git status --short docs/
Les fichiers docs/plugins/{plugin}.md et docs/commands/index.md doivent être modifiés.
Si nouveaux agents ajoutés, docs/agents/index.md doit aussi être modifié.
Si nouveaux hooks ajoutés, docs/hooks/index.md doit aussi être modifié.
🔒 AVANT DE MARQUER COMPLETED - Vérifie ces points :
{plugin}/DEPENDENCIES.json → existe (Read pour vérifier)cd docs && npm run build → exécuté avec succès (0 erreurs)git status --short docs/ → au moins docs/plugins/{plugin}.md et docs/commands/index.md modifiésdocs/agents/index.md aussi modifiédocs/hooks/index.md aussi modifiéTaskUpdate : Tâche #5 → completed
TaskUpdate : Tâche #6 → in_progress
Affiche le résumé complet :
✅ Plugin {plugin} : v{OLD} → v{NEW} ({TYPE})
Type : {PATCH|MINOR}
Raison : {description}
Fichiers modifiés :
✓ {plugin}/.claude-plugin/plugin.json
✓ {plugin}/CHANGELOG.md
✓ {plugin}/README.md (si applicable)
✓ README.md
✓ CHANGELOG.md
✓ .claude-plugin/marketplace.json (si nouveau)
✓ .github/PULL_REQUEST_TEMPLATE/default.md
✓ docs/plugins/{plugin}.md
✓ docs/commands/index.md
✓ docs/agents/index.md (si nouveaux agents)
✓ docs/hooks/index.md (si nouveaux hooks)
Prochaine étape : /git:commit
TaskUpdate : Tâche #6 → completed
OBLIGATOIRE : Avant de terminer, vérifie chaque fichier individuellement avec git diff --name-only et confirme que TOUS ces fichiers apparaissent dans la liste des modifiés :
{plugin}/.claude-plugin/plugin.json → version incrémentée{plugin}/CHANGELOG.md → nouvelle entrée datée du jour{plugin}/README.md → à jour si MINOR (nouveaux skills/agents documentés)README.md → tableau des plugins avec nouvelle versionCHANGELOG.md → entrée du jour avec résumé plugin.claude-plugin/marketplace.json → description à jour (si nouveau plugin)docs/guide/env-claude.md → variables .env.claude à jour (si nouvelles variables détectées).github/PULL_REQUEST_TEMPLATE/default.md → liste plugins synchroniséedocs/plugins/{plugin}.md → régénéré via VitePress (badge + callout dépréciation auto si deprecated: true)docs/commands/index.md → régénéré via VitePressdocs/agents/index.md → régénéré si nouveaux agentsdocs/hooks/index.md → régénéré si nouveaux hooksSi un fichier manque dans git diff --name-only, STOP : tu as oublié une étape.
{plugin}/.claude-plugin/plugin.json{plugin}/CHANGELOG.md{plugin}/README.mdREADME.mdCHANGELOG.md.claude-plugin/marketplace.json{plugin}/DEPENDENCIES.jsondocs/plugins/{plugin}.mddocs/commands/index.mddocs/guide/env-claude.md.github/PULL_REQUEST_TEMPLATE/default.md