Skip to content

Commit 4b9f5e9

Browse files
johnjim0816claude
authored andcommitted
📝 docs: 新增项目级 CLAUDE.md 说明
汇总项目定位、四段入口骨架、关键实现文件、技术栈与脚本说明, 并指向 docs/CLAUDE.md 的写作风格规则,便于协作者与 Claude 会话快速上手。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 52d511d commit 4b9f5e9

1 file changed

Lines changed: 150 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
# 项目说明(给 Claude / 协作者)
2+
3+
本文件汇总 dive-into-embodied-ai 的项目定位、结构骨架、技术栈与关键实现位置,进入仓库做任何改动前先读一遍。文档写作风格另见 [docs/CLAUDE.md](docs/CLAUDE.md)
4+
5+
## 项目定位
6+
7+
Datawhale 的具身智能开源教程,目标人群是**求职/转行**:应届生、从 ML/CV/NLP/自动驾驶/传统机器人转入具身的工程师、想跳头部具身公司的在职工程师。
8+
9+
- 仓库:`datawhalechina/dive-into-embodied-ai`
10+
- 发布地址:`https://datawhalechina.github.io/dive-into-embodied-ai/`
11+
- 许可:CC BY-NC-SA 4.0
12+
- 状态:Alpha 内测(仍在迁移重构中,部分章节是占位页)
13+
14+
教程路径理念是"**认知 → 项目 → 面试**"三步走:先建立行业与技术栈整体认知,再在四类本体(机械臂、四足、人形、移动操作)上做能展示的项目,最后整理成岗位技能 / 面经 / 招聘信息。
15+
16+
写内容、做架构决策时优先问"**这能帮读者拿到 offer 吗**",避免堆砌论文综述。占位页填充时先做能跑通的最小项目示例,再补理论。
17+
18+
## 四段入口骨架(2026-05 重构)
19+
20+
教程从旧的「总览 + 基础篇 + 实践篇 + 求职篇」重构为四个一级入口,顶部导航顺序:
21+
22+
```
23+
首页 / 零基础入门 / 技能树进阶 / 项目实战 / 求职面试
24+
```
25+
26+
最近 checkpoint:`5c55056 调整首页导航位置和颜色``e9ef0b2 重构教程四段入口骨架`。完整交接见仓库根 [STRUCTURE_REFACTOR_NOTES.md](STRUCTURE_REFACTOR_NOTES.md)
27+
28+
### 1. 零基础入门(`docs/overview/`
29+
30+
只留两个入口:
31+
32+
- `学习路径``/docs/overview/learning-path`
33+
- `从0到1搭建四足机器人`:指向 `/docs/practices/quadruped/cs123/intro`
34+
35+
旧入口已从下拉、`overviewSidebar``docs/overview/intro.md` 中移除;文件保留避免链接断。
36+
37+
### 2. 技能树进阶(`docs/foundations/`
38+
39+
按机器人系统能力拆分,5 列。**用户明确要求:感知和仿真要单独分类出来**
40+
41+
- **大脑:智能决策** — 强化学习决策、VLA、World-Model
42+
- **小脑:运动控制** — 运动学与 ROS2、强化学习控制、运动规划
43+
- **感官:感知系统** — VLM、定位与触觉感知
44+
- **仿真:模拟环境** — 仿真工具基础
45+
- **神经 / 硬件 / 数据 / 安全** — CAN 与 MCU 通信、机械结构、模仿学习 + LeRobot、安全防护
46+
47+
### 3. 项目实战(`docs/practices/`
48+
49+
按"本体方向 + 课程入口 + 部署综合"组织。当前已可用:
50+
51+
- CS123 四足课程 8 章(从 PD 控制到 LLM 控制)
52+
- LeRobot 中文课程主线
53+
- SO-101 + LeRobot 真机教程入口
54+
55+
### 4. 求职面试(`docs/career/`
56+
57+
**用户最新要求:只保留三项核心准备**`岗位技能拆解``面经与八股``招聘信息`。已从下拉、`careerOverviewSidebar``docs/career/intro.md` 中移除:简历与作品集、公司技术栈、社区与内推(文件保留,不展示为入口)。
58+
59+
> **重要约束**:用户对四段入口"什么进、什么出"非常明确,已转过几次结构。改动前先确认现状再下手,不要把已移除的入口又加回来。
60+
61+
## 关键实现文件(改结构时必须协同更新)
62+
63+
修改一级入口/导航/侧边栏时,下面这组文件必须一起更新;只改一处会让站点不自洽。
64+
65+
### 导航与首页
66+
67+
- 顶部导航配置:`docusaurus.config.ts`
68+
- Mega menu 数据(4 个一级入口下拉内容):`src/components/NavbarMegaMenu/data.ts`
69+
- Mega menu 样式:`src/components/NavbarMegaMenu/styles.css`
70+
- 首页四张入口卡片:`src/components/HomepageFeatures/index.tsx`(用 `lucide-react` 图标,4 种 accent:cyan/blue/green/amber)
71+
- 首页样式:`src/components/HomepageFeatures/styles.module.css`
72+
73+
### 侧边栏
74+
75+
全部集中在 `sidebars.ts`,命名规律:
76+
77+
- 入口概述:`overviewSidebar` / `foundationsOverviewSidebar` / `practicesOverviewSidebar` / `careerOverviewSidebar`
78+
- 子专题:`foundations<Topic>Sidebar` / `practices<Topic>Sidebar` / `career<Topic>Sidebar`
79+
- 内容多用 `autogenerated` 从目录生成;CS123 课程用显式 doc 列表锁定章节顺序
80+
81+
### 入口概述页
82+
83+
- 零基础入门:`docs/overview/intro.md`
84+
- 技能树进阶:`docs/foundations/intro.md`
85+
- 项目实战:`docs/practices/intro.md`
86+
- 求职面试:`docs/career/intro.md`
87+
88+
### 改完结构的 checklist
89+
90+
1. `sidebars.ts``src/components/NavbarMegaMenu/data.ts`、对应的 `docs/<section>/intro.md``src/components/HomepageFeatures/index.tsx` 是否同步?
91+
2. `npm run build` 是否通过?
92+
3. `npm run check:doc-sidebars` / `check:practice-sidebars` 是否通过?
93+
94+
## 技术栈
95+
96+
- **框架**:Docusaurus 3.10(`@docusaurus/preset-classic` + `@docusaurus/faster` + `@docusaurus/theme-mermaid`
97+
- **运行时**:React 19,TypeScript 5.6,Node ≥ 20
98+
- **样式**:Tailwind 3.4 + PostCSS + CSS modules
99+
- **图标**`lucide-react ^1.14.0`(注意版本较老)
100+
- **数学**`remark-math` + `mathjax-full`
101+
- **搜索**`@easyops-cn/docusaurus-search-local`
102+
- **媒体存储****Git LFS**(视频/GIF)
103+
104+
### 常用脚本
105+
106+
| 命令 | 用途 |
107+
| :--- | :--- |
108+
| `npm run dev` | 本地预览(走 `scripts/dev.sh`|
109+
| `npm run build` | docusaurus build;**改完结构必跑** |
110+
| `npm run typecheck` | tsc |
111+
| `npm run check:doc-assets` | 检查文档引用的图片/视频资源是否存在 |
112+
| `npm run check:doc-sidebars` | 文档与 `sidebars.ts` 一致性 |
113+
| `npm run check:practice-sidebars` | 项目实战侧边栏一致性 |
114+
| `npm run check:math-refs` | 数学公式引用 |
115+
| `npm run check:playgrounds` | playground 配置 |
116+
| `npm run assets:webp` | 图片转 WebP(依赖 Python3) |
117+
118+
### Git LFS
119+
120+
clone 后必须先:
121+
122+
```bash
123+
git lfs install
124+
git lfs pull
125+
```
126+
127+
否则本地看到的 GIF/视频是 pointer 文本。若 `npm run build` 报 GIF/LFS 警告,多半是本地 LFS 未拉。
128+
129+
### 已知警告
130+
131+
- `docs/CLAUDE#anchor` broken anchor(既有)
132+
- GIF / LFS 图片读取警告,通常与本地 LFS 状态有关
133+
134+
## 文档写作风格
135+
136+
详见 [docs/CLAUDE.md](docs/CLAUDE.md)。简要:
137+
138+
1. **不写元叙事过渡句**(禁「本节将…」「下一节用 Y 看一下成品」之类)
139+
2. **标题严谨且简短**(动作-对象短语,中文 ~10 字以内)
140+
3. **标题里只用中英文 + 空格**(禁 backtick / `+` / `/` / `` / `:` 等)
141+
4. **跨节引用用 inline**(不要独立一段说"下面我们将…")
142+
5. **图表引用统一**用「如[图 X](#anchor) 所示」「如表 X 所示」「如式 $\eqref{...}$ 所示」
143+
144+
## 贡献者
145+
146+
| 姓名 | 职责 |
147+
| :--- | :--- |
148+
| 罗如意 | 项目负责人 |
149+
| 江季 | 项目负责人(蘑菇书 [easy-rl](https://github.com/datawhalechina/easy-rl) 作者) |
150+
| 康博 | 核心贡献者(nobl.ai 联合创始人 & 比利时根特大学访问教授) |

0 commit comments

Comments
 (0)