refactor(*): 代码质量 - 优化前后端实现并完善协议与画布验证

This commit is contained in:
ddcat666
2026-10-08 19:38:57 +08:00
parent d74f783912
commit 295374650a
724 changed files with 3046 additions and 3885 deletions

View File

@@ -18,4 +18,14 @@
- 涉及上传、外部请求或模型调用时,必须说明大小、频率、费用和 SSRF 边界。
- 用户可见文案使用中文;核心业务入口和安全边界使用简短中文注释说明原因。
Pull Request 应包含改动摘要、风险、验证方式和必要截图。提交即表示你有权按本项目 MIT 许可证贡献相关代码或素材,并保留已有上游署名和许可证通知。
## 质量检查与合并
检查命令以 `.github/workflows/quality.yml` 为准。`bun run build` 只做类型检查和打包,不会运行 lint、单元测试或浏览器 E2E;不能用构建成功代替 Web checks 通过。
- 前端使用 Bun 1.3.9 和 `bun install --frozen-lockfile`,执行 `bun run typecheck`、`bun run lint`、`bun run test`、`bun run test:previs:e2e`(均在 `web/` 下)。E2E 需要 Chrome/Chromium,可用 `CHROME_BIN` 指定。改动文件另做 Prettier 检查;CI 用 `web/scripts/check-changed-formatting.mjs` 检查提交差异。
- 后端在 `backend/` 下运行 `gofmt -l .` 并修复列出的文件,再运行 `go test -json -timeout=20m ./...`。完整测试需要 Node 22.19.0、`backend/agent-runtime/pi/` 中的 `npm ci --omit=dev --ignore-scripts`、`redis-server` 和独立的 PostgreSQL 测试库;连接通过 `CANVAS_TEST_POSTGRES_DSN` 提供。缺少服务导致用例跳过时,不能声称与 Backend checks 等价。
- CSS、组件结构、路由或协议变动时,同时核对相邻回归测试。测试应表达当前约定;不要为了通过旧断言恢复已修复的行为,也不要直接跳过失败用例。
- 合并、解决冲突或同步主干后,针对最终代码重新验证。先确认 `git status` 无未解决冲突、`git diff --check` 通过,再查看该提交的 CI 结果;旧提交的成功不能代表新提交通过。
- Web checks、Backend checks 或 Payment plugin artifacts 失败时,先定位并修复。即使失败来自主干遗留问题,也不能将红色检查视为可忽略的背景噪声。
Pull Request 应包含改动摘要、风险、验证方式和必要截图,并分别写明已执行、未执行或因环境跳过的检查。提交即表示你有权按本项目 MIT 许可证贡献相关代码或素材,并保留已有上游署名和许可证通知。