@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.
Files changed (88) hide show
  1. package/README.md +46 -43
  2. package/dist/create-keystone-app.js +347 -10
  3. package/dist/create-module.js +1219 -607
  4. package/package.json +22 -23
  5. package/template/.claude/skills/keystone-implement/SKILL.md +113 -0
  6. package/template/.claude/skills/keystone-implement/references/CHECKLIST.md +91 -0
  7. package/template/.claude/skills/keystone-implement/references/PATTERNS.md +1088 -0
  8. package/template/.claude/skills/keystone-implement/references/SCHEMA.md +135 -0
  9. package/template/.claude/skills/keystone-implement/references/TESTING.md +231 -0
  10. package/template/.claude/skills/keystone-requirements/SKILL.md +296 -0
  11. package/template/.claude/skills/keystone-requirements/references/CONFIRM_TEMPLATE.md +170 -0
  12. package/template/.claude/skills/keystone-requirements/references/SCHEMA.md +135 -0
  13. package/template/.eslintrc.js +3 -0
  14. package/template/.github/workflows/ci.yml +30 -0
  15. package/template/.github/workflows/release.yml +32 -0
  16. package/template/.golangci.yml +11 -0
  17. package/template/README.md +81 -73
  18. package/template/apps/server/README.md +8 -0
  19. package/template/apps/server/cmd/server/main.go +27 -185
  20. package/template/apps/server/config.example.yaml +31 -1
  21. package/template/apps/server/config.yaml +31 -1
  22. package/template/apps/server/go.mod +60 -18
  23. package/template/apps/server/go.sum +183 -31
  24. package/template/apps/server/internal/frontend/embed.go +3 -8
  25. package/template/apps/server/internal/modules/example/README.md +18 -0
  26. package/template/apps/server/internal/modules/example/api/handler/handler_test.go +9 -0
  27. package/template/apps/server/internal/modules/example/api/handler/item_handler.go +468 -165
  28. package/template/apps/server/internal/modules/example/bootstrap/seeds/item.go +217 -8
  29. package/template/apps/server/internal/modules/example/domain/models/item.go +40 -7
  30. package/template/apps/server/internal/modules/example/domain/service/approval_callback.go +68 -0
  31. package/template/apps/server/internal/modules/example/domain/service/approval_schema.go +41 -0
  32. package/template/apps/server/internal/modules/example/domain/service/errors.go +20 -22
  33. package/template/apps/server/internal/modules/example/domain/service/item_service.go +267 -7
  34. package/template/apps/server/internal/modules/example/domain/service/item_service_test.go +281 -0
  35. package/template/apps/server/internal/modules/example/i18n/keys.go +32 -20
  36. package/template/apps/server/internal/modules/example/i18n/locales/en-US.json +30 -18
  37. package/template/apps/server/internal/modules/example/i18n/locales/zh-CN.json +30 -18
  38. package/template/apps/server/internal/modules/example/infra/exporter/item_exporter.go +119 -0
  39. package/template/apps/server/internal/modules/example/infra/importer/item_importer.go +77 -0
  40. package/template/apps/server/internal/modules/example/infra/repository/item_repository.go +99 -49
  41. package/template/apps/server/internal/modules/example/module.go +171 -97
  42. package/template/apps/server/internal/modules/example/tests/integration_test.go +7 -0
  43. package/template/apps/server/internal/modules/manifest.go +7 -7
  44. package/template/apps/web/README.md +4 -2
  45. package/template/apps/web/package.json +1 -1
  46. package/template/apps/web/src/app.config.ts +8 -6
  47. package/template/apps/web/src/index.css +7 -3
  48. package/template/apps/web/src/main.tsx +2 -5
  49. package/template/apps/web/src/modules/example/help/en-US/faq.md +27 -0
  50. package/template/apps/web/src/modules/example/help/en-US/items.md +30 -0
  51. package/template/apps/web/src/modules/example/help/en-US/overview.md +31 -0
  52. package/template/apps/web/src/modules/example/help/zh-CN/faq.md +27 -0
  53. package/template/apps/web/src/modules/example/help/zh-CN/items.md +31 -0
  54. package/template/apps/web/src/modules/example/help/zh-CN/overview.md +32 -0
  55. package/template/apps/web/src/modules/example/locales/en-US/example.json +99 -32
  56. package/template/apps/web/src/modules/example/locales/zh-CN/example.json +85 -18
  57. package/template/apps/web/src/modules/example/pages/ExampleItemsPage.tsx +840 -237
  58. package/template/apps/web/src/modules/example/services/exampleItems.ts +79 -8
  59. package/template/apps/web/src/modules/example/types.ts +14 -1
  60. package/template/apps/web/src/modules/index.ts +1 -0
  61. package/template/apps/web/vite.config.ts +9 -3
  62. package/template/docs/CONVENTIONS.md +10 -7
  63. package/template/package.json +4 -5
  64. package/template/pnpm-lock.yaml +76 -5
  65. package/template/scripts/build.bat +15 -3
  66. package/template/scripts/build.sh +9 -3
  67. package/template/scripts/check-help.js +249 -0
  68. package/template/scripts/compress-assets.js +89 -0
  69. package/template/scripts/test.bat +23 -0
  70. package/template/scripts/test.sh +16 -0
  71. package/template/.claude/skills/keystone-dev/SKILL.md +0 -103
  72. package/template/.claude/skills/keystone-dev/references/APPROVAL.md +0 -121
  73. package/template/.claude/skills/keystone-dev/references/CAPABILITIES.md +0 -261
  74. package/template/.claude/skills/keystone-dev/references/TEMPLATES.md +0 -532
  75. package/template/.claude/skills/keystone-dev/references/TESTING.md +0 -44
  76. package/template/.codex/skills/keystone-dev/SKILL.md +0 -103
  77. package/template/.codex/skills/keystone-dev/references/APPROVAL.md +0 -121
  78. package/template/.codex/skills/keystone-dev/references/CAPABILITIES.md +0 -261
  79. package/template/.codex/skills/keystone-dev/references/TEMPLATES.md +0 -532
  80. package/template/.codex/skills/keystone-dev/references/TESTING.md +0 -44
  81. package/template/apps/server/internal/app/routes/module_routes.go +0 -16
  82. package/template/apps/server/internal/app/routes/routes.go +0 -226
  83. package/template/apps/server/internal/app/startup/startup.go +0 -74
  84. package/template/apps/server/internal/frontend/handler.go +0 -122
  85. package/template/apps/server/internal/modules/registry.go +0 -145
  86. package/template/apps/web/src/modules/example/help/faq.md +0 -23
  87. package/template/apps/web/src/modules/example/help/items.md +0 -26
  88. 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
