needware-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 (93) hide show
  1. package/.editorconfig +21 -0
  2. package/AGENT_COMMAND_SUMMARY.md +364 -0
  3. package/CHANGELOG.md +138 -0
  4. package/FEATURE_INTERACTIVE_MODE.md +303 -0
  5. package/INTERACTIVE_EXAMPLE.md +305 -0
  6. package/LICENSE +22 -0
  7. package/PROJECT_SUMMARY.md +435 -0
  8. package/QUICK_START.md +216 -0
  9. package/README.md +310 -0
  10. package/SETUP.md +315 -0
  11. package/bin/cli.js +49 -0
  12. package/config/default.json +20 -0
  13. package/dist/commands/agent.d.ts +38 -0
  14. package/dist/commands/agent.d.ts.map +1 -0
  15. package/dist/commands/agent.js +444 -0
  16. package/dist/commands/agent.js.map +1 -0
  17. package/dist/commands/config.d.ts +48 -0
  18. package/dist/commands/config.d.ts.map +1 -0
  19. package/dist/commands/config.js +197 -0
  20. package/dist/commands/config.js.map +1 -0
  21. package/dist/commands/example.d.ts +32 -0
  22. package/dist/commands/example.d.ts.map +1 -0
  23. package/dist/commands/example.js +154 -0
  24. package/dist/commands/example.js.map +1 -0
  25. package/dist/commands/index.d.ts +8 -0
  26. package/dist/commands/index.d.ts.map +1 -0
  27. package/dist/commands/index.js +15 -0
  28. package/dist/commands/index.js.map +1 -0
  29. package/dist/commands/init.d.ts +25 -0
  30. package/dist/commands/init.d.ts.map +1 -0
  31. package/dist/commands/init.js +158 -0
  32. package/dist/commands/init.js.map +1 -0
  33. package/dist/core/cli.d.ts +37 -0
  34. package/dist/core/cli.d.ts.map +1 -0
  35. package/dist/core/cli.js +160 -0
  36. package/dist/core/cli.js.map +1 -0
  37. package/dist/core/command.d.ts +41 -0
  38. package/dist/core/command.d.ts.map +1 -0
  39. package/dist/core/command.js +87 -0
  40. package/dist/core/command.js.map +1 -0
  41. package/dist/core/logger.d.ts +30 -0
  42. package/dist/core/logger.d.ts.map +1 -0
  43. package/dist/core/logger.js +163 -0
  44. package/dist/core/logger.js.map +1 -0
  45. package/dist/index.d.ts +15 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +125 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/sdk/base-sdk.d.ts +61 -0
  50. package/dist/sdk/base-sdk.d.ts.map +1 -0
  51. package/dist/sdk/base-sdk.js +71 -0
  52. package/dist/sdk/base-sdk.js.map +1 -0
  53. package/dist/sdk/example-sdk.d.ts +40 -0
  54. package/dist/sdk/example-sdk.d.ts.map +1 -0
  55. package/dist/sdk/example-sdk.js +168 -0
  56. package/dist/sdk/example-sdk.js.map +1 -0
  57. package/dist/sdk/index.d.ts +59 -0
  58. package/dist/sdk/index.d.ts.map +1 -0
  59. package/dist/sdk/index.js +169 -0
  60. package/dist/sdk/index.js.map +1 -0
  61. package/dist/types/command.d.ts +34 -0
  62. package/dist/types/command.d.ts.map +1 -0
  63. package/dist/types/command.js +13 -0
  64. package/dist/types/command.js.map +1 -0
  65. package/dist/types/config.d.ts +30 -0
  66. package/dist/types/config.d.ts.map +1 -0
  67. package/dist/types/config.js +6 -0
  68. package/dist/types/config.js.map +1 -0
  69. package/dist/types/error.d.ts +24 -0
  70. package/dist/types/error.d.ts.map +1 -0
  71. package/dist/types/error.js +33 -0
  72. package/dist/types/error.js.map +1 -0
  73. package/dist/types/index.d.ts +8 -0
  74. package/dist/types/index.d.ts.map +1 -0
  75. package/dist/types/index.js +23 -0
  76. package/dist/types/index.js.map +1 -0
  77. package/dist/types/sdk.d.ts +21 -0
  78. package/dist/types/sdk.d.ts.map +1 -0
  79. package/dist/types/sdk.js +6 -0
  80. package/dist/types/sdk.js.map +1 -0
  81. package/dist/utils/config.d.ts +59 -0
  82. package/dist/utils/config.d.ts.map +1 -0
  83. package/dist/utils/config.js +237 -0
  84. package/dist/utils/config.js.map +1 -0
  85. package/dist/utils/file.d.ts +66 -0
  86. package/dist/utils/file.d.ts.map +1 -0
  87. package/dist/utils/file.js +162 -0
  88. package/dist/utils/file.js.map +1 -0
  89. package/dist/utils/validator.d.ts +66 -0
  90. package/dist/utils/validator.d.ts.map +1 -0
  91. package/dist/utils/validator.js +120 -0
  92. package/dist/utils/validator.js.map +1 -0
  93. package/package.json +61 -0
