Routic CLI 三档拆包(免费 / 注册 / 付费)

开源 Routic CLI 在仓库内按 三个物理包 划界,避免「一个 npm 包默认全送」导致产品承诺模糊。实现代码以 CLI 仓库根目录的 docs/PACKAGING.md 为技术真源;本文面向 官网读者,只保留产品口径。

先抽象还是先拆包

先抽象(三档契约),再拆物理包。

  1. 用一张表写清:该能力属于 免费获客注册留存,还是 付费收入与责任边界
  2. 再决定落盘目录:packages/freepackages/accountpackages/pro
  3. 最后才增加 npm 包名、独立发布节奏或私有 registry。

反过来先拆目录、后补契约,容易把所有新功能继续塞进免费包。

三档分别装什么

档位用户是谁典型内容不是什么
免费(@routic/cli-free任意开发者routic init 骨架、通用技能、doctor 基础检查、可公开的模板供应商私有数据、深度诊断量表、托管代操作
注册(@routic/cli-account已注册 / 已授权账号可版本化的扩展包、社区模板、更新通道、轻量报告合同级 SLA、生产代运维
付费(@routic/cli-pro签约客户行业 playbook、模型与成本策略、深度 adoption、引导填全项目「血肉」、执行闭环不应伪装成免费命令悄悄带上

给贡献者与内部产品的一句话

新增 CLI 能力或技能时:先选档,再写代码。免费包只保留「能自学、能复用、不泄密」的部分;需要账号或合同的部分进对应占位包或私有制品,由 doctor / 文档给出 跳转提示 即可。

更细的工程约定以 CLI 仓库内 docs/PACKAGING.md 为准。

Skills 和红帽模式:能学什么、不能学什么

Skills(Markdown / 规则包)本身很难像 RHEL 二进制那样「卖介质」:别人可以复制文件,没法靠保密几份 skill 就建立壁垒——这一点和 GPL 源码类似。

能学的是红帽的「漏斗 + 订阅」逻辑

红帽Routic 可对位
Fedora 等免费上游免费档:泛化 skills、项目骨架、doctor 基础能力——愿意被传播
RHEL 订阅卖的是补丁节奏、认证、SLA、有人接电话付费档:与账号/合同绑定的诊断、行业包、模型与成本策略、托管与责任边界——抄 markdown 抄不走
服务与培训注册档:扩展包、更新通道、社区模板、轻量报告

因此:免费 skills 当获客与信任钱和确定性放在服务端、私有制品、合同与运维——而不是指望「没人转发 npm i 命令」。

npm 发布与密钥(给维护者)

  • 不要在聊天、PR、仓库里粘贴 npm token;一旦暴露应 立即在 npm 网站撤销并轮换
  • 发布在本机用 npm login(交互)或 CI 里用 密钥库注入的 NPM_TOKEN 环境变量,不要把 token 写进 package.json 或 shell 历史里长期明文。
  • 公网包 无法阻止别人转发安装命令;产品边界靠 三档契约 + 鉴权能力,不靠「命令不外传」。