From 3f912d3b0c3a92cb77f96ecbb410a79bb65bbd80 Mon Sep 17 00:00:00 2001 From: Nicolas Cantu Date: Mon, 25 Aug 2025 17:43:01 +0200 Subject: [PATCH] init --- .4nk-sync.yml | 21 ++ .cursor/rules/42-template-sync.mdc | 53 +++++ .gitea/workflows/LOCAL_OVERRIDES.yml | 14 ++ .gitea/workflows/template-sync.yml | 39 ++++ AGENTS.md | 305 ++++++++++++++------------- docs/INDEX.md | 8 +- 6 files changed, 284 insertions(+), 156 deletions(-) create mode 100644 .4nk-sync.yml create mode 100644 .cursor/rules/42-template-sync.mdc create mode 100644 .gitea/workflows/LOCAL_OVERRIDES.yml create mode 100644 .gitea/workflows/template-sync.yml diff --git a/.4nk-sync.yml b/.4nk-sync.yml new file mode 100644 index 0000000..51b228f --- /dev/null +++ b/.4nk-sync.yml @@ -0,0 +1,21 @@ +# .4nk-sync.yml — manifeste d’alignement depuis 4NK_project_template ou 4NK_rules +source_repo: git.4nkweb.com/4nk/4NK_project_template.git # dépôt source d’autorité +ref: v2025.08 # tag/sha publié par le template +paths: + - ".cursor/**" + - ".gitea/**" + - "AGENTS.md" + - "scripts/**" + - "docs/SSH_UPDATE.md" +policy: + mode: mirror # mirror = remplace le contenu dans le périmètre + block_on_divergence: true # échec si modifications locales non autorisées +integrity: + manifest_checksum: "<à-renseigner-par-le-template>" # somme fournie côté template + file_checksums: [] # optionnel : liste sha256 par fichier +post_sync_checks: + - "CHANGELOG updated" + - "docs/INDEX updated" + - "scripts are executable" + - "no plaintext secrets in scripts" + - "SSH_UPDATE updated if scripts changed" diff --git a/.cursor/rules/42-template-sync.mdc b/.cursor/rules/42-template-sync.mdc new file mode 100644 index 0000000..c7cf051 --- /dev/null +++ b/.cursor/rules/42-template-sync.mdc @@ -0,0 +1,53 @@ +--- +alwaysApply: true +--- + +# Synchronisation de template (4NK) + +[portée] +Tous les projets issus de 4NK_project_template. Contrôle de l’alignement sur .cursor/, .gitea/, AGENTS.md, scripts/, docs/SSH_UPDATE.md. + +[objectifs] + +- Garantir l’absence de dérive sur les éléments normatifs. +- Exiger la mise à jour documentaire et du changelog à chaque synchronisation. +- Bloquer la progression en cas d’intégrité non conforme. + +[directives] +- Lire la configuration de .4nk-sync.yml (source_repo, ref, paths, policy). +- Refuser toute modification locale dans le périmètre des paths sans PR de synchronisation. +- Après synchronisation : exiger mises à jour de CHANGELOG.md et docs/INDEX.md. +- Scripts : vérifier présence, permissions d’exécution et absence de secrets en clair. +- SSH : exiger mise à jour de docs/SSH_UPDATE.md si scripts/** modifié. + +[validations] +- Erreur bloquante si manifest_checksum manquant ou invalide. +- Erreur bloquante si un path requis n’existe pas après sync. +- Erreur bloquante si tests/CI signalent des scripts non exécutables ou des fichiers sensibles. + +[artefacts concernés] +- .4nk-sync.yml, TEMPLATE_VERSION, .cursor/**, .gitea/**, AGENTS.md, scripts/**, docs/SSH_UPDATE.md, CHANGELOG.md. +# Synchronisation de template (4NK) + +[portée] +Tous les projets issus de 4NK_project_template. Contrôle de l’alignement sur .cursor/, .gitea/, AGENTS.md, scripts/, docs/SSH_UPDATE.md. + +[objectifs] +- Garantir l’absence de dérive sur les éléments normatifs. +- Exiger la mise à jour documentaire et du changelog à chaque synchronisation. +- Bloquer la progression en cas d’intégrité non conforme. + +[directives] +- Lire la configuration de .4nk-sync.yml (source_repo, ref, paths, policy). +- Refuser toute modification locale dans le périmètre des paths sans PR de synchronisation. +- Après synchronisation : exiger mises à jour de CHANGELOG.md et docs/INDEX.md. +- Scripts : vérifier présence, permissions d’exécution et absence de secrets en clair. +- SSH : exiger mise à jour de docs/SSH_UPDATE.md si scripts/** modifié. + +[validations] +- Erreur bloquante si manifest_checksum manquant ou invalide. +- Erreur bloquante si un path requis n’existe pas après sync. +- Erreur bloquante si tests/CI signalent des scripts non exécutables ou des fichiers sensibles. + +[artefacts concernés] +- .4nk-sync.yml, TEMPLATE_VERSION, .cursor/**, .gitea/**, AGENTS.md, scripts/**, docs/SSH_UPDATE.md, CHANGELOG.md. diff --git a/.gitea/workflows/LOCAL_OVERRIDES.yml b/.gitea/workflows/LOCAL_OVERRIDES.yml new file mode 100644 index 0000000..12c8c45 --- /dev/null +++ b/.gitea/workflows/LOCAL_OVERRIDES.yml @@ -0,0 +1,14 @@ +# LOCAL_OVERRIDES.yml — dérogations locales contrôlées +overrides: + - path: ".gitea/workflows/ci.yml" + reason: "spécificité d’environnement" + owner: "@maintainer_handle" + expires: "2025-12-31" + - path: "scripts/auto-ssh-push.sh" + reason: "flux particulier temporaire" + owner: "@maintainer_handle" + expires: "2025-10-01" +policy: + allow_only_listed_paths: true + require_expiry: true + audit_in_ci: true diff --git a/.gitea/workflows/template-sync.yml b/.gitea/workflows/template-sync.yml new file mode 100644 index 0000000..e6710df --- /dev/null +++ b/.gitea/workflows/template-sync.yml @@ -0,0 +1,39 @@ +# .gitea/workflows/template-sync.yml — synchronisation et contrôles d’intégrité +name: 4NK Template Sync +on: + schedule: # planification régulière + - cron: "0 4 * * 1" # exécution hebdomadaire (UTC) + workflow_dispatch: {} # déclenchement manuel + +jobs: + check-and-sync: + runs-on: linux + steps: + - name: Lire TEMPLATE_VERSION et .4nk-sync.yml + # Doit charger ref courant, source_repo et périmètre paths + + - name: Récupérer la version publiée du template/4NK_rules + # Doit comparer TEMPLATE_VERSION avec ref amont + + - name: Créer branche de synchronisation si divergence + # Doit créer chore/template-sync- et préparer un commit + + - name: Synchroniser les chemins autoritatifs + # Doit mettre à jour .cursor/**, .gitea/**, AGENTS.md, scripts/**, docs/SSH_UPDATE.md + + - name: Contrôles post-sync (bloquants) + # 1) Vérifier présence et exécutable des scripts/*.sh + # 2) Vérifier mise à jour CHANGELOG.md et docs/INDEX.md + # 3) Vérifier docs/SSH_UPDATE.md si scripts/** a changé + # 4) Vérifier absence de secrets en clair dans scripts/** + # 5) Vérifier manifest_checksum si publié + + - name: Tests, lint, sécurité statique + # Doit exiger un état vert + + - name: Ouvrir PR de synchronisation + # Titre: "[template-sync] chore: aligner .cursor/.gitea/AGENTS.md/scripts" + # Doit inclure résumé des fichiers modifiés et la version appliquée + + - name: Mettre à jour TEMPLATE_VERSION (dans PR) + # Doit remplacer la valeur par la ref appliquée diff --git a/AGENTS.md b/AGENTS.md index f5f1e06..530e399 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,258 +1,261 @@ # AGENTS.md ## Table des matières - - [Introduction](#introduction) +- [Principes communs](#principes-communs) - [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) +- [Agents de synchronisation et dérogations](#agents-de-synchronisation-et-d%C3%A9rogations) - [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` et, par extension, tout dépôt dérivé de `4NK_project_template`. +Il impose une coordination stricte entre code, documentation, tests, dépendances, CI/CD, synchronisation de template et gouvernance open source. +Les règles opérationnelles détaillées sont précisées dans `.cursor/rules/` (notamment `41-ssh-automation.mdc` et `42-template-sync.mdc`). -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/`. +--- + +## Principes communs +- Langue exclusive : français. +- Pas d’exemples de code applicatif injectés dans la base. +- Toute contribution doit contenir une introduction et/ou une conclusion. +- Interdiction de secrets en clair dans le dépôt. +- Confirmation nécessaire avant `push` et `tag`. +- Toute modification impactant des éléments normatifs doit mettre à jour la documentation et le changelog. --- ## 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 :** +### Agent Fondation (Responsable) +**Missions** +- Garantir la conformité éditoriale : français, pas d’exemples applicatifs, introduction/conclusion. +- Vérifier la cohérence terminologique. +**Artefacts** - Tous fichiers. --- -### Agent Structure +### Agent Structure (Responsable) +**Missions** +- Maintenir l’arborescence canonique (incluant `.cursor/`, `.gitea/`, `scripts/`, `docs/SSH_UPDATE.md`). +- Archiver le contenu obsolète dans `archive/` avec métadonnées. +- Interdire toute suppression non tracée. -**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`. +**Artefacts** +- `archive/`, `docs/**`, `tests/**`, `.cursor/**`, `.gitea/**`, `scripts/**`, `CHANGELOG.md`. --- ## Agents spécialisés documentation -### Agent Documentation +### Agent Documentation (Responsable) +**Missions** +- Mettre à jour `docs/**` selon l’impact des changements. +- Tenir `docs/INDEX.md` comme table des matières centrale. +- Produire des REX techniques dans `archive/` en cas d’investigations multiples. -**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/`. +**Artefacts** +- `docs/**`, `README.md`, `archive/**`. --- -### Agent Données CSV +### Agent Données CSV (Responsable) +**Missions** +- Traiter les CSV comme source des modèles de données (en-têtes multi-lignes inclus). +- Exiger une définition complète de toutes les colonnes. +- Corriger et documenter les incohérences de types. -**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. +**Artefacts** +- `docs/API.md`, `docs/ARCHITECTURE.md`, `docs/USAGE.md`. --- -### Agent Documents bureautiques +### Agent Documents bureautiques (Consulté) +**Missions** +- Lire `.docx` via `docx2txt`; proposer des alternatives en cas d’échec. +- Documenter les imports dans `docs/INDEX.md`. -**Rôle (Consulté)** : - -- Lire les `.docx` via `docx2txt`. -- Proposer des alternatives en cas d’échec. -- Documenter les imports dans `INDEX.md`. +**Artefacts** +- `docs/**`, `archive/**`. --- ## Agents spécialisés tests -### Agent Tests - -**Rôle (Responsable)** : - -- Maintenir la couverture : `unit`, `integration`, `connectivity`, `performance`, `external`. +### Agent Tests (Responsable) +**Missions** +- Couvrir `unit`, `integration`, `connectivity`, `performance`, `external`. - Gérer `tests/logs` et `tests/reports`. - Exiger des tests verts avant commit. +**Artefacts** +- `tests/**`, `docs/TESTING.md`. + --- -### Agent Performance +### Agent Performance (Consulté) +**Missions** +- Réaliser des benchmarks reproductibles. +- Valider l’impact performance avant fusion. -**Rôle (Consulté)** : - -- Conduire des benchmarks reproductibles. -- Vérifier l’impact performance avant toute fusion. +**Artefacts** +- `tests/performance/`, `tests/reports/`, `docs/TESTING.md`. --- ## Agents techniques -### Agent Dépendances - -**Rôle (Responsable)** : - -- Ajouter automatiquement les dépendances manquantes. +### Agent Dépendances (Responsable) +**Missions** +- Ajouter les dépendances manquantes lorsque justifié. - Vérifier les dernières versions stables. -- Documenter les changements dans `ARCHITECTURE.md`, `CONFIGURATION.md` et `CHANGELOG.md`. +- Documenter les impacts dans `ARCHITECTURE.md`, `CONFIGURATION.md`, `CHANGELOG.md`. + +**Artefacts** +- `docs/ARCHITECTURE.md`, `docs/CONFIGURATION.md`, `CHANGELOG.md`. --- -### Agent Compilation +### Agent Compilation (Responsable) +**Missions** +- Compiler très régulièrement et aux étapes critiques. +- Bloquer toute progression en cas d’erreurs de build/runtime. -**Rôle (Responsable)** : - -- Compiler très régulièrement et à chaque étape critique. -- Bloquer toute progression en présence d’erreurs. +**Artefacts** +- Artefacts de build, scripts d’outillage. --- -### Agent Résolution +### Agent Résolution (Responsable) +**Missions** +- Conduire la boucle de diagnostic complète : reproduction minimale, logs, bissection, hypothèses, tests ciblés, correctif, non-régression. +- Produire un REX quand plusieurs hypothèses ont été testées. -**Rôle (Responsable)** : +**Artefacts** +- `tests/**`, `archive/**` -- 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. +--- + +### Agent SSH & scripts (Responsable) +**Missions** +- Garantir la présence et l’usage correct de `scripts/auto-ssh-push.sh`, `scripts/init-ssh-env.sh`, `scripts/setup-ssh-ci.sh`. +- Assurer permissions d’exécution, idempotence, journalisation non sensible, gestion d’erreurs robuste. +- Interdire secrets en clair, gérer via secrets CI et variables d’environnement. +- Exiger la mise à jour de `docs/SSH_UPDATE.md` à toute évolution des scripts ou des flux SSH. + +**Artefacts** +- `scripts/**`, `.gitea/workflows/ci.yml`, `docs/SSH_UPDATE.md`, `docs/CONFIGURATION.md`, `CHANGELOG.md`. --- ## Agents frontend -### Agent Frontend +### Agent Frontend (Responsable) +**Missions** +- Mettre en place `React.lazy`/`Suspense` (code splitting). +- Centraliser l’état (Redux ou Context API). +- Abstraire les services de données. -**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. +**Artefacts** +- `docs/ARCHITECTURE.md`, `docs/TESTING.md`. --- ## Agents open source et CI -### Agent Open Source - -**Rôle (Responsable)** : - -- Maintenir à jour : `LICENSE`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `OPEN_SOURCE_CHECKLIST.md`. +### Agent Open Source (Responsable) +**Missions** +- Maintenir : `LICENSE`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `docs/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`. +**Artefacts** +- Fichiers de gouvernance cités ci-dessus. --- -### Agent Versionnage +### Agent Gitea (Responsable) +**Missions** +- Garantir `.gitea/ISSUE_TEMPLATE/*`, `PULL_REQUEST_TEMPLATE.md`, `.gitea/workflows/ci.yml`. +- Documenter la configuration distante dans `docs/GITEA_SETUP.md`. +- Déclencher les étapes CI pertinentes (tests, lint, sécurité, vérifs `scripts/`). -**Rôle (Responsable)** : +**Artefacts** +- `.gitea/**`, `docs/GITEA_SETUP.md`. -- Maintenir `CHANGELOG.md` comme source unique de vérité. -- Proposer un bump semver justifié. +--- + +### Agent Versionnage (Responsable) +**Missions** +- Tenir `CHANGELOG.md` comme source unique de vérité. +- Proposer un bump sémantique 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. +**Artefacts** +- `CHANGELOG.md`, `docs/RELEASE_PLAN.md`, `docs/ROADMAP.md`. --- -### Agent Qualité / Linting +## Agents de synchronisation et dérogations -**Rôle (Responsable)** : +### Agent Synchronisation de template (Accountable) +**Références** +- `.4nk-sync.yml` (manifeste), `TEMPLATE_VERSION` (pointeur), `.gitea/workflows/template-sync.yml` (CI dédiée). +- Règles Cursor : `.cursor/rules/42-template-sync.mdc` et `.cursor/rules/10-project-structure.mdc`. -- Appliquer les règles de style, lint et sécurité statique. -- Surveiller la dette technique et l’accessibilité. +**Missions** +- Assurer l’alignement automatique sur le template pour : `.cursor/**`, `.gitea/**`, `AGENTS.md`, `scripts/**`, `docs/SSH_UPDATE.md`. +- Déclencher/valider la PR `[template-sync]` créée par la CI. +- Exiger la mise à jour de `CHANGELOG.md` et `docs/INDEX.md` après synchronisation. +- Vérifier l’intégrité (`manifest_checksum`, checksums de fichiers si publiés), les permissions, l’absence de secrets. +- Mettre à jour `TEMPLATE_VERSION` dans la PR. + +**Artefacts** +- `.4nk-sync.yml`, `TEMPLATE_VERSION`, `.cursor/**`, `.gitea/**`, `AGENTS.md`, `scripts/**`, `docs/SSH_UPDATE.md`, `CHANGELOG.md`. --- -### Agent Release Manager +### Agent Dérogations locales (Responsable) +**Références** +- `LOCAL_OVERRIDES.yml` (facultatif, mais recommandé). -**Rôle (Responsable)** : +**Missions** +- Enregistrer toute divergence locale dans le périmètre synchronisé (path, raison, propriétaire, échéance). +- Faire respecter : seules les dérogations listées et non expirées sont tolérées par la CI. +- Auditer périodiquement et résorber les dérogations. -- 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. +**Artefacts** +- `LOCAL_OVERRIDES.yml`, `CHANGELOG.md` (mentionner les dérogations significatives). --- ## 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 | +| Type de changement | Agents impliqués | Artefacts principaux | Validation obligatoire | +|----------------------------------|----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|------------------------| +| Ajout de fonctionnalité | Documentation, Tests, Dépendances, Frontend | `docs/API.md`, `docs/USAGE.md`, `docs/ARCHITECTURE.md`, `tests/unit`, `tests/integration`, `CHANGELOG.md` (*Added*) | Oui | +| Correction de bug | Résolution, Tests, Documentation | `tests/unit`, `docs/TESTING.md`, `archive/` (REX si nécessaire), `CHANGELOG.md` (*Fixed*) | Oui | +| Refactorisation / amélioration | Structure, Documentation, Compilation | `docs/ARCHITECTURE.md`, `archive/`, `CHANGELOG.md` (*Changed*) | Oui | +| Dépendance ajoutée/mise à jour | Dépendances, Compilation, Documentation | `docs/ARCHITECTURE.md`, `docs/CONFIGURATION.md`, `CHANGELOG.md` (*Dependencies*) | Oui | +| Données CSV modifiées | Données CSV, Documentation, Tests | `docs/API.md`, `docs/ARCHITECTURE.md`, `docs/USAGE.md`, `tests/unit`, `CHANGELOG.md` (*Data model update*) | Oui | +| Migration / breaking change | Documentation, Tests, Résolution, Versionnage | `docs/MIGRATION.md`, `docs/INSTALLATION.md`, `docs/RELEASE_PLAN.md`, `docs/ROADMAP.md`, `tests/integration`, `CHANGELOG.md` (*Breaking*) | Oui | +| Sécurité / audit | Documentation, Tests, Open Source, Sécurité proactive | `docs/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/**`, `docs/GITEA_SETUP.md`, `docs/OPEN_SOURCE_CHECKLIST.md`, `CHANGELOG.md` (*CI/CD* / *Governance*) | Oui | +| Optimisation performance | Performance, Tests, Documentation | `tests/performance`, `tests/reports`, `docs/ARCHITECTURE.md`, `CHANGELOG.md` (*Performance*) | Oui | +| Évolution frontend | Frontend, Documentation, Tests | `docs/ARCHITECTURE.md`, `docs/USAGE.md`, `tests/integration`, `CHANGELOG.md` (*Frontend*) | Oui | +| Évolution CI/CD ou scripts SSH | SSH & scripts, Gitea, Versionnage, Documentation | `scripts/**`, `.gitea/workflows/ci.yml`, `docs/SSH_UPDATE.md`, `docs/CONFIGURATION.md`, `CHANGELOG.md` (*CI/CD*) | Oui | +| **Synchronisation de template** | **Synchronisation de template**, Gitea, Versionnage, Structure, Documentation, SSH & scripts | `.4nk-sync.yml`, `TEMPLATE_VERSION`, `.cursor/**`, `.gitea/**`, `AGENTS.md`, `scripts/**`, `docs/SSH_UPDATE.md`, `CHANGELOG.md` | **Oui** | +| Dérogation locale contrôlée | Dérogations locales, Gitea, Synchronisation de template, Versionnage | `LOCAL_OVERRIDES.yml`, `CHANGELOG.md` (mention), CI tolérante uniquement sur chemins listés et non expirés | 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. +Ce `AGENTS.md` mis à jour introduit l’**Agent Synchronisation de template** et l’**Agent Dérogations locales**, renforce l’**Agent SSH & scripts**, et rattache l’ensemble aux règles Cursor et à la CI Gitea. La matrice de coordination formalise les validations obligatoires pour chaque type de changement, garantissant cohérence structurelle, qualité documentaire, sécurité, traçabilité et stabilité à long terme sur tous les projets issus de `4NK_project_template`. diff --git a/docs/INDEX.md b/docs/INDEX.md index 6b21cdc..8bf59eb 100644 --- a/docs/INDEX.md +++ b/docs/INDEX.md @@ -205,12 +205,10 @@ Questions fréquemment posées. ├── LICENSE ├── README.md ├── scripts -│   └── scripts -│   ├── auto-ssh-push.sh -│   ├── init-ssh-env.sh -│   └── setup-ssh-ci.sh +│   ├── auto-ssh-push.sh +│   ├── init-ssh-env.sh +│   └── setup-ssh-ci.sh ├── SECURITY.md -└── tree.txt ``` ## 🎯 Parcours d'Apprentissage