congmao-cli 1.0.0

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 (180) hide show
  1. package/README.md +2 -0
  2. package/bin/index.js +20 -0
  3. package/package.json +42 -0
  4. package/src/commands/create.js +171 -0
  5. package/src/commands/mcp.js +157 -0
  6. package/src/mcp/CURSOR_SETUP.md +259 -0
  7. package/src/mcp/README.md +134 -0
  8. package/src/mcp/USAGE_EXAMPLES.md +181 -0
  9. package/src/mcp/get-cursor-config.js +58 -0
  10. package/src/mcp/package.json +23 -0
  11. package/src/mcp/pnpm-lock.yaml +2441 -0
  12. package/src/mcp/src/handlers.js +211 -0
  13. package/src/mcp/src/http-server.js +332 -0
  14. package/src/mcp/src/index.js +195 -0
  15. package/src/mcp/src/schemas.js +54 -0
  16. package/src/mcp/test-create-project.js +49 -0
  17. package/src/mcp/test-mcp.js +89 -0
  18. package/src/mcp/test-show-tree.js +66 -0
  19. package/src/template/Uni-app/README.md +19 -0
  20. package/src/template/Uni-app/babel.config.js +81 -0
  21. package/src/template/Uni-app/package.json +107 -0
  22. package/src/template/Uni-app/postcss.config.js +27 -0
  23. package/src/template/Uni-app/public/index.html +25 -0
  24. package/src/template/Uni-app/shims-uni.d.ts +11 -0
  25. package/src/template/Uni-app/shims-vue.d.ts +4 -0
  26. package/src/template/Uni-app/src/App.vue +17 -0
  27. package/src/template/Uni-app/src/main.js +12 -0
  28. package/src/template/Uni-app/src/manifest.json +75 -0
  29. package/src/template/Uni-app/src/pages/index/index.vue +49 -0
  30. package/src/template/Uni-app/src/pages.json +16 -0
  31. package/src/template/Uni-app/src/static/logo.png +0 -0
  32. package/src/template/Uni-app/src/uni.promisify.adaptor.js +13 -0
  33. package/src/template/Uni-app/src/uni.scss +76 -0
  34. package/src/template/Uni-app/yarn.lock +11466 -0
  35. package/src/template/Vue2/.editorconfig +14 -0
  36. package/src/template/Vue2/.env +2 -0
  37. package/src/template/Vue2/.env.development +2 -0
  38. package/src/template/Vue2/.env.site +2 -0
  39. package/src/template/Vue2/.prettierrc.js +39 -0
  40. package/src/template/Vue2/.stylelintignore +8 -0
  41. package/src/template/Vue2/README-zh_CN.md +115 -0
  42. package/src/template/Vue2/commitlint.config.js +1 -0
  43. package/src/template/Vue2/docs/docs-starter.png +0 -0
  44. package/src/template/Vue2/docs/docs-startup.png +0 -0
  45. package/src/template/Vue2/docs/docs-structure.png +0 -0
  46. package/src/template/Vue2/globals.d.ts +13 -0
  47. package/src/template/Vue2/index.html +27 -0
  48. package/src/template/Vue2/jsx.d.ts +13 -0
  49. package/src/template/Vue2/mock/index.ts +147 -0
  50. package/src/template/Vue2/package.json +91 -0
  51. package/src/template/Vue2/package.json.ejs +91 -0
  52. package/src/template/Vue2/public/favicon.ico +0 -0
  53. package/src/template/Vue2/shims-vue.d.ts +5 -0
  54. package/src/template/Vue2/src/App.vue +19 -0
  55. package/src/template/Vue2/src/assets/assets-login-bg-black.png +0 -0
  56. package/src/template/Vue2/src/assets/assets-login-bg-white.png +0 -0
  57. package/src/template/Vue2/src/assets/assets-logo-full.svg +39 -0
  58. package/src/template/Vue2/src/assets/assets-product-1.svg +5 -0
  59. package/src/template/Vue2/src/assets/assets-product-2.svg +5 -0
  60. package/src/template/Vue2/src/assets/assets-product-3.svg +5 -0
  61. package/src/template/Vue2/src/assets/assets-product-4.svg +5 -0
  62. package/src/template/Vue2/src/assets/assets-result-403.svg +32 -0
  63. package/src/template/Vue2/src/assets/assets-result-404.svg +36 -0
  64. package/src/template/Vue2/src/assets/assets-result-500.svg +32 -0
  65. package/src/template/Vue2/src/assets/assets-result-ie.svg +33 -0
  66. package/src/template/Vue2/src/assets/assets-result-maintenance.svg +49 -0
  67. package/src/template/Vue2/src/assets/assets-result-wifi.svg +23 -0
  68. package/src/template/Vue2/src/assets/assets-setting-auto.svg +13 -0
  69. package/src/template/Vue2/src/assets/assets-setting-dark.svg +5 -0
  70. package/src/template/Vue2/src/assets/assets-setting-light.svg +13 -0
  71. package/src/template/Vue2/src/assets/assets-t-logo.svg +41 -0
  72. package/src/template/Vue2/src/assets/assets-tencent-logo.png +0 -0
  73. package/src/template/Vue2/src/components/color/index.vue +35 -0
  74. package/src/template/Vue2/src/components/product-card/index.vue +121 -0
  75. package/src/template/Vue2/src/components/result/index.vue +118 -0
  76. package/src/template/Vue2/src/components/thumbnail/index.vue +49 -0
  77. package/src/template/Vue2/src/components/trend/index.vue +105 -0
  78. package/src/template/Vue2/src/config/color.ts +30 -0
  79. package/src/template/Vue2/src/config/global.ts +2 -0
  80. package/src/template/Vue2/src/config/host.ts +26 -0
  81. package/src/template/Vue2/src/config/style.ts +14 -0
  82. package/src/template/Vue2/src/constants/index.ts +46 -0
  83. package/src/template/Vue2/src/interface.ts +39 -0
  84. package/src/template/Vue2/src/layouts/blank.vue +12 -0
  85. package/src/template/Vue2/src/layouts/components/Breadcrumb.vue +39 -0
  86. package/src/template/Vue2/src/layouts/components/Content.vue +43 -0
  87. package/src/template/Vue2/src/layouts/components/Footer.vue +27 -0
  88. package/src/template/Vue2/src/layouts/components/Header.vue +321 -0
  89. package/src/template/Vue2/src/layouts/components/LayoutContent.vue +168 -0
  90. package/src/template/Vue2/src/layouts/components/LayoutHeader.vue +52 -0
  91. package/src/template/Vue2/src/layouts/components/LayoutSidebar.vue +51 -0
  92. package/src/template/Vue2/src/layouts/components/MenuContent.vue +108 -0
  93. package/src/template/Vue2/src/layouts/components/Notice.vue +221 -0
  94. package/src/template/Vue2/src/layouts/components/Search.vue +134 -0
  95. package/src/template/Vue2/src/layouts/components/SideNav.vue +150 -0
  96. package/src/template/Vue2/src/layouts/index.vue +100 -0
  97. package/src/template/Vue2/src/layouts/setting.vue +404 -0
  98. package/src/template/Vue2/src/main.js +9 -0
  99. package/src/template/Vue2/src/main.jsx +51 -0
  100. package/src/template/Vue2/src/pages/dashboard/base/components/MiddleChart.vue +158 -0
  101. package/src/template/Vue2/src/pages/dashboard/base/components/OutputOverview.vue +189 -0
  102. package/src/template/Vue2/src/pages/dashboard/base/components/RankList.vue +111 -0
  103. package/src/template/Vue2/src/pages/dashboard/base/components/TopPanel.vue +246 -0
  104. package/src/template/Vue2/src/pages/dashboard/base/index.ts +702 -0
  105. package/src/template/Vue2/src/pages/dashboard/base/index.vue +44 -0
  106. package/src/template/Vue2/src/pages/dashboard/detail/index.ts +267 -0
  107. package/src/template/Vue2/src/pages/dashboard/detail/index.vue +242 -0
  108. package/src/template/Vue2/src/pages/detail/advanced/components/Product.vue +167 -0
  109. package/src/template/Vue2/src/pages/detail/advanced/index.less +74 -0
  110. package/src/template/Vue2/src/pages/detail/advanced/index.vue +219 -0
  111. package/src/template/Vue2/src/pages/detail/base/index.less +105 -0
  112. package/src/template/Vue2/src/pages/detail/base/index.vue +46 -0
  113. package/src/template/Vue2/src/pages/detail/deploy/index.ts +204 -0
  114. package/src/template/Vue2/src/pages/detail/deploy/index.vue +224 -0
  115. package/src/template/Vue2/src/pages/detail/secondary/index.less +71 -0
  116. package/src/template/Vue2/src/pages/detail/secondary/index.vue +131 -0
  117. package/src/template/Vue2/src/pages/form/base/index.less +57 -0
  118. package/src/template/Vue2/src/pages/form/base/index.vue +254 -0
  119. package/src/template/Vue2/src/pages/form/step/index.less +37 -0
  120. package/src/template/Vue2/src/pages/form/step/index.vue +259 -0
  121. package/src/template/Vue2/src/pages/frame/doc/index.vue +86 -0
  122. package/src/template/Vue2/src/pages/frame/tdesign/index.vue +86 -0
  123. package/src/template/Vue2/src/pages/list/base/index.vue +267 -0
  124. package/src/template/Vue2/src/pages/list/card/index.vue +221 -0
  125. package/src/template/Vue2/src/pages/list/components/CommonTable.vue +313 -0
  126. package/src/template/Vue2/src/pages/list/filter/index.vue +15 -0
  127. package/src/template/Vue2/src/pages/list/tree/index.vue +174 -0
  128. package/src/template/Vue2/src/pages/login/components/components-header.vue +74 -0
  129. package/src/template/Vue2/src/pages/login/components/components-login.vue +154 -0
  130. package/src/template/Vue2/src/pages/login/components/components-register.vue +144 -0
  131. package/src/template/Vue2/src/pages/login/index.less +202 -0
  132. package/src/template/Vue2/src/pages/login/index.vue +53 -0
  133. package/src/template/Vue2/src/pages/nest-menu/Index.vue +10 -0
  134. package/src/template/Vue2/src/pages/result/403/index.vue +14 -0
  135. package/src/template/Vue2/src/pages/result/404/index.vue +14 -0
  136. package/src/template/Vue2/src/pages/result/500/index.vue +14 -0
  137. package/src/template/Vue2/src/pages/result/browser-incompatible/index.vue +77 -0
  138. package/src/template/Vue2/src/pages/result/fail/index.vue +57 -0
  139. package/src/template/Vue2/src/pages/result/maintenance/index.vue +14 -0
  140. package/src/template/Vue2/src/pages/result/network-error/index.vue +24 -0
  141. package/src/template/Vue2/src/pages/result/success/index.vue +59 -0
  142. package/src/template/Vue2/src/pages/user/index.less +148 -0
  143. package/src/template/Vue2/src/pages/user/index.ts +157 -0
  144. package/src/template/Vue2/src/pages/user/index.vue +204 -0
  145. package/src/template/Vue2/src/permission.js +56 -0
  146. package/src/template/Vue2/src/router/index.js +43 -0
  147. package/src/template/Vue2/src/router/modules/base.ts +29 -0
  148. package/src/template/Vue2/src/router/modules/components.ts +175 -0
  149. package/src/template/Vue2/src/router/modules/others.ts +55 -0
  150. package/src/template/Vue2/src/service/service-advance.ts +233 -0
  151. package/src/template/Vue2/src/service/service-base.ts +205 -0
  152. package/src/template/Vue2/src/service/service-detail-base.ts +84 -0
  153. package/src/template/Vue2/src/service/service-detail-deploy.ts +234 -0
  154. package/src/template/Vue2/src/service/service-detail.ts +57 -0
  155. package/src/template/Vue2/src/service/service-user.ts +64 -0
  156. package/src/template/Vue2/src/store/index.ts +22 -0
  157. package/src/template/Vue2/src/store/modules/notification.ts +90 -0
  158. package/src/template/Vue2/src/store/modules/permission.ts +66 -0
  159. package/src/template/Vue2/src/store/modules/setting.ts +122 -0
  160. package/src/template/Vue2/src/store/modules/tab-router.ts +83 -0
  161. package/src/template/Vue2/src/store/modules/user.ts +98 -0
  162. package/src/template/Vue2/src/style/font-family.less +6 -0
  163. package/src/template/Vue2/src/style/index.less +5 -0
  164. package/src/template/Vue2/src/style/layout.less +201 -0
  165. package/src/template/Vue2/src/style/reset.less +78 -0
  166. package/src/template/Vue2/src/style/variables.less +27 -0
  167. package/src/template/Vue2/src/utils/charts.ts +38 -0
  168. package/src/template/Vue2/src/utils/color.ts +118 -0
  169. package/src/template/Vue2/src/utils/date.ts +12 -0
  170. package/src/template/Vue2/src/utils/request.ts +60 -0
  171. package/src/template/Vue2/stylelint.config.js +5 -0
  172. package/src/template/Vue2/tsconfig.json +26 -0
  173. package/src/template/Vue2/vite.config.js +58 -0
  174. package/src/template/Vue3/package.json.ejs +8 -0
  175. package/src/template/Vue3/pages.json +10 -0
  176. package/src/template/Vue3/src/main.js +7 -0
  177. package/src/utils/copy.js +17 -0
  178. package/src/utils/eslint.js +205 -0
  179. package/src/utils/logo.js +18 -0
  180. package/src/utils/render.js +20 -0
