新增 .gitignore 项目规则、CLAUDE.md(含 git 规范)、 agent_instruction.md 重构指导。作为 agent_instruction.md 阶段 1 之前的回滚锚点。
3.6 KiB
3.6 KiB
项目说明
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 重构指导文档