@cmflow/cli

中文文档
3.21.0发布于 2026/11/05MITTypeScriptESM + CJS近 30 天下载 1.1万

令人惊叹的吉特之流

中文使用文档
文档目录9 节
  1. 安装
  2. Git 流程命令
  3. Jira的释放
  4. Monorepo包裹文物
  5. flow 配置
  6. 语义释放
  7. Atlas
  8. 发展
  9. 许可证
Club Med

@ cmflow/ cli (英语)


npm version semantic-release code style: oxfmt

Club Med Flow命令行工具为Git Flow,语义放出并发布Yarn工作空间包.

安装

全局安装 Git 流程命令 :

npm install --global @cmflow/cli
cm --help

当项目使用其发布插件或软件包艺术命令时, 将它安装为开发依赖:

npm install --save-dev @cmflow/cli

Git 流程命令

cm 提供启动、完成、推进、拉动、合并、重新定位和部署分支,以及释放和Jira助手的命令.

cm --help
cm start --help
cm finish --help
cm deploy --help

Jira的释放

jira-releases 列出一个Jira项目和组件的发布版本,生成交付说明,并可以将发布版本标记为发布.

cm jira-releases --project-id <PROJECT_KEY> --component <COMPONENT> --tag <VERSION> [--update] [--verbose]

这需要 JIRA_API, (中文(简体) ), JIRA_EMAIL 财务报告和审定财务报表 JIRA_TOKENDirectus 工作流程支持是可选的和使用 DIRECTUS_URL, (中文(简体) ), DIRECTUS_FLOW_ID 财务报告和审定财务报表 DIRECTUS_ACCESS_TOKEN。没有 --update 首先审查选定的版本.

Monorepo包裹文物

cm packages build 创建一个 Yarn-workspace 单列器的 npm- ready 文物。 它采取以下步骤:

  1. 清除已配置的输出目录.
  2. 运行已配置的构建脚本.
  3. 复制非私人工作空间包 dist/<package-name>。 。 。 .
  4. 将软件包与发布版本一起写出,并重写内部依赖性.
cm packages build
cm packages build --version 3.4.0-alpha.3

默认输出为 dist私人工作空间从未被纳入文物或出版。 若为 --version ,当前根 package.json 保留版本.

cm packages build 由语义释放引用 prepare 步骤 cmflow 凸起法。 不要添加到发布命令中: 语义发布拥有出品生命周期.

使用专用脚本只用于校验本地或发布前的 CI 检查中生成的文物 :

{
  "scripts": {
    "artifacts:prepare": "yarn build && cm packages build"
  }
}

flow 配置

在 root 中配置软件包构建和发布默认值 package.json数字 :

{
  "workspaces": ["packages/*"],
  "publishConfig": {
    "registry": "https://registry.npmjs.org/"
  },
  "flow": {
    "outputDir": "dist",
    "buildCmd": "build",
    "npmAccess": "public",
    "npmDistTag": "next",
    "npmFallbackDistTag": "latest",
    "registries": [],
    "skipNpmPublish": false,
    "trustedPublishing": true
  }
}
选项默认目的
outputDirdist生成的软件包文物的目标目录 .
buildCmdbuild根包脚本运行于 cm packages build。 。 。 .
npmAccesspublicnpm 访问通过到 npm publish。 。 。 .
npmDistTagpublishConfig.tag在生成的软件包列表中写入 Dist-tag .
npmFallbackDistTaglatestNpm 拒绝隐含时使用的标记 latest 标签.
registries[]需公布的其他登记册.
skipNpmPublishfalse构建释放文物但跳过 npm 发布.
trustedPublishingfalse启用 npm 信任的出版; 没有 npmjs 令牌被写入 .npmrc。 。 。 .

工作空间软件包可能设置自己的 flow.registries 阵列来替换该软件包的根注册.

语义释放

使用 cmrelease 以运行语义发布 :