@@ -0,0 +1,134 @@
1
+ # CM CLI MCP 服务器
2
+
3
+ CM CLI 的 Model Context Protocol (MCP) 服务器,为 AI 助手提供快速创建项目和查看项目结构的能力。
4
+
5
+ ## 功能
6
+
7
+ ### 1. 快速创建项目 (`create-project`)
8
+
9
+ 支持创建以下类型的项目:
10
+ - **移动端** (mobile): 使用 Uni-app 模板
11
+ - **小程序** (miniprogram): 使用 Uni-app 模板
12
+ - **后台管理系统** (admin): 使用 Vue2 或 Vue3 模板
13
+
14
+ #### 参数
15
+
16
+ - `projectName` (必需): 项目名称,只能包含小写字母、数字和连字符
17
+ - `projectType` (必需): 项目类型,可选值:`mobile`、`miniprogram`、`admin`
18
+ - `vueVersion` (可选): Vue 版本,当 `projectType` 为 `admin` 时必需,可选值:`Vue2`、`Vue3`
19
+ - `needESLint` (可选): 是否配置 ESLint,默认为 `true`
20
+ - `targetPath` (可选): 目标路径,默认为当前工作目录
21
+
22
+ #### 示例
23
+
24
+ ```json
25
+ {
26
+ "projectName": "my-admin-project",
27
+ "projectType": "admin",
28
+ "vueVersion": "Vue2",
29
+ "needESLint": true
30
+ }
31
+ ```
32
+
33
+ ### 2. 查看项目结构树 (`show-project-tree`)
34
+
35
+ 显示指定项目的目录结构树。
36
+
37
+ #### 参数
38
+
39
+ - `projectPath` (必需): 项目路径,可以是相对路径或绝对路径
40
+ - `maxDepth` (可选): 最大深度,默认为 `3`
41
+ - `ignorePatterns` (可选): 忽略的目录模式,默认为 `["node_modules", ".git", "dist", "build"]`
42
+
43
+ #### 示例
44
+
45
+ ```json
46
+ {
47
+ "projectPath": "./my-project",
48
+ "maxDepth": 2,
49
+ "ignorePatterns": ["node_modules", ".git"]
50
+ }
51
+ ```
52
+
53
+ ## 使用方法
54
+
55
+ ### 安装依赖(首次使用必需)
56
+
57
+ ```bash
58
+ cd src/mcp
59
+ pnpm install
60
+ ```
61
+
62
+ ### 作为 MCP 服务器运行
63
+
64
+ ```bash
65
+ cd src/mcp
66
+ node src/index.js
67
+ ```
68
+
69
+ ### 在 Cursor 中配置
70
+
71
+ **详细配置指南请查看 [CURSOR_SETUP.md](./CURSOR_SETUP.md)**
72
+
73
+ 快速配置步骤:
74
+
75
+ 1. 打开 Cursor 设置(`Ctrl+,` 或 `Cmd+,`)
76
+ 2. 搜索 "MCP" 或 "Model Context Protocol"
77
+ 3. 添加以下配置(替换为你的实际路径):
78
+
79
+ ```json
80
+ {
81
+ "mcpServers": {
82
+ "cm-cli": {
83
+ "command": "node",
84
+ "args": [
85
+ "/absolute/path/to/cm-cli/src/mcp/src/index.js"
86
+ ]
87
+ }
88
+ }
89
+ }
90
+ ```
91
+
92
+ 4. 重启 Cursor
93
+
94
+ ### 在 Claude Desktop 中配置
95
+
96
+ 在 Claude Desktop 的配置文件中添加:
97
+
98
+ ```json
99
+ {
100
+ "mcpServers": {
101
+ "cm-cli": {
102
+ "command": "node",
103
+ "args": ["/path/to/cm-cli/src/mcp/src/index.js"]
104
+ }
105
+ }
106
+ }
107
+ ```
108
+
109
+ ## 测试
110
+
111
+ 运行测试脚本:
112
+
113
+ ```bash
114
+ cd src/mcp
115
+ node test-mcp.js
116
+ ```
117
+
118
+ ## 使用示例
119
+
120
+ 详细的使用示例请查看 [USAGE_EXAMPLES.md](./USAGE_EXAMPLES.md)
121
+
122
+ ## 项目结构
123
+
124
+ ```
125
+ src/mcp/
126
+ ├── src/
127
+ │ ├── index.js # MCP 服务器主文件
128
+ │ ├── handlers.js # 工具处理逻辑
129
+ │ └── schemas.js # 输入验证
130
+ ├── package.json
131
+ ├── README.md
132
+ └── test-mcp.js # 测试脚本
133
+ ```
134
+
@@ -0,0 +1,181 @@
1
+ # create-project 工具使用示例
2
+
3
+ ## 工具说明
4
+
5
+ `create-project` 是 CM CLI MCP 服务器提供的工具,用于快速创建项目。
6
+
7
+ ## 支持的项目类型
8
+
9
+ 1. **移动端 (mobile)**: 使用 Uni-app 模板
10
+ 2. **小程序 (miniprogram)**: 使用 Uni-app 模板
11
+ 3. **后台管理系统 (admin)**: 使用 Vue2 或 Vue3 模板
12
+
13
+ ## 参数说明
14
+
15
+ | 参数 | 类型 | 必需 | 说明 |
16
+ |------|------|------|------|
17
+ | `projectName` | string | ✅ | 项目名称,只能包含小写字母、数字和连字符 |
18
+ | `projectType` | string | ✅ | 项目类型:`mobile`、`miniprogram`、`admin` |
19
+ | `vueVersion` | string | ⚠️ | Vue 版本:`Vue2` 或 `Vue3`(仅当 `projectType` 为 `admin` 时必需) |
20
+ | `needESLint` | boolean | ❌ | 是否配置 ESLint,默认为 `true` |
21
+ | `targetPath` | string | ❌ | 目标路径,默认为当前工作目录 |
22
+
23
+ ## 使用示例
24
+
25
+ ### 示例 1: 创建 Vue2 后台管理系统
26
+
27
+ ```json
28
+ {
29
+ "projectName": "my-admin-app",
30
+ "projectType": "admin",
31
+ "vueVersion": "Vue2",
32
+ "needESLint": true
33
+ }
34
+ ```
35
+
36
+ **在 Cursor 中使用**:
37
+ ```
38
+ 请使用 create-project 工具创建一个名为 "my-admin-app" 的后台管理系统项目,
39
+ 使用 Vue2,并配置 ESLint。
40
+ ```
41
+
42
+ ### 示例 2: 创建 Vue3 后台管理系统(不配置 ESLint)
43
+
44
+ ```json
45
+ {
46
+ "projectName": "my-vue3-app",
47
+ "projectType": "admin",
48
+ "vueVersion": "Vue3",
49
+ "needESLint": false
50
+ }
51
+ ```
52
+
53
+ **在 Cursor 中使用**:
54
+ ```
55
+ 请创建一个名为 "my-vue3-app" 的 Vue3 后台管理系统项目,不配置 ESLint。
56
+ ```
57
+
58
+ ### 示例 3: 创建移动端项目
59
+
60
+ ```json
61
+ {
62
+ "projectName": "my-mobile-app",
63
+ "projectType": "mobile",
64
+ "needESLint": true
65
+ }
66
+ ```
67
+
68
+ **在 Cursor 中使用**:
69
+ ```
70
+ 请创建一个名为 "my-mobile-app" 的移动端项目。
71
+ ```
72
+
73
+ ### 示例 4: 创建小程序项目
74
+
75
+ ```json
76
+ {
77
+ "projectName": "my-miniprogram",
78
+ "projectType": "miniprogram",
79
+ "needESLint": false
80
+ }
81
+ ```
82
+
83
+ **在 Cursor 中使用**:
84
+ ```
85
+ 请创建一个名为 "my-miniprogram" 的小程序项目,不配置 ESLint。
86
+ ```
87
+
88
+ ### 示例 5: 指定目标路径
89
+
90
+ ```json
91
+ {
92
+ "projectName": "my-project",
93
+ "projectType": "admin",
94
+ "vueVersion": "Vue2",
95
+ "targetPath": "/path/to/projects"
96
+ }
97
+ ```
98
+
99
+ ## 返回结果
100
+
101
+ 成功创建项目后,会返回:
102
+
103
+ ```json
104
+ {
105
+ "success": true,
106
+ "message": "项目创建成功!\n\ncd my-project\npnpm install\npnpm run lint\npnpm run dev",
107
+ "projectPath": "/absolute/path/to/my-project",
108
+ "templateName": "Vue2",
109
+ "startCommands": "cd my-project\npnpm install\npnpm run lint\npnpm run dev"
110
+ }
111
+ ```
112
+
113
+ ## 错误处理
114
+
115
+ ### 错误 1: 项目名称格式不正确
116
+
117
+ ```json
118
+ {
119
+ "success": false,
120
+ "error": "项目名称只能包含小写字母、数字和连字符"
121
+ }
122
+ ```
123
+
124
+ **解决方案**: 确保项目名称只包含小写字母、数字和连字符(如:`my-project-123`)
125
+
126
+ ### 错误 2: 后台管理系统缺少 Vue 版本
127
+
128
+ ```json
129
+ {
130
+ "success": false,
131
+ "error": "后台管理系统需要指定Vue版本"
132
+ }
133
+ ```
134
+
135
+ **解决方案**: 当 `projectType` 为 `admin` 时,必须提供 `vueVersion` 参数
136
+
137
+ ### 错误 3: 目录已存在
138
+
139
+ ```json
140
+ {
141
+ "success": false,
142
+ "error": "目录已存在: /path/to/project"
143
+ }
144
+ ```
145
+
146
+ **解决方案**: 选择不同的项目名称或删除已存在的目录
147
+
148
+ ### 错误 4: 模板不存在
149
+
150
+ ```json
151
+ {
152
+ "success": false,
153
+ "error": "模板不存在: /path/to/template"
154
+ }
155
+ ```
156
+
157
+ **解决方案**: 检查模板目录是否存在,或联系管理员
158
+
159
+ ## 常见问题
160
+
161
+ ### Q: 项目名称可以使用大写字母吗?
162
+ A: 不可以。项目名称只能包含小写字母、数字和连字符。
163
+
164
+ ### Q: 可以在已存在的目录中创建项目吗?
165
+ A: 不可以。目标目录必须不存在,否则会返回错误。
166
+
167
+ ### Q: ESLint 配置是必需的吗?
168
+ A: 不是。可以通过设置 `needESLint: false` 来跳过 ESLint 配置。
169
+
170
+ ### Q: 创建的项目在哪里?
171
+ A: 默认在当前工作目录下创建。可以通过 `targetPath` 参数指定其他路径。
172
+
173
+ ## 下一步
174
+
175
+ 项目创建成功后,按照返回的启动命令操作:
176
+
177
+ 1. 进入项目目录:`cd project-name`
178
+ 2. 安装依赖:`pnpm install`
179
+ 3. (如果配置了 ESLint)运行代码检查:`pnpm run lint`
180
+ 4. 启动开发服务器:`pnpm run dev` 或 `pnpm run dev:h5`
181
+
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * 生成 Cursor MCP 配置脚本
5
+ * 运行此脚本可以获取当前项目的 MCP 配置
6
+ */
7
+
8
+ import { fileURLToPath } from "url";
9
+ import { dirname, resolve } from "path";
10
+ import fs from "fs";
11
+
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
14
+
15
+ // 获取 MCP 服务器的绝对路径
16
+ const mcpServerPath = resolve(__dirname, "src/index.js");
17
+
18
+ // 生成配置
19
+ const config = {
20
+ mcpServers: {
21
+ "cm-cli": {
22
+ command: "node",
23
+ args: [mcpServerPath],
24
+ },
25
+ },
26
+ };
27
+
28
+ console.log("\n=== Cursor MCP 配置 ===\n");
29
+ console.log("请将以下配置添加到 Cursor 的 MCP 设置中:\n");
30
+ console.log(JSON.stringify(config, null, 2));
31
+ console.log("\n=== 配置路径信息 ===\n");
32
+ console.log(`MCP 服务器路径: ${mcpServerPath}`);
33
+ console.log(`\n验证路径是否存在: ${fs.existsSync(mcpServerPath) ? "✓ 存在" : "✗ 不存在"}`);
34
+
35
+ // 检查依赖是否已安装
36
+ const nodeModulesPath = resolve(__dirname, "node_modules", "@modelcontextprotocol", "sdk");
37
+ const depsInstalled = fs.existsSync(nodeModulesPath);
38
+ console.log(`\n依赖是否已安装: ${depsInstalled ? "✓ 已安装" : "✗ 未安装"}`);
39
+
40
+ if (!depsInstalled) {
41
+ console.log("\n⚠️ 警告: 依赖未安装,请先运行: pnpm install");
42
+ }
43
+
44
+ // 根据操作系统显示配置文件位置
45
+ const os = process.platform;
46
+ let configPath = "";
47
+
48
+ if (os === "win32") {
49
+ configPath = "%APPDATA%\\Cursor\\User\\globalStorage\\cursor.mcp\\settings.json";
50
+ } else if (os === "darwin") {
51
+ configPath = "~/Library/Application Support/Cursor/User/globalStorage/cursor.mcp/settings.json";
52
+ } else {
53
+ configPath = "~/.config/Cursor/User/globalStorage/cursor.mcp/settings.json";
54
+ }
55
+
56
+ console.log(`\n配置文件位置: ${configPath}`);
57
+ console.log("\n详细配置说明请查看: src/mcp/CURSOR_SETUP.md\n");
58
+
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "cm-cli-mcp",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "main": "src/index.js",
6
+ "bin": {
7
+ "cm-mcp": "./src/index.js"
8
+ },
9
+ "scripts": {
10
+ "test": "echo \"Error: no test specified\" && exit 1",
11
+ "get-config": "node get-cursor-config.js"
12
+ },
13
+ "keywords": [],
14
+ "author": "",
15
+ "license": "ISC",
16
+ "description": "CM CLI MCP server - 提供快速创建项目和查看项目结构的能力",
17
+ "dependencies": {
18
+ "@modelcontextprotocol/sdk": "^1.17.5"
19
+ },
20
+ "devDependencies": {
21
+ "@modelcontextprotocol/inspector": "^0.16.6"
22
+ }
23
+ }