From 57b950cf31fe1d8eb7ca974e1626b7396b3a283e Mon Sep 17 00:00:00 2001 From: Joywayer Date: Mon, 6 Jul 2026 08:35:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=8D=E8=80=97=E2=91=A0=EF=BC=9A=E6=8C=89?= =?UTF-8?q?=E5=8C=BA=E6=B3=A8=E5=85=A5=E6=8E=92=E9=99=A4=20README=EF=BC=8C?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=B8=8E=20@import=20=E7=9A=84=E9=87=8D?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit README(红线速查/一页纸总则)已由 CLAUDE.md 用 @import 常驻每次会话, 按区注入里再读一遍是纯重复。readDirDocs 过滤掉 README.md,只注编号正文。 - server 首注 54,339 → 49,416 字符(省 ~4.9K) - client 首注(含 client+engineering 两个 README)省 ~5.5K - 注入文案标注「README 已随 CLAUDE.md 常驻,此处为编号正文」 - 零规范损失(内容未删,只是不重复注入);pipe-test 确认无 README 段、 正文与跨区去重逻辑不变 Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude/hooks/remind-docs.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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 =