fix(lint): 推荐章节中英文按 OR 匹配,warning 数 649→51

PR #61 重写 lint-agents.sh 时把章节列表改成 6 个独立项分别检查
("身份" "核心使命" "关键规则" "Identity" "Core Mission" "Critical Rules"),
导致中文 agent 即使有 ## 身份/核心使命/关键规则,仍会触发"缺少 Identity/
Core Mission/Critical Rules"等英文章节告警,单文件多产生 3 条无效 WARN。

恢复成 3 个 OR-pattern:中英文任一匹配即视为存在。warning 数从 649 降到 51,
剩下的全是真实需要补章节的 agent,信号噪声比恢复。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
AI不止语
2026-05-09 19:34:36 +08:00
parent e5b0c77a3c
commit a80f57d83d
+9 -4
View File
@@ -33,7 +33,12 @@ AGENT_DIRS=(
)
REQUIRED_FRONTMATTER=("name" "description" "color" "emoji")
RECOMMENDED_SECTIONS=("身份" "核心使命" "关键规则" "Identity" "Core Mission" "Critical Rules")
# 中英文任一即可——本仓库以中文为主,英文版用于上游同步
RECOMMENDED_SECTION_PATTERNS=(
"身份|记忆|Identity"
"核心使命|Core Mission"
"关键规则|Critical Rules"
)
errors=0
warnings=0
@@ -99,9 +104,9 @@ lint_file() {
local body
body=$(awk 'BEGIN{n=0} /^---$/{n++; next} n>=2{print}' "$file")
for section in "${RECOMMENDED_SECTIONS[@]}"; do
if ! echo "$body" | grep -qi "$section"; then
echo "WARN $file: 缺少推荐章节 '${section}'"
for pattern in "${RECOMMENDED_SECTION_PATTERNS[@]}"; do
if ! echo "$body" | grep -qiE "$pattern"; then
echo "WARN $file: 缺少推荐章节 (匹配: ${pattern})"
warnings=$((warnings + 1))
fi
done