cloudcc-cli 2.3.5 → 2.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/.cursor/skills/cloudcc-cli-dev/SKILL.md +29 -23
  2. package/.cursor/skills/cloudcc-dev-skill/SKILL.md +26 -26
  3. package/README.md +68 -13
  4. package/bin/cc.js +6 -6
  5. package/mcp/cliRunner.js +2 -2
  6. package/mcp/tools/Application Creator/handler.js +1 -1
  7. package/mcp/tools/Approval/handler.js +3 -3
  8. package/mcp/tools/Class Creator/handler.js +2 -2
  9. package/mcp/tools/Class Detail Retriever/handler.js +1 -1
  10. package/mcp/tools/Class Editor Guide/handler.js +1 -1
  11. package/mcp/tools/Class List Retriever/handler.js +1 -1
  12. package/mcp/tools/Class Publisher/handler.js +1 -1
  13. package/mcp/tools/Class Puller/handler.js +1 -1
  14. package/mcp/tools/Client Script Detail Retriever/handler.js +1 -1
  15. package/mcp/tools/Client Script Editor Guide/handler.js +1 -1
  16. package/mcp/tools/Client Script List Retriever/handler.js +1 -1
  17. package/mcp/tools/Client Script Publisher/handler.js +1 -1
  18. package/mcp/tools/Client Script Puller/handler.js +2 -2
  19. package/mcp/tools/CloudCC Development Overview/handler.js +1 -1
  20. package/mcp/tools/Component Creator/handler.js +1 -1
  21. package/mcp/tools/Component Detail Retriever/handler.js +1 -1
  22. package/mcp/tools/Component Editor Guide/handler.js +1 -1
  23. package/mcp/tools/Component List Retriever/handler.js +1 -1
  24. package/mcp/tools/Component Publisher/handler.js +2 -2
  25. package/mcp/tools/Component Puller/handler.js +1 -1
  26. package/mcp/tools/Dev Environment Creator/handler.js +1 -1
  27. package/mcp/tools/Dev Environment Validator/handler.js +1 -1
  28. package/mcp/tools/Developer Key Setup Guide/handler.js +1 -1
  29. package/mcp/tools/Menu Creator/handler.js +1 -1
  30. package/mcp/tools/Object Creator/handler.js +2 -2
  31. package/mcp/tools/Object Fields Creator/handler.js +1 -1
  32. package/mcp/tools/Object Fields Retriever/handler.js +1 -1
  33. package/mcp/tools/Object List Retriever/handler.js +1 -1
  34. package/mcp/tools/Scheduled Class Creator/handler.js +1 -1
  35. package/mcp/tools/Scheduled Class Detail Retriever/handler.js +1 -1
  36. package/mcp/tools/Scheduled Class List Retriever/handler.js +1 -1
  37. package/mcp/tools/Scheduled Class Publisher/handler.js +1 -1
  38. package/mcp/tools/Scheduled Class Puller/handler.js +1 -1
  39. package/mcp/tools/Trigger Creator/handler.js +1 -1
  40. package/mcp/tools/Trigger Detail Retriever/handler.js +1 -1
  41. package/mcp/tools/Trigger Editor Guide/handler.js +1 -1
  42. package/mcp/tools/Trigger List Retriever/handler.js +1 -1
  43. package/mcp/tools/Trigger Publisher/handler.js +1 -1
  44. package/mcp/tools/Trigger Puller/handler.js +1 -1
  45. package/package.json +4 -2
  46. package/src/application/create.js +2 -2
  47. package/src/application/delete.js +2 -2
  48. package/src/application/doc.js +2 -2
  49. package/src/application/docs/devguide.md +25 -25
  50. package/src/application/docs/introduction.md +2 -2
  51. package/src/button/create.js +1 -1
  52. package/src/button/delete.js +1 -1
  53. package/src/button/doc.js +2 -2
  54. package/src/button/docs/devguide.md +11 -11
  55. package/src/button/get.js +1 -1
  56. package/src/button/index.js +1 -1
  57. package/src/classes/create.js +1 -1
  58. package/src/classes/delete.js +1 -1
  59. package/src/classes/detail.js +1 -1
  60. package/src/classes/doc.js +2 -2
  61. package/src/classes/docs/devguide.md +21 -21
  62. package/src/classes/get.js +1 -1
  63. package/src/classes/publish.js +1 -1
  64. package/src/classes/pull.js +1 -1
  65. package/src/classes/pullList.js +1 -1
  66. package/src/config/doc.js +2 -2
  67. package/src/config/docs/devguide.md +15 -15
  68. package/src/customPage/create.js +2 -2
  69. package/src/customPage/delete.js +2 -2
  70. package/src/customPage/doc.js +2 -2
  71. package/src/customPage/docs/devguide.md +27 -27
  72. package/src/customPage/get.js +1 -1
  73. package/src/customSetting/create.js +1 -1
  74. package/src/customSetting/delete.js +1 -1
  75. package/src/customSetting/deleteCustomSettingField.js +1 -1
  76. package/src/customSetting/detail.js +1 -1
  77. package/src/customSetting/docs/devguide.md +9 -9
  78. package/src/customSetting/editCustomSettingField.js +1 -1
  79. package/src/customSetting/get.js +1 -1
  80. package/src/customSetting/modify.js +1 -1
  81. package/src/customSetting/saveCustomSettingField.js +1 -1
  82. package/src/fields/delete.js +2 -2
  83. package/src/fields/docs/devguide.md +14 -14
  84. package/src/fields/docs/introduction.md +3 -3
  85. package/src/globalSelectList/create.js +1 -1
  86. package/src/globalSelectList/delete.js +1 -1
  87. package/src/globalSelectList/detail.js +1 -1
  88. package/src/globalSelectList/doc.js +2 -2
  89. package/src/globalSelectList/docs/devguide.md +7 -7
  90. package/src/globalSelectList/get.js +1 -1
  91. package/src/identityProvider/create.js +3 -3
  92. package/src/identityProvider/delete.js +3 -3
  93. package/src/identityProvider/doc.js +2 -2
  94. package/src/identityProvider/docs/devguide.md +10 -10
  95. package/src/identityProvider/download.js +1 -1
  96. package/src/identityProvider/get.js +1 -1
  97. package/src/menu/create-object.js +2 -2
  98. package/src/menu/create-page.js +2 -2
  99. package/src/menu/create-script.js +2 -2
  100. package/src/menu/create-site.js +2 -2
  101. package/src/menu/create.js +11 -11
  102. package/src/menu/delete.js +2 -2
  103. package/src/menu/doc.js +2 -2
  104. package/src/menu/docs/devguide.md +13 -13
  105. package/src/menu/docs/introduction.md +3 -3
  106. package/src/menu/get.js +1 -1
  107. package/src/object/create.js +2 -2
  108. package/src/object/delete.js +2 -2
  109. package/src/object/docs/devguide.md +11 -11
  110. package/src/pagelayout/create.js +6 -6
  111. package/src/pagelayout/delete.js +4 -4
  112. package/src/pagelayout/doc.js +2 -2
  113. package/src/pagelayout/docs/devguide.md +9 -9
  114. package/src/pagelayout/docs/introduction.md +1 -1
  115. package/src/pagelayout/get.js +4 -4
  116. package/src/permission/add.js +4 -4
  117. package/src/permission/assign.js +3 -3
  118. package/src/permission/docs/devguide.md +20 -20
  119. package/src/permission/docs/introduction.md +18 -18
  120. package/src/permission/get.js +1 -1
  121. package/src/permission/remove.js +4 -4
  122. package/src/plugin/delete.js +2 -2
  123. package/src/plugin/doc.js +2 -2
  124. package/src/plugin/docs/devguide.md +29 -29
  125. package/src/profile/create.js +5 -5
  126. package/src/profile/delete.js +2 -2
  127. package/src/profile/doc.js +2 -2
  128. package/src/profile/docs/devguide.md +8 -8
  129. package/src/profile/docs/introduction.md +12 -12
  130. package/src/profile/get.js +1 -1
  131. package/src/project/docs/devguide.md +19 -6
  132. package/src/recordType/create.js +1 -1
  133. package/src/recordType/delete.js +1 -1
  134. package/src/recordType/doc.js +2 -2
  135. package/src/recordType/docs/devguide.md +10 -10
  136. package/src/recordType/editInfo.js +1 -1
  137. package/src/recordType/editSave.js +1 -1
  138. package/src/recordType/getList.js +1 -1
  139. package/src/recordType/newInfo.js +1 -1
  140. package/src/recordType/validDelete.js +1 -1
  141. package/src/res.md +1 -1
  142. package/src/role/create.js +6 -6
  143. package/src/role/delete.js +2 -2
  144. package/src/role/doc.js +2 -2
  145. package/src/role/docs/devguide.md +9 -9
  146. package/src/role/docs/introduction.md +13 -13
  147. package/src/role/get.js +1 -1
  148. package/src/scheduleJob/doc.js +1 -1
  149. package/src/scheduleJob/docs/devguide.md +6 -6
  150. package/src/scheduleJob/docs/introduction.md +6 -6
  151. package/src/script/docs/devguide.md +18 -18
  152. package/src/singleSignOn/delete.js +3 -3
  153. package/src/singleSignOn/doc.js +2 -2
  154. package/src/singleSignOn/docs/devguide.md +5 -5
  155. package/src/singleSignOn/get.js +1 -1
  156. package/src/staticResource/count.js +1 -1
  157. package/src/staticResource/create.js +1 -1
  158. package/src/staticResource/delete.js +1 -1
  159. package/src/staticResource/detail.js +1 -1
  160. package/src/staticResource/docs/devguide.md +11 -11
  161. package/src/staticResource/get.js +1 -1
  162. package/src/timer/create.js +1 -1
  163. package/src/timer/delete.js +1 -1
  164. package/src/timer/detail.js +1 -1
  165. package/src/timer/doc.js +2 -2
  166. package/src/timer/docs/devguide.md +19 -19
  167. package/src/timer/get.js +1 -1
  168. package/src/timer/publish.js +1 -1
  169. package/src/timer/pull.js +1 -1
  170. package/src/timer/pullList.js +1 -1
  171. package/src/triggers/detail.js +1 -1
  172. package/src/triggers/doc.js +2 -2
  173. package/src/triggers/docs/devguide.md +23 -23
  174. package/src/triggers/get.js +1 -1
  175. package/src/triggers/pullList.js +1 -1
  176. package/src/user/create.js +2 -2
  177. package/src/user/delete.js +2 -2
  178. package/src/user/doc.js +2 -2
  179. package/src/user/docs/devguide.md +13 -13
  180. package/src/user/docs/introduction.md +12 -12
  181. package/src/user/get.js +1 -1
  182. package/src/user/update.js +3 -3
  183. package/src/user/view.js +2 -2
  184. package/src/validationRule/create.js +5 -5
  185. package/src/validationRule/delete.js +2 -2
  186. package/src/validationRule/doc.js +2 -2
  187. package/src/validationRule/docs/devguide.md +7 -7
  188. package/src/validationRule/docs/introduction.md +11 -11
  189. package/src/validationRule/get.js +1 -1
  190. package/src/version/actionHelp.js +3 -3
  191. package/src/version/doctor.js +1 -1
  192. package/src/version/get.js +0 -6
  193. package/src/version/help.js +15 -14
  194. package/src/version/initHelp.js +2 -2
  195. package/src/version/listModuleCommands.js +2 -2
  196. package/src/version/stats.js +1 -1
  197. package/test/application.cli.test.js +1 -1
  198. package/test/classes.cli.test.js +1 -1
  199. package/test/customSetting.cli.test.js +1 -1
  200. package/test/fields.cli.test.js +2 -2
  201. package/test/globalSelectList.cli.test.js +1 -1
  202. package/test/menu-script.cli.test.js +1 -1
  203. package/test/menu.cli.test.js +1 -1
  204. package/test/object.cli.test.js +1 -1
  205. package/test/plugin.cli.test.js +1 -1
  206. package/test/scheduleJob.cli.test.js +1 -1
  207. package/test/script.cli.test.js +1 -1
  208. package/test/staticResource.cli.test.js +1 -1
  209. package/test/timer.cli.test.js +1 -1
  210. package/test/trigger.cli.test.js +1 -1
  211. package/utils/checkVersion.js +9 -13
  212. package/utils/commandStats.js +7 -7
