315 lines
5.6 KiB
Markdown
315 lines
5.6 KiB
Markdown
---
|
||
name: dev
|
||
description: 软件开发技能组入口。整合架构设计(dev-arch)、编码实现(dev-coding)、测试(dev-test)三个子技能,提供完整的软件开发工作流。支持全栈开发:Go、Vue、React、iOS、Android、小程序等。
|
||
---
|
||
|
||
# 软件开发 Skill (dev)
|
||
|
||
## 概述
|
||
|
||
dev 是一个技能组入口,整合了软件开发的三个核心阶段:
|
||
|
||
| 子技能 | 用途 | 触发词 |
|
||
|--------|------|--------|
|
||
| **dev-arch** | 架构设计、技术选型、系统设计 | 架构、设计、技术方案 |
|
||
| **dev-coding** | 编码实现、功能开发、代码审查 | 编码、开发、实现 |
|
||
| **dev-test** | 单元测试、集成测试、E2E测试 | 测试、test、覆盖率 |
|
||
|
||
---
|
||
|
||
## 开发工作流
|
||
|
||
```
|
||
需求分析 → 架构设计 → 编码实现 → 测试验证 → 部署上线
|
||
↓ ↓ ↓
|
||
dev-arch dev-coding dev-test
|
||
```
|
||
|
||
### 典型流程
|
||
|
||
1. **架构设计** (dev-arch)
|
||
- 需求分析
|
||
- 技术选型
|
||
- 系统设计文档
|
||
- 架构评审
|
||
|
||
2. **编码实现** (dev-coding)
|
||
- 任务分解
|
||
- 功能开发
|
||
- 代码审查
|
||
- 文档记录
|
||
|
||
3. **测试验证** (dev-test)
|
||
- 单元测试
|
||
- 集成测试
|
||
- E2E 测试
|
||
- 覆盖率分析
|
||
|
||
---
|
||
|
||
## 支持的项目类型
|
||
|
||
### 当前项目生态
|
||
|
||
| 项目 | 类型 | 技术栈 |
|
||
|------|------|--------|
|
||
| **TWMS** | 仓储物流 | Go + Vue 3 + MySQL |
|
||
| **AI-Proj** | 项目管理 | Go + React + PostgreSQL + iOS + Android |
|
||
| **DICIAI** | 进销存SaaS | Go + Vue 3 + MySQL + Android PDA |
|
||
|
||
### 技术栈矩阵
|
||
|
||
| 端 | 语言/框架 | 工具 |
|
||
|-----|----------|------|
|
||
| **后端** | Go (Gin + GORM) | MySQL/PostgreSQL, Redis, Docker |
|
||
| **Web前端** | Vue 3 / React 18 | TypeScript, Vite/CRA, Ant Design |
|
||
| **iOS** | Swift + SwiftUI | Xcode, XCTest |
|
||
| **Android** | Kotlin + Compose | Gradle, Hilt, Room |
|
||
| **PDA** | Android 原生 | 扫码枪集成, 离线存储 |
|
||
| **MCP** | TypeScript | Node.js, MCP SDK |
|
||
|
||
---
|
||
|
||
## ai-proj 任务管理集成
|
||
|
||
所有开发工作都通过 ai-proj CLI 进行任务管理:
|
||
|
||
### 快速开始
|
||
|
||
```bash
|
||
# 1. 查看待办任务
|
||
ai-proj task list --status in_progress,todo
|
||
|
||
# 2. 启动任务
|
||
ai-proj task start --id <taskId>
|
||
|
||
# 3. 完成任务
|
||
ai-proj task complete --id <taskId>
|
||
|
||
# 4. 记录文档
|
||
ai-proj task append-doc --id <taskId> --content "实现说明"
|
||
```
|
||
|
||
### 任务分解
|
||
|
||
```bash
|
||
# 创建主任务
|
||
ai-proj task create --title "功能名称"
|
||
|
||
# 创建子任务
|
||
ai-proj task create --title "架构设计" --parent-id <parentId>
|
||
ai-proj task create --title "功能开发" --parent-id <parentId>
|
||
ai-proj task create --title "测试验证" --parent-id <parentId>
|
||
```
|
||
|
||
---
|
||
|
||
## 常用命令速查
|
||
|
||
### Go 后端
|
||
|
||
```bash
|
||
# 构建
|
||
make build
|
||
|
||
# 运行
|
||
./_output/main --config ./configs/config.yaml
|
||
|
||
# 测试
|
||
make test
|
||
make cover
|
||
```
|
||
|
||
### Vue 前端
|
||
|
||
```bash
|
||
# 开发
|
||
npm run dev
|
||
|
||
# 构建
|
||
npm run build:prod
|
||
|
||
# 检查
|
||
npm run lint:eslint
|
||
```
|
||
|
||
### React 前端
|
||
|
||
```bash
|
||
# 开发
|
||
npm start
|
||
|
||
# 构建
|
||
npm run build
|
||
|
||
# 测试
|
||
npm test
|
||
npm run test:e2e
|
||
```
|
||
|
||
### iOS
|
||
|
||
```bash
|
||
# 构建
|
||
xcodebuild -scheme ProjectName -configuration Debug
|
||
|
||
# 测试
|
||
xcodebuild test -scheme ProjectName
|
||
```
|
||
|
||
### Android
|
||
|
||
```bash
|
||
# 构建
|
||
./gradlew assembleDebug
|
||
./gradlew assembleRelease
|
||
|
||
# 测试
|
||
./gradlew test
|
||
./gradlew connectedAndroidTest
|
||
```
|
||
|
||
---
|
||
|
||
## Git 工作流
|
||
|
||
### 提交规范
|
||
|
||
| 类型 | 说明 |
|
||
|------|------|
|
||
| feat | 新功能 |
|
||
| fix | Bug 修复 |
|
||
| docs | 文档 |
|
||
| refactor | 重构 |
|
||
| test | 测试 |
|
||
| chore | 杂项 |
|
||
|
||
### 分支策略
|
||
|
||
```bash
|
||
# 功能开发
|
||
git checkout -b feature/功能名称
|
||
|
||
# 提交
|
||
git commit -m "feat: 功能描述"
|
||
|
||
# 推送
|
||
git push origin feature/功能名称
|
||
|
||
# 合并
|
||
git checkout main
|
||
git merge feature/功能名称
|
||
```
|
||
|
||
### 双电脑同步 (au-dev / cn-dev)
|
||
|
||
```bash
|
||
# 离开时
|
||
git add -A
|
||
git commit -m "WIP: sync from $(hostname)"
|
||
git push origin $(git branch --show-current)
|
||
|
||
# 到达时
|
||
git fetch origin
|
||
git pull origin $(git branch --show-current)
|
||
```
|
||
|
||
---
|
||
|
||
## Docker 部署
|
||
|
||
### 标准配置
|
||
|
||
```yaml
|
||
services:
|
||
backend:
|
||
build: ./backend
|
||
ports:
|
||
- "8080:8080"
|
||
depends_on:
|
||
- db
|
||
- redis
|
||
|
||
frontend:
|
||
build: ./frontend
|
||
ports:
|
||
- "80:80"
|
||
|
||
db:
|
||
image: mysql:8.0
|
||
# 或 postgres:15
|
||
|
||
redis:
|
||
image: redis:alpine
|
||
```
|
||
|
||
### 常用端口
|
||
|
||
| 服务 | 端口 |
|
||
|------|------|
|
||
| Backend | 8080 / 9099 |
|
||
| Frontend | 80 / 3000 |
|
||
| MySQL | 3306 |
|
||
| PostgreSQL | 5432 |
|
||
| Redis | 6379 |
|
||
|
||
---
|
||
|
||
## 子技能详情
|
||
|
||
### dev-arch (架构设计)
|
||
|
||
用于系统设计阶段:
|
||
- 需求分析
|
||
- 技术选型
|
||
- 架构设计文档
|
||
- API 设计
|
||
- 数据库设计
|
||
- 架构评审
|
||
|
||
### dev-coding (编码实现)
|
||
|
||
用于开发实现阶段:
|
||
- Go 后端开发
|
||
- Vue/React 前端开发
|
||
- iOS/Android 移动开发
|
||
- PDA 应用开发
|
||
- MCP 桥接开发
|
||
- 代码审查
|
||
|
||
### dev-test (测试)
|
||
|
||
用于测试验证阶段:
|
||
- 单元测试
|
||
- 集成测试
|
||
- E2E 测试
|
||
- UI 测试
|
||
- 覆盖率分析
|
||
|
||
---
|
||
|
||
## 最佳实践
|
||
|
||
1. **任务驱动** - 使用 ai-proj 管理所有开发任务
|
||
2. **设计先行** - 复杂功能先设计后编码
|
||
3. **分层清晰** - Controller → Service → Repository
|
||
4. **小步提交** - 频繁提交,每次做一件事
|
||
5. **测试覆盖** - 核心逻辑必须有测试
|
||
6. **文档同步** - 代码变更同步更新文档
|
||
7. **代码审查** - 重要变更必须审查
|
||
|
||
---
|
||
|
||
## 何时使用哪个子技能
|
||
|
||
| 场景 | 推荐技能 |
|
||
|------|----------|
|
||
| 新功能设计 | dev-arch |
|
||
| 技术方案评审 | dev-arch |
|
||
| 功能开发实现 | dev-coding |
|
||
| Bug 修复 | dev-coding |
|
||
| 编写测试 | dev-test |
|
||
| 测试覆盖率提升 | dev-test |
|
||
| 代码审查 | dev-coding |
|
||
| 性能优化 | dev-arch + dev-coding |
|