codex-env-tools
v0.1.7
Published
Outils d’automatisation pour dev/preprod/infra orchestrés via Node.js/TypeScript.
Maintainers
Readme
🐳 Utilisation via Docker
Build
docker build -t codex-env-tools .Run (exemples)
# Run l'outil comme un binaire
docker run --rm codex-env-tools start-app --app gitlab --token $TELEPORT_JOIN_TOKEN --workDir /tmp/work
docker run --rm codex-env-tools start-task 123 --gitlabToken $GITLAB_TOKEN --teleportToken $TELEPORT_JOIN_TOKENAvant-propos: le dépôt local doit être propre (pas de modifications non enregistrées), sinon
start-taskéchouera. Règle de nommage: feat/gl--<5 premiers mots normalisés et lowercase> (ex: feat/gl-42-add-user-authentication-flow) Comportement si existant: si une branchefeat/gl-<id>-...existe déjà (locale ou distante),start-taskémet un warning et bascule sur cette branche sans créer de nouveau commit.
🏷️ Build d'image et push registry (CI/CD)
Le Dockerfile est conçu pour être compatible direct avec un pipeline Gitlab :
docker-build:
stage: docker
image: docker:24
services:
- docker:24-dind
script:
- echo "$CONTAINER_REGISTRY_PASSWORD" | docker login docker.io --username "$CONTAINER_REGISTRY_USERNAME" --password-stdin
- VERSION=${CI_COMMIT_TAG:-0.0.0-build-${CI_COMMIT_SHORT_SHA:-${CI_COMMIT_SHA:0:8}}-$(date +%Y%m%d%H%M)}
- IMAGE="docker.io/ftprod/ftprod-ai-tools"
- docker build -t "$IMAGE:$VERSION" .
- docker push "$IMAGE:$VERSION"Codex Env Tools
Outils CLI & librairie Node.js/TypeScript pour automatiser, orchestrer et piloter les environnements de dev, preprod et infra dans une stack moderne.
🚀 Vision
Ce projet vise à centraliser les actions d'administration, de déploiement et de contrôle de vos environnements, en facilitant l’automatisation, la sécurité et la reproductibilité. Task-runner/devops as code : interfaçable, extensible, pluggable (binaire, API, scripts...).
✨ Fonctionnalités principales (roadmap)
- Lancement de binaires CLI externes (terraform, kubectl, custom...)
- Déclenchement (et reporting) de déploiements ou de jobs CI/CD
- Démarrage de tâche Git à partir d’une issue GitLab (
start-task) - Lancement d’un Teleport application bot (
teleport-bot start-app) - Centralisation de templates/configs par environnements
- Extensible par vos propres “agents/tools” (voir AGENTS.md)
- Logging, orchestrations, tests, simulation
📦 Installation & Quickstart
Avec pnpm (recommandé)
CI=true pnpm install --frozen-lockfile
pnpm run devAvec npm
npm install --no-audit --no-fund
npm run devTests unitaires
# (après avoir installé jest/vitest)
pnpm test🏃♂️ Quickstart
npm run build💻 Commandes Qualimétrie
codex-env-tools qualimetrie:test # tests & couverture
codex-env-tools qualimetrie:lint # linting avec ESLint
codex-env-tools qualimetrie:security # audit de sécurité (pnpm audit)
codex-env-tools qualimetrie:bom # BOM licences💡 Structure projet
Cf. AGENTS.md pour la conception agents/plugins.
src/cli/— Entrées CLI, routage commandessrc/services/— Services métiers (exécution, remote, etc)src/controllers/— Orchestrateurs, gestion logicsrc/config/— Fichiers/env/configs partagéssrc/utils/— Fonctions utilitairessrc/types/— Typage TS global
🧑💻 Développement
- Suivi ESLint, Prettier, TypeScript strict
- Démarrage rapide : npm run dev
- Ajoutez vos binaires, “agents”, plugins dans
src/services/src/controllers
✅ Bonnes pratiques
- TypeScript typé sur tout
- Convention services/controllers/plugins
- Lint, format, CI
- Configuration centralisée
- Tests unitaires & e2e à venir (
tests/)
pnpm run build
node dist/cli/index.js start-app
--app gitlab
--token xxxxxxx
