# Contribuer à l'Alliance Boréale Bienvenue ! Voici les conventions pour garder un dépôt propre, lisible et sûr. ## TL;DR (workflow standard) 1. `git switch -c ` selon la convention ci-dessous 2. Commits **Conventional Commits** 3. Ouvre une PR (2 reviewers requis pour dossiers infra/sécu) 4. CI **verte** (scan secrets, SBOM, signature, lint preuves) 5. Mets à jour la doc/annexes si besoin 6. Merge (Squash & Merge recommandé), supprime la branche --- ## Nommage des branches Format : `{type}/{scope}-{description-courte}` *(kebab-case, pas d’accents)* **Types acceptés :** - `feat` (nouvelle fonctionnalité) - `fix` (correctif) - `docs` (documentation) - `ci` (pipeline / outils CI/CD) - `refactor` (refacto sans changement fonctionnel) - `perf` (performance) - `test` (tests) - `chore` (entretien, dépendances) - `security` (politiques, durcissement, corrections sécu) - `hotfix` (urgence prod) - `release` (préparation release) **Exemples :** - `feat/lot1-starter-kit` - `security/opa-policies-c5` - `docs/03-annexes-label` - `fix/ci-cosign-verification` --- ## Commits : Conventional Commits Format de message : `type(scope): description brève` **Exemples :** - `feat(registraire): ajoute schéma security + exemple YAML` - `ci(signing): active cosign keyless et vérification` - `docs(03): ajoute Annexe B - catalogue de preuves` - `security(logs): active object-lock sur le bucket` > *Scope* optionnel. Développe dans le **corps** : *motivation, breaking changes, liens vers issues*. --- ## Pull Requests - **CI verte** : `.forgejo/workflows/security-supplychain.yml` doit réussir - **Pas de secrets** en clair (scan Gitleaks = 0) - **SBOM + signatures/attestations** présents pour artefacts buildés - **Preuves** mises à jour si pertinent (`/evidence/...`) - **OPA** / **mTLS** testés si changement C5 - **Docs** mises à jour (ex: `docs/constitution/03_*.md` ou `03_annexes.md`) - Liaison à une issue : `Closes #` (si applicable) **Stratégie de merge** : *Squash & Merge* recommandé pour garder l’historique propre. --- ## Sécurité (rappels) - MFA résistante au hameçonnage pour comptes à privilèges (FIDO2) - Secrets **par référence** (Vault) uniquement - Runners CI **éphémères**, jetons courts, réseau sortant minimal - Logs immu **90j** (Object-Lock/WORM), alerte test lors de nouvelles règles --- ## Code of Conduct Restez respectueux et bienveillants; pas de données sensibles dans les issues/PR publiques.