auto-gen-crud 0.1.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 (62) hide show
  1. package/API.md +130 -0
  2. package/README.md +234 -0
  3. package/dist/adapters/ant-design-vue.d.ts +8 -0
  4. package/dist/adapters/element-plus.d.ts +8 -0
  5. package/dist/adapters/index.d.ts +4 -0
  6. package/dist/adapters/index.js +7 -0
  7. package/dist/adapters/index.js.map +1 -0
  8. package/dist/adapters/naive.d.ts +8 -0
  9. package/dist/adapters/types.d.ts +162 -0
  10. package/dist/components/AutoCrud.vue.d.ts +398 -0
  11. package/dist/components/CopyText.vue.d.ts +6 -0
  12. package/dist/components/CrudModal.vue.d.ts +47 -0
  13. package/dist/components/DecodeText.vue.d.ts +8 -0
  14. package/dist/components/DynamicForm.vue.d.ts +63 -0
  15. package/dist/components/DynamicFormItem.vue.d.ts +20 -0
  16. package/dist/components/DynamicTable.vue.d.ts +30 -0
  17. package/dist/context.d.ts +36 -0
  18. package/dist/core/date-format-utils.d.ts +8 -0
  19. package/dist/core/form-runtime-cache.d.ts +27 -0
  20. package/dist/core/form-utils.d.ts +51 -0
  21. package/dist/core/object-utils.d.ts +43 -0
  22. package/dist/core/table-utils.d.ts +19 -0
  23. package/dist/core/types.d.ts +443 -0
  24. package/dist/generator/fields.d.ts +27 -0
  25. package/dist/generator/index.d.ts +14 -0
  26. package/dist/generator/index.js +740 -0
  27. package/dist/generator/index.js.map +1 -0
  28. package/dist/generator/openapi.d.ts +10 -0
  29. package/dist/generator/operations.d.ts +8 -0
  30. package/dist/generator/schema.d.ts +32 -0
  31. package/dist/generator/string-utils.d.ts +11 -0
  32. package/dist/generator/templates.d.ts +6 -0
  33. package/dist/generator/types.d.ts +185 -0
  34. package/dist/generator/writer.d.ts +8 -0
  35. package/dist/hooks/index.d.ts +3 -0
  36. package/dist/hooks/index.js +7 -0
  37. package/dist/hooks/index.js.map +1 -0
  38. package/dist/hooks/useModalForm.d.ts +11 -0
  39. package/dist/hooks/useSearchForm.d.ts +10 -0
  40. package/dist/hooks/useTable.d.ts +11 -0
  41. package/dist/index-Dc-solHn.js +299 -0
  42. package/dist/index-Dc-solHn.js.map +1 -0
  43. package/dist/index.d.ts +12 -0
  44. package/dist/index.js +985 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/plugin.d.ts +17 -0
  47. package/dist/style.css +1 -0
  48. package/dist/useTable-BwDSqD1q.js +214 -0
  49. package/dist/useTable-BwDSqD1q.js.map +1 -0
  50. package/dist/utils/clipboard.d.ts +16 -0
  51. package/dist/utils/index.d.ts +4 -0
  52. package/dist/utils/index.js +532 -0
  53. package/dist/utils/index.js.map +1 -0
  54. package/dist/utils/message.d.ts +9 -0
  55. package/dist/utils/request.d.ts +8 -0
  56. package/dist/utils/sm4-core.d.ts +12 -0
  57. package/dist/utils/sm4.d.ts +29 -0
  58. package/docs/AI_AGENT_GUIDE.md +210 -0
  59. package/mcp/auto-crud-mcp.mjs +502 -0
  60. package/mcp/auto-gen-crud-mcp.mjs +586 -0
  61. package/package.json +93 -0
  62. package/skills/auto-gen-crud-agent/SKILL.md +114 -0
