Editor's Note
fullstack-project-generator
|
Install
npx skills add https://github.com/zlphoenix/fullstack-project-generator --skill fullstack-project-generatorFullstack Project Generator
全栈项目全生命周期开发指南,覆盖从需求分析到容器化部署的完整流程。
支持平台:
- iOS (Swift/SwiftUI) -- 深度支持
- Backend (Spring Boot/Java) -- 深度支持
- Android (Kotlin/Compose) -- 标准支持
- Web (Next.js/TypeScript) -- 标准支持
开发方法论: 规划阶段使用瀑布式顺序执行,开发阶段使用 Scrum 迭代模式。
入口决策树
根据用户当前的项目状态,选择合适的起始阶段:
- 全新项目,无任何文档 -- 从 Phase 1 需求分析开始
- 已有需求文档/PRD,需要技术方案 -- 从 Phase 2 架构设计开始
- 已有架构设计和 API 契约,需要代码 -- 从 Phase 3 项目脚手架开始
- 已有项目骨架,需要增加功能 -- 从 Phase 4 迭代开发开始
- 功能开发完成,需要测试方案 -- 从 Phase 5 质量保障开始
- 需要部署上线 -- 从 Phase 6 部署规划开始
询问用户当前状态,确认起始阶段后开始执行。
开发流程总览
Phase 1: 需求分析 --> PRD.md
Phase 2: 架构设计 --> architecture.md + openapi.yaml
Phase 3: 项目脚手架 --> 各平台可运行项目骨架
Phase 4: 迭代开发 --> Sprint 循环 (计划->开发->测试->评审)
Phase 5: 质量保障 --> 测试用例 + CI 配置
Phase 6: 部署规划 --> Docker 配置 + CI/CD
Phase 1: 需求分析
目标: 通过引导式访谈,将用户需求转化为结构化的产品需求文档。
执行步骤:
-
需求访谈 -- 向用户提问以下关键问题:
- 产品定位:解决什么问题?目标用户是谁?
- 核心功能:列出 3-5 个最重要的功能
- 平台选择:需要哪些客户端?(iOS/Android/Web/Backend)
- 非功能需求:性能、安全、可用性、扩展性等方面要求
-
PRD 文档生成 -- 使用文档模板生成
docs/PRD.md:- 读取模板:
assets/docs-templates/PRD-template.md - 填充用户需求信息
- 使用 MoSCoW 方法划分功能优先级 (Must/Should/Could/Won't)
- 编写 User Stories,参考 methodology.md
- 读取模板:
-
需求确认 -- 将 PRD 呈现给用户审核,确认后进入 Phase 2。
Phase 2: 架构设计
目标: 设计系统架构、选择技术栈、定义 API 契约。
执行步骤:
-
系统架构设计 -- 生成
docs/architecture.md:- 读取模板:
assets/docs-templates/architecture-template.md - 确定系统分层:客户端 -> API Gateway -> 后台服务 -> 数据库
- 技术选型:根据平台选择对应技术栈
- 数据库设计:ER 图、表结构规划
- 架构图绘制:系统组件图描述系统逻辑架构以及模块之间的关系、部署图描述系统物理架构、数据流图描述数据在系统中的流动
- 读取模板:
-
API 契约定义 -- 生成
api/openapi.yaml:- 运行脚本生成骨架:
python3 scripts/generate_api_contract.py --prd docs/PRD.md --output api/openapi.yaml --name <ProjectName> - 根据 PRD 中的 User Stories 补充具体的 API endpoints
- 定义 Request/Response 数据结构
- 遵循 API 设计规范:api-design.md
- 运行脚本生成骨架:
-
架构评审 -- 确认架构方案和 API 契约后,锁定契约进入 Phase 3。
Phase 3: 项目脚手架
目标: 基于模板生成各平台的可运行项目骨架。
执行步骤:
-
初始化项目 -- 运行脚手架脚本:
python3 scripts/init_project.py \ --name <ProjectName> \ --platforms ios android web backend \ --output-dir <output-path>脚本会从
assets/复制选定平台模板,替换{{ProjectName}}占位符,创建docs/目录并复制文档模板和 Docker 配置。 -
平台定制 -- 根据 API 契约定制各平台代码:
- Backend (Spring Boot): 参考 backend-guide.md
- iOS (SwiftUI): 参考 ios-guide.md
- Android (Kotlin/Compose): 参考 android-guide.md
- Web (Next.js): 参考 web-guide.md
-
验证 -- 确保各平台项目可编译/启动。
Phase 4: 迭代开发
目标: 按 Scrum 方式进行 Sprint 迭代,逐步实现功能。
方法论参考: methodology.md
Sprint 流程:
-
Sprint 计划:
- 从 PRD 中选取当前 Sprint 的 User Stories
- 第一个 Sprint 聚焦 MVP (最小可用产品)
- 分解 Stories 为开发任务
- 读取模板:
assets/docs-templates/sprint-plan-template.md
-
并行开发: 基于 API 契约,前后端可并行开发:
API Contract (OpenAPI) | +-------------+-------------+ | | | Backend iOS/Android Web Sprint N Sprint N Sprint N -
代码实现: 对每个 User Story:
- 后端:Controller -> Service -> Repository -> 单元测试
- 客户端:Model -> ViewModel/Service -> View -> UI 验证
- 遵循各平台开发指南中的编码规范和架构模式
-
Sprint 评审:
- 功能完整性:所有 Stories 的验收标准 (AC) 是否满足
- 代码质量:分层是否清晰、命名是否规范
- API 一致性:实现是否与 OpenAPI 契约匹配
- 测试覆盖:关键路径是否有测试
-
下一个 Sprint: 评审通过后,重复步骤 1-4。
Phase 5: 质量保障
目标: 制定测试策略,确保产品质量。
测试策略参考: testing-strategy.md
执行步骤:
-
测试金字塔规划:
- 单元测试 (70%):各平台核心业务逻辑
- 集成测试 (20%):API 端到端、数据库集成
- E2E 测试 (10%):关键用户流程
-
各平台测试实现:
- Backend: JUnit 5 + MockMvc + Testcontainers
- iOS: XCTest + async 测试
- Android: JUnit + Mockk + Compose UI Testing
- Web: Jest + React Testing Library + Playwright
-
API 契约测试: 验证实现与 OpenAPI 规范一致性。
Phase 6: 部署规划
目标: 容器化部署,配置 CI/CD 流水线。
部署指南参考: deployment-guide.md
执行步骤:
-
Docker 配置:
docker/Dockerfile.backend: Spring Boot 多阶段构建docker/Dockerfile.web: Next.js standalone 构建docker/docker-compose.yml: MySQL + Backend + Web 编排
-
CI/CD 配置:
- GitHub Actions workflow: 自动构建、测试、部署
- 环境变量管理:
.env文件 + secrets
-
生产环境准备:
- HTTPS/SSL 配置 (Nginx reverse proxy)
- 健康检查端点
- 日志和监控策略
- 数据备份方案
参考文档索引
| 文档 | 用途 |
|---|---|
| methodology.md | Scrum 迭代方法论、Sprint 规划、User Story 规范 |
| backend-guide.md | Spring Boot 分层架构、异常处理、安全配置 |
| ios-guide.md | SwiftUI MVVM、@Observable、async/await 网络层 |
| android-guide.md | Kotlin/Compose、Hilt DI、Retrofit、Navigation |
| web-guide.md | Next.js App Router、状态管理、Tailwind CSS |
| api-design.md | RESTful API 设计规范、OpenAPI 3.0 模板 |
| testing-strategy.md | 多平台测试策略、测试金字塔 |
| deployment-guide.md | Docker 部署、CI/CD、生产环境配置 |
脚本工具
| 脚本 | 用途 | 用法 |
|---|---|---|
scripts/init_project.py | 项目脚手架初始化 | python3 scripts/init_project.py --help |
scripts/generate_api_contract.py | OpenAPI 契约骨架生成 | python3 scripts/generate_api_contract.py --help |