一份能直接开工的底座
keel 不是脚手架生成器,是一个已经把选型吵完、把坑踩过、把规范写进文档的仓库。开新项目从它开分支,该有的东西都在:登录、权限、分页、表单、部署配置、端到端测试。
五层
- 01
packages/shared
契约层。Zod schema 和从它推导出的类型,前后端唯一的共同事实。类型只在这里定义一次。
- 02
apps/api
NestJS + Prisma。两套命名空间:admin 要登录,public 匿名可读。可见性规则和字段白名单都在 service 里。
- 03
packages/ui
design token 和基础组件。颜色、圆角、字体只在 tokens.css 里定义,组件里禁止写死颜色值。
- 04
apps/admin
Vite + React。表格、表单、权限裁剪都固化成组件,新建一个 CRUD 页面是填配置而不是抄一遍代码。
- 05
apps/web
就是这个站。Server Component 直接读 public 接口,没有客户端取数,也就没有 API 地址暴露的问题。
为什么不用现成的后台模板
现成模板给的是界面,不是约束。三个月后你会发现每个页面的请求写法都不一样、错误处理各有一套、权限判断散在十几个组件里。这套底座的重点不在有多少组件,而在于哪些事只允许有一种做法。