Skip to content

Commit cfedbfd

Browse files
committed
chore: localize harness rules
1 parent 444ba20 commit cfedbfd

17 files changed

Lines changed: 206 additions & 206 deletions

Rules/agent-workflow-use-vp-toolchain.md

Lines changed: 0 additions & 31 deletions
This file was deleted.

Rules/backend-no-silent-memory-fallback.md

Lines changed: 0 additions & 32 deletions
This file was deleted.

Rules/frontend-dialog-state-locality.md

Lines changed: 0 additions & 33 deletions
This file was deleted.

Rules/go-no-untyped-contract-maps.md

Lines changed: 0 additions & 33 deletions
This file was deleted.

Rules/go-pointer-helper-style.md

Lines changed: 0 additions & 30 deletions
This file was deleted.

Rules/openapi-upstream-readonly.md

Lines changed: 0 additions & 27 deletions
This file was deleted.
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
---
22
id: local.playwright-page-ready-gate
3-
title: Wait for page ready gate after navigation
3+
title: Playwright 导航后等待页面就绪门
44
language: typescript
55
level: warn
66
status: draft
77
tags: [local, typescript, playwright, e2e]
88
---
99

10-
# Wait for page ready gate after navigation
10+
# Playwright 导航后等待页面就绪门
1111

12-
After `page.goto()` or `page.reload()`, wait for the page-level container `data-testid` before interacting with links, buttons, or route content. This protects tests from Suspense and loading overlays.
12+
`page.goto()` `page.reload()` 之后,与链接、按钮或路由内容交互前,应先等待页面级容器的 `data-testid`。这可以避免测试受到 Suspense 和加载遮罩影响。
1313

1414
```grit
15-
// TODO: Add GritQL when multi-statement ordering checks are supported well enough to avoid false positives.
15+
// TODO: 等多语句顺序检查足够可靠、可以避免误报后,再补充 GritQL
1616
```
1717

18-
## Bad
18+
## 反例
1919

2020
```ts
2121
await page.goto("/overview");
2222
await page.getByRole("link", { name: "Timer" }).click();
2323
```
2424

25-
## Good
25+
## 正例
2626

2727
```ts
2828
await page.goto("/overview");
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
id: local.openapi-upstream-readonly
3+
title: 上游 OpenAPI 规范保持只读
4+
level: warn
5+
status: draft
6+
tags: [local, openapi, ownership]
7+
---
8+
9+
# 上游 OpenAPI 规范保持只读
10+
11+
`openapi/toggl-track-api-v9.swagger.json``openapi/toggl-reports-v3.swagger.json``openapi/toggl-webhooks-v1.swagger.json` 中的上游 Toggl 规范是外部兼容性输入,不应编辑。上游规范的特殊情况应在适配器或校验器中处理。
12+
13+
```grit
14+
// TODO: 等支持变更文件路径规则后,再补充 GritQL 或路径感知的 harness 检查。
15+
```
16+
17+
## 反例
18+
19+
```text
20+
编辑 openapi/toggl-track-api-v9.swagger.json 以匹配本地代码。
21+
```
22+
23+
## 正例
24+
25+
```text
26+
保持上游文件不变,并在本地代码中适配它。
27+
```
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
id: local.go-pointer-helper-style
3+
title: 使用 lo 指针辅助函数
4+
language: go
5+
level: warn
6+
status: draft
7+
tags: [local, go, style]
8+
---
9+
10+
# 使用 lo 指针辅助函数
11+
12+
指针辅助转换应使用 `github.com/samber/lo` 提供的 `lo.ToPtr``lo.FromPtr``lo.FromPtrOr`,不要新增本地一次性辅助函数。
13+
14+
```grit
15+
// TODO: 等梳理完本地指针辅助函数的名称和形态后,再补充 GritQL;宽泛匹配取地址表达式会产生太多噪音。
16+
```
17+
18+
## 反例
19+
20+
```go
21+
func ptr[T any](value T) *T {
22+
return &value
23+
}
24+
```
25+
26+
## 正例
27+
28+
```go
29+
value := lo.ToPtr("workspace")
30+
```
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
id: local.agent-workflow-use-vp-toolchain
3+
title: 使用 vp 执行 JS 和 TS 工具链命令
4+
level: warn
5+
status: draft
6+
tags: [local, workflow, vite-plus]
7+
---
8+
9+
# 使用 vp 执行 JS 和 TS 工具链命令
10+
11+
所有 JS/TS 包管理、测试、lint、格式化、构建、开发服务器和一次性二进制命令都应通过 `vp` 执行。Agent 在仓库工作期间不应直接调用 `node``vitest``vite``playwright``pnpm``npm``yarn`
12+
13+
```grit
14+
// TODO: 等仓库命令字符串可以在不误报 Docker 打包和文档示例的情况下匹配后,再补充 GritQL。
15+
```
16+
17+
## 反例
18+
19+
```text
20+
pnpm test
21+
npm run build
22+
playwright test
23+
```
24+
25+
## 正例
26+
27+
```text
28+
vp test
29+
vp run build -r
30+
vp exec playwright test
31+
```

0 commit comments

Comments
 (0)