package/README.md ADDED
@@ -0,0 +1,310 @@
1
+ # Needware CLI
2
+
3
+ > 一个功能强大的 Node.js 命令行工具
4
+
5
+ [![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg)](https://nodejs.org/)
6
+ [![TypeScript](https://img.shields.io/badge/typescript-5.x-blue.svg)](https://www.typescriptlang.org/)
7
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
8
+
9
+ ## ✨ 特性
10
+
11
+ - 🚀 **模块化命令架构** - 易于扩展和维护
12
+ - 🔌 **第三方 SDK 集成** - 灵活的 SDK 管理系统
13
+ - ⚙️ **灵活的配置管理** - 支持多层配置(默认、用户、环境变量)
14
+ - 🎨 **美观的命令行界面** - 彩色输出和交互式提示
15
+ - 📝 **完善的日志系统** - 多级日志和文件持久化
16
+ - ✅ **完整的错误处理** - 友好的错误提示和解决建议
17
+ - 🧪 **单元测试覆盖** - 高质量代码保证
18
+
19
+ ## 📦 安装
20
+
21
+ ### 全局安装
22
+
23
+ ```bash
24
+ npm install -g needware-cli
25
+ ```
26
+
27
+ ### 项目本地安装
28
+
29
+ ```bash
30
+ npm install --save-dev needware-cli
31
+ ```
32
+
33
+ ### 使用 npx
34
+
35
+ ```bash
36
+ npx needware-cli <command>
37
+ ```
38
+
39
+ ## 🚀 快速开始
40
+
41
+ ### 1. 初始化配置
42
+
43
+ ```bash
44
+ # 交互式初始化
45
+ needware-cli init
46
+
47
+ # 使用默认配置
48
+ needware-cli init --default
49
+ ```
50
+
51
+ ### 2. 配置管理
52
+
53
+ ```bash
54
+ # 查看所有配置
55
+ needware-cli config list
56
+
57
+ # 获取配置项
58
+ needware-cli config get logging.level
59
+
60
+ # 设置配置项
61
+ needware-cli config set logging.level debug
62
+
63
+ # 设置 API Key
64
+ needware-cli config set sdks.example.apiKey YOUR_API_KEY
65
+
66
+ # 重置配置
67
+ needware-cli config reset
68
+
69
+ # 查看配置文件路径
70
+ needware-cli config path
71
+ ```
72
+
73
+ ### 3. 使用 Agent 命令(AI 智能助手)
74
+
75
+ ```bash
76
+ # 配置 API Key(必需)
77
+ export ANTHROPIC_API_KEY=your_api_key_here
78
+
79
+ # 单次对话 - 在当前目录执行任务
80
+ needware-cli agent "创建一个待办事项应用"
81
+
82
+ # 单次对话 - 指定工作目录
83
+ needware-cli agent "修复登录页面的样式问题" --working-dir ./my-project
84
+
85
+ # 多轮对话 - 交互式模式(推荐用于复杂任务)
86
+ needware-cli agent --interactive
87
+ # 或使用简写
88
+ needware-cli agent -i
89
+
90
+ # 多轮对话 - 带初始提示
91
+ needware-cli agent -i "创建一个待办事项应用"
92
+
93
+ # 指定额外目录
94
+ needware-cli agent "优化性能" --additional-dirs ./shared,./utils
95
+ ```
96
+
97
+ **交互式模式特性**:
98
+ - 🔄 支持多轮对话,AI 记住上下文
99
+ - 💬 可以持续调整需求和代码
100
+ - 🚪 输入 `exit` 或 `quit` 退出对话
101
+
102
+ 查看 [交互式模式详细文档](docs/INTERACTIVE_MODE.md)
103
+
104
+ ### 4. 使用示例命令
105
+
106
+ ```bash
107
+ # 获取数据
108
+ needware-cli example fetch 123
109
+
110
+ # 创建数据
111
+ needware-cli example create '{"name":"test"}'
112
+
113
+ # 健康检查
114
+ needware-cli example health
115
+ ```
116
+
117
+ ## 📚 命令列表
118
+
119
+ | 命令 | 别名 | 描述 | 示例 |
120
+ |------|------|------|------|
121
+ | `init` | `i` | 初始化项目配置 | `needware-cli init` |
122
+ | `config` | `cfg` | 配置管理 | `needware-cli config list` |
123
+ | `agent` | `ag` | AI 智能助手 | `needware-cli agent "创建应用"` |
124
+ | `example` | `ex` | 示例命令 | `needware-cli example health` |
125
+
126
+ ## 🔧 全局选项
127
+
128
+ | 选项 | 简写 | 描述 | 默认值 |
129
+ |------|------|------|--------|
130
+ | `--verbose` | `-V` | 详细输出模式 | false |
131
+ | `--quiet` | `-q` | 静默模式 | false |
132
+ | `--config <path>` | `-c` | 指定配置文件路径 | ~/.needware/config.json |
133
+ | `--version` | `-v` | 显示版本信息 | - |
134
+ | `--help` | `-h` | 显示帮助信息 | - |
135
+
136
+ ## ⚙️ 配置
137
+
138
+ ### 配置文件位置
139
+
140
+ 默认配置文件位于 `~/.needware/config.json`
141
+
142
+ ### 配置结构
143
+
144
+ ```json
145
+ {
146
+ "version": "1.0.0",
147
+ "logging": {
148
+ "level": "info",
149
+ "file": "~/.needware/logs/cli.log"
150
+ },
151
+ "sdks": {
152
+ "example": {
153
+ "apiKey": "",
154
+ "endpoint": "https://api.example.com",
155
+ "timeout": 30000,
156
+ "retries": 3
157
+ }
158
+ },
159
+ "preferences": {
160
+ "colorOutput": true,
161
+ "interactive": true
162
+ }
163
+ }
164
+ ```
165
+
166
+ ### 环境变量
167
+
168
+ 你可以使用环境变量覆盖配置:
169
+
170
+ ```bash
171
+ # 日志级别
172
+ export NEEDWARE_LOG_LEVEL=debug
173
+
174
+ # API 配置
175
+ export NEEDWARE_API_KEY=your-api-key
176
+ export NEEDWARE_ENDPOINT=https://api.example.com
177
+
178
+ # Anthropic API 配置(Agent 命令需要)
179
+ export ANTHROPIC_API_KEY=your_anthropic_api_key
180
+ export ANTHROPIC_BASE_URL=https://api.anthropic.com # 可选
181
+
182
+ # 偏好设置
183
+ export NEEDWARE_COLOR_OUTPUT=true
184
+ export NEEDWARE_INTERACTIVE=true
185
+ ```
186
+
187
+ ## 🛠️ 开发
188
+
189
+ ### 环境要求
190
+
191
+ - Node.js >= 18.0.0
192
+ - npm >= 8.0.0
193
+
194
+ ### 安装依赖
195
+
196
+ ```bash
197
+ npm install
198
+ ```
199
+
200
+ ### 开发模式
201
+
202
+ ```bash
203
+ npm run dev
204
+ ```
205
+
206
+ ### 构建项目
207
+
208
+ ```bash
209
+ npm run build
210
+ ```
211
+
212
+ ### 运行测试
213
+
214
+ ```bash
215
+ # 运行所有测试
216
+ npm test
217
+
218
+ # 单元测试
219
+ npm run test:unit
220
+
221
+ # 集成测试
222
+ npm run test:integration
223
+
224
+ # 覆盖率报告
225
+ npm run test:coverage
226
+
227
+ # 监听模式
228
+ npm run test:watch
229
+ ```
230
+
231
+ ### 代码检查
232
+
233
+ ```bash
234
+ # 运行 ESLint
235
+ npm run lint
236
+
237
+ # 自动修复
238
+ npm run lint:fix
239
+
240
+ # 格式化代码
241
+ npm run format
242
+ ```
243
+
244
+ ## 📖 文档
245
+
246
+ - [架构文档](ARCHITECTURE.md) - 详细的系统架构说明
247
+ - [API 文档](docs/API.md) - API 使用说明
248
+ - [开发指南](docs/DEVELOPMENT.md) - 开发环境配置和贡献指南
249
+ - [Agent 命令指南](docs/AGENT_COMMAND.md) - AI 智能助手详细使用说明
250
+ - [交互式模式文档](docs/INTERACTIVE_MODE.md) - 多轮对话功能详解
251
+
252
+ ## 🧪 测试
253
+
254
+ 项目使用 Jest 进行测试,目标覆盖率为 80%。
255
+
256
+ ```bash
257
+ npm test
258
+ ```
259
+
260
+ ## 🤝 贡献
261
+
262
+ 欢迎贡献!请查看 [贡献指南](CONTRIBUTING.md)。
263
+
264
+ ### 提交规范
265
+
266
+ 本项目遵循 [Conventional Commits](https://www.conventionalcommits.org/) 规范:
267
+
268
+ ```
269
+ feat: 新功能
270
+ fix: 修复问题
271
+ docs: 文档更新
272
+ style: 代码格式调整
273
+ refactor: 代码重构
274
+ test: 测试相关
275
+ chore: 构建工具或辅助工具
276
+ ```
277
+
278
+ ## 📝 变更日志
279
+
280
+ 查看 [CHANGELOG.md](CHANGELOG.md) 了解版本变更详情。
281
+
282
+ ## 📄 许可证
283
+
284
+ [MIT](LICENSE) © Needware Team
285
+
286
+ ## 🙏 致谢
287
+
288
+ 感谢以下开源项目:
289
+
290
+ - [Commander.js](https://github.com/tj/commander.js) - 命令行参数解析
291
+ - [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) - 交互式命令行提示
292
+ - [Chalk](https://github.com/chalk/chalk) - 终端颜色输出
293
+ - [Ora](https://github.com/sindresorhus/ora) - 优雅的终端加载动画
294
+
295
+ ## 📧 联系方式
296
+
297
+ - 问题反馈: [GitHub Issues](https://github.com/needware/needware-cli/issues)
298
+ - 邮箱: support@needware.com
299
+
300
+ ## 🔗 相关链接
301
+
302
+ - [官方网站](https://needware.com)
303
+ - [文档中心](https://docs.needware.com)
304
+ - [GitHub](https://github.com/needware/needware-cli)
305
+ - [npm](https://www.npmjs.com/package/needware-cli)
306
+
307
+ ---
308
+
309
+ **Made with ❤️ by Needware Team**
310
+
package/SETUP.md ADDED
@@ -0,0 +1,315 @@
1
+ # 项目设置说明
2
+
3
+ ## 🎉 项目已成功生成!
4
+
5
+ 根据架构文档,已为您创建了完整的 Needware CLI 项目代码。
6
+
7
+ ## 📋 项目结构
8
+
9
+ ```
10
+ needware-code/
11
+ ├── bin/ # CLI 可执行文件
12
+ ├── src/ # TypeScript 源代码
13
+ │ ├── commands/ # 命令实现
14
+ │ ├── core/ # 核心功能
15
+ │ ├── sdk/ # SDK 集成层
16
+ │ ├── utils/ # 工具函数
17
+ │ └── types/ # 类型定义
18
+ ├── tests/ # 测试文件
19
+ ├── config/ # 配置文件
20
+ ├── docs/ # 文档
21
+ └── dist/ # 构建输出(需要构建后生成)
22
+ ```
23
+
24
+ ## 🚀 快速开始
25
+
26
+ ### 1. 安装依赖
27
+
28
+ ```bash
29
+ npm install
30
+ ```
31
+
32
+ 这将安装所有必需的依赖包:
33
+ - TypeScript 和相关工具
34
+ - Commander.js (命令行框架)
35
+ - Inquirer.js (交互式提示)
36
+ - Chalk (彩色输出)
37
+ - Ora (加载动画)
38
+ - Axios (HTTP 客户端)
39
+ - Jest (测试框架)
40
+ - ESLint & Prettier (代码质量工具)
41
+
42
+ ### 2. 构建项目
43
+
44
+ ```bash
45
+ npm run build
46
+ ```
47
+
48
+ 这将把 TypeScript 代码编译为 JavaScript,输出到 `dist/` 目录。
49
+
50
+ ### 3. 测试运行
51
+
52
+ ```bash
53
+ # 开发模式(使用 ts-node)
54
+ npm run dev
55
+
56
+ # 或者链接到全局
57
+ npm link
58
+ needware-cli --help
59
+ ```
60
+
61
+ ## 📝 已实现的功能
62
+
63
+ ### ✅ 核心模块
64
+
65
+ - **CLI 主类** (`src/core/cli.ts`)
66
+ - 命令注册和管理
67
+ - 全局选项处理
68
+ - 错误处理
69
+
70
+ - **命令基类** (`src/core/command.ts`)
71
+ - 命令生命周期管理
72
+ - 统一的接口规范
73
+ - 验证和错误处理
74
+
75
+ - **日志系统** (`src/core/logger.ts`)
76
+ - 多级日志(debug, info, warn, error, success)
77
+ - 彩色输出
78
+ - 文件持久化
79
+
80
+ ### ✅ 命令实现
81
+
82
+ 1. **init 命令** (`src/commands/init.ts`)
83
+ - 交互式配置初始化
84
+ - 默认配置生成
85
+ - 配置验证
86
+
87
+ 2. **config 命令** (`src/commands/config.ts`)
88
+ - 列出所有配置
89
+ - 获取/设置配置项
90
+ - 重置配置
91
+ - 查看配置文件路径
92
+
93
+ 3. **example 命令** (`src/commands/example.ts`)
94
+ - SDK 调用示例
95
+ - 数据获取和创建
96
+ - 健康检查
97
+
98
+ ### ✅ SDK 集成
99
+
100
+ - **SDK 基类** (`src/sdk/base-sdk.ts`)
101
+ - 统一的 SDK 接口
102
+ - 生命周期管理
103
+ - 健康检查
104
+
105
+ - **SDK 管理器** (`src/sdk/index.ts`)
106
+ - SDK 注册和获取
107
+ - 批量初始化
108
+ - 健康状态监控
109
+
110
+ - **示例 SDK** (`src/sdk/example-sdk.ts`)
111
+ - HTTP 客户端集成
112
+ - 重试机制
113
+ - 错误处理
114
+
115
+ ### ✅ 工具函数
116
+
117
+ - **配置管理** (`src/utils/config.ts`)
118
+ - 多层配置(默认、用户、环境变量)
119
+ - 配置读写和合并
120
+ - 路径解析
121
+
122
+ - **输入验证** (`src/utils/validator.ts`)
123
+ - 邮箱、URL、端口验证
124
+ - 自定义验证器
125
+ - 类型检查
126
+
127
+ - **文件操作** (`src/utils/file.ts`)
128
+ - 文件读写
129
+ - JSON 处理
130
+ - 目录管理
131
+
132
+ ### ✅ 类型定义
133
+
134
+ 完整的 TypeScript 类型定义 (`src/types/`):
135
+ - 命令相关类型
136
+ - 配置相关类型
137
+ - SDK 相关类型
138
+ - 错误类型
139
+
140
+ ### ✅ 测试
141
+
142
+ - 单元测试示例
143
+ - 集成测试示例
144
+ - Jest 配置
145
+ - 测试覆盖率设置
146
+
147
+ ### ✅ 文档
148
+
149
+ - `README.md` - 项目说明和使用指南
150
+ - `ARCHITECTURE.md` - 架构设计文档
151
+ - `CHANGELOG.md` - 版本变更记录
152
+ - `CONTRIBUTING.md` - 贡献指南
153
+ - `docs/API.md` - API 文档
154
+ - `docs/DEVELOPMENT.md` - 开发指南
155
+ - `QUICK_START.md` - 快速开始
156
+
157
+ ### ✅ 开发工具
158
+
159
+ - TypeScript 配置
160
+ - ESLint 配置
161
+ - Prettier 配置
162
+ - Jest 配置
163
+ - Git 忽略文件
164
+ - npm 发布配置
165
+
166
+ ## 🔧 开发命令
167
+
168
+ ```bash
169
+ # 开发模式
170
+ npm run dev
171
+
172
+ # 构建
173
+ npm run build
174
+
175
+ # 测试
176
+ npm test
177
+ npm run test:watch
178
+ npm run test:coverage
179
+
180
+ # 代码检查
181
+ npm run lint
182
+ npm run lint:fix
183
+
184
+ # 代码格式化
185
+ npm run format
186
+ ```
187
+
188
+ ## 📚 使用示例
189
+
190
+ ### 初始化配置
191
+
192
+ ```bash
193
+ # 交互式初始化
194
+ needware-cli init
195
+
196
+ # 使用默认配置
197
+ needware-cli init --default
198
+ ```
199
+
200
+ ### 配置管理
201
+
202
+ ```bash
203
+ # 查看所有配置
204
+ needware-cli config list
205
+
206
+ # 设置配置
207
+ needware-cli config set sdks.example.apiKey YOUR_KEY
208
+
209
+ # 获取配置
210
+ needware-cli config get logging.level
211
+ ```
212
+
213
+ ### SDK 调用示例
214
+
215
+ ```bash
216
+ # 健康检查
217
+ needware-cli example health
218
+
219
+ # 获取数据
220
+ needware-cli example fetch 123
221
+
222
+ # 创建数据
223
+ needware-cli example create '{"name":"test"}'
224
+ ```
225
+
226
+ ## 🔍 关键文件说明
227
+
228
+ | 文件 | 说明 |
229
+ |------|------|
230
+ | `package.json` | 项目配置和依赖 |
231
+ | `tsconfig.json` | TypeScript 配置 |
232
+ | `jest.config.js` | Jest 测试配置 |
233
+ | `.eslintrc.json` | ESLint 代码检查配置 |
234
+ | `.prettierrc` | Prettier 格式化配置 |
235
+ | `src/index.ts` | 主入口文件 |
236
+ | `bin/cli.js` | CLI 可执行文件 |
237
+ | `config/default.json` | 默认配置 |
238
+
239
+ ## 🎯 下一步
240
+
241
+ 1. **安装依赖**
242
+ ```bash
243
+ npm install
244
+ ```
245
+
246
+ 2. **构建项目**
247
+ ```bash
248
+ npm run build
249
+ ```
250
+
251
+ 3. **初始化配置**
252
+ ```bash
253
+ npm link
254
+ needware-cli init
255
+ ```
256
+
257
+ 4. **开始开发**
258
+ - 添加自定义命令
259
+ - 集成更多 SDK
260
+ - 编写测试
261
+ - 完善文档
262
+
263
+ ## 📖 相关文档
264
+
265
+ - [README.md](README.md) - 完整使用说明
266
+ - [ARCHITECTURE.md](ARCHITECTURE.md) - 架构设计详解
267
+ - [QUICK_START.md](QUICK_START.md) - 快速开始指南
268
+ - [docs/API.md](docs/API.md) - API 参考文档
269
+ - [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) - 开发指南
270
+
271
+ ## ⚠️ 注意事项
272
+
273
+ 1. 需要 Node.js >= 18.0.0
274
+ 2. 首次运行前请先执行 `npm install`
275
+ 3. 开发时建议使用 `npm run dev` 而不是直接运行编译后的代码
276
+ 4. 修改代码后需要重新构建(`npm run build`)
277
+ 5. 测试前确保所有依赖已安装
278
+
279
+ ## 🐛 故障排除
280
+
281
+ ### 构建失败
282
+
283
+ ```bash
284
+ rm -rf dist node_modules
285
+ npm install
286
+ npm run build
287
+ ```
288
+
289
+ ### TypeScript 错误
290
+
291
+ ```bash
292
+ # 确保类型定义已安装
293
+ npm install --save-dev @types/node @types/inquirer
294
+ ```
295
+
296
+ ### 链接问题
297
+
298
+ ```bash
299
+ npm unlink -g needware-cli
300
+ npm link
301
+ ```
302
+
303
+ ## 🎉 开始使用
304
+
305
+ 现在您可以开始使用和开发 Needware CLI 了!
306
+
307
+ ```bash
308
+ npm install
309
+ npm run build
310
+ npm link
311
+ needware-cli init
312
+ ```
313
+
314
+ 祝您使用愉快! 🚀
315
+
package/bin/cli.js ADDED
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Needware CLI 可执行文件入口
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ // 检查 Node.js 版本
10
+ const nodeVersion = process.versions.node;
11
+ const majorVersion = parseInt(nodeVersion.split('.')[0], 10);
12
+
13
+ if (majorVersion < 18) {
14
+ console.error(
15
+ '\x1b[31m%s\x1b[0m',
16
+ `Error: Needware CLI requires Node.js 18 or higher. Current version: ${nodeVersion}`
17
+ );
18
+ process.exit(1);
19
+ }
20
+
21
+ // 加载并运行主模块
22
+ async function run() {
23
+ try {
24
+ // 尝试加载编译后的代码
25
+ const indexPath = require.resolve('../dist/index.js');
26
+ delete require.cache[indexPath];
27
+ require(indexPath);
28
+ } catch (error) {
29
+ // 如果 dist 不存在,尝试使用 ts-node 运行源代码(开发模式)
30
+ try {
31
+ require('ts-node/register');
32
+ require('../src/index.ts');
33
+ } catch (tsError) {
34
+ console.error('\x1b[31m%s\x1b[0m', 'Error: Failed to load CLI');
35
+ console.error(
36
+ '\x1b[33m%s\x1b[0m',
37
+ 'Please run "npm run build" to build the project first, or install ts-node for development mode.'
38
+ );
39
+ console.error('\x1b[90m%s\x1b[0m', error.message);
40
+ process.exit(1);
41
+ }
42
+ }
43
+ }
44
+
45
+ run().catch((error) => {
46
+ console.error('Fatal error:', error);
47
+ process.exit(1);
48
+ });
49
+
@@ -0,0 +1,20 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "logging": {
4
+ "level": "info",
5
+ "file": "~/.needware/logs/cli.log"
6
+ },
7
+ "sdks": {
8
+ "example": {
9
+ "apiKey": "",
10
+ "endpoint": "https://api.example.com",
11
+ "timeout": 30000,
12
+ "retries": 3
13
+ }
14
+ },
15
+ "preferences": {
16
+ "colorOutput": true,
17
+ "interactive": true
18
+ }
19
+ }
20
+
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Agent 命令 - 使用 Claude Agent SDK 执行智能任务
3
+ */
4
+ import { Command } from '../core/command';
5
+ import { CommandOptions, CommandResult } from '../types';
6
+ import { Logger } from '../core/logger';
7
+ export declare class AgentCommand extends Command {
8
+ readonly name = "agent";
9
+ readonly description = "Execute AI agent tasks using Claude Agent SDK";
10
+ readonly aliases: string[];
11
+ constructor(logger: Logger);
12
+ execute(options: CommandOptions): Promise<CommandResult>;
13
+ /**
14
+ * 运行 Agent 查询
15
+ */
16
+ private runAgent;
17
+ /**
18
+ * 运行交互式 Agent 查询(多轮对话)
19
+ */
20
+ private runInteractiveAgent;
21
+ /**
22
+ * 创建消息流生成器
23
+ */
24
+ private createMessageStream;
25
+ /**
26
+ * 处理 Agent 消息
27
+ */
28
+ private handleAgentMessage;
29
+ /**
30
+ * 获取系统提示词
31
+ */
32
+ private getSystemPrompt;
33
+ /**
34
+ * 显示帮助信息
35
+ */
36
+ private showHelp;
37
+ }
38
+ //# sourceMappingURL=agent.d.ts.map