init
This commit is contained in:
commit
22dfc0e9d3
11
.cursor/.cursorignore
Normal file
11
.cursor/.cursorignore
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Ignorer les sorties volumineuses ou non pertinentes pour le contexte IA
|
||||||
|
archive/**
|
||||||
|
tests/logs/**
|
||||||
|
tests/reports/**
|
||||||
|
node_modules/**
|
||||||
|
dist/**
|
||||||
|
build/**
|
||||||
|
.tmp/**
|
||||||
|
.cache/**#
|
||||||
|
.env
|
||||||
|
.env.*
|
59
.cursor/rules/00-foundations.mdc
Normal file
59
.cursor/rules/00-foundations.mdc
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# Fondations de rédaction et de comportement
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
S’applique à tout le dépôt 4NK/4NK_node pour toute génération, refactorisation, édition inline ou discussion dans Cursor.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Garantir l’usage exclusif du français.
|
||||||
|
- Proscrire l’injection d’exemples de code applicatif dans la base de code.
|
||||||
|
- Assurer une cohérence stricte de terminologie et de ton.
|
||||||
|
- Exiger une introduction et/ou une conclusion dans toute proposition de texte.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Toujours répondre et documenter en français.
|
||||||
|
- Ne pas inclure d’exemples exécutables ou de quickstarts dans la base ; préférer des descriptions prescriptives.
|
||||||
|
- Tout contenu produit doit mentionner explicitement les artefacts à mettre à jour lorsqu’il impacte docs/ et tests/.
|
||||||
|
- Préserver la typographie française (capitaliser uniquement le premier mot d’un titre et les noms propres).
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Relecture linguistique et technique systématique.
|
||||||
|
- Refuser toute sortie avec exemples de code applicatif.
|
||||||
|
- Vérifier que l’issue traitée se conclut par un rappel des fichiers à mettre à jour.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- README.md, docs/**, tests/**, CHANGELOG.md, .gitea/**.# Fondations de rédaction et de comportement
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
S’applique à tout le dépôt 4NK/4NK_node pour toute génération, refactorisation, édition inline ou discussion dans Cursor.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Garantir l’usage exclusif du français.
|
||||||
|
- Proscrire l’injection d’exemples de code applicatif dans la base de code.
|
||||||
|
- Assurer une cohérence stricte de terminologie et de ton.
|
||||||
|
- Exiger une introduction et/ou une conclusion dans toute proposition de texte.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Toujours répondre et documenter en français.
|
||||||
|
- Ne pas inclure d’exemples exécutables ou de quickstarts dans la base ; préférer des descriptions prescriptives.
|
||||||
|
- Tout contenu produit doit mentionner explicitement les artefacts à mettre à jour lorsqu’il impacte docs/ et tests/.
|
||||||
|
- Préserver la typographie française (capitaliser uniquement le premier mot d’un titre et les noms propres).
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Relecture linguistique et technique systématique.
|
||||||
|
- Refuser toute sortie avec exemples de code applicatif.
|
||||||
|
- Vérifier que l’issue traitée se conclut par un rappel des fichiers à mettre à jour.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- README.md, docs/**, tests/**, CHANGELOG.md, .gitea/**.
|
139
.cursor/rules/10-project-structure.mdc
Normal file
139
.cursor/rules/10-project-structure.mdc
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# Structure projet 4NK_node
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Maintenance de l’arborescence canonique, création/mise à jour/suppression de fichiers et répertoires.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Garantir l’alignement strict avec l’arborescence 4NK_node.
|
||||||
|
- Prévenir toute dérive structurelle.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- S’assurer que l’arborescence suivante existe et reste conforme :
|
||||||
|
|
||||||
|
4NK/4NK_node
|
||||||
|
├── archive
|
||||||
|
├── CHANGELOG.md
|
||||||
|
├── CODE_OF_CONDUCT.md
|
||||||
|
├── CONTRIBUTING.md
|
||||||
|
├── docker-compose.yml
|
||||||
|
├── docs
|
||||||
|
│ ├── API.md
|
||||||
|
│ ├── ARCHITECTURE.md
|
||||||
|
│ ├── COMMUNITY_GUIDE.md
|
||||||
|
│ ├── CONFIGURATION.md
|
||||||
|
│ ├── GITEA_SETUP.md
|
||||||
|
│ ├── INDEX.md
|
||||||
|
│ ├── INSTALLATION.md
|
||||||
|
│ ├── MIGRATION.md
|
||||||
|
│ ├── OPEN_SOURCE_CHECKLIST.md
|
||||||
|
│ ├── QUICK_REFERENCE.md
|
||||||
|
│ ├── RELEASE_PLAN.md
|
||||||
|
│ ├── ROADMAP.md
|
||||||
|
│ ├── SECURITY_AUDIT.md
|
||||||
|
│ ├── TESTING.md
|
||||||
|
│ └── USAGE.md
|
||||||
|
├── LICENSE
|
||||||
|
├── README.md
|
||||||
|
├── tests
|
||||||
|
│ ├── cleanup.sh
|
||||||
|
│ ├── connectivity
|
||||||
|
│ ├── external
|
||||||
|
│ ├── integration
|
||||||
|
│ ├── logs
|
||||||
|
│ ├── performance
|
||||||
|
│ ├── README.md
|
||||||
|
│ ├── reports
|
||||||
|
│ └── unit
|
||||||
|
└── .gitea
|
||||||
|
├── ISSUE_TEMPLATE
|
||||||
|
│ ├── bug_report.md
|
||||||
|
│ └── feature_request.md
|
||||||
|
├── PULL_REQUEST_TEMPLATE.md
|
||||||
|
└── workflows
|
||||||
|
└── ci.yml
|
||||||
|
|
||||||
|
- Tout document obsolète est déplacé vers archive/ avec métadonnées (date, raison).
|
||||||
|
- Interdire la suppression brute de fichiers sans archivage et note dans CHANGELOG.md.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Diff structurel comparé à cette référence.
|
||||||
|
- Erreur bloquante si un fichier « requis » manque.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- archive/**, docs/**, tests/**, .gitea/**, CHANGELOG.md.
|
||||||
|
|
||||||
|
# Structure projet 4NK_node
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Maintenance de l’arborescence canonique, création/mise à jour/suppression de fichiers et répertoires.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Garantir l’alignement strict avec l’arborescence 4NK_node.
|
||||||
|
- Prévenir toute dérive structurelle.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- S’assurer que l’arborescence suivante existe et reste conforme :
|
||||||
|
|
||||||
|
4NK/4NK_node
|
||||||
|
├── archive
|
||||||
|
├── CHANGELOG.md
|
||||||
|
├── CODE_OF_CONDUCT.md
|
||||||
|
├── CONTRIBUTING.md
|
||||||
|
├── docker-compose.yml
|
||||||
|
├── docs
|
||||||
|
│ ├── API.md
|
||||||
|
│ ├── ARCHITECTURE.md
|
||||||
|
│ ├── COMMUNITY_GUIDE.md
|
||||||
|
│ ├── CONFIGURATION.md
|
||||||
|
│ ├── GITEA_SETUP.md
|
||||||
|
│ ├── INDEX.md
|
||||||
|
│ ├── INSTALLATION.md
|
||||||
|
│ ├── MIGRATION.md
|
||||||
|
│ ├── OPEN_SOURCE_CHECKLIST.md
|
||||||
|
│ ├── QUICK_REFERENCE.md
|
||||||
|
│ ├── RELEASE_PLAN.md
|
||||||
|
│ ├── ROADMAP.md
|
||||||
|
│ ├── SECURITY_AUDIT.md
|
||||||
|
│ ├── TESTING.md
|
||||||
|
│ └── USAGE.md
|
||||||
|
├── LICENSE
|
||||||
|
├── README.md
|
||||||
|
├── tests
|
||||||
|
│ ├── cleanup.sh
|
||||||
|
│ ├── connectivity
|
||||||
|
│ ├── external
|
||||||
|
│ ├── integration
|
||||||
|
│ ├── logs
|
||||||
|
│ ├── performance
|
||||||
|
│ ├── README.md
|
||||||
|
│ ├── reports
|
||||||
|
│ └── unit
|
||||||
|
└── .gitea
|
||||||
|
├── ISSUE_TEMPLATE
|
||||||
|
│ ├── bug_report.md
|
||||||
|
│ └── feature_request.md
|
||||||
|
├── PULL_REQUEST_TEMPLATE.md
|
||||||
|
└── workflows
|
||||||
|
└── ci.yml
|
||||||
|
|
||||||
|
- Tout document obsolète est déplacé vers archive/ avec métadonnées (date, raison).
|
||||||
|
- Interdire la suppression brute de fichiers sans archivage et note dans CHANGELOG.md.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Diff structurel comparé à cette référence.
|
||||||
|
- Erreur bloquante si un fichier « requis » manque.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- archive/**, docs/**, tests/**, .gitea/**, CHANGELOG.md.
|
62
.cursor/rules/20-documentation.mdc
Normal file
62
.cursor/rules/20-documentation.mdc
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# Documentation continue
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Mises à jour de docs/** corrélées à tout changement de code, configuration, dépendance, données ou CI.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
- Remplacer toute section générique « RESUME » par des mises à jour ciblées dans les fichiers appropriés.
|
||||||
|
- Tenir INDEX.md comme table des matières de référence.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
- À chaque changement, mettre à jour :
|
||||||
|
- API.md (spécifications, contrats, schémas, invariants).
|
||||||
|
- ARCHITECTURE.md (décisions, diagrammes, couplages, performances).
|
||||||
|
- CONFIGURATION.md (paramètres, formats, valeurs par défaut).
|
||||||
|
- INSTALLATION.md (pré-requis, étapes, vérifications).
|
||||||
|
- MIGRATION.md (chemins de migration, scripts, compatibilités).
|
||||||
|
- USAGE.md (parcours fonctionnels, contraintes).
|
||||||
|
- TESTING.md (pyramide, critères d’acceptation).
|
||||||
|
- SECURITY_AUDIT.md (menaces, contrôles, dettes résiduelles).
|
||||||
|
- RELEASE_PLAN.md, ROADMAP.md (planification), OPEN_SOURCE_CHECKLIST.md, COMMUNITY_GUIDE.md, GITEA_SETUP.md.
|
||||||
|
- Maintenir QUICK_REFERENCE.md pour les référentiels synthétiques utilisés par l’équipe.
|
||||||
|
- Ajouter un REX technique en cas d’hypothèses multiples avant résolution dans archive/.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
- Cohérence croisée entre README.md et INDEX.md.
|
||||||
|
- Refus si une modification de code n’a pas de trace dans docs/** correspondants.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
- docs/**, README.md, archive/**.
|
||||||
|
# Documentation continue
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Mises à jour de docs/** corrélées à tout changement de code, configuration, dépendance, données ou CI.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
- Remplacer toute section générique « RESUME » par des mises à jour ciblées dans les fichiers appropriés.
|
||||||
|
- Tenir INDEX.md comme table des matières de référence.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
- À chaque changement, mettre à jour :
|
||||||
|
- API.md (spécifications, contrats, schémas, invariants).
|
||||||
|
- ARCHITECTURE.md (décisions, diagrammes, couplages, performances).
|
||||||
|
- CONFIGURATION.md (paramètres, formats, valeurs par défaut).
|
||||||
|
- INSTALLATION.md (pré-requis, étapes, vérifications).
|
||||||
|
- MIGRATION.md (chemins de migration, scripts, compatibilités).
|
||||||
|
- USAGE.md (parcours fonctionnels, contraintes).
|
||||||
|
- TESTING.md (pyramide, critères d’acceptation).
|
||||||
|
- SECURITY_AUDIT.md (menaces, contrôles, dettes résiduelles).
|
||||||
|
- RELEASE_PLAN.md, ROADMAP.md (planification), OPEN_SOURCE_CHECKLIST.md, COMMUNITY_GUIDE.md, GITEA_SETUP.md.
|
||||||
|
- Maintenir QUICK_REFERENCE.md pour les référentiels synthétiques utilisés par l’équipe.
|
||||||
|
- Ajouter un REX technique en cas d’hypothèses multiples avant résolution dans archive/.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
- Cohérence croisée entre README.md et INDEX.md.
|
||||||
|
- Refus si une modification de code n’a pas de trace dans docs/** correspondants.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
- docs/**, README.md, archive/**.
|
57
.cursor/rules/30-testing.mdc
Normal file
57
.cursor/rules/30-testing.mdc
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# Tests et qualité
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Stratégie de tests, exécution locale, stabilité, non-régression.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Exiger des tests verts avant tout commit.
|
||||||
|
- Couvrir les axes unit, integration, connectivity, performance, external.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Ajouter/mettre à jour des tests dans tests/unit, tests/integration, tests/connectivity, tests/performance, tests/external selon l’impact.
|
||||||
|
- Consigner les journaux dans tests/logs et les rapports dans tests/reports.
|
||||||
|
- Maintenir tests/README.md (stratégie, outillage, seuils).
|
||||||
|
- Fournir un nettoyage reproductible via tests/cleanup.sh.
|
||||||
|
- Bloquer l’édition si des tests échouent tant que la correction n’est pas appliquée.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Refus d’un commit si tests en échec.
|
||||||
|
- Exiger justification et plan de test dans docs/TESTING.md pour toute refonte majeure.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- tests/**, docs/TESTING.md, CHANGELOG.md.
|
||||||
|
|
||||||
|
# Tests et qualité
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Stratégie de tests, exécution locale, stabilité, non-régression.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Exiger des tests verts avant tout commit.
|
||||||
|
- Couvrir les axes unit, integration, connectivity, performance, external.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Ajouter/mettre à jour des tests dans tests/unit, tests/integration, tests/connectivity, tests/performance, tests/external selon l’impact.
|
||||||
|
- Consigner les journaux dans tests/logs et les rapports dans tests/reports.
|
||||||
|
- Maintenir tests/README.md (stratégie, outillage, seuils).
|
||||||
|
- Fournir un nettoyage reproductible via tests/cleanup.sh.
|
||||||
|
- Bloquer l’édition si des tests échouent tant que la correction n’est pas appliquée.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Refus d’un commit si tests en échec.
|
||||||
|
- Exiger justification et plan de test dans docs/TESTING.md pour toute refonte majeure.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- tests/**, docs/TESTING.md, CHANGELOG.md.
|
55
.cursor/rules/40-dependencies-and-build.mdc
Normal file
55
.cursor/rules/40-dependencies-and-build.mdc
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# Dépendances, compilation et build
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Gestion des dépendances, compilation fréquente, politique de versions.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Ajouter automatiquement les dépendances manquantes si justifié.
|
||||||
|
- Rechercher systématiquement les dernières versions stables.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Lorsqu’une fonctionnalité nécessite une dépendance, l’ajouter et la documenter (nom, version, portée, impact) dans docs/ARCHITECTURE.md et docs/CONFIGURATION.md si nécessaire.
|
||||||
|
- Compiler très régulièrement et « quand nécessaire » (avant refactor, avant push, après mise à jour de dépendances).
|
||||||
|
- Corriger toute erreur de compilation/exécution avant de poursuivre.
|
||||||
|
- Documenter tout changement de dépendances (raison, risques, rollback).
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Interdire la progression si la compilation échoue.
|
||||||
|
- Vérifier la présence d’une note de changement dans CHANGELOG.md en cas de dépendance ajoutée/retirée.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- docs/ARCHITECTURE.md, docs/CONFIGURATION.md, CHANGELOG.md.
|
||||||
|
|
||||||
|
# Dépendances, compilation et build
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Gestion des dépendances, compilation fréquente, politique de versions.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Ajouter automatiquement les dépendances manquantes si justifié.
|
||||||
|
- Rechercher systématiquement les dernières versions stables.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Lorsqu’une fonctionnalité nécessite une dépendance, l’ajouter et la documenter (nom, version, portée, impact) dans docs/ARCHITECTURE.md et docs/CONFIGURATION.md si nécessaire.
|
||||||
|
- Compiler très régulièrement et « quand nécessaire » (avant refactor, avant push, après mise à jour de dépendances).
|
||||||
|
- Corriger toute erreur de compilation/exécution avant de poursuivre.
|
||||||
|
- Documenter tout changement de dépendances (raison, risques, rollback).
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Interdire la progression si la compilation échoue.
|
||||||
|
- Vérifier la présence d’une note de changement dans CHANGELOG.md en cas de dépendance ajoutée/retirée.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- docs/ARCHITECTURE.md, docs/CONFIGURATION.md, CHANGELOG.md.
|
156
.cursor/rules/4nkrules.mdc
Normal file
156
.cursor/rules/4nkrules.mdc
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: true
|
||||||
|
# cursor.mcd — règles d’or 4NK
|
||||||
|
language: fr
|
||||||
|
policies:
|
||||||
|
respond_in_french: true
|
||||||
|
no_examples_in_codebase: true
|
||||||
|
ask_before_push_or_tag: true
|
||||||
|
|
||||||
|
directories:
|
||||||
|
ensure:
|
||||||
|
- archive/
|
||||||
|
- docs/
|
||||||
|
- tests/
|
||||||
|
- .gitea/
|
||||||
|
docs:
|
||||||
|
required_files:
|
||||||
|
- API.md
|
||||||
|
- ARCHITECTURE.md
|
||||||
|
- COMMUNITY_GUIDE.md
|
||||||
|
- CONFIGURATION.md
|
||||||
|
- GITEA_SETUP.md
|
||||||
|
- INDEX.md
|
||||||
|
- INSTALLATION.md
|
||||||
|
- MIGRATION.md
|
||||||
|
- OPEN_SOURCE_CHECKLIST.md
|
||||||
|
- QUICK_REFERENCE.md
|
||||||
|
- RELEASE_PLAN.md
|
||||||
|
- ROADMAP.md
|
||||||
|
- SECURITY_AUDIT.md
|
||||||
|
- TESTING.md
|
||||||
|
- USAGE.md
|
||||||
|
tests:
|
||||||
|
required_files:
|
||||||
|
- cleanup.sh
|
||||||
|
- README.md
|
||||||
|
required_dirs:
|
||||||
|
- connectivity
|
||||||
|
- external
|
||||||
|
- integration
|
||||||
|
- logs
|
||||||
|
- performance
|
||||||
|
- reports
|
||||||
|
- unit
|
||||||
|
gitea:
|
||||||
|
required_files:
|
||||||
|
- PULL_REQUEST_TEMPLATE.md
|
||||||
|
required_dirs:
|
||||||
|
- ISSUE_TEMPLATE
|
||||||
|
- workflows
|
||||||
|
ISSUE_TEMPLATE:
|
||||||
|
required_files:
|
||||||
|
- bug_report.md
|
||||||
|
- feature_request.md
|
||||||
|
workflows:
|
||||||
|
required_files:
|
||||||
|
- ci.yml
|
||||||
|
|
||||||
|
files:
|
||||||
|
required_root_files:
|
||||||
|
- CHANGELOG.md
|
||||||
|
- CODE_OF_CONDUCT.md
|
||||||
|
- CONTRIBUTING.md
|
||||||
|
- docker-compose.yml
|
||||||
|
- LICENSE
|
||||||
|
- README.md
|
||||||
|
|
||||||
|
documentation:
|
||||||
|
update_on:
|
||||||
|
- feature_added
|
||||||
|
- feature_modified
|
||||||
|
- feature_removed
|
||||||
|
- feature_discovered
|
||||||
|
replace_sections_named: ["RESUME"]
|
||||||
|
rex_required_on_multiple_hypotheses: true
|
||||||
|
archive_obsolete_docs: true
|
||||||
|
|
||||||
|
compilation:
|
||||||
|
compile_often: true
|
||||||
|
compile_when_needed: true
|
||||||
|
fail_on_errors: true
|
||||||
|
|
||||||
|
problem_solving:
|
||||||
|
auto_run_steps:
|
||||||
|
- minimal_repro
|
||||||
|
- inspect_logs
|
||||||
|
- bisect_changes
|
||||||
|
- form_hypotheses
|
||||||
|
- targeted_tests
|
||||||
|
- implement_fix
|
||||||
|
- non_regression
|
||||||
|
|
||||||
|
office_docs:
|
||||||
|
docx_reader: docx2txt
|
||||||
|
fallback:
|
||||||
|
- pandoc_convert
|
||||||
|
- request_alternate_source
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
auto_add_missing: true
|
||||||
|
always_check_latest_stable: true
|
||||||
|
document_changes_in_docs: true
|
||||||
|
|
||||||
|
csv_models:
|
||||||
|
treat_as_source_of_truth: true
|
||||||
|
multirow_headers_supported: true
|
||||||
|
confirm_in_docs: true
|
||||||
|
require_column_definitions: true
|
||||||
|
|
||||||
|
file_processing:
|
||||||
|
study_each_file: true
|
||||||
|
ask_questions_if_needed: true
|
||||||
|
adapt_code_if_needed: true
|
||||||
|
propose_solution_if_unreadable: true
|
||||||
|
|
||||||
|
types_and_properties:
|
||||||
|
auto_correct_incoherences: true
|
||||||
|
document_transformations: true
|
||||||
|
|
||||||
|
functional_consistency:
|
||||||
|
always_ask_clarifying_questions: true
|
||||||
|
|
||||||
|
frontend_architecture:
|
||||||
|
react_code_splitting: true
|
||||||
|
state_management: ["redux", "context_api"]
|
||||||
|
data_service_abstraction: true
|
||||||
|
|
||||||
|
execution_discipline:
|
||||||
|
finish_started_work: true
|
||||||
|
|
||||||
|
open_source_and_gitea:
|
||||||
|
prepare_every_project: true
|
||||||
|
gitea_remote: "git.4nkweb.com"
|
||||||
|
required_files:
|
||||||
|
- LICENSE
|
||||||
|
- CONTRIBUTING.md
|
||||||
|
- CHANGELOG.md
|
||||||
|
- CODE_OF_CONDUCT.md
|
||||||
|
align_with_4NK_node_on_creation: true
|
||||||
|
keep_alignment_updated: true
|
||||||
|
|
||||||
|
tests_and_docs:
|
||||||
|
update_docs_and_tests_with_code: true
|
||||||
|
require_green_tests_before_commit: true
|
||||||
|
|
||||||
|
versioning:
|
||||||
|
manage_with_changelog: true
|
||||||
|
confirm_before_push: true
|
||||||
|
confirm_before_tag: true
|
||||||
|
propose_semver_bump: true
|
||||||
|
|
||||||
|
pre_commit:
|
||||||
|
run_all_tests: true
|
||||||
|
block_on_errors: true
|
||||||
|
|
||||||
|
---
|
54
.cursor/rules/50-data-csv-models.mdc
Normal file
54
.cursor/rules/50-data-csv-models.mdc
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: false
|
||||||
|
---
|
||||||
|
# Modélisation des données à partir de CSV
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Utilisation des CSV comme base des modèles de données, y compris en-têtes multi-lignes.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Confirmer la structure inférée pour chaque CSV.
|
||||||
|
- Demander une définition formelle de toutes les colonnes.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Gérer explicitement les en-têtes multi-lignes (titre principal + sous-colonnes).
|
||||||
|
- Confirmer par écrit dans docs/API.md ou docs/ARCHITECTURE.md : nombre de lignes d’en-tête, mapping colonnes→types, unités, domaines de valeurs, nullabilité, contraintes.
|
||||||
|
- Poser des questions si ambiguïtés ; proposer une normalisation temporaire documentée.
|
||||||
|
- Corriger automatiquement les incohérences de types si une règle de mapping est établie ailleurs et documenter la transformation.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Aucune ingestion sans spécification de colonnes validée.
|
||||||
|
- Traçabilité des corrections de types (avant/après) dans docs/ARCHITECTURE.md.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- docs/API.md, docs/ARCHITECTURE.md, docs/USAGE.md.
|
||||||
|
|
||||||
|
# Modélisation des données à partir de CSV
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Utilisation des CSV comme base des modèles de données, y compris en-têtes multi-lignes.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Confirmer la structure inférée pour chaque CSV.
|
||||||
|
- Demander une définition formelle de toutes les colonnes.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Gérer explicitement les en-têtes multi-lignes (titre principal + sous-colonnes).
|
||||||
|
- Confirmer par écrit dans docs/API.md ou docs/ARCHITECTURE.md : nombre de lignes d’en-tête, mapping colonnes→types, unités, domaines de valeurs, nullabilité, contraintes.
|
||||||
|
- Poser des questions si ambiguïtés ; proposer une normalisation temporaire documentée.
|
||||||
|
- Corriger automatiquement les incohérences de types si une règle de mapping est établie ailleurs et documenter la transformation.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Aucune ingestion sans spécification de colonnes validée.
|
||||||
|
- Traçabilité des corrections de types (avant/après) dans docs/ARCHITECTURE.md.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- docs/API.md, docs/ARCHITECTURE.md, docs/USAGE.md.
|
41
.cursor/rules/60-office-docs.mdc
Normal file
41
.cursor/rules/60-office-docs.mdc
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: false
|
||||||
|
---
|
||||||
|
# Lecture des documents bureautiques
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Lecture des fichiers .docx et alternatives.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
- Utiliser docx2txt par défaut.
|
||||||
|
- Proposer des solutions de repli si lecture impossible.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
- Lire les .docx avec docx2txt.
|
||||||
|
- En cas d’échec, proposer : conversion via pandoc, demande d’une source alternative, ou extraction textuelle.
|
||||||
|
- Documenter dans docs/INDEX.md la provenance et le statut des documents importés.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
- Vérification que les contenus extraits sont intégrés aux fichiers docs/ concernés.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
- docs/**, archive/**.
|
||||||
|
# Lecture des documents bureautiques
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Lecture des fichiers .docx et alternatives.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
- Utiliser docx2txt par défaut.
|
||||||
|
- Proposer des solutions de repli si lecture impossible.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
- Lire les .docx avec docx2txt.
|
||||||
|
- En cas d’échec, proposer : conversion via pandoc, demande d’une source alternative, ou extraction textuelle.
|
||||||
|
- Documenter dans docs/INDEX.md la provenance et le statut des documents importés.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
- Vérification que les contenus extraits sont intégrés aux fichiers docs/ concernés.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
- docs/**, archive/**.
|
56
.cursor/rules/70-frontend-architecture.mdc
Normal file
56
.cursor/rules/70-frontend-architecture.mdc
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: false
|
||||||
|
---
|
||||||
|
|
||||||
|
# Architecture frontend
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Qualité du bundle, découpage, état global et couche de services.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Réduire la taille du bundle initial via code splitting.
|
||||||
|
- Éviter le prop drilling via Redux ou Context API.
|
||||||
|
- Abstraire les services de données pour testabilité et maintenance.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Mettre en place React.lazy et Suspense pour le chargement différé des vues/segments.
|
||||||
|
- Centraliser l’état global via Redux ou Context API.
|
||||||
|
- Isoler les appels « data » derrière une couche d’abstraction à interface stable.
|
||||||
|
- Interdire l’ajout d’exemples front dans la base de code.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Vérifier que les points d’entrée sont minimes et que les segments non critiques sont chargés à la demande.
|
||||||
|
- S’assurer que docs/ARCHITECTURE.md décrit les décisions et les points d’extension.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- docs/ARCHITECTURE.md, docs/TESTING.md.
|
||||||
|
# Architecture frontend
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Qualité du bundle, découpage, état global et couche de services.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Réduire la taille du bundle initial via code splitting.
|
||||||
|
- Éviter le prop drilling via Redux ou Context API.
|
||||||
|
- Abstraire les services de données pour testabilité et maintenance.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Mettre en place React.lazy et Suspense pour le chargement différé des vues/segments.
|
||||||
|
- Centraliser l’état global via Redux ou Context API.
|
||||||
|
- Isoler les appels « data » derrière une couche d’abstraction à interface stable.
|
||||||
|
- Interdire l’ajout d’exemples front dans la base de code.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Vérifier que les points d’entrée sont minimes et que les segments non critiques sont chargés à la demande.
|
||||||
|
- S’assurer que docs/ARCHITECTURE.md décrit les décisions et les points d’extension.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- docs/ARCHITECTURE.md, docs/TESTING.md.
|
53
.cursor/rules/80-versioning-and-release.mdc
Normal file
53
.cursor/rules/80-versioning-and-release.mdc
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: false
|
||||||
|
---
|
||||||
|
|
||||||
|
# Versionnage et publication
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Gestion sémantique des versions, CHANGELOG, confirmation push/tag.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Tenir CHANGELOG.md comme source unique de vérité.
|
||||||
|
- Demander confirmation avant push et tag.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- À chaque changement significatif, mettre à jour CHANGELOG.md (ajouts, changements, corrections, ruptures).
|
||||||
|
- Proposer un bump semver (major/minor/patch) motivé par l’impact.
|
||||||
|
- Avant tout push ou tag, demander confirmation explicite.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Refus si modification sans entrée correspondante dans CHANGELOG.md.
|
||||||
|
- Cohérence entre CHANGELOG.md, docs/RELEASE_PLAN.md et docs/ROADMAP.md.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- CHANGELOG.md, docs/RELEASE_PLAN.md, docs/ROADMAP.md.
|
||||||
|
|
||||||
|
# Versionnage et publication
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Gestion sémantique des versions, CHANGELOG, confirmation push/tag.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Tenir CHANGELOG.md comme source unique de vérité.
|
||||||
|
- Demander confirmation avant push et tag.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- À chaque changement significatif, mettre à jour CHANGELOG.md (ajouts, changements, corrections, ruptures).
|
||||||
|
- Proposer un bump semver (major/minor/patch) motivé par l’impact.
|
||||||
|
- Avant tout push ou tag, demander confirmation explicite.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Refus si modification sans entrée correspondante dans CHANGELOG.md.
|
||||||
|
- Cohérence entre CHANGELOG.md, docs/RELEASE_PLAN.md et docs/ROADMAP.md.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- CHANGELOG.md, docs/RELEASE_PLAN.md, docs/ROADMAP.md.
|
59
.cursor/rules/90-gitea-and-oss.mdc
Normal file
59
.cursor/rules/90-gitea-and-oss.mdc
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# Open source et Gitea
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Conformité open source, templates Gitea, CI.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Préparer chaque projet pour un dépôt Gitea (git.4nkweb.com).
|
||||||
|
- Maintenir les fichiers de gouvernance et la CI.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Vérifier la présence et l’actualité de : LICENSE, CONTRIBUTING.md, CODE_OF_CONDUCT.md, OPEN_SOURCE_CHECKLIST.md.
|
||||||
|
- Maintenir .gitea/ :
|
||||||
|
- ISSUE_TEMPLATE/bug_report.md, feature_request.md
|
||||||
|
- PULL_REQUEST_TEMPLATE.md
|
||||||
|
- workflows/ci.yml
|
||||||
|
- Documenter dans docs/GITEA_SETUP.md la configuration distante et les permissions.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Refus si un des fichiers « gouvernance/CI » manque.
|
||||||
|
- Cohérence entre docs/OPEN_SOURCE_CHECKLIST.md et l’état du repo.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- .gitea/**, docs/GITEA_SETUP.md, docs/OPEN_SOURCE_CHECKLIST.md.
|
||||||
|
|
||||||
|
# Open source et Gitea
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Conformité open source, templates Gitea, CI.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Préparer chaque projet pour un dépôt Gitea (git.4nkweb.com).
|
||||||
|
- Maintenir les fichiers de gouvernance et la CI.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Vérifier la présence et l’actualité de : LICENSE, CONTRIBUTING.md, CODE_OF_CONDUCT.md, OPEN_SOURCE_CHECKLIST.md.
|
||||||
|
- Maintenir .gitea/ :
|
||||||
|
- ISSUE_TEMPLATE/bug_report.md, feature_request.md
|
||||||
|
- PULL_REQUEST_TEMPLATE.md
|
||||||
|
- workflows/ci.yml
|
||||||
|
- Documenter dans docs/GITEA_SETUP.md la configuration distante et les permissions.
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Refus si un des fichiers « gouvernance/CI » manque.
|
||||||
|
- Cohérence entre docs/OPEN_SOURCE_CHECKLIST.md et l’état du repo.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- .gitea/**, docs/GITEA_SETUP.md, docs/OPEN_SOURCE_CHECKLIST.md.
|
53
.cursor/rules/95-triage-and-problem-solving.mdc
Normal file
53
.cursor/rules/95-triage-and-problem-solving.mdc
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
---
|
||||||
|
alwaysApply: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# Tri, diagnostic et résolution de problèmes
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Boucle de triage : reproduction, diagnostic, correctif, non-régression.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Exécuter automatiquement les étapes de résolution.
|
||||||
|
- Bloquer l’avancement tant que les erreurs ne sont pas corrigées.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Étapes obligatoires : reproduction minimale, inspection des logs, bissection des changements, formulation d’hypothèses, tests ciblés, correctif, test de non-régression.
|
||||||
|
- Lorsque plusieurs hypothèses ont été testées, produire un REX dans archive/ avec liens vers les commits.
|
||||||
|
- Poser des questions de cohérence fonctionnelle si des ambiguïtés subsistent (contrats d’API, invariants, SLA).
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Interdiction de clore une tâche si un test échoue ou si une alerte critique subsiste.
|
||||||
|
- Traçabilité du REX si investigations multiples.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- tests/**, archive/**, docs/TESTING.md, docs/ARCHITECTURE.md.
|
||||||
|
|
||||||
|
# Tri, diagnostic et résolution de problèmes
|
||||||
|
|
||||||
|
[portée]
|
||||||
|
Boucle de triage : reproduction, diagnostic, correctif, non-régression.
|
||||||
|
|
||||||
|
[objectifs]
|
||||||
|
|
||||||
|
- Exécuter automatiquement les étapes de résolution.
|
||||||
|
- Bloquer l’avancement tant que les erreurs ne sont pas corrigées.
|
||||||
|
|
||||||
|
[directives]
|
||||||
|
|
||||||
|
- Étapes obligatoires : reproduction minimale, inspection des logs, bissection des changements, formulation d’hypothèses, tests ciblés, correctif, test de non-régression.
|
||||||
|
- Lorsque plusieurs hypothèses ont été testées, produire un REX dans archive/ avec liens vers les commits.
|
||||||
|
- Poser des questions de cohérence fonctionnelle si des ambiguïtés subsistent (contrats d’API, invariants, SLA).
|
||||||
|
|
||||||
|
[validations]
|
||||||
|
|
||||||
|
- Interdiction de clore une tâche si un test échoue ou si une alerte critique subsiste.
|
||||||
|
- Traçabilité du REX si investigations multiples.
|
||||||
|
|
||||||
|
[artefacts concernés]
|
||||||
|
|
||||||
|
- tests/**, archive/**, docs/TESTING.md, docs/ARCHITECTURE.md.
|
15
.cursor/rules/ruleset-index.md
Normal file
15
.cursor/rules/ruleset-index.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Index des règles .cursor/rules
|
||||||
|
|
||||||
|
- 00-foundations.mdc : règles linguistiques et éditoriales (français, pas d’exemples en base, introduction/conclusion).
|
||||||
|
- 10-project-structure.mdc : arborescence canonique 4NK_node et garde-fous.
|
||||||
|
- 20-documentation.mdc : documentation continue, remplacement de « RESUME », INDEX.md.
|
||||||
|
- 30-testing.mdc : tests (unit, integration, connectivity, performance, external), logs/reports.
|
||||||
|
- 40-dependencies-and-build.mdc : dépendances, compilation, corrections bloquantes.
|
||||||
|
- 50-data-csv-models.mdc : CSV avec en-têtes multi-lignes, définition des colonnes.
|
||||||
|
- 60-office-docs.mdc : lecture .docx via docx2txt + repli.
|
||||||
|
- 70-frontend-architecture.mdc : React.lazy/Suspense, état global, couche de services.
|
||||||
|
- 80-versioning-and-release.mdc : CHANGELOG, semver, confirmation push/tag.
|
||||||
|
- 90-gitea-and-oss.mdc : fichiers open source, .gitea, CI, Gitea remote.
|
||||||
|
- 95-triage-and-problem-solving.mdc : boucle de diagnostic, REX, non-régression.
|
||||||
|
|
||||||
|
Ces règles sont conçues pour être ajoutées au contexte de Cursor depuis l’interface (@Cursor Rules) et s’appuient sur le mécanisme de règles projet stockées dans `.cursor/rules/`. :contentReference[oaicite:3]{index=3}
|
258
AGENTS.md
Normal file
258
AGENTS.md
Normal file
@ -0,0 +1,258 @@
|
|||||||
|
# AGENTS.md
|
||||||
|
|
||||||
|
## Table des matières
|
||||||
|
|
||||||
|
- [Introduction](#introduction)
|
||||||
|
- [Agents fondamentaux](#agents-fondamentaux)
|
||||||
|
- [Agents spécialisés documentation](#agents-spécialisés-documentation)
|
||||||
|
- [Agents spécialisés tests](#agents-spécialisés-tests)
|
||||||
|
- [Agents techniques](#agents-techniques)
|
||||||
|
- [Agents frontend](#agents-frontend)
|
||||||
|
- [Agents open source et CI](#agents-open-source-et-ci)
|
||||||
|
- [Agents complémentaires](#agents-complémentaires)
|
||||||
|
- [Matrice de coordination](#matrice-de-coordination)
|
||||||
|
- [Conclusion](#conclusion)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
Ce document définit les agents, leurs rôles et leurs responsabilités dans le projet `4NK/4NK_node`.
|
||||||
|
Chaque agent est assigné à un périmètre clair (documentation, tests, dépendances, données, CI, gouvernance open source).
|
||||||
|
L’objectif est d’assurer une maintenance cohérente de l’arborescence, une traçabilité complète et une exécution fiable des bonnes pratiques.
|
||||||
|
Les règles détaillées de réalisation et de contrôle sont précisées dans `.cursor/rules/`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agents fondamentaux
|
||||||
|
|
||||||
|
### Agent Fondation
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Garantir que toute production est en français.
|
||||||
|
- Vérifier l’absence d’exemples de code applicatif dans la base de code.
|
||||||
|
- Imposer l’introduction et/ou conclusion dans chaque contenu.
|
||||||
|
|
||||||
|
**Artefacts :**
|
||||||
|
|
||||||
|
- Tous fichiers.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Structure
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Maintenir l’arborescence canonique du projet.
|
||||||
|
- Déplacer les documents obsolètes vers `archive/`.
|
||||||
|
- Bloquer toute suppression non documentée.
|
||||||
|
|
||||||
|
**Artefacts :**
|
||||||
|
|
||||||
|
- `archive/`, `docs/`, `tests/`, `.gitea/`, `CHANGELOG.md`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agents spécialisés documentation
|
||||||
|
|
||||||
|
### Agent Documentation
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Mettre à jour les fichiers de `docs/` selon l’impact des changements.
|
||||||
|
- Maintenir `INDEX.md` comme table des matières centrale.
|
||||||
|
- Produire des REX techniques dans `archive/`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Données CSV
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Considérer les CSV comme source de vérité des modèles de données.
|
||||||
|
- Confirmer la structure et exiger une définition des colonnes.
|
||||||
|
- Corriger automatiquement les incohérences de type documentées.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Documents bureautiques
|
||||||
|
|
||||||
|
**Rôle (Consulté)** :
|
||||||
|
|
||||||
|
- Lire les `.docx` via `docx2txt`.
|
||||||
|
- Proposer des alternatives en cas d’échec.
|
||||||
|
- Documenter les imports dans `INDEX.md`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agents spécialisés tests
|
||||||
|
|
||||||
|
### Agent Tests
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Maintenir la couverture : `unit`, `integration`, `connectivity`, `performance`, `external`.
|
||||||
|
- Gérer `tests/logs` et `tests/reports`.
|
||||||
|
- Exiger des tests verts avant commit.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Performance
|
||||||
|
|
||||||
|
**Rôle (Consulté)** :
|
||||||
|
|
||||||
|
- Conduire des benchmarks reproductibles.
|
||||||
|
- Vérifier l’impact performance avant toute fusion.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agents techniques
|
||||||
|
|
||||||
|
### Agent Dépendances
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Ajouter automatiquement les dépendances manquantes.
|
||||||
|
- Vérifier les dernières versions stables.
|
||||||
|
- Documenter les changements dans `ARCHITECTURE.md`, `CONFIGURATION.md` et `CHANGELOG.md`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Compilation
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Compiler très régulièrement et à chaque étape critique.
|
||||||
|
- Bloquer toute progression en présence d’erreurs.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Résolution
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Exécuter systématiquement la boucle de diagnostic (reproduction, logs, bissection, hypothèses, correctif, non-régression).
|
||||||
|
- Produire un REX en cas d’hypothèses multiples.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agents frontend
|
||||||
|
|
||||||
|
### Agent Frontend
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Implémenter le code splitting (`React.lazy`, `Suspense`).
|
||||||
|
- Centraliser l’état via Redux ou Context API.
|
||||||
|
- Créer une couche d’abstraction pour les services de données.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agents open source et CI
|
||||||
|
|
||||||
|
### Agent Open Source
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Maintenir à jour : `LICENSE`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `OPEN_SOURCE_CHECKLIST.md`.
|
||||||
|
- Vérifier l’alignement continu avec `4NK_node`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Gitea
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Vérifier la présence et l’actualité de `.gitea/ISSUE_TEMPLATE/*`, `PULL_REQUEST_TEMPLATE.md`, `.gitea/workflows/ci.yml`.
|
||||||
|
- Documenter la configuration dans `docs/GITEA_SETUP.md`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Versionnage
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Maintenir `CHANGELOG.md` comme source unique de vérité.
|
||||||
|
- Proposer un bump semver justifié.
|
||||||
|
- Demander confirmation avant push et tag.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Agents complémentaires
|
||||||
|
|
||||||
|
### Agent Coordination
|
||||||
|
|
||||||
|
**Rôle (Accountable)** :
|
||||||
|
|
||||||
|
- Vérifier que tous les agents concernés ont bien agi lors d’un changement complexe.
|
||||||
|
- Consolider les validations avant merge.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Qualité / Linting
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Appliquer les règles de style, lint et sécurité statique.
|
||||||
|
- Surveiller la dette technique et l’accessibilité.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Release Manager
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Superviser le passage d’une version à l’autre.
|
||||||
|
- Vérifier la cohérence entre `CHANGELOG.md`, `ROADMAP.md` et les tags Git.
|
||||||
|
- Déclencher les workflows CI/CD de release.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Sécurité proactive
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- Surveiller les dépendances vulnérables (CVE, advisories).
|
||||||
|
- Mettre à jour `SECURITY_AUDIT.md` et notifier l’agent Dépendances.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Contributeurs externes
|
||||||
|
|
||||||
|
**Rôle (Consulté)** :
|
||||||
|
|
||||||
|
- Encadrer la réception de PRs et issues communautaires.
|
||||||
|
- Veiller au respect de `CODE_OF_CONDUCT.md`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent Documentation communautaire
|
||||||
|
|
||||||
|
**Rôle (Responsable)** :
|
||||||
|
|
||||||
|
- S’assurer que `COMMUNITY_GUIDE.md` et `OPEN_SOURCE_CHECKLIST.md` sont accessibles, clairs et alignés avec l’expérience contributeurs.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Matrice de coordination
|
||||||
|
|
||||||
|
| Type de changement | Agents impliqués | Artefacts principaux | Validation obligatoire |
|
||||||
|
|--------------------------------|----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|------------------------|
|
||||||
|
| Ajout de fonctionnalité | Documentation, Tests, Dépendances, Frontend | API.md, USAGE.md, ARCHITECTURE.md, tests/unit, tests/integration, CHANGELOG.md (*Added*), README.md | Oui |
|
||||||
|
| Correction de bug | Résolution, Tests, Documentation | tests/unit, TESTING.md, archive/, CHANGELOG.md (*Fixed*) | Oui |
|
||||||
|
| Refactorisation / amélioration | Structure, Documentation, Compilation | ARCHITECTURE.md, archive/, CHANGELOG.md (*Changed*) | Oui |
|
||||||
|
| Dépendance ajoutée/mise à jour | Dépendances, Compilation, Documentation | ARCHITECTURE.md, CONFIGURATION.md, CHANGELOG.md (*Dependencies*) | Oui |
|
||||||
|
| Données CSV modifiées | Données CSV, Documentation, Tests | API.md, ARCHITECTURE.md, USAGE.md, tests/unit, CHANGELOG.md (*Data model update*) | Oui |
|
||||||
|
| Migration / breaking change | Documentation, Tests, Résolution, Versionnage | MIGRATION.md, INSTALLATION.md, RELEASE_PLAN.md, ROADMAP.md, tests/integration, CHANGELOG.md (*Breaking*)| Oui |
|
||||||
|
| Sécurité / audit | Documentation, Tests, Open Source, Sécurité proactive | SECURITY_AUDIT.md, tests/external, tests/connectivity, CHANGELOG.md (*Security*) | Oui |
|
||||||
|
| Préparation open source / CI | Open Source, Gitea, Versionnage, Documentation communautaire, Contributeurs externes | .gitea/**, GITEA_SETUP.md, OPEN_SOURCE_CHECKLIST.md, CHANGELOG.md (*CI/CD* / *Governance*) | Oui |
|
||||||
|
| Optimisation performance | Performance, Tests, Documentation | tests/performance, tests/reports, ARCHITECTURE.md, CHANGELOG.md (*Performance*) | Oui |
|
||||||
|
| Évolution frontend | Frontend, Documentation, Tests | ARCHITECTURE.md, USAGE.md, tests/integration, CHANGELOG.md (*Frontend*) | Oui |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Conclusion
|
||||||
|
|
||||||
|
Le présent `AGENTS.md` formalise non seulement les rôles et responsabilités, mais également la coordination opérationnelle entre agents pour chaque type de changement.
|
||||||
|
Grâce à la table des matières, aux agents complémentaires et à la matrice structurée, ce fichier constitue une référence vivante garantissant la cohérence entre code, documentation, tests, dépendances, CI/CD et gouvernance open source.
|
Loading…
x
Reference in New Issue
Block a user