diff --git a/src-tauri/src/commands/blueprint.rs b/src-tauri/src/commands/blueprint.rs index c8b858c..bf14aae 100644 --- a/src-tauri/src/commands/blueprint.rs +++ b/src-tauri/src/commands/blueprint.rs @@ -72,12 +72,14 @@ pub(crate) fn effective_conventions_version() -> String { /// 从字符串内容解析 frontmatter version 字段。 fn parse_frontmatter_version_str(content: &str) -> Option { - for line in content.lines() { + let mut lines = content.lines(); + // 必须以 --- 开头才进入 frontmatter 模式 + if lines.next()?.trim() != "---" { return None; } + for line in lines { + if line.trim() == "---" { break; } // 遇到关闭 --- 停止 if let Some(v) = line.strip_prefix("version: ") { return Some(v.trim().to_string()); } - // frontmatter 结束标志(第二个 ---) - if line == "---" && !content.starts_with("---\n") { break; } } None } @@ -1001,10 +1003,11 @@ pub fn get_blueprint_status(project_path: String) -> Result Result Result success: true, conventions_written: true, claude_md_action: claude_action.clone(), - message: format!("CONVENTIONS.md 已同步至 v{},CLAUDE.md {claude_action}", master_conventions_version()), + message: format!("CONVENTIONS.md 已同步至 v{},CLAUDE.md {claude_action}", effective_conventions_version()), }) }