|
|
@ -0,0 +1,66 @@ |
|
|
|
|
|
|
|
|
|
|
|
## CDD 纪律 |
|
|
|
|
|
|
|
|
|
|
|
- 你**只修改前端代码**,禁止修改后端仓库任何文件 |
|
|
|
|
|
- 如果你发现 `openapi.yaml` 与实际后端返回不符,**停止开发,上报问题**,等 YAML 更新后再重新生成 API 代码 |
|
|
|
|
|
- 每次后端接口变更后,必须执行 `npm run api:generate` 重新生成类型 |
|
|
|
|
|
- 禁止为了"让代码跑通"而修改生成的 `src/generated/api/` 目录下的任何文件 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
|
|
## 附录:Git 开发规范(必须遵守) |
|
|
|
|
|
|
|
|
|
|
|
> 远程仓库已配置完成,每次 commit 后立即 push。 |
|
|
|
|
|
|
|
|
|
|
|
### 分支策略 |
|
|
|
|
|
- 直接在 `main` 分支上开发,不创建 feature 分支 |
|
|
|
|
|
- 每次 commit 后立即 `git push origin main` |
|
|
|
|
|
|
|
|
|
|
|
### Commit 格式(Conventional Commits) |
|
|
|
|
|
``` |
|
|
|
|
|
type(scope): subject |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
**Type**: `feat` `fix` `refactor` `test` `docs` `chore` `style` |
|
|
|
|
|
|
|
|
|
|
|
**Scope(前端)**: `page` `component` `store` `api` `router` `type` `asset` `config` `contract` |
|
|
|
|
|
|
|
|
|
|
|
**示例**: |
|
|
|
|
|
```bash |
|
|
|
|
|
feat(page): implement article list with pagination |
|
|
|
|
|
feat(component): add ArticleCard and Pagination |
|
|
|
|
|
fix(api): handle 401 auto-refresh token correctly |
|
|
|
|
|
chore(api-gen): regenerate types from openapi.yaml v0.2 |
|
|
|
|
|
style(component): fix indentation in AdminLayout |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
### 少量多次标准(核心) |
|
|
|
|
|
- **单 commit 单意图**:一个 commit 只做一件事 |
|
|
|
|
|
- **文件数 ≤ 10**,**行数 ≤ 200** |
|
|
|
|
|
- **每次 commit 前必须 `npm run build` 通过(无 TS 错误)** |
|
|
|
|
|
- **commit 后 30 秒内必须 push** |
|
|
|
|
|
- **提交信息用英文,祈使句,首字母小写,≤ 50 字符** |
|
|
|
|
|
|
|
|
|
|
|
### 与 CDD 结合的提交顺序 |
|
|
|
|
|
1. 契约变更:`feat(contract): xxx`(由架构 Owner 发起) |
|
|
|
|
|
2. 后端实现:`feat(api): implement xxx endpoint`(Agent1 执行) |
|
|
|
|
|
3. 前端生成:`chore(api-gen): regenerate from openapi.yaml` |
|
|
|
|
|
4. 前端对接:`feat(page): xxx` |
|
|
|
|
|
|
|
|
|
|
|
### 禁止行为 |
|
|
|
|
|
- `git commit -m "update"` / `git commit -m "fix bug"` |
|
|
|
|
|
- 一次性提交 20+ 个无关文件 |
|
|
|
|
|
- 提交有 TypeScript 类型错误的代码 |
|
|
|
|
|
- 本地 commit 后数小时不 push |
|
|
|
|
|
- 绕过 openapi.yaml 直接手写 API 类型 |
|
|
|
|
|
|
|
|
|
|
|
### 标准流程 |
|
|
|
|
|
```bash |
|
|
|
|
|
git pull --rebase origin main # 提交前同步 |
|
|
|
|
|
git add -p # 交互式添加(推荐) |
|
|
|
|
|
git diff --cached # 自我审查 |
|
|
|
|
|
git commit -m "type(scope): subject" |
|
|
|
|
|
git push origin main # 立即推送 |
|
|
|
|
|
``` |
|
|
|
|
|
|