Simpl-Resultat/.claude/skills/release/SKILL.md
le king fu b37be36ddc chore(claude): add project rules and release skill, ignore local state
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 20:44:49 -04:00

2.6 KiB

name description user-invocable updated
release Release a new version of Simpl-Resultat (bump, changelog, tag, push) true 2026-04-19

/release — Release Simpl-Resultat

Context injection

  1. Lire version dans src-tauri/Cargo.toml et package.json
  2. Lister les derniers tags : git tag --sort=-v:refname | head -10
  3. Lire CHANGELOG.md et CHANGELOG.fr.md (dernieres entrees)

Workflow

  1. Determiner la nouvelle version (argument utilisateur ou demander)
  2. Bump version dans les 5 fichiers :
    • src-tauri/Cargo.toml (ligne version = "...")
    • src-tauri/Cargo.lock (bloc [[package]] name = "simpl-result" + sa ligne version = "..." ; ne PAS regenerer avec cargo)
    • src-tauri/tauri.conf.json (champ "version")
    • package.json (champ "version")
    • package-lock.json (deux champs "version" — root ~ligne 3 et le package racine "" ~ligne 9)
      • Si package-lock.json est stale (hygiene warning package-lock.json plus ancien que package.json) : npm install --package-lock-only --no-audit --no-fund pour resync. Note : peut ajouter des entrees bundled optionnelles (tailwindcss oxide wasm etc.) — cosmetique, pas d'install effective.
  3. Mettre a jour les 2 changelogs — format Keep a Changelog :
    • CHANGELOG.md (EN)
    • CHANGELOG.fr.md (FR)
    • Pattern de migration : transformer ## [Unreleased] en ## [X.Y.Z] - YYYY-MM-DD, puis recreer une section ## [Unreleased] vide au-dessus pour accueillir les prochaines entrees. Ne pas deplacer le contenu — les sections sont laissees en place.
  4. Si changement d'architecture : mettre a jour docs/architecture.md
  5. Commit : chore: release vX.Y.Z (ajouter les 7 fichiers : 5 bumps + 2 changelogs)
  6. Tag annote (permet une release notes par tag, lisible via git show vX.Y.Z) :
    git tag -a vX.Y.Z -m "Release X.Y.Z
    
    - <bullet highlights>"
    
  7. Push : git push origin main && git push origin vX.Y.Z
  8. Forgejo CI build automatique (Windows + Linux) via release.yml sur on: push: tags: v*

Regles

  • JAMAIS git push --tags — toujours push le tag individuellement
  • Toujours mettre a jour les 2 changelogs (EN + FR)
  • Format Keep a Changelog : ## [X.Y.Z] - YYYY-MM-DD
  • Les changelogs sont bundles dans public/ pour l'affichage in-app
  • Tag annote (-a), pas lightweight : les artefacts CI reference le tag pour les release notes

Changelog

  • 2026-04-19 — Added Cargo.lock + package-lock.json to bump list, npm install --package-lock-only fallback when lockfile stale, explicit [Unreleased] migration pattern, annotated tags (#102/#112 release cycle)