En direct depuis le registre

Générez des pipelines CI/CD GitHub Actions en analysant le code que vous avez déjà.

cistack analyse votre projet, détecte la stack et écrit des workflows GitHub Actions prêts pour la production pour l’intégration continue, le déploiement, Docker et les releases. Conçu pour de vrais dépôts, pas des démos : il lit les fichiers de verrouillage, les signaux de framework, la config de release, les workspaces monorepo, l’hébergement et les métadonnées de branches Git avant de générer le YAML.

Téléchargements hebdomadaires

2.4k

semaine dernière sur npm

Installation rapide

npx cistack

Installation

Recommandé
npx cistack

Toujours la dernière version. Pas d’installation globale.

cistack prend en charge Node.js 16+ ; le projet est vérifié en continu sur Node.js 18, 20 et 22 dans GitHub Actions.

Aperçu d’exécution

Sortie CLI animée après analyse d’un projet type.

Traitement de la sortie…
npx cistack
$npx cistack
  cistack v3.0.0
  ────────────────────────

✔ Project scanned
✔ Stack detected

  Stack detection summary
  Languages:           TypeScript
  Frameworks:          Next.js
  Hosting:             Vercel
  Testing:             None
  Release tool:        None

Does this look correct? Generate pipeline with these settings? Yes
✔ Generated 1 workflow file
  ✔ Written:      .github/workflows/pipeline.yml
  ✔ Written:      .github/dependabot.yml

Done! Your GitHub Actions pipeline is ready.
   Pipeline → .github/workflows/pipeline.yml
   Dependabot → .github/dependabot.yml

Référence

Pourquoi cistack

  • Détecte automatiquement les langages, frameworks, outils de test, hébergeurs et outils de release
  • Utilise la branche Git par défaut du dépôt quand elle est disponible au lieu de supposer main
  • Prend en charge les monorepos, les workflows par package et des commandes adaptées au gestionnaire de paquets
  • Génère une config Dependabot alignée sur l’écosystème, y compris Bun lorsque bun.lock est présent
  • Fusionne intelligemment les workflows générés avec les fichiers existants au lieu d’écraser aveuglément
  • Génère des pipelines de déploiement pour Vercel, Netlify, Firebase, GitHub Pages, AWS, Azure, Heroku, Render et Railway
  • Inclut des commandes intégrées d’audit et de mise à niveau des workflows
  • Prend en charge cistack.config.js typé via index.d.ts
  • S’appuie sur une suite de régression automatisée (branches, release, fusion intelligente, scripts monorepo, tests smoke CLI)

Utilisation CLI

Fichiers générés

Détection prise en charge

FirebaseVercelNetlifyGitHub PagesAWSGCP App EngineAzureHerokuRenderRailwayDocker

Clés de configuration de premier niveau

  • nodeVersion
  • packageManager
  • hosting
  • frameworks
  • testing
  • branches
  • workflowLayout
  • cache
  • monorepo
  • release
  • secrets
  • outputDir

Comportement des branches

  • Si branches est défini dans la config, cistack l’utilise telle quelle
  • Sinon il lit la branche par défaut du dépôt depuis les métadonnées Git quand c’est possible
  • Si les métadonnées Git ne sont pas disponibles, il retombe sur des valeurs sûres comme main, master et develop selon le type de workflow

Configuration

Créez cistack.config.js pour surcharger la détection.

Exemple

/** @type {import('cistack').Config} */
module.exports = {
  nodeVersion: '20',
  packageManager: 'pnpm',
  branches: ['main', 'staging'],
  workflowLayout: 'single',
  hosting: ['Vercel'],
  outputDir: '.github/workflows',
  cache: {
    npm: true,
    cargo: true,
    pip: true,
  },
  monorepo: {
    perPackage: true,
  },
  release: {
    tool: 'semantic-release',
  },
};

Secrets

Les workflows de déploiement et de release générés indiquent les secrets nécessaires en tête de fichier. Ajoutez-les dans GitHub : Paramètres → Secrets and variables → Actions.

Lancer les vérifications en local

npm test
npm run test:smoke
node bin/ciflow.js audit --path .
node bin/ciflow.js upgrade --path . --dry-run

Avec le paquet publié, l’exécutable est cistack. Dans le dépôt cistack, le point d’entrée local est bin/ciflow.js.

Développement et qualité

Le projet inclut une suite de régression sur les zones historiquement les plus fragiles :

  • gestion des surcharges de configuration
  • détection de la branche par défaut
  • sélection de la branche de déploiement
  • branche de production Netlify
  • comportement de fusion intelligente
  • résolution des scripts de build par package en monorepo
  • détection de la config de release
  • génération du workflow de release
  • tests smoke CLI en dry-run

Licence MIT

Génération de workflows CI/CD à partir du dépôt que vous avez déjà.

Créé par Edwin Vakayil

© 2026 cistack. Tous droits réservés le cas échéant.