@sadikkhan02/notifykit-cli

中文文档
1.0.0发布于 2026/11/02MITTypeScriptES Module

用于NotifyKit的交互式设置向导和CLI生成器

中文使用文档
文档目录7 节
  1. 快速入门
  2. 非交互式/ CI/CD使用
  3. 命令行选项
  4. 通道和提供者标志
  5. 提供者凭证标志
  6. 安全与合并安全
  7. 许可证

@sadikkhan02/notifykit-cli

用于配置的交互式设置向导和非交互式CI工具 NotifyKit 在任何Node.js项目中。

快速入门

在项目根目录下运行向导:

npx @sadikkhan02/notifykit init

向导将引导您完成以下操作:

  1. 选择通知通道(电子邮件, 短信, 推)
  2. 选择提供者适配器:
    • 电子邮件: 节点邮件(通用SMTP / Mailtrap / Gmail / SES)
    • 短信: Twilio(全球覆盖)或MSG91(印度优化,DLT兼容)
    • 推动: Firebase云消息(Android, iOS, Web)
  3. 配置Redis队列连通性(本地、Docker或云)
  4. 使用掩码密码输入捕获提供者凭据
  5. 在进行更改之前检查摘要
  6. 的合并安全写入 .env 和 .env.example
  7. 只自动安装所选的适配器包和对端sdk

非交互式/ CI/CD使用

对于自动化环境、Docker容器和CI/CD管道,使用 --yes:

# Configure Twilio SMS
npx @sadikkhan02/notifykit init \
  --channels=sms \
  --sms=twilio \
  --twilio-sid=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
  --twilio-token=your_auth_token \
  --twilio-from=+1234567890 \
  --yes

# Configure Nodemailer Email with dry-run
npx @sadikkhan02/notifykit init \
  --channels=email \
  --email=nodemailer \
  --smtp-host=smtp.mailtrap.io \
  --smtp-port=587 \
  --smtp-user=my_user \
  --smtp-password=my_secret \
  --dry-run \
  --yes

命令行选项

选项类型描述
-y, --yes布尔非交互式地确认操作(在非tty环境中需要)
--dry-run布尔无需修改文件或安装软件包即可预览配置
--skip-install布尔写 .env 不执行包管理器安装
--cwd <path>字符串目标目录(默认为 process.cwd())
--package-manager <pm>字符串武力包经理(npm, pnpm, yarn, bun)
-h, --help布尔显示帮助屏幕
-v, --version布尔显示版本

通道和提供者标志

国旗值描述
--channelsemail, sms, push要配置的通道的逗号分隔列表
--emailnodemailer电子邮件提供商选择
--smstwilio, msg91短信提供商选择
--pushfcm选择推送提供商
--redis-urlURL字符串Redis连接字符串(默认: redis://localhost:6379)

提供者凭证标志

  • Nodemailer: --smtp-host, --smtp-port, --smtp-user, --smtp-password, --smtp-from, --smtp-secure
  • 为什么Twilio: --twilio-sid, --twilio-token, --twilio-from, --twilio-messaging-service-sid
  • MSG91: --msg91-auth-key, --msg91-flow-id, --msg91-sender-id
  • FCM: --fcm-service-account, --fcm-project-id

安全与合并安全

  • 零秘密泄漏: 敏感的令牌和密码永远不会被记录 stdout, stderr,或终端诊断。
  • Merge-Safe .env 更新: 无关变量(如 DATABASE_URL 或者 PORT)、空行和注释100%保留。
  • 安全 .env.example 代: 中放置示例占位符 .env.example 而不暴露真实的凭证。
  • 防壳注入: 包管理器命令将离散参数数组直接传递给 execa,避免原始shell命令连接。
  • 幂等: 重新运行向导将更新现有的NotifyKit键,而不复制部分。

许可证

麻省理工学院

版本与发布记录

@sadikkhan02/notifykit-cli 共发布 2 个版本,首次发布于 2026/11/02;过去 12 个月发布了 2 个版本。

版本发布日期距今
1.0.0latest2026/11/021 天前
0.0.0-stage2026/11/021 天前

关于 @sadikkhan02/notifykit-cli 的常见问题

@sadikkhan02/notifykit-cli 是什么?

用于NotifyKit的交互式设置向导和CLI生成器

如何安装 @sadikkhan02/notifykit-cli?

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

@sadikkhan02/notifykit-cli 支持 TypeScript 吗?

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

@sadikkhan02/notifykit-cli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@sadikkhan02/notifykit-cli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@sadikkhan02/notifykit-cli 可以商用吗?

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

@sadikkhan02/notifykit-cli 还在维护吗?

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