新增 .gitignore 项目规则、CLAUDE.md(含 git 规范)、 agent_instruction.md 重构指导。作为 agent_instruction.md 阶段 1 之前的回滚锚点。
102 lines
3.6 KiB
Markdown
102 lines
3.6 KiB
Markdown
# 项目说明
|
||
|
||
LaTeX 学习笔记:相控阵 DoA + Doppler 估计与 CRB 推导。作者 Josh Gao,单人项目。
|
||
|
||
## 结构
|
||
|
||
- 主文件:`doa_doppler_est.tex`(preamble 与 `\input` 列表)
|
||
- 章节源:`parts/*.tex`
|
||
- 文献:`ref.bib`
|
||
- 图片:`fig/`
|
||
- 重构指导:`agent_instruction.md`(一次性方案,**非常驻规则**)
|
||
|
||
## 当前进行中的重构
|
||
|
||
完整方案在 `agent_instruction.md`,分 6 个阶段。开始任一阶段前必须 `@agent_instruction.md` 读取该阶段细节,**不要凭记忆执行**。一次会话只做一个阶段,做完即停等用户编译验证。
|
||
|
||
## 通用规则
|
||
|
||
- **不要编译 LaTeX**:xelatex/pdflatex/latexmk 均不调用,用户在 TeXstudio 手动编译。agent 只改文件。
|
||
- **不要读编译产物**:`*.aux`、`*.log`、`*.bbl`、`*.bcf`、`*.synctex.gz`、`*.run.xml`、`*.toc`、`*.ist`、`*.glo`、`*.acn`、根目录历史 PDF(`doa_doppler_est_*.pdf`)、`*.zip`。这些都在 `.gitignore` 里。
|
||
- **不要重排 `ref.bib`**:除非明确要求,保持现有条目顺序与格式。
|
||
- **不要动 preamble 的宏包定义**:主文件 `doa_doppler_est.tex` 的 `\input` 列表可以按重构需要调整,宏包加载段不动。
|
||
- **删除/重命名文件用 `git mv`**:保留 history,diff 更小。彻底删除前先 `git mv` 到 `archive/` 子目录(已 gitignore)暂存。
|
||
- **推导卡壳留 `% TODO:` 注释**,不要编造 placeholder 文字。
|
||
- **语言**:中文为主;公式、符号、文件路径、命令用英文。
|
||
- **不要总结改动**:用户看 diff,不需要 trailing summary。
|
||
|
||
---
|
||
|
||
# Git commit 规范
|
||
|
||
## 格式
|
||
|
||
```
|
||
<type>(<scope>): <中文 subject,命令式,≤50 字>
|
||
|
||
<可选 body,每行 ≤72 字>
|
||
```
|
||
|
||
## type(仅 4 类)
|
||
|
||
| type | 用途 |
|
||
|------|------|
|
||
| `struct` | 文件移动/合并/拆分、`\input` 顺序调整 |
|
||
| `content` | 实质性内容:新增/改写推导、过渡段、文献、图表 |
|
||
| `fix` | 修错:typo、公式错、断引用 |
|
||
| `meta` | 元文件:CLAUDE.md、agent_instruction.md、.gitignore、.gitattributes |
|
||
|
||
## scope(细分维度)
|
||
|
||
- 章节定位:`sec1`–`sec7`、`app-A`…`app-G`、`preamble`
|
||
- 跨章节专题:`symbol`、`bib`、`fig`
|
||
|
||
## body 强制规则
|
||
|
||
- `type=struct` **必须**有 body,说明拆/合的依据
|
||
- `scope=symbol` **必须**有 body,说明符号冲突或废弃原因
|
||
- 其他情况自由,但建议解释"为什么"而非"什么"
|
||
|
||
## subject 规则
|
||
|
||
- 中英混合:type 用英文,scope/subject 用中文
|
||
- 命令式动词开头:"新增 / 删除 / 合并 / 重命名 / 修正"
|
||
- 不写"添加了 / 已完成"等完成时
|
||
- 不加句号
|
||
|
||
## 其他硬规则
|
||
|
||
- **每阶段至少一个 commit**,不跨阶段堆改动
|
||
- **结构改动与内容改动分开 commit**——"重命名 A6 → E" (`struct`) 和 "E.2 新增多用户推导" (`content`) 必须是两个 commit
|
||
- **不写 `Co-Authored-By` 尾注**——个人学习笔记
|
||
- **不加阶段标记**(如 `Stage: 1/6`)——subject 自带阶段语义即可
|
||
|
||
## 示例
|
||
|
||
```
|
||
struct(app): 合并 A3+A4+A5 为附录 D
|
||
|
||
三者共享 FIM 推导框架(确定/随机信号 + DoA/DoA-Doppler),
|
||
分立反而割裂对比。合并后子节顺序 D.1 确定 DoA、D.2 确定
|
||
DoA-Doppler、D.3 随机 DoA(对照支线)。
|
||
```
|
||
|
||
```
|
||
struct(symbol): Q_ℓ 全局替换为 Ω_ℓ
|
||
|
||
Q 保留给波束成形人工噪声协方差矩阵(后续第 7 节)。
|
||
影响 parts/ 下全部 .tex 文件及附录 A 符号表。
|
||
```
|
||
|
||
```
|
||
content(sec5): 新增时间戳误差信号模型与 EFIM 框架
|
||
```
|
||
|
||
```
|
||
fix(sec3): 修正参考星 Doppler 偏差号
|
||
```
|
||
|
||
```
|
||
meta: 新增 agent_instruction.md 重构指导文档
|
||
```
|