Conventions de contribution
Conventions à respecter pour qu’une PR soit acceptée.
Document complémentaire à CONTRIBUTING.md racine.
Conventional commits avec scope arka-deck :
<type>(arka-deck): <description courte impérative en minuscules>
<corps optionnel — focus sur le WHY, paragraphes courts>
Signed-off-by: <Prénom Nom> <email>Co-Authored-By: <co-auteur si applicable>| Type | Usage |
|---|---|
feat | Nouvelle fonctionnalité |
fix | Correction de bug |
docs | Documentation seulement |
refactor | Réorganisation sans changement de comportement |
test | Ajout ou correction de tests |
ci | CI/CD, gates, workflows |
style | Format, prettier, lint |
chore | Maintenance, release, deps |
perf | Optimisation perf |
Description
Section intitulée « Description »- Verbe impératif, minuscules :
add,fix,remove,update… - Focus sur le WHY, pas seulement le WHAT.
- ≤ 70 caractères pour la ligne titre.
- Corps optionnel pour le détail, en paragraphes courts.
DCO sign-off
Section intitulée « DCO sign-off »Obligatoire sur chaque commit (git commit -s). Sans sign-off, la CI bloque la PR.
Signed-off-by: Prénom Nom <email@example.com>Si oublié sur le dernier commit : git commit --amend -s.
Si oublié sur plusieurs : git rebase -i HEAD~N --signoff.
Branches
Section intitulée « Branches »| Préfixe | Usage |
|---|---|
feat/<nom-court> | Nouvelle fonctionnalité |
fix/<nom-court> | Correction de bug |
docs/<nom-court> | Documentation |
refactor/<nom-court> | Refactor |
chore/<nom-court> | Maintenance |
hotfix/<X.Y.Z+1> | Hotfix urgent (depuis un tag) |
Exemples : feat/mission-guardian-evidence, fix/cortex-actions-favorites-leak, docs/refonte-bilingue.
Workflow
Section intitulée « Workflow »- Brancher depuis
mainà jour. - Travailler localement, commits petits et signés.
- Push vers votre fork.
- PR vers
maindu dépôt arka-squad/arka-deck. - CI doit être verte avant review.
Pull Requests
Section intitulée « Pull Requests »Même format que les commits : <type>(arka-deck): <description>.
Description
Section intitulée « Description »## Résumé- 1-3 puces de ce qui change.
## Test plan- [ ] Comment vérifier que ça marche.- [ ] Cas limites à couvrir.- [ ] Anti-régressions.
## Liens- Issue : #N- ADR : ../../adr/000X-...Préférer une PR par intention. Si elle dépasse ~500 lignes de diff “intéressantes” (hors générées), envisager de découper.
TypeScript
Section intitulée « TypeScript »- Strict :
tsc --noEmitdoit passer (npm run typecheck). - Pas de
anysauf justification explicite (commentaire). - Interfaces > types pour les ports outbound.
- Imports relatifs avec extension
.js(ESM TypeScript).
eslint --max-warnings=0 → aucun warning toléré. Pas de directives eslint-disable sans justification commentée.
prettier --write (configuré). Lancer npm run format avant commit si besoin.
Pour toute modification de code :
- Ajouter ou mettre à jour les tests adjacents.
npm testdoit passer.- Pour les routes HTTP : test serveur sous
adapters/inbound/web/server/src/__tests__/. - Pour la sécurité (URL, secrets) : test unitaire direct sur la politique.
Documentation
Section intitulée « Documentation »Ajouter une fonctionnalité
Section intitulée « Ajouter une fonctionnalité »Mettre à jour :
- La fiche addon-firstparty correspondante (si addon).
- La fiche provider (si provider).
- L’index
docs/dev/README.mdsi nouveau sous-dossier. - Le
CHANGELOG.md(section[Unreleased]).
Convention markdown
Section intitulée « Convention markdown »- Frontmatter minimal (header bilingue avec lien EN/FR + retour index).
## Sommairesi > 4 sections.- Code-fence avec langage (
```ts,```bash). - Tableaux pour les listes structurées.
Bilingue
Section intitulée « Bilingue »Les guides actifs ont une version FR (*.md) et EN (*.en.md). Toute modification touche les deux. Pas de divergence.
Sécurité
Section intitulée « Sécurité »- Pas de clé API dans les commits (gitleaks bloque).
- Pas de secret dans les logs.
- Pas de modification de
.claude/settings.json(settings utilisateur). - Pas de référence à
.input/(interne, gitignored). - Pas d’override SSRF par défaut (
ARKA_DECK_CORTEX_ALLOW_UNSAFE_URLréservé au dev).
Signaler une vulnérabilité via la procédure SECURITY.md.
Voir aussi
Section intitulée « Voir aussi »- CONTRIBUTING/ racine : ../../../CONTRIBUTING.md
- Code of Conduct : ../../../CODE_OF_CONDUCT.md
- Guide agent IA : ./working-rules