alliance-boreale/CONTRIBUTING.md
Dan Allaire 303dbedcdd
Some checks are pending
CI / yaml-lint (push) Waiting to run
CI / ssot-export (push) Waiting to run
CI / tests (push) Waiting to run
CI / docs (push) Waiting to run
docs(collab): conventions git, PR template, issue templates, CODEOWNERS
2025-10-26 10:56:03 -04:00

74 lines
2.4 KiB
Markdown
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.

# 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.