Scripts CI
Inventaire des scripts CI et utilitaires sous scripts/ et des gates qui les utilisent.
Scripts npm de gates
Section intitulée « Scripts npm de gates »Chaque commande npm run <script> lance un script de vérification. Les commandes critiques sont exécutées en CI sur chaque PR.
| Commande | Script | Rôle |
|---|---|---|
npm run lint | eslint . --ext .ts,.cjs --max-warnings=0 | Lint TypeScript avec frontières d’import (cf. ADR 0001) |
npm run typecheck | tsc -p tsconfig.json --noEmit | Vérification TypeScript stricte |
npm test | vitest run | Tests unitaires (vitest) |
npm run e2e | playwright test | Tests end-to-end Playwright |
npm run line-count | scripts/check-line-counts.mjs | Gate de taille (refuse les monolithes au-dessus du seuil) |
npm run architecture:check | scripts/check-architecture-boundaries.mjs | Frontières d’import strictes entre core/adapters/composition/addons |
npm run public-docs:check | scripts/check-public-docs.mjs | Refuse AGENT-*, AUDITOR-*, DISPATCH-* et autres motifs internes dans docs/ |
npm run docs:links | scripts/check-doc-links.mjs | Vérifie les liens markdown internes (fichier + ancre) |
npm run license:check | scripts/check-licenses.mjs | Vérifie les licences des dépendances (refuse les copyleft non autorisées) |
npm run sbom:check | cyclonedx-npm | Génère et valide SBOM pour root, UI, cortex-lite |
npm run release:tarball:check | scripts/check-release-tarball.mjs | Audite le tarball de release (fichiers attendus, exclusions) |
Scripts shell
Section intitulée « Scripts shell »| Script | Rôle |
|---|---|
scripts/release.sh | Bumper version, changelog, taguer release |
scripts/smoke-binary.sh | Smoke test du binaire ./bin/arka-deck |
scripts/init-public-repo.sh | Préparer un dépôt public propre (exclut .input/, AGENTS.md, CLAUDE.md, etc.) |
Workflow CI
Section intitulée « Workflow CI ».github/workflows/ci.yml enchaîne les gates :
- Public files guard — refuse
.input/,.claude/,.agents/, etc. dans l’index Git - Public docs guard —
npm run public-docs:check - Docs link check —
npm run docs:links - DCO sign-off — vérifie
git commit -ssur chaque commit - Secret scan —
gitleakssur le dépôt - ShellCheck —
shellchecksur les scripts shell - Quality (matrice Node) — lint + tests + build + line-count + architecture-check + typecheck + license-check + sbom-check
.github/workflows/release.yml ajoute :
- Génération tarball
- Audit tarball (
check-release-tarball.mjs) - SHA256
- GitHub Release
.github/workflows/scorecard.yml lance OSSF Scorecard chaque lundi pour mesurer la posture supply-chain.
Hooks Git
Section intitulée « Hooks Git ».githooks/ contient un pre-commit qui :
- Lance le lint sur les fichiers stagés
- Vérifie le DCO sign-off
- Refuse les fichiers internes (
.input/, etc.)
Activer les hooks localement :
git config core.hooksPath .githooksVoir aussi
Section intitulée « Voir aussi »- CI/Gates en détail (workflow contributeur) :
docs/dev/workflow/ci-gates.md(à venir) - Procédure de release :
docs/dev/workflow/release.md(à venir) - Architecture hexagonale (ADR 0001) : ../../adr/0001-architecture-hexagonale.md