- "name": "Name",
11
- "description": "Description",
12
- "status": "Status",
13
- "createdAt": "Created At",
14
- "actions": "Actions"
15
- },
16
- "form": {
17
- "nameLabel": "Name",
18
- "namePlaceholder": "Enter name",
19
- "descriptionLabel": "Description",
20
- "descriptionPlaceholder": "Enter description"
21
- },
22
- "messages": {
23
- "createSuccess": "Created successfully",
24
- "updateSuccess": "Updated successfully",
25
- "deleteSuccess": "Deleted successfully",
26
- "loadFailed": "Failed to load"
27
- },
28
- "status": {
29
- "active": "Active",
30
- "inactive": "Inactive"
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
- "name": "名称",
11
- "description": "描述",
10
+ "number": "编号",
11
+ "name": "标题",
12
+ "category": "类别",
13
+ "amount": "金额",
12
14
  "status": "状态",
13
- "createdAt": "创建时间",
14
- "actions": "操作"
15
+ "approvalStatus": "审批状态",
16
+ "attachment": "附件"
15
17
  },
16
18
  "form": {
17
- "nameLabel": "名称",
18
- "namePlaceholder": "请输入名称",
19
+ "nameLabel": "标题",
20
+ "namePlaceholder": "请输入标题",
19
21
  "descriptionLabel": "描述",
20
- "descriptionPlaceholder": "请输入描述"
21
- },
22
- "messages": {
23
- "createSuccess": "创建成功",
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
- "active": "启用",
30
- "inactive": "停用"
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
  }