60 lines
2.6 KiB
Markdown
60 lines
2.6 KiB
Markdown
# 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 si `RUNNER_MODE=runner` ou `both` sans config existante)
|
||
- **Flag de gel CI**:
|
||
- `CI_SKIP` (défaut `true` dans le template): quand `true`, les jobs CI sont court‑circuités
|
||
- Définir à `false` pour réactiver la CI côté dépôt
|
||
- Alternative ponctuelle: commit message `[skip ci]`
|
||
|
||
## 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/`
|
||
- `SCOPE` (`all`|`changed`, défaut `all`):
|
||
- `all`: passe sur l’ensemble du dépôt
|
||
- `changed`: focalise les contrôles/corrections sur les fichiers modifiés du dernier commit
|
||
|
||
## 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
|
||
|
||
## Conteneur unifié (runner+agents)
|
||
|
||
- Image: construite via `docker/Dockerfile.ci`, orchestrée par `docker-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écution
|
||
- `BASE_URL` et `REGISTRATION_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)
|
||
- 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écute `markdownlint-cli` sur tous les `.md` (hors `archive/**`)
|