docs(claude): CLAUDE.md 对齐现状 — core/ 为开发目录、电商AI平台/ 为视觉标准答案

- 根 CLAUDE.md:删死目录(app//v2/);设计铁律从"改HTML/restraint.css"改为"改core/前端React+design-restraint.css";路径速查补 core/ 真实路径;新增认证定调(用户名+密码+邀请制,不用邮箱)
- design/CLAUDE.md:空模板参数表填为 AirShelf 真实值(React19/Vite7/自研路由/纯CSS/design-restraint.css/lucide/1440x900)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
seaislee1209
2026-06-19 03:10:19 +08:00
co-authored by Claude Opus 4.8
parent 856a93b8a9
commit afa8e07154
2 changed files with 38 additions and 25 deletions
+26 -15
View File
@@ -9,24 +9,23 @@
**Airshelf** · AI 短视频带货生成平台 · 5 阶段流水线(商品 → 故事板 → 镜头 → 生成 → 投放) **Airshelf** · AI 短视频带货生成平台 · 5 阶段流水线(商品 → 故事板 → 镜头 → 生成 → 投放)
- **设计代号:** Restraint · V2.1 · Firecrawl-aligned - **设计代号:** Restraint · V2.1 · Firecrawl-aligned
- **主要工作目录:** [电商AI平台/](电商AI平台/) - **实际开发目录:** [core/](core/) —— `core/frontend`(React 19 + Vite + TS,真网站前端)· `core/backend`(Django,后台)· `core/qa`(截图对比测试)
- **Next.js 工程(独立):** [app/](app/) - **视觉标准答案(对照用,不是运行代码):** [电商AI平台/](电商AI平台/) —— UI 设计师手写的 HTML 设计稿 + `design.md` 设计规范。**开发改 `core/`,视觉照 `电商AI平台/`。**
- **V1 历史归档:** [v1/](v1/) - **历史归档:** [v1/](v1/) · [_archive/](_archive/)
- **V2.1 归档(原 v2.1/):** [v2/](v2/)
--- ---
## ★ 设计规范铁律(每次涉及页面 / CSS / UI 必读) ## ★ 设计规范铁律(每次涉及页面 / CSS / UI 必读)
### 触发条件 ### 触发条件
**只要任务涉及以下任一种,必须先 Read [电商AI平台/design.md](电商AI平台/design.md):** **只要任务涉及以下任一种,必须先 Read [电商AI平台/design.md](电商AI平台/design.md)(设计规范),并对照 [电商AI平台/](电商AI平台/) 里对应的 `*.html` 设计稿(视觉标准答案):**
- 修改 `.html` 文件 - 修改 `core/frontend` 里的页面(`.tsx`)或样式(`design-restraint.css` / `*-page.css`)
- 修改 `assets/restraint.css` 或任何 `.css`
- 修改 inline `<style>`
- 添加新页面 / 新组件 - 添加新页面 / 新组件
- 调整布局 / 间距 / 颜色 / 字号 - 调整布局 / 间距 / 颜色 / 字号
- 用户提到"页面" "样式" "视觉" "组件" "色" "字" "圆角" "间距" 等关键词 - 用户提到"页面" "样式" "视觉" "组件" "色" "字" "圆角" "间距" 等关键词
> ⚠️ **现在不交付静态 HTML 了**:真代码在 `core/frontend/src`(React)。`电商AI平台/` 的 `.html` 只当**视觉对照标准**,别去改它来"做功能"。新页面/新组件的交付规范见 [design/CLAUDE.md](design/CLAUDE.md)。
### 必读章节 ### 必读章节
- [design.md §0 AI 协作铁律](电商AI平台/design.md#0--ai-协作铁律每次启动必读) — 必读 - [design.md §0 AI 协作铁律](电商AI平台/design.md#0--ai-协作铁律每次启动必读) — 必读
- [design.md §1 设计哲学](电商AI平台/design.md#1--设计哲学) — 价值观 - [design.md §1 设计哲学](电商AI平台/design.md#1--设计哲学) — 价值观
@@ -36,8 +35,8 @@
### 7 条铁律 ### 7 条铁律
1. **任何页面 / CSS 调整前必须 Read [电商AI平台/design.md](电商AI平台/design.md)** — 不读不动手 1. **任何页面 / CSS 调整前必须 Read [电商AI平台/design.md](电商AI平台/design.md)** — 不读不动手
2. **检查 [电商AI平台/assets/restraint.css](电商AI平台/assets/restraint.css) 已有组件** `Grep ".btn|.pill|.input"` 2. **检查 [core/frontend/src/design-restraint.css](core/frontend/src/design-restraint.css) 已有组件**(设计稿原版在 `电商AI平台/assets/restraint.css`)`Grep ".btn|.pill|.input"`,别重发明
3. **禁止在页面 inline `<style>` 重写共享类**(`.btn` `.pill` `.input` `.modal` `.drawer` `.toast` `.field` `.tabs` `.chip` `.stats` `.list-row` 等)— 要变体回 restraint.css 加 3. **禁止在某页 `*-page.css` 重写共享类**(`.btn` `.pill` `.input` `.modal` `.drawer` `.toast` `.field` `.tabs` `.chip` `.stats` `.list-row` 等)— 要变体回 `design-restraint.css`
4. **禁止创建新色值** — 必须用 design.md §2.1 的 token,不写裸 hex 4. **禁止创建新色值** — 必须用 design.md §2.1 的 token,不写裸 hex
5. **禁止改动基础 token**(`--heat` `--background-base` `--border-faint` 等)— 改了破坏全站 5. **禁止改动基础 token**(`--heat` `--background-base` `--border-faint` 等)— 改了破坏全站
6. **完成后对照 [design.md §8 Don't List](电商AI平台/design.md#8--dont-list绝对禁止--每次自检) 逐条自检** 6. **完成后对照 [design.md §8 Don't List](电商AI平台/design.md#8--dont-list绝对禁止--每次自检) 逐条自检**
@@ -69,6 +68,15 @@
--- ---
## 认证 / 账号模型(产品定调 · 2026 中国市场)
- **登录 / 注册一律「用户名 + 密码」,不用邮箱** —— 登录页、注册页都**不要邮箱字段**(后端 `RegisterSerializer` / `LoginSerializer` 本就以 `username` 为主标识)。**这是有意偏离 V1 设计稿**(V1 login/register 画的是邮箱),别按 V1 把它改回邮箱。
- **注册 = 邀请制**:Invitation 邀请码;有码加入已有团队、无码开新团队当超管。成员也可由超管在团队页直接建账号 + 发凭据。
- **手机号注册:后续再做**,本期不做。
- 用户原话:「2026 年的中国没人用邮箱登录」。
---
## ★ AI 生成 Agent 化架构(后端核心 · 改 AI 链路前必读) ## ★ AI 生成 Agent 化架构(后端核心 · 改 AI 链路前必读)
> 2026-06-17 落地:脚本从「散文+正则」升级为**结构化流式对话 agent**,并把 商品→脚本→图片→故事板→视频 用**可插拔 Provider** 打通。全流程已端到端验证(含 Seedance 出片)。详见仓库 `交接-AI生成Agent化-2026-06-17.md` 与 `AI生成-Agent化落地方案.md`。 > 2026-06-17 落地:脚本从「散文+正则」升级为**结构化流式对话 agent**,并把 商品→脚本→图片→故事板→视频 用**可插拔 Provider** 打通。全流程已端到端验证(含 Seedance 出片)。详见仓库 `交接-AI生成Agent化-2026-06-17.md` 与 `AI生成-Agent化落地方案.md`。
@@ -97,7 +105,7 @@
## 文件操作 ## 文件操作
- **三视图 = 单张 16:9 图** · 不要拆成 3 张缩略 · 用 `aspect-ratio: 16/9` 单容器 - **三视图 = 单张 16:9 图** · 不要拆成 3 张缩略 · 用 `aspect-ratio: 16/9` 单容器
- **设计稿优先** · 写代码前必须先读 [电商AI平台/_design_src/](电商AI平台/_design_src/) 设计稿(如果有) - **设计稿优先** · 写页面前先读 [电商AI平台/](电商AI平台/) 对应页面的 `*.html` 设计稿(视觉标准答案)+ design.md
- **`.pen` 文件加密** · 只能用 pencil MCP 工具,不能 Read/Grep - **`.pen` 文件加密** · 只能用 pencil MCP 工具,不能 Read/Grep
--- ---
@@ -115,11 +123,14 @@
| 资产 | 路径 | | 资产 | 路径 |
| ---- | ---- | | ---- | ---- |
| **设计规范(SSoT)** | [电商AI平台/design.md](电商AI平台/design.md) | | **设计规范(SSoT)** | [电商AI平台/design.md](电商AI平台/design.md) |
| **共享 CSS** | [电商AI平台/assets/restraint.css](电商AI平台/assets/restraint.css) | | **视觉标准答案(HTML 设计稿)** | [电商AI平台/](电商AI平台/) 各 `*.html`(逐页对照还原) |
| **Shell 注入** | [电商AI平台/assets/shell.js](电商AI平台/assets/shell.js) | | **前端代码(真网站)** | [core/frontend/src/routes/](core/frontend/src/routes/) + 每页 `src/*-page.css` |
| **共享 CSS / token(实现)** | [core/frontend/src/design-restraint.css](core/frontend/src/design-restraint.css)(原版 `电商AI平台/assets/restraint.css`) |
| **公共外壳(侧栏/顶栏)** | [core/frontend/src/components/app-shell.tsx](core/frontend/src/components/app-shell.tsx)(原 `电商AI平台/assets/shell.js`) |
| **后端代码** | [core/backend/apps/](core/backend/apps/)(Django) |
| **截图对比测试** | [core/qa/visual-parity/compare-page.mjs](core/qa/visual-parity/compare-page.mjs) |
| **新页面交付规范** | [design/CLAUDE.md](design/CLAUDE.md) |
| **视觉样板间(归档)** | [电商AI平台/_archive/design-system.html](电商AI平台/_archive/design-system.html) | | **视觉样板间(归档)** | [电商AI平台/_archive/design-system.html](电商AI平台/_archive/design-system.html) |
| **规范理论(归档)** | [电商AI平台/_archive/DESIGN_SPEC_V2.md](电商AI平台/_archive/DESIGN_SPEC_V2.md) |
| **设计稿源** | [电商AI平台/_design_src/](电商AI平台/_design_src/) |
--- ---
+12 -10
View File
@@ -12,19 +12,21 @@
| 参数 | 本项目取值 | 说明 | | 参数 | 本项目取值 | 说明 |
|---|---|---| |---|---|---|
| 前端框架 | (如 React 19 / Vue 3 / Svelte) | 必须与目标工程一致;全新项目默认 React + TypeScript | | 前端框架 | **React 19 + TypeScript** | 代码在 `core/frontend` |
| 构建工具 | (如 Vite | 默认 Vite | | 构建工具 | **Vite 7** | — |
| 路由方案 | (目标工程现有方案) | 复用目标工程的路由机制,不自带新路由库 | | 路由方案 | **自研 pathname 路由** `core/frontend/src/routes/route-config.ts`(无路由库,switch 渲染) | 新页面在此加一条,不引路由库 |
| 样式方案 | (如纯 CSS / Tailwind / CSS Modules | 与目标工程一致;目标工程没有的方案不准引入 | | 样式方案 | **纯 CSS**(全局 token + 每页 `*-page.css`,选择器收敛在页面根 class) | 不引 Tailwind / CSS Modules |
| 组件/图标库 | (目标工程已有的) | 只用已有的,不新增 UI 框架和图标库 | | 组件/图标库 | **lucide-react**(图标);无额外 UI 框架 | 只用 lucide,不新增图标库 |
| 设计 token 文件 | (如 `src/styles.css` / `tokens.css` | 颜色字号间距唯一来源 | | 设计 token 文件 | **`core/frontend/src/design-restraint.css`**(对应规范 `电商AI平台/design.md`) | 颜色/字号/间距唯一来源;改 token 破坏全站 |
| 基准视口 | (如 1440×900 | 像素核对和验收用的视口 | | 基准视口 | **1440×900** | 像素核对(`core/qa/visual-parity/compare-page.mjs`)的视口 |
| 页面文件落位 | (如 `src/routes/` + `src/<page>.css` | 与目标工程目录同构 | | 页面文件落位 | **`core/frontend/src/routes/<page>.tsx` + `src/<page>-page.css`** | 与工程目录同构 |
| Mock 数据落位 | (如 `src/mock/` | 见 §4 | | Mock 数据落位 | **已接真实后端 API**(`core/frontend/src/api.ts`);新页若需 mock,用一层 `getXxx()` 取数函数 | 见 §4 |
| 类型定义文件 | (如 `src/types.ts`,可空) | mock 字段形状对齐目标 | | 类型定义文件 | **`core/frontend/src/types.ts`** | mock 字段形状对齐 |
> 目标工程尚不存在(全新项目)时:默认 React + TypeScript + Vite + 纯 CSS,并把你定下的取值回填此表,作为后续开发工程的初始约定。 > 目标工程尚不存在(全新项目)时:默认 React + TypeScript + Vite + 纯 CSS,并把你定下的取值回填此表,作为后续开发工程的初始约定。
> **本项目(AirShelf)现状**:目标工程已存在 = `core/frontend`;**视觉标准答案** = `电商AI平台/` 的 `*.html` 设计稿 + `design.md` 设计规范。**还原老页面**时逐页对照对应 HTML(像素级);**出新页面**按本规范直接交付 React,不要再画静态 HTML。认证一律用户名+密码、不用邮箱(见根 `CLAUDE.md`)。
## 1. 交付物形态(最重要的一条) ## 1. 交付物形态(最重要的一条)
每个页面的交付物固定为: 每个页面的交付物固定为: