From ec338c687e2e04bd37ab5c76a0a9c19769190502 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Sun, 30 Aug 2026 02:09:13 +0800 Subject: [PATCH] docs: record 8.4.0 testflight upload --- CODE_GOVERNANCE.md | 82 ++++++++++++++++++++-------------------- 1 files changed, 41 insertions(+), 41 deletions(-) diff --git a/CODE_GOVERNANCE.md b/CODE_GOVERNANCE.md index 2305e7f..46b9b86 100644 --- a/CODE_GOVERNANCE.md +++ b/CODE_GOVERNANCE.md @@ -1,23 +1,23 @@ # Taglauncher 代码治理与 Git 规范 -本文档是 `/Users/ar/Projects/Taglauncher` 的代码管理、Git 使用、交付和 Agent 协作规范。根目录 `AGENTS.md` 是强制入口;本文件是完整执行标准。 +本文档是 `/Users/ar/Projects/Taglauncher/03-O` 的代码管理、Git 使用、交付和 Agent 协作规范。根目录 `AGENTS.md` 是强制入口;本文件是完整执行标准。 ## 1. 项目边界 -- 主仓库工作区固定为 `/Users/ar/Projects/Taglauncher`。 -- 唯一源码根目录固定为 `/Users/ar/Projects/Taglauncher/src`。 -- App 源码、构建脚本、QA 脚本、SmartStart/Apple catalog 资料、发布资料都必须在 `src/` 下维护。 +- 主仓库工作区固定为 `/Users/ar/Projects/Taglauncher/03-O`。 +- 唯一源码根目录固定为 `/Users/ar/Projects/Taglauncher/03-O/C1.source`。 +- App 源码、构建脚本、QA 脚本、SmartStart/Apple catalog 资料都必须在 `C1.source/` 下维护;发布证据进入 `K3.运营与发布资料/Release/`,当前迁入构建包进入 `C2.builds/`。 - 项目根目录只保留仓库入口文档、公开网站资料、治理规范和非源码管理说明。 -- 不允许再创建或继续使用 `/Users/ar/Projects/Taglauncher-*source`、`/Users/ar/Projects/Apptag-*` 等外部源码目录。 +- 不允许再创建或继续使用 `/Users/ar/Projects/Taglauncher/03-O-*source`、`/Users/ar/Projects/Apptag-*` 等外部源码目录。 ## 2. Git 工作区规则 - 开始任何代码、文档、发布或迁移任务前,必须先执行并检查: ```bash -git status --short 2>&1 | head -c 6000 -git branch --show-current 2>&1 | head -c 2000 -git worktree list --porcelain 2>&1 | head -c 6000 +git status --short +git branch --show-current +git worktree list --porcelain ``` - 如果工作区已有改动,必须区分改动来源: @@ -46,9 +46,9 @@ - 提交前必须确认: ```bash -git status --short 2>&1 | head -c 6000 -git diff --stat 2>&1 | head -c 6000 -git diff --cached --stat 2>&1 | head -c 6000 +git status --short +git diff --stat +git diff --cached --stat ``` - 提交信息使用简洁英文或项目已有风格,示例: @@ -73,7 +73,7 @@ git tag -a pre-src-migration-main-YYYYMMDD.HHMM -m "Pre src migration main" ``` -- tag、`Info.plist`、`CHANGELOG.md`、`Release/` 资料、最终安装包文件名和 build 编号必须一致。 +- tag、`Info.plist`、`CHANGELOG.md`、发布资料、最终安装包文件名和 build 编号必须一致。 - 生成 App Store 发布资料时,App Store Connect 的 What's New 不得只依据目标版本 release scope 或目标版本 changelog 小节。必须先确认当前 App Store 线上版本或当前待替换版本,并从 `CHANGELOG.md` 提取当前商店版本之后到目标版本之间的累计用户可感知变更。 - 每个 App Store release checklist 必须包含可勾选的 What's New 累计变更门禁:当前商店基线版本、目标版本、累计 changelog 范围、中间版本用户可感知变更、排除原因,以及中英文 What's New 用户审核结果。 @@ -86,13 +86,13 @@ - 对应分支。 - 预计生命周期。 - 清理条件。 -- worktree 不得放在 `/Users/ar/Projects/Taglauncher-*source` 或 `/Users/ar/Projects/Apptag-*` 这类容易被误认为正式源码根目录的位置。 +- worktree 不得放在 `/Users/ar/Projects/Taglauncher/03-O-*source` 或 `/Users/ar/Projects/Apptag-*` 这类容易被误认为正式源码根目录的位置。 - 任务完成后必须执行: ```bash -git worktree remove WORKTREE_PATH 2>&1 | head -c 6000 -git worktree prune 2>&1 | head -c 6000 -git worktree list --porcelain 2>&1 | head -c 6000 +git worktree remove WORKTREE_PATH +git worktree prune +git worktree list --porcelain ``` - 如果 worktree 有未提交改动,禁止直接删除;必须先确认归属和处理方式。 @@ -100,7 +100,7 @@ ## 7. 构建产物与敏感文件 - `build/`、临时安装包、编译缓存、用户本地数据、钥匙串资料、p12 证书、provisioning profile 默认不进源码提交。 -- 只有明确作为 release archive 的产物,才可放入 `src/Release/.../Archive/`,并必须配套说明、hash、版本和 QA 证据。 +- 只有明确作为 release archive 的产物,才可放入 `C2.builds/.../Archive/`,并必须在 `K3.运营与发布资料/Release/...` 配套说明、hash、版本和 QA 证据。 - 证书目录只作为本地敏感资料管理,不作为源码迁移内容。 - 不允许把真实用户数据、隐私资料、账号凭证或本地配置写入 Git。 @@ -109,10 +109,10 @@ 接手旧线程、长期任务、发布任务或迁移任务时,必须先完成以下检查,不得等待旧线程: ```bash -git status --short 2>&1 | head -c 6000 -git branch --show-current 2>&1 | head -c 2000 -git log --oneline --decorate --graph --max-count=12 2>&1 | head -c 6000 -git worktree list --porcelain 2>&1 | head -c 6000 +git status --short +git branch --show-current +git log --oneline --decorate --graph --max-count=12 +git worktree list --porcelain ``` - 必须读取最近会话记录,确认未完成项、已完成项、阻塞项和用户最新指令。 @@ -136,7 +136,7 @@ TagLauncher 的 UI 工作必须先确认视觉目标,再修改生产 SwiftUI / AppKit 源码。经验复盘见: -`/Users/ar/Projects/Taglauncher/Docs/KM2.项目管理-非业务直接相关/关于TagLauncher所有UI类问题的经验与教训.md` +`/Users/ar/Projects/Taglauncher/03-O/K2.项目管理/KM2.项目管理-经验门禁/关于TagLauncher所有UI类问题的经验与教训.md` ### 10.1 触发范围 @@ -152,7 +152,7 @@ 非平凡 UI 改动开工前必须先写 UI 合约。推荐模板: -`/Users/ar/Projects/Taglauncher/Docs/KM2.项目管理-非业务直接相关/UI合约模板.md` +`/Users/ar/Projects/Taglauncher/03-O/K2.项目管理/KM2.项目管理-经验门禁/UI合约模板.md` 如果当前任务已有 PRD、TODO、Round 文档或 issue,也可以在该文档中写入同等字段,不强制复制模板。UI 合约至少包含: @@ -182,19 +182,19 @@ ## 11. 命令输出保护 -任何未知或可能很大的命令输出都必须 byte-cap: +任何未知或可能很大的命令输出都必须控制范围。规则、CODEGRAPH、交接材料和标准验证命令必须保留原始可执行形式,不能为了展示输出而追加 `head -c`、`2>&1 | head` 等截断管道。执行时通过工具输出上限控制展示,或把完整输出写入日志文件并保留原始命令退出码。 ```bash -COMMAND 2>&1 | head -c 6000 +COMMAND ``` -- 构建、测试、目录遍历、日志、Git diff、搜索结果都应限制输出。 +- 构建、测试、目录遍历、日志、Git diff、搜索结果都应控制展示范围。 - 搜索优先用 `rg` / `rg --files`。 -- 不无上限打印大文件、构建日志、目录树或二进制信息。 +- 不无上限打印大文件、构建日志、目录树或二进制信息;需要压缩展示时由执行工具限制输出,不把截断管道写进标准命令。 ## 12. 禁止事项 -- 禁止在 `src/` 外新增 App 源码副本。 +- 禁止在 `C1.source/` 外新增 App 源码副本。 - 禁止用外部目录长期承载源码开发。 - 禁止在不看 `git status` 的情况下提交、合并、发布或清理。 - 禁止擅自回滚用户改动。 @@ -206,22 +206,22 @@ ## 13. 常用检查命令 ```bash -git status --short 2>&1 | head -c 6000 -git branch --show-current 2>&1 | head -c 2000 -git log --oneline --decorate --graph --max-count=12 2>&1 | head -c 6000 -git worktree list --porcelain 2>&1 | head -c 6000 -git diff --stat 2>&1 | head -c 6000 -git diff --cached --stat 2>&1 | head -c 6000 -git ls-files src 2>&1 | wc -l | head -c 2000 +git status --short +git branch --show-current +git log --oneline --decorate --graph --max-count=12 +git worktree list --porcelain +git diff --stat +git diff --cached --stat +git ls-files C1.source | wc -l ``` 从源码根目录运行 QA: ```bash -cd /Users/ar/Projects/Taglauncher/src -bash Scripts/apple_default_apps_resource_qa.sh 2>&1 | head -c 12000 -bash Scripts/apple_default_note_policy_qa.sh 2>&1 | head -c 12000 -bash Scripts/smartstart_catalog_resource_qa.sh 2>&1 | head -c 12000 -bash Scripts/quick_search_app_name_qa.sh 2>&1 | head -c 12000 -bash Scripts/quick_search_system_app_qa.sh 2>&1 | head -c 12000 +cd /Users/ar/Projects/Taglauncher/03-O/C1.source +bash Scripts/apple_default_apps_resource_qa.sh +bash Scripts/apple_default_note_policy_qa.sh +bash Scripts/smartstart_catalog_resource_qa.sh +bash Scripts/quick_search_app_name_qa.sh +bash Scripts/quick_search_system_app_qa.sh ``` -- Gitblit v1.9.3