name: linear-sop description: Linear工单管理最佳实践。用于创建问题、更新状态或附加证据时。提供开发/预演/完成阶段的证据模板。
Linear SOP 技能
目的
指导一致的Linear工单管理。提供开发/预演/UAT证据政策的强制证据模板。
适用场景
- 创建新的Linear问题
- 更新工单状态
- 附加证据到工单
- 解析验收标准
- 处理UUID和问题ID
Linear操作(手动流程)
由于Gemini CLI没有原生Linear集成,请使用Linear web UI或CLI进行这些操作:
读取问题
# 通过Linear Web UI
# 导航到:https://linear.app/team/{{PROJECT_TEAM_NAME}}/issue/{{TICKET_PREFIX}}-XXX
# 或者使用Linear CLI(如果已安装)
linear issue view {{TICKET_PREFIX}}-XXX
创建问题
# 通过Linear Web UI:点击“新建问题”或按C键
# 或者使用Linear CLI:
linear issue create --title "feat(scope): description" --team {{PROJECT_TEAM_NAME}}
更新问题
# 通过Linear Web UI:打开问题并更新状态
# 或者使用Linear CLI:
linear issue update {{TICKET_PREFIX}}-XXX --state "Done"
添加评论
# 通过Linear Web UI:打开问题并添加评论
# 或者使用Linear CLI:
linear issue comment {{TICKET_PREFIX}}-XXX "**Dev Evidence**
..."
证据政策(必须)
每个问题在每个阶段都需要证据:
| 阶段 | 是否必须 | 内容 |
|---|---|---|
| 开发 | 必须 | 实施证明 |
| 预演 | 必须 | UAT验证(或不适用) |
| 完成 | 必须 | 最终验证 |
证据模板
开发证据模板
**开发证据**
**PR**: https://github.com/{{ORG_NAME}}/{{REPO_NAME}}/pull/XXX
**提交**: [短哈希]
**分支**: {{TICKET_PREFIX}}-XXX-描述
**实施:**
- [x] 功能已实施
- [x] 测试通过
- [x] 代码规范通过
**验证:**
\`\`\`bash
yarn ci:validate
# 输出:所有检查通过
\`\`\`
预演/UAT证据模板
**预演证据**
**环境**: Pop OS开发服务器
**URL**: http://pop-os:3000
**验证步骤:**
1. 部署到预演环境:[时间戳]
2. 冒烟测试通过:[是/否]
3. 功能验证:[描述]
**UAT状态:** [通过/待定/不适用]
如果不适用,原因:[例如,“仅开发工具 - 无用户界面更改”]
完成证据模板
**完成证据**
**PR合并**: https://github.com/{{ORG_NAME}}/{{REPO_NAME}}/pull/XXX
**合并提交**: [哈希]
**最终检查清单:**
- [x] 所有验收标准已满足
- [x] 文档已更新(如适用)
- [x] 未检测到回归问题
验收标准解析
当读取问题描述时,提取验收标准:
## 验收标准
- [ ] 用户可以执行操作X
- [ ] 系统响应Y
- [ ] 错误处理Z
转换为可测试的检查清单:
const acceptanceCriteria = [
{ criterion: "用户可以执行操作X", verified: false },
{ criterion: "系统响应Y", verified: false },
{ criterion: "错误处理Z", verified: false },
];
状态工作流
待办 -> 就绪 -> 进行中 -> 测试 -> 准备评审 -> 完成
状态更新指南
| 从 | 到 | 时机 |
|---|---|---|
| 待办 | 就绪 | 冲刺规划 |
| 就绪 | 进行中 | 工作开始 |
| 进行中 | 测试 | PR创建 |
| 测试 | 准备评审 | 测试通过,UAT完成 |
| 准备评审 | 完成 | POPM批准 |
UUID处理
Linear内部使用UUID。当使用API时:
// 问题标识符(人类可读)
const issueId = "{{TICKET_PREFIX}}-459";
// UUID(API操作)
const uuid = "ef6a5fa0-2b46-417f-8266-dea2d187b10a";
// 通过Linear web UI或API从标识符获取UUID
// 问题URL包含UUID
常见操作
链接PR到问题
PR在以下情况下自动链接:
- 分支名称包含
{{TICKET_PREFIX}}-XXX - PR标题包含
[{{TICKET_PREFIX}}-XXX]
创建子问题
使用Linear web UI:在父问题上点击“添加子问题”
按标签查询
使用Linear web UI过滤器:
- 打开团队视图
- 点击“过滤器”
- 选择标签(例如,“sprint-1”)
参考
- 代理工作流SOP:
docs/sop/AGENT_WORKFLOW_SOP.md - Linear文档: https://linear.app/docs
- CONTRIBUTING.md: 工作流文档