openspec-playwright 0.3.27 → 0.3.29
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/employee-standards.md +21 -22
- package/package.json +1 -1
- package/.claude/commands/CLAUDE.md +0 -12
- package/.claude/commands/opsx/CLAUDE.md +0 -12
- package/.claude/skills/CLAUDE.md +0 -12
package/employee-standards.md
CHANGED
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
**项目规范**:动手前读 `openspec/config.yaml`(技术栈、结构、约定、约束等),无内容则忽略。
|
|
12
12
|
|
|
13
|
-
E2E
|
|
14
|
-
- gstack
|
|
15
|
-
- OpenSpec CLI
|
|
16
|
-
- openspec-playwright
|
|
13
|
+
**E2E 工作流前提**(由用户确保,非 AI 操作):
|
|
14
|
+
- gstack:提供 `/browse` 探索 + `/qa` 浏览器验证(安装见 README)
|
|
15
|
+
- OpenSpec CLI:提供变更管理能力(安装见 README)
|
|
16
|
+
- openspec-playwright:提供 `/opsx:e2e` 命令(安装见 README)
|
|
17
17
|
- 项目包含 `specs/`、`changes/`、`tests/playwright/` 目录
|
|
18
18
|
|
|
19
19
|
## 1. 浏览器操作约束
|
|
@@ -36,15 +36,20 @@ E2E 工作流前提(由用户确保,非 AI 操作):
|
|
|
36
36
|
|
|
37
37
|
**禁止非通用性改动**:
|
|
38
38
|
- 不写只适配特定输入值的逻辑
|
|
39
|
-
-
|
|
39
|
+
- 禁止假设外部数据有效 → 必须校验类型/范围/null
|
|
40
40
|
- 处理数据时考虑边界情况(空值、异常值、边界值)
|
|
41
41
|
- 断言用通用规则,不用具体值(除非明确要求)
|
|
42
|
-
- 禁止魔法数字 →
|
|
42
|
+
- 禁止魔法数字 → 用常量或枚举,注释说明原因(例如:`const MAX_RETRIES = 3; // 网络请求最大重试次数`)
|
|
43
43
|
- 禁止隐式成功假设 → 异步/外部操作必须处理失败情况
|
|
44
44
|
- 禁止响应结构假设 → 先校验返回结构再访问深层属性
|
|
45
45
|
- 禁止精度/范围假设 → 计算前确认数值在安全范围内
|
|
46
46
|
- 禁止资源泄漏假设 → 文件/连接/cursor 等使用后必须释放
|
|
47
47
|
|
|
48
|
+
**错误处理指导**:
|
|
49
|
+
- lint 失败:运行 `npm run lint:fix` 自动修复,手动修复剩余问题
|
|
50
|
+
- typecheck 失败:检查类型定义,修复类型错误
|
|
51
|
+
- 测试失败:检查测试用例,修复实现或测试
|
|
52
|
+
|
|
48
53
|
## 3. 上下文管理
|
|
49
54
|
|
|
50
55
|
**文件读取完整**:超过 500 行的文件,不要假设单次读取覆盖完整内容——根据需要分次读取或编辑前重新读取完整文件。超过 10 条消息后,编辑任何文件前强制重新读取。
|
|
@@ -61,9 +66,11 @@ E2E 工作流前提(由用户确保,非 AI 操作):
|
|
|
61
66
|
**重构前清死代码**:未使用的 import/export/prop/console.log 先删掉,单独提交,再做重构。
|
|
62
67
|
|
|
63
68
|
## 4. 大规模任务处理
|
|
69
|
+
|
|
64
70
|
**200 行以上修改或显著架构变更必须走 OpenSpec**:代码改动超过 200 行、或涉及新增服务/API 契约/数据模型重构时,禁止直接修改,必须通过 OpenSpec 工作流(/opsx:propose)。
|
|
65
71
|
|
|
66
72
|
## 5. 工具限制与编辑安全
|
|
73
|
+
|
|
67
74
|
**搜索要全**:用 Grep 搜内容,用 Glob 搜文件名。两者缺一不可。搜项目/工作区时默认包含所有源码类型,跳过 node_modules/、vendor/、__pycache__ 等依赖目录(调试依赖时除外);搜子目录时按需缩小。重命名时覆盖调用、类型、字符串、`import`、barrel file、测试 mock,不得假设一次覆盖所有情况。
|
|
68
75
|
|
|
69
76
|
**编辑要求**:编辑后重新读取文件确认变更正确应用。变更完成后,明确告知用户可能遗漏的区域(动态引用、测试 mock 等),提示人工复查。
|
|
@@ -74,6 +81,11 @@ E2E 工作流前提(由用户确保,非 AI 操作):
|
|
|
74
81
|
|
|
75
82
|
**中文回复**:用中文回复用户。
|
|
76
83
|
|
|
84
|
+
**安全规范**:
|
|
85
|
+
- 敏感信息:不提交 API 密钥、密码、token 等敏感信息
|
|
86
|
+
- 依赖安全:定期运行 `npm audit` 或 `yarn audit` 检查依赖漏洞
|
|
87
|
+
- 环境变量:使用 `.env` 文件存储配置,不提交到版本控制
|
|
88
|
+
|
|
77
89
|
---
|
|
78
90
|
|
|
79
91
|
## 6. 完整生产工作流
|
|
@@ -101,22 +113,9 @@ E2E 工作流前提(由用户确保,非 AI 操作):
|
|
|
101
113
|
- `/plan-design-review`:UI/UX 方案审查,评分各设计维度,确保用户体验达标
|
|
102
114
|
|
|
103
115
|
**4. 实现**:执行 `/opsx:apply` 进行实现。
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
-
|
|
107
|
-
- 实施中:禁止修改其他 `changes/<name2>/` 目录下的文件
|
|
108
|
-
- 完成后:逐条对照 proposal.md 确认 scope 内的已交付,scope 外的未改动
|
|
109
|
-
|
|
110
|
-
**4.2 任务类型区分**:
|
|
111
|
-
- **构建任务**:创建文件/代码 → 对应语言 lint + typecheck 通过后可标记
|
|
112
|
-
- **验证任务**:需实际运行 → 必须验证后才能标记
|
|
113
|
-
- **依赖任务**:等前置完成 → 不提前标记
|
|
114
|
-
|
|
115
|
-
**4.3 依赖链检查**:标记依赖任务前,检查前置任务状态
|
|
116
|
-
|
|
117
|
-
**4.4 自动化 Gate**:对应语言 lint + typecheck 自动执行,任一失败则停止
|
|
118
|
-
|
|
119
|
-
**4.5 Verify 强制化**:必须 verify 通过后才能标记完成,禁止跳过
|
|
116
|
+
- **变更边界检查**:实施前对照 proposal.md 确认范围,实施中禁止修改其他 changes 目录,完成后逐条对照确认
|
|
117
|
+
- **任务类型区分**:构建任务(lint+typecheck 后标记)、验证任务(实际运行后标记)、依赖任务(等前置完成)
|
|
118
|
+
- **自动化 Gate**:lint + typecheck 自动执行,任一失败则停止
|
|
120
119
|
|
|
121
120
|
**5. E2E 测试**:`/opsx:e2e <change-name>` 生成 Playwright 测试 → `/browse` 探索真实 DOM → Healer 自动修复 → `/qa` 真实浏览器验证。E2E 通过后,由用户决定发布时机。
|
|
122
121
|
|
package/package.json
CHANGED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<claude-mem-context>
|
|
2
|
-
# Recent Activity
|
|
3
|
-
|
|
4
|
-
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
|
5
|
-
|
|
6
|
-
### Mar 27, 2026
|
|
7
|
-
|
|
8
|
-
| ID | Time | T | Title | Read |
|
|
9
|
-
| ----- | -------- | --- | ---------------------------------------------------------- | ---- |
|
|
10
|
-
| #5419 | 10:01 AM | 🟣 | Added Claude Code command opsx-e2e.md for E2E verification | ~213 |
|
|
11
|
-
|
|
12
|
-
</claude-mem-context>
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<claude-mem-context>
|
|
2
|
-
# Recent Activity
|
|
3
|
-
|
|
4
|
-
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
|
5
|
-
|
|
6
|
-
### Mar 27, 2026
|
|
7
|
-
|
|
8
|
-
| ID | Time | T | Title | Read |
|
|
9
|
-
| ----- | -------- | --- | ----------------------------------------------------- | ---- |
|
|
10
|
-
| #5434 | 10:15 AM | 🔄 | Organized OpenSpec command files under opsx namespace | ~145 |
|
|
11
|
-
|
|
12
|
-
</claude-mem-context>
|
package/.claude/skills/CLAUDE.md
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<claude-mem-context>
|
|
2
|
-
# Recent Activity
|
|
3
|
-
|
|
4
|
-
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
|
5
|
-
|
|
6
|
-
### Mar 27, 2026
|
|
7
|
-
|
|
8
|
-
| ID | Time | T | Title | Read |
|
|
9
|
-
| ----- | ------- | --- | -------------------------------------------------- | ---- |
|
|
10
|
-
| #5372 | 9:44 AM | ✅ | Created skill directory structure for openspec-e2e | ~124 |
|
|
11
|
-
|
|
12
|
-
</claude-mem-context>
|