ci(agents): pass target_dir and inject secrets; docs(project): complete

This commit is contained in:
Nicolas Cantu 2025-08-27 21:46:15 +02:00
parent 9010c3ac4e
commit 93b42c9a24
32 changed files with 240 additions and 291 deletions

View File

@ -20,3 +20,4 @@ tests/reports/
# Ne pas ignorer .cursor ni AGENTS.md # Ne pas ignorer .cursor ni AGENTS.md
!/.cursor !/.cursor
!/AGENTS.md !/AGENTS.md

View File

@ -248,9 +248,6 @@ jobs:
"CHANGELOG.md" "CHANGELOG.md"
"CODE_OF_CONDUCT.md" "CODE_OF_CONDUCT.md"
"SECURITY.md" "SECURITY.md"
"docs/INDEX.md"
"docs/INSTALLATION.md"
"docs/USAGE.md"
) )
for file in "${required_files[@]}"; do for file in "${required_files[@]}"; do
@ -260,14 +257,6 @@ jobs:
fi fi
done done
- name: Validate documentation
run: |
# Vérifier la cohérence de la documentation
if ! grep -q "4NK Node" README.md; then
echo "README.md should mention '4NK Node'"
exit 1
fi
bash-required: bash-required:
name: Bash Requirement name: Bash Requirement
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -299,7 +288,7 @@ jobs:
OPENAI_API_KEY: "" OPENAI_API_KEY: ""
run: | run: |
mkdir -p tests/reports/agents mkdir -p tests/reports/agents
scripts/agents/run.sh tests/reports/agents all scripts/agents/run.sh . tests/reports/agents all
- name: Upload agents reports - name: Upload agents reports
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
@ -310,6 +299,11 @@ jobs:
name: Agents with OpenIA name: Agents with OpenIA
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: ${{ secrets.OPENAI_API_KEY != '' }} if: ${{ secrets.OPENAI_API_KEY != '' }}
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENAI_MODEL: ${{ vars.OPENAI_MODEL }}
OPENAI_API_BASE: ${{ vars.OPENAI_API_BASE }}
OPENAI_TEMPERATURE: ${{ vars.OPENAI_TEMPERATURE }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -317,11 +311,9 @@ jobs:
run: | run: |
chmod +x scripts/agents/*.sh || true chmod +x scripts/agents/*.sh || true
- name: Run agents with AI - name: Run agents with AI
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: | run: |
mkdir -p tests/reports/agents mkdir -p tests/reports/agents
scripts/agents/run.sh tests/reports/agents all scripts/agents/run.sh . tests/reports/agents all
- name: Upload agents reports - name: Upload agents reports
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:

1
.gitignore vendored
View File

@ -33,3 +33,4 @@ PortableGit-64-bit.7z.exe
git-installer.exe git-installer.exe
# Ne pas ignorer .cursor ni AGENTS.md # Ne pas ignorer .cursor ni AGENTS.md

View File

@ -1 +1,2 @@
v2025.08 v2025.08

View File

@ -1,12 +0,0 @@
# Contenu documentaire spécifique (archivé)
- Date: 2025-08-27
- Raison: Nettoyage du template 4NK_template pour supprimer les éléments applicatifs propres à 4NK Node (Bitcoin/Blindbit/sdk_relay) et garder une base générique.
- Impact: sections détaillant des commandes/services applicatifs déplacées depuis `docs/` vers `archive/`.
Sections concernées:
- Anciennes commandes opérationnelles (docker, scripts spécifiques) dans `docs/USAGE.md`
- Endpoints et exemples dAPIs (Bitcoin RPC, Blindbit, SDK Relay) dans `docs/API.md`
- Exemples lourds (OpenSSL, Prometheus, ELK) dans `docs/CONFIGURATION.md`
Les projets dérivés doivent réintroduire uniquement les parties pertinentes côté application dans leur propre dépôt, avec mise à jour de `docs/INDEX.md` et du `CHANGELOG.md`.

View File

@ -1,18 +0,0 @@
# Exécution des agents — 4NK_template
## Recommandé (bash)
`scripts/agents/run.sh [target_dir] [output_dir] [agent]`
- Rapports par défaut: `tests/reports/agents`
- Agent `all` pour tout lancer
## Fallback PowerShell (Windows)
`scripts/agents/run.ps1 -TargetDir . -OutputDir tests/reports/agents -Agent <nom>`
- Contrôles simplifiés si bash absent
## Mode sans IA
- Sans `OPENAI_API_KEY`: contrôles locaux uniquement
- Avec clé: analyse IA via `scripts/agents/ai_prompt.sh`
## CI
- Jobs `agents-smoke` (sans IA) et `openia-agents` (avec IA si secret présent)
- `bash-required` vérifie la présence de bash et du runner

View File

@ -1,16 +0,0 @@
# Référence API — 4NK_template
Ce document suit le squelette des modèles et doit être adapté par chaque projet dérivé.
## Principes
- Documenter chaque interface (REST/RPC/WebSocket/etc.)
- Décrire les schémas, invariants, statuts derreur
- Aligner avec la version publiée (`TEMPLATE_VERSION`) et `CHANGELOG.md`
## Sections à compléter
- Vue densemble
- Authentification et permissions
- Endpoints/contrats (par domaine)
- Codes derreur et sémantique
- Limites et quotas
- Sécurité et conformité

View File

@ -1,27 +0,0 @@
# Architecture Technique — 4NK_template
## Vue densemble
Document générique à décliner par projet dérivé du template 4NK_template.
## Architecture générale
- Couche présentation (UI/clients)
- Couche API/services
- Couche données (base, stockage, files)
- Observabilité (logs, métriques, traces)
- Automatisation (CI/CD)
## Composants principaux
- Responsabilités, entrées/sorties, SLA
## Environnements
## Orchestration
## CI/CD
- Qualité, tests, sécurité, documentation, release-guard
- Alignement `TEMPLATE_VERSION``CHANGELOG.md` ↔ tag
## Troubleshooting
- Connectivité, performance, configuration
## Évolutions

View File

@ -1,20 +0,0 @@
# ⚙️ Guide de Configuration — 4NK_template
Ce document fournit une trame de configuration à adapter dans chaque projet dérivé.
## Variables denvironnement
- Nom, type, valeur par défaut, portée
- Groupées par domaine (app, sécurité, CI, déploiement)
## Fichiers de configuration
- Format, emplacement, validation
## Réseau et sécurité
- Ports, authentification, chiffrement (à définir au projet)
## Observabilité
- Métriques, logs, traces (outils et formats à préciser)
## Politique de dépendances
- Ajouter les dépendances justifiées, versions stables
- Documenter impacts: `docs/ARCHITECTURE.md` et `CHANGELOG.md`

View File

@ -1,20 +0,0 @@
# Déploiement — 4NK_template
## Environnements
- Dev, staging, prod (à définir par projet)
## Prérequis
- Conteneurisation/outillage selon projet
- Secrets via CI
## Processus
- Préchecks: tests/doc/sécurité/version
- Déploiement: pipeline CI dédié
- Validation: smoke checks, santé, métriques
## Rollback
- Version précédente prête
- Critères dactivation
## Postdéploiement
- Santé, logs, tableaux de bord

View File

@ -1,15 +0,0 @@
# Configuration Gitea — 4NK_template
## Repository
- CI active (workflows .gitea/workflows/*.yml)
- Templates issues/PR présents
## Protections de branches
- Reviews requises avant merge
- Status checks requis
## Secrets
- Stocker les secrets en CI (pas en clair dans le dépôt)
## Release-guard
- Vérifie: tests/doc/build/sécurité/version/changelog/tag

View File

@ -1,12 +0,0 @@
# 📚 Index de documentation — 4NK_template
## Documentation du dépôt (template)
- `docs/project/INDEX.md`
## Modèles pour projets dérivés
- `docs/templates/INDEX.md`
## Guides de référence
- Qualité: `docs/QUALITY_STANDARDS.md`
- Open source: `docs/OPEN_SOURCE_GUIDE.md`
- Agents: `docs/AGENTS_RUNTIME.md`

View File

@ -1,17 +0,0 @@
# Checklist de préparation open source — 4NK_template
## Gouvernance
- LICENSE, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md
## CI/CD
- Workflows présents (tests, lint, securityaudit, releaseguard)
## Documentation
- README, INDEX, guides essentiels à jour
## Sécurité
- Secrets via CI, permissions, audit sécurité OK
## Publication
- Version/CHANGELOG/tag alignés
- Notes de release

View File

@ -1,19 +0,0 @@
# Plan de release — 4NK_template
## Objectifs
- Version documentée, testée, sécurisée
- Processus reproductible
## Préparation
- CI verte: lint/tests/doc/securityaudit/releaseguard
- Docs à jour
- Version/Changelog/Tag alignés
## Lancement
- Tag: `vX.Y.Z` ou `vX.Y.Z-wip.N`
- Notes de release
## Postlancement
- Suivi issues/retours
- Corrections critiques
- Mise à jour roadmap

View File

@ -1,19 +0,0 @@
# Audit de sécurité — 4NK_template
## Menaces
- Secrets, permissions, endpoints sensibles, dépendances
## Contrôles
- Scan secrets/permissions
- Audit dépendances
- Vérifs config (auth/TLS/CORS/ratelimit)
- Journalisation sécurité
## CI securityaudit
- Job dédié qui échoue en cas dalerte critique
## Politique des secrets
- Secrets CI, rotation, aucune clé en clair
## Remédiation
- Corriger critiques, documenter dans CHANGELOG

View File

@ -1,26 +0,0 @@
# Guide de Tests — 4NK_template
## Vue densemble
- Unit, Integration, Connectivity, External, Performance
## Structure
```
tests/
├── README.md
├── cleanup.sh
├── logs/
├── reports/
├── unit/
├── integration/
├── connectivity/
├── external/
└── performance/
```
## Exécution
- Scripts spécifiques au projet
- Rapports dans `tests/reports/`
## CI
- Exécutions par catégorie
- Blocage release en cas déchec (releaseguard)

View File

@ -1,25 +0,0 @@
# 📖 Guide dUtilisation — 4NK_template
Ce guide dusage est générique; adaptezle pour votre projet dérivé.
## Démarrage quotidien
- Vérifier la CI locale (lint/tests/doc)
- Démarrer vos services (si applicable)
- Vérifier logs, métriques et alertes
## Opérations courantes
- Logs applicatifs
- Healthchecks et métriques
- Exécuter les suites de tests
## Tests
- Voir `docs/TESTING.md`
- Rapports dans `tests/reports/`
## Sécurité
- Audits dépendances et secrets
- Voir `docs/SECURITY_AUDIT.md`
## Déploiement
- Voir `docs/DEPLOYMENT.md`
- Contrôles `deployment-checks` en CI

View File

@ -0,0 +1,56 @@
# Exécution des agents — 4NK_template (projet)
Ce guide décrit comment utiliser et intégrer les agents de conformité (qualité, documentation, sécurité, déploiement, etc.) fournis par le template.
## 1. Présentation
- Agents bash (recommandé) avec rapports Markdown
- Fallback PowerShell (Windows) produisant des contrôles simplifiés
- Intégration CI (agents-smoke, openia-agents) et garde `bash-required`
## 2. Prérequis
- bash disponible (Git Bash/WSL/Linux/macOS) pour les contrôles complets
- (Optionnel) `OPENAI_API_KEY` pour activer lanalyse IA
## 3. Commandes
- Bash (recommandé):
- `scripts/agents/run.sh [target_dir] [output_dir] [agent]`
- Par défaut: `target_dir=.` `output_dir=tests/reports/agents` `agent=all`
- PowerShell (fallback Windows):
- `scripts/agents/run.ps1 -TargetDir . -OutputDir tests/reports/agents -Agent <nom>`
## 4. Agents disponibles
- Documentation (`documentation`): fichiers essentiels et index
- Qualité technique (`quality-technique`): fichiers de base, lint/type-check si outillage présent
- Open source (`open-source`): LICENSE, CONTRIBUTING, CODE_OF_CONDUCT, checklists
- Tests (`tests`): structure, logs et rapports
- Performance (`performance`): structure et recommandations
- Sécurité (`securite`): posture, CI `security-audit`
- Déploiement (`deploiement`): documentation et contrôles CI
- Dépendances (`dependances`): politique et mise à jour
- Compilation (`compilation`): étapes de build en CI
- Résolution (`resolution`): REX/archives
- SSH & scripts (`ssh-scripts`): scripts SSH et doc associée
- Frontend (`frontend`): principes génériques si applicable
- Gitea (`gitea`): templates et workflows
- Versionnage (`versionnage`): CHANGELOG/TEMPLATE_VERSION
- Synchronisation (`sync-template`): manifeste/template-sync
- Dérogations locales (`derogations-locales`): fichier de dérogations
## 5. Sorties
- Rapports Markdown: `tests/reports/agents/*.md`
- À relire avant PR; corriger les écarts signalés
## 6. Intégration CI
- `agents-smoke`: agents en mode sans IA (rapports artefacts)
- `openia-agents`: agents avec IA si `OPENAI_API_KEY` fourni
- `bash-required`: bloque si bash/runner absent
- `release-guard`: dépend des checks en amont
## 7. Paramètres IA (optionnels)
- `OPENAI_API_KEY`, `OPENAI_MODEL`, `OPENAI_API_BASE`, `OPENAI_TEMPERATURE`
## 8. Bonnes pratiques
- Exécuter les agents avant chaque PR
- Archiver les rapports significatifs
- Documenter les décisions dans le changelog et la doc

View File

@ -0,0 +1,20 @@
# Architecture — 4NK_template
## Arborescence de référence
- `.gitea/**` — Workflows CI et templates Gitea
- `docs/project/**` — Doc du template
- `docs/templates/**` — Modèles à copier
- `scripts/agents/**` — Agents (bash + PS fallback)
- `tests/**` — Structure de tests, logs, rapports
## Découpage
- Documentation (templates vs project)
- Qualité et CI (jobs, garde de release)
- Sécurité (audit, secrets)
- Agents (contrôles automatiques)
## Invariants
- Pas dexemples applicatifs dans le template
- Documentation et changelog à jour à chaque changement
- CI bloquante si prérequis manquants (bash-required)

View File

@ -0,0 +1,13 @@
# Configuration — 4NK_template (projet)
## Variables denvironnement (CI)
- Secrets CI uniquement (pas de secrets en clair)
- Variables agents : OPENAI_API_KEY, OPENAI_MODEL, OPENAI_API_BASE, OPENAI_TEMPERATURE
## Conventions
- Retours de ligne normalisés par CI
- Dossiers `tests/logs` et `tests/reports` réservés aux artefacts
## Pré-requis agents
- bash requis (job CI `bash-required`)
- Fallback PowerShell utilisable localement

View File

@ -0,0 +1,22 @@
# Déploiement — 4NK_template (projet)
## Environnements
- Dev, staging, prod (à définir par projets consommateurs)
## Prérequis
- Outils de déploiement et conteneurisation selon projet
- Secrets fournis via CI (jamais en clair)
## Processus
- Préchecks: tests/doc/sécurité/version/changelog/tag
- Déploiement: pipeline CI dédié
- Validation: smoke checks, santé, métriques
## Rollback
- Version précédente prête, compatibilité des données
- Critères dactivation, procédure documentée
## Postdéploiement
- Vérification santé/logs/dashboards
- Suivi des erreurs et retours

View File

@ -0,0 +1,25 @@
# Configuration Gitea — 4NK_template (projet)
## 1. Repository
- Activer les Actions (workflows `.gitea/workflows/*.yml`)
- Vérifier les templates dissues/PR
## 2. Protections de branches
- Reviews requises avant merge
- Status checks requis (CI verte)
- Mise à jour obligatoire de la branche avant merge
## 3. Secrets et variables
- Secrets: `OPENAI_API_KEY` (optionnel), secrets de déploiement
- Variables: paramètres de CI non sensibles
## 4. Workflows requis
- `code-quality`, `unit-tests`, `documentation-tests`, `security-audit`
- `deployment-checks`, `bash-required`, `release-guard`
- (Optionnels) `agents-smoke`, `openia-agents`
## 5. Processus PR
- Branche dédiée, PR petite et ciblée
- CI verte, review approuvée
- Doc et changelog à jour

View File

@ -0,0 +1,15 @@
# Guide open source — 4NK_template (projet)
## Pré-requis
- LICENSE, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md
## CI
- tests, lint, security-audit, release-guard, bash-required
## Publication
- Alignement version/changelog/tag, notes de release
## Communauté
- Templates issues/PR, labels, milestones
- Divulgation responsable des vulnérabilités

View File

@ -0,0 +1,9 @@
# Standards de qualité — 4NK_template (projet)
- Conventions de code: linters/formatters (selon la pile du consommateur)
- Analyse statique: types, duplication, complexité
- Revue obligatoire avant merge
- Tests verts (catégories pertinentes) et rapports conservés
- Documentation à jour (INDEX, guides impactés)
- Sécurité de base: secrets, permissions, audit CI

View File

@ -1,30 +0,0 @@
# README — 4NK_template
## Présentation
Template documentaire, CI et scripts de qualité/sécurité pour initier des projets 4NK cohérents et industrialisés.
## Objectifs
- Offrir des modèles de documentation prêts à lemploi
- Standardiser qualité, tests, sécurité et release
- Faciliter lexécution dagents de conformité
## Périmètre
- Documentation générique (non applicative)
- CI Gitea (tests, security-audit, release-guard, bash-required)
- Scripts dagents (bash recommandé, fallback PowerShell)
## Structure
- `docs/project/**` — Documentation du template
- `docs/templates/**` — Modèles à copier dans les projets
- `scripts/agents/**` — Agents et outillage
- `tests/**` — Structure, journaux et rapports
## Utilisation
- Lire `docs/project/INDEX.md`
- Consulter `docs/project/USAGE.md` pour lusage détaillé
- Exécuter les agents pour un diagnostic: rapport dans `tests/reports/agents`
## Gouvernance
- Standards: `docs/QUALITY_STANDARDS.md`
- Open source: `docs/OPEN_SOURCE_GUIDE.md`
- Publication: `docs/project/RELEASE_PLAN.md`

View File

@ -0,0 +1,20 @@
# Plan de release — 4NK_template (projet)
## Objectifs
- Version documentée, testée, sécurisée
- Processus reproductible et traçable
## Préparation
- CI verte: lint/tests/doc/securityaudit/releaseguard
- Docs à jour (INDEX, guides impactés)
- Version/Changelog/Tag alignés
## Lancement
- Tagging: `vX.Y.Z` ou `vX.Y.Z-wip.N`
- Notes de release (résumé, changements majeurs, impacts)
## Postlancement
- Suivi issues/retours
- Corrections critiques
- Mise à jour de la roadmap

22
docs/project/ROADMAP.md Normal file
View File

@ -0,0 +1,22 @@
# Roadmap — 4NK_template (projet)
## Vision
Maintenir un template robuste (docs, CI, sécurité) pour accélérer les projets.
## Objectifs (12 mois)
- Qualité: standards renforcés, automatisations CI supplémentaires
- Documentation: squelettes enrichis, index cohérents
- Sécurité: contrôles CI étendus, guides pratiques
- Outillage: agents élargis, rapports synthétiques
## Jalons
- T1: Mise à jour squelettes docs et agents
- T2: Extensions CI (lint multilangages, déploiement dryrun)
- T3: Guides open source/qualité consolidés
- T4: Synchronisation de template outillée
## Mesure du progrès
- CI verte en continu
- Adoption des squelettes par projets
- Diminution des écarts de conformité

View File

@ -0,0 +1,24 @@
# Audit de sécurité — 4NK_template (projet)
## Menaces
- Secrets, permissions, endpoints sensibles, dépendances, supply chain
## Contrôles
- Scan secrets/permissions
- Audit dépendances (outil selon la pile des projets)
- Vérifs de configuration (auth/TLS/CORS/ratelimit)
- Journalisation sécurité, traçabilité
## CI
- Job `security-audit` échoue si alerte critique
- Rapports archivés en artefacts
## Politique des secrets
- Exclusivement secrets CI/variables denvironnement
- Rotation régulière, révocation sur incident
- Aucun secret en clair dans le dépôt
## Remédiation
- Prioriser, corriger, documenter dans `CHANGELOG.md`
- Ajouter des tests de nonrégression sécurité si pertinent

View File

@ -53,3 +53,4 @@ Ce document explique comment utiliser le template pour initier, documenter, cont
- Pas dexemples applicatifs dans le template - Pas dexemples applicatifs dans le template
- Toujours mettre à jour la documentation et le changelog - Toujours mettre à jour la documentation et le changelog
- Réduire la dérive: synchroniser régulièrement vos projets avec les squelettes et standards - Réduire la dérive: synchroniser régulièrement vos projets avec les squelettes et standards

View File

@ -18,3 +18,4 @@ if ! grep -Eq "^## \\[$(echo "$v" | sed 's/^v//')\\]" CHANGELOG.md; then
fi fi
echo "Version alignment OK" echo "Version alignment OK"

View File

@ -63,3 +63,4 @@ case "$mode" in
esac esac
echo "[release-guard] OK" echo "[release-guard] OK"

View File

@ -33,3 +33,4 @@ fi
echo "[security-audit] terminé rc=$rc" echo "[security-audit] terminé rc=$rc"
exit $rc exit $rc