@h-ai/cli 0.1.0-alpha.53 → 0.1.0-alpha.55

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 (85) hide show
  1. package/README.md +18 -0
  2. package/dist/{chunk-U4PA632G.js → chunk-FVDXJYMO.js} +34 -67
  3. package/dist/chunk-FVDXJYMO.js.map +1 -0
  4. package/dist/cli-config-templates-WGN2I23J.js +5 -0
  5. package/dist/{cli-config-templates-GSXKLGU5.js.map → cli-config-templates-WGN2I23J.js.map} +1 -1
  6. package/dist/index.js +174 -105
  7. package/dist/index.js.map +1 -1
  8. package/dist/{src-QNEJJ3BV.js → src-6ZBWDBUB.js} +127 -87
  9. package/dist/{src-QNEJJ3BV.js.map → src-6ZBWDBUB.js.map} +1 -1
  10. package/package.json +13 -4
  11. package/templates/apps/api/apps/{{projectName}}-contract/package.json.hbs +1 -0
  12. package/templates/apps/api/apps/{{projectName}}-service/package.json.hbs +1 -0
  13. package/templates/apps/api/package.json.hbs +1 -0
  14. package/templates/apps/fullstack/apps/{{projectName}}-app/package.json.hbs +1 -0
  15. package/templates/apps/fullstack/apps/{{projectName}}-desktop/package.json.hbs +1 -0
  16. package/templates/apps/fullstack/apps/{{projectName}}-web/package.json.hbs +1 -0
  17. package/templates/apps/fullstack/package.json.hbs +1 -0
  18. package/templates/apps/fullstack/packages/{{projectName}}-contract/package.json.hbs +1 -0
  19. package/templates/apps/fullstack/packages/{{projectName}}-serv/package.json.hbs +1 -0
  20. package/templates/apps/fullstack/packages/{{projectName}}-shared/package.json.hbs +1 -0
  21. package/templates/base/eslint.config.js.hbs +1 -0
  22. package/templates/base/package.json.hbs +3 -1
  23. package/templates/skills/AGENTS.md +8 -22
  24. package/templates/skills/CLAUDE.md +3 -16
  25. package/templates/skills/bridges/admin/AGENTS.md +3 -16
  26. package/templates/skills/bridges/admin/CLAUDE.md +3 -11
  27. package/templates/skills/bridges/admin/copilot-instructions.md +2 -39
  28. package/templates/skills/bridges/api/AGENTS.md +5 -18
  29. package/templates/skills/bridges/api/CLAUDE.md +3 -11
  30. package/templates/skills/bridges/api/copilot-instructions.md +3 -38
  31. package/templates/skills/bridges/fullstack/AGENTS.md.hbs +24 -59
  32. package/templates/skills/bridges/fullstack/CLAUDE.md.hbs +1 -15
  33. package/templates/skills/bridges/fullstack/copilot-instructions.md.hbs +5 -45
  34. package/templates/skills/bridges/h5/AGENTS.md +4 -17
  35. package/templates/skills/bridges/h5/CLAUDE.md +3 -11
  36. package/templates/skills/bridges/h5/copilot-instructions.md +2 -37
  37. package/templates/skills/bridges/mobile-app/AGENTS.md +5 -18
  38. package/templates/skills/bridges/mobile-app/CLAUDE.md +3 -11
  39. package/templates/skills/bridges/mobile-app/copilot-instructions.md +2 -38
  40. package/templates/skills/bridges/website/AGENTS.md +4 -17
  41. package/templates/skills/bridges/website/CLAUDE.md +3 -11
  42. package/templates/skills/bridges/website/copilot-instructions.md +2 -37
  43. package/templates/skills/copilot-instructions.md +2 -36
  44. package/templates/skills/hai-ai/SKILL.md +35 -389
  45. package/templates/skills/hai-ai/guide.md +383 -0
  46. package/templates/skills/hai-ai/reference.md +6 -2
  47. package/templates/skills/hai-api-client/SKILL.md +6 -6
  48. package/templates/skills/hai-api-contract/SKILL.md +10 -25
  49. package/templates/skills/hai-app-create/SKILL.md +29 -388
  50. package/templates/skills/hai-app-create/reference.md +350 -0
  51. package/templates/skills/hai-app-review/SKILL.md +15 -23
  52. package/templates/skills/hai-app-tests/SKILL.md +29 -494
  53. package/templates/skills/hai-app-tests/reference.md +442 -0
  54. package/templates/skills/hai-audit/SKILL.md +6 -6
  55. package/templates/skills/hai-build/SKILL.md +19 -330
  56. package/templates/skills/hai-build/reference.md +326 -0
  57. package/templates/skills/hai-cache/SKILL.md +28 -31
  58. package/templates/skills/hai-capacitor/SKILL.md +19 -364
  59. package/templates/skills/hai-capacitor/reference.md +352 -0
  60. package/templates/skills/hai-ci/SKILL.md +17 -20
  61. package/templates/skills/hai-core/SKILL.md +25 -564
  62. package/templates/skills/hai-core/reference.md +533 -0
  63. package/templates/skills/hai-crypto/SKILL.md +8 -20
  64. package/templates/skills/hai-datapipe/SKILL.md +9 -23
  65. package/templates/skills/hai-deploy/SKILL.md +18 -24
  66. package/templates/skills/hai-framework-sync/SKILL.md +8 -20
  67. package/templates/skills/hai-iam/SKILL.md +27 -365
  68. package/templates/skills/hai-iam/reference.md +343 -0
  69. package/templates/skills/hai-kit/SKILL.md +6 -6
  70. package/templates/skills/hai-payment/SKILL.md +6 -26
  71. package/templates/skills/hai-pr-review/SKILL.md +6 -22
  72. package/templates/skills/hai-reach/SKILL.md +19 -317
  73. package/templates/skills/hai-reach/reference.md +303 -0
  74. package/templates/skills/hai-reldb/SKILL.md +19 -472
  75. package/templates/skills/hai-reldb/reference.md +452 -0
  76. package/templates/skills/hai-scheduler/SKILL.md +18 -6
  77. package/templates/skills/hai-serv/SKILL.md +27 -759
  78. package/templates/skills/hai-serv/reference.md +736 -0
  79. package/templates/skills/hai-storage/SKILL.md +7 -25
  80. package/templates/skills/hai-ui/SKILL.md +29 -621
  81. package/templates/skills/hai-ui/reference.md +598 -0
  82. package/templates/skills/hai-vecdb/SKILL.md +18 -303
  83. package/templates/skills/hai-vecdb/reference.md +291 -0
  84. package/dist/chunk-U4PA632G.js.map +0 -1
  85. package/dist/cli-config-templates-GSXKLGU5.js +0 -5
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: hai-storage
3
- description: 使用 @h-ai/storage 进行文件存储操作(本地/S3),包括 file/dir/presign 三组能力;当需求涉及文件上传下载、目录批量删除、S3 预签名 URL 或客户端直传时使用。
3
+ description: "使用 @h-ai/storage 访问本地/S3 文件、目录和预签名上传下载。"
4
4
  ---
