ai-engineering-init 1.4.3 → 1.6.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/.cursor/skills/bug-detective/SKILL.md +19 -19
- package/.cursor/skills/project-navigator/SKILL.md +164 -258
- package/README.md +20 -236
- package/bin/index.js +437 -7
- package/package.json +7 -1
- package/scripts/build-skills.js +180 -0
- package/src/platform-map.json +56 -0
- package/src/skills/add-skill/SKILL.md +488 -0
- package/src/skills/add-todo/SKILL.md +269 -0
- package/src/skills/api-development/SKILL.md +266 -0
- package/src/skills/architecture-design/SKILL.md +262 -0
- package/src/skills/backend-annotations/SKILL.md +302 -0
- package/src/skills/banana-image/CHANGELOG.md +37 -0
- package/src/skills/banana-image/README.md +146 -0
- package/src/skills/banana-image/SKILL.md +171 -0
- package/src/skills/banana-image/assets/logo.png +0 -0
- package/src/skills/banana-image/references/advanced-usage.md +189 -0
- package/src/skills/banana-image/scripts/apply_template.py +125 -0
- package/src/skills/banana-image/scripts/banana_image_exec.ts +412 -0
- package/src/skills/banana-image/scripts/batch_prep.py +82 -0
- package/src/skills/banana-image/scripts/package-lock.json +1437 -0
- package/src/skills/banana-image/scripts/package.json +18 -0
- package/src/skills/banana-image/scripts/requirements.txt +10 -0
- package/src/skills/banana-image/templates/poster.json +22 -0
- package/src/skills/banana-image/templates/product.json +17 -0
- package/src/skills/banana-image/templates/social.json +22 -0
- package/src/skills/banana-image/templates/thumbnail.json +17 -0
- package/src/skills/brainstorm/SKILL.md +216 -0
- package/src/skills/bug-detective/SKILL.md +256 -0
- package/src/skills/bug-detective/references/error-patterns.md +242 -0
- package/src/skills/check/SKILL.md +367 -0
- package/src/skills/code-patterns/SKILL.md +280 -0
- package/src/skills/code-patterns/references/leniu-code-patterns.md +87 -0
- package/src/skills/codex-code-review/SKILL.md +135 -0
- package/src/skills/collaborating-with-codex/SKILL.md +174 -0
- package/src/skills/collaborating-with-codex/scripts/codex_bridge.py +275 -0
- package/src/skills/collaborating-with-gemini/SKILL.md +194 -0
- package/src/skills/collaborating-with-gemini/scripts/gemini_bridge.py +275 -0
- package/src/skills/crud/SKILL.md +265 -0
- package/src/skills/crud-development/SKILL.md +409 -0
- package/src/skills/data-permission/SKILL.md +292 -0
- package/src/skills/data-permission/references/custom-data-scope.md +90 -0
- package/src/skills/database-ops/SKILL.md +407 -0
- package/src/skills/dev/SKILL.md +187 -0
- package/src/skills/error-handler/SKILL.md +371 -0
- package/src/skills/file-oss-management/SKILL.md +255 -0
- package/src/skills/file-oss-management/references/entities.md +105 -0
- package/src/skills/file-oss-management/references/service-impl.md +104 -0
- package/src/skills/git-workflow/SKILL.md +397 -0
- package/src/skills/init-docs/SKILL.md +194 -0
- package/src/skills/json-serialization/SKILL.md +357 -0
- package/src/skills/leniu-api-development/SKILL.md +319 -0
- package/src/skills/leniu-api-development/references/real-examples.md +273 -0
- package/src/skills/leniu-architecture-design/SKILL.md +383 -0
- package/src/skills/leniu-backend-annotations/SKILL.md +277 -0
- package/src/skills/leniu-brainstorm/SKILL.md +242 -0
- package/src/skills/leniu-brainstorm/references/business-scenarios.md +162 -0
- package/src/skills/leniu-code-patterns/SKILL.md +411 -0
- package/src/skills/leniu-crud-development/SKILL.md +404 -0
- package/src/skills/leniu-crud-development/references/templates.md +597 -0
- package/src/skills/leniu-customization-location/SKILL.md +410 -0
- package/src/skills/leniu-data-permission/SKILL.md +341 -0
- package/src/skills/leniu-database-ops/SKILL.md +426 -0
- package/src/skills/leniu-error-handler/SKILL.md +462 -0
- package/src/skills/leniu-java-amount-handling/SKILL.md +461 -0
- package/src/skills/leniu-java-code-style/SKILL.md +510 -0
- package/src/skills/leniu-java-concurrent/SKILL.md +400 -0
- package/src/skills/leniu-java-entity/SKILL.md +237 -0
- package/src/skills/leniu-java-entity/references/templates.md +237 -0
- package/src/skills/leniu-java-export/SKILL.md +570 -0
- package/src/skills/leniu-java-logging/SKILL.md +229 -0
- package/src/skills/leniu-java-logging/references/data-mask.md +46 -0
- package/src/skills/leniu-java-logging/references/logging-scenarios.md +113 -0
- package/src/skills/leniu-java-mq/SKILL.md +338 -0
- package/src/skills/leniu-java-mybatis/SKILL.md +267 -0
- package/src/skills/leniu-java-mybatis/references/report-mapper.md +88 -0
- package/src/skills/leniu-java-report-query-param/SKILL.md +291 -0
- package/src/skills/leniu-java-task/SKILL.md +367 -0
- package/src/skills/leniu-java-total-line/SKILL.md +196 -0
- package/src/skills/leniu-marketing-price-rule-customizer/SKILL.md +301 -0
- package/src/skills/leniu-marketing-recharge-rule-customizer/SKILL.md +285 -0
- package/src/skills/leniu-mealtime/SKILL.md +215 -0
- package/src/skills/leniu-redis-cache/SKILL.md +331 -0
- package/src/skills/leniu-report-customization/SKILL.md +335 -0
- package/src/skills/leniu-report-customization/references/table-fields.md +93 -0
- package/src/skills/leniu-report-standard-customization/SKILL.md +328 -0
- package/src/skills/leniu-report-standard-customization/references/analysis-module.md +64 -0
- package/src/skills/leniu-report-standard-customization/references/table-fields.md +113 -0
- package/src/skills/leniu-security-guard/SKILL.md +306 -0
- package/src/skills/leniu-utils-toolkit/SKILL.md +380 -0
- package/src/skills/mysql-debug/SKILL.md +364 -0
- package/src/skills/next/SKILL.md +137 -0
- package/src/skills/openspec-apply-change/SKILL.md +165 -0
- package/src/skills/openspec-archive-change/SKILL.md +122 -0
- package/src/skills/openspec-bulk-archive-change/SKILL.md +254 -0
- package/src/skills/openspec-continue-change/SKILL.md +126 -0
- package/src/skills/openspec-explore/SKILL.md +299 -0
- package/src/skills/openspec-ff-change/SKILL.md +109 -0
- package/src/skills/openspec-new-change/SKILL.md +82 -0
- package/src/skills/openspec-onboard/SKILL.md +414 -0
- package/src/skills/openspec-sync-specs/SKILL.md +146 -0
- package/src/skills/openspec-verify-change/SKILL.md +176 -0
- package/src/skills/performance-doctor/SKILL.md +303 -0
- package/src/skills/progress/SKILL.md +193 -0
- package/src/skills/project-navigator/SKILL.md +211 -0
- package/src/skills/redis-cache/SKILL.md +333 -0
- package/src/skills/redis-cache/references/listeners.md +23 -0
- package/src/skills/scheduled-jobs/SKILL.md +314 -0
- package/src/skills/security-guard/SKILL.md +353 -0
- package/src/skills/security-guard/references/encrypt-config.md +103 -0
- package/src/skills/security-guard/references/sensitive-strategies.md +42 -0
- package/src/skills/sms-mail/SKILL.md +308 -0
- package/src/skills/sms-mail/references/mail-config.md +88 -0
- package/src/skills/sms-mail/references/sms-config.md +74 -0
- package/src/skills/social-login/SKILL.md +266 -0
- package/src/skills/social-login/references/provider-configs.md +118 -0
- package/src/skills/start/SKILL.md +154 -0
- package/src/skills/store-pc/SKILL.md +366 -0
- package/src/skills/sync/SKILL.md +149 -0
- package/src/skills/task-tracker/SKILL.md +307 -0
- package/src/skills/tech-decision/SKILL.md +393 -0
- package/src/skills/tenant-management/SKILL.md +288 -0
- package/src/skills/tenant-management/references/tenant-scenarios.md +91 -0
- package/src/skills/test-development/SKILL.md +301 -0
- package/src/skills/test-development/references/parameterized-examples.md +119 -0
- package/src/skills/ui-pc/SKILL.md +438 -0
- package/src/skills/update-status/SKILL.md +159 -0
- package/src/skills/utils-toolkit/SKILL.md +362 -0
- package/src/skills/utils-toolkit/references/redis-utils-api.md +56 -0
- package/src/skills/websocket-sse/SKILL.md +271 -0
- package/src/skills/workflow-engine/SKILL.md +321 -0
|
@@ -10,6 +10,8 @@ description: |
|
|
|
10
10
|
- 日志文件分析(./logs/sys-console.log)
|
|
11
11
|
- 前端页面不显示、API 调用异常
|
|
12
12
|
|
|
13
|
+
联动技能:数据问题自动联动 mysql-debug 查库验证
|
|
14
|
+
|
|
13
15
|
触发词:Bug、报错、异常、不工作、500错误、NullPointerException、SQLException、数据查不到、日志分析、排查、调试、debug、错误排查、精度丢失
|
|
14
16
|
---
|
|
15
17
|
|
|
@@ -204,31 +206,28 @@ XxxVO vo = BeanUtil.copyProperties(entity, XxxVO.class); // 源对象为 null
|
|
|
204
206
|
|
|
205
207
|
---
|
|
206
208
|
|
|
207
|
-
##
|
|
209
|
+
## 数据库排查(委托 mysql-debug)
|
|
208
210
|
|
|
209
|
-
|
|
211
|
+
当诊断结果指向数据问题时,**必须联动 `mysql-debug` 技能**进行数据库查询验证:
|
|
210
212
|
|
|
211
213
|
```
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
214
|
+
诊断决策树判定"数据相关问题"
|
|
215
|
+
↓
|
|
216
|
+
自动激活 mysql-debug 技能
|
|
217
|
+
↓
|
|
218
|
+
mysql-debug 执行:配置检查 → 日志提取数据库名 → 执行只读 SQL → 返回结果
|
|
219
|
+
↓
|
|
220
|
+
bug-detective 结合查询结果给出修复方案
|
|
215
221
|
```
|
|
216
222
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
-- 最近数据
|
|
224
|
-
SELECT * FROM 表名 ORDER BY crtime DESC LIMIT 10;
|
|
223
|
+
**触发 mysql-debug 的信号**:
|
|
224
|
+
- 查询返回空/数据不存在
|
|
225
|
+
- 数据数量、金额、状态不对
|
|
226
|
+
- SQL 异常(DataIntegrityViolation、DuplicateKey)
|
|
227
|
+
- 关联数据不一致
|
|
228
|
+
- 特定租户才出现的问题
|
|
225
229
|
|
|
226
|
-
|
|
227
|
-
DESC 表名;
|
|
228
|
-
|
|
229
|
-
-- 执行计划
|
|
230
|
-
EXPLAIN SELECT ...;
|
|
231
|
-
```
|
|
230
|
+
> 如果 mysql-debug 配置未就绪(密码未设置/mysql CLI 未安装),仍可继续纯代码分析路径。
|
|
232
231
|
|
|
233
232
|
---
|
|
234
233
|
|
|
@@ -250,6 +249,7 @@ EXPLAIN SELECT ...;
|
|
|
250
249
|
|
|
251
250
|
| 排查发现 | 推荐 Skill |
|
|
252
251
|
|---------|-----------|
|
|
252
|
+
| 数据问题(查不到/不一致/状态异常) | `mysql-debug`(自动联动) |
|
|
253
253
|
| SQL 性能慢 | `performance-doctor` |
|
|
254
254
|
| 权限配置问题 | `security-guard` |
|
|
255
255
|
| BO/VO 映射错误 | `leniu-crud-development` |
|
|
@@ -1,305 +1,211 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: project-navigator
|
|
3
3
|
description: |
|
|
4
|
-
当需要了解项目结构、查找文件、定位代码时自动使用此 Skill
|
|
4
|
+
当需要了解项目结构、查找文件、定位代码时自动使用此 Skill。提供 leniu 云食堂项目的精确导航。
|
|
5
5
|
|
|
6
6
|
触发场景:
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
- 寻找参考代码
|
|
13
|
-
|
|
14
|
-
触发词:项目结构、文件在哪、目录、模块、代码位置、找、定位、结构、在哪里、哪个文件、参考、已有
|
|
15
|
-
---
|
|
7
|
+
- 询问某个功能/文件在哪里
|
|
8
|
+
- 新建模块时需要确认目录位置
|
|
9
|
+
- 查找参考代码(Controller/Service/Mapper/Entity 示例)
|
|
10
|
+
- 了解项目整体结构和模块划分
|
|
11
|
+
- 查找技能、命令、Hook 的位置
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
触发词:项目结构、文件在哪、代码位置、目录结构、模块在哪、参考代码、怎么找、哪个文件、路径、在哪里
|
|
14
|
+
---
|
|
18
15
|
|
|
19
|
-
|
|
16
|
+
# leniu 项目导航指南
|
|
20
17
|
|
|
21
|
-
##
|
|
18
|
+
## 工程化配置项目
|
|
22
19
|
|
|
23
20
|
```
|
|
24
|
-
|
|
25
|
-
├──
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
│
|
|
29
|
-
│
|
|
30
|
-
├──
|
|
31
|
-
│
|
|
32
|
-
|
|
33
|
-
│ ├── ruoyi-common-mybatis/ # MyBatis 扩展(BaseMapperPlus, TableDataInfo)
|
|
34
|
-
│ ├── ruoyi-common-tenant/ # 多租户(TenantEntity)
|
|
35
|
-
│ ├── ruoyi-common-redis/ # Redis 缓存
|
|
36
|
-
│ ├── ruoyi-common-satoken/ # 权限认证
|
|
37
|
-
│ ├── ruoyi-common-excel/ # Excel 导入导出
|
|
38
|
-
│ ├── ruoyi-common-oss/ # 对象存储
|
|
39
|
-
│ ├── ruoyi-common-doc/ # 接口文档
|
|
40
|
-
│ ├── ruoyi-common-encrypt/ # 数据加密
|
|
41
|
-
│ ├── ruoyi-common-idempotent/ # 幂等性
|
|
42
|
-
│ ├── ruoyi-common-job/ # 定时任务
|
|
43
|
-
│ ├── ruoyi-common-json/ # JSON 处理
|
|
44
|
-
│ ├── ruoyi-common-log/ # 日志记录
|
|
45
|
-
│ ├── ruoyi-common-mail/ # 邮件发送
|
|
46
|
-
│ ├── ruoyi-common-ratelimiter/ # 限流
|
|
47
|
-
│ ├── ruoyi-common-security/ # 安全
|
|
48
|
-
│ ├── ruoyi-common-sensitive/ # 敏感数据
|
|
49
|
-
│ ├── ruoyi-common-sms/ # 短信
|
|
50
|
-
│ ├── ruoyi-common-social/ # 社交登录
|
|
51
|
-
│ ├── ruoyi-common-sse/ # SSE 推送
|
|
52
|
-
│ ├── ruoyi-common-translation/ # 翻译
|
|
53
|
-
│ ├── ruoyi-common-web/ # Web 通用
|
|
54
|
-
│ └── ruoyi-common-websocket/ # WebSocket
|
|
55
|
-
│
|
|
56
|
-
├── ruoyi-extend/ # 扩展功能模块
|
|
57
|
-
│
|
|
58
|
-
├── ruoyi-modules/ # 业务功能模块
|
|
59
|
-
│ ├── ruoyi-system/ # 系统管理模块(用户、角色、菜单等)
|
|
60
|
-
│ ├── ruoyi-demo/ # 演示功能模块
|
|
61
|
-
│ ├── ruoyi-job/ # 定时任务模块
|
|
62
|
-
│ ├── ruoyi-generator/ # 代码生成器
|
|
63
|
-
│ └── ruoyi-workflow/ # 工作流模块
|
|
64
|
-
│
|
|
65
|
-
├── script/sql/ # 数据库脚本
|
|
66
|
-
│ ├── ry_vue_5.X.sql # 系统表(用户、角色、菜单等)
|
|
67
|
-
│ ├── ry_job.sql # 定时任务表
|
|
68
|
-
│ └── ry_workflow.sql # 工作流表
|
|
69
|
-
│
|
|
70
|
-
├── docs/ # 项目文档
|
|
71
|
-
├── .claude/ # Claude AI 配置目录
|
|
72
|
-
│ └── skills/ # 技能库
|
|
73
|
-
│
|
|
74
|
-
└── pom.xml # Maven 项目配置
|
|
21
|
+
ai-engineering-init/ # 当前工作目录(本仓库根目录)
|
|
22
|
+
├── CLAUDE.md # 项目规范(核心约束必读)
|
|
23
|
+
├── AGENTS.md # Agent 配置文档
|
|
24
|
+
├── .claude/
|
|
25
|
+
│ ├── skills/ # 73 个技能模块
|
|
26
|
+
│ ├── commands/ # 10 个快速命令(/dev /crud /check 等)
|
|
27
|
+
│ ├── hooks/ # Hooks(skill-forced-eval.js 强制技能评估)
|
|
28
|
+
│ └── docs/ # 开发文档
|
|
29
|
+
└── .codex/skills/ # Codex CLI 技能同步目录
|
|
75
30
|
```
|
|
76
31
|
|
|
77
32
|
---
|
|
78
33
|
|
|
79
|
-
##
|
|
34
|
+
## 后端 Java 项目
|
|
80
35
|
|
|
81
|
-
|
|
36
|
+
**根路径**:由用户在 `CLAUDE.md` 中配置,各安装者路径不同
|
|
82
37
|
|
|
83
|
-
|
|
84
|
-
|------|------|------|
|
|
85
|
-
| **系统管理** (System) | `ruoyi-modules/ruoyi-system/` | ⭐ 系统核心功能(用户、菜单、权限等) |
|
|
86
|
-
| **演示模块** (Demo) | `ruoyi-modules/ruoyi-demo/` | 功能演示示例 |
|
|
87
|
-
| **定时任务** (Job) | `ruoyi-modules/ruoyi-job/` | 任务调度功能 |
|
|
88
|
-
| **代码生成** (Generator) | `ruoyi-modules/ruoyi-generator/` | 代码生成器 |
|
|
89
|
-
| **工作流** (Workflow) | `ruoyi-modules/ruoyi-workflow/` | 工作流引擎 |
|
|
38
|
+
### 业务模块(25 个 core-* 模块)
|
|
90
39
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
40
|
+
| 模块 | 职责 |
|
|
41
|
+
|------|------|
|
|
42
|
+
| `core-order` | 订单管理 |
|
|
43
|
+
| `core-menu` | 菜品管理 |
|
|
44
|
+
| `core-marketing` | 营销(充值/优惠) |
|
|
45
|
+
| `core-report` | 报表统计 |
|
|
46
|
+
| `core-pay` | 支付 |
|
|
47
|
+
| `core-account` | 账号管理 |
|
|
48
|
+
| `core-merchant` | 商户配置 |
|
|
49
|
+
| `core-customer` | 用户/员工 |
|
|
50
|
+
| `core-device` | 设备管理 |
|
|
51
|
+
| `core-attendance` | 考勤 |
|
|
52
|
+
| `core-kitchen` / `core-backfield` | 后场厨房 |
|
|
53
|
+
| `core-drp` | 供应链 |
|
|
54
|
+
| `core-dorm` | 宿舍管理 |
|
|
55
|
+
| `core-notice` | 通知消息 |
|
|
56
|
+
| `core-open` | 开放接口 |
|
|
57
|
+
| `core-nutrition` | 营养管理 |
|
|
58
|
+
| `core-supermarket` | 超市 |
|
|
59
|
+
| `core-common` / `core-base` | 公共基础 |
|
|
60
|
+
| `core-auth` / `core-starter` | 认证/启动 |
|
|
61
|
+
|
|
62
|
+
### 标准包结构(四层架构)
|
|
94
63
|
|
|
95
64
|
```
|
|
96
|
-
|
|
97
|
-
├── controller/
|
|
98
|
-
│
|
|
99
|
-
│
|
|
100
|
-
├──
|
|
101
|
-
│
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
├── mapper/
|
|
105
|
-
|
|
106
|
-
├──
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
│ └── SysXxxVo.java # 视图对象
|
|
112
|
-
├── listener/ # 事件监听器
|
|
113
|
-
└── runner/ # 启动运行器
|
|
65
|
+
net.xnzn.core.{module}/
|
|
66
|
+
├── controller/
|
|
67
|
+
│ ├── web/ # Web 管理端(/api/v2/web/{module})
|
|
68
|
+
│ ├── mobile/ # 移动端(/api/v2/mobile/{module})
|
|
69
|
+
│ ├── android/ # 设备端(/api/v2/android/{module})
|
|
70
|
+
│ └── open/ # 开放接口(/api/v2/open/{module})
|
|
71
|
+
├── business/impl/ # Business 层(跨 Service 编排)
|
|
72
|
+
├── service/impl/ # Service 层(单表 CRUD、事务)
|
|
73
|
+
├── mapper/ # Mapper + XML(同目录!非 resources/mapper/)
|
|
74
|
+
├── model/ # Entity
|
|
75
|
+
├── vo/ # 响应对象
|
|
76
|
+
├── dto/ # 请求参数(含 Param)
|
|
77
|
+
├── constants/ # 枚举、常量
|
|
78
|
+
├── mq/ # 消息队列
|
|
79
|
+
└── task/ # 定时任务
|
|
114
80
|
```
|
|
115
81
|
|
|
116
|
-
|
|
117
|
-
- Service 实现类**不继承任何基类**,直接注入 Mapper
|
|
118
|
-
- `buildQueryWrapper()` 方法在 **Service 实现类**中
|
|
119
|
-
- BO 使用 `@AutoMapper`(单数)注解;多目标映射时可用 `@AutoMappers`(复数)
|
|
120
|
-
|
|
121
|
-
### 核心工具类位置
|
|
122
|
-
|
|
123
|
-
| 工具类 | 位置 | 说明 |
|
|
124
|
-
|--------|------|------|
|
|
125
|
-
| `MapstructUtils` | `ruoyi-common-core` | 对象转换(必须使用) |
|
|
126
|
-
| `StringUtils` | `ruoyi-common-core` | 字符串工具 |
|
|
127
|
-
| `DateUtils` | `ruoyi-common-core` | 日期工具 |
|
|
128
|
-
| `ServiceException` | `ruoyi-common-core` | 业务异常 |
|
|
129
|
-
| `TenantEntity` | `ruoyi-common-tenant` | 租户实体基类 |
|
|
130
|
-
| `BaseMapperPlus` | `ruoyi-common-mybatis` | Mapper 基类接口 |
|
|
131
|
-
| `PageQuery` | `ruoyi-common-mybatis` | 分页查询参数 |
|
|
132
|
-
| `TableDataInfo` | `ruoyi-common-mybatis` | 分页结果 |
|
|
133
|
-
| `RedisUtils` | `ruoyi-common-redis` | Redis 缓存工具 |
|
|
134
|
-
| `LoginHelper` | `ruoyi-common-satoken` | 登录用户信息 |
|
|
82
|
+
### 参考代码位置
|
|
135
83
|
|
|
136
|
-
|
|
84
|
+
| 需要参考 | 路径 |
|
|
85
|
+
|---------|------|
|
|
86
|
+
| Controller 写法 | `core-order/.../order/web/controller/OrderInfoWebController.java` |
|
|
87
|
+
| Business 层写法 | `core-order/.../order/web/business/impl/OrderWebBusiness.java` |
|
|
88
|
+
| Service 写法 | `core-order/.../order/common/service/impl/OrderInfoService.java` |
|
|
89
|
+
| Entity 写法 | `core-order/.../order/common/model/OrderInfo.java` |
|
|
90
|
+
| 枚举写法 | `core-order/.../order/common/constants/OrderStateEnum.java` |
|
|
91
|
+
| 配置文件 | `core-base/src/main/resources/bootstrap.yml` |
|
|
137
92
|
|
|
138
|
-
|
|
93
|
+
---
|
|
139
94
|
|
|
140
|
-
|
|
141
|
-
|------|------|------|
|
|
142
|
-
| 后端主配置 | `ruoyi-admin/src/main/resources/application.yml` | 主配置文件 |
|
|
143
|
-
| 后端开发配置 | `ruoyi-admin/src/main/resources/application-dev.yml` | 开发环境配置(数据库连接) |
|
|
144
|
-
| 后端生产配置 | `ruoyi-admin/src/main/resources/application-prod.yml` | 生产环境配置 |
|
|
145
|
-
| 日志配置 | `ruoyi-admin/src/main/resources/logback-plus.xml` | 日志配置 |
|
|
95
|
+
## 前端项目
|
|
146
96
|
|
|
147
|
-
|
|
97
|
+
**根路径**:由用户在 `CLAUDE.md` 中配置,各安装者路径不同
|
|
148
98
|
|
|
149
|
-
|
|
99
|
+
### src/ 核心目录
|
|
150
100
|
|
|
151
|
-
|
|
|
101
|
+
| 目录 | 说明 | 规模 |
|
|
152
102
|
|------|------|------|
|
|
153
|
-
|
|
|
154
|
-
|
|
|
155
|
-
|
|
|
156
|
-
|
|
|
157
|
-
|
|
|
158
|
-
|
|
|
103
|
+
| `api/` | 接口定义 | 63 个文件 |
|
|
104
|
+
| `leniuview/` | 业务模块页面 | 33 个模块 |
|
|
105
|
+
| `leniu-components/` | 业务组件库 | 12 个组件包 |
|
|
106
|
+
| `components/` | 通用组件 | ~87 个 |
|
|
107
|
+
| `store/` | Vuex 状态管理 | 30+ 个模块 |
|
|
108
|
+
| `utils/` | 工具函数 | 37 个文件 |
|
|
109
|
+
|
|
110
|
+
### 常用前端文件
|
|
111
|
+
|
|
112
|
+
| 需要查找 | 路径 |
|
|
113
|
+
|---------|------|
|
|
114
|
+
| 主入口 | `src/main.js` |
|
|
115
|
+
| 权限路由守卫 | `src/permission.js` |
|
|
116
|
+
| 请求封装 | `src/utils/request.js` |
|
|
117
|
+
| Token/租户工具 | `src/utils/auth.js` |
|
|
118
|
+
| 全局工具 | `src/utils/index.js` |
|
|
119
|
+
| Vuex 根配置 | `src/store/index.js` |
|
|
120
|
+
| 构建配置 | `vue.config.js` |
|
|
121
|
+
|
|
122
|
+
### 前端业务模块(leniuview 33 个)
|
|
159
123
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
124
|
+
```
|
|
125
|
+
accountCenter、canteenBackcourt、cost、dashboard、dataScreen、
|
|
126
|
+
deviceMange、dormitory、marketing、menudish、orderCenter、
|
|
127
|
+
purchase、reportCenter、stock、supplyChain、attendance、
|
|
128
|
+
campus、approvalManage、noticeV2、personalV2 ...
|
|
129
|
+
```
|
|
163
130
|
|
|
164
|
-
|
|
131
|
+
---
|
|
165
132
|
|
|
166
|
-
|
|
167
|
-
|------|------|
|
|
168
|
-
| 参考后端代码 | `ruoyi-modules/ruoyi-system/` 的系统模块 |
|
|
169
|
-
| 看 Entity 怎么写 | `ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java` |
|
|
170
|
-
| 看 Service 怎么写 | `ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java` |
|
|
171
|
-
| 看 Controller 怎么写 | `ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java` |
|
|
172
|
-
| 看 Mapper 怎么写 | `ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java` |
|
|
173
|
-
| 看 BO/VO 怎么写 | `ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/` |
|
|
174
|
-
| 数据库表结构 | `script/sql/ry_vue_5.X.sql` |
|
|
175
|
-
| 工具类 | `ruoyi-common/ruoyi-common-core/` |
|
|
176
|
-
| MyBatis 扩展 | `ruoyi-common/ruoyi-common-mybatis/` |
|
|
177
|
-
| Redis 工具 | `ruoyi-common/ruoyi-common-redis/` |
|
|
178
|
-
| 权限认证 | `ruoyi-common/ruoyi-common-satoken/` |
|
|
179
|
-
| **前端项目根目录** | 由 CLAUDE.md 配置(各用户路径不同) |
|
|
180
|
-
| **前端 src 目录** | `src/`(前端项目根目录下) |
|
|
181
|
-
| 前端主入口 | `src/main.js` |
|
|
182
|
-
| 前端路由守卫 | `src/permission.js` |
|
|
183
|
-
| 前端路由配置 | `src/router/` |
|
|
184
|
-
| 前端 API 接口定义 | `src/api/`(65个文件) |
|
|
185
|
-
| 前端视图页面 | `src/leniuview/`(34个业务模块) |
|
|
186
|
-
| 前端业务组件 | `src/leniu-components/` |
|
|
187
|
-
| 前端公共组件 | `src/components/`(~87个) |
|
|
188
|
-
| 前端 Vuex Store | `src/store/`(28个模块) |
|
|
189
|
-
| 前端请求封装 | `src/utils/request.js` |
|
|
190
|
-
| 前端 Token/租户工具 | `src/utils/auth.js` |
|
|
191
|
-
| 前端全局工具函数 | `src/utils/index.js` |
|
|
192
|
-
| 前端 Mixin 文件 | `src/mixins/` |
|
|
193
|
-
| 前端国际化配置 | `src/lang/` |
|
|
194
|
-
| 前端自定义指令 | `src/directive/` |
|
|
195
|
-
| 前端全局样式 | `src/styles/` |
|
|
196
|
-
| 前端构建配置 | `vue.config.js` |
|
|
197
|
-
| 前端依赖配置 | `package.json` |
|
|
133
|
+
## 技能系统导航
|
|
198
134
|
|
|
199
|
-
|
|
135
|
+
**技能路径**:`.claude/skills/{技能名}/SKILL.md`
|
|
200
136
|
|
|
201
|
-
|
|
137
|
+
### 按开发场景选择技能
|
|
202
138
|
|
|
203
|
-
|
|
|
204
|
-
|
|
205
|
-
|
|
|
206
|
-
|
|
|
207
|
-
|
|
|
208
|
-
|
|
|
139
|
+
| 场景 | 技能 |
|
|
140
|
+
|------|------|
|
|
141
|
+
| 新建 CRUD 模块 | `leniu-crud-development` |
|
|
142
|
+
| API 接口设计 | `leniu-api-development` |
|
|
143
|
+
| 建表/SQL | `leniu-database-ops` |
|
|
144
|
+
| Entity/VO/DTO | `leniu-java-entity` |
|
|
145
|
+
| MyBatis/Mapper | `leniu-java-mybatis` |
|
|
146
|
+
| 异常处理 | `leniu-error-handler` |
|
|
147
|
+
| 工具类使用 | `leniu-utils-toolkit` |
|
|
148
|
+
| 注解使用 | `leniu-backend-annotations` |
|
|
149
|
+
| 代码规范 | `leniu-code-patterns` |
|
|
150
|
+
| 数据权限/双库 | `leniu-data-permission` |
|
|
151
|
+
| 定制报表 | `leniu-report-customization` |
|
|
152
|
+
| 标准报表 | `leniu-report-standard-customization` |
|
|
153
|
+
| 金额处理 | `leniu-java-amount-handling` |
|
|
154
|
+
| 并发/异步 | `leniu-java-concurrent` |
|
|
155
|
+
| 导出功能 | `leniu-java-export` |
|
|
156
|
+
| 定时任务 | `leniu-java-task` |
|
|
157
|
+
| 消息队列 | `leniu-java-mq` |
|
|
158
|
+
| Redis 缓存 | `leniu-redis-cache` |
|
|
159
|
+
| 合计行查询 | `leniu-java-total-line` |
|
|
160
|
+
| 报表查询入参 | `leniu-java-report-query-param` |
|
|
161
|
+
| 营销计费规则 | `leniu-marketing-price-rule-customizer` |
|
|
162
|
+
| 营销充值规则 | `leniu-marketing-recharge-rule-customizer` |
|
|
163
|
+
| 餐次处理 | `leniu-mealtime` |
|
|
164
|
+
| 定制开发位置 | `leniu-customization-location` |
|
|
165
|
+
| Bug 排查 | `bug-detective`(数据问题自动联动 `mysql-debug`) |
|
|
166
|
+
| 数据库查询验证 | `mysql-debug` |
|
|
167
|
+
| Codex 代码审查 | `codex-code-review` |
|
|
168
|
+
| 前端组件/权限 | `ui-pc` |
|
|
169
|
+
| 前端 Vuex | `store-pc` |
|
|
170
|
+
| 方案设计 | `leniu-brainstorm` |
|
|
171
|
+
| 架构设计 | `leniu-architecture-design` |
|
|
172
|
+
| 安全认证 | `leniu-security-guard` |
|
|
173
|
+
|
|
174
|
+
### 快速命令
|
|
175
|
+
|
|
176
|
+
| 命令 | 用途 |
|
|
177
|
+
|------|------|
|
|
178
|
+
| `/dev` | 开发新功能 |
|
|
179
|
+
| `/crud` | 快速生成 CRUD |
|
|
180
|
+
| `/check` | 代码规范检查 |
|
|
181
|
+
| `/start` | 项目快速了解 |
|
|
182
|
+
| `/progress` | 查看项目进度 |
|
|
183
|
+
| `/next` | 下一步建议 |
|
|
184
|
+
| `/add-todo` | 添加待办事项 |
|
|
209
185
|
|
|
210
186
|
---
|
|
211
187
|
|
|
212
|
-
##
|
|
188
|
+
## 常用搜索模式
|
|
213
189
|
|
|
214
190
|
```bash
|
|
215
|
-
#
|
|
216
|
-
Glob
|
|
217
|
-
|
|
218
|
-
# 查找包含特定内容的文件
|
|
219
|
-
Grep "[关键词]" ruoyi-modules/ --type java
|
|
220
|
-
|
|
221
|
-
# 查找配置文件
|
|
222
|
-
Glob ruoyi-admin/src/main/resources/application*.yml
|
|
191
|
+
# 查找某模块的 Controller
|
|
192
|
+
Glob core-order/**/*Controller*.java
|
|
223
193
|
|
|
224
194
|
# 查找 Service 实现类
|
|
225
|
-
Glob
|
|
226
|
-
|
|
227
|
-
# 查找 Mapper 接口
|
|
228
|
-
Glob ruoyi-modules/**/*Mapper.java
|
|
229
|
-
|
|
230
|
-
# 查找 Entity 类
|
|
231
|
-
Glob ruoyi-modules/**/domain/*.java
|
|
232
|
-
|
|
233
|
-
# 查找工具类
|
|
234
|
-
Glob ruoyi-common/**/*Utils.java
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
## 三层架构代码示例
|
|
240
|
-
|
|
241
|
-
### Service 实现类结构(重点参考)
|
|
242
|
-
|
|
243
|
-
```java
|
|
244
|
-
@Service
|
|
245
|
-
public class TestDemoServiceImpl implements ITestDemoService {
|
|
246
|
-
|
|
247
|
-
private final TestDemoMapper baseMapper; // 直接注入 Mapper,无 DAO 层
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* 构建查询条件(在 Service 层)
|
|
251
|
-
*/
|
|
252
|
-
private LambdaQueryWrapper<TestDemo> buildQueryWrapper(TestDemoBo bo) {
|
|
253
|
-
Map<String, Object> params = bo.getParams();
|
|
254
|
-
LambdaQueryWrapper<TestDemo> lqw = Wrappers.lambdaQuery();
|
|
255
|
-
lqw.eq(bo.getDeptId() != null, TestDemo::getDeptId, bo.getDeptId());
|
|
256
|
-
lqw.like(StringUtils.isNotBlank(bo.getTestKey()), TestDemo::getTestKey, bo.getTestKey());
|
|
257
|
-
return lqw;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
@Override
|
|
261
|
-
public TableDataInfo<TestDemoVo> queryPageList(TestDemoBo bo, PageQuery pageQuery) {
|
|
262
|
-
LambdaQueryWrapper<TestDemo> lqw = buildQueryWrapper(bo);
|
|
263
|
-
Page<TestDemoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
264
|
-
return TableDataInfo.build(result);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
### BO 类结构
|
|
270
|
-
|
|
271
|
-
```java
|
|
272
|
-
@Data
|
|
273
|
-
@AutoMapper(target = TestDemo.class, reverseConvertGenerate = false) // ✅ 单数
|
|
274
|
-
public class TestDemoBo extends BaseEntity {
|
|
275
|
-
private Long id;
|
|
276
|
-
private String testKey;
|
|
277
|
-
// ...
|
|
278
|
-
}
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
### Controller 结构
|
|
282
|
-
|
|
283
|
-
```java
|
|
284
|
-
@RestController
|
|
285
|
-
@RequestMapping("/demo/demo")
|
|
286
|
-
public class TestDemoController extends BaseController {
|
|
287
|
-
|
|
288
|
-
private final ITestDemoService testDemoService;
|
|
195
|
+
Glob core-order/**/impl/*Service*.java
|
|
289
196
|
|
|
290
|
-
|
|
291
|
-
|
|
197
|
+
# 查找 Mapper XML
|
|
198
|
+
Glob core-order/**/*Mapper.xml
|
|
292
199
|
|
|
293
|
-
|
|
294
|
-
|
|
200
|
+
# 查找 Entity
|
|
201
|
+
Glob core-order/**/model/*.java
|
|
295
202
|
|
|
296
|
-
|
|
297
|
-
|
|
203
|
+
# 查找某接口路由
|
|
204
|
+
Grep "/api/v2/web/order" --type java
|
|
298
205
|
|
|
299
|
-
|
|
300
|
-
|
|
206
|
+
# 查找前端某页面
|
|
207
|
+
Glob src/leniuview/**/index.vue
|
|
301
208
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
}
|
|
209
|
+
# 查找前端接口定义
|
|
210
|
+
Glob src/api/*.js
|
|
305
211
|
```
|