Aller au contenu

Scripts CI

Inventaire des scripts CI et utilitaires sous scripts/ et des gates qui les utilisent.


Chaque commande npm run <script> lance un script de vérification. Les commandes critiques sont exécutées en CI sur chaque PR.

CommandeScriptRôle
npm run linteslint . --ext .ts,.cjs --max-warnings=0Lint TypeScript avec frontières d’import (cf. ADR 0001)
npm run typechecktsc -p tsconfig.json --noEmitVérification TypeScript stricte
npm testvitest runTests unitaires (vitest)
npm run e2eplaywright testTests end-to-end Playwright
npm run line-countscripts/check-line-counts.mjsGate de taille (refuse les monolithes au-dessus du seuil)
npm run architecture:checkscripts/check-architecture-boundaries.mjsFrontières d’import strictes entre core/adapters/composition/addons
npm run public-docs:checkscripts/check-public-docs.mjsRefuse AGENT-*, AUDITOR-*, DISPATCH-* et autres motifs internes dans docs/
npm run docs:linksscripts/check-doc-links.mjsVérifie les liens markdown internes (fichier + ancre)
npm run license:checkscripts/check-licenses.mjsVérifie les licences des dépendances (refuse les copyleft non autorisées)
npm run sbom:checkcyclonedx-npmGénère et valide SBOM pour root, UI, cortex-lite
npm run release:tarball:checkscripts/check-release-tarball.mjsAudite le tarball de release (fichiers attendus, exclusions)

ScriptRôle
scripts/release.shBumper version, changelog, taguer release
scripts/smoke-binary.shSmoke test du binaire ./bin/arka-deck
scripts/init-public-repo.shPréparer un dépôt public propre (exclut .input/, AGENTS.md, CLAUDE.md, etc.)

.github/workflows/ci.yml enchaîne les gates :

  1. Public files guard — refuse .input/, .claude/, .agents/, etc. dans l’index Git
  2. Public docs guardnpm run public-docs:check
  3. Docs link checknpm run docs:links
  4. DCO sign-off — vérifie git commit -s sur chaque commit
  5. Secret scangitleaks sur le dépôt
  6. ShellCheckshellcheck sur les scripts shell
  7. 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.


.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 :

Fenêtre de terminal
git config core.hooksPath .githooks

  • 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