Files
Neo-ZQYY/.claude/commands/spec-close.md
Neo 70324d8542 chore: 文档与 IDE 配置整理
- .kiro/specs/ → docs/specs/(41 个历史需求 spec 迁移,移除 .config.kiro)
- CLAUDE.md 三层拆分:根文件精简 + apps/backend/CLAUDE.md + .claude/commands/
- 新增 /spec-close、/pre-change 两个工作流命令
- DDL 基线刷新(从测试库重新导出 11 个文件,dws 35→38 表,biz 18→21 表)
- BD_Manual → BD_manual 命名统一(48 个文件)
- 修复 3 处文档与数据库不一致(auth.users.status 默认值、scheduled_tasks 字段、RLS 视图数)
- 新增 BD_manual_public_rbac_tables.md(public schema 8 张 RBAC/工作流表)
- 合并 biz.trigger_jobs 文档(10→12 字段,归档独立文档)
- docs/database/README.md 索引更新

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 00:02:37 +08:00

64 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# /spec-close — Spec 收尾通用流程
当一个功能 spec 开发完成时,执行此收尾检查清单确保质量闭环。
## 执行步骤
### 步骤 1最终测试检查点必选
- 运行 Monorepo 属性测试:`cd /c/NeoZQYY && pytest tests/ -v`
- 运行模块单元测试:`cd <模块路径> && pytest tests/ -v`
- 确保所有测试通过,有问题询问用户
### 步骤 2前后端联调验证涉及 API + 前端时必选)
- 启动后端服务,使用测试库验证各端点完整请求-响应链路
- 验证 JSON 响应结构与 Schema 定义一致camelCase 序列化)
- 验证权限校验和数据隔离(`SET LOCAL app.current_site_id`)在真实请求中生效
- 前端联调验证:确认前端页面能正确调用 API 并渲染数据
- 验证空数据/降级场景下前端不崩溃
### 步骤 3数据库变更审计与 DDL 合并(涉及 DB 改动时必选)
- 审计本次实现中对数据库的所有改动新建表、新增字段、新增索引、FDW 映射变更等)
- **必须通过 pg MCP 工具实际执行迁移 SQL**(禁止仅标记完成而不执行)
- 执行后用查询验证表/字段/索引已正确创建
- RLS 视图双 schema后端查询 `app.v_*` 视图,新建 DWS RLS 视图时必须同时在原 schema 和 `app` schema 下创建
- 合并到主 DDL 基线文件ETL → `docs/database/ddl/etl_feiqiu__<schema>.sql`,业务 → `docs/database/ddl/zqyy_app__<schema>.sql`
- 编写回滚脚本(逆序 DROP/ALTER
### 步骤 4BD 手册更新(涉及 DB 改动时必选)
- 业务库 → `docs/database/BD_manual_*.md`
- ETL 库 → `apps/etl/connectors/feiqiu/docs/database/<层级>/main/BD_manual_*.md`
- FDW → `docs/database/BD_manual_fdw*.md`
- 每份手册必须包含:字段明细、约束与索引、验证 SQL≥3 条)、兼容性影响、回滚策略
### 步骤 5项目文档同步更新按涉及范围裁剪
根据改动类型选择需要更新的文档:
| 文档 | 更新条件 |
|------|----------|
| 模块 README | 模块内部结构变更时 |
| `apps/backend/docs/API-REFERENCE.md` | 新增/修改后端路由时 |
| `docs/contracts/openapi/backend-api.json` | 新增/修改 API 端点时 |
| `docs/DOCUMENTATION-MAP.md` | 新增任何文档条目时 |
### 步骤 6变更审计收口涉及高风险路径时必选
执行 `/audit` 命令完成审计流程。
### 步骤 7服务清理启动了运行时服务时必选
- 关闭浏览器实例、停止后端和前端服务、清理资源
## 按 Spec 类型裁剪
| 类型 | 必选步骤 |
|------|---------|
| ETL 类ODS/DWD/DWS | 1, 3, 4, 5, 6 |
| 后端 API 类 | 1, 2, 5, 6 |
| 全栈类(前后端 + DB | 1, 2, 3, 4, 5, 6 |
| 重构类 | 1, 5, 6 |