Files
ngzz-mc/CLAUDE.md

61 lines
3.5 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.
# MC 项目规则(Claude Code)
本文件约束 AI 助手在本仓库中的行为。
项目:用 Go 实现的类 Minecraft 体素沙盒游戏(可扩展、可 Mod)。
## 第一原则:先查文档,再动手
1. 任何任务开始前,先读 `文档/索引.md`(全部文档的唯一入口,书签式目录)。
2. 按索引 §7「决策树」定位相关文档,**通读后再实现**。
3. 文档与代码冲突时以文档为准;发现文档过时,先修文档再改代码。
## 文档速查(按任务定位)
| 任务类型 | 必读文档 |
| --- | --- |
| Chunk 数据结构 / 异步生成 / 锁 | 文档/场景/区块管理.md |
| 地形 / 噪声 / 洞穴 / 矿物 | 文档/场景/世界生成.md |
| 生物群系 / 树 / 随机刻 / 液体 | 文档/场景/世界生态.md |
| 渲染 / mesh / 图集 / GL 线程 / 光影包 | 文档/场景/渲染.md |
| 材质包 / 光影包 / 内容包格式 / 默认回退 | 文档/设计.md §1.3、文档/场景/渲染.md §9 |
| 热更新 / 热重载 / 脚本引擎 / plugin | 文档/场景/热更新.md、文档/设计.md §3.4 |
| 光照 / 火把 / relight | 文档/场景/光照.md |
| 物理 / 碰撞 / 移动 | 文档/场景/物理与碰撞.md |
| 方块交互 / 破坏 / 耐久 / crack | 文档/场景/方块交互与动画.md |
| 红石 / 活塞 / 方块更新 | 文档/场景/红石与方块更新.md |
| 实体 / AI / 寻路 / 掉落物 | 文档/场景/实体系统.md |
| 物品 / 背包 / 配方 / 容器 | 文档/场景/物品与背包.md |
| 工作台 / 合成表 / 配方匹配 | 文档/场景/工作台与合成表.md |
| 挖矿 / 矿物 / 工具门槛 / 附魔 | 文档/场景/挖矿与矿物.md |
| 动物 / 繁殖 / 驯服 | 文档/场景/动物体系.md |
| 村庄 / 村民 / 建造房子 / 交易 | 文档/场景/村民系统.md |
| 僵尸 / 敌对生物 / 村庄围攻 | 文档/场景/僵尸与敌对生物.md |
| UI / 拖拽 / 多语言 / 输入 | 文档/场景/UI与输入.md |
| UI 一比一还原 / 原版界面布局 | 文档/场景/UI还原.md |
| 音频 / 3D 音效 | 文档/场景/音频.md |
| 多人同步 / 防作弊 | 文档/场景/多人同步.md、文档/网络协议.md |
| 存档 / 持久化 / diff | 文档/场景/存档与持久化.md、文档/存档格式.md |
| 性能 / GC / pprof | 文档/场景/性能与内存.md |
| 网络 / 多人 | 文档/网络协议.md、文档/设计.md §10 |
| Mod | 文档/Mod开发指南.md、文档/设计.md §3 |
| 测试 / CI | 文档/测试与质量.md |
| 构建 / 发布 | 文档/构建与发布.md |
| 编码风格 / Git / 评审 | 文档/开发规范.md |
| 规划 / 里程碑 | 文档/路线图.md |
## 硬性规则
- 协议、存档格式、Mod API、场景算法等**规范类改动:先更新对应文档,再改代码**,并登记到 `文档/索引.md`。
- 新增文档必须登记到 `文档/索引.md`(对应层 + 主题索引 + 阅读路径 + 决策树)。
- 遵循 Go 编码规范(文档/开发规范.md):错误带上下文、无 goroutine 泄漏、`gofmt`/`go vet` 零告警。
- 提交信息使用 Conventional Commits(如 `feat(world): ...`、`fix(chunk): ...`)。
- 禁止臆造项目不存在的目录 / 文件结构;以 文档/设计.md §1.1 为准。
- 场景专篇引用用相对链接(`光照.md`),引总纲用 `../设计.md`。
## 常用命令
- 测试:`go test -race ./...`
- Lint:`go vet ./...`、`golangci-lint run`
- 基准:`go test -bench=. -benchmem ./...`
- 性能:`go tool pprof http://localhost:6060/debug/pprof/heap`(仅 debug 构建)