用途:为 Langfuse 后端各包(web、worker、packages/shared)建立一致的开发规范,涉及 tRPC 路由与过程、公共 REST API 端点、BullMQ 队列消费者与生产者、业务服务、API 鉴权、基于权益的资源访问、中间件、Prisma(PostgreSQL)与 ClickHouse 数据库操作、OpenTelemetry/DataDog 可观测性、Zod v4 输入校验、环境变量配置以及后端测试与重构时自动启用。
主要能力与约定:采用分层架构,Web 侧为 tRPC 过程或公共 API 路由 → 服务 → 数据库,Worker 侧为队列处理器 → 服务 → 数据库,共享代码放在 packages/shared。核心原则包括:tRPC 过程只做委托,业务逻辑写在 service;配置统一从 env.mjs/env.ts 读取,禁止直接用 process.env;所有输入用 Zod v4 校验;简单 CRUD 直接用 Prisma,复杂查询用 repositories;后端可观测性使用 OpenTelemetry + DataDog(前端才用 Sentry),通过 logger、traceException、instrumentAsync 记录;所有租户数据查询必须带 projectId 过滤;新功能与修复需配套测试(集成/tRPC/服务用 Jest,Worker 用 Vitest)。
使用方式:技能按清单引导,例如新增 tRPC 功能需在 features/[feature]/server/*Router.ts 定义路由、选择合适过程类型、经中间件做 JWT 鉴权与权益检查、用 Zod v4 校验、业务逻辑放 service、用 traceException 处理错误、在 tests/ 写单元与集成测试、配置经 env.mjs 访问;新增公共 API 需在 pages/api/public/ 建路由文件,使用 withMiddlewares 与 createAuthedProjectAPIRoute,类型放 features/public-api/types/,采用 basic auth 鉴权并做版本化;新增队列处理器需在 worker/src/queues/ 创建,队列类型放 packages/shared/src/server/queues,业务逻辑放 features/,区分应失败与应成功的错误,并在 app.ts 的 WorkerManager 注册。
适用场景:在 Langfuse 仓库内开发或修改后端功能、公共 API、队列任务、服务层、鉴权与中间件、数据库访问、可观测性与测试时参考。
限制:资料未提供该技能的安装命令、收费方式、支持平台及具体版本要求,暂未提供;内容为 Langfuse 项目特定规范,不适用于其他技术栈。