Live from registry

Generate GitHub Actions CI/CD pipelines by analyzing the codebase you already have.

cistack scans your project, detects the stack, and writes production-ready GitHub Actions workflows for CI, deployment, Docker, and releases. It is designed for real repos, not toy demos: it reads lock files, framework signals, release config, monorepo workspaces, hosting config, and Git branch metadata before generating YAML.

Weekly downloads

2.4k

last week on npm

Quick install

npx cistack

Installation

Recommended
npx cistack

Always fetches the latest version. No global install.

cistack supports Node.js 16+, and the project itself is continuously verified on Node.js 18, 20, and 22 in GitHub Actions.

Run preview

Animated CLI output after scanning a typical project.

Processing output…
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

Reference

Why cistack

  • Detects languages, frameworks, testing tools, hosting providers, and release tooling automatically
  • Uses your repository's default Git branch when available instead of assuming main
  • Supports monorepos, per-package workflows, and package-manager-aware commands
  • Generates ecosystem-aware Dependabot config, including Bun when bun.lock is present
  • Smart-merges generated workflows with existing files instead of blindly overwriting them
  • Generates deploy pipelines for Vercel, Netlify, Firebase, GitHub Pages, AWS, Azure, Heroku, Render, and Railway
  • Ships with built-in workflow audit and upgrade commands
  • Includes typed cistack.config.js support through index.d.ts
  • Backed by an automated regression suite covering branch handling, release detection, smart merge behavior, monorepo package scripts, and CLI smoke tests

CLI usage

What gets generated

Supported detection

FirebaseVercelNetlifyGitHub PagesAWSGCP App EngineAzureHerokuRenderRailwayDocker

Supported top-level config keys

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

Branch behavior

  • If branches is set in config, cistack uses it exactly
  • Otherwise it reads the repository's default branch from Git metadata when available
  • If Git metadata is unavailable, it falls back to safe defaults like main, master, and develop depending on the workflow type

Configuration

Create cistack.config.js when you want to override detection.

Example

/** @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

Generated deploy and release workflows document the secrets they need at the top of each file. Add them in GitHub under Settings, Secrets and variables, Actions.

Run checks locally

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

If you are using the published package, the executable is cistack. In the cistack repository, the local entrypoint is bin/ciflow.js.

Development and quality

The project includes a regression suite for the areas that were historically the easiest to break:

  • config override handling
  • default branch detection
  • deploy branch selection
  • Netlify production branch handling
  • smart merge behavior
  • monorepo per-package build script lookup
  • release config detection
  • release workflow generation
  • CLI dry-run smoke testing

MIT License

CI/CD workflow generation from the repo you already have.

Created by Edwin Vakayil

© 2026 cistack. All rights reserved where applicable.