TsFullStack 是一个 TypeScript 全栈框架,支持前端直接操作数据库,无需编写后端 API 代码。
- 后端: TypeScript + ZenStack(类似Prisma) + Effect + Fastify
- 前端: TypeScript + Vue 3 + Tailwind CSS + reka-ui(自定义组件库)+ @vueuse/core (多多使用use来简化vue中的逻辑)
- 浏览器扩展: WXT + Vue 3 + Tailwind CSS
# 后端开发,需要在 apps/backend/ 目录下执行
pnpm build:lib # 构建后端api接口包供前端掉用
pnpm dev # 启动开发服务器
# 编译构建tsfullstack网站和后端并发布到服务器
pnpm --filter @tsfullstack/backend build:publish
# 发布成功后打 tag 并推送
git tag vX.X.X && git push origin main --tags
# 前端开发 (apps/website-frontend/)
pnpm build # 构建生产版本
pnpm tsc # 类型检查
# 浏览器扩展 (apps/InfoFlow/)
pnpm dev # 启动开发服务器
pnpm build # 构建扩展这个子包提供在多个前端模块间共享的工具和组件
数据库管理
- 修改模型:
schema.zmodel - 修改 schema 后必须运行
pnpm zenstack generate
架构特性
- ZenStack: 声明式访问控制和行级安全
- RPC 系统: 前端直接调用后端 API,完整类型安全
- Effect: 函数式编程的错误处理和依赖注入
前端开发
- 前端开发规范详见 apps/website-frontend/CLAUDE.md