Files
cmbuyer/docs/tasks/T-007.md
T

80 lines
3.3 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.
---
id: T-007
title: 统一产品名称与源码目录契约
phase: 0
deps: []
status: DOING
created: 2026-08-03
context_ref: a7465d2
work_branch: task/t-007-project-naming-layout
needs_device: false
needs_human_review: false
write_paths:
- AGENTS.md
- README.md
- init.ps1
- init.sh
- docs/00-ai-start-here.md
- docs/03-tech-stack.md
- docs/04-architecture.md
- docs/05-coding-rules.md
- docs/06-tasks.md
- docs/api.md
- docs/current-state.md
- docs/routes.md
- docs/README.md
- docs/design/desk-execution.html
- docs/tasks/README.md
- docs/tasks/T-007.md
---
## 问题 / 背景
项目已经确认三层命名,但当前文档和统一启动脚本仍把未来源码目录写成 `web/` 与 `desk/`,
会直接把 T-001 / T-002 引向错误位置。生产骨架尚未创建,现在统一成本最低;若等目录落地后
再改,会同时影响包路径、脚本、CI、构建产物与开发说明。
唯一命名契约:
| 层级 | 名称 | 目录 / 说明 |
| --- | --- | --- |
| 整体项目 / 仓库 | `cmbuyer` | 仓库根目录与系统内部标识 |
| 网页产品 | 采购服务 | Go 源码根目录 `admin/` |
| Windows 桌面产品 | 采购工具 | Python 源码根目录 `client/` |
## 方案
1. 在入口、技术栈、架构、API、路由和任务路线图第一次出现双端时写全“产品名 + 端类型 +
源码目录”,后文可以使用产品名或“网页端 / 桌面端”,不再把 `web` / `desk` 当产品名。
2. 把所有当前规范性的源码路径从 `web/...` 改为 `admin/...`,从 `desk/...` 改为
`client/...`;包内 `webui` 等技术标识不因顶层目录改名而修改。
3. 更新 `init.ps1` / `init.sh` 的目录判断、变量、提示和启动命令,使尚未初始化时明确提示
`admin/` 对应 T-001、`client/` 对应 T-002,并继续按 Phase 0 基线返回退出码 3。
4. 不创建 `admin/` 或 `client/`:生产骨架仍分别由 T-001 / T-002 创建。本任务只修正契约和
当前入口脚本。
5. `docs/design/web-*.html` 与 `desk-*.html` 是原型文件前缀,不是生产源码目录,本轮不重命名;
HTTP `/api/...`、页面路由和领域字段也不受影响。
## 验收要点
- 入口文档能一眼读出 `cmbuyer → 采购服务/admin + 采购工具/client`,不存在第四套产品名。
- 架构树、事实来源、入口文件与任务写路径统一使用 `admin/`、`client/`。
- 两个统一入口脚本只检测 `admin/`、`client/`,打印的运行命令与目录一致。
- 在当前 docs-only 基线上执行 `init.ps1`,上下文校验通过并以退出码 3 精确列出 T-001 / T-002。
- `python scripts/validate_agent_context.py`、shell 语法检查、PowerShell 解析检查与
`git diff --check` 通过。
- 不改 API 语义、安全边界、页面判据、原型交互或生产代码;不创建空源码目录。
## 边界
- 本任务只修改 frontmatter `write_paths` 所列文件。
- 历史任务执行记录可以保留当时的 `web/` / `desk/` 旧占位事实,但不得被当前入口或架构引用。
- 不重命名仓库、远程 Git 项目、原型文件或内部 `webui` 包。
- 不涉及真机,不改变任何下单或付款约束。
## 执行记录
### 2026-08-03 · 待实现
- 已确认命名与目录映射;任务保持 `DOING`,先更新规范与入口脚本,再运行静态门禁。