From cf4a1ad4dbc8f4a3f61a0a1a32f63d31c3562b27 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Thu, 02 Jul 2026 03:07:40 +0800 Subject: [PATCH] Record TagLauncher 8.3.2 release freeze --- AGENTS.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 1d17d55..f377693 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -3,11 +3,58 @@ ## 项目属性 项目类型:研发项目 -主要产物:macOS App +主要产物:macOS App / 桌面工具 -## 项目规则 +这是 AI Agent 进入 `/Users/ar/Projects/Taglauncher` 后应先读的入口文件。 -- 默认遵守 `/Users/ar/.codex/AGENTS.md`;项目本地文档、脚本和 release 规则优先。 -- 发布、分发或验证安装包前,必须读取并遵守 `~/.codex/rules/release-versioning.md`。 -- 可分发构建应先运行 `./build.sh` 生成 `.app`,再运行 `./make_dmg.sh` 生成 `.dmg`;只生成 `.app` 只能视为本地 QA 构建。 -- 版本、build 编号、`CHANGELOG.md`、`Release/` 资料和最终安装包文件必须保持一致。 +## 代码治理入口 + +开始任何代码、Git、迁移、构建、发布或 QA 工作前,必须读取并遵守: + +`/Users/ar/Projects/Taglauncher/CODE_GOVERNANCE.md` + +本入口文件只保留高优先级硬约束;完整执行标准以 `CODE_GOVERNANCE.md` 为准。若两者冲突,以更严格、项目本地、更具体的规则为准。 + +## UI 改动开工门禁 + +TagLauncher 的非平凡 UI 改动必须先过 UI Preview Gate,不得直接进入 SwiftUI / AppKit 源码修改。 + +- 非平凡 UI 改动包括:布局、字体、间距、颜色、主题、material、窗口尺寸、Pro 状态、设置页、AppGrid、Quick Search、tips、hover、拖拽、点击热区、可访问性或任何用户可见视觉变化。 +- 开工前必须先产出 UI 合约;推荐使用 `/Users/ar/Projects/Taglauncher-doc/RepoWorkspace/Docs/KM2.项目管理-非业务直接相关/UI合约模板.md`,也可在当前 PRD / TODO / Round 文档中写入同等字段。 +- UI 合约必须包含目标界面、影响 surface、不做范围、状态矩阵、主题 / 语言长度矩阵、交互互斥关系、验收截图或录屏要求。 +- 非纯调查任务必须先提供高保真预览来源,例如 baoyu-design HTML / 静态 screen、Penpot / Figma frame、用户标注图或等价可审阅截图;用户确认视觉目标后,才允许修改生产 UI 源码。 +- 实现后必须提供真实 App 截图、录屏、AX 或真实点击证据;没有真实渲染或真实交互证据,不得写视觉 PASS。 + +## 源码根目录 + +唯一源码根目录:`/Users/ar/Projects/Taglauncher/src` + +- App 源码、构建脚本、QA 脚本、SmartStart/Apple catalog 资料和发布资料都必须在 `src/` 下维护。 +- 不允许再创建或继续使用 `/Users/ar/Projects/Taglauncher-*source`、`/Users/ar/Projects/Apptag-*` 等外部源码工作目录。 +- 如果需要多分支并行工作,必须使用当前仓库的正常 Git branch;如确需 worktree,必须先说明原因、限定生命周期,并在任务结束后用 `git worktree remove` 清理。 +- 项目根目录只保留仓库入口文档、公开网站资料和非源码管理说明;不要在根目录新增 App 源码副本。 + +## 命令输出保护 + +任何输出未知或可能很大的命令都必须限制输出: + +```bash +COMMAND 2>&1 | head -c 6000 +``` + +搜索优先用 `rg` / `rg --files`。不要无上限打印大文件、构建日志或目录树。 + +## 对话记忆保存规则 + +本项目需要保存重要会话记忆,但不得为了普通会话记录频繁打断用户审批。会话记录不放在主源码工作区,避免造成脏状态和体积膨胀。 + +- 首选保存目录:`/Users/ar/Projects/Taglauncher-doc/chat-history/codex-sessionhistory/`。 +- 只在发生以下情况时保存会话记录:关键决策、文件修改、发布 / 构建 / QA 结论、重大问题排查、用户明确要求保存、阶段性收尾。 +- 纯询问、路径确认、状态查询、简单说明、无实质决策或无文件变更的对话,不强制保存。 +- 文件名格式:`YYYY-MM-DD-主题.md`;主题必须概括本轮 session 的核心内容,控制在 20 个字符以内,优先使用中文短语,避免空格、`/`、`:` 等不适合作为文件名的字符。 +- 如果同一天同主题已有记录文件,必须创建新文件并追加序号,避免覆盖:`YYYY-MM-DD-主题-01.md`、`YYYY-MM-DD-主题-02.md`。 +- 保存内容至少包括:用户目标、已完成事项、关键决策、文件变更、未决问题、后续建议。 +- 如果首选目录不可写,不得发起额外权限审批;必须改存到当前 Codex 工作区的 `.codex-sessionhistory/Taglauncher/`,并在最终答复中说明实际保存位置。 +- 只有首选目录和当前工作区备用目录都不可写时,才允许跳过保存,并在最终答复中说明原因。 +- 如果确需保存,应一次性保存本轮完整摘要,避免为了会话记录反复修正。 +- 跨项目对话以主要项目保存;如果多个项目都有实质决策或改动,应按同样的首选目录 / 当前工作区备用目录规则分别保存摘要。 -- Gitblit v1.9.3