From web-app-builder
Decomposes product specs and architecture into fine-grained Sprints for web apps. Generates feature_list.json with Playwright verification steps, task-list.json with backend/frontend/Playwright tasks per Sprint, and api-contract.md.
npx claudepluginhub coldingcode/web-app-builder --plugin web-app-builder读取产品规格和架构方案,输出: 1. `.web-app-builder/feature_list.json` — 所有功能点,带 Playwright 验证步骤 2. `.web-app-builder/task-list.json` — Sprint 划分和任务清单 3. `.web-app-builder/api-contract.md` — 完整接口契约 - 每个 Sprint 覆盖 3-6 个相关功能点,工作量约 2-4 小时 - 按依赖关系排序:基础架构 → 核心功能 → 增强功能 - Sprint 1 必须包含项目初始化、基础路由、健康检查接口 ```json [ { "id": "F001", "category": "functional", "sprint": 1, "description": "用户可以查看待办事项列表", "acceptance_criter...Technical Scrum Master that refines user stories into atomic FE/BE dev tasks: file-level plans, test cases, code examples, complexity estimates, dependencies, Mermaid graphs. Restricted tools: Read/Write/Glob/Grep.
Orchestrates sprints by analyzing requirements/codebases, creating specs/contracts, updating project maps, and requesting subagents for implementation tasks.
Implements Sprint tasks: Spring Boot 3 + SQLite backend (JPA entities, REST controllers, validation), React 18 + Vite frontend (axios, Router, CSS Modules), Playwright tests. Enforces data-testid, CORS, API contracts.
Share bugs, ideas, or general feedback.
读取产品规格和架构方案,输出:
.web-app-builder/feature_list.json — 所有功能点,带 Playwright 验证步骤.web-app-builder/task-list.json — Sprint 划分和任务清单.web-app-builder/api-contract.md — 完整接口契约[
{
"id": "F001",
"category": "functional",
"sprint": 1,
"description": "用户可以查看待办事项列表",
"acceptance_criteria": "页面加载后显示所有待办事项,若无数据则显示空状态提示",
"playwright_steps": [
"导航到 http://localhost:3000",
"验证 [data-testid='todo-list'] 元素存在",
"若列表为空,验证 [data-testid='empty-state'] 可见",
"若列表有数据,验证 [data-testid^='todo-item-'] 元素数量与后端返回一致",
"调用 GET /api/todos 验证接口返回 code=0"
],
"passes": false
}
]
playwright_steps 编写要求:
{
"project_name": "项目名",
"total_sprints": 3,
"sprints": [
{
"sprint_id": 1,
"name": "项目初始化与待办列表",
"status": "PENDING",
"revert_count": 0,
"feature_ids": ["F001", "F002"],
"backend_tasks": [
"创建 Todo 实体(id, title, completed, createdAt)",
"创建 TodoRepository extends JpaRepository",
"创建 TodoController,实现 GET /api/todos 返回列表",
"创建 GET /api/todos/{id} 返回单条",
"添加 /actuator/health 健康检查端点"
],
"frontend_tasks": [
"初始化 React + Vite 项目,配置 axios baseURL=http://localhost:8080",
"创建 TodoList 页面,data-testid='todo-list'",
"实现列表加载逻辑,调用 GET /api/todos",
"实现空状态展示,data-testid='empty-state'",
"实现 loading 状态,data-testid='loading-indicator'"
],
"playwright_tasks": [
"编写 F001 测试:验证列表页加载、空状态、接口联调",
"编写 F002 测试:验证创建功能按钮、表单、提交成功反馈"
],
"api_interfaces": [
{
"method": "GET",
"path": "/api/todos",
"description": "获取所有待办事项",
"request_params": "无",
"response": "{ code: 0, data: { items: Todo[], total: number } }",
"error_cases": []
}
]
}
]
}
汇总所有 Sprint 的接口,格式:
# API 接口契约
## 基础信息
- Base URL: http://localhost:8080
- 统一响应格式: { "code": 0, "data": {}, "message": "success" }
## [模块名]
### GET /api/[resource]
描述:...
请求参数:page(int), pageSize(int), keyword(string, 可选)
响应:
\```json
{ "code": 0, "data": { "items": [], "total": 0, "page": 1, "pageSize": 20 } }
\```
错误:
- 400: 参数格式错误
### POST /api/[resource]
...
完成后停止,不做其他任何操作。