5
5
 
6
6
  # hai-storage
@@ -9,22 +9,18 @@ description: 使用 @h-ai/storage 进行文件存储操作(本地/S3),包
9
9
 
10
10
  | 项目 | 契约 |
11
11
  | --- | --- |
12
- | 能力 | 使用 @h-ai/storage 进行文件存储操作(本地/S3),包括 file/dir/presign 三组能力;当需求涉及文件上传下载、目录批量删除、S3 预签名 URL 或客户端直传时使用。 |
13
- | 适用场景 | 当任务与 `hai-storage` 的能力描述匹配,并且需要遵循本 Skill 的流程和边界时 |
14
- | 输入 | 模块配置、类型化业务参数、依赖初始化状态和目标运行环境 |
15
- | 输出 | 符合模块公共 API 的实现或示例;业务结果使用 HaiResult,并同步必要测试与文档 |
16
- | 限制 | 遵守 init → use → close 生命周期与运行环境边界;不绕过类型、授权、输入校验或敏感信息保护 |
12
+ | 能力 | 使用 @h-ai/storage 访问本地/S3 文件、目录和预签名上传下载 |
13
+ | 适用场景 | 文件接口、目录操作或浏览器直传 |
14
+ | 输入 | StorageConfigInput、文件 key、内容、presign 选项 |
15
+ | 输出 | file/dir/presign 操作的 HaiResult |
16
+ | 限制 | 仅服务端;浏览器经 API/预签名 URL。Local list 非真分页;putUrl 不提供 maxSize 强制约束,上传大小须服务端验证。 |
17
17
 