@@ -11,19 +11,19 @@
11
11
 
12
12
  **允许的做法**:在 CLI 已生成的目录内用 IDE 编辑 `.vue`、子组件与 `utils/` 等源码;与云端列表、详情、拉取、删除、发布相关的操作一律走命令。
13
13
 
14
- 执行命令前请确认:已完成 `cc doc project devguide` 中的环境初始化,项目根目录配置可用且具备 `accessToken`(发布流程还会使用 `pluginToken` / 账号密钥等,以你项目配置为准)。
14
+ 执行命令前请确认:已完成 `cloudcc doc project devguide` 中的环境初始化,项目根目录配置可用且具备 `accessToken`(发布流程还会使用 `pluginToken` / 账号密钥等,以你项目配置为准)。
15
15
 
16
16
  ### 命令总览(以代码实现为准)
17
17
 
18
18
  ```bash
19
- cc create plugin <name>
20
- cc publish plugin <name>
21
- cc get plugin [projectPath]
22
- cc detail plugin <pluginName> [pluginId] [projectPath]
23
- cc detail plugin "" <pluginId> [projectPath]
24
- cc pull plugin <pluginNameOrId> [projectPath]
25
- cc delete plugin <pluginNameOrId> [projectPath]
26
- cc doc plugin <introduction|devguide>
19
+ cloudcc create plugin <name>
20
+ cloudcc publish plugin <name>
21
+ cloudcc get plugin [projectPath]
22
+ cloudcc detail plugin <pluginName> [pluginId] [projectPath]
23
+ cloudcc detail plugin "" <pluginId> [projectPath]
24
+ cloudcc pull plugin <pluginNameOrId> [projectPath]
25
+ cloudcc delete plugin <pluginNameOrId> [projectPath]
26
+ cloudcc doc plugin <introduction|devguide>
27
27
  ```
