dev-manager-tauri/CLAUDE.md
lanrtop f4ff83d94e feat(governance): 规则分发跨工具化——AGENTS.md 成为蓝图工作流单一来源
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
2026-07-02 19:49:22 +09:00

86 lines
4.0 KiB
Markdown
Raw Permalink 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.

# 炼境 (Dev Manager Tauri)
Git 多空间开发管理器Tauri v2 + React + TypeScript + Rust。
<!-- 手动维护区:只放技术栈、目录结构、技能规则。蓝图工作流由下方 MANAGED 块统一管理,勿在此重复。 -->
## 技术栈
- 前端React 19 + TypeScript + TailwindCSS + React Query + Zustand + React Flow
- 后端Rust + Tauri v2 + SQLite (rusqlite + r2d2)
- 包管理pnpm禁止 npm/yarn
- Git 后端:自建 GiteaGitHub 已退役,见 .blueprint/modules/github-decommission.md
- CI/CDGitea 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_MANAGED_START version="1.9.0" -->
## 项目蓝图
本项目使用 `.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 -->