CLAUDE.mdtypescript
TsFullStack CLAUDE.md
此文件为 Claude Code 在此代码库中工作时提供指导。
CLAUDE.md
此文件为 Claude Code 在此代码库中工作时提供指导。
项目概述
@tsfullstack/backend - TypeScript 全栈后端,基于 Fastify + Prisma + ZenStack + Effect 构建。
核心架构
- 服务器层 (
src/server/) - Fastify HTTP 服务器 - API 层 (
src/api/) - 模块化业务逻辑 - Context 层 (
src/Context/) - Effect Context 依赖注入 - RPC 系统 (
src/rpc/) - 类型安全的远程调用 - 数据库层 (
src/db/) - ZenStack 增强的 Prisma - OAuth (
src/OAuth/) - GitHub 认证 - 动态项目 (
src/projects/) - 可动态加载的后端模块
核心特性
- Effect 函数式架构 - 错误处理和依赖管理
- RPC 系统 - 类型安全、安全机制、中间件支持
- ZenStack 安全性 - 声明式访问控制、RBAC
- 多方式认证 - 邮箱密码 + GitHub OAuth
- AI 集成 - 多模型支持、代理服务、调用日志
- 文件处理 - 本地存储、元数据追踪、权限控制
- 队列系统 - 任务队列、优先级、定时任务
- 监控系统 - 内存监控、智能日志
开发命令
# 开发和构建
pnpm dev # 开发模式
pnpm build:lib # 构建前端库
pnpm build # 构建后端
pnpm test # 运行测试
pnpm tsc # 类型检查
# 数据库(修改 schema.zmodel 后)
pnpm zenstack generate # 生成客户端
pnpm prisma migrate dev # 运行迁移
# 动态项目
pnpm build:projects # 构建动态项目
pnpm dev:projects # 开发模式启动
开发规范
- 类型安全: 严格模式,禁用
any,优先使用 Effect - 代码质量: 函数式编程,充分利用类型推导
- 构建要求: API/schema 修改 api 下的代码,或者 projects 下的代码后必须执行
pnpm build:lib