28
28
 
29
29
  参数约定:
@@ -31,7 +31,7 @@ cc doc plugin <introduction|devguide>
31
31
  - `name` / `pluginName`:插件目录名,与 `plugins/<name>/` 一致。
32
32
  - `projectPath`:项目根路径;不传则使用当前工作目录。`get` 的第一个可选参数即为 `projectPath`。
33
33
  - `pluginNameOrId`:本地目录名,或云端组件 ID;若本地存在 `config.json` 且含 `id`,`pull` / `delete` 会优先使用该 `id`。
34
- - `pluginId`:`detail` 仅查云端时,将 `pluginName` 置空:`cc detail plugin "" <pluginId>`。
34
+ - `pluginId`:`detail` 仅查云端时,将 `pluginName` 置空:`cloudcc detail plugin "" <pluginId>`。
35
35
 
36
36
  ### 命令作用摘要
37
37
 
@@ -49,20 +49,20 @@ cc doc plugin <introduction|devguide>
49
49
 
50
50
  ```bash
51
51
  # 1) 查看云端已有组件(可选)
52
- cc get plugin .
52
+ cloudcc get plugin .
53
53
 
54
54
  # 2) 仅通过 create 生成目录与模板
55
- cc create plugin my_plugin
55
+ cloudcc create plugin my_plugin
56
56
 
57
57
  # 3) 本地调试后发布(勿跳过 CLI 发布流程)
58
- cc publish plugin my_plugin
58
+ cloudcc publish plugin my_plugin
59
59
 
60
60
  # 4) 与云端对齐或迁移机器时拉取
61
- cc pull plugin my_plugin
62
- # 或已知云端 ID:cc pull plugin <id> .
61
+ cloudcc pull plugin my_plugin
62
+ # 或已知云端 ID:cloudcc pull plugin <id> .
63
63
 
64
64
  # 5) 不再使用时删除云端组件
65
- cc delete plugin my_plugin
65
+ cloudcc delete plugin my_plugin
66
66
  ```
67
67
 
68
68
  ---
@@ -162,7 +162,7 @@ npm run serve
162
162
 
163
163
  ### 1.2 创建组件
164
164
 
165
- - **使用本 CLI 时**:在项目根执行 `cc create plugin <name>`,会在 `plugins/<name>/` 生成标准模板(推荐)。
165
+ - **使用本 CLI 时**:在项目根执行 `cloudcc create plugin <name>`,会在 `plugins/<name>/` 生成标准模板(推荐)。
166
166
  - 或在模板工程中手动新建入口文件,**组件名称必须满足 DOM 命名规则**,例如:`cc-com-demo.vue`
167
167
  - 推荐遵循:以 `cc-` 开头,后续使用小写单词和 `-` 连接。
168
168
 
@@ -181,7 +181,7 @@ npm run serve
181
181
  **推荐(与仓库、CI 一致)**:在项目根目录执行:
182
182
 
