sync_blueprint_rules 改为双文件写入: - AGENTS.md:完整蓝图工作流 MANAGED 块(开放标准,Qwen/Cursor/Copilot 均读), 措辞去 Claude 专属化("Claude 应做的"→"AI 应做的",技能引用改为通用流程描述) - CLAUDE.md:MANAGED 块瘦身为 @AGENTS.md 薄引用(保留 version marker, 版本检测不受影响),内容永不分叉 - 抽 upsert_managed_block 公共 helper(created/updated/appended 三态), 附 tempdir 单元测试;SyncResult 新增 agents_md_action 背景:批量同步后发现所有项目只落 CLAUDE.md,跨工具内容被锁进单一工具 私有文件,违反宪章「跨工具单一来源 = AGENTS.md」。 下次批量同步时全部项目自动迁移到新结构(marker 机制天然幂等)。 Rules-Applied: R01, R07
4.0 KiB
4.0 KiB
炼境 (Dev Manager Tauri)
Git 多空间开发管理器,Tauri v2 + React + TypeScript + Rust。
技术栈
- 前端:React 19 + TypeScript + TailwindCSS + React Query + Zustand + React Flow
- 后端:Rust + Tauri v2 + SQLite (rusqlite + r2d2)
- 包管理:pnpm(禁止 npm/yarn)
- Git 后端:自建 Gitea(GitHub 已退役,见 .blueprint/modules/github-decommission.md)
- CI/CD:Gitea Actions 迁移中;发布产物走阿里云 OSS(历史方案见 docs/tauri-cicd-guide.md)
- 客户端更新:tauri-plugin-updater(详见 docs/tauri-updater-guide.md)
目录结构
src/ 前端源码
src/components/ React 组件(按功能分目录)
src/lib/commands.ts Tauri command 调用封装
src-tauri/src/ Rust 后端
src-tauri/src/commands/ Tauri command 实现
src-tauri/resources/onboarding/ 接入包分发模板(AGENTS.md、git-workflow、lefthook)
.blueprint/ 项目蓝图(manifest + 模块详情 + 任务卡)
.claude/rules/ 路径注入规则(tauri-contract / db-schema / onboarding-sync)
AGENTS.md 跨工具 AI 上下文(四支柱 + 元规则,单一来源)
docs/ai-context/ AI 速查文档(project-brief.md、project-context.yaml)
docs/templates/ 炼境接入包模板草案(agents-meta-rules 等)
命令执行规则
- 所有命令直接用 Bash tool 执行,禁止输出命令让用户手动运行
pnpm tauri build/cargo build --release等 Rust 构建用run_in_background: true+timeout: 600000(首次编译可能需要 10 分钟)- 超过 10 分钟的任务(如完整 release build)改为输出单行完整命令,让用户
! <命令>一键执行
技能使用规则
根据任务卡 complexity 决定执行后的检查:
| complexity | 执行后必跑 |
|---|---|
| S(简单增删改) | /code-review → /smart-commit |
| M(中等逻辑) | /Dev-edge-case → /code-review → /smart-commit |
| L(复杂,应先拆) | /architect → /splitter → 拆成 S/M |
- 新功能设计阶段:/architect
- 代码重构/简化:/simplify → /code-review
- 发现深层问题:/Dev-deep-think
项目蓝图
本项目使用 .blueprint/ 目录维护项目全景架构图,驱动需求讨论和任务管理。
对话开始时必须执行
- 读取
.blueprint/manifest.yaml了解项目全景和当前状态 - 读取
.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。