2025-08-27 23:41:25 +02:00
2025-08-27 23:41:25 +02:00
2025-08-27 23:41:25 +02:00

4NK Project Template — Qualité, Sécurité, Open Source

Bienvenue dans le template 4NK. Objectifs: démarrer vite, rester propre, publier serein. Vous y trouverez des règles, des workflows CI, des scripts dagents et une documentation prête à adapter.

📦 Ce que vous obtenez

  • Standards de qualité et sécurité (lint, audit, releaseguard)
  • Agents automatisés (qualité, docs, tests, sécurité, déploiement)
  • CI Gitea prête à lemploi (selfhosted, linux)
  • Documentation structurée: docs/project/** (ce dépôt) et docs/templates/** (modèles pour vos projets)

🐧 Linux (Debian) — Prérequis rapides

sudo apt update
sudo apt install -y bash git curl jq ca-certificates
# Lint Markdown
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

⚙️ Configuration locale (secrets)

bash scripts/deploy/setup.sh   # crée ~/.4nk_template/.env (chmod 600)

À renseigner ensuite dans ~/.4nk_template/.env (extraits):

  • OPENAI_API_KEY, OPENAI_MODEL (si agents IA)
  • RELEASE_TOKEN (release via API Gitea)
  • BASE_URL (optionnel, par défaut https://git.4nkweb.com)

Plus dinfos: docs/project/CONFIGURATION.md et docs/project/GITEA_SETUP.md.

🤖 Exécuter les agents

scripts/agents/run.sh              # exécution complète, rapports dans tests/reports/agents
scripts/agents/run.sh . . documentation  # exécution ciblée (facultatif)

Fallback Windows: scripts/agents/run.ps1.

Guide complet: docs/project/AGENTS_RUNTIME.md.

🐳 Conteneur unifié (runner + agents)

# Build
docker compose -f docker-compose.ci.yml build

# Exécuter les agents sur le dépôt courant
docker compose -f docker-compose.ci.yml up --abort-on-container-exit
# Rapports: tests/reports/agents/*.md

# Lancer le runner dans ce conteneur
RUNNER_MODE=runner BASE_URL="https://git.4nkweb.com" REGISTRATION_TOKEN="<token>" \
  docker compose -f docker-compose.ci.yml up -d

🔁 CI/CD (Gitea Actions)

  • Runners: labels requis self-hosted,linux (voir docs/project/GITEA_SETUP.md)
  • Jobs clés: markdownlint, agents-smoke, release-guard, release-create
  • Secrets/Variables: RELEASE_TOKEN, OPENAI_API_KEY, BASE_URL, OPENAI_*

🚀 Release

# Vérifier/mettre à jour la version
cat TEMPLATE_VERSION

# Tagger (déclenche la release via API si RELEASE_TOKEN existe côté dépôt)
git tag -a vYYYY.MM.P -m 'release: vYYYY.MM.P (latest)'
git push origin vYYYY.MM.P

Changelog: CHANGELOG.md. Gardien de release: release-guard en CI.

📚 Documentation

  • Projet (ce dépôt): docs/project/
  • Modèles à réutiliser: docs/templates/
  • Standards de qualité: docs/project/QUALITY_STANDARDS.md

🤝 Contribution

  • Fork → branche → PR (CI verte, docs/changelog à jour)
  • Respect des règles éditoriales (français, pas de secrets, pas dexemples applicatifs)

📄 Licence

MIT — voir LICENSE.

🆘 Support

  • Lire docs/project/INDEX.md
  • Ouvrir une issue si besoin
Description
No description provided
Readme MIT 596 KiB
Languages
Shell 97.9%
PowerShell 2.1%