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

51 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# react-phone-apps
<!-- BLUEPRINT_MANAGED_START version="1.4.3" -->
## 项目蓝图
本项目使用 `.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`
<!-- BLUEPRINT_MANAGED_END -->
## 命令执行规则
**禁止把命令输出给用户手动执行。** 凡是需要运行的命令,直接用 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`)、需要输入密码、或明确的破坏性操作需确认