react-phone-apps/CLAUDE.md
lanrtop f8fdb9d34e chore: 修复 pnpm monorepo 在 Windows 上 Android release 构建失败的问题
- 降级与 SDK 52 不兼容的包版本:expo-secure-store(55→13)、expo-linking 锁定 ~7.0.5、expo-image-manipulator 锁定 ~13.0.0
- 根 package.json 添加 pnpm overrides 锁定 expo-constants ~17.0.8,防止子依赖安装 SDK53+ 版本
- 修复 metro.config.js:强制 unstable_serverRoot 指向 projectRoot,解决 Windows 上 Gradle 入口文件相对路径与 Metro serverRoot 不一致的 bug;补充 monorepo watchFolders 和 nodeModulesPaths 配置
- CLAUDE.md 补充命令执行规则,明确 bash 语法优先、禁止输出命令让用户手动执行

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 23:02:15 +09:00

2.3 KiB
Raw Blame History

react-phone-apps

项目蓝图

本项目使用 .blueprint/ 目录维护项目全景架构图,驱动需求讨论和任务管理。

对话开始时必须执行

  1. 读取 .blueprint/manifest.yaml 了解项目全景和当前状态
  2. 读取 .blueprint/CONVENTIONS.md 了解完整工作流规则

需求讨论 → 蓝图同步规则

用户说的 Claude 应做的
"我想加个 XX 功能" 确认需求后manifest 新增模块status: concept创建 .blueprint/modules/<id>.md
"XX 功能需要 A、B、C" 在模块文件中拆分为任务卡
"这个方案确定了" 模块 status → planned补充任务卡 files/acceptance
"开始做 XX" 模块 status → in_progress
没提蓝图但在讨论功能 主动提议更新蓝图

复杂度决策(讨论新功能 / 拆解需求时)

complexity 执行流程
S / M 直接拆任务卡,确保每张卡有 files + acceptance + complexity → 标记 📋
L复杂系统设计 /architect 输出设计文档,用户确认后 /splitter 拆成 S/M 任务卡

L 级任务禁止直接写代码,必须先经过 /architect/splitter 流程。

任务执行两阶段提交

  • 开始写代码前:任务卡前缀改为 🔵status → in_progress
  • 完成验收后:任务卡前缀改为 status → done更新 manifest updated 日期

完整规则(迭代管理、阻塞处理、复盘笔记等)详见 .blueprint/CONVENTIONS.md

命令执行规则

禁止把命令输出给用户手动执行。 凡是需要运行的命令,直接用 Bash tool 自己执行。

  • pnpm install / 依赖安装 → 直接跑,根目录或子包目录均可
  • Android 构建 → 用 run_in_background: true避免阻塞JAVA_HOME 用 export 内联设置:
    export JAVA_HOME="/c/Program Files/Android/Android Studio/jbr" && pnpm expo run:android --variant release
    
  • Windows 环境变量 → bash 语法用 export VAR=value不用 PowerShell 的 $env:VAR
  • 只有以下情况才让用户手动操作:需要交互式登录(如 gcloud auth login)、需要输入密码、或明确的破坏性操作需确认