@@ -0,0 +1,114 @@
1
+ ---
2
+ name: auto-gen-crud-agent
3
+ description: Build and modify Vue CRUD pages with auto-gen-crud and its OpenAPI generator. Use when Codex or a VSCode AI agent needs to generate CRUD pages, wire search/table/modal configs, adapt request calls, query auto-gen-crud MCP tools, or follow this project's CRUD page conventions. 也适用于“生成 CRUD 页面”“根据 OpenAPI 生成页面”“使用 auto-gen-crud”“接入 CRUD agent”“配置 searchForm/table/modalForm”等中文需求。
4
+ ---
5
+
6
+ # auto-gen-crud Agent Skill
7
+
8
+ 当任务是创建、修改或二开基于 `auto-gen-crud` 的 CRUD 页面时,使用这个 skill。
9
+
10
+ ## 核心工作流
11
+
12
+ 1. 动手前先读取目标项目:
13
+ - 包依赖和当前使用的 UI 库。
14
+ - 已有 CRUD 页面写法。
15
+ - `request` / `http` 工具函数签名。
16
+ - 路由、页面目录和命名规范。
17
+ 2. 如果有 OpenAPI / Apifox 文档或者链接,优先使用 `auto-gen-crud/generator` 生成初始化页面。
18
+ 3. 如果没有可靠接口文档,再手写 `AutoCrud` + hooks 页面。
19
+ 4. 生成代码要保持清晰、可读、方便业务继续二开。
20
+ 5. 修改完成后执行目标项目已有的 type-check、build、lint 或 generator test。
21
+
22
+ ## 页面结构规则
23
+
24
+ 优先使用这种目录结构:
25
+
26
+ ```text
27
+ src/views/ExamplePage/
28
+ ├── index.vue
29
+ ├── api/
30
+ │ ├── index.ts
31
+ │ └── types.ts
32
+ └── config/
33
+ ├── enums.ts
34
+ ├── searchForm.ts
35
+ ├── table.ts
36
+ └── modalForm.ts
37
+ ```
38
+
39
+ 职责边界:
40
+
41
+ - `index.vue`:页面编排、请求流程、跨模块动作、`pageContext`。
42
+ - `api/index.ts`:当前页面 API 函数。
43
+ - `api/types.ts`:当前页面局部类型。
44
+ - `config/searchForm.ts`:只描述搜索字段。
45
+ - `config/table.ts`:只描述表格列和行操作。
46
+ - `config/modalForm.ts`:只描述新增、编辑、查看弹窗字段。
47
+ - `config/enums.ts`:枚举映射和可选的选项数组。
48
+
49
+ ## 生成器规则
50
+
51
+ 使用:
52
+
53
+ ```ts
54
+ import { generateCrudPage } from "auto-gen-crud/generator";
55
+ ```
56
+
57
+ 推荐默认值:
58
+
59
+ - `pageContext` 默认保持空对象:`reactive<PageContextType>({})`。
60
+ - `getDataList` 直接透传 `...searchForm.data`。
61
+ - 枚举文件默认生成 `TypeTextMap`。
62
+ - 只有用户明确需要 `TypeOptions` 数组选项时,才设置 `generateTypeOptions: true`。
63
+ - 除非用户明确要求覆盖,否则保持 `overwrite: false`。
64
+ - `maxRetries` 不能超过 `5`。
65
+
66
+ 适配请求函数时,优先使用 `requestAdapter`,不要先生成错误代码再手动大面积改产物。
67
+
68
+ ## 手写页面规则
69
+
70
+ 使用这些导入:
71
+
72
+ ```ts
73
+ import { AutoCrud, useModalForm, useSearchForm, useTable } from "auto-gen-crud";
74
+ ```
75
+
76
+ 使用中立 schema 字段:
77
+
78
+ - 表单字段:`label`、`prop`、`component`、`options`、`required`、`show`、`disabled`、`props`、`render`
79
+ - 表格列:`title`、`field`、`actions`、`copy`、`decode`、`image`、`dateTime`、`render`
80
+
81
+ 除非项目已有明确 adapter 规则,否则不要生成 UI 库强绑定 schema。
82
+
83
+ ## MCP 使用建议
84
+
85
+ 如果 agent 环境里有 MCP 工具,优先查询工具,不要靠猜:
86
+
87
+ - `vac_get_agent_guide`
88
+ - `vac_get_generator_reference`
89
+ - `vac_get_api_reference`
90
+ - `vac_list_schema_fields`
91
+ - `vac_search_docs`
92
+
93
+ MCP server 启动方式:
94
+
95
+ ```bash
96
+ node node_modules/auto-gen-crud/mcp/auto-gen-crud-mcp.mjs
97
+ ```
98
+
99
+ 全局安装后也可以:
100
+
101
+ ```bash
102
+ auto-gen-crud-mcp
103
+ ```
104
+
105
+ ## 完成前检查清单
106
+
107
+ 结束前必须检查:
108
+
109
+ - 生成的 import 能解析。
110
+ - `AutoCrud` 正确接收 `searchForm`、`table`、`modalForm`。
111
+ - `getDataList` 按当前 hook 风格正确更新或返回表格数据。
112
+ - 枚举字段默认使用 `TextMap`,除非用户明确要求 `TypeOptions`。
113
+ - 页面业务问题不要绕到组件包里做 workaround。
114
+ - 如果项目提供 type-check / build / lint,执行对应校验。