feat: 融合 devflow-claude P0 批机制 (REQ-20260416-0017)

P0-1: SessionStart Hook — hooks/session-context.sh
  从分支名解析 REQ-ID,调 MCP API 查询需求详情注入 system-reminder

P0-2: PreToolUse Hook — hooks/pre-tool-confirm.sh
  拦截生产推送、force push、docker prod 容器操作、git reset --hard 等

P0-3: Release Draft 闸门设计文档 — docs/design/release-draft-gate.md
  完整架构 + 渐进式落地路径(拆 7 个子任务延后)
  附最小可用脚本 hooks/release-draft.sh 创建 Gitea draft release

P0-4: Memory 隔离规则 — 写入 req-prd / req-design / req-workflow
  禁止 auto-memory 污染模板产出物(章节结构、字段定义、文档结构)

P0-5: CLAUDE.md 架构检查 + 架构片段库
  dev-coding skill 执行前检查架构关键词
  新增 templates/claude-md-snippets/ 含 Go+Gin / React+AntD / Vue+Element /
  MCP+TS / generic 五套骨架

P0-6: /commit 分支保护自动化 — 新 skill dev-commit-plugin
  保护分支自动建功能分支 + Conventional Commits + REQ-XXX 自动关联

安装:
  bash hooks/install.sh

后续:
  P0-3 完整实现拆 7 个子任务(P0-3.1 ~ P0-3.7)
  建议先部署 hooks 跑 1-2 周观察,再推进 Release 机制落地
This commit is contained in:
2026-04-16 21:02:29 +09:30
parent bfe3815626
commit 23ea8fdca5
18 changed files with 1433 additions and 0 deletions

View File

@@ -447,9 +447,30 @@ PRD 说「做什么」(用户故事、业务规则、验收标准),设计
---
## Memory 隔离规则(强制,源自 devflow-claude 借鉴)
**规则:本 skill 产出的设计文档禁止受 auto-memory 影响结构和字段定义。**
### 禁止行为
1. 不得用 memory 里的历史 API 契约填充当前设计(避免张冠李戴)
2. 不得根据 memory 偏好省略"变更文件清单"/"数据模型变更"等章节
3. 不得读取 `~/.claude/projects/*/memory/` 生成 API 字段或 SQL
### 允许行为
- memory 可影响交互风格、命令推荐
- memory 可记住"用户偏好 RESTful 而非 RPC" 这类**偏好**,但字段定义必须基于当前需求
### Why
设计文档是开发契约,字段/接口/表结构错一个字就是 bug。memory 污染会让 AI 脑补出"看起来像但不对"的字段。必须严格基于当前 PRD + 代码现状生成。
**参考**devflow-claude `plugins/req/commands/_common.md` 同名规则。
---
## 变更记录
| 版本 | 日期 | 变更内容 |
|------|------|----------|
| V1.0 | 2026-01-26 | 初始版本(原名 req-dev |
| V2.0 | 2026-04-06 | 重构为 req-design移除架构指南和编码规范聚焦 API 契约 + 任务拆分 |
| V2.1 | 2026-04-16 | 新增 Memory 隔离规则REQ-20260416-0017 |

View File

@@ -411,3 +411,34 @@ mcp__ai-proj__export_task_document_to_file
- 数据安全分级
- 敏感操作审计
- 权限最小化原则
---
## Memory 隔离规则(强制,源自 devflow-claude 借鉴)
**规则:本 skill 涉及模板/文档产出的命令禁止受 auto-memory 影响产出物。**
### 禁止行为
1. 不得根据 memory 中的偏好跳过或合并 PRD 模板章节
2. 不得用 memory 里的历史需求/项目内容填充当前 PRD
3. 不得根据 memory 反馈调整 PRD 章节顺序、表格列数、标题层级
4. 不得读取 `~/.claude/projects/*/memory/` 辅助生成 PRD 正文
### 允许行为
- memory 可影响**交互风格**(提问详略、确认节奏、语气)
- memory 可指导**命令选择**(如根据用户习惯推荐先走 req-compare 还是 req-prd
- memory 可影响**非产出文本**(如对话中的说明)
### Why
auto-memory 设计用于跨会话建立用户画像。但 PRD/需求文档是正式产出物,必须由**模板结构 + 当前输入**决定,不能因 memory 中的偏好自作主张调整结构,否则会导致:
- 模板章节漂移(用户不知道为什么这次少了一章)
- 历史项目内容污染(张冠李戴)
- 产出不可复现
### How to apply
执行 `/req prd` / PRD 编写 / 需求描述生成等命令时:
- 仅读取:模板文件、用户当前输入、引用的已有需求文档
- 不读取memory 目录下的任何文件
- 产出前自检:章节数量和顺序与模板完全一致
**参考**devflow-claude 的 `plugins/req/commands/_common.md` 同名规则。

View File

@@ -184,3 +184,25 @@ mcp__ai-proj__batch_sync_tasks_to_remote(taskIds)
发送邮件:`/req notify [REQ-ID] --type <prd|dev|test|deploy|archive>`
默认收件人:项目邮件组(见项目配置)
---
## Memory 隔离规则(强制,源自 devflow-claude 借鉴)
**规则涉及生命周期文档产出PRD / 设计 / 测试报告 / 部署报告 / 生命周期总结)时,禁止受 auto-memory 影响产出物结构。**
### 禁止行为
1. 不得跳过或合并 5 阶段文档的任一阶段01-PRD ~ 05-生命周期总结)
2. 不得因 memory 里的历史项目跳过章节
3. 不得因 memory 中的"精简偏好"缩减文档结构
4. 不得读取 `~/.claude/projects/*/memory/` 生成这些文档的正文
### 允许行为
- memory 可影响**交互风格**(如提问详略)
- memory 可影响**通知习惯**(如默认 CC 某人)
- memory 可影响**触发时机**(如归档时是否自动同步思源)
### Why
需求生命周期文档对应审计和交付物。结构变化会破坏检索、对标、复盘。memory 应调节"怎么聊",不应调节"最终文档长什么样"。
**参考**devflow-claude `plugins/req/commands/_common.md` 同名规则,以及本项目 REQ-20260416-0017。