来自 registry 的实时数据

通过分析你已有的代码库,生成 GitHub Actions CI/CD 流水线。

cistack 扫描项目、识别技术栈,并写入可用于生产的 GitHub Actions 工作流,覆盖 CI、部署、Docker 与发布。面向真实仓库而非演示:在生成 YAML 前会读取锁文件、框架信号、发布配置、monorepo 工作区、托管配置与 Git 分支元数据。

周下载量

2.4k

npm 近一周

快速安装

npx cistack

安装

推荐
npx cistack

始终拉取最新版本,无需全局安装。

cistack 支持 Node.js 16+;项目在 GitHub Actions 中持续针对 Node.js 18、20、22 验证。

运行预览

扫描典型项目后的 CLI 动画输出。

正在处理输出…
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

参考

为什么选择 cistack

  • 自动识别语言、框架、测试工具、托管提供方与发布工具
  • 在可用时使用仓库默认 Git 分支,而不是假定 main
  • 支持 monorepo、按包的流水线,以及面向不同包管理器的命令
  • 生成贴合生态的 Dependabot 配置;存在 bun.lock 时包含 Bun
  • 将生成的工作流与已有文件智能合并,而非盲目覆盖
  • 为 Vercel、Netlify、Firebase、GitHub Pages、AWS、Azure、Heroku、Render、Railway 等生成部署流水线
  • 内置工作流审计与升级命令
  • 通过 index.d.ts 支持类型化的 cistack.config.js
  • 具备自动化回归测试,覆盖分支、发布、智能合并、monorepo 脚本与 CLI 冒烟测试

CLI 用法

会生成什么

支持的检测能力

FirebaseVercelNetlifyGitHub PagesAWSGCP App EngineAzureHerokuRenderRailwayDocker

支持的顶层配置键

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

分支行为

  • 若在配置中设置了 branches,cistack 将严格使用这些分支
  • 否则在可用时从 Git 元数据读取仓库默认分支
  • 若无法获取 Git 元数据,则按工作流类型回退到 main、master、develop 等安全默认值

配置

需要覆盖检测结果时,请创建 cistack.config.js。

示例

/** @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',
  },
};

密钥

生成的部署与发布工作流会在文件顶部说明所需密钥。请在 GitHub:Settings → Secrets and variables → Actions 中添加。

在本地运行检查

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

使用已发布的 npm 包时,可执行文件名为 cistack。在 cistack 源码仓库中,本地入口为 bin/ciflow.js。

开发与质量

项目包含针对历史上易出问题领域的回归测试:

  • 配置覆盖处理
  • 默认分支检测
  • 部署分支选择
  • Netlify 生产分支
  • 智能合并行为
  • monorepo 按包查找构建脚本
  • 发布配置检测
  • 发布工作流生成
  • CLI dry-run 冒烟测试

MIT 许可证

从你已有的仓库生成 CI/CD 工作流。

© 2026 cistack。在适用范围内保留所有权利。