docs(xingbang): 适配项目开发流程并建立经验驱动预审新版文档
verify / test-and-build (push) Canceled after 0s

This commit is contained in:
2026-09-28 17:02:33 +08:00
parent 4d5a420671
commit 9d2399feed
26 changed files with 1164 additions and 266 deletions
+17 -15
View File
@@ -15,7 +15,7 @@
### 1.2 完成条件(DoD)
- [ ] 每个提交只做一件事(Conventional Commits),变更可逐行追溯到请求范围
- [ ] 新行为有 colocated 测试(与源码同目录 `*.test.ts`,vitest;E2E 在 `e2e/`,playwright。本仓测试体系见 `docs/architecture/testing-architecture.md`)
- [ ] 行为新增/修改有对应backend/test_*.py或适用前端行为测试;保留现有scripts/test_*.cjs守卫并明确其覆盖边界;不虚构已存在的E2E套件
- [ ] 无未使用 import/变量/函数(由本次改动产生的孤儿已清理;存量死代码只提不改,G-4)
- [ ] 变更矩阵已同步(见 §3.3):契约、文档、i18n、迁移、架构图
- [ ] 本阶段自测(lint/typecheck/相关单测)全绿
@@ -33,15 +33,15 @@
| R-5.3 | **外科手术式改动**:只碰必须碰的;不顺手"改进"相邻代码/注释/格式;不重构没坏的东西;风格跟随现有代码。 |
| R-5.4 | **规模红线**:新文件 ≤500 行;既有大文件只减不增;新增依赖必须先评估体积与必要性(依赖红线见仓库约定)。 |
| R-5.5 | **状态持久化白名单**:新增受管写入路径须进白名单并说明;禁止绕过既有持久化/校验路径自行写文件。 |
| R-5.6 | **小步提交**:一个提交一个意图;变更混杂时先拆分再提交(见 `skills/builtin/dk-commit` 的提交规范)。 |
| R-5.6 | **小步提交**:一个提交一个意图;变更混杂时先拆分再提交(类型前缀+中文一句话,提交前自查diff)。 |
### 2.2 安全与副作用(实现期强制)
| 编号 | 规则 |
|---|---|
| R-5.7 | 所有副作用入口(文件写、命令执行、外发请求、硬件写、IPC)走统一受控路径,禁止平行执行路径。 |
| R-5.7 | 所有副作用入口(文件写、命令执行、外发请求、数据导出、API)走统一受控路径,禁止平行执行路径。 |
| R-5.8 | 项目目录写入/命令必须有归属校验 + 审计;凭据/配置保护区一律拒绝。 |
| R-5.9 | 日志/输出禁止出现凭据任何片段(脱敏);禁止 `nodeIntegration: true`、禁止绕过 preload/安全边界暴露主机能力。 |
| R-5.9 | 日志/输出不得含凭据;浏览器不能持有模型Key或数据库口令,业务预审不得继承通用聊天的终端/任意文件权限;材料指令不得扩大工具集合。 |
| R-5.10 | 高危动作(删除、生产数据、外发、发布)默认拒绝或显式审批,先于副作用发生,且留审计(详见 [07-delivery.md](07-delivery.md))。 |
### 2.3 契约与同步
@@ -61,11 +61,11 @@
- colocated 测试(新行为 + 修复回归)
- 变更同步产物(契约/迁移/文档/i18n)
### 3.2 提交规范(本仓沿用 `AGENTS.md` 规则 6 + Conventional Commits;生成建议见 `skills/builtin/dk-commit`)
### 3.2 提交规范(根AGENTS.md + Conventional Commits)
```text
<type>(<scope>): <subject> # subject 简洁中文,≤50 字
# 正文:英文完整内容 + `---` 分隔 + 中文完整内容
# (不复述 diff;主分支是 build)
# 必要正文说明验证与限制,不要求双语
# 默认分支目前为Gitea main,操作前核对
type: feat | fix | docs | refactor | test | chore | build
```
@@ -73,13 +73,13 @@ type: feat | fix | docs | refactor | test | chore | build
| 变更 | 必须同步 |
|---|---|
| 跨进程契约 / IPC 通道 / 接口 | `packages/api/src/contracts.ts`(唯一入口)+ `docs/api/ipc-api-reference.md` + preload/handler 对齐(`src/main/ipc-alignment.test.ts` 拦截) |
| 模块增删 / 职责变化 | `docs/architecture/codemap.md`(头部统计跑 `node scripts/repo-stats.mjs`,`docs-baseline.test.ts` 拦截)+ 架构文档 |
| 数据结构 / 迁移 | 迁移文件(只追加,`packages/agent-sdk/src/state/migrations.ts`)+ `docs/architecture/data-model.md` |
| UI 文案 / 状态机 / 组件 | i18n key(`packages/web-ui/src/i18n/messages.ts`)+ 视觉 token(`packages/web-ui/src/theme/tokens.css`)+ 表面规格 |
| 主链路 / 安全边界 | `docs/architecture/flows.md` + 相关安全测试(tool-policy/tool-gate/redact) |
| E2E 行为 / 运行方式 | E2E 测试与自动化文档(`docs/e2e/e2e-architecture-and-automation.md`)+ playwright |
| 宿主形态 / 接入方式 | `docs/architecture/host-modes.md` |
| API / SSE / 共享契约 | backend/contracts或明确的API模型owner + 前端调用方/同源代理 + 接口设计 + 契约测试 |
| 模块增删 / 职责变化 | 实际调用关系 + docs/v2/02-architecture.md或对应架构文档,已实现与提案分开 |
| 数据结构 / 迁移 | 追加带守卫的迁移 + 数据契约 + 幂等/版本兼容测试,旧表和生产数据保留 |
| UI 文案 / 状态机 / 组件 | 文案与错误映射 + 实际CSS来源/视觉契约 + 表面规格 + UI测试 |
| 主链路 / 安全边界 | 运行/经验/模型出口设计 + 权限、注入、跨域、证据与模拟隔离测试 |
| E2E 行为 / 运行方式 | 实际浏览器测试入口和前后端启动说明;静态正则检查不能替代E2E |
| 部署 / 数据源接入 | Compose与环境模板 + 部署文档 + config验证;真实数据出口另验 |
---
@@ -104,4 +104,6 @@ type: feat | fix | docs | refactor | test | chore | build
- 编码前确认设计:阶段 ③ [03-detailed-design.md](03-detailed-design.md)、阶段 ④ [04-ui-spec.md](04-ui-spec.md)
- 自测通过后进入:阶段 ⑥ [06-validation.md](06-validation.md)
- 提交与审查技能:`skills/builtin/dk-commit`、`skills/builtin/dk-review`
- 提交与审查按根AGENTS和阶段⑥执行;本仓不依赖未安装的提交/评审技能。
变更:XB-1.0 / 2026-09-28,按兴邦 Next.js + FastAPI 项目事实适配;稳定规则编号保留。