bojunC 38c5a466cd feat: 实现 Issue #1 - 项目初始化和环境配置
- 创建 monorepo 结构(Turborepo)
- 初始化前端项目(Next.js + TypeScript + Tailwind CSS)
- 初始化后端项目(NestJS + TypeScript)
- 配置开发工具(ESLint, Prettier, VS Code)
- 创建项目文档(README, 开发规范)

Closes #1
2026-03-19 16:14:26 +08:00

5.8 KiB
Raw Permalink Blame History

name description arguments
gitea-process-issue 手动处理单个 Issue
name description required
issue_number Issue 编号 true

手动处理指定的 Issue启动 Agent 实现代码和创建 PR。

工作流程

第一步:获取 Issue 详情

依据 .claude/commands/gitea/API-QUICK-REFERENCE.md 文档中的 Issue 操作指南获取 Issue 详情。

第二步:解析 Issue 信息

从 Issue 提取:

  • 标题和描述
  • 标签(类型、优先级)
  • 依赖关系(从描述中解析)

第三步:检查依赖

解析 Issue 描述中的依赖标记:

## 依赖关系
- 前置 Issue: #1, #2

依据 .claude/commands/gitea/API-QUICK-REFERENCE.md 文档中的 Issue 操作指南检查前置 Issue 是否已完成。

第四步:启动 Code Agent

使用 Agent 工具启动 general-purpose Agent 处理 Issue。

Agent 提示词模板

处理 Gitea Issue #${issue_number}

## Issue 信息
标题: ${issue_title}
描述: ${issue_body}
标签: ${labels}

## 工作流程

### 1. 准备工作
首先检查当前 Git 状态:
```bash
git status
git branch

2. 创建特性分支

git checkout main
git pull origin main
git checkout -b feature/issue-${issue_number}

3. 分析需求

仔细阅读 Issue 描述,理解需要实现的功能。

4. 探索现有代码

使用 Glob 和 Grep 工具了解项目结构:

  • 查找相关的源代码文件
  • 了解现有的代码组织方式
  • 识别可以复用的模块

5. 增量式实现代码

重要原则:

  • 只实现 Issue 要求的功能
  • 不重复已有代码
  • 遵循项目代码规范
  • 保持代码简洁

使用 Read 工具读取现有代码,然后使用 Edit 或 Write 工具添加新代码。

6. 生成测试代码

根据功能特点生成适当的测试:

  • 对于数据模型:单元测试
  • 对于业务逻辑:单元测试 + 集成测试
  • 对于 UI 组件UI 测试(如果适用)

测试文件命名规范:

  • 单元测试: Tests/Editor/{ClassName}Tests.cs
  • 集成测试: Tests/Integration/{FeatureName}Tests.cs

7. 运行测试(如果有测试框架)

# 如果是 Unity 项目,使用 Unity Test Runner
# 如果有其他测试框架,运行相应命令

如果测试失败:

  • 分析失败原因
  • 修复代码
  • 重新运行测试
  • 重复直到测试通过

8. 提交代码

git add .
git commit -m "feat(${module}): 实现 Issue #${issue_number} - ${feature_name}

- 实现了 XXX 功能
- 添加了 YYY 测试
- 修复了 ZZZ 问题

Closes #${issue_number}"

9. 推送到远程

git push -u origin feature/issue-${issue_number}

10. 创建 Pull Request

依据 .claude/commands/gitea/API-QUICK-REFERENCE.md 文档中的 Pull Request 操作指南创建 PR。

11. 在 Issue 中添加评论

依据 .claude/commands/gitea/API-QUICK-REFERENCE.md 文档中的 Issue 评论操作指南在 Issue 中添加评论说明已创建 PR。

重要提示

  1. 增量式开发: 不要重新生成整个项目,只添加新的功能
  2. 测试覆盖: 必须生成测试代码,测试覆盖率目标 > 80%
  3. 代码质量: 遵循项目代码规范,保持代码整洁
  4. 原子提交: 每次提交应该是一个完整的、可工作的变更
  5. PR 描述: PR 描述应该清晰说明变更内容和测试结果

错误处理

  • 如果依赖未满足:报告并退出
  • 如果分支已存在:询问是否继续或使用新分支名
  • 如果测试失败:分析失败原因,修复代码,重试
  • 如果 PR 创建失败:报告错误并建议手动创建

### 第五步:等待 Agent 完成

使用 TaskOutput 监控 Agent 的执行进度和结果。

### 第六步:报告结果

显示处理结果:
- 创建的分支名称
- 创建的 PR 编号
- 测试结果
- 下一步建议

## 示例输出

🔧 处理 Issue #3 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

获取 Issue 详情 • 标题: [功能] 任务增删改查核心功能 • 标签: 功能, 优先级:中 • 依赖: Issue #2

检查依赖 • Issue #2: 已完成

🤖 启动 Code Agent • 分支: feature/issue-3 • Agent ID: agent-xyz789

Agent 工作中... [Agent 输出会实时显示]

Agent 完成

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📋 处理结果:

分支创建成功: feature/issue-3 代码实现完成: 5 个文件 测试通过: 12/12 Pull Request 创建: #3 Issue 评论已添加

🔗 链接: • PR: chen/task-manager-unity#3 • Issue: chen/task-manager-unity#3

💡 下一步: • 等待 PR 审核 • 或使用 /gitea-status 查看状态


## 注意事项

1. **依赖检查**: 必须确保依赖 Issue 已完成
2. **分支命名**: 使用 `feature/issue-{number}` 格式
3. **测试要求**: 测试覆盖率必须 > 80%
4. **原子性**: 每个 Issue 应该是一个完整的功能单元
5. **冲突处理**: 如果有冲突,需要手动解决

## 错误场景

### 依赖未满足

无法处理 Issue #3

原因: 依赖 Issue #2 未完成 状态: Issue #2 当前状态为 open

💡 建议: • 先完成 Issue #2 • 或修改 Issue #3 的依赖关系


### 分支已存在

⚠️ 分支已存在: feature/issue-3

选项:

  1. 继续在现有分支上工作
  2. 创建新分支: feature/issue-3-v2
  3. 取消操作

请选择: _


### 测试失败

测试失败

失败的测试: • TaskManagerTests.CreateTask_ShouldSetDefaultValues • TaskManagerTests.DeleteTask_ShouldRemoveFromList

💡 Agent 正在尝试修复...


## 相关命令

- `/gitea-status` - 查看项目状态
- `/gitea-start-scheduler` - 启动自动处理
- `/gitea-init-project` - 初始化项目