---
name: code-workflow
version: "1.0.0"
category: quality
description: "代码开发工作流 / 分支管理、Commit规范、开发前后检查 — 强制 feat/fix 分支，禁止 master 直接开发"
triggers:
  zh: ["开发分支", "分支管理", "创建分支", "新建分支", "workflow", "开发流程", "分支命名", "feat分支"]
  en: ["branch", "create branch", "workflow", "development branch", "feature branch", "fix branch"]
license: MIT
metadata:
  agent_profile: plugin-engineer
---

# Code Workflow / 开发工作流

## Iron Law / 核心铁律

1. **禁止在 master 直接开发** — 所有代码修改必须在 `feat/xxx` 或 `fix/xxx` 分支
2. **用户未指定分支时自动创建** — 基于当前分支 + 任务描述生成分支名
3. **分支命名规范**: `feat/{domain}-{description}` 或 `fix/{domain}-{description}`
4. **提交规范**: Conventional Commits + 中文描述在前

## 分支命名规则

| 场景 | 前缀 | 示例 |
|------|------|------|
| 插件工程开发 | `feat/plugin-` | `feat/plugin-add-hook` |
| V5 产品开发 | `feat/v5-` | `feat/v5-cockpit-v19` |
| 一般功能开发 | `feat/task-` | `feat/task-refactor-agents` |
| Bug 修复 | `fix/` | `fix/executor-mode` |

## 工作流 / Workflow

```
开始开发
  ├→ 检查当前分支
  │   ├→ 在 feat/* 或 fix/* → ✅ 继续
  │   └→ 在 master/main → ⚠️ 必须创建分支
  │
  ├→ 用户是否指定了分支名？
  │   ├→ 是 → git checkout -b {指定的分支名}
  │   └─→ 否 → 自动生成: feat/{domain}-{task-slug}
  │
  ├→ node scripts/branch-check.js --auto
  │
  └→ git push -u origin {branch}
```

## Scripts

| Script | 用途 |
|--------|------|
| `scripts/branch-check.js` | 检查当前分支，自动创建 feat/fix 分支 |

## Usage

```bash
# 检查当前分支状态
node scripts/branch-check.js

# 自动创建分支（基于当前分支+时间戳）
node scripts/branch-check.js --auto --prefix=feat/plugin

# 指定分支名创建
node scripts/branch-check.js --name=feat/v5-new-dashboard
```
