74 lines
2.4 KiB
Markdown
74 lines
2.4 KiB
Markdown
# 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 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 #<id>` (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.
|