init
This commit is contained in:
parent
dc50ef8bd7
commit
3f912d3b0c
21
.4nk-sync.yml
Normal file
21
.4nk-sync.yml
Normal file
@ -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"
|
53
.cursor/rules/42-template-sync.mdc
Normal file
53
.cursor/rules/42-template-sync.mdc
Normal file
@ -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.
|
14
.gitea/workflows/LOCAL_OVERRIDES.yml
Normal file
14
.gitea/workflows/LOCAL_OVERRIDES.yml
Normal file
@ -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
|
39
.gitea/workflows/template-sync.yml
Normal file
39
.gitea/workflows/template-sync.yml
Normal file
@ -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-<date> 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
|
303
AGENTS.md
303
AGENTS.md
@ -1,258 +1,261 @@
|
|||||||
# AGENTS.md
|
# AGENTS.md
|
||||||
|
|
||||||
## Table des matières
|
## Table des matières
|
||||||
|
|
||||||
- [Introduction](#introduction)
|
- [Introduction](#introduction)
|
||||||
|
- [Principes communs](#principes-communs)
|
||||||
- [Agents fondamentaux](#agents-fondamentaux)
|
- [Agents fondamentaux](#agents-fondamentaux)
|
||||||
- [Agents spécialisés documentation](#agents-spécialisés-documentation)
|
- [Agents spécialisés documentation](#agents-spécialisés-documentation)
|
||||||
- [Agents spécialisés tests](#agents-spécialisés-tests)
|
- [Agents spécialisés tests](#agents-spécialisés-tests)
|
||||||
- [Agents techniques](#agents-techniques)
|
- [Agents techniques](#agents-techniques)
|
||||||
- [Agents frontend](#agents-frontend)
|
- [Agents frontend](#agents-frontend)
|
||||||
- [Agents open source et CI](#agents-open-source-et-ci)
|
- [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)
|
- [Matrice de coordination](#matrice-de-coordination)
|
||||||
- [Conclusion](#conclusion)
|
- [Conclusion](#conclusion)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Introduction
|
## 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.
|
## Principes communs
|
||||||
Les règles détaillées de réalisation et de contrôle sont précisées dans `.cursor/rules/`.
|
- 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
|
## Agents fondamentaux
|
||||||
|
|
||||||
### Agent Fondation
|
### Agent Fondation (Responsable)
|
||||||
|
**Missions**
|
||||||
**Rôle (Responsable)** :
|
- Garantir la conformité éditoriale : français, pas d’exemples applicatifs, introduction/conclusion.
|
||||||
|
- Vérifier la cohérence terminologique.
|
||||||
- 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 :**
|
|
||||||
|
|
||||||
|
**Artefacts**
|
||||||
- Tous fichiers.
|
- 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)** :
|
**Artefacts**
|
||||||
|
- `archive/`, `docs/**`, `tests/**`, `.cursor/**`, `.gitea/**`, `scripts/**`, `CHANGELOG.md`.
|
||||||
- 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
|
## 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)** :
|
**Artefacts**
|
||||||
|
- `docs/**`, `README.md`, `archive/**`.
|
||||||
- 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
|
### 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)** :
|
**Artefacts**
|
||||||
|
- `docs/API.md`, `docs/ARCHITECTURE.md`, `docs/USAGE.md`.
|
||||||
- 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
|
### 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é)** :
|
**Artefacts**
|
||||||
|
- `docs/**`, `archive/**`.
|
||||||
- Lire les `.docx` via `docx2txt`.
|
|
||||||
- Proposer des alternatives en cas d’échec.
|
|
||||||
- Documenter les imports dans `INDEX.md`.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Agents spécialisés tests
|
## Agents spécialisés tests
|
||||||
|
|
||||||
### Agent Tests
|
### Agent Tests (Responsable)
|
||||||
|
**Missions**
|
||||||
**Rôle (Responsable)** :
|
- Couvrir `unit`, `integration`, `connectivity`, `performance`, `external`.
|
||||||
|
|
||||||
- Maintenir la couverture : `unit`, `integration`, `connectivity`, `performance`, `external`.
|
|
||||||
- Gérer `tests/logs` et `tests/reports`.
|
- Gérer `tests/logs` et `tests/reports`.
|
||||||
- Exiger des tests verts avant commit.
|
- 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é)** :
|
**Artefacts**
|
||||||
|
- `tests/performance/`, `tests/reports/`, `docs/TESTING.md`.
|
||||||
- Conduire des benchmarks reproductibles.
|
|
||||||
- Vérifier l’impact performance avant toute fusion.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Agents techniques
|
## Agents techniques
|
||||||
|
|
||||||
### Agent Dépendances
|
### Agent Dépendances (Responsable)
|
||||||
|
**Missions**
|
||||||
**Rôle (Responsable)** :
|
- Ajouter les dépendances manquantes lorsque justifié.
|
||||||
|
|
||||||
- Ajouter automatiquement les dépendances manquantes.
|
|
||||||
- Vérifier les dernières versions stables.
|
- 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)** :
|
**Artefacts**
|
||||||
|
- Artefacts de build, scripts d’outillage.
|
||||||
- Compiler très régulièrement et à chaque étape critique.
|
|
||||||
- Bloquer toute progression en présence d’erreurs.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 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
|
## 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)** :
|
**Artefacts**
|
||||||
|
- `docs/ARCHITECTURE.md`, `docs/TESTING.md`.
|
||||||
- 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
|
## Agents open source et CI
|
||||||
|
|
||||||
### Agent Open Source
|
### Agent Open Source (Responsable)
|
||||||
|
**Missions**
|
||||||
**Rôle (Responsable)** :
|
- Maintenir : `LICENSE`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `docs/OPEN_SOURCE_CHECKLIST.md`.
|
||||||
|
|
||||||
- Maintenir à jour : `LICENSE`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `OPEN_SOURCE_CHECKLIST.md`.
|
|
||||||
- Vérifier l’alignement continu avec `4NK_node`.
|
- Vérifier l’alignement continu avec `4NK_node`.
|
||||||
|
|
||||||
---
|
**Artefacts**
|
||||||
|
- Fichiers de gouvernance cités ci-dessus.
|
||||||
### 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
|
### 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.
|
- Demander confirmation avant push et tag.
|
||||||
|
|
||||||
---
|
**Artefacts**
|
||||||
|
- `CHANGELOG.md`, `docs/RELEASE_PLAN.md`, `docs/ROADMAP.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
|
## 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.
|
**Missions**
|
||||||
- Surveiller la dette technique et l’accessibilité.
|
- 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.
|
**Artefacts**
|
||||||
- Vérifier la cohérence entre `CHANGELOG.md`, `ROADMAP.md` et les tags Git.
|
- `LOCAL_OVERRIDES.yml`, `CHANGELOG.md` (mentionner les dérogations significatives).
|
||||||
- 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
|
## Matrice de coordination
|
||||||
|
|
||||||
| Type de changement | Agents impliqués | Artefacts principaux | Validation obligatoire |
|
| 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 |
|
| 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, TESTING.md, archive/, CHANGELOG.md (*Fixed*) | 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 | ARCHITECTURE.md, archive/, CHANGELOG.md (*Changed*) | 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 | ARCHITECTURE.md, CONFIGURATION.md, CHANGELOG.md (*Dependencies*) | 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 | API.md, ARCHITECTURE.md, USAGE.md, tests/unit, CHANGELOG.md (*Data model update*) | 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 | MIGRATION.md, INSTALLATION.md, RELEASE_PLAN.md, ROADMAP.md, tests/integration, CHANGELOG.md (*Breaking*)| 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 | SECURITY_AUDIT.md, tests/external, tests/connectivity, CHANGELOG.md (*Security*) | 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/**, GITEA_SETUP.md, OPEN_SOURCE_CHECKLIST.md, CHANGELOG.md (*CI/CD* / *Governance*) | 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, ARCHITECTURE.md, CHANGELOG.md (*Performance*) | Oui |
|
| Optimisation performance | Performance, Tests, Documentation | `tests/performance`, `tests/reports`, `docs/ARCHITECTURE.md`, `CHANGELOG.md` (*Performance*) | Oui |
|
||||||
| Évolution frontend | Frontend, Documentation, Tests | ARCHITECTURE.md, USAGE.md, tests/integration, CHANGELOG.md (*Frontend*) | 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
|
## Conclusion
|
||||||
|
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`.
|
||||||
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.
|
|
||||||
|
@ -205,12 +205,10 @@ Questions fréquemment posées.
|
|||||||
├── LICENSE
|
├── LICENSE
|
||||||
├── README.md
|
├── README.md
|
||||||
├── scripts
|
├── scripts
|
||||||
│ └── scripts
|
|
||||||
│ ├── auto-ssh-push.sh
|
│ ├── auto-ssh-push.sh
|
||||||
│ ├── init-ssh-env.sh
|
│ ├── init-ssh-env.sh
|
||||||
│ └── setup-ssh-ci.sh
|
│ └── setup-ssh-ci.sh
|
||||||
├── SECURITY.md
|
├── SECURITY.md
|
||||||
└── tree.txt
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🎯 Parcours d'Apprentissage
|
## 🎯 Parcours d'Apprentissage
|
||||||
|
Loading…
x
Reference in New Issue
Block a user