ai-engineering-init 1.7.0 → 1.10.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/.claude/agents/bug-analyzer.md +103 -0
- package/.claude/agents/code-reviewer.md +115 -5
- package/.claude/agents/image-reader.md +154 -0
- package/.claude/agents/loki-runner.md +80 -0
- package/.claude/agents/mysql-runner.md +81 -0
- package/.claude/agents/requirements-analyzer.md +162 -0
- package/.claude/agents/task-fetcher.md +75 -0
- package/.claude/commands/dev.md +29 -0
- package/.claude/commands/next.md +31 -1
- package/.claude/commands/progress.md +23 -1
- package/.claude/hooks/skill-forced-eval.js +46 -62
- package/.claude/settings.json +10 -1
- package/.claude/skills/api-development/SKILL.md +179 -130
- package/.claude/skills/architecture-design/SKILL.md +102 -212
- package/.claude/skills/backend-annotations/SKILL.md +166 -220
- package/.claude/skills/bug-detective/SKILL.md +225 -186
- package/.claude/skills/code-patterns/SKILL.md +127 -244
- package/.claude/skills/collaborating-with-codex/SKILL.md +96 -113
- package/.claude/skills/crud-development/SKILL.md +226 -307
- package/.claude/skills/data-permission/SKILL.md +131 -202
- package/.claude/skills/database-ops/SKILL.md +158 -355
- package/.claude/skills/error-handler/SKILL.md +224 -285
- package/.claude/skills/file-oss-management/SKILL.md +174 -169
- package/.claude/skills/git-workflow/SKILL.md +123 -341
- package/.claude/skills/json-serialization/SKILL.md +121 -137
- package/.claude/skills/performance-doctor/SKILL.md +83 -89
- package/.claude/skills/redis-cache/SKILL.md +134 -185
- package/.claude/skills/scheduled-jobs/SKILL.md +187 -224
- package/.claude/skills/security-guard/SKILL.md +168 -276
- package/.claude/skills/sms-mail/SKILL.md +266 -228
- package/.claude/skills/social-login/SKILL.md +257 -195
- package/.claude/skills/tenant-management/SKILL.md +172 -188
- package/.claude/skills/utils-toolkit/SKILL.md +214 -222
- package/.claude/skills/websocket-sse/SKILL.md +251 -172
- package/.claude/skills/workflow-engine/SKILL.md +178 -250
- package/.codex/skills/api-development/SKILL.md +179 -130
- package/.codex/skills/architecture-design/SKILL.md +102 -212
- package/.codex/skills/backend-annotations/SKILL.md +166 -220
- package/.codex/skills/bug-detective/SKILL.md +225 -186
- package/.codex/skills/code-patterns/SKILL.md +127 -244
- package/.codex/skills/collaborating-with-codex/SKILL.md +96 -113
- package/.codex/skills/crud-development/SKILL.md +226 -307
- package/.codex/skills/data-permission/SKILL.md +131 -202
- package/.codex/skills/database-ops/SKILL.md +158 -355
- package/.codex/skills/dev/SKILL.md +476 -131
- package/.codex/skills/error-handler/SKILL.md +224 -285
- package/.codex/skills/file-oss-management/SKILL.md +174 -169
- package/.codex/skills/git-workflow/SKILL.md +123 -341
- package/.codex/skills/json-serialization/SKILL.md +121 -137
- package/.codex/skills/next/SKILL.md +186 -42
- package/.codex/skills/performance-doctor/SKILL.md +83 -89
- package/.codex/skills/progress/SKILL.md +147 -76
- package/.codex/skills/redis-cache/SKILL.md +134 -185
- package/.codex/skills/scheduled-jobs/SKILL.md +187 -224
- package/.codex/skills/security-guard/SKILL.md +168 -276
- package/.codex/skills/sms-mail/SKILL.md +266 -228
- package/.codex/skills/social-login/SKILL.md +257 -195
- package/.codex/skills/tenant-management/SKILL.md +172 -188
- package/.codex/skills/utils-toolkit/SKILL.md +214 -222
- package/.codex/skills/websocket-sse/SKILL.md +251 -172
- package/.codex/skills/workflow-engine/SKILL.md +178 -250
- package/.cursor/agents/bug-analyzer.md +102 -0
- package/.cursor/agents/code-reviewer.md +80 -97
- package/.cursor/agents/image-reader.md +154 -0
- package/.cursor/agents/loki-runner.md +80 -0
- package/.cursor/agents/mysql-runner.md +81 -0
- package/.cursor/agents/project-manager.md +1 -1
- package/.cursor/agents/requirements-analyzer.md +141 -0
- package/.cursor/agents/task-fetcher.md +75 -0
- package/.cursor/hooks/cursor-skill-eval.js +66 -6
- package/.cursor/skills/api-development/SKILL.md +179 -130
- package/.cursor/skills/architecture-design/SKILL.md +102 -212
- package/.cursor/skills/backend-annotations/SKILL.md +166 -220
- package/.cursor/skills/bug-detective/SKILL.md +225 -186
- package/.cursor/skills/code-patterns/SKILL.md +127 -244
- package/.cursor/skills/collaborating-with-codex/SKILL.md +96 -113
- package/.cursor/skills/crud-development/SKILL.md +226 -307
- package/.cursor/skills/data-permission/SKILL.md +131 -202
- package/.cursor/skills/database-ops/SKILL.md +158 -355
- package/.cursor/skills/error-handler/SKILL.md +224 -285
- package/.cursor/skills/file-oss-management/SKILL.md +174 -169
- package/.cursor/skills/git-workflow/SKILL.md +123 -341
- package/.cursor/skills/json-serialization/SKILL.md +121 -137
- package/.cursor/skills/performance-doctor/SKILL.md +83 -89
- package/.cursor/skills/redis-cache/SKILL.md +134 -185
- package/.cursor/skills/scheduled-jobs/SKILL.md +187 -224
- package/.cursor/skills/security-guard/SKILL.md +168 -276
- package/.cursor/skills/sms-mail/SKILL.md +266 -228
- package/.cursor/skills/social-login/SKILL.md +257 -195
- package/.cursor/skills/tenant-management/SKILL.md +172 -188
- package/.cursor/skills/utils-toolkit/SKILL.md +214 -222
- package/.cursor/skills/websocket-sse/SKILL.md +251 -172
- package/.cursor/skills/workflow-engine/SKILL.md +178 -250
- package/AGENTS.md +117 -540
- package/CLAUDE.md +105 -117
- package/README.md +37 -6
- package/bin/index.js +5 -1
- package/package.json +1 -1
- package/src/skills/api-development/SKILL.md +179 -130
- package/src/skills/architecture-design/SKILL.md +102 -212
- package/src/skills/backend-annotations/SKILL.md +166 -220
- package/src/skills/bug-detective/SKILL.md +225 -186
- package/src/skills/code-patterns/SKILL.md +127 -244
- package/src/skills/collaborating-with-codex/SKILL.md +96 -113
- package/src/skills/crud-development/SKILL.md +226 -307
- package/src/skills/data-permission/SKILL.md +131 -202
- package/src/skills/database-ops/SKILL.md +158 -355
- package/src/skills/error-handler/SKILL.md +224 -285
- package/src/skills/file-oss-management/SKILL.md +174 -169
- package/src/skills/git-workflow/SKILL.md +123 -341
- package/src/skills/json-serialization/SKILL.md +121 -137
- package/src/skills/performance-doctor/SKILL.md +83 -89
- package/src/skills/redis-cache/SKILL.md +134 -185
- package/src/skills/scheduled-jobs/SKILL.md +187 -224
- package/src/skills/security-guard/SKILL.md +168 -276
- package/src/skills/sms-mail/SKILL.md +266 -228
- package/src/skills/social-login/SKILL.md +257 -195
- package/src/skills/tenant-management/SKILL.md +172 -188
- package/src/skills/utils-toolkit/SKILL.md +214 -222
- package/src/skills/websocket-sse/SKILL.md +251 -172
- package/src/skills/workflow-engine/SKILL.md +178 -250
- package/.claude/skills/skill-creator/LICENSE.txt +0 -202
- package/.claude/skills/skill-creator/SKILL.md +0 -479
- package/.claude/skills/skill-creator/agents/analyzer.md +0 -274
- package/.claude/skills/skill-creator/agents/comparator.md +0 -202
- package/.claude/skills/skill-creator/agents/grader.md +0 -223
- package/.claude/skills/skill-creator/assets/eval_review.html +0 -146
- package/.claude/skills/skill-creator/eval-viewer/generate_review.py +0 -471
- package/.claude/skills/skill-creator/eval-viewer/viewer.html +0 -1325
- package/.claude/skills/skill-creator/references/schemas.md +0 -430
- package/.claude/skills/skill-creator/scripts/__init__.py +0 -0
- package/.claude/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
- package/.claude/skills/skill-creator/scripts/generate_report.py +0 -326
- package/.claude/skills/skill-creator/scripts/improve_description.py +0 -248
- package/.claude/skills/skill-creator/scripts/package_skill.py +0 -136
- package/.claude/skills/skill-creator/scripts/quick_validate.py +0 -103
- package/.claude/skills/skill-creator/scripts/run_eval.py +0 -310
- package/.claude/skills/skill-creator/scripts/run_loop.py +0 -332
- package/.claude/skills/skill-creator/scripts/utils.py +0 -47
package/CLAUDE.md
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
# CLAUDE.md -
|
|
1
|
+
# CLAUDE.md - [你的项目名称]
|
|
2
|
+
|
|
3
|
+
> **这是示例模板**。安装后请将 `[你的xxx]` 占位符替换为你的项目实际信息。
|
|
4
|
+
> 如果项目有专属技能(如 `leniu-*`),它们会覆盖同名通用技能的规范。
|
|
2
5
|
|
|
3
6
|
## Workflow Orchestration
|
|
4
7
|
|
|
@@ -63,30 +66,26 @@
|
|
|
63
66
|
|
|
64
67
|
## 术语约定
|
|
65
68
|
|
|
69
|
+
> 根据你的项目实际情况填写术语表。
|
|
70
|
+
|
|
66
71
|
| 术语 | 含义 | 路径 |
|
|
67
72
|
|------|------|------|
|
|
68
|
-
| **后端** | Java 服务 | `
|
|
69
|
-
| **前端** |
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
73
|
-
| **公共模块** | 基础公共 | `core-base/`、`sys-common/` |
|
|
73
|
+
| **后端** | Java 服务 | `[你的后端根目录]/` |
|
|
74
|
+
| **前端** | 管理端 | `[你的前端目录]/` |
|
|
75
|
+
| **模块A** | 核心业务 | `[你的模块A路径]/` |
|
|
76
|
+
| **模块B** | 辅助业务 | `[你的模块B路径]/` |
|
|
77
|
+
| **公共模块** | 基础公共 | `[你的公共模块路径]/` |
|
|
74
78
|
|
|
75
79
|
## 前端技术栈
|
|
76
80
|
|
|
81
|
+
> 根据你的项目前端技术栈填写。
|
|
82
|
+
|
|
77
83
|
| 技术 | 版本 | 说明 |
|
|
78
84
|
|------|------|------|
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
83
|
-
| vue-i18n | 7.3.2 | `$t('key')` |
|
|
84
|
-
|
|
85
|
-
**前端关键机制**:Token=`Admin-Token`(localStorage)、租户=`MERCHANT-ID`(请求头)、成功码=`10000`、金额=分(`money()` 转元)、权限=`v-hasPerm`、加密=SM4
|
|
86
|
-
|
|
87
|
-
**前端 src 结构**:`api/`(65个接口) | `leniuview/`(35个业务模块) | `leniu-components/`(业务组件) | `components/`(~87) | `store/`(30个模块)
|
|
88
|
-
|
|
89
|
-
> **前端技能**:`ui-pc`(组件/API/权限)、`store-pc`(Vuex)
|
|
85
|
+
| [框架] | [版本] | [API 风格] |
|
|
86
|
+
| [UI 库] | [版本] | [组件前缀] |
|
|
87
|
+
| [状态管理] | [版本] | [配置说明] |
|
|
88
|
+
| [路由] | [版本] | [路由模式] |
|
|
90
89
|
|
|
91
90
|
## MCP 工具触发
|
|
92
91
|
|
|
@@ -110,149 +109,136 @@
|
|
|
110
109
|
|
|
111
110
|
## 核心规范速查
|
|
112
111
|
|
|
112
|
+
> 根据你的项目规范填写。
|
|
113
|
+
|
|
113
114
|
| 项目 | 规范 |
|
|
114
115
|
|------|------|
|
|
115
|
-
| **包名** | `
|
|
116
|
-
| **JDK** |
|
|
117
|
-
| **框架** |
|
|
118
|
-
| **架构** |
|
|
119
|
-
|
|
|
120
|
-
|
|
|
121
|
-
|
|
|
122
|
-
|
|
|
123
|
-
|
|
|
124
|
-
| **权限** | `@RequiresAuthentication` |
|
|
125
|
-
| **ID** | `Id.next()`(雪花ID) |
|
|
126
|
-
| **验证** | `jakarta.validation.*`(JDK 21) |
|
|
127
|
-
|
|
128
|
-
## 双库架构
|
|
129
|
-
|
|
130
|
-
物理分离双库,**无 tenant_id 字段**:
|
|
131
|
-
|
|
132
|
-
| 库 | 说明 | 切换方式 |
|
|
133
|
-
|----|------|---------|
|
|
134
|
-
| 系统库 | 全局数据(商户配置、字典) | `Executors.doInSystem()` |
|
|
135
|
-
| 商户库 | 租户业务数据(订单、菜品) | 默认(请求头 `MERCHANT-ID`) |
|
|
116
|
+
| **包名** | `[你的包名]` |
|
|
117
|
+
| **JDK** | [版本] |
|
|
118
|
+
| **框架** | [框架名称 + 版本] |
|
|
119
|
+
| **架构** | [你的分层架构] |
|
|
120
|
+
| **异常** | `[你的业务异常类]` |
|
|
121
|
+
| **对象转换** | `[你的对象转换工具]` |
|
|
122
|
+
| **权限** | `[你的权限注解]` |
|
|
123
|
+
| **ID 生成** | `[你的ID生成策略]` |
|
|
124
|
+
| **验证** | `jakarta.validation.*` |
|
|
136
125
|
|
|
137
|
-
|
|
138
|
-
Executors.doInTenant(tenantId, () -> { /* 商户库 */ });
|
|
139
|
-
Executors.doInSystem(() -> { /* 系统库 */ });
|
|
140
|
-
Executors.doInAllTenant(tenantId -> { /* 遍历所有租户 */ });
|
|
141
|
-
```
|
|
126
|
+
## 分层架构说明
|
|
142
127
|
|
|
143
|
-
|
|
128
|
+
> 根据你的项目选择三层或四层架构。
|
|
144
129
|
|
|
145
130
|
| 层 | 职责 | 命名示例 |
|
|
146
131
|
|----|------|---------|
|
|
147
|
-
| Controller | 接收请求、参数校验、路由 | `
|
|
148
|
-
|
|
|
149
|
-
|
|
|
150
|
-
| Mapper | ORM 映射(含 XML 同目录) | `OrderInfoMapper` |
|
|
151
|
-
|
|
152
|
-
> Business 层是本项目核心特色,复杂逻辑在此处编排。
|
|
132
|
+
| Controller | 接收请求、参数校验、路由 | `OrderController` |
|
|
133
|
+
| Service | 业务逻辑、事务管理 | `OrderService` |
|
|
134
|
+
| Mapper | ORM 映射 | `OrderMapper` |
|
|
153
135
|
|
|
154
136
|
## 标准包结构
|
|
155
137
|
|
|
156
138
|
```
|
|
157
|
-
|
|
158
|
-
├── controller/ #
|
|
159
|
-
├── business/impl/ # 业务编排
|
|
139
|
+
[你的包名].[module]/
|
|
140
|
+
├── controller/ # 接口层
|
|
160
141
|
├── service/impl/ # 服务层
|
|
161
|
-
├── mapper/ #
|
|
142
|
+
├── mapper/ # 数据访问层
|
|
162
143
|
├── model/ # Entity
|
|
163
144
|
├── vo/ # 响应对象
|
|
164
145
|
├── dto/ # 请求参数
|
|
165
146
|
├── constants/ # 枚举和常量
|
|
166
|
-
|
|
167
|
-
└── task/ # 定时任务
|
|
147
|
+
└── config/ # 配置类
|
|
168
148
|
```
|
|
169
149
|
|
|
170
|
-
> **XML 与 Mapper 同目录**(非 `resources/mapper/`),需在 pom.xml 配置资源过滤。
|
|
171
|
-
|
|
172
|
-
## 多端 Controller 路由
|
|
173
|
-
|
|
174
|
-
| 端 | 路由前缀 |
|
|
175
|
-
|----|---------|
|
|
176
|
-
| Web 管理端 | `/api/v2/web/{module}` |
|
|
177
|
-
| 移动端 | `/api/v2/mobile/{module}` |
|
|
178
|
-
| 设备端 | `/api/v2/android/{module}` |
|
|
179
|
-
| 开放接口 | `/api/v2/open/{module}` |
|
|
180
|
-
|
|
181
150
|
## Entity 审计字段
|
|
182
151
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
|
186
|
-
|
|
187
|
-
| `
|
|
188
|
-
| `
|
|
189
|
-
| `
|
|
152
|
+
> 根据你的项目审计字段命名填写。
|
|
153
|
+
|
|
154
|
+
| 字段 | 含义 | 填充时机 |
|
|
155
|
+
|------|------|---------|
|
|
156
|
+
| `create_by` | 创建人 | INSERT |
|
|
157
|
+
| `create_time` | 创建时间 | INSERT |
|
|
158
|
+
| `update_by` | 更新人 | INSERT_UPDATE |
|
|
159
|
+
| `update_time` | 更新时间 | INSERT_UPDATE |
|
|
160
|
+
| `deleted` | 逻辑删除(0=正常,1=删除) | 手动 |
|
|
190
161
|
|
|
191
162
|
## 工具类速查
|
|
192
163
|
|
|
164
|
+
> 根据你的项目使用的工具类填写。
|
|
165
|
+
|
|
193
166
|
| 工具 | 用途 |
|
|
194
167
|
|------|------|
|
|
195
|
-
| `
|
|
196
|
-
| `
|
|
197
|
-
| `
|
|
198
|
-
| `
|
|
199
|
-
| `
|
|
200
|
-
| `LeException` | 业务异常 |
|
|
201
|
-
| `I18n.getMessage()` | 国际化 |
|
|
202
|
-
| `TenantContextHolder.getTenantId()` | 租户上下文 |
|
|
203
|
-
| `PageMethod.startPage()` | 分页拦截 |
|
|
168
|
+
| `[对象转换工具]` | 对象转换 |
|
|
169
|
+
| `[集合工具]` | 集合判空/操作 |
|
|
170
|
+
| `[字符串工具]` | 字符串处理 |
|
|
171
|
+
| `[业务异常类]` | 抛出业务异常 |
|
|
172
|
+
| `[分页工具]` | 分页查询 |
|
|
204
173
|
|
|
205
174
|
## 绝对禁止
|
|
206
175
|
|
|
207
176
|
```java
|
|
208
|
-
// ❌
|
|
209
|
-
package org.dromara.xxx; // 必须 net.xnzn.core.xxx
|
|
210
|
-
|
|
211
|
-
// ❌ 旧验证包(JDK 21 必须用 jakarta)
|
|
177
|
+
// ❌ 旧验证包(JDK 17+ 必须用 jakarta)
|
|
212
178
|
import javax.validation.constraints.*;
|
|
179
|
+
// ✅ 使用 jakarta
|
|
180
|
+
import jakarta.validation.constraints.*;
|
|
213
181
|
|
|
214
|
-
// ❌
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
// ❌ 错误审计字段名
|
|
219
|
-
private String createBy; // 必须 crby
|
|
220
|
-
private LocalDateTime createTime; // 必须 crtime
|
|
221
|
-
|
|
222
|
-
// ❌ Entity 加 tenant_id(双库物理隔离,不需要)
|
|
182
|
+
// ❌ Map 传递业务数据
|
|
183
|
+
Map<String, Object> result = new HashMap<>();
|
|
184
|
+
// ✅ 使用 VO/DTO
|
|
185
|
+
return new OrderVO(order);
|
|
223
186
|
|
|
224
|
-
// ❌
|
|
187
|
+
// ❌ 在 Controller 直接操作数据库
|
|
188
|
+
// ✅ 通过 Service 层
|
|
225
189
|
|
|
226
|
-
// ❌
|
|
190
|
+
// ❌ 硬编码配置值
|
|
191
|
+
String url = "http://localhost:8080";
|
|
192
|
+
// ✅ 使用配置文件
|
|
193
|
+
@Value("${app.url}") String url;
|
|
227
194
|
```
|
|
228
195
|
|
|
229
196
|
## 数据库规范
|
|
230
197
|
|
|
231
198
|
```sql
|
|
232
|
-
CREATE TABLE
|
|
233
|
-
id
|
|
199
|
+
CREATE TABLE [表名] (
|
|
200
|
+
id BIGINT NOT NULL COMMENT '主键',
|
|
234
201
|
-- 业务字段...
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
202
|
+
create_by VARCHAR(64) COMMENT '创建人',
|
|
203
|
+
create_time DATETIME COMMENT '创建时间',
|
|
204
|
+
update_by VARCHAR(64) COMMENT '更新人',
|
|
205
|
+
update_time DATETIME COMMENT '更新时间',
|
|
206
|
+
deleted INT DEFAULT 0 COMMENT '逻辑删除(0-正常,1-删除)',
|
|
240
207
|
PRIMARY KEY (id)
|
|
241
208
|
);
|
|
242
|
-
-- ⚠️ 无需 tenant_id(双库物理隔离)
|
|
243
209
|
```
|
|
244
210
|
|
|
245
|
-
##
|
|
211
|
+
## 开发模式选择指南
|
|
246
212
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
|
252
|
-
|
|
253
|
-
|
|
|
254
|
-
|
|
|
255
|
-
|
|
|
213
|
+
根据功能复杂度和开发类型,选择合适的工作流:
|
|
214
|
+
|
|
215
|
+
### 复杂度路由表
|
|
216
|
+
|
|
217
|
+
| 复杂度 | 判断标准 | 推荐工作流 | 说明 |
|
|
218
|
+
|--------|---------|-----------|------|
|
|
219
|
+
| **轻量** | 单表 CRUD、字段增删、简单查询 | `/dev` 或 `/crud` 直接开发 | 无需需求拆解 |
|
|
220
|
+
| **中等** | 2-3 张表联动、跨 Service 调用、状态流转 | `/dev` 开发(可选 OpenSpec) | 建议先理清逻辑再编码 |
|
|
221
|
+
| **复杂** | 多模块协作、复杂业务流程、需要设计评审 | OpenSpec → `/dev` | 先用 `/opsx:ff` 生成制品,再按 tasks 逐步实现 |
|
|
222
|
+
|
|
223
|
+
### 开发类型路由
|
|
224
|
+
|
|
225
|
+
| 类型 | 特征 | 工作流 |
|
|
226
|
+
|------|------|--------|
|
|
227
|
+
| **产品开发(core 迭代)** | 改 core 代码、会有后续迭代 | 复杂功能用 OpenSpec 拆解,简单功能直接 `/dev` |
|
|
228
|
+
| **项目定制(一次性)** | Dz 前缀类、dz_ 表、@Primary 覆盖 | 直接 `/dev`,参考 `leniu-customization-location` 技能 |
|
|
229
|
+
|
|
230
|
+
### OpenSpec 与 Commands 的关系
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
OpenSpec(思考) Commands(执行)
|
|
234
|
+
─────────────── ──────────────
|
|
235
|
+
proposal.md ────→ /dev(按 task 逐个开发)
|
|
236
|
+
specs/*.md ────→ /crud(快速生成 CRUD)
|
|
237
|
+
design.md ────→ /check(验证规范)
|
|
238
|
+
tasks.md ────→ /progress(跟踪进度)
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
> **原则**:OpenSpec 负责需求拆解和设计决策,Commands 负责代码生成和质量管控。简单任务跳过 OpenSpec,直接用 Commands。
|
|
256
242
|
|
|
257
243
|
## 快速命令
|
|
258
244
|
|
|
@@ -261,3 +247,5 @@ CREATE TABLE xxx (
|
|
|
261
247
|
| `/dev` | 开发新功能 |
|
|
262
248
|
| `/crud` | 快速生成 CRUD |
|
|
263
249
|
| `/check` | 代码规范检查 |
|
|
250
|
+
| `/next` | 下一步建议(含 OpenSpec 变更扫描) |
|
|
251
|
+
| `/progress` | 项目进度(含 OpenSpec 状态) |
|
package/README.md
CHANGED
|
@@ -31,28 +31,59 @@ npx ai-engineering-init --tool all # 全部
|
|
|
31
31
|
|
|
32
32
|
> 所有命令均支持 `--tool <claude|cursor|codex|all>` 指定工具。运行 `--help` 查看全部选项。
|
|
33
33
|
|
|
34
|
+
## 3 分钟上手
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# 第一步:安装
|
|
38
|
+
npx ai-engineering-init --tool claude
|
|
39
|
+
|
|
40
|
+
# 第二步:修改配置(⚠️ 必做!)
|
|
41
|
+
# CLAUDE.md 和 AGENTS.md 是示例模板,包含 [你的xxx] 占位符
|
|
42
|
+
# 把它们替换为你的项目实际信息(包名、技术栈、架构规范等)
|
|
43
|
+
|
|
44
|
+
# 第三步:验证
|
|
45
|
+
# 在 Claude Code 中输入 /start,AI 会扫描并介绍你的项目
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**核心命令**(第一天用这 3 个就够了):
|
|
49
|
+
|
|
50
|
+
| 命令 | 作用 |
|
|
51
|
+
|------|------|
|
|
52
|
+
| `/start` | AI 扫描项目,给出概览 |
|
|
53
|
+
| `/dev` | 从需求到代码的完整开发流程 |
|
|
54
|
+
| `/check` | 检查代码是否符合规范 |
|
|
55
|
+
|
|
56
|
+
**更多命令**:`/crud`(生成增删改查)、`/progress`(项目进度)、`/sync`(代码状态同步)
|
|
57
|
+
|
|
58
|
+
> **包含内容**:88 个 Skills 技能 + 10 个快捷命令 + 自动化 Hooks。详见 [参考文档](./docs/reference.md)。
|
|
59
|
+
|
|
34
60
|
## 初始化后使用
|
|
35
61
|
|
|
36
62
|
### Claude Code
|
|
37
63
|
|
|
38
|
-
1.
|
|
39
|
-
2. 输入 `/start`
|
|
64
|
+
1. **必做**:修改 `CLAUDE.md` — 将 `[你的xxx]` 占位符替换为项目实际信息
|
|
65
|
+
2. 输入 `/start` 验证 AI 是否正确理解你的项目
|
|
66
|
+
3. MCP 工具已自动配置(`sequential-thinking`、`context7`),无需额外设置
|
|
40
67
|
|
|
41
68
|
### Cursor
|
|
42
69
|
|
|
43
|
-
1.
|
|
44
|
-
2. 在
|
|
70
|
+
1. **必做**:检查 `.cursor/mcp.json` 中的 MCP 服务器配置
|
|
71
|
+
2. 在 Chat 中输入 `/` 查看可用 Skills,或 `@技能名` 手动调用
|
|
72
|
+
3. 在 Settings → MCP 中确认 MCP 服务器已连接
|
|
45
73
|
|
|
46
74
|
### OpenAI Codex
|
|
47
75
|
|
|
48
|
-
1.
|
|
76
|
+
1. **必做**:修改 `AGENTS.md` — 将模板内容替换为你的项目规范
|
|
77
|
+
2. 使用 `.codex/skills/` 下的技能辅助开发
|
|
49
78
|
|
|
50
79
|
## 更多信息
|
|
51
80
|
|
|
52
|
-
[参考文档](./docs/reference.md) — Skills
|
|
81
|
+
[参考文档](./docs/reference.md) — Skills 列表、包含内容、命令详情、其他安装方式、全部选项
|
|
53
82
|
|
|
54
83
|
[更新日志](./CHANGELOG.md) — 完整版本变更记录
|
|
55
84
|
|
|
85
|
+
[贡献指南](./CONTRIBUTING.md) — 如何维护和更新 Skills,团队协作工作流
|
|
86
|
+
|
|
56
87
|
## License
|
|
57
88
|
|
|
58
89
|
MIT
|
package/bin/index.js
CHANGED
|
@@ -525,16 +525,20 @@ function showDoneHint(toolKey) {
|
|
|
525
525
|
console.log('');
|
|
526
526
|
if (toolKey === 'claude' || toolKey === 'all') {
|
|
527
527
|
console.log(fmt('cyan', 'Claude Code 使用:'));
|
|
528
|
-
console.log(` 1.
|
|
528
|
+
console.log(` 1. ${fmt('bold', '必做')}:修改 ${fmt('bold', 'CLAUDE.md')} — 把 [你的xxx] 占位符替换为项目实际信息`);
|
|
529
529
|
console.log(` 2. 在 Claude Code 中输入 ${fmt('bold', '/start')} 快速了解项目`);
|
|
530
530
|
console.log(` 3. 输入 ${fmt('bold', '/dev')} 开始开发新功能`);
|
|
531
531
|
console.log('');
|
|
532
|
+
console.log(fmt('yellow', ' 💡 CLAUDE.md 和 AGENTS.md 是示例模板,务必替换占位符后使用'));
|
|
533
|
+
console.log(fmt('yellow', ` 💡 运行 ${fmt('bold', hintCmd('mcp'))} 管理 MCP 服务器(云效、语雀等)`));
|
|
534
|
+
console.log('');
|
|
532
535
|
}
|
|
533
536
|
if (toolKey === 'cursor' || toolKey === 'all') {
|
|
534
537
|
console.log(fmt('cyan', 'Cursor 使用:'));
|
|
535
538
|
console.log(` 1. 在 Cursor Chat 中输入 ${fmt('bold', '/')} 查看所有可用 Skills`);
|
|
536
539
|
console.log(` 2. 输入 ${fmt('bold', '@技能名')} 手动调用指定技能`);
|
|
537
540
|
console.log(` 3. 在 Settings → MCP 中确认 MCP 服务器已连接`);
|
|
541
|
+
console.log(fmt('yellow', ` 💡 运行 ${fmt('bold', hintCmd('mcp'))} 管理 MCP 服务器(云效、语雀等)`));
|
|
538
542
|
console.log('');
|
|
539
543
|
}
|
|
540
544
|
if (toolKey === 'codex' || toolKey === 'all') {
|