Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

coldingcode/web-app-builder

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web App Builder v3

english

Harness 多智能体 Web 应用构建插件。Command 作为 Harness 主控,以 claude -p 独立进程调度智能体。 技术栈固定:Spring Boot 3 + SQLite(后端)、React 18 + Vite(前端),无任何外部依赖。


工作流程

graph TB
    User(["👤 /build-app <需求>"]) --> CMD

    subgraph CMD ["📋 build-app Command(Harness 主控)\n负责流程控制,不写任何业务代码"]
        direction TB

        Init["初始化\n.web-app-builder/ 目录\nbuild-state.json"]

        Init --> P["claude -p\n🧠 需求规划师\n扩展需求 → product-spec.md\nfeature_list.json(passes 全 false)"]

        P --> A["claude -p\n🏗️ 架构师\n设计数据模型、API、路由\n生成项目脚手架\narchitecture.md + start-dev.sh"]

        A --> D["claude -p\n📋 任务拆解师\ntask-list.json(Sprint 划分)\napi-contract.md(接口契约)\nfeature_list.json(填 sprint 字段)"]

        D --> Loop

        subgraph Loop ["🔄 Ralph Loop — while PENDING Sprint exists"]
            direction TB

            Dev["claude -p\n💻 全栈开发者\n后端:Spring Boot 3 + SQLite\n前端:React 18 + data-testid\nPlaywright 测试文件编写\ndev-complete.json"]

            Dev --> Rev["claude -p\n🔍 代码审查员\n接口契约符合性\ndata-testid 完整性\n无外部依赖检查\nreview-result.json"]

            Rev --> RG{审查通过?}
            RG -->|"❌ CHANGES_REQUESTED"| Dev
            RG -->|"✅ APPROVED"| PW

            PW["🧪 主控直接运行\nnpx playwright test\nsprint-N.spec.ts\n真实执行,输出 test-report.json"]

            PW --> TG{测试通过?}
            TG -->|"❌ 失败明细写入\nrejection-feedback.md\nSprint → PENDING"| Dev
            TG -->|"✅ 全部通过"| Acc

            Acc["claude -p\n🎯 产品验收官\n对照产品规格逐条核验\n抽查 smoke test\nacceptance-result.json"]

            Acc --> AG{验收通过?}
            AG -->|"❌ blocking_issues\n→ rejection-feedback.md\nSprint → PENDING"| RetryCheck
            AG -->|"✅ ACCEPTED\nfeature passes = true"| SprintOK["Sprint 完成 ✅"]

            RetryCheck{revert_count\n≥ 3?}
            RetryCheck -->|否| Dev
            RetryCheck -->|"是\nneeds_human_intervention=true"| Stop["⚠️ 暂停,等待人工介入"]
        end

        SprintOK --> NextCheck{还有\nPENDING?}
        NextCheck -->|是| Loop
        NextCheck -->|否| Final["📊 输出最终报告\n功能完成率统计"]
    end

    Final --> Done(["🎉 应用就绪\n前端 :3000 / 后端 :8080"])
Loading

关键设计:Command 直接执行 Playwright

sequenceDiagram
    participant CMD as build-app Command
    participant Dev as 全栈开发者进程
    participant PW as Playwright(本机)
    participant Acc as 产品验收官进程

    CMD->>Dev: claude -p "开发 Sprint N"
    Dev-->>CMD: 生成代码 + tests/sprint-N.spec.ts
    Note over Dev: 进程退出,上下文销毁

    CMD->>CMD: 读取 dev-complete.json,确认测试文件存在
    CMD->>PW: npx playwright test sprint-N.spec.ts
    Note over PW: 真实浏览器执行,非模拟
    PW-->>CMD: test-report.json(实测结果)

    CMD->>Acc: claude -p "验收 Sprint N"(附测试报告)
    Note over Acc: 独立进程,基于真实测试结果决策
    Acc-->>CMD: acceptance-result.json
    Note over Acc: 进程退出,上下文销毁
Loading

智能体上下文隔离

graph LR
    subgraph "每个 claude -p 调用 = 独立进程 + 独立上下文"
        P1["需求规划师\n只知道:用户需求"]
        P2["架构师\n只知道:product-spec.md"]
        P3["任务拆解师\n只知道:规格 + 架构"]
        P4["全栈开发者\n只知道:Sprint任务 + 架构 + 反馈"]
        P5["代码审查员\n只知道:代码文件 + 契约"]
        P6["产品验收官\n只知道:规格 + 测试报告"]
    end

    FS[("📁 文件系统\n唯一共享状态")]

    P1 -->|写| FS
    P2 -->|读写| FS
    P3 -->|读写| FS
    P4 -->|读写| FS
    P5 -->|读写| FS
    P6 -->|读写| FS
Loading

快速开始

# 1. 安装插件(本地)
claude plugin marketplace add ./web-app-builder
claude plugin install web-app-builder
/reload-plugins

# 2. 启动构建
/build-app 做一个任务管理系统,支持创建、完成、删除待办事项

# 3. 查看进度
/build-status

# 4. 中断后继续
/build-resume

技术栈(固定)

技术 约束
后端 Spring Boot 3 + SQLite 禁止 MySQL/Redis/MQ 等外部依赖
前端 React 18 + Vite 禁止 antd/MUI/Redux 等重型库
测试 Playwright 必须覆盖每个按钮、接口、状态
持久化 SQLite 文件(./data/app.db 无需安装任何数据库服务

文件结构

.web-app-builder/
├── build-state.json       # 全局状态机
├── product-spec.md        # 产品规格
├── architecture.md        # 架构方案(数据模型、API、路由)
├── feature_list.json      # 功能清单(passes 字段 = 进度真相)
├── task-list.json         # Sprint 任务清单
├── api-contract.md        # 接口契约
├── start-dev.sh           # 启动开发环境脚本
├── playwright.config.ts   # Playwright 配置
├── package.json           # Playwright 依赖
├── tests/
│   ├── sprint-1.spec.ts   # Sprint 1 的 Playwright 测试(开发者编写)
│   └── sprint-2.spec.ts
├── sprints/
│   └── 1/
│       ├── dev-complete.json
│       ├── review-result.json
│       ├── test-report.json       # 主控实际执行 Playwright 产出
│       ├── acceptance-result.json
│       └── rejection-feedback.md  # 失败反馈(给下一轮开发者)
└── logs/
backend/                   # Spring Boot 3 项目
frontend/                  # React 18 + Vite 项目

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.