18
18
  > `@h-ai/storage` 提供统一文件存储接口,支持本地文件系统(LocalProvider)和 S3 兼容存储(S3Provider),通过 `storage.file`、`storage.dir`、`storage.presign` 三组接口访问能力。
19
19
 
20
- ---
21
-
22
20
  ## 运行环境
23
21
 
24
22
  > ⚠️ **服务端模块**。`storage.file` / `storage.dir` / `storage.presign` 均在 Node.js 端使用。浏览器端通过预签名 URL 或 API 端点间接访问存储(见下方「浏览器端文件上传」)。
25
23
 
26
- ---
27
-
28
24
  ## 适用场景
29
25
 
30
26
  - 文件上传与下载
@@ -33,8 +29,6 @@ description: 使用 @h-ai/storage 进行文件存储操作(本地/S3),包
33
29
  - 本地开发文件存储
34
30
  - 目录前缀清理与批量文件删除
35
31
 
36
- ---
37
-
38
32
  ## 使用步骤
39
33
 
40
34
  ### 1. 配置
@@ -80,8 +74,6 @@ if (!closeResult.success) {
80
74
 
81
75
  > `storage.config` 返回的是**脱敏配置快照**;S3 的 `accessKeyId` / `secretAccessKey` 等敏感字段会被替换为 `[REDACTED]`。
82
76
 
83
- ---
84
-
85
77
  ## 核心 API
86
78
 
87
79
  ### 文件操作
@@ -133,8 +125,6 @@ const downloadUrl = await storage.presign.getUrl('uploads/doc.pdf', {
133
125
 
134
126
  > `storage.presign.putUrl()` 当前不支持 `maxSize` 约束参数;如需大小限制,请在应用层上传前校验,或在服务端落库/回调处二次校验。
135
127
 
136
- ---
137
-
138
128
  ## 错误码 — `HaiStorageError`
139
129
 
140
130
  | 错误码 | code | 说明 |
@@ -155,8 +145,6 @@ const downloadUrl = await storage.presign.getUrl('uploads/doc.pdf', {
155
145
  | `HaiStorageError.UPLOAD_FAILED` | `hai:storage:014` | 上传失败 |
156
146
  | `HaiStorageError.DOWNLOAD_FAILED` | `hai:storage:015` | 下载失败 |
157
147
 
158
- ---
159
-
160
148
  ## HTTP API 契约
161
149
 
162
150
  公共 HTTP API 统一由 `@h-ai/api-contract` 提供,并由 `@h-ai/serv/features/storage` 绑定到本模块。
@@ -167,8 +155,6 @@ import { apiClient } from '@h-ai/api-client'
167
155
  const result = await apiClient.storage.presignedUrls.createUpload({ key: 'avatar.png' })
168
156
  ```
169
157
 
170
- ---
171
-
172
158
  ## 常见模式
173
159
 
174
160
  ### 与 kit 集成(文件上传 API)
@@ -184,7 +170,7 @@ const UploadSchema = z.object({
184
170
  })
185
171
 
186
172
  export const POST = kit.handler(async ({ request, locals }) => {
187
- kit.guard.requirePermission(locals.session, 'storage:write')
173
+ kit.guard.require(locals.session, 'storage:write')
188
174
  const formData = await request.formData()
189
175
  const file = formData.get('file') as File
190
176
  if (!file)
@@ -216,8 +202,6 @@ if (result.success) {
216
202
  }
217
203
  ```
218
204
 
219
- ---
220
-
221
205
  ## 浏览器端文件上传(预签名 URL 模式)
222
206
 
223
207
  浏览器端无法直接使用 `storage` 模块,应通过 API 获取预签名 URL 后直传:
@@ -255,8 +239,6 @@ if (result.success) {
255
239
  }
256
240
  ```
257
241
 
258
- ---
259
-
260
242
  ## 相关 Skills
261
243
 
262
244
  - `hai-build`:模块初始化顺序