sdk-signer-client/.cursor/rules/85-release-guard.mdc

38 lines
1.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
alwaysApply: true
---
# Garde de release: tests, documentation, compilation, sécurité, version, changelog, tag
[portée]
Contrôler systématiquement avant push/tag: tests verts, docs mises à jour, build OK, audit de sécurité OK, alignement numéro de version ↔ changelog ↔ tag git, mise à jour de déploiement, confirmation utilisateur (latest vs wip).
[objectifs]
- Empêcher toute publication sans vérifications minimales.
- Exiger la cohérence sémantique (VERSION/TEMPLATE_VERSION ↔ CHANGELOG ↔ tag git).
- Demander explicitement « latest » ou « wip » et appliquer la bonne stratégie.
[directives]
- Avant push/tag, exécuter: tests, compilation, lints (si configurés), audit de sécurité (npm audit/cargo audit + scan secrets).
- Mettre à jour la documentation et le changelog en conséquence.
- Aligner le fichier de version (VERSION ou TEMPLATE_VERSION), lentrée CHANGELOG et le tag.
- Demander confirmation utilisateur: `latest` (release stable) ou `wip` (travail en cours).
- latest: entrée datée dans CHANGELOG, version stable, tag `vX.Y.Z`.
- wip: suffixe `-wip` recommandé dans version/tag (ex: `vX.Y.Z-wip.N`).
- Mettre à jour le déploiement après publication (si pipeline défini), sinon documenter létape.
[validations]
- Refuser push/tag si:
- tests/compilation échouent,
- audit de sécurité échoue (vulnérabilités bloquantes ou secrets détectés),
- CHANGELOG non mis à jour,
- VERSION/TEMPLATE_VERSION absent ou incohérent,
- release type non fourni (ni latest, ni wip).
[artefacts concernés]
- CHANGELOG.md, VERSION ou TEMPLATE_VERSION, docs/**, .gitea/workflows/**, scripts/**.