# 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. --- ### Agent Sécurité **Rôle (Responsable)** : - Orchestrer l’audit de sécurité automatisé (`scripts/security/audit.sh`: cargo/npm audit, scan de secrets). - Interdire secrets en clair; imposer la rotation des secrets CI. - Vérifier permissions sensibles et non‑exposition d’endpoints privés. - Bloquer les releases si l’audit échoue (intégration au `release-guard`). **Artefacts :** - `scripts/security/audit.sh`, `.gitea/workflows/ci.yml` (job `security-audit`), `docs/SECURITY_AUDIT.md`, `SECURITY.md`. --- ## 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.