@shirayner/ace 0.1.8-SNAPSHOT.3 → 0.1.8-SNAPSHOT.5
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/package.json
CHANGED
package/src/commands/spec.js
CHANGED
|
@@ -51,7 +51,7 @@ async function initTeamConventions(targetDir, options) {
|
|
|
51
51
|
|
|
52
52
|
const urlInput = await p.text({
|
|
53
53
|
message: 'Enter the Git repository URL for team conventions:',
|
|
54
|
-
placeholder: '
|
|
54
|
+
placeholder: 'http://git.dev.sh.ctripcorp.com/r.shi/dev-guide.git',
|
|
55
55
|
validate: (value) => {
|
|
56
56
|
if (!value || value.trim().length === 0) return 'URL is required';
|
|
57
57
|
if (!value.match(/^(https?:\/\/|git@)/)) return 'Must be a valid git URL (https:// or git@)';
|
package/src/core/installer.js
CHANGED
|
@@ -280,7 +280,7 @@ export class Installer {
|
|
|
280
280
|
|
|
281
281
|
// 3. Register in known_marketplaces.json
|
|
282
282
|
const marketplaceEntry = {
|
|
283
|
-
source: { source: '
|
|
283
|
+
source: { source: 'directory', path: MARKETPLACE_DIR },
|
|
284
284
|
installLocation: MARKETPLACE_DIR,
|
|
285
285
|
lastUpdated: new Date().toISOString(),
|
|
286
286
|
};
|
|
@@ -1,11 +1,90 @@
|
|
|
1
1
|
# 澄清维度
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
**设计**:架构决策 | 技术选型 | 接口设计 | 数据状态 | 安全合规 | 性能可靠性 | 部署运维
|
|
3
|
+
分析不确定性时参考以下维度和深度问题。**聚焦实际不确定的部分,不逐条遍历。**
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
## 需求维度
|
|
6
|
+
|
|
7
|
+
**功能完整性**
|
|
8
|
+
- 用户说的是最终目标还是只第一步?完整闭环还需要什么?
|
|
9
|
+
- 涉及几种角色?每种角色的核心操作路径?
|
|
10
|
+
- 正常流完成后系统状态应该是什么?如何验证?
|
|
11
|
+
|
|
12
|
+
**数据关切**
|
|
13
|
+
- 数据从哪来?谁写入?生命周期多长?
|
|
14
|
+
- 一致性要求:最终一致还是强一致?跨服务如何协调?
|
|
15
|
+
- 量级估算:初始多少?增长速率?是否影响方案选择?
|
|
16
|
+
|
|
17
|
+
**用户体验**
|
|
18
|
+
- 操作频率和场景?高频操作的摩擦成本?
|
|
19
|
+
- 失败时用户看到什么?如何恢复?
|
|
20
|
+
- 响应时间预期?异步还是同步?
|
|
21
|
+
|
|
22
|
+
**边界异常**
|
|
23
|
+
- 并发:多人同时操作同一资源会怎样?
|
|
24
|
+
- 极端输入:为空?超长?格式异常?
|
|
25
|
+
- 中断恢复:操作一半断连/崩溃,系统如何恢复?
|
|
26
|
+
|
|
27
|
+
**集成依赖**
|
|
28
|
+
- 外部服务 SLA?不可用时如何降级?
|
|
29
|
+
- 上游接口版本兼容:变更如何感知和适配?
|
|
30
|
+
- 超时和重试策略?
|
|
31
|
+
|
|
32
|
+
**优先级范围**
|
|
33
|
+
- MVP 边界:什么可以二期?判断标准?
|
|
34
|
+
- 硬截止日期?日期压力如何影响范围?
|
|
35
|
+
- 只能交付 60% 时哪些最优先?
|
|
36
|
+
|
|
37
|
+
## 设计维度
|
|
38
|
+
|
|
39
|
+
**架构决策**
|
|
40
|
+
- 什么规模下会不适用?预期何时需重新评估?
|
|
41
|
+
- 选 X 意味着放弃什么(lock-in)?回头成本?
|
|
42
|
+
- 团队有运维经验吗?学习曲线?
|
|
43
|
+
|
|
44
|
+
**技术选型**
|
|
45
|
+
- 隐含假设(版本稳定性、社区活跃度)是否成立?
|
|
46
|
+
- 与现有技术栈集成成本?新运维负担?
|
|
47
|
+
- 是否有"够用就好"的简单替代?
|
|
48
|
+
|
|
49
|
+
**接口设计**
|
|
50
|
+
- 消费者是谁?最在意什么(延迟/吞吐/易用性)?
|
|
51
|
+
- 向后兼容:字段废弃、版本迁移如何处理?
|
|
52
|
+
- 数据量增长后接口行为如何变化(批量/分页)?
|
|
53
|
+
|
|
54
|
+
**数据状态**
|
|
55
|
+
- Schema 变更迁移策略?需要双写过渡期?
|
|
56
|
+
- 删除策略:软删还是物理删?合规要求?
|
|
57
|
+
- 缓存与源数据一致性?失效策略?
|
|
58
|
+
|
|
59
|
+
**安全合规**
|
|
60
|
+
- 认证授权模型:谁能访问什么?最小权限?
|
|
61
|
+
- 敏感数据(PII)处理:加密?审计?
|
|
62
|
+
- 第三方依赖安全状态?已知 CVE?
|
|
63
|
+
|
|
64
|
+
**性能可靠性**
|
|
65
|
+
- 量化目标:P99 延迟?QPS 峰值?
|
|
66
|
+
- 故障隔离:组件失败的爆炸半径?熔断/限流?
|
|
67
|
+
- 可观测性:如何发现问题?告警阈值?
|
|
68
|
+
|
|
69
|
+
**部署运维**
|
|
70
|
+
- 发布策略:滚动/蓝绿/金丝雀?回滚时间目标?
|
|
71
|
+
- 配置管理:环境相关的部分如何切换?
|
|
72
|
+
- 关键监控指标?on-call 责任?
|
|
73
|
+
|
|
74
|
+
## 通用高频盲区(首次使用即有效)
|
|
75
|
+
|
|
76
|
+
| 维度 | 盲区 | 为何常被忽视 | 暴露时机 |
|
|
77
|
+
|------|------|-------------|----------|
|
|
78
|
+
| 边界异常 | 并发竞态条件 | 单用户测试通过 | 上线后流量压力下 |
|
|
79
|
+
| 集成依赖 | 第三方限流/降级 | 开发环境无限制 | 生产流量尖峰 |
|
|
80
|
+
| 数据状态 | 迁移向后兼容 | 新字段易加旧数据难迁 | 发布后无法回滚 |
|
|
81
|
+
| 性能可靠性 | 缓存击穿/雪崩 | 缓存正常时一切OK | 缓存失效瞬间 |
|
|
82
|
+
| 接口设计 | 幂等性缺失 | 正常调用无问题 | 重试/补偿场景 |
|
|
83
|
+
| 安全合规 | 横向越权 | 纵向权限明确横向常漏 | 渗透测试 |
|
|
84
|
+
| 部署运维 | 有状态服务扩缩容 | 无状态容易有状态难 | 扩容时数据不一致 |
|
|
85
|
+
| 功能完整性 | 取消/撤销/回退路径 | 正向流程优先实现 | 用户误操作时 |
|
|
7
86
|
|
|
8
87
|
## 项目已知盲区(优先检查)
|
|
9
88
|
|
|
10
|
-
<!--
|
|
89
|
+
<!-- 由经验进化体系自动维护。格式:维度 | 盲区描述 | 来源 change -->
|
|
11
90
|
*首次 archive 后自动填充。*
|