@robsun/create-keystone-app 0.2.13 → 0.4.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.
- package/README.md +46 -43
- package/dist/create-keystone-app.js +347 -10
- package/dist/create-module.js +1219 -607
- package/package.json +22 -23
- package/template/.claude/skills/keystone-implement/SKILL.md +113 -0
- package/template/.claude/skills/keystone-implement/references/CHECKLIST.md +91 -0
- package/template/.claude/skills/keystone-implement/references/PATTERNS.md +1088 -0
- package/template/.claude/skills/keystone-implement/references/SCHEMA.md +135 -0
- package/template/.claude/skills/keystone-implement/references/TESTING.md +231 -0
- package/template/.claude/skills/keystone-requirements/SKILL.md +296 -0
- package/template/.claude/skills/keystone-requirements/references/CONFIRM_TEMPLATE.md +170 -0
- package/template/.claude/skills/keystone-requirements/references/SCHEMA.md +135 -0
- package/template/.eslintrc.js +3 -0
- package/template/.github/workflows/ci.yml +30 -0
- package/template/.github/workflows/release.yml +32 -0
- package/template/.golangci.yml +11 -0
- package/template/README.md +81 -73
- package/template/apps/server/README.md +8 -0
- package/template/apps/server/cmd/server/main.go +27 -185
- package/template/apps/server/config.example.yaml +31 -1
- package/template/apps/server/config.yaml +31 -1
- package/template/apps/server/go.mod +60 -18
- package/template/apps/server/go.sum +183 -31
- package/template/apps/server/internal/frontend/embed.go +3 -8
- package/template/apps/server/internal/modules/example/README.md +18 -0
- package/template/apps/server/internal/modules/example/api/handler/handler_test.go +9 -0
- package/template/apps/server/internal/modules/example/api/handler/item_handler.go +468 -165
- package/template/apps/server/internal/modules/example/bootstrap/seeds/item.go +217 -8
- package/template/apps/server/internal/modules/example/domain/models/item.go +40 -7
- package/template/apps/server/internal/modules/example/domain/service/approval_callback.go +68 -0
- package/template/apps/server/internal/modules/example/domain/service/approval_schema.go +41 -0
- package/template/apps/server/internal/modules/example/domain/service/errors.go +20 -22
- package/template/apps/server/internal/modules/example/domain/service/item_service.go +267 -7
- package/template/apps/server/internal/modules/example/domain/service/item_service_test.go +281 -0
- package/template/apps/server/internal/modules/example/i18n/keys.go +32 -20
- package/template/apps/server/internal/modules/example/i18n/locales/en-US.json +30 -18
- package/template/apps/server/internal/modules/example/i18n/locales/zh-CN.json +30 -18
- package/template/apps/server/internal/modules/example/infra/exporter/item_exporter.go +119 -0
- package/template/apps/server/internal/modules/example/infra/importer/item_importer.go +77 -0
- package/template/apps/server/internal/modules/example/infra/repository/item_repository.go +99 -49
- package/template/apps/server/internal/modules/example/module.go +171 -97
- package/template/apps/server/internal/modules/example/tests/integration_test.go +7 -0
- package/template/apps/server/internal/modules/manifest.go +7 -7
- package/template/apps/web/README.md +4 -2
- package/template/apps/web/package.json +1 -1
- package/template/apps/web/src/app.config.ts +8 -6
- package/template/apps/web/src/index.css +7 -3
- package/template/apps/web/src/main.tsx +2 -5
- package/template/apps/web/src/modules/example/help/en-US/faq.md +27 -0
- package/template/apps/web/src/modules/example/help/en-US/items.md +30 -0
- package/template/apps/web/src/modules/example/help/en-US/overview.md +31 -0
- package/template/apps/web/src/modules/example/help/zh-CN/faq.md +27 -0
- package/template/apps/web/src/modules/example/help/zh-CN/items.md +31 -0
- package/template/apps/web/src/modules/example/help/zh-CN/overview.md +32 -0
- package/template/apps/web/src/modules/example/locales/en-US/example.json +99 -32
- package/template/apps/web/src/modules/example/locales/zh-CN/example.json +85 -18
- package/template/apps/web/src/modules/example/pages/ExampleItemsPage.tsx +840 -237
- package/template/apps/web/src/modules/example/services/exampleItems.ts +79 -8
- package/template/apps/web/src/modules/example/types.ts +14 -1
- package/template/apps/web/src/modules/index.ts +1 -0
- package/template/apps/web/vite.config.ts +9 -3
- package/template/docs/CONVENTIONS.md +10 -7
- package/template/package.json +4 -5
- package/template/pnpm-lock.yaml +76 -5
- package/template/scripts/build.bat +15 -3
- package/template/scripts/build.sh +9 -3
- package/template/scripts/check-help.js +249 -0
- package/template/scripts/compress-assets.js +89 -0
- package/template/scripts/test.bat +23 -0
- package/template/scripts/test.sh +16 -0
- package/template/.claude/skills/keystone-dev/SKILL.md +0 -103
- package/template/.claude/skills/keystone-dev/references/APPROVAL.md +0 -121
- package/template/.claude/skills/keystone-dev/references/CAPABILITIES.md +0 -261
- package/template/.claude/skills/keystone-dev/references/TEMPLATES.md +0 -532
- package/template/.claude/skills/keystone-dev/references/TESTING.md +0 -44
- package/template/.codex/skills/keystone-dev/SKILL.md +0 -103
- package/template/.codex/skills/keystone-dev/references/APPROVAL.md +0 -121
- package/template/.codex/skills/keystone-dev/references/CAPABILITIES.md +0 -261
- package/template/.codex/skills/keystone-dev/references/TEMPLATES.md +0 -532
- package/template/.codex/skills/keystone-dev/references/TESTING.md +0 -44
- package/template/apps/server/internal/app/routes/module_routes.go +0 -16
- package/template/apps/server/internal/app/routes/routes.go +0 -226
- package/template/apps/server/internal/app/startup/startup.go +0 -74
- package/template/apps/server/internal/frontend/handler.go +0 -122
- package/template/apps/server/internal/modules/registry.go +0 -145
- package/template/apps/web/src/modules/example/help/faq.md +0 -23
- package/template/apps/web/src/modules/example/help/items.md +0 -26
- package/template/apps/web/src/modules/example/help/overview.md +0 -25
|
@@ -1,32 +1,99 @@
|
|
|
1
|
-
{
|
|
2
|
-
"menu": {
|
|
3
|
-
"items": "Example Items"
|
|
4
|
-
},
|
|
5
|
-
"page": {
|
|
6
|
-
"title": "Example Items",
|
|
7
|
-
"createButton": "Create Item"
|
|
8
|
-
},
|
|
9
|
-
"table": {
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
{
|
|
2
|
+
"menu": {
|
|
3
|
+
"items": "Example Items"
|
|
4
|
+
},
|
|
5
|
+
"page": {
|
|
6
|
+
"title": "Example Items",
|
|
7
|
+
"createButton": "Create Item"
|
|
8
|
+
},
|
|
9
|
+
"table": {
|
|
10
|
+
"number": "Number",
|
|
11
|
+
"name": "Title",
|
|
12
|
+
"category": "Category",
|
|
13
|
+
"amount": "Amount",
|
|
14
|
+
"status": "Status",
|
|
15
|
+
"approvalStatus": "Approval",
|
|
16
|
+
"attachment": "Attachment"
|
|
17
|
+
},
|
|
18
|
+
"form": {
|
|
19
|
+
"nameLabel": "Title",
|
|
20
|
+
"namePlaceholder": "Enter title",
|
|
21
|
+
"descriptionLabel": "Description",
|
|
22
|
+
"descriptionPlaceholder": "Enter description",
|
|
23
|
+
"categoryLabel": "Category",
|
|
24
|
+
"amountLabel": "Amount",
|
|
25
|
+
"attachmentLabel": "Attachment"
|
|
26
|
+
},
|
|
27
|
+
"messages": {
|
|
28
|
+
"createSuccess": "Created successfully",
|
|
29
|
+
"updateSuccess": "Updated successfully",
|
|
30
|
+
"deleteSuccess": "Deleted successfully",
|
|
31
|
+
"submitSuccess": "Submitted for approval",
|
|
32
|
+
"cancelSuccess": "Approval cancelled",
|
|
33
|
+
"approveSuccess": "Approved successfully",
|
|
34
|
+
"rejectSuccess": "Rejected successfully",
|
|
35
|
+
"importSuccess": "Import completed",
|
|
36
|
+
"exportSuccess": "Export requested",
|
|
37
|
+
"downloadFailed": "Failed to download attachment",
|
|
38
|
+
"loadFailed": "Failed to load items",
|
|
39
|
+
"approvalLoadFailed": "Failed to load approval details"
|
|
40
|
+
},
|
|
41
|
+
"status": {
|
|
42
|
+
"draft": "Draft",
|
|
43
|
+
"pending": "Pending",
|
|
44
|
+
"approved": "Approved",
|
|
45
|
+
"rejected": "Rejected",
|
|
46
|
+
"cancelled": "Cancelled"
|
|
47
|
+
},
|
|
48
|
+
"approval": {
|
|
49
|
+
"pending": "Pending",
|
|
50
|
+
"approved": "Approved",
|
|
51
|
+
"rejected": "Rejected",
|
|
52
|
+
"cancelled": "Cancelled",
|
|
53
|
+
"title": "Approval",
|
|
54
|
+
"itemNumber": "Item",
|
|
55
|
+
"status": "Approval Status",
|
|
56
|
+
"currentNode": "Current Node",
|
|
57
|
+
"history": "History"
|
|
58
|
+
},
|
|
59
|
+
"category": {
|
|
60
|
+
"general": "General",
|
|
61
|
+
"operations": "Operations",
|
|
62
|
+
"finance": "Finance",
|
|
63
|
+
"growth": "Growth"
|
|
64
|
+
},
|
|
65
|
+
"filters": {
|
|
66
|
+
"keyword": "Keyword",
|
|
67
|
+
"keywordPlaceholder": "Search title or number",
|
|
68
|
+
"status": "Status",
|
|
69
|
+
"approvalStatus": "Approval Status",
|
|
70
|
+
"category": "Category",
|
|
71
|
+
"createdAt": "Created At"
|
|
72
|
+
},
|
|
73
|
+
"actions": {
|
|
74
|
+
"submit": "Submit",
|
|
75
|
+
"cancelApproval": "Cancel Approval",
|
|
76
|
+
"viewApproval": "View Approval",
|
|
77
|
+
"import": "Import",
|
|
78
|
+
"export": "Export",
|
|
79
|
+
"exportPdf": "Export PDF"
|
|
80
|
+
},
|
|
81
|
+
"confirm": {
|
|
82
|
+
"submit": "Submit this item for approval?",
|
|
83
|
+
"cancel": "Cancel this approval?"
|
|
84
|
+
},
|
|
85
|
+
"import": {
|
|
86
|
+
"title": "Import Example Items",
|
|
87
|
+
"types": {
|
|
88
|
+
"items": "Example Items",
|
|
89
|
+
"itemsDescription": "Import items with title, category, amount, and status."
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"export": {
|
|
93
|
+
"title": "Export Example Items",
|
|
94
|
+
"types": {
|
|
95
|
+
"items": "Example Items",
|
|
96
|
+
"itemsDescription": "Export filtered items to a spreadsheet."
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -1,32 +1,99 @@
|
|
|
1
1
|
{
|
|
2
2
|
"menu": {
|
|
3
|
-
"items": "
|
|
3
|
+
"items": "示例事项"
|
|
4
4
|
},
|
|
5
5
|
"page": {
|
|
6
|
-
"title": "
|
|
7
|
-
"createButton": "
|
|
6
|
+
"title": "示例事项",
|
|
7
|
+
"createButton": "新建事项"
|
|
8
8
|
},
|
|
9
9
|
"table": {
|
|
10
|
-
"
|
|
11
|
-
"
|
|
10
|
+
"number": "编号",
|
|
11
|
+
"name": "标题",
|
|
12
|
+
"category": "类别",
|
|
13
|
+
"amount": "金额",
|
|
12
14
|
"status": "状态",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
+
"approvalStatus": "审批状态",
|
|
16
|
+
"attachment": "附件"
|
|
15
17
|
},
|
|
16
18
|
"form": {
|
|
17
|
-
"nameLabel": "
|
|
18
|
-
"namePlaceholder": "
|
|
19
|
+
"nameLabel": "标题",
|
|
20
|
+
"namePlaceholder": "请输入标题",
|
|
19
21
|
"descriptionLabel": "描述",
|
|
20
|
-
"descriptionPlaceholder": "请输入描述"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
"updateSuccess": "更新成功",
|
|
25
|
-
"deleteSuccess": "删除成功",
|
|
26
|
-
"loadFailed": "加载失败"
|
|
22
|
+
"descriptionPlaceholder": "请输入描述",
|
|
23
|
+
"categoryLabel": "类别",
|
|
24
|
+
"amountLabel": "金额",
|
|
25
|
+
"attachmentLabel": "附件"
|
|
27
26
|
},
|
|
27
|
+
"messages": {
|
|
28
|
+
"createSuccess": "创建成功",
|
|
29
|
+
"updateSuccess": "更新成功",
|
|
30
|
+
"deleteSuccess": "删除成功",
|
|
31
|
+
"submitSuccess": "已提交审批",
|
|
32
|
+
"cancelSuccess": "已取消审批",
|
|
33
|
+
"approveSuccess": "审批通过",
|
|
34
|
+
"rejectSuccess": "审批驳回",
|
|
35
|
+
"importSuccess": "导入完成",
|
|
36
|
+
"exportSuccess": "导出任务已提交",
|
|
37
|
+
"downloadFailed": "附件下载失败",
|
|
38
|
+
"loadFailed": "加载失败",
|
|
39
|
+
"approvalLoadFailed": "审批信息加载失败"
|
|
40
|
+
},
|
|
28
41
|
"status": {
|
|
29
|
-
"
|
|
30
|
-
"
|
|
42
|
+
"draft": "草稿",
|
|
43
|
+
"pending": "审批中",
|
|
44
|
+
"approved": "已批准",
|
|
45
|
+
"rejected": "已驳回",
|
|
46
|
+
"cancelled": "已取消"
|
|
47
|
+
},
|
|
48
|
+
"approval": {
|
|
49
|
+
"pending": "待审批",
|
|
50
|
+
"approved": "已通过",
|
|
51
|
+
"rejected": "已驳回",
|
|
52
|
+
"cancelled": "已取消",
|
|
53
|
+
"title": "审批详情",
|
|
54
|
+
"itemNumber": "事项",
|
|
55
|
+
"status": "审批状态",
|
|
56
|
+
"currentNode": "当前节点",
|
|
57
|
+
"history": "审批记录"
|
|
58
|
+
},
|
|
59
|
+
"category": {
|
|
60
|
+
"general": "通用",
|
|
61
|
+
"operations": "运营",
|
|
62
|
+
"finance": "财务",
|
|
63
|
+
"growth": "增长"
|
|
64
|
+
},
|
|
65
|
+
"filters": {
|
|
66
|
+
"keyword": "关键词",
|
|
67
|
+
"keywordPlaceholder": "搜索标题或编号",
|
|
68
|
+
"status": "状态",
|
|
69
|
+
"approvalStatus": "审批状态",
|
|
70
|
+
"category": "类别",
|
|
71
|
+
"createdAt": "创建时间"
|
|
72
|
+
},
|
|
73
|
+
"actions": {
|
|
74
|
+
"submit": "提交审批",
|
|
75
|
+
"cancelApproval": "取消审批",
|
|
76
|
+
"viewApproval": "查看审批",
|
|
77
|
+
"import": "导入",
|
|
78
|
+
"export": "导出",
|
|
79
|
+
"exportPdf": "导出 PDF"
|
|
80
|
+
},
|
|
81
|
+
"confirm": {
|
|
82
|
+
"submit": "确认提交审批?",
|
|
83
|
+
"cancel": "确认取消审批?"
|
|
84
|
+
},
|
|
85
|
+
"import": {
|
|
86
|
+
"title": "导入示例事项",
|
|
87
|
+
"types": {
|
|
88
|
+
"items": "示例事项",
|
|
89
|
+
"itemsDescription": "导入包含标题、类别、金额和状态的事项"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"export": {
|
|
93
|
+
"title": "导出示例事项",
|
|
94
|
+
"types": {
|
|
95
|
+
"items": "示例事项",
|
|
96
|
+
"itemsDescription": "导出筛选后的事项列表"
|
|
97
|
+
}
|
|
31
98
|
}
|
|
32
99
|
}
|