{
  "scripts": {
    "release": "cmrelease",
    "release:dry_run": "cmrelease --dry-run"
  }
}

对于工作空间发布,发布序列必须在 npm 发布前将发布分支和标记推出 :

import { defineConfig } from "@cmflow/cli";

export default defineConfig({
  prepare: ["@cmflow/cli/semantic/core/prepare/bump-version", "@cmflow/cli/semantic/core/prepare/commit"],
  publish: [
    "@cmflow/cli/semantic/core/push-release",
    "@cmflow/cli/semantic/core/publish-packages",
    "@cmflow/cli/semantic/core/sync-repository"
  ],
  npmPublish: false
});

push-release 推出分行并先放出标签. publish-packages 仅出版非私人产生的文物。 它支持npmjs、GitHub包和额外的登记册; trustedPublishing 使用 npm 基于 OIDC 的可信任的出版流程 。 在干燥运行期间,包被打包,但从未发布.

对于 CircleCI,在运行真实发行的每个任务中导出 OIDC 令牌 :

- run:
    name: Cm Release
    command: |
      export NPM_ID_TOKEN=$(circleci run oidc get --claims '{"aud":"npm:registry.npmjs.org"}')
      yarn release

每个 npm 软件包也必须配置一个 CircleCI 信任的出版商并允许 npm publish 行动。 Npm上配置的组织ID,项目ID,管道定义ID和VCS的出处必须完全匹配CircleCI项目. npm 的 CircleCI 信任的出版指南 详细列出所需数值.

Atlas

API 到后端目录工具单独发布 @cmflow/atlas。其项目配置为 atlas.config.ts;它不属于此寄存器或此 CLI 软件包.

发展

从单列波根:

yarn workspace @cmflow/cli build
yarn workspace @cmflow/cli test
yarn check

许可证

《麻省理工学院许可证》 版权 (c) 2016 - 今天 ClubMed

特此准许任何人免费获得本软件和相关文件文件("软件")的副本,不受限制地在软件中进行交易,包括不受限制地享有软件的使用、复制、修改、合并、出版、分发、分版和(或)销售的权利,并允许软件获得者这样做,但须符合下列条件: 1. 上述版权通知和许可通知应载入软件的所有副本或大部分。 软件是提供的"as is", 没有任何种类的恐惧, 释放或被卷入, 包括但不限制在 危机的保障, 证明一个特定的目的和无关. 任何索赔、索赔或其他负债,无论是合同、交易或其他行为,产生于、产生于或涉及软件或软件的使用或其他交易的行为,都不得作为担保.

版本与发布记录

@cmflow/cli 共发布 172 个版本,首次发布于 2022/03/23;过去 12 个月发布了 80 个版本。

版本发布日期距今
3.21.0latest2026/11/054 天前
3.20.02026/11/037 天前
3.19.02026/11/027 天前
3.18.02026/10/3110 天前
3.17.22026/10/2911 天前
3.17.12026/10/2713 天前

其他发布通道:rc → 2.0.0-rc.3,alpha → 3.4.0-alpha.5,beta → 3.4.0-beta.36。

关于 @cmflow/cli 的常见问题

@cmflow/cli 是什么?

令人惊叹的吉特之流

如何安装 @cmflow/cli?

在项目目录运行 npm install @cmflow/cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 cm、cmrelease,可以用 npx cm 直接运行。

@cmflow/cli 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cmflow/cli 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@cmflow/cli 可以商用吗?

@cmflow/cli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cmflow/cli 的下载量有多少?

根据 npm 官方下载统计,@cmflow/cli 在 2026/10/10 – 2026/11/08 这 30 天内被下载 10,798 次,日均约 360 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cmflow/cli 还在维护吗?

最新版本 3.21.0 发布于 2026/11/05(4 天前);至今共发布 172 个版本,其中过去 12 个月发布了 80 个;首次发布于 2022/03/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。