183
183
  ```bash
184
- cc publish plugin <与目录名一致的 name>
184
+ cloudcc publish plugin <与目录名一致的 name>
185
185
  ```
186
186
 
187
187
  CLI 会编译 `plugins/<name>/<name>.vue` 并上传;首次成功且接口返回 `id` 时可能写回 `plugins/<name>/config.json`。
@@ -913,7 +913,7 @@ componentInfo: {
913
913
 
914
914
  ## 13. 自定义组件开发 Checklist
915
915
 
916
- - [ ] 插件目录与云端同步仅通过 `cc create` / `cc publish` / `cc pull` / `cc delete` 等命令操作,不整包复制他人 `plugins/` 或手改 `config.json` 的 `id`
916
+ - [ ] 插件目录与云端同步仅通过 `cloudcc create` / `cloudcc publish` / `cloudcc pull` / `cloudcc delete` 等命令操作,不整包复制他人 `plugins/` 或手改 `config.json` 的 `id`
917
917
  - [ ] 组件文件名与 `componentInfo.component` 命名符合规范(小写 + `-`
918
918
  分隔,全局唯一)
919
919
  - [ ] 样式默认使用 `lang="scss" scoped`,避免样式污染
@@ -934,7 +934,7 @@ componentInfo: {
934
934
  ### 14.1 create
935
935
 
936
936
  ```bash
937
- cc create plugin <name>
937
+ cloudcc create plugin <name>
938
938
  ```
939
939
 
940
940
  - 创建 `plugins/<name>/` 目录、入口 `<name>.vue`、`components/` 与 `config.json` 模板。
@@ -942,7 +942,7 @@ cc create plugin <name>
942
942
  ### 14.2 publish
943
943
 
944
944
  ```bash
945
- cc publish plugin <name>
945
+ cloudcc publish plugin <name>
946
946
  ```
947
947
 
948
948
  - 以 `plugins/<name>/<name>.vue` 为入口编译(`vue-cli-service build --target lib`),再上传到云端。
@@ -951,7 +951,7 @@ cc publish plugin <name>
951
951
  ### 14.3 get
952
952
 
953
953
  ```bash
954
- cc get plugin [projectPath]
954
+ cloudcc get plugin [projectPath]
955
955
  ```
956
956
 
957
957
  - 分页请求云端组件列表,标准输出为 JSON 数组。
@@ -960,18 +960,18 @@ cc get plugin [projectPath]
960
960
  ### 14.4 detail
961
961
 
962
962
  ```bash
963
- cc detail plugin <pluginName> [pluginId] [projectPath]
964
- cc detail plugin "" <pluginId> [projectPath]
963
+ cloudcc detail plugin <pluginName> [pluginId] [projectPath]
964
+ cloudcc detail plugin "" <pluginId> [projectPath]
965
965
  ```
966
966
 
967
967
  - 提供 `pluginName`(且非空):读取本地 `plugins/<pluginName>/` 的 `config.json` 与入口 `.vue`。
968
968
  - 将 `pluginName` 置为空并传 `pluginId`:仅从云端查询详情(`projectPath` 仍用于配置)。
969
- - 需要指定项目根且保留「仅本地名」时,可用占位:`cc detail plugin <pluginName> "" <projectPath>`(中间空串表示无 `pluginId`)。
969
+ - 需要指定项目根且保留「仅本地名」时,可用占位:`cloudcc detail plugin <pluginName> "" <projectPath>`(中间空串表示无 `pluginId`)。
970
970
 
971
971
  ### 14.5 pull
972
972
 
973
973
  ```bash
974
- cc pull plugin <pluginNameOrId> [projectPath]
974
+ cloudcc pull plugin <pluginNameOrId> [projectPath]
975
975
  ```
976
976
 
977
977
  - 若 `plugins/<输入>/config.json` 存在且含 `id`,按该 `id` 拉取。
@@ -980,7 +980,7 @@ cc pull plugin <pluginNameOrId> [projectPath]
980
980
  ### 14.6 delete
981
981
 
982
982
  ```bash
983
- cc delete plugin <pluginNameOrId> [projectPath]
983
+ cloudcc delete plugin <pluginNameOrId> [projectPath]
984
984
  ```
985
985
 
986
986
  - 若本地 `plugins/<name>/config.json` 存在且含 `id`,优先按该 `id` 调删除接口。
@@ -989,8 +989,8 @@ cc delete plugin <pluginNameOrId> [projectPath]
989
989
  ### 14.7 doc
990
990
 
991
991
  ```bash
992
- cc doc plugin introduction
993
- cc doc plugin devguide
992
+ cloudcc doc plugin introduction
993
+ cloudcc doc plugin devguide
994
994
  ```
995
995
 
996
996
  - 仅支持 `introduction` 与 `devguide`;`devguide` 会在正文后拼接附录「CCDK SDK 速查」。
@@ -4,7 +4,7 @@ const { getPackageJson } = require("../../utils/config");
4
4
 
5
5
  /**
6
6
  * 创建简档
7
- * 用法:cc create profile <path> <profileName> [description]
7
+ * 用法:cloudcc create profile <path> <profileName> [description]
8
8
  * 流程:1. 调用 /profile/copyProfile 获取现有简档列表
9
9
  * 2. 选择第一个简档作为复制来源
10
10
  * 3. 调用 /profile/newProfile 创建新简档
@@ -13,7 +13,7 @@ const { getPackageJson } = require("../../utils/config");
13
13
  */
14
14
  async function create(argvs) {
15
15
  try {
16
- // 命令行参数格式:cc create profile <path> <profileName> [description]
16
+ // 命令行参数格式:cloudcc create profile <path> <profileName> [description]
17
17
  const projectPath = argvs[2] || process.cwd();
18
18
  const profileName = argvs[3];
19
19
  const description = argvs[4] || '';
@@ -21,10 +21,10 @@ async function create(argvs) {
21
21
  if (!profileName) {
22
22
  console.error();
23
23
  console.error(chalk.red('Error: 缺少简档名称'));
24
- console.error('用法: cc create profile <path> <profileName> [description]');
24
+ console.error('用法: cloudcc create profile <path> <profileName> [description]');
25
25
  console.error('示例:');
26
- console.error(' cc create profile . "销售经理简档"');
27
- console.error(' cc create profile . "销售代表简档" "适用于销售团队的权限配置"');
26
+ console.error(' cloudcc create profile . "销售经理简档"');
27
+ console.error(' cloudcc create profile . "销售代表简档" "适用于销售团队的权限配置"');
28
28
  console.error();
29
29
  throw new Error('缺少必需参数: profileName');
30
30
  }
@@ -4,7 +4,7 @@ const { getPackageJson } = require("../../utils/config");
4
4
 
5
5
  /**
6
6
  * 删除简档
7
- * 用法:cc delete profile <projectPath> <profileId>
7
+ * 用法:cloudcc delete profile <projectPath> <profileId>
8
8
  */
9
9
  async function remove(argvs) {
10
10
  try {
@@ -14,7 +14,7 @@ async function remove(argvs) {
14
14
  if (!profileId) {
15
15
  console.error();
16
16
  console.error(chalk.red("Error: 缺少简档 ID"));
17
- console.error(chalk.yellow("用法: cc delete profile <projectPath> <profileId>"));
17
+ console.error(chalk.yellow("用法: cloudcc delete profile <projectPath> <profileId>"));
18
18
  console.error();
19
19
  throw new Error("缺少必需参数: profileId");
20
20
  }
@@ -21,14 +21,14 @@ function getDevGuideDoc() {
21
21
  }
22
22
 
23
23
  /**
24
- * cc doc profile <introduction|devguide>
24
+ * cloudcc doc profile <introduction|devguide>
25
25
  * @param {string[]} argvs [doc, type, introduction|devguide, ...]
26
26
  */
27
27
  function doc(argvs) {
28
28
  const subType = argvs[2];
29
29
  const key = String(subType || "").trim().toLowerCase();
30
30
  if (!key) {
31
- throw new Error("cc doc profile 需要子命令:introduction 或 devguide");
31
+ throw new Error("cloudcc doc profile 需要子命令:introduction 或 devguide");
32
32
  }
33
33
  if (key === "introduction") {
34
34
  const content = getIntroductionDoc();
@@ -13,7 +13,7 @@
13
13
  ### 创建简档
14
14
 
15
15
  ```bash
16
- cc create profile <path> <profileName> [description]
16
+ cloudcc create profile <path> <profileName> [description]
17
17
  ```
18
18
 
19
19
  **参数说明:**
@@ -28,16 +28,16 @@ cc create profile <path> <profileName> [description]
28
28
 
29
29
  ```bash
30
30
  # 创建简档
31
- cc create profile . "销售经理简档"
31
+ cloudcc create profile . "销售经理简档"
32
32
 
33
33
  # 创建带描述的简档
34
- cc create profile . "销售代表简档" "适用于销售团队的权限配置"
34
+ cloudcc create profile . "销售代表简档" "适用于销售团队的权限配置"
35
35
  ```
36
36
 
37
37
  ### 查询简档列表
38
38
 
39
39
  ```bash
40
- cc get profile <projectPath> [encodedCondJson]
40
+ cloudcc get profile <projectPath> [encodedCondJson]
41
41
  ```
42
42
 
43
43
  **参数说明:**
@@ -51,16 +51,16 @@ cc get profile <projectPath> [encodedCondJson]
51
51
 
52
52
  ```bash
53
53
  # 获取所有简档
54
- cc get profile .
54
+ cloudcc get profile .
55
55
 
56
56
  # 带查询条件
57
- cc get profile . '%7B%22type%22%3A%22custom%22%7D'
57
+ cloudcc get profile . '%7B%22type%22%3A%22custom%22%7D'
58
58
  ```
59
59
 
60
60
  ### 删除简档
61
61
 
62
62
  ```bash
63
- cc delete profile <projectPath> <profileId>
63
+ cloudcc delete profile <projectPath> <profileId>
64
64
  ```
65
65
 
66
66
  **参数说明:**
@@ -73,5 +73,5 @@ cc delete profile <projectPath> <profileId>
73
73
  **示例:**
74
74
 
75
75
  ```bash
76
- cc delete profile . aaa202672F656B7VfEjL
76
+ cloudcc delete profile . aaa202672F656B7VfEjL
77
77
  ```
@@ -23,7 +23,7 @@
23
23
  创建一个新的自定义简档,基于现有简档进行克隆。
24
24
 
25
25
  ```bash
26
- cc create profile <path> <profileName> [description]
26
+ cloudcc create profile <path> <profileName> [description]
27
27
  ```
28
28
 
29
29
  **参数说明:**
@@ -38,10 +38,10 @@ cc create profile <path> <profileName> [description]
38
38
 
39
39
  ```bash
40
40
  # 创建简档
41
- cc create profile . "销售经理简档"
41
+ cloudcc create profile . "销售经理简档"
42
42
 
43
43
  # 创建带描述的简档
44
- cc create profile . "销售代表简档" "适用于销售团队的权限配置"
44
+ cloudcc create profile . "销售代表简档" "适用于销售团队的权限配置"
45
45
  ```
46
46
 
47
47
  ---
@@ -51,7 +51,7 @@ cc create profile . "销售代表简档" "适用于销售团队的权限配置"
51
51
  获取当前环境中的所有简档列表。
52
52
 
53
53
  ```bash
54
- cc get profile <projectPath> [encodedCondJson]
54
+ cloudcc get profile <projectPath> [encodedCondJson]
55
55
  ```
56
56
 
57
57
  **参数说明:**
@@ -65,10 +65,10 @@ cc get profile <projectPath> [encodedCondJson]
65
65
 
66
66
  ```bash
67
67
  # 获取所有简档
68
- cc get profile .
68
+ cloudcc get profile .
69
69
 
70
70
  # 带查询条件
71
- cc get profile . '%7B%22type%22%3A%22custom%22%7D'
71
+ cloudcc get profile . '%7B%22type%22%3A%22custom%22%7D'
72
72
  ```
73
73
 
74
74
  ---
@@ -78,7 +78,7 @@ cc get profile . '%7B%22type%22%3A%22custom%22%7D'
78
78
  删除指定的自定义简档。
79
79
 
80
80
  ```bash
81
- cc delete profile <projectPath> <profileId>
81
+ cloudcc delete profile <projectPath> <profileId>
82
82
  ```
83
83
 
84
84
  **参数说明:**
@@ -92,7 +92,7 @@ cc delete profile <projectPath> <profileId>
92
92
 
93
93
  ```bash
94
94
  # 删除指定简档
95
- cc delete profile . a0I9D000000XXXXUAI
95
+ cloudcc delete profile . a0I9D000000XXXXUAI
96
96
  ```
97
97
 
98
98
  ---
@@ -106,16 +106,16 @@ cc delete profile . a0I9D000000XXXXUAI
106
106
  cat cloudcc-cli.config.js
107
107
 
108
108
  # 2. 查询现有简档
109
- cc get profile .
109
+ cloudcc get profile .
110
110
 
111
111
  # 3. 创建新的销售经理简档
112
- cc create profile . "销售经理简档" "销售团队经理级别的权限配置"
112
+ cloudcc create profile . "销售经理简档" "销售团队经理级别的权限配置"
113
113
 
114
114
  # 4. 验证简档创建成功
115
- cc get profile .
115
+ cloudcc get profile .
116
116
 
117
117
  # 5. 如需删除
118
- # cc delete profile . <profileId>
118
+ # cloudcc delete profile . <profileId>
119
119
  ```
120
120
 
121
121
  ---
@@ -3,7 +3,7 @@ const { getPackageJson } = require("../../utils/config");
3
3
 
4
4
  /**
5
5
  * 查询简档列表
6
- * 用法:cc get profile <projectPath> [encodedCondJson]
6
+ * 用法:cloudcc get profile <projectPath> [encodedCondJson]
7
7
  */
8
8
  async function get(argvs, isMcp = false) {
9
9
  const projectPath = argvs[2] || process.cwd();
@@ -18,7 +18,7 @@
18
18
  1. 安装 Node 与 npm,并切换 npm 源
19
19
  2. 安装 `cloudcc-cli` 全局依赖
20
20
  3. 安装 VS Code 与 CloudCC 插件
21
- 4. 配置本地 MCP(`node` 运行 `bin/mcp.js`)
21
+ 4. 配置本地 MCP(**`cc-mcp`** 或 `node` 运行 `bin/mcp.js`)
22
22
  5. 使用 CLI 创建模板项目并安装依赖
23
23
  6. 通过 CRM 获取开发者密钥、安全标记并写入 `cloudcc-cli.config.js`
24
24
  7. 视情况配置私有云与多环境参数
@@ -111,7 +111,19 @@ sudo npm ls -g --depth=0
111
111
 
112
112
  ## 5. 安装并配置本地 MCP
113
113
 
114
- 在支持 MCP 的开发工具中(如 Cursor),需要在 MCP 配置文件中添加(使用 `node` 启动包内脚本,**将 `args` 中的路径换成本机全局安装后的绝对路径**):
114
+ 在支持 MCP 的开发工具中(如 Cursor),全局安装 `cloudcc-cli` 并保证 npm 全局 **bin 在 `PATH` 中** 后,可在 MCP 配置里直接使用 **`cc-mcp`**(与 `package.json` `bin` 一致):
115
+
116
+ ```json
117
+ {
118
+ "mcpServers": {
119
+ "cloudcc-cli": {
120
+ "command": "cc-mcp"
121
+ }
122
+ }
123
+ }
124
+ ```
125
+
126
+ **备选**:使用 `node` 启动包内脚本(**将 `args` 中的路径换成本机全局安装后的绝对路径**):
115
127
 
116
128
  ```json
117
129
  {
@@ -127,7 +139,8 @@ sudo npm ls -g --depth=0
127
139
  说明:
128
140
 
129
141
  - `cloudcc-cli`:MCP 服务器标识,用于在工具中调用 CloudCC 相关能力
130
- - `command` / `args`:通过 Node 执行 `cloudcc-cli` 包内的 `bin/mcp.js`(全局安装后路径一般为 `$(npm root -g)/cloudcc-cli/bin/mcp.js`,请粘贴为绝对路径)
142
+ - **`cc-mcp`**:全局安装后由 npm 写入 PATH 的命令名,对应包内 `bin/mcp.js`
143
+ - **`node` + `args`**:路径一般为 `$(npm root -g)/cloudcc-cli/bin/mcp.js`(请粘贴为绝对路径)
131
144
 
132
145
  ---
133
146
 
@@ -139,7 +152,7 @@ sudo npm ls -g --depth=0
139
152
 
140
153
  ```bash
141
154
  cd ~/Documents
142
- cc create project demo1
155
+ cloudcc create project demo1
143
156
  ```
144
157
 
145
158
  `demo1` 为示例项目名,可按需替换。
@@ -352,8 +365,8 @@ module.exports = {
352
365
  - [ ] npm 源已切换到 `https://registry.npmmirror.com`
353
366
  - [ ] 已全局安装 `cloudcc-cli` 并验证
354
367
  - [ ] 已安装 VS Code 与 CloudCC 插件(或已按官方指引配置 Cursor)
355
- - [ ] MCP 已配置 `cloudcc-cli`(`node` + `bin/mcp.js`)
356
- - [ ] 已通过 `cc create project` 创建模板项目并成功 `npm i` + `npm run serve`
368
+ - [ ] MCP 已配置 `cloudcc-cli`(`cc-mcp` 或 `node` + `bin/mcp.js`)
369
+ - [ ] 已通过 `cloudcc create project` 创建模板项目并成功 `npm i` + `npm run serve`
357
370
  - [ ] 已创建开发者账号并确认「代码管理」权限开启
358
371
  - [ ] 已获取开发者密钥与安全标记并正确配置 `cloudcc-cli.config.js`
359
372
  - [ ] 如为私有云,已配置 `version: "private"` 与正确的 `baseUrl`/网关前缀
@@ -4,7 +4,7 @@ const { postClass } = require("../../utils/http");
4
4
  const newInfo = require("./newInfo");
5
5
 
6
6
  /**
7
- * cc create recordType <projectPath> <encodedBodyJson>
7
+ * cloudcc create recordType <projectPath> <encodedBodyJson>
8
8
  *
9
9
  * encodedBodyJson(encodeURI 编码前):
10
10
  * {
@@ -3,7 +3,7 @@ const { getPackageJson } = require("../../utils/config");
3
3
  const { postClass } = require("../../utils/http");
4
4
 
5
5
  /**
6
- * cc delete recordType <projectPath> <encodedBodyJson>
6
+ * cloudcc delete recordType <projectPath> <encodedBodyJson>
7
7
  * 删除记录类型(删除前请先调用 validDelete 获取替换目标列表)
8
8
  *
9
9
  * encodedBodyJson(encodeURI 编码前)示例:
@@ -11,14 +11,14 @@ function readDocFile(basename) {
11
11
  }
12
12
 
13
13
  /**
14
- * cc doc recordType <introduction|devguide>
14
+ * cloudcc doc recordType <introduction|devguide>
15
15
  * @param {string[]} argvs [doc, type, introduction|devguide, ...]
16
16
  */
17
17
  function doc(argvs) {
18
18
  const subType = argvs[2];
19
19
  const key = String(subType || "").trim().toLowerCase();
20
20
  if (!key) {
21
- throw new Error("cc doc recordType 需要子命令:introduction 或 devguide");
21
+ throw new Error("cloudcc doc recordType 需要子命令:introduction 或 devguide");
22
22
  }
23
23
  if (key === "introduction") {
24
24
  const content = readDocFile("introduction");
@@ -16,7 +16,7 @@
16
16
 
17
17
  ```bash
18
18
  # 获取指定对象的记录类型列表
19
- cc getList recordType . <objid>
19
+ cloudcc getList recordType . <objid>
20
20
  ```
21
21
 
22
22
  ---
@@ -26,7 +26,7 @@ cc getList recordType . <objid>
26
26
  新建前需先获取简档列表、现有记录类型列表、页面布局列表:
27
27
 
28
28
  ```bash
29
- cc newInfo recordType . <objid>
29
+ cloudcc newInfo recordType . <objid>
30
30
  ```
31
31
 
32
32
  返回结构:
@@ -46,7 +46,7 @@ cc newInfo recordType . <objid>
46
46
  ## 3. 新建记录类型
47
47
 
48
48
  ```bash
49
- cc create recordType . <encodedBodyJson>
49
+ cloudcc create recordType . <encodedBodyJson>
50
50
  ```
51
51
 
52
52
  原始 JSON(`encodeURI` 编码前):
@@ -74,7 +74,7 @@ cc create recordType . <encodedBodyJson>
74
74
  **Step 1:获取回显数据**
75
75
 
76
76
  ```bash
77
- cc editInfo recordType . <encodedBodyJson>
77
+ cloudcc editInfo recordType . <encodedBodyJson>
78
78
  # encodedBodyJson: { "id": "<recordTypeId>", "objid": "<objid>" }
79
79
  ```
80
80
 
@@ -88,7 +88,7 @@ cc editInfo recordType . <encodedBodyJson>
88
88
  | 启用 | `isenable` |
89
89
 
90
90
  ```bash
91
- cc editSave recordType . <encodedBodyJson>
91
+ cloudcc editSave recordType . <encodedBodyJson>
92
92
  # encodedBodyJson: 将 editInfo 返回的 data 对象修改目标字段后提交
93
93
  ```
94
94
 
@@ -99,7 +99,7 @@ cc editSave recordType . <encodedBodyJson>
99
99
  **Step 1:删除前校验**(检测启用状态 + 获取可替换记录类型列表)
100
100
 
101
101
  ```bash
102
- cc validDelete recordType . <encodedBodyJson>
102
+ cloudcc validDelete recordType . <encodedBodyJson>
103
103
  # encodedBodyJson: { "id": "<recordTypeId>", "objid": "<objid>" }
104
104
  ```
105
105
 
@@ -107,7 +107,7 @@ cc validDelete recordType . <encodedBodyJson>
107
107
  > - 若当前为**启用**状态,命令将报错并提示先执行禁用操作,不会继续执行删除校验
108
108
  > - 若当前为**禁用**状态,则正常返回可替换记录类型列表
109
109
  >
110
- > 请先调用 `cc editSave` 将 `isenable` 设为 `"false"` 完成禁用,再重新执行此命令。
110
+ > 请先调用 `cloudcc editSave` 将 `isenable` 设为 `"false"` 完成禁用,再重新执行此命令。
111
111
 
112
112
  返回:
113
113
 
@@ -124,7 +124,7 @@ cc validDelete recordType . <encodedBodyJson>
124
124
  **Step 2:执行删除**
125
125
 
126
126
  ```bash
127
- cc delete recordType . <encodedBodyJson>
127
+ cloudcc delete recordType . <encodedBodyJson>
128
128
  # encodedBodyJson: { "id": "<recordTypeId>", "objid": "<objid>", "replaceId": "<replaceId>" }
129
129
  ```
130
130
 
@@ -141,8 +141,8 @@ cc delete recordType . <encodedBodyJson>
141
141
  ## 6. 查看文档
142
142
 
143
143
  ```bash
144
- cc doc recordType introduction # 能力与适用场景说明
145
- cc doc recordType devguide # 本操作指南
144
+ cloudcc doc recordType introduction # 能力与适用场景说明
145
+ cloudcc doc recordType devguide # 本操作指南
146
146
  ```
147
147
 
148
148
  ---
@@ -2,7 +2,7 @@ const { getPackageJson } = require("../../utils/config");
2
2
  const { postClass } = require("../../utils/http");
3
3
 
4
4
  /**
5
- * cc editInfo recordType <projectPath> <encodedBodyJson>
5
+ * cloudcc editInfo recordType <projectPath> <encodedBodyJson>
6
6
  * 获取编辑记录类型的回显数据
7
7
  *
8
8
  * encodedBodyJson(encodeURI 编码前)示例:
@@ -3,7 +3,7 @@ const { getPackageJson } = require("../../utils/config");
3
3
  const { postClass } = require("../../utils/http");
4
4
 
5
5
  /**
6
- * cc editSave recordType <projectPath> <encodedBodyJson>
6
+ * cloudcc editSave recordType <projectPath> <encodedBodyJson>
7
7
  * 保存编辑后的记录类型(将 editInfo 返回的对象修改后提交)
8
8
  *
9
9
  * encodedBodyJson(encodeURI 编码前)为 editInfo 接口返回的 data 对象,
@@ -2,7 +2,7 @@ const { getPackageJson } = require("../../utils/config");
2
2
  const { postClass } = require("../../utils/http");
3
3
 
4
4
  /**
5
- * cc getList recordType <projectPath> <objid>
5
+ * cloudcc getList recordType <projectPath> <objid>
6
6
  * 获取指定对象的记录类型列表
7
7
  * @param {string} projectPath
8
8
  * @param {string} objid 对象 ID
@@ -2,7 +2,7 @@ const { getPackageJson } = require("../../utils/config");
2
2
  const { postClass } = require("../../utils/http");
3
3
 
4
4
  /**
5
- * cc newInfo recordType <projectPath> <objid>
5
+ * cloudcc newInfo recordType <projectPath> <objid>
6
6
  * 获取新建记录类型所需的表单初始信息(现有记录类型列表、简档列表、页面布局列表)
7
7
  * @param {string} projectPath
8
8
  * @param {string} objid 对象 ID
@@ -3,7 +3,7 @@ const { getPackageJson } = require("../../utils/config");
3
3
  const { postClass } = require("../../utils/http");
4
4
 
5
5
  /**
6
- * cc validDelete recordType <projectPath> <encodedBodyJson>
6
+ * cloudcc validDelete recordType <projectPath> <encodedBodyJson>
7
7
  * 删除前校验:获取可替换的记录类型列表
8
8
  *
9
9
  * 执行逻辑:
package/src/res.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # cloudcc-cli 资源与操作
2
2
 
3
- `cc <action> <type> …`
3
+ `cloudcc <action> <type> …`
4
4
  # CRM 相关
5
5
 
6
6
  ## plugin
@@ -6,7 +6,7 @@ const { id } = require('zod/locales');
6
6
 
7
7
  /**
8
8
  * 创建角色
9
- * 用法:cc create role <path> <roleName> [parentRoleName] [description]
9
+ * 用法:cloudcc create role <path> <roleName> [parentRoleName] [description]
10
10
  * 流程:
11
11
  * 1. 调用 role/addRole 获取直属上司列表
12
12
  * 2. 交互式选择直属上司(未指定时)或自动匹配(指定时)
@@ -16,7 +16,7 @@ const { id } = require('zod/locales');
16
16
  */
17
17
  async function create(argvs) {
18
18
  try {
19
- // 命令行参数格式:cc create role <path> <roleName> [parentRoleName] [description]
19
+ // 命令行参数格式:cloudcc create role <path> <roleName> [parentRoleName] [description]
20
20
  const projectPath = argvs[2] || process.cwd();
21
21
  const roleName = argvs[3];
22
22
  const parentRoleName = argvs[4] || '';
@@ -25,11 +25,11 @@ async function create(argvs) {
25
25
  if (!roleName) {
26
26
  console.error();
27
27
  console.error(chalk.red('Error: 缺少角色名称'));
28
- console.error('用法: cc create role <path> <roleName> [parentRoleName] [description]');
28
+ console.error('用法: cloudcc create role <path> <roleName> [parentRoleName] [description]');
29
29
  console.error('示例:');
30
- console.error(' cc create role . "销售经理" # 交互式选择直属上司');
31
- console.error(' cc create role . "销售经理" "CEO" # 指定直属上司为 CEO');
32
- console.error(' cc create role . "销售经理" "CEO" "负责销售团队管理"');
30
+ console.error(' cloudcc create role . "销售经理" # 交互式选择直属上司');
31
+ console.error(' cloudcc create role . "销售经理" "CEO" # 指定直属上司为 CEO');
32
+ console.error(' cloudcc create role . "销售经理" "CEO" "负责销售团队管理"');
33
33
  console.error();
34
34
  throw new Error('缺少必需参数: roleName');
35
35
  }