alliance-boreale/CONTRIBUTING.md

75 lines
2.4 KiB
Markdown
Raw Normal View History

# 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 <branche>` 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 daccents)*
**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 #<id>` (si applicable)
**Stratégie de merge** : *Squash & Merge* recommandé pour garder lhistorique 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.