diff --git a/.claude/hooks/remind-docs.js b/.claude/hooks/remind-docs.js index a2de447..6d12ed5 100644 --- a/.claude/hooks/remind-docs.js +++ b/.claude/hooks/remind-docs.js @@ -30,13 +30,14 @@ function markInjected(relDir) { } catch (e) {} } -// 读取某目录下全部 .md(按文件名排序,README 先于编号靠 sort 自然处理),拼成一段带分隔标题的全文。 +// 读取某目录下的编号正文 .md(按文件名排序),拼成一段带分隔标题的全文。 +// 排除 README.md:它已被 CLAUDE.md 用 @import 常驻每次会话上下文,注入里再带就是重复。 function readDirDocs(relDir) { var abs = path.join(PROJECT_DIR, relDir); var files; try { files = fs.readdirSync(abs); } catch (e) { return ''; } var out = []; - files.filter(function (f) { return /\.md$/i.test(f); }) + files.filter(function (f) { return /\.md$/i.test(f) && !/^README\.md$/i.test(f); }) .sort() .forEach(function (f) { try { @@ -80,9 +81,10 @@ process.stdin.on('end', function () { markInjected(d); }); context = - '【必须严格遵守 · ' + area + '开发规范(本会话首次注入完整文档全文)】\n' + - '你正在修改' + area + '代码。下面是本次及后续所有改动都必须时刻遵守的完整规范' + - '(' + dirs.join('、') + ')。逐条落实,勿凭记忆越线;dev-guide 与 engineering 冲突时以 dev-guide 硬红线为准。\n\n' + + '【必须严格遵守 · ' + area + '开发规范(本会话首次注入编号正文全文)】\n' + + '你正在修改' + area + '代码。下面是本次及后续所有改动都必须时刻遵守的完整规范正文' + + '(' + dirs.join('、') + ';各目录 README 的红线速查/一页纸总则已随 CLAUDE.md 常驻上下文,此处不再重复)。' + + '逐条落实,勿凭记忆越线;dev-guide 与 engineering 冲突时以 dev-guide 硬红线为准。\n\n' + full.join('\n\n'); } else { context =