2.4 KiB
2.4 KiB
Configuration — 4NK_template (projet)
Variables d’environnement (CI)
- Secrets CI uniquement (pas de secrets en clair)
- Agents IA:
OPENAI_API_KEY
,OPENAI_MODEL
,OPENAI_API_BASE
,OPENAI_TEMPERATURE
- Release:
RELEASE_TOKEN
(publication des releases via l’API Gitea) - Forge:
BASE_URL
(ex:https://git.4nkweb.com
) - Runner unifié:
RUNNER_MODE
=agents
|runner
|both
(par défaut:agents
)REGISTRATION_TOKEN
(requis siRUNNER_MODE=runner
ouboth
sans config existante)
Variables d’environnement (agents)
AUTO_FIX
(0/1, défaut 0): active les corrections automatiques côté agents- Création de la structure
tests/**
manquante - Génération de squelettes minimalistes pour certains fichiers de
docs/
- Création de la structure
SCOPE
(all
|changed
, défautall
):all
: passe sur l’ensemble du dépôtchanged
: focalise les contrôles/corrections sur les fichiers modifiés du dernier commit
Conventions
- Retours de ligne normalisés par CI
- Dossiers
tests/logs
ettests/reports
réservés aux artefacts
Pré-requis agents
- bash requis (job CI
bash-required
) - Fallback PowerShell utilisable localement
Conteneur unifié (runner+agents)
- Image: construite via
docker/Dockerfile.ci
, orchestrée pardocker-compose.ci.yml
- Montage: le projet courant est monté sur
/work
, les rapports dans/work/tests/reports/agents
- Secrets locaux:
~/.4nk_template/.env
monté en lecture seule dans le conteneur
Variables utilisées par l’entrypoint docker/entrypoint.ci.sh
:
RUNNER_MODE
détermine le mode d’exécutionBASE_URL
etREGISTRATION_TOKEN
servent à l’enregistrement du runner (act_runner)
Gestion locale des secrets (~/.4nk_template/.env)
- Modèle fourni:
scripts/env/.env.template
(clés sans valeurs) - Provisionnement automatique:
scripts/env/ensure_env.sh
- crée
~/.4nk_template/
(chmod 700) et~/.4nk_template/.env
(chmod 600) si absent - copie depuis le template puis demande de compléter
- vérifie les variables essentielles (ex: OPENAI_API_KEY, OPENAI_MODEL)
- crée
- Chargement automatique:
scripts/agents/run.sh
source~/.4nk_template/.env
si présent
Lints Markdown
- Configuration:
.markdownlint.json
(MD013 à 200 colonnes, MD024 en siblings_only) - CI: job
markdownlint
exécutemarkdownlint-cli
sur tous les.md
(horsarchive/**
)