@llryiop/avatar-boot-cli 1.0.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 +309 -0
- package/bin/cli.js +3 -0
- package/docs/plans/2026-03-12-avatar-boot-cli-design.md +73 -0
- package/docs/plans/2026-03-12-avatar-boot-cli-plan.md +681 -0
- package/package.json +28 -0
- package/src/index.js +78 -0
- package/src/prompts.js +78 -0
- package/src/template.js +37 -0
- package/src/transform.js +172 -0
- package/src/utils.js +34 -0
- package/templates/.claude/rules/architecture-redlines.md +146 -0
- package/templates/.claude/rules/code-review-standards.md +137 -0
- package/templates/.claude/rules/coding-standards.md +56 -0
- package/templates/.claude/rules/git-commit.md +59 -0
- package/templates/.claude/rules/layered-architecture.md +201 -0
- package/templates/.claude/rules/mybatis-plus.md +263 -0
- package/templates/.claude/rules/tech-stack.md +41 -0
- package/templates/.claude/rules/version.md +467 -0
- package/templates/.claude/settings.local.json +18 -0
- package/templates/.claude/skills/ai-tool-guide/SKILL.md +314 -0
- package/templates/.claude/skills/api-design/SKILL.md +200 -0
- package/templates/.claude/skills/api-doc-generator/SKILL.md +380 -0
- package/templates/.claude/skills/api-service-module-creator/SKILL.md +1114 -0
- package/templates/.claude/skills/avatar-boot-starter-feign/SKILL.md +243 -0
- package/templates/.claude/skills/avatar-boot-starter-job/SKILL.md +437 -0
- package/templates/.claude/skills/avatar-boot-starter-kafka/SKILL.md +580 -0
- package/templates/.claude/skills/avatar-boot-starter-mysql/SKILL.md +572 -0
- package/templates/.claude/skills/avatar-boot-starter-nacos/SKILL.md +901 -0
- package/templates/.claude/skills/avatar-boot-starter-oss/SKILL.md +594 -0
- package/templates/.claude/skills/avatar-boot-starter-redis/SKILL.md +586 -0
- package/templates/.claude/skills/avatar-boot-starter-rocketmq/SKILL.md +662 -0
- package/templates/.claude/skills/avatar-boot-starter-web/SKILL.md +1007 -0
- package/templates/.claude/skills/changelog-generator/SKILL.md +114 -0
- package/templates/.claude/skills/code-review/SKILL.md +239 -0
- package/templates/.claude/skills/crud-generator/SKILL.md +824 -0
- package/templates/.claude/skills/database-design/SKILL.md +377 -0
- package/templates/.claude/skills/deployment-config/SKILL.md +277 -0
- package/templates/.claude/skills/incident-analysis/SKILL.md +241 -0
- package/templates/.claude/skills/integration-test-generator/SKILL.md +496 -0
- package/templates/.claude/skills/prompt-engineering/SKILL.md +249 -0
- package/templates/.claude/skills/requirement-management/SKILL.md +244 -0
- package/templates/.claude/skills/security-audit/SKILL.md +330 -0
- package/templates/.claude/skills/test-case-design/SKILL.md +257 -0
- package/templates/.claude/skills/testing-workflow/SKILL.md +68 -0
- package/templates/.claude/skills/troubleshooting/SKILL.md +240 -0
- package/templates/CLAUDE.md +173 -0
- package/templates/README.md +303 -0
- package/templates/avatar-scaffold-api/pom.xml +41 -0
- package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/api/LoginFeignClient.java +40 -0
- package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/constant/LoginConstant.java +21 -0
- package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/dto/request/LoginRequest.java +17 -0
- package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/dto/request/RefreshTokenRequest.java +14 -0
- package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/dto/response/LoginResponse.java +31 -0
- package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/dto/response/TokenInfoResponse.java +25 -0
- package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/enums/LoginTypeEnum.java +23 -0
- package/templates/avatar-scaffold-api/src/main/java/com/iflytek/avatar/login/exception/LoginException.java +23 -0
- package/templates/avatar-scaffold-service/k8s-app/Dockerfile +14 -0
- package/templates/avatar-scaffold-service/k8s-app/Dockerfile-arm64 +14 -0
- package/templates/avatar-scaffold-service/packaging/assembly.xml +16 -0
- package/templates/avatar-scaffold-service/pom.xml +150 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/Application.java +21 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/config/LoginConfig.java +20 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/controller/LoginController.java +37 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/converter/LoginConverter.java +54 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/feign/DemoFeign.java +21 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/repository/entity/UserLoginEntity.java +33 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/repository/entity/UserTokenEntity.java +39 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/repository/mapper/UserLoginMapper.java +20 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/service/LoginService.java +22 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/service/impl/LoginServiceImpl.java +43 -0
- package/templates/avatar-scaffold-service/src/main/java/com/iflytek/avatar/login/utils/LoginUtils.java +31 -0
- package/templates/avatar-scaffold-service/src/main/resources/application-dev.yaml +29 -0
- package/templates/avatar-scaffold-service/src/main/resources/application-local.yaml +61 -0
- package/templates/avatar-scaffold-service/src/main/resources/application-prod.yaml +28 -0
- package/templates/avatar-scaffold-service/src/main/resources/application-test.yaml +28 -0
- package/templates/avatar-scaffold-service/src/main/resources/application.yaml +12 -0
- package/templates/pom.xml +98 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: incident-analysis
|
|
3
|
+
description: |
|
|
4
|
+
故障分析与复盘技能。当用户提到以下关键词时触发:
|
|
5
|
+
incident, 故障分析, postmortem, 复盘, 事故, 故障报告,
|
|
6
|
+
线上故障, 生产事故, 事后分析, 故障复盘
|
|
7
|
+
|
|
8
|
+
本技能提供故障事件的时间线重建、影响评估、5-Why 根因分析、
|
|
9
|
+
修复跟踪、预防措施制定和事故报告模板等完整指导。
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# 故障分析与复盘技能
|
|
13
|
+
|
|
14
|
+
> **与 troubleshooting 的区别**:本 Skill 用于**已解决故障的事后复盘**(时间线、根因、报告、预防)。如需**正在发生的问题的实时排查和修复**,请使用 [troubleshooting](../troubleshooting/) Skill。
|
|
15
|
+
|
|
16
|
+
## 适用场景
|
|
17
|
+
|
|
18
|
+
- 线上故障的事后分析
|
|
19
|
+
- 故障复盘会议准备
|
|
20
|
+
- 编写事故报告
|
|
21
|
+
- 制定预防改进措施
|
|
22
|
+
- 故障响应流程优化
|
|
23
|
+
|
|
24
|
+
## 时间线重建模板
|
|
25
|
+
|
|
26
|
+
故障时间线是复盘的基础,必须精确到分钟:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
时间线记录格式:
|
|
30
|
+
|
|
31
|
+
[HH:MM] 事件描述 | 操作人/系统 | 依据(监控/日志/通知)
|
|
32
|
+
|
|
33
|
+
示例:
|
|
34
|
+
[09:15] 监控告警:用户服务 API 响应时间超过 5s | Prometheus 告警 | Grafana 面板
|
|
35
|
+
[09:17] 值班人员收到告警通知 | 张三(值班) | 企业微信通知
|
|
36
|
+
[09:20] 确认问题:用户查询接口超时 | 张三 | 日志排查
|
|
37
|
+
[09:25] 定位原因:数据库连接池耗尽 | 张三 | HikariCP 监控
|
|
38
|
+
[09:30] 发现根因:凌晨上线的批量导出功能未加分页 | 张三、李四 | 代码审查
|
|
39
|
+
[09:35] 执行修复:重启服务 + 临时增大连接池 | 李四 | 运维操作
|
|
40
|
+
[09:40] 服务恢复正常 | 监控系统 | Grafana 面板
|
|
41
|
+
[10:00] 发布热修复版本:添加分页和超时控制 | 李四 | Git 提交记录
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 影响评估
|
|
45
|
+
|
|
46
|
+
### 评估维度
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
1. 影响范围
|
|
50
|
+
├── 受影响的服务/模块
|
|
51
|
+
├── 受影响的功能
|
|
52
|
+
└── 是否有级联影响
|
|
53
|
+
|
|
54
|
+
2. 影响时长
|
|
55
|
+
├── 故障开始时间
|
|
56
|
+
├── 发现时间(TTD: Time To Detect)
|
|
57
|
+
├── 响应时间(TTR: Time To Respond)
|
|
58
|
+
├── 修复时间(TTF: Time To Fix)
|
|
59
|
+
└── 恢复时间(MTTR: Mean Time To Recover)
|
|
60
|
+
|
|
61
|
+
3. 影响用户
|
|
62
|
+
├── 受影响用户数量
|
|
63
|
+
├── 受影响请求数量
|
|
64
|
+
├── 错误率变化
|
|
65
|
+
└── 是否有数据丢失
|
|
66
|
+
|
|
67
|
+
4. 业务影响
|
|
68
|
+
├── 是否影响核心业务流程
|
|
69
|
+
├── 是否造成经济损失
|
|
70
|
+
├── 是否违反 SLA 承诺
|
|
71
|
+
└── 是否影响客户信任
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 故障等级定义
|
|
75
|
+
|
|
76
|
+
| 等级 | 定义 | 响应时间 | 示例 |
|
|
77
|
+
|--------|----------------------------------|-----------|------------------------------|
|
|
78
|
+
| P0 | 核心服务完全不可用 | 5 分钟内 | 全站不可访问、数据丢失 |
|
|
79
|
+
| P1 | 核心功能严重受损 | 15 分钟内 | 登录失败、支付异常 |
|
|
80
|
+
| P2 | 非核心功能异常 | 30 分钟内 | 报表延迟、搜索降级 |
|
|
81
|
+
| P3 | 轻微影响,用户可绕过 | 2 小时内 | 页面样式问题、非关键提示错误 |
|
|
82
|
+
|
|
83
|
+
## 5-Why 根因分析
|
|
84
|
+
|
|
85
|
+
### 分析方法
|
|
86
|
+
|
|
87
|
+
从表面现象出发,连续追问"为什么",直到找到根本原因:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
示例:用户服务 API 响应超时
|
|
91
|
+
|
|
92
|
+
Why 1: 为什么 API 响应超时?
|
|
93
|
+
→ 因为数据库查询耗时过长
|
|
94
|
+
|
|
95
|
+
Why 2: 为什么数据库查询耗时过长?
|
|
96
|
+
→ 因为数据库连接池已满,新请求排队等待
|
|
97
|
+
|
|
98
|
+
Why 3: 为什么连接池已满?
|
|
99
|
+
→ 因为有大量慢查询占用连接不释放
|
|
100
|
+
|
|
101
|
+
Why 4: 为什么有大量慢查询?
|
|
102
|
+
→ 因为凌晨上线的批量导出功能对全表执行无分页查询
|
|
103
|
+
|
|
104
|
+
Why 5: 为什么无分页查询能上线?
|
|
105
|
+
→ 因为代码审查未覆盖 SQL 性能检查,且缺少慢查询告警
|
|
106
|
+
|
|
107
|
+
根本原因: 代码审查流程缺少 SQL 性能检查环节
|
|
108
|
+
直接原因: 批量导出功能未做分页查询
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 分析要点
|
|
112
|
+
|
|
113
|
+
1. **不停留在表象** — "服务挂了"不是根因,要追问为什么挂
|
|
114
|
+
2. **不归咎于人** — 分析系统和流程的问题,而非个人失误
|
|
115
|
+
3. **可操作的结论** — 根因必须对应可落地的改进措施
|
|
116
|
+
4. **多因素分析** — 一个故障可能有多条因果链
|
|
117
|
+
|
|
118
|
+
## 修复实施跟踪
|
|
119
|
+
|
|
120
|
+
### 修复任务分类
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
紧急修复(Hotfix):
|
|
124
|
+
- 目标:立即止血,恢复服务
|
|
125
|
+
- 时间:故障发生后立即执行
|
|
126
|
+
- 方式:回滚、重启、临时配置调整
|
|
127
|
+
|
|
128
|
+
短期修复(Short-term Fix):
|
|
129
|
+
- 目标:修复根本问题
|
|
130
|
+
- 时间:1-3 个工作日
|
|
131
|
+
- 方式:代码修复 + 测试 + 发布
|
|
132
|
+
|
|
133
|
+
长期改进(Long-term Improvement):
|
|
134
|
+
- 目标:防止同类问题再次发生
|
|
135
|
+
- 时间:1-4 周
|
|
136
|
+
- 方式:架构优化、流程改进、工具建设
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 跟踪表格
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
| 编号 | 类型 | 任务描述 | 负责人 | 截止日期 | 状态 |
|
|
143
|
+
|------|---------|---------------------------|--------|------------|---------|
|
|
144
|
+
| F-01 | 紧急修复 | 重启服务恢复可用 | 李四 | 2024-01-15 | 已完成 |
|
|
145
|
+
| F-02 | 短期修复 | 批量导出接口添加分页 | 王五 | 2024-01-17 | 进行中 |
|
|
146
|
+
| F-03 | 长期改进 | 建立 SQL 审查自动化检测 | 张三 | 2024-02-01 | 待开始 |
|
|
147
|
+
| F-04 | 长期改进 | 完善数据库连接池监控告警 | 赵六 | 2024-01-25 | 待开始 |
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## 预防措施
|
|
151
|
+
|
|
152
|
+
### 技术层面
|
|
153
|
+
|
|
154
|
+
1. **监控完善** — 补充关键指标告警(响应时间、错误率、连接池使用率)
|
|
155
|
+
2. **熔断降级** — 关键服务添加熔断和降级策略
|
|
156
|
+
3. **限流防护** — 接口添加限流保护
|
|
157
|
+
4. **灰度发布** — 新功能分批发布,降低影响范围
|
|
158
|
+
5. **自动化测试** — 补充集成测试和性能测试
|
|
159
|
+
|
|
160
|
+
### 流程层面
|
|
161
|
+
|
|
162
|
+
1. **代码审查** — 加强 SQL 性能和安全相关的审查
|
|
163
|
+
2. **变更管理** — 明确上线审批和回滚流程
|
|
164
|
+
3. **值班机制** — 确保告警能及时触达责任人
|
|
165
|
+
4. **演练机制** — 定期进行故障演练
|
|
166
|
+
5. **知识沉淀** — 故障复盘结论同步到团队知识库
|
|
167
|
+
|
|
168
|
+
## 事故报告模板
|
|
169
|
+
|
|
170
|
+
```markdown
|
|
171
|
+
# 故障报告
|
|
172
|
+
|
|
173
|
+
## 基本信息
|
|
174
|
+
- 故障标题: [一句话描述]
|
|
175
|
+
- 故障等级: P0 / P1 / P2 / P3
|
|
176
|
+
- 发生时间: YYYY-MM-DD HH:MM
|
|
177
|
+
- 恢复时间: YYYY-MM-DD HH:MM
|
|
178
|
+
- 持续时长: XX 分钟
|
|
179
|
+
- 影响范围: [受影响的服务/功能/用户数]
|
|
180
|
+
- 报告人: [姓名]
|
|
181
|
+
- 参与处理人: [姓名列表]
|
|
182
|
+
|
|
183
|
+
## 故障概要
|
|
184
|
+
[2-3 句话描述故障现象和影响]
|
|
185
|
+
|
|
186
|
+
## 时间线
|
|
187
|
+
| 时间 | 事件 | 操作人 | 备注 |
|
|
188
|
+
|------|--------------|--------|---------|
|
|
189
|
+
| HH:MM | [事件描述] | [人员] | [说明] |
|
|
190
|
+
|
|
191
|
+
## 根因分析
|
|
192
|
+
### 直接原因
|
|
193
|
+
[描述直接导致故障的原因]
|
|
194
|
+
|
|
195
|
+
### 根本原因(5-Why 分析)
|
|
196
|
+
Why 1: ...
|
|
197
|
+
Why 2: ...
|
|
198
|
+
Why 3: ...
|
|
199
|
+
Why 4: ...
|
|
200
|
+
Why 5: ...
|
|
201
|
+
|
|
202
|
+
### 触发因素
|
|
203
|
+
[描述触发故障的操作或事件]
|
|
204
|
+
|
|
205
|
+
## 影响评估
|
|
206
|
+
- 受影响用户数: [数量]
|
|
207
|
+
- 受影响请求数: [数量]
|
|
208
|
+
- 错误率峰值: [百分比]
|
|
209
|
+
- 是否有数据丢失: 是 / 否
|
|
210
|
+
- 经济损失估算: [金额]
|
|
211
|
+
|
|
212
|
+
## 修复措施
|
|
213
|
+
### 紧急修复
|
|
214
|
+
- [已执行的紧急措施]
|
|
215
|
+
|
|
216
|
+
### 后续改进
|
|
217
|
+
| 编号 | 任务 | 负责人 | 截止日期 | 优先级 |
|
|
218
|
+
|-----|-------------|--------|-----------|-------|
|
|
219
|
+
| 1 | [任务描述] | [人员] | YYYY-MM-DD | 高 |
|
|
220
|
+
|
|
221
|
+
## 经验教训
|
|
222
|
+
1. [总结1]
|
|
223
|
+
2. [总结2]
|
|
224
|
+
3. [总结3]
|
|
225
|
+
|
|
226
|
+
## 附录
|
|
227
|
+
- 相关日志截图
|
|
228
|
+
- 监控面板截图
|
|
229
|
+
- 相关代码变更链接
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## 最佳实践
|
|
233
|
+
|
|
234
|
+
1. **无责文化** — 复盘聚焦于系统和流程,而非追究个人责任
|
|
235
|
+
2. **及时复盘** — 故障恢复后 48 小时内完成复盘
|
|
236
|
+
3. **全员参与** — 相关方都参加复盘会议,确保信息完整
|
|
237
|
+
4. **数据驱动** — 用监控数据和日志支撑分析,避免凭记忆推测
|
|
238
|
+
5. **闭环跟踪** — 改进措施必须有负责人和截止日期,定期检查进度
|
|
239
|
+
6. **知识共享** — 典型故障案例沉淀为团队知识库
|
|
240
|
+
7. **预防为主** — 从故障中提炼通用的预防模式,应用到其他服务
|
|
241
|
+
8. **持续改进** — 定期回顾历史故障,评估改进措施的效果
|