docs(specs): add AGENTS.md and engineering guidelines

项目尚无统一工程规范,AI 助手与研发各自发挥导致返工风险。建立
总纲 + 细则两层结构:AGENTS.md 只写硬约束与索引(14 条红线、技术栈
基线、仓库结构、命令契约),细则拆为 10 份文档覆盖 Git、代码风格、
格式化、API 与路由、数据库、测试与 CI、Review、日志、密钥、资产命名。

影响面:仅文档。约束力从本轮起对新建代码生效;与现状冲突处以文档为准。
回滚方式:git revert 本提交。
This commit is contained in:
Stev_Wang committed 2026-11-02 15:09:51 +08:00
1 parent d062d79465
commit 00ae12435e
12 files changed
+1562

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
# 工程规范索引
> 本目录是 [`AGENTS.md`](../../AGENTS.md) 的下游细则。**总纲只写红线与索引,细则在这里展开**。
> 阅读顺序:先读总纲 §3 硬红线,再按任务查对应细则。
| 编号 | 文档 | 覆盖范围 | 强制级别 |
| --- | --- | --- | --- |
| 01 | [Git 规范](01-Git规范.md) | 分支模型、提交信息、合并与发布、Tag、大文件 | 强制 |
| 02 | [代码风格](02-代码风格.md) | 命名、类型、错误处理、异步、React、注释、导入顺序 | 强制 |
| 03 | [格式化与 Lint](03-格式化与Lint.md) | Prettier / ESLint 配置、钩子、CI 门禁、豁免流程 | 强制 |
| 04 | [API 与路由规范](04-API与路由规范.md) | REST、版本、错误码、鉴权链、任务协议、上传下载、前端路由 | 强制 |
| 05 | [数据库规范](05-数据库规范.md) | 命名、主键、客户隔离、索引、迁移、事务、保留期 | 强制 |
| 06 | [测试与 CI 规范](06-测试与CI规范.md) | 分层测试、必测清单、门禁、发布与回滚 | 强制 |
| 07 | [Code Review 与 PR 规范](07-CodeReview与PR规范.md) | PR 模板、双人场景、Review 清单、DoD | 强制 |
| 08 | [日志与可观测性规范](08-日志与可观测性规范.md) | 日志字段、trace、审计、指标、告警 | 强制 |
| 09 | [环境变量与密钥规范](09-环境变量与密钥规范.md) | env 命名、校验、密钥管理、轮换、泄露处置 | 强制 |
| 10 | [资产命名与 PSD 图层规范](10-资产命名与PSD图层规范.md) | 资产归属、命名占位符、图层前缀、规格矩阵、低质量标记 | 强制 |
## 规范文档自身的约定
| 项 | 约定 |
| --- | --- |
| 编写语言 | 中文说明 + 英文标识符 / 命令 / 路径 |
| 结构 | 作用与边界 → 规则(表格 / 编号)→ 检查清单 → 违规示例 |
| 变更 | 修改规则须单独 PR,说明「为什么改」+「存量代码如何处理」 |
| 版本 | `V<主>.<次>`;主版本 = 破坏性(存量代码需整改),次版本 = 补充 |
| 冲突 | 与本目录细则冲突时以技术架构为准;技术架构未覆盖以 PRD 为准 |
| 有效性 | 规则必须可被检查(lint / CI / review 清单 / 脚本),否则降为「建议」 |
| 废止 | 删除规则必须在 PR 描述里写清理计划,禁止直接删条目 |
## 与总纲的关系
- 总纲 `AGENTS.md` §3 的 14 条硬红线**不得在本目录被弱化**,只能细化。
- 本目录新增的「强制」规则,须在总纲 §9 索引同步登记。
- 规则编号规则:`<文档号>-<序号>`,如 `DB-07`、`API-03`,便于代码注释与 Review 引用。
## 当前状态说明(2026-11-02)
仓库处于**文档阶段**,尚无代码。本目录是**建仓前置规范**:代码落地时必须按此执行,不允许「先写代码、后补规范」。
待代码落地后需要补充/校准的配置类文件(届时以实际配置为准,规范条目不变):
`.editorconfig` · `.nvmrc` · `.npmrc` · `prettier.config.mjs` · `eslint.config.mjs` · `commitlint.config.js` · `.lintstagedrc` · `turbo.json` · `docker-compose.dev.yaml` · `.env.example`