先说一个扎心的事实2026 年还在用脚手架生成“前端 demo”的团队从第一行代码起就已经落后了。当大家还在卷“谁的 React 模板更干净”时create-wl-app干了一件狠事——直接把自己升级成cwa-stack。名字换了定位也换了从“前端项目生成器”变成“AI 时代的全栈工程引擎”。一条命令npx cwa-stack create选完技术栈它交付的不是空项目而是一个apps/web apps/api的单仓库全栈工程Vite / Next.js / Nuxt 前端 Spring Boot 后端 OpenAPI 契约 自动生成的前端 Client 一键 verify 的质量门禁 给 AI 看的 AGENTS.md。前后端真实联通不是 PPT 架构——是跑pnpm run dev就能登录的那种。过去 5 年前端脚手架都在解决一个“假问题”这个模板塞几个 demo 组件那个模板堆一套请求封装……脚手架们卷来卷去解决的都是“前端怎么跑起来”。但真实业务从来不只有前端。真正的耗时黑洞是前后端接口对不上联调三天改字段改到崩登录鉴权每个项目重写一遍每遍都有新 Bug首页 demo 删半天工程结构还得自己重新规划AI 写代码飞快但没有规则约束越写越乱cwa-stack的回答很简单这些事别让团队做让脚手架做。5 套模板 4 套全栈组合覆盖 99% 的技术选型模板渲染方式核心框架vite-reactSPAVite 8 React 19vite-vue3SPAVite 8 Vue 3next-react-ssrSSRNext.js 16 React 19nuxt-vue3-ssrSSRNuxt 4 Vue 3spring-boot后端单体Java 25 Spring Boot 4选「全栈组合」时更简单只选前端技术栈React / Vue和渲染模式SPA / SSR后端固定 Spring Boot组合自动确定全栈预设前端后端react-springvite-reactspring-bootvue-springvite-vue3spring-bootnext-springnext-react-ssrspring-bootnuxt-springnuxt-vue3-ssrspring-boot也支持一行命令非交互创建CI 和 AI Agent 可以直接调用npx cwa-stack create my-app--presetreact-spring--packagecom.example.myapp全栈工程长什么样my-app/ ├── apps/ │ ├── web/ # 前端Vite / Next / Nuxt 原样装配 │ └── api/ # Spring Boot 后端openapi.yaml 是契约来源 ├── docs/ # 架构与开发说明 ├── scripts/ # setup / dev / verify / doctor / api:generate ├── cwa.config.json # 机器可读工程清单目录、端口、契约、命令 ├── AGENTS.md # AI 协作规则 └── package.json # 根级命令入口单一 Git 仓库没有嵌套.git没有两个项目凑一凑的缝合感。根级 5 条命令把全栈工程该有的动作全部编排好命令干什么pnpm run setup环境门禁、冻结安装、生成随机密码.env、生成 OpenAPI Clientpnpm run dev一键启动 MySQL / Redis / Spring Boot / 前端pnpm run verify契约漂移检查 前后端全部门禁 真实登录 E2Epnpm run doctor只读环境诊断PASS / WARN / FAIL 修复建议pnpm run api:generate按openapi.yaml重新生成前端 Client最值钱的设计契约先行前后端永不吵架这是整套工程里我最想吹的一个点。后端接口的唯一事实来源是apps/api/openapi.yamlOpenAPI 3.1。改接口先改契约然后pnpmrun api:generate前端的类型定义和请求 Client 自动重新生成落在apps/web/src/shared/api/generated。生成文件禁止手改verify还会做契约漂移检查——接口改了没同步直接拦在提交前。登录也不留给你自由发挥。POST /api/v1/login的请求、响应、错误格式全部契约化SPA 走 BearerSSR 只经 BFF 的 HttpOnly Cookie安全约定写死在工程里AI 想乱写都没有发挥空间。后端不是陪跑的是真·企业级很多人对脚手架的后端不抱期待这次直接拉满Java 25 Spring Boot 4.1 MySQL 8.4 Redis模块化单体分层auth / user / authorization / audit / sharedopaque token 会话、限流、审计日志开箱即用Testcontainers 真实依赖测试不玩 H2 模拟可验证的覆盖率门禁想降标准门禁不允许API 端口 8080、Management 端口 9090全部由cwa.config.json声明端口冲突必须排查禁止静默换端口——这种细节才是踩过坑的人写出来的模板。AI 友好不是宣传语是三层约束新模板把 AI 最容易跑偏的地方全部焊死目录边界app / features / shared分层业务组件进 features基础组件进 shared/ui没有“万能 common”的生存空间规则文件根级、apps/web、apps/api三层 AGENTS.md依赖用法、端口契约、验证命令写得明明白白Vue 模板还内置.agents/skills机器可读清单cwa.config.json让 AI 一眼读懂工程结构修改目录或端口必须同步清单一句话普通模板给 AI 代码cwa-stack 给 AI 一套不会乱写的工程秩序。老用户关心的原来的前端模板还在吗在而且全部升级到了app / features / shared架构 shadcn 系 UI 栈React SPAReact 19 Vite 8 Rolldown zustand ahooks shadcn/ui Tailwind CSS 4 sonnerVue3 SPAVue 3.5 Vite 8 Pinia shadcn-vue Tailwind CSS 4 vue-sonner登录页 OGL 背景保留Next.js 16 SSR / Nuxt 4 SSRTypeScript 6、Playwright E2E、MSW 接口模拟、无障碍检测、Git 钩子一应俱全四套前端模板统一 Node 24 LTS、统一lint / typecheck / test命令Vite 8 Rolldown 的构建速度自己体验。一条命令开工# 交互式选独立项目 or 全栈组合npx cwa-stack create# 全栈组合生成后cdmy-apppnpmrun setuppnpmrun dev# 提交前pnpmrun verify最后别再让团队写第一万遍登录页了一个好脚手架应该替团队提前想清楚代码放哪里、接口怎么对齐、登录怎么做、质量怎么守、AI 守什么规矩。cwa-stack把这些全部做进了工程本身。它交付的不是一个项目而是“可验证、可交付”本身。完整文档https://whyfail.github.io/cwa-docs/GitHubcwa-stackSpring Boot 模板React SPA 模板 / Vue3 SPA 模板Next.js SSR 模板 / Nuxt SSR 模板如果你的团队已经在用 AI 写代码试试npx cwa-stack create——AI 需要的不只是提示词而是一个前后端契约清晰、门禁齐全的工程现场。