- 降级与 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>
51 lines
2.3 KiB
Markdown
51 lines
2.3 KiB
Markdown
# 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`)、需要输入密码、或明确的破坏